gdx 0.4.4 → 0.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,89 +1,89 @@
1
- import{createRequire as s_}from"node:module";var m_=Object.create;var{getPrototypeOf:p_,defineProperty:mQ,getOwnPropertyNames:u_}=Object;var d_=Object.prototype.hasOwnProperty;function c_(Z){return this[Z]}var l_,n_,DX=(Z,Y,Q)=>{var J=Z!=null&&typeof Z==="object";if(J){var q=Y?l_??=new WeakMap:n_??=new WeakMap,X=q.get(Z);if(X)return X}Q=Z!=null?m_(p_(Z)):{};let z=Y||!Z||!Z.__esModule?mQ(Q,"default",{value:Z,enumerable:!0}):Q;for(let W of u_(Z))if(!d_.call(z,W))mQ(z,W,{get:c_.bind(Z,W),enumerable:!0});if(J)q.set(Z,z);return z};var I6=(Z,Y)=>()=>(Y||Z((Y={exports:{}}).exports,Y),Y.exports);var o_=(Z)=>Z;function i_(Z,Y){this[Z]=o_.bind(null,Y)}var b4=(Z,Y)=>{for(var Q in Y)mQ(Z,Q,{get:Y[Q],enumerable:!0,configurable:!0,set:i_.bind(Y,Q)})};var j=(Z,Y)=>()=>(Z&&(Y=Z(Z=0)),Y);var W6=s_(import.meta.url);import{createRequire as a_}from"module";class MX{value;start;end;constructor(Z,Y,Q){this.value=Z,this.start=Y,this.end=Q}}class uQ{TF;IDF;TF_IDF;constructor(Z){this.TF=Z}}class jX{x;y;z;r;t;get unit(){return this.#Y}get dimension(){return this.#Q}#Y;#Q=0;constructor(Z,Y,Q=null){if(this.x=Z,this.y=Y,this.z=Q,Q)this.#Q=3;else if(Y)this.#Q=2;else if(Z)this.#Q=1}toPolarCoords(Z="r"){this.#Y=Z;let{r:Y,t:Q}=L.MathKit.toPolarCoords(this.x,this.y,Z);return this.r=Y,this.t=Q,this}toCartesianCoords(){if(!this.#Y&&this.x)return this;let{x:Z,y:Y}=L.MathKit.toCartesianCoords(this.r,this.t,this.#Y);return this.x=Z,this.y=Y,this}setUnit(Z){if(!Z||Z!="d"&&Z!="r")throw Error("unit must be 'r' or 'd', given: "+Z);if(this.#Y==Z)return;if(Z=="r")this.#Y=Z,this.t=L.MathKit.radians(this.t);else this.#Y=Z,this.t=L.MathKit.degrees(this.t)}}class _X{constructor(Z,Y,Q,J,q,X,z){this.x=Z,this.y=Y,this.f=Q,this.ymid=J,this.iterations=q,this.events=z,this.msg=X}_at(Z,Y){function Q(O){return O*O}let J,q,X,z,W,U,K,B,$,F;return J=this.x[Y],q=this.x[Y+1],z=this.y[Y],W=this.y[Y+1],K=q-J,X=J+0.5*K,U=this.ymid[Y],B=this.f[Y]-z*(1/(J-X)+2/(J-q)),$=this.f[Y+1]-W*(1/(q-X)+2/(q-J)),F=[Q(Z-q)*(Z-X)/Q(J-q)/(J-X),Q(Z-J)*Q(Z-q)/Q(J-X)/Q(q-X),Q(Z-J)*(Z-X)/Q(q-J)/(q-X),(Z-J)*Q(Z-q)*(Z-X)/Q(J-q)/(J-X),(Z-q)*Q(Z-J)*(Z-X)/Q(J-q)/(q-X)],z*F[0]+U*F[1]+W*F[2]+B*F[3]+$*F[4]}at(Z){let Y,Q,J;if(typeof Z!=="number"){let X=Z.length,z=Array(X);for(Y=X-1;Y!==-1;--Y)z[Y]=this.at(Z[Y]);return z}let q=this.x;Y=0,Q=q.length-1;while(Q-Y>1)if(J=Math.floor(0.5*(Y+Q)),q[J]<=Z)Y=J;else Q=J;return this._at(Z,Y)}}class U8{value;index;type;constructor(Z,Y,Q=-1){this.value=Z,this.type=Y,this.index=Q}valueOf(){return this.value}toString(){return this.value.toString()}}class S4{type;UPID=null;callback;constructor(Z,Y,Q=null){if(Q)this.type=1,this.UPID=Q;else this.type=Z;this.callback=Y}}function e_(Z){return Z==null||typeof Z=="number"||typeof Z=="string"||typeof Z=="boolean"||Z instanceof ArrayBuffer||Z instanceof MessagePort||Z instanceof ReadableStream||Z instanceof WritableStream||Z instanceof TransformStream}var r_,v4,t_,W8,pQ="[#*0-9]\\uFE0F?\\u20E3|©\\uFE0F?|[®\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA]\\uFE0F?|[\\u231A\\u231B]|[\\u2328\\u23CF]\\uFE0F?|[\\u23E9-\\u23EC]|[\\u23ED-\\u23EF]\\uFE0F?|\\u23F0|[\\u23F1\\u23F2]\\uFE0F?|\\u23F3|[\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC]\\uFE0F?|[\\u25FD\\u25FE]|[\\u2600-\\u2604\\u260E\\u2611]\\uFE0F?|[\\u2614\\u2615]|\\u2618\\uFE0F?|\\u261D(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642]\\uFE0F?|[\\u2648-\\u2653]|[\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E]\\uFE0F?|\\u267F|\\u2692\\uFE0F?|\\u2693|[\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0]\\uFE0F?|\\u26A1|\\u26A7\\uFE0F?|[\\u26AA\\u26AB]|[\\u26B0\\u26B1]\\uFE0F?|[\\u26BD\\u26BE\\u26C4\\u26C5]|\\u26C8\\uFE0F?|\\u26CE|[\\u26CF\\u26D1\\u26D3]\\uFE0F?|\\u26D4|\\u26E9\\uFE0F?|\\u26EA|[\\u26F0\\u26F1]\\uFE0F?|[\\u26F2\\u26F3]|\\u26F4\\uFE0F?|\\u26F5|[\\u26F7\\u26F8]\\uFE0F?|\\u26F9(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uFE0F(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|[\\u26FA\\u26FD]|\\u2702\\uFE0F?|\\u2705|[\\u2708\\u2709]\\uFE0F?|[\\u270A\\u270B](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\u270C\\u270D](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|\\u270F\\uFE0F?|[\\u2712\\u2714\\u2716\\u271D\\u2721]\\uFE0F?|\\u2728|[\\u2733\\u2734\\u2744\\u2747]\\uFE0F?|[\\u274C\\u274E\\u2753-\\u2755\\u2757]|\\u2763\\uFE0F?|\\u2764(?:\\u200D(?:\\uD83D\\uDD25|\\uD83E\\uDE79)|\\uFE0F(?:\\u200D(?:\\uD83D\\uDD25|\\uD83E\\uDE79))?)?|[\\u2795-\\u2797]|\\u27A1\\uFE0F?|[\\u27B0\\u27BF]|[\\u2934\\u2935\\u2B05-\\u2B07]\\uFE0F?|[\\u2B1B\\u2B1C\\u2B50\\u2B55]|[\\u3030\\u303D\\u3297\\u3299]\\uFE0F?|\\uD83C(?:[\\uDC04\\uDCCF]|[\\uDD70\\uDD71\\uDD7E\\uDD7F]\\uFE0F?|[\\uDD8E\\uDD91-\\uDD9A]|\\uDDE6\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF]|\\uDDE7\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF]|\\uDDE8\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF]|\\uDDE9\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF]|\\uDDEA\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA]|\\uDDEB\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7]|\\uDDEC\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE]|\\uDDED\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA]|\\uDDEE\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9]|\\uDDEF\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5]|\\uDDF0\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF]|\\uDDF1\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE]|\\uDDF2\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF]|\\uDDF3\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF]|\\uDDF4\\uD83C\\uDDF2|\\uDDF5\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE]|\\uDDF6\\uD83C\\uDDE6|\\uDDF7\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC]|\\uDDF8\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF]|\\uDDF9\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF]|\\uDDFA\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF]|\\uDDFB\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA]|\\uDDFC\\uD83C[\\uDDEB\\uDDF8]|\\uDDFD\\uD83C\\uDDF0|\\uDDFE\\uD83C[\\uDDEA\\uDDF9]|\\uDDFF\\uD83C[\\uDDE6\\uDDF2\\uDDFC]|\\uDE01|\\uDE02\\uFE0F?|[\\uDE1A\\uDE2F\\uDE32-\\uDE36]|\\uDE37\\uFE0F?|[\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20]|[\\uDF21\\uDF24-\\uDF2C]\\uFE0F?|[\\uDF2D-\\uDF35]|\\uDF36\\uFE0F?|[\\uDF37-\\uDF7C]|\\uDF7D\\uFE0F?|[\\uDF7E-\\uDF84]|\\uDF85(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDF86-\\uDF93]|[\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F]\\uFE0F?|[\\uDFA0-\\uDFC1]|\\uDFC2(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDFC3\\uDFC4](?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|[\\uDFC5\\uDFC6]|\\uDFC7(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDFC8\\uDFC9]|\\uDFCA(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|[\\uDFCB\\uDFCC](?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uFE0F(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|[\\uDFCD\\uDFCE]\\uFE0F?|[\\uDFCF-\\uDFD3]|[\\uDFD4-\\uDFDF]\\uFE0F?|[\\uDFE0-\\uDFF0]|\\uDFF3(?:\\u200D(?:\\u26A7\\uFE0F?|\\uD83C\\uDF08)|\\uFE0F(?:\\u200D(?:\\u26A7\\uFE0F?|\\uD83C\\uDF08))?)?|\\uDFF4(?:\\u200D\\u2620\\uFE0F?|\\uDB40\\uDC67\\uDB40\\uDC62\\uDB40(?:\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F)?|[\\uDFF5\\uDFF7]\\uFE0F?|[\\uDFF8-\\uDFFF])|\\uD83D(?:[\\uDC00-\\uDC07]|\\uDC08(?:\\u200D\\u2B1B)?|[\\uDC09-\\uDC14]|\\uDC15(?:\\u200D\\uD83E\\uDDBA)?|[\\uDC16-\\uDC3A]|\\uDC3B(?:\\u200D\\u2744\\uFE0F?)?|[\\uDC3C-\\uDC3E]|\\uDC3F\\uFE0F?|\\uDC40|\\uDC41(?:\\u200D\\uD83D\\uDDE8\\uFE0F?|\\uFE0F(?:\\u200D\\uD83D\\uDDE8\\uFE0F?)?)?|[\\uDC42\\uDC43](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC44\\uDC45]|[\\uDC46-\\uDC50](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC51-\\uDC65]|[\\uDC66\\uDC67](?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uDC68(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?|[\\uDC68\\uDC69]\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92])|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFC-\\uDFFF]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFE]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?))?|\\uDC69(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?[\\uDC68\\uDC69]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?|\\uDC69\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92])|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFF]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFC-\\uDFFF]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFF]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFF]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFF]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFF]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFE]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?))?|\\uDC6A|[\\uDC6B-\\uDC6D](?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uDC6E(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|\\uDC6F(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDC70\\uDC71](?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|\\uDC72(?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uDC73(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|[\\uDC74-\\uDC76](?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uDC77(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|\\uDC78(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC79-\\uDC7B]|\\uDC7C(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC7D-\\uDC80]|[\\uDC81\\uDC82](?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|\\uDC83(?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uDC84|\\uDC85(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC86\\uDC87](?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|[\\uDC88-\\uDC8E]|\\uDC8F(?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uDC90|\\uDC91(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC92-\\uDCA9]|\\uDCAA(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDCAB-\\uDCFC]|\\uDCFD\\uFE0F?|[\\uDCFF-\\uDD3D]|[\\uDD49\\uDD4A]\\uFE0F?|[\\uDD4B-\\uDD4E\\uDD50-\\uDD67]|[\\uDD6F\\uDD70\\uDD73]\\uFE0F?|\\uDD74(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|\\uDD75(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uFE0F(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|[\\uDD76-\\uDD79]\\uFE0F?|\\uDD7A(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDD87\\uDD8A-\\uDD8D]\\uFE0F?|\\uDD90(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\uDD95\\uDD96](?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uDDA4|[\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA]\\uFE0F?|[\\uDDFB-\\uDE2D]|\\uDE2E(?:\\u200D\\uD83D\\uDCA8)?|[\\uDE2F-\\uDE34]|\\uDE35(?:\\u200D\\uD83D\\uDCAB)?|\\uDE36(?:\\u200D\\uD83C\\uDF2B\\uFE0F?)?|[\\uDE37-\\uDE44]|[\\uDE45-\\uDE47](?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|[\\uDE48-\\uDE4A]|\\uDE4B(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|\\uDE4C(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDE4D\\uDE4E](?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|\\uDE4F(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDE80-\\uDEA2]|\\uDEA3(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|[\\uDEA4-\\uDEB3]|[\\uDEB4-\\uDEB6](?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|[\\uDEB7-\\uDEBF]|\\uDEC0(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDEC1-\\uDEC5]|\\uDECB\\uFE0F?|\\uDECC(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDECD-\\uDECF]\\uFE0F?|[\\uDED0-\\uDED2\\uDED5-\\uDED7]|[\\uDEE0-\\uDEE5\\uDEE9]\\uFE0F?|[\\uDEEB\\uDEEC]|[\\uDEF0\\uDEF3]\\uFE0F?|[\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB])|\\uD83E(?:\\uDD0C(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDD0D\\uDD0E]|\\uDD0F(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDD10-\\uDD17]|[\\uDD18-\\uDD1C](?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uDD1D|[\\uDD1E\\uDD1F](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDD20-\\uDD25]|\\uDD26(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|[\\uDD27-\\uDD2F]|[\\uDD30-\\uDD34](?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uDD35(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|\\uDD36(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDD37-\\uDD39](?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|\\uDD3A|\\uDD3C(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD3D\\uDD3E](?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|[\\uDD3F-\\uDD45\\uDD47-\\uDD76]|\\uDD77(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDD78\\uDD7A-\\uDDB4]|[\\uDDB5\\uDDB6](?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uDDB7|[\\uDDB8\\uDDB9](?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|\\uDDBA|\\uDDBB(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDDBC-\\uDDCB]|[\\uDDCD-\\uDDCF](?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|\\uDDD0|\\uDDD1(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83E\\uDDD1|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFC-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFE]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?))?|[\\uDDD2\\uDDD3](?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uDDD4(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|\\uDDD5(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDDD6-\\uDDDD](?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|[\\uDDDE\\uDDDF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDDE0-\\uDDFF\\uDE70-\\uDE74\\uDE78-\\uDE7A\\uDE80-\\uDE86\\uDE90-\\uDEA8\\uDEB0-\\uDEB6\\uDEC0-\\uDEC2\\uDED0-\\uDED6])",L,Hy,NX,Wy,H7,Uy,IX,Ky,By,e0,$y,Fy,LX,hZ,Vy,Oy,Dy,wX,My,jy,_y,Ny,o,Iy,W7,s0,Ly,wy,Ay,Gy,Cy,Ry,Ty,ky,Ey,v6,xy,Py,by,vy,Sy,yy,fy,hy,gy,my,AX,py,uy,dy,y4,cy,GX,Z6,f4,M0,ly,ny,oy,iy,sy,dQ,ay,ry,ty,ey,Zf,Yf,Qf,Jf,qf,Xf,CX,zf,RX,Hf,Wf,Uf,h4,Kf,y0,K8,TX,Bf,$f,t,Ff,Vf,Of,Df,Mf,L6,jf,_f,u;var z0=j(()=>{r_=a_(import.meta.url),v4=typeof window>"u"||typeof process<"u",t_={dgram:null,worker_threads:null,os:null,fs:null,mathjs:null},W8={consoleTimeInstances:null};L={_modules:t_,arrFindLast(Z,Y){for(let Q=Z.length-1;Q>=0;Q--)if(Y(Z[Q],Q,Z))return Z[Q];return},arrToString(Z,Y={}){let{maxDepth:Q=4,indent:J=3,maxRow:q=10,maxCol:X=20,color:z=!1,defColor:W=void 0,noHeader:U=!1}=Y;if(Q<1)Q=1;let K={color:z,defColor:W},B=L.getDimensions(Z,"max"),$=B.length*0.4,F=typeof J=="number"?" ".repeat(J):J,O=null;if(z)O={magenta:L.ncc(11550650),gray:L.ncc(4802889),_default:L.ncc(W)};if(!U&&(!(Z instanceof Array)||B.length>2||Math.max(...B)>5))return _(Z)+V(Z,0);else return V(Z,0);function V(N,w,G=0){let I="";if(w>Q-1)if(z)return O.gray+`... [${D(N)||"Array"}]`+O._default;else return`... [${D(N)||"Array"}]`;if(!L.isArrayLike(N))return I+L.yuString(N,K);let A;if(w>$)A=L.getDimensions(N,"max");else A=B.slice(w);let x=B[w+1]!=null&&(A[2]!=null||A[1]>2)&&w<Q-1,T=G?F.repeat(G):"",S=T+F,y=x?`[
2
- `+S:"[",g=x?`
3
- `+T+"]":"]",P=N.length;I+=y;for(let c=0;c<P;c++){if(L.isArrayLike(N[c]))I+=D(N[c])+V(N[c],w+1,x?G+1:G);else I+=L.yuString(N[c],K);if(x){if(c>=q-2){if(I+=`,
4
- `+S,z)I+=O.gray+"... ("+(P-q+1)+" more)"+O._default;else I+="... ("+(P-q+1)+" more)";break}}else if(c>=X-2){if(z)I+=", "+O.gray+"... ("+(P-X+1)+" more)"+O._default;else I+=", ... ("+(P-X+1)+" more)";break}if(c!=P-1)I+=x?`,
5
- `+S:", "}return I+=g,I}function D(N){if(N instanceof Array)return"";if(z)return O.magenta+`${N.constructor.name}: `+O._default;else return`${N.constructor.name}: `}function _(N){if(!L.isArrayLike(N))return"";if(z)return O.magenta+`${N.constructor.name}(${B}): `+O._default;else return`${N.constructor.name}(${B}): `}},argvHasFlag(Z,Y=process?.argv){if(!Y||typeof Z!="string")return!1;let Q=Z.startsWith("-")?"":Z.length===1?"-":"--",J=Y.indexOf(Q+Z),q=Y.indexOf("--");return J!==-1&&(q===-1||J<q)},async asyncSleep(Z){return new Promise((Q)=>{if(!Z||Z<4||typeof Z!="number")Q();setTimeout(Q,Z)})},beautifyJson(Z){Z=Z.replace(/\s/,"");let Y=Z+"",Q=L.getMatchAllIndexes(Z.matchAll(/[{[]/g)).sort((z,W)=>z-W),J=L.getMatchAllIndexes(Z.matchAll(/[}\]]/g)).sort((z,W)=>z-W);for(let z=0,W=0,U=0;U<Z.length;){let K=Q[X(Q,U)],B=J[X(J,U)];if(K=K==null?1/0:K,K<B)z++,U=K+1;else z--,U=B+1;let $=Q[X(Q,U)],F=J[X(J,U)],O=$<F?$:F,V="".padEnd(z,"\t");if(q(Y[U+W-1]))Y=L.strSplice(Y,U+W,0,`
6
- `);else Y=L.strSplice(Y,U+W-1,0,`
7
- `),Y=L.strSplice(Y,U+W,0,V),W+=V.length;W++;let D=Z.substring(U,O),_=L.getMatchAllIndexes(D.matchAll(/"/g)).filter((w)=>w!=0?D[w-1]!="\\":!0);if(_.length%2!=0)throw Error('cannot match Double-Quote correctly from string: "'+D+'"');let N=L.getMatchAllIndexes(D.matchAll(/[,]/g)).filter((w)=>{for(let G=0;G<_.length;G+=2)if(w>_[G]&&w<_[G+1])return!1;return!0});for(let w=0;w<N.length+1;w++){let G=w==0?U+W:N[w-1]+W+U+1;if(q(Y[G-1])==null)Y=L.strSplice(Y,G,0,V),W+=V.length;if(!Y[N[w]+W+U])break;Y=L.strSplice(Y,N[w]+1+W+U,0,`
8
- `),W++}}return Y;function q(z){let W=new RegExp(/[{[]/),U=new RegExp(/[}\]]/);if(W.test(z))return 1;if(U.test(z))return 0;return null}function X(z,W){let U=1/0,K;for(let B=0,$=z[B];B<z.length;$=z[++B]){let F=$-W;if(!F)return B;if(F<0)continue;if(F<U)U=F,K=B}return K}},beforeExit(Z,Y=!1){if(Y)process.stdin.resume();let Q=!1,J=!1;["exit","SIGINT","SIGUSR1","SIGUSR2","uncaughtException","SIGTERM"].forEach((q)=>{process.on(q,(...X)=>{if(["SIGINT","SIGUSR1","SIGUSR2"].includes(q))if(Q)console.log("Forcefully Exiting..."),process.exit(1);else Q=!0;if(J)return;else J=!0;let z=Z(q,...X);if(z instanceof Promise){z.then(()=>{if(q!=="exit"&&Y)process.exit(0)}).catch((W)=>{if(console.error("Error in beforeExit callback:",W),q!=="exit"&&Y)process.exit(1)});return}if(q!=="exit"&&Y)process.exit(0)})})},changeDateTimezone(Z,Y){let Q=new Date(`${Z.toLocaleString("en-US",{timeZone:Y})}`),J=Z.getTime()-Q.getTime();return new Date(Z.getTime()-J)},charTypeAt(Z,Y){let Q=L.CONSTS.UNICODES_RANGE_TABLE;if(Z<0)Z=Y.length+Z;let J=Y.charCodeAt(Z);if(isNaN(J))return null;for(let q=Q.length>>1,X=0;q>=0&&q<Q.length;X++){if(X>(Q.length>>1)+1)break;if(L.isArrayLike(Q[q].to)){for(let z=0;z<Q[q].to.length;z++)if(J>=Q[q].from[z]&&J<=Q[q].to[z])return Q[q].type;if(J>Q[q].from[0])q++;else q--}else{if(J>=Q[q].from&&J<=Q[q].to)return Q[q].type;if(J>Q[q].from)q++;else q--}}return null},CheckCache:class Z{static#Y=null;static#Q=null;static#Z=null;static get supportsColor(){if(this.#Y==null)this.#Y=L.supportsColor();return this.#Y??0}static get supportsHyperlink(){if(this.#Q==null)this.#Q=L.supportsHyperlink();return this.#Q}static set supportsColor(Y){this.#Y=Y}static set supportsHyperlink(Y){this.#Q=Y}static get forceColor(){if(!v4)this.#Z=!1;if(this.#Z===void 0){let Y=process.env;if(L.argvHasFlag("no-color")||L.argvHasFlag("no-colors")||L.argvHasFlag("color=false"))this.#Z=!1;else if(L.argvHasFlag("color")||L.argvHasFlag("colors")||L.argvHasFlag("color=true")||L.argvHasFlag("color=always"))this.#Z=!0;if("FORCE_COLOR"in Y)this.#Z=Y.FORCE_COLOR.length===0||parseInt(Y.FORCE_COLOR,10)!==0}return this.#Z}static set forceColor(Y){this.#Z=Y}},cleanArr(Z,Y=null){if(Y&&Y instanceof Array)return Z.filter((Q)=>{return!Y.includes(Q)});if(Y!==null)return Z.filter((Q)=>{return Q!==Y});return Z.filter((Q)=>Q!==""&&Q!=="\r"&&!L.isEmptyArray(Q)&&!L.isEmptyObject(Q))},cleanComments(Z){return Z.replace(L.REGEXP.JSComments,(Y,Q)=>Q?"":Y)},cleanString(Z){return Z.normalize().replace(L.REGEXP.ANSICode,"")},CONSTS:Object.freeze({UNICODES_RANGE_TABLE:[Object.freeze({type:"generic.en.upper",regex:/[\x41-\x5a]/g,from:65,to:90}),Object.freeze({type:"generic.en.lower",regex:/[\x61-\x7a]/g,from:97,to:122}),Object.freeze({type:"generic.jp.full",regex:/[\u2E80-\u2FD5\u3400-\u4DB5\u4E00-\u9FCB\uF900-\uFA6A\u3000-\u303f\u3041-\u3096\u30a0-\u30ff\uFF00-\uFFEF]/g,from:new Int16Array([11904,13312,19968,63744,12288,12353,12448,65280]),to:new Int16Array([12245,19893,40907,64106,12351,12438,12543,65519])}),Object.freeze({type:"generic.cn.full",regex:/[\u4e00-\u9fff]/g,from:19968,to:40959}),Object.freeze({type:"generic.jp.half",regex:/[\uff5f-\uff9f]/g,from:65375,to:65439})],AsyncFunction:(async()=>{}).constructor,GeneratorFunction:function*(){}.constructor,AnsiColorCodes:Object.freeze({black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m",reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",italic:"\x1B[3m","~italic":"\x1B[23m",underline:"\x1B[4m","~underline":"\x1B[24m",blink:"\x1B[5m","~blink":"\x1B[25m",invert:"\x1B[7m","~invert":"\x1B[27m",hidden:"\x1B[8m","~hidden":"\x1B[28m",strikethrough:"\x1B[9m","~strikethrough":"\x1B[29m",normal:"\x1B[22m",bgblack:"\x1B[40m",bgred:"\x1B[41m",bggreen:"\x1B[42m",bgyellow:"\x1B[43m",bgblue:"\x1B[44m",bgmagenta:"\x1B[45m",bgcyan:"\x1B[46m",bgwhite:"\x1B[47m"})}),Convert:{decimalColorToRGB(Z){return{r:Z>>16&255,g:Z>>8&255,b:Z&255}},basicColorFromRgb(Z){let Y=Z.r>127,Q=Z.g>127,J=Z.b>127;switch(Y+Q+J){case 3:return"white";case 0:return"black";case 2:if(!Y)return"cyan";else if(!Q)return"magenta";else if(!J)return"yellow";case 1:if(Y)return"red";else if(Q)return"green";else if(J)return"blue"}},_8bitColorFromRgb(Z){let{r:Y,g:Q,b:J}=Z;if(Y===Q&&Q===J){if(Y<8)return 16;if(Y>248)return 231;return Math.round((Y-8)/247*24)+232}let q=Math.round(Y/255*5),X=Math.round(Q/255*5),z=Math.round(J/255*5);return 16+36*q+6*X+z}},ConsoleTime:class Z{static lookbackLimit=100;static elapsedStart(Y){if(W8.consoleTimeInstances==null){W8.consoleTimeInstances=new Map([[Y,[L.getProcessTime()]]]);return}if(!W8.consoleTimeInstances.has(Y)){W8.consoleTimeInstances.set(Y,[L.getProcessTime()]);return}let Q=W8.consoleTimeInstances.get(Y);if(Q.unshift(L.getProcessTime()),this.lookbackLimit>0&&Q.length>=this.lookbackLimit)Q.pop()}static elapsedEnd(Y){if(!W8.consoleTimeInstances.has(Y))return;let Q=W8.consoleTimeInstances.get(Y),J=Q[0];Q[0]=L.getProcessTime()-J}static condense(Y){let Q=W8.consoleTimeInstances.get(Y);if(!Q)return null;let J=0;for(let q of Q)J+=q;return J/=Q.length,W8.consoleTimeInstances.delete(Y),{print(){console.log(Y+": "+L.toShortNum(J)+"s")},valueOf:()=>J,toString:()=>Y+": "+L.toShortNum(J)+"s",value:J}}},compareDate(Z,Y,Q,J="day"){if(!Z||!Q)return!1;let q=U(Z),X=U(Q),z=q.next(),W=X.next();do if(z.value!==W.value)switch(Y){case">":return z.value>W.value;case"<":return z.value<W.value;case">=":return z.value>=W.value;case"<=":return z.value<=W.value;default:return!1}while(!(z=q.next()).done&&!(W=X.next()).done);return Y[1]==="=";function*U(K){if(yield K.getFullYear(),J==="year")return;if(yield K.getMonth(),J==="month")return;yield K.getDate()}},DataScienceKit:{frequencyOf(Z){if(!Z||typeof Z!="string"&&!L.isArrayLike(Z))return new Map;let Y=[...new Set(Z)],Q=new Map(Y.map((J)=>[J,0]));for(let J of Z)Y.forEach((q)=>{if(q==J)Q.set(q,Q.get(q)+1)});return Q},LCS_of(Z,Y,Q=(J,q)=>J===q){if(!(Z?.length&&Y?.length))return[];let J=[],q=Y.length,X=Z.length;while(J.length<X)J.push(Array(q));for(let K=0;K<J.length;K++)for(let B=0;B<J[K].length;B++){if(Q(Z[K],Y[B])){let O=U(K-1,B-1);J[K][B]=[O+1,3];continue}let $=U(K,B-1),F=U(K-1,B);if($>F)J[K][B]=[$,2];else J[K][B]=[F,1]}let z=[];return W(X-1,q-1),z;function W(K,B){if(K<0||B<0)return;switch(J[K][B][1]){case 1:W(K-1,B);break;case 2:W(K,B-1);break;case 3:z.unshift(Z[K]),W(K-1,B-1);break}}function U(K,B){if(K<0||B<0)return 0;else return J[K][B][0]}},LCSLength_of(Z,Y,Q=(J,q)=>J===q){if(!(Z?.length&&Y?.length))return 0;let J=[],q=Y.length,X=Z.length;while(J.length<X)J.push(Array(q));for(let W=0;W<J.length;W++)for(let U=0;U<J[W].length;U++){if(Q(Z[W],Y[U])){let $=z(W-1,U-1);J[W][U]=[$+1,3];continue}let K=z(W,U-1),B=z(W-1,U);if(K>B)J[W][U]=[K,2];else J[W][U]=[B,1]}return J[X-1][q-1][0];function z(W,U){if(W<0||U<0)return 0;else return J[W][U][0]}},TFIDF_of(Z){let Y=Z.length,Q=Array(Y),J=new Map;for(let X=0;X<Y;X++){let z=Z[X].length,W=L.DataScienceKit.frequencyOf(Z[X]);Q[X]=new Map;for(let U=0;U<z;U++){if(!Q[X].has(Z[X][U]))Q[X].set(Z[X][U],new uQ(W.get(Z[X][U])/z));if(!J.has(Z[X][U]))J.set(Z[X][U],0)}}let q=[...J.keys()];for(let X=0;X<q.length;X++)for(let z of Z)if(z.includes(q[X]))J.set(q[X],J.get(q[X])+1);for(let[X,z]of J)J.set(X,Math.log10(Y/z));for(let X of Q)for(let[z,W]of X)W.IDF=J.get(z),W.TF_IDF=W.IDF*W.TF;return Q},TFIDF_extends(Z,Y){let Q=Z.concat(Array(Y.length)),J=new Map,q=Q.length;for(let z=0;z<q;z++){let W,U,K=!1,B=z-Z.length;if(!Q[z])K=!0,W=Y[B].length,U=L.DataScienceKit.frequencyOf(Y[B]),Q[z]=new Map;else W=Q[z].size;for(let $=0;$<W;$++){if(K&&!Q[z].has(Y[B][$])){if(Q[z].set(Y[B][$],new uQ(U.get(Y[B][$])/W)),!J.has(Y[B][$]))J.set(Y[B][$],0);continue}let F=[...Q[z].keys()][$];if(!J.has(F))J.set(F,0)}}let X=[...J.keys()];for(let z=0;z<X.length;z++)for(let W of Q)if(W.has(X[z]))J.set(X[z],J.get(X[z])+1);for(let[z,W]of J)J.set(z,Math.log10(q/W));for(let z of Q)for(let[W,U]of z)U.IDF=J.get(W),U.TF_IDF=U.IDF*U.TF;return Q},wagnerFischer_of(Z,Y,Q=(J,q)=>J===q){let J=[],q,X;for(q=0;q<=Z.length;q++)J[q]=[q];for(X=0;X<=Y.length;X++)J[0][X]=X;for(q=1;q<=Z.length;q++)for(X=1;X<=Y.length;X++){if(Q(Z[q-1],Y[X-1])){J[q][X]=J[q-1][X-1];continue}J[q][X]=Math.min(J[q-1][X-1]+1,Math.min(J[q][X-1]+1,J[q-1][X]+1))}return{distance:J[Z.length][Y.length],getOperations(){let z=J.length-1,W=J[0].length-1,U=[],K=new L.SafeTrue;while((z>0||W>0)&&K.True)switch(B(z,W,J)){case 2:U.push({type:"delete",index:z-1,value:Z[z-1]}),z--;break;case 0:U.push({type:"insert",index:z,value:Y[W-1]}),W--;break;case 1:if(J[z][W]!==J[z-1][W-1])U.push({type:"replace",index:z-1,value:Y[W-1]});z--,W--;break}return U;function B($,F,O){let V=[O[$][F-1],O[$-1][F-1],O[$-1][F]];if(F<=0)return 2;if($<=0)return 0;if(V[0]==V[1])if(V[2]==V[1])return 1;else return 0;let D=V[0],_=0;for(let N=1;N<V.length;N++)if(V[N]<D)D=V[N],_=N;return _}}}}},deferredFunc(Z,Y=200,Q=!1){let J=null;return function(...q){let X=!1;if(Q&&!J)Z(...q),X=!0;clearTimeout(J),J=setTimeout(()=>{if(J=null,!X)Z(...q)},Y)}},digitAt(Z,Y){try{return parseInt((Y+"").at(Z))}catch{return 0}},digitAtRange(Z,Y,Q){if(!Q)return;Z=Z<0?void 0:Z??void 0,Y=Y<0?void 0:Y??void 0;let J=(Q+"").slice(Z,Y);return parseInt(J.length?J:"0")},getDimensions(Z,Y="max"){let Q=[],J=Y==="min"?Math.min:Math.max,q=Y==="min"?1/0:0,X=q,z=[],W=0;if(!L.isArrayLike(Z))return Q;if(Q.push(Z.length),Y==="symmetric")U(Z,0);else K(Z,0,!0);return Q;function U(B,$){if(!L.isArrayLike(B?.[Q[$]-1]))return;Q.push(B[Q[$]-1].length),U(B[Q[$]-1],$+1)}function K(B,$,F=!1,O=[]){for(let V=0;V<Q[$];V++){if(!L.isArrayLike(B[V]))continue;if(B[V].length!=X){if(Y==="fixed"&&X!==q)throw Error(`Array length mismatched at depth ${$+1} position (${[...O,V].join(",")}):
1
+ import{createRequire as FN}from"node:module";var qN=Object.create;var{getPrototypeOf:XN,defineProperty:oQ,getOwnPropertyNames:zN}=Object;var HN=Object.prototype.hasOwnProperty;function WN(Z){return this[Z]}var UN,KN,RX=(Z,Y,Q)=>{var J=Z!=null&&typeof Z==="object";if(J){var q=Y?UN??=new WeakMap:KN??=new WeakMap,X=q.get(Z);if(X)return X}Q=Z!=null?qN(XN(Z)):{};let z=Y||!Z||!Z.__esModule?oQ(Q,"default",{value:Z,enumerable:!0}):Q;for(let W of zN(Z))if(!HN.call(z,W))oQ(z,W,{get:WN.bind(Z,W),enumerable:!0});if(J)q.set(Z,z);return z};var L6=(Z,Y)=>()=>(Y||Z((Y={exports:{}}).exports,Y),Y.exports);var BN=(Z)=>Z;function $N(Z,Y){this[Z]=BN.bind(null,Y)}var y8=(Z,Y)=>{for(var Q in Y)oQ(Z,Q,{get:Y[Q],enumerable:!0,configurable:!0,set:$N.bind(Y,Q)})};var N=(Z,Y)=>()=>(Z&&(Y=Z(Z=0)),Y);var U6=FN(import.meta.url);import{createRequire as VN}from"module";class TX{value;start;end;constructor(Z,Y,Q){this.value=Z,this.start=Y,this.end=Q}}class sQ{TF;IDF;TF_IDF;constructor(Z){this.TF=Z}}class kX{x;y;z;r;t;get unit(){return this.#Y}get dimension(){return this.#Q}#Y;#Q=0;constructor(Z,Y,Q=null){if(this.x=Z,this.y=Y,this.z=Q,Q)this.#Q=3;else if(Y)this.#Q=2;else if(Z)this.#Q=1}toPolarCoords(Z="r"){this.#Y=Z;let{r:Y,t:Q}=w.MathKit.toPolarCoords(this.x,this.y,Z);return this.r=Y,this.t=Q,this}toCartesianCoords(){if(!this.#Y&&this.x)return this;let{x:Z,y:Y}=w.MathKit.toCartesianCoords(this.r,this.t,this.#Y);return this.x=Z,this.y=Y,this}setUnit(Z){if(!Z||Z!="d"&&Z!="r")throw Error("unit must be 'r' or 'd', given: "+Z);if(this.#Y==Z)return;if(Z=="r")this.#Y=Z,this.t=w.MathKit.radians(this.t);else this.#Y=Z,this.t=w.MathKit.degrees(this.t)}}class EX{constructor(Z,Y,Q,J,q,X,z){this.x=Z,this.y=Y,this.f=Q,this.ymid=J,this.iterations=q,this.events=z,this.msg=X}_at(Z,Y){function Q(D){return D*D}let J,q,X,z,W,U,K,B,$,V;return J=this.x[Y],q=this.x[Y+1],z=this.y[Y],W=this.y[Y+1],K=q-J,X=J+0.5*K,U=this.ymid[Y],B=this.f[Y]-z*(1/(J-X)+2/(J-q)),$=this.f[Y+1]-W*(1/(q-X)+2/(q-J)),V=[Q(Z-q)*(Z-X)/Q(J-q)/(J-X),Q(Z-J)*Q(Z-q)/Q(J-X)/Q(q-X),Q(Z-J)*(Z-X)/Q(q-J)/(q-X),(Z-J)*Q(Z-q)*(Z-X)/Q(J-q)/(J-X),(Z-q)*Q(Z-J)*(Z-X)/Q(J-q)/(q-X)],z*V[0]+U*V[1]+W*V[2]+B*V[3]+$*V[4]}at(Z){let Y,Q,J;if(typeof Z!=="number"){let X=Z.length,z=Array(X);for(Y=X-1;Y!==-1;--Y)z[Y]=this.at(Z[Y]);return z}let q=this.x;Y=0,Q=q.length-1;while(Q-Y>1)if(J=Math.floor(0.5*(Y+Q)),q[J]<=Z)Y=J;else Q=J;return this._at(Z,Y)}}class K4{value;index;type;constructor(Z,Y,Q=-1){this.value=Z,this.type=Y,this.index=Q}valueOf(){return this.value}toString(){return this.value.toString()}}class h8{type;UPID=null;callback;constructor(Z,Y,Q=null){if(Q)this.type=1,this.UPID=Q;else this.type=Z;this.callback=Y}}function MN(Z){return Z==null||typeof Z=="number"||typeof Z=="string"||typeof Z=="boolean"||Z instanceof ArrayBuffer||Z instanceof MessagePort||Z instanceof ReadableStream||Z instanceof WritableStream||Z instanceof TransformStream}var ON,f8,DN,U4,iQ="[#*0-9]\\uFE0F?\\u20E3|©\\uFE0F?|[®\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA]\\uFE0F?|[\\u231A\\u231B]|[\\u2328\\u23CF]\\uFE0F?|[\\u23E9-\\u23EC]|[\\u23ED-\\u23EF]\\uFE0F?|\\u23F0|[\\u23F1\\u23F2]\\uFE0F?|\\u23F3|[\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC]\\uFE0F?|[\\u25FD\\u25FE]|[\\u2600-\\u2604\\u260E\\u2611]\\uFE0F?|[\\u2614\\u2615]|\\u2618\\uFE0F?|\\u261D(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642]\\uFE0F?|[\\u2648-\\u2653]|[\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E]\\uFE0F?|\\u267F|\\u2692\\uFE0F?|\\u2693|[\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0]\\uFE0F?|\\u26A1|\\u26A7\\uFE0F?|[\\u26AA\\u26AB]|[\\u26B0\\u26B1]\\uFE0F?|[\\u26BD\\u26BE\\u26C4\\u26C5]|\\u26C8\\uFE0F?|\\u26CE|[\\u26CF\\u26D1\\u26D3]\\uFE0F?|\\u26D4|\\u26E9\\uFE0F?|\\u26EA|[\\u26F0\\u26F1]\\uFE0F?|[\\u26F2\\u26F3]|\\u26F4\\uFE0F?|\\u26F5|[\\u26F7\\u26F8]\\uFE0F?|\\u26F9(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uFE0F(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|[\\u26FA\\u26FD]|\\u2702\\uFE0F?|\\u2705|[\\u2708\\u2709]\\uFE0F?|[\\u270A\\u270B](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\u270C\\u270D](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|\\u270F\\uFE0F?|[\\u2712\\u2714\\u2716\\u271D\\u2721]\\uFE0F?|\\u2728|[\\u2733\\u2734\\u2744\\u2747]\\uFE0F?|[\\u274C\\u274E\\u2753-\\u2755\\u2757]|\\u2763\\uFE0F?|\\u2764(?:\\u200D(?:\\uD83D\\uDD25|\\uD83E\\uDE79)|\\uFE0F(?:\\u200D(?:\\uD83D\\uDD25|\\uD83E\\uDE79))?)?|[\\u2795-\\u2797]|\\u27A1\\uFE0F?|[\\u27B0\\u27BF]|[\\u2934\\u2935\\u2B05-\\u2B07]\\uFE0F?|[\\u2B1B\\u2B1C\\u2B50\\u2B55]|[\\u3030\\u303D\\u3297\\u3299]\\uFE0F?|\\uD83C(?:[\\uDC04\\uDCCF]|[\\uDD70\\uDD71\\uDD7E\\uDD7F]\\uFE0F?|[\\uDD8E\\uDD91-\\uDD9A]|\\uDDE6\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF]|\\uDDE7\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF]|\\uDDE8\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF]|\\uDDE9\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF]|\\uDDEA\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA]|\\uDDEB\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7]|\\uDDEC\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE]|\\uDDED\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA]|\\uDDEE\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9]|\\uDDEF\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5]|\\uDDF0\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF]|\\uDDF1\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE]|\\uDDF2\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF]|\\uDDF3\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF]|\\uDDF4\\uD83C\\uDDF2|\\uDDF5\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE]|\\uDDF6\\uD83C\\uDDE6|\\uDDF7\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC]|\\uDDF8\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF]|\\uDDF9\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF]|\\uDDFA\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF]|\\uDDFB\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA]|\\uDDFC\\uD83C[\\uDDEB\\uDDF8]|\\uDDFD\\uD83C\\uDDF0|\\uDDFE\\uD83C[\\uDDEA\\uDDF9]|\\uDDFF\\uD83C[\\uDDE6\\uDDF2\\uDDFC]|\\uDE01|\\uDE02\\uFE0F?|[\\uDE1A\\uDE2F\\uDE32-\\uDE36]|\\uDE37\\uFE0F?|[\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20]|[\\uDF21\\uDF24-\\uDF2C]\\uFE0F?|[\\uDF2D-\\uDF35]|\\uDF36\\uFE0F?|[\\uDF37-\\uDF7C]|\\uDF7D\\uFE0F?|[\\uDF7E-\\uDF84]|\\uDF85(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDF86-\\uDF93]|[\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F]\\uFE0F?|[\\uDFA0-\\uDFC1]|\\uDFC2(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDFC3\\uDFC4](?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|[\\uDFC5\\uDFC6]|\\uDFC7(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDFC8\\uDFC9]|\\uDFCA(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|[\\uDFCB\\uDFCC](?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uFE0F(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|[\\uDFCD\\uDFCE]\\uFE0F?|[\\uDFCF-\\uDFD3]|[\\uDFD4-\\uDFDF]\\uFE0F?|[\\uDFE0-\\uDFF0]|\\uDFF3(?:\\u200D(?:\\u26A7\\uFE0F?|\\uD83C\\uDF08)|\\uFE0F(?:\\u200D(?:\\u26A7\\uFE0F?|\\uD83C\\uDF08))?)?|\\uDFF4(?:\\u200D\\u2620\\uFE0F?|\\uDB40\\uDC67\\uDB40\\uDC62\\uDB40(?:\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F)?|[\\uDFF5\\uDFF7]\\uFE0F?|[\\uDFF8-\\uDFFF])|\\uD83D(?:[\\uDC00-\\uDC07]|\\uDC08(?:\\u200D\\u2B1B)?|[\\uDC09-\\uDC14]|\\uDC15(?:\\u200D\\uD83E\\uDDBA)?|[\\uDC16-\\uDC3A]|\\uDC3B(?:\\u200D\\u2744\\uFE0F?)?|[\\uDC3C-\\uDC3E]|\\uDC3F\\uFE0F?|\\uDC40|\\uDC41(?:\\u200D\\uD83D\\uDDE8\\uFE0F?|\\uFE0F(?:\\u200D\\uD83D\\uDDE8\\uFE0F?)?)?|[\\uDC42\\uDC43](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC44\\uDC45]|[\\uDC46-\\uDC50](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC51-\\uDC65]|[\\uDC66\\uDC67](?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uDC68(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?|[\\uDC68\\uDC69]\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92])|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFC-\\uDFFF]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFE]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?))?|\\uDC69(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?[\\uDC68\\uDC69]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?|\\uDC69\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92])|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFF]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFC-\\uDFFF]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFF]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFF]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFF]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFF]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFE]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?))?|\\uDC6A|[\\uDC6B-\\uDC6D](?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uDC6E(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|\\uDC6F(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDC70\\uDC71](?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|\\uDC72(?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uDC73(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|[\\uDC74-\\uDC76](?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uDC77(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|\\uDC78(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC79-\\uDC7B]|\\uDC7C(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC7D-\\uDC80]|[\\uDC81\\uDC82](?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|\\uDC83(?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uDC84|\\uDC85(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC86\\uDC87](?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|[\\uDC88-\\uDC8E]|\\uDC8F(?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uDC90|\\uDC91(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC92-\\uDCA9]|\\uDCAA(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDCAB-\\uDCFC]|\\uDCFD\\uFE0F?|[\\uDCFF-\\uDD3D]|[\\uDD49\\uDD4A]\\uFE0F?|[\\uDD4B-\\uDD4E\\uDD50-\\uDD67]|[\\uDD6F\\uDD70\\uDD73]\\uFE0F?|\\uDD74(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|\\uDD75(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uFE0F(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|[\\uDD76-\\uDD79]\\uFE0F?|\\uDD7A(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDD87\\uDD8A-\\uDD8D]\\uFE0F?|\\uDD90(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\uDD95\\uDD96](?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uDDA4|[\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA]\\uFE0F?|[\\uDDFB-\\uDE2D]|\\uDE2E(?:\\u200D\\uD83D\\uDCA8)?|[\\uDE2F-\\uDE34]|\\uDE35(?:\\u200D\\uD83D\\uDCAB)?|\\uDE36(?:\\u200D\\uD83C\\uDF2B\\uFE0F?)?|[\\uDE37-\\uDE44]|[\\uDE45-\\uDE47](?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|[\\uDE48-\\uDE4A]|\\uDE4B(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|\\uDE4C(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDE4D\\uDE4E](?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|\\uDE4F(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDE80-\\uDEA2]|\\uDEA3(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|[\\uDEA4-\\uDEB3]|[\\uDEB4-\\uDEB6](?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|[\\uDEB7-\\uDEBF]|\\uDEC0(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDEC1-\\uDEC5]|\\uDECB\\uFE0F?|\\uDECC(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDECD-\\uDECF]\\uFE0F?|[\\uDED0-\\uDED2\\uDED5-\\uDED7]|[\\uDEE0-\\uDEE5\\uDEE9]\\uFE0F?|[\\uDEEB\\uDEEC]|[\\uDEF0\\uDEF3]\\uFE0F?|[\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB])|\\uD83E(?:\\uDD0C(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDD0D\\uDD0E]|\\uDD0F(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDD10-\\uDD17]|[\\uDD18-\\uDD1C](?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uDD1D|[\\uDD1E\\uDD1F](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDD20-\\uDD25]|\\uDD26(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|[\\uDD27-\\uDD2F]|[\\uDD30-\\uDD34](?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uDD35(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|\\uDD36(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDD37-\\uDD39](?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|\\uDD3A|\\uDD3C(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD3D\\uDD3E](?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|[\\uDD3F-\\uDD45\\uDD47-\\uDD76]|\\uDD77(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDD78\\uDD7A-\\uDDB4]|[\\uDDB5\\uDDB6](?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uDDB7|[\\uDDB8\\uDDB9](?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|\\uDDBA|\\uDDBB(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDDBC-\\uDDCB]|[\\uDDCD-\\uDDCF](?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|\\uDDD0|\\uDDD1(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83E\\uDDD1|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFC-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFE]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])))?))?|[\\uDDD2\\uDDD3](?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uDDD4(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|\\uDDD5(?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDDD6-\\uDDDD](?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?)?|[\\uDDDE\\uDDDF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDDE0-\\uDDFF\\uDE70-\\uDE74\\uDE78-\\uDE7A\\uDE80-\\uDE86\\uDE90-\\uDEA8\\uDEB0-\\uDEB6\\uDEC0-\\uDEC2\\uDED0-\\uDED6])",w,yy,PX,fy,K7,hy,xX,gy,my,Q6,py,uy,bX,mZ,dy,cy,ly,vX,ny,oy,iy,sy,o,ay,B7,r0,ry,ty,ey,Zf,Yf,Qf,Jf,qf,Xf,S6,zf,Hf,Wf,Uf,Kf,Bf,$f,Ff,Vf,Of,SX,Df,Mf,jf,g8,_f,yX,o0,m8,M0,Nf,If,Lf,wf,Af,aQ,Gf,Cf,Rf,Tf,kf,Ef,Pf,xf,bf,vf,fX,Sf,hX,yf,ff,hf,p8,gf,b0,B4,gX,mf,pf,t,uf,df,cf,lf,nf,w6,of,sf,u;var z0=N(()=>{ON=VN(import.meta.url),f8=typeof window>"u"||typeof process<"u",DN={dgram:null,worker_threads:null,os:null,fs:null,mathjs:null},U4={consoleTimeInstances:null};w={_modules:DN,arrFindLast(Z,Y){for(let Q=Z.length-1;Q>=0;Q--)if(Y(Z[Q],Q,Z))return Z[Q];return},arrToString(Z,Y={}){let{maxDepth:Q=4,indent:J=3,maxRow:q=10,maxCol:X=20,color:z=!1,defColor:W=void 0,noHeader:U=!1}=Y;if(Q<1)Q=1;let K={color:z,defColor:W},B=w.getDimensions(Z,"max"),$=B.length*0.4,V=typeof J=="number"?" ".repeat(J):J,D=null;if(z)D={magenta:w.ncc(11550650),gray:w.ncc(4802889),_default:w.ncc(W)};if(!U&&(!(Z instanceof Array)||B.length>2||Math.max(...B)>5))return j(Z)+F(Z,0);else return F(Z,0);function F(_,L,A=0){let I="";if(L>Q-1)if(z)return D.gray+`... [${O(_)||"Array"}]`+D._default;else return`... [${O(_)||"Array"}]`;if(!w.isArrayLike(_))return I+w.yuString(_,K);let G;if(L>$)G=w.getDimensions(_,"max");else G=B.slice(L);let P=B[L+1]!=null&&(G[2]!=null||G[1]>2)&&L<Q-1,T=A?V.repeat(A):"",S=T+V,y=P?`[
2
+ `+S:"[",g=P?`
3
+ `+T+"]":"]",x=_.length;I+=y;for(let c=0;c<x;c++){if(w.isArrayLike(_[c]))I+=O(_[c])+F(_[c],L+1,P?A+1:A);else I+=w.yuString(_[c],K);if(P){if(c>=q-2){if(I+=`,
4
+ `+S,z)I+=D.gray+"... ("+(x-q+1)+" more)"+D._default;else I+="... ("+(x-q+1)+" more)";break}}else if(c>=X-2){if(z)I+=", "+D.gray+"... ("+(x-X+1)+" more)"+D._default;else I+=", ... ("+(x-X+1)+" more)";break}if(c!=x-1)I+=P?`,
5
+ `+S:", "}return I+=g,I}function O(_){if(_ instanceof Array)return"";if(z)return D.magenta+`${_.constructor.name}: `+D._default;else return`${_.constructor.name}: `}function j(_){if(!w.isArrayLike(_))return"";if(z)return D.magenta+`${_.constructor.name}(${B}): `+D._default;else return`${_.constructor.name}(${B}): `}},argvHasFlag(Z,Y=process?.argv){if(!Y||typeof Z!="string")return!1;let Q=Z.startsWith("-")?"":Z.length===1?"-":"--",J=Y.indexOf(Q+Z),q=Y.indexOf("--");return J!==-1&&(q===-1||J<q)},async asyncSleep(Z){return new Promise((Q)=>{if(!Z||Z<4||typeof Z!="number")Q();setTimeout(Q,Z)})},beautifyJson(Z){Z=Z.replace(/\s/,"");let Y=Z+"",Q=w.getMatchAllIndexes(Z.matchAll(/[{[]/g)).sort((z,W)=>z-W),J=w.getMatchAllIndexes(Z.matchAll(/[}\]]/g)).sort((z,W)=>z-W);for(let z=0,W=0,U=0;U<Z.length;){let K=Q[X(Q,U)],B=J[X(J,U)];if(K=K==null?1/0:K,K<B)z++,U=K+1;else z--,U=B+1;let $=Q[X(Q,U)],V=J[X(J,U)],D=$<V?$:V,F="".padEnd(z,"\t");if(q(Y[U+W-1]))Y=w.strSplice(Y,U+W,0,`
6
+ `);else Y=w.strSplice(Y,U+W-1,0,`
7
+ `),Y=w.strSplice(Y,U+W,0,F),W+=F.length;W++;let O=Z.substring(U,D),j=w.getMatchAllIndexes(O.matchAll(/"/g)).filter((L)=>L!=0?O[L-1]!="\\":!0);if(j.length%2!=0)throw Error('cannot match Double-Quote correctly from string: "'+O+'"');let _=w.getMatchAllIndexes(O.matchAll(/[,]/g)).filter((L)=>{for(let A=0;A<j.length;A+=2)if(L>j[A]&&L<j[A+1])return!1;return!0});for(let L=0;L<_.length+1;L++){let A=L==0?U+W:_[L-1]+W+U+1;if(q(Y[A-1])==null)Y=w.strSplice(Y,A,0,F),W+=F.length;if(!Y[_[L]+W+U])break;Y=w.strSplice(Y,_[L]+1+W+U,0,`
8
+ `),W++}}return Y;function q(z){let W=new RegExp(/[{[]/),U=new RegExp(/[}\]]/);if(W.test(z))return 1;if(U.test(z))return 0;return null}function X(z,W){let U=1/0,K;for(let B=0,$=z[B];B<z.length;$=z[++B]){let V=$-W;if(!V)return B;if(V<0)continue;if(V<U)U=V,K=B}return K}},beforeExit(Z,Y=!1){if(Y)process.stdin.resume();let Q=!1,J=!1;["exit","SIGINT","SIGUSR1","SIGUSR2","uncaughtException","SIGTERM"].forEach((q)=>{process.on(q,(...X)=>{if(["SIGINT","SIGUSR1","SIGUSR2"].includes(q))if(Q)console.log("Forcefully Exiting..."),process.exit(1);else Q=!0;if(J)return;else J=!0;let z=Z(q,...X);if(z instanceof Promise){z.then(()=>{if(q!=="exit"&&Y)process.exit(0)}).catch((W)=>{if(console.error("Error in beforeExit callback:",W),q!=="exit"&&Y)process.exit(1)});return}if(q!=="exit"&&Y)process.exit(0)})})},changeDateTimezone(Z,Y){let Q=new Date(`${Z.toLocaleString("en-US",{timeZone:Y})}`),J=Z.getTime()-Q.getTime();return new Date(Z.getTime()-J)},charTypeAt(Z,Y){let Q=w.CONSTS.UNICODES_RANGE_TABLE;if(Z<0)Z=Y.length+Z;let J=Y.charCodeAt(Z);if(isNaN(J))return null;for(let q=Q.length>>1,X=0;q>=0&&q<Q.length;X++){if(X>(Q.length>>1)+1)break;if(w.isArrayLike(Q[q].to)){for(let z=0;z<Q[q].to.length;z++)if(J>=Q[q].from[z]&&J<=Q[q].to[z])return Q[q].type;if(J>Q[q].from[0])q++;else q--}else{if(J>=Q[q].from&&J<=Q[q].to)return Q[q].type;if(J>Q[q].from)q++;else q--}}return null},CheckCache:class Z{static#Y=null;static#Q=null;static#Z=null;static get supportsColor(){if(this.#Y==null)this.#Y=w.supportsColor();return this.#Y??0}static get supportsHyperlink(){if(this.#Q==null)this.#Q=w.supportsHyperlink();return this.#Q}static set supportsColor(Y){this.#Y=Y}static set supportsHyperlink(Y){this.#Q=Y}static get forceColor(){if(!f8)this.#Z=!1;if(this.#Z===void 0){let Y=process.env;if(w.argvHasFlag("no-color")||w.argvHasFlag("no-colors")||w.argvHasFlag("color=false"))this.#Z=!1;else if(w.argvHasFlag("color")||w.argvHasFlag("colors")||w.argvHasFlag("color=true")||w.argvHasFlag("color=always"))this.#Z=!0;if("FORCE_COLOR"in Y)this.#Z=Y.FORCE_COLOR.length===0||parseInt(Y.FORCE_COLOR,10)!==0}return this.#Z}static set forceColor(Y){this.#Z=Y}},cleanArr(Z,Y=null){if(Y&&Y instanceof Array)return Z.filter((Q)=>{return!Y.includes(Q)});if(Y!==null)return Z.filter((Q)=>{return Q!==Y});return Z.filter((Q)=>Q!==""&&Q!=="\r"&&!w.isEmptyArray(Q)&&!w.isEmptyObject(Q))},cleanComments(Z){return Z.replace(w.REGEXP.JSComments,(Y,Q)=>Q?"":Y)},cleanString(Z){return Z.normalize().replace(w.REGEXP.ANSICode,"")},CONSTS:Object.freeze({UNICODES_RANGE_TABLE:[Object.freeze({type:"generic.en.upper",regex:/[\x41-\x5a]/g,from:65,to:90}),Object.freeze({type:"generic.en.lower",regex:/[\x61-\x7a]/g,from:97,to:122}),Object.freeze({type:"generic.jp.full",regex:/[\u2E80-\u2FD5\u3400-\u4DB5\u4E00-\u9FCB\uF900-\uFA6A\u3000-\u303f\u3041-\u3096\u30a0-\u30ff\uFF00-\uFFEF]/g,from:new Int16Array([11904,13312,19968,63744,12288,12353,12448,65280]),to:new Int16Array([12245,19893,40907,64106,12351,12438,12543,65519])}),Object.freeze({type:"generic.cn.full",regex:/[\u4e00-\u9fff]/g,from:19968,to:40959}),Object.freeze({type:"generic.jp.half",regex:/[\uff5f-\uff9f]/g,from:65375,to:65439})],AsyncFunction:(async()=>{}).constructor,GeneratorFunction:function*(){}.constructor,AnsiColorCodes:Object.freeze({black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m",reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",italic:"\x1B[3m","~italic":"\x1B[23m",underline:"\x1B[4m","~underline":"\x1B[24m",blink:"\x1B[5m","~blink":"\x1B[25m",invert:"\x1B[7m","~invert":"\x1B[27m",hidden:"\x1B[8m","~hidden":"\x1B[28m",strikethrough:"\x1B[9m","~strikethrough":"\x1B[29m",normal:"\x1B[22m",bgblack:"\x1B[40m",bgred:"\x1B[41m",bggreen:"\x1B[42m",bgyellow:"\x1B[43m",bgblue:"\x1B[44m",bgmagenta:"\x1B[45m",bgcyan:"\x1B[46m",bgwhite:"\x1B[47m"})}),Convert:{decimalColorToRGB(Z){return{r:Z>>16&255,g:Z>>8&255,b:Z&255}},basicColorFromRgb(Z){let Y=Z.r>127,Q=Z.g>127,J=Z.b>127;switch(Y+Q+J){case 3:return"white";case 0:return"black";case 2:if(!Y)return"cyan";else if(!Q)return"magenta";else if(!J)return"yellow";case 1:if(Y)return"red";else if(Q)return"green";else if(J)return"blue"}},_8bitColorFromRgb(Z){let{r:Y,g:Q,b:J}=Z;if(Y===Q&&Q===J){if(Y<8)return 16;if(Y>248)return 231;return Math.round((Y-8)/247*24)+232}let q=Math.round(Y/255*5),X=Math.round(Q/255*5),z=Math.round(J/255*5);return 16+36*q+6*X+z}},ConsoleTime:class Z{static lookbackLimit=100;static elapsedStart(Y){if(U4.consoleTimeInstances==null){U4.consoleTimeInstances=new Map([[Y,[w.getProcessTime()]]]);return}if(!U4.consoleTimeInstances.has(Y)){U4.consoleTimeInstances.set(Y,[w.getProcessTime()]);return}let Q=U4.consoleTimeInstances.get(Y);if(Q.unshift(w.getProcessTime()),this.lookbackLimit>0&&Q.length>=this.lookbackLimit)Q.pop()}static elapsedEnd(Y){if(!U4.consoleTimeInstances.has(Y))return;let Q=U4.consoleTimeInstances.get(Y),J=Q[0];Q[0]=w.getProcessTime()-J}static condense(Y){let Q=U4.consoleTimeInstances.get(Y);if(!Q)return null;let J=0;for(let q of Q)J+=q;return J/=Q.length,U4.consoleTimeInstances.delete(Y),{print(){console.log(Y+": "+w.toShortNum(J)+"s")},valueOf:()=>J,toString:()=>Y+": "+w.toShortNum(J)+"s",value:J}}},compareDate(Z,Y,Q,J="day"){if(!Z||!Q)return!1;let q=U(Z),X=U(Q),z=q.next(),W=X.next();do if(z.value!==W.value)switch(Y){case">":return z.value>W.value;case"<":return z.value<W.value;case">=":return z.value>=W.value;case"<=":return z.value<=W.value;default:return!1}while(!(z=q.next()).done&&!(W=X.next()).done);return Y[1]==="=";function*U(K){if(yield K.getFullYear(),J==="year")return;if(yield K.getMonth(),J==="month")return;yield K.getDate()}},DataScienceKit:{frequencyOf(Z){if(!Z||typeof Z!="string"&&!w.isArrayLike(Z))return new Map;let Y=[...new Set(Z)],Q=new Map(Y.map((J)=>[J,0]));for(let J of Z)Y.forEach((q)=>{if(q==J)Q.set(q,Q.get(q)+1)});return Q},LCS_of(Z,Y,Q=(J,q)=>J===q){if(!(Z?.length&&Y?.length))return[];let J=[],q=Y.length,X=Z.length;while(J.length<X)J.push(Array(q));for(let K=0;K<J.length;K++)for(let B=0;B<J[K].length;B++){if(Q(Z[K],Y[B])){let D=U(K-1,B-1);J[K][B]=[D+1,3];continue}let $=U(K,B-1),V=U(K-1,B);if($>V)J[K][B]=[$,2];else J[K][B]=[V,1]}let z=[];return W(X-1,q-1),z;function W(K,B){if(K<0||B<0)return;switch(J[K][B][1]){case 1:W(K-1,B);break;case 2:W(K,B-1);break;case 3:z.unshift(Z[K]),W(K-1,B-1);break}}function U(K,B){if(K<0||B<0)return 0;else return J[K][B][0]}},LCSLength_of(Z,Y,Q=(J,q)=>J===q){if(!(Z?.length&&Y?.length))return 0;let J=[],q=Y.length,X=Z.length;while(J.length<X)J.push(Array(q));for(let W=0;W<J.length;W++)for(let U=0;U<J[W].length;U++){if(Q(Z[W],Y[U])){let $=z(W-1,U-1);J[W][U]=[$+1,3];continue}let K=z(W,U-1),B=z(W-1,U);if(K>B)J[W][U]=[K,2];else J[W][U]=[B,1]}return J[X-1][q-1][0];function z(W,U){if(W<0||U<0)return 0;else return J[W][U][0]}},TFIDF_of(Z){let Y=Z.length,Q=Array(Y),J=new Map;for(let X=0;X<Y;X++){let z=Z[X].length,W=w.DataScienceKit.frequencyOf(Z[X]);Q[X]=new Map;for(let U=0;U<z;U++){if(!Q[X].has(Z[X][U]))Q[X].set(Z[X][U],new sQ(W.get(Z[X][U])/z));if(!J.has(Z[X][U]))J.set(Z[X][U],0)}}let q=[...J.keys()];for(let X=0;X<q.length;X++)for(let z of Z)if(z.includes(q[X]))J.set(q[X],J.get(q[X])+1);for(let[X,z]of J)J.set(X,Math.log10(Y/z));for(let X of Q)for(let[z,W]of X)W.IDF=J.get(z),W.TF_IDF=W.IDF*W.TF;return Q},TFIDF_extends(Z,Y){let Q=Z.concat(Array(Y.length)),J=new Map,q=Q.length;for(let z=0;z<q;z++){let W,U,K=!1,B=z-Z.length;if(!Q[z])K=!0,W=Y[B].length,U=w.DataScienceKit.frequencyOf(Y[B]),Q[z]=new Map;else W=Q[z].size;for(let $=0;$<W;$++){if(K&&!Q[z].has(Y[B][$])){if(Q[z].set(Y[B][$],new sQ(U.get(Y[B][$])/W)),!J.has(Y[B][$]))J.set(Y[B][$],0);continue}let V=[...Q[z].keys()][$];if(!J.has(V))J.set(V,0)}}let X=[...J.keys()];for(let z=0;z<X.length;z++)for(let W of Q)if(W.has(X[z]))J.set(X[z],J.get(X[z])+1);for(let[z,W]of J)J.set(z,Math.log10(q/W));for(let z of Q)for(let[W,U]of z)U.IDF=J.get(W),U.TF_IDF=U.IDF*U.TF;return Q},wagnerFischer_of(Z,Y,Q=(J,q)=>J===q){let J=[],q,X;for(q=0;q<=Z.length;q++)J[q]=[q];for(X=0;X<=Y.length;X++)J[0][X]=X;for(q=1;q<=Z.length;q++)for(X=1;X<=Y.length;X++){if(Q(Z[q-1],Y[X-1])){J[q][X]=J[q-1][X-1];continue}J[q][X]=Math.min(J[q-1][X-1]+1,Math.min(J[q][X-1]+1,J[q-1][X]+1))}return{distance:J[Z.length][Y.length],getOperations(){let z=J.length-1,W=J[0].length-1,U=[],K=new w.SafeTrue;while((z>0||W>0)&&K.True)switch(B(z,W,J)){case 2:U.push({type:"delete",index:z-1,value:Z[z-1]}),z--;break;case 0:U.push({type:"insert",index:z,value:Y[W-1]}),W--;break;case 1:if(J[z][W]!==J[z-1][W-1])U.push({type:"replace",index:z-1,value:Y[W-1]});z--,W--;break}return U;function B($,V,D){let F=[D[$][V-1],D[$-1][V-1],D[$-1][V]];if(V<=0)return 2;if($<=0)return 0;if(F[0]==F[1])if(F[2]==F[1])return 1;else return 0;let O=F[0],j=0;for(let _=1;_<F.length;_++)if(F[_]<O)O=F[_],j=_;return j}}}}},deferredFunc(Z,Y=200,Q=!1){let J=null;return function(...q){let X=!1;if(Q&&!J)Z(...q),X=!0;clearTimeout(J),J=setTimeout(()=>{if(J=null,!X)Z(...q)},Y)}},digitAt(Z,Y){try{return parseInt((Y+"").at(Z))}catch{return 0}},digitAtRange(Z,Y,Q){if(!Q)return;Z=Z<0?void 0:Z??void 0,Y=Y<0?void 0:Y??void 0;let J=(Q+"").slice(Z,Y);return parseInt(J.length?J:"0")},getDimensions(Z,Y="max"){let Q=[],J=Y==="min"?Math.min:Math.max,q=Y==="min"?1/0:0,X=q,z=[],W=0;if(!w.isArrayLike(Z))return Q;if(Q.push(Z.length),Y==="symmetric")U(Z,0);else K(Z,0,!0);return Q;function U(B,$){if(!w.isArrayLike(B?.[Q[$]-1]))return;Q.push(B[Q[$]-1].length),U(B[Q[$]-1],$+1)}function K(B,$,V=!1,D=[]){for(let F=0;F<Q[$];F++){if(!w.isArrayLike(B[F]))continue;if(B[F].length!=X){if(Y==="fixed"&&X!==q)throw Error(`Array length mismatched at depth ${$+1} position (${[...D,F].join(",")}):
9
9
  expected length: ${X}
10
- actual length: ${B[V].length}`);X=J(X,B[V].length)}z.push([B[V],$+1,!1,[...O,V]])}if(F&&X!==q){Q.push(X),X=q;let V=[...z];z=[];for(let D=0;D<V.length;D++){if(D==V.length-1)V[D][2]=!0;if(++W>5000){queueMicrotask(()=>{W=0,K(...V[D])});continue}K(...V[D])}}}},Err:class Z extends Error{constructor(Y,Q=null,J=null,q=null){if(L.isError(Y)){if(!Q)Q=Y.name;if(!J)J=Y.code??Y.exitCode;if(!q)q=Y.stack;Y=Y.message}super(Y);if(Q)this.name=Q;if(J)this.code=J;if(q)this.stack=q}toString(Y={}){if(!this||!L.isError(this))return"[Error unknown]";return L.Err.toString(this,Y)}static from(Y,Q=null,J=null,q=null){return new L.Err(Y,Q,J,q)}static isError(Y){if(Y instanceof Error)return!0;if(Object.prototype.isPrototypeOf.call(Error.prototype,Y))return!0;return typeof Y?.message=="string"&&typeof Y?.stack=="string"}static toString(Y,Q={}){let{color:J=!1,defColor:q=void 0}=Q,X=(J?L.ncc("Red")+"ERROR"+L.ncc(q):"ERROR")+" Message: ";if(J)X+=L.ncc("Red")+(Y?.message??"[unknown]")+L.ncc(q);else X+=Y?.message??"[unknown]";if(Y?.name)if(X+=`
11
- Name: `,J)X+=L.ncc("Red")+Y.name+L.ncc(q);else X+=Y.name;if(Y?.code)if(X+=`
12
- Code: `,J)X+=L.ncc("Yellow")+Y.code+L.ncc(q);else X+=Y.code;if(Y?.stack)if(X+=`
13
- Stack: `,J)X+=L.ncc(5592405)+Y.stack+L.ncc(q);else X+=Y.stack;return X}},escapeRegExp(Z){return Z.replace(/[[\]{}.*$^|\-?+,:\\]/g,"\\$&")},estimateStrComplexity(Z){if(L.hasEmojiEst(Z))return 2;let Q=!1;for(let q of L.CONSTS.UNICODES_RANGE_TABLE){if(!q.type.endsWith("full"))continue;if(Q=q.regex.test(Z))break}if(Q)return 1;if(L.REGEXP.ANSICode.test(Z))return 0;return-1},ex_length(Z,Y=0){if(typeof Z!=="string")throw TypeError("argument must be a string");if(Y<0)return Z.length;Z=L.cleanString(Z);let Q=Z.length;if(Y<1)return Q;let J=Z;for(let K of L.CONSTS.UNICODES_RANGE_TABLE){if(!K.type.endsWith("full"))continue;J=J.replace(K.regex,"")}let q=Q+(Q-J.length);if(Y<2)return q;let X=Z.match(L.REGEXP.EmojiEach)??[],z=0,W=0,U=/^\p{Emoji_Presentation}$/u;for(let K of X){if(!(K.includes("️")||U.test(K)))continue;z+=K.length,W++}return W*2+(q-z)},fileNameCleaner(Z,Y="_"){if(!Z||typeof Z!="string")throw Error("the given `rawName` isn't a string");return Z.trim().replace(/[|/*\\<>"?:]/g,Y)},fixFilePath(Z,Y="_"){if(!Z||!Z?.length)throw"path is either falsy or empty!";return Z.replace(/[:?"<>|*]/g,Y)},fixYTurl(Z){if(Z=Z||void 0,!Z)throw"url can't be falsy!!";if(Z.includes("youtu.be"))Z=Z.replace("https://youtu.be/","https://www.youtube.com/watch?v=");if(Z.includes("&list="))Z=Z.split("&list=")[0];if(Z.includes("?si="))Z=Z.split("?si=")[0];if(Z.includes("https")==!1)Z="https://www."+Z;return Z},fileTypeOf(Z){let Y=Z.slice(Z.lastIndexOf(".")+1).toLowerCase(),Q=Y=="jpg"||Y=="png"||Y=="svg"||Y=="jfif"||Y=="pbm"||Y=="pgm"||Y=="jpeg",J=Y=="txt"||Y=="bat"||Y=="text"||Y=="md"||Y=="json"||Y=="step"||Y=="js"||Y=="cs"||Y=="cpp"||Y=="gitignore"||Y=="java"||Y=="py"||Y=="config"||Y=="cfg"||Y=="ts"||Y=="env",q=Y=="exe"||Y=="vpk"||Y=="qc"||Y=="smd"||Y=="vmt"||Y=="vtf"||Y=="zip"||Y=="7z"||Y=="bin"||Y=="ipynb"||Y=="pyc"||Y=="jar",X=Y=="aiff"||Y=="aif"||Y=="aifc"||Y=="flac"||Y=="mp3"||Y=="mp4"||Y=="mp4a"||Y=="m4a"||Y=="mkv"||Y=="mov"||Y=="wav"||Y=="gif"||Y=="webm";if(Q)return"image";else if(J)return"text";else if(q)return"binary";else if(X)return"media";return null},getMatchAllIndexes(Z){if(!Z)return[];let Y=[];for(let Q of Z)Y.push(Q.index);return Y},getMatchAllResults(Z){if(!Z)return[];let Y=[];for(let Q of Z)Y.push(new MX(Q[0],Q.index,Q.index+Q[0].length));return Y},getRandomInt(Z,Y){return Math.round(Math.random()*(Y-Z)+Z)},getProcessTime(){let Z=process.hrtime();return Z[0]*1000+Z[1]/1e6},hasEmojiEst(Z){for(let Y of Z){let Q=Y.codePointAt(0);if(Q<9728)continue;if(Q>=128512&&Q<=128591||Q>=127744&&Q<=128511||Q>=128640&&Q<=128767||Q>=129280&&Q<=129535||Q>=129648&&Q<=129791||Q>=9728&&Q<=10175||Q>=8960&&Q<=9215)return!0}return!1},hyperlink(Z,Y,Q=!0){if(Y=encodeURI(Y.replace(/\\/g,"/")),!L.CheckCache.supportsHyperlink){if(Q)return Y;return Z}return`\x1B]8;;${Y}\x07${Z}\x1B]8;;\x07`},IDGenerator(Z=null,Y="CCNNNN"){let Q=!1,J=Y.length,q=new L.SafeTrue;while(q.True){let X=Array(J);for(let z=0;z<J;z++)switch(Y[z]){case"C":{let W=L.getRandomInt(65,116);if(W>90)W+=6;X[z]=String.fromCharCode(W);continue}case"N":X[z]=L.getRandomInt(0,9).toString();continue;case"B":{let W=L.getRandomInt(48,109);if(W>57&&W<84)W+=7;else if(W>83)W+=13;X[z]=String.fromCharCode(W);continue}default:X[z]=Y[z];break}if(Z){if(Z instanceof Set)Q=Z.has(X);else Q=Z.includes(X);if(!Q)return X.join("")}else return X.join("")}return null},includesWord(Z,Y,Q=!1){if(!Q)Y=Y.toLowerCase(),Z=Z.toLowerCase();Y=Y.padStart(Y.length+1," ").padEnd(Y.length+2," ");let J=Y.search(Z);if(J!==-1){let q=Y.substring(J-1),X=Y.substring(J+Z.length);if(q.search(L.REGEXP.Seperators)==0&&X.search(L.REGEXP.Seperators)==0)return!0}return!1},IPC:class Z{static Listener=S4;#Y;#Q=new Map;#Z;#J=!1;#q=new Set;peersAddress="localhost";peersPort;listenPort;get protocol(){return this.#Z}constructor(Y="udp4",Q={}){if(!v4)throw Error("IPC is only available on JSRuntime, due to the use of Node modules");let{peersPort:J=null,peersAddress:q=null,listenPort:X=null}=typeof Q=="number"?{listenPort:Q}:Q;if(Y!="nodeworker"&&Y!="udp4"&&Y!="udp6")throw Error(`protocol must be 'nodeworker', 'udp4' or 'udp6' instead given '${Y}'`);if(this.#Z=Y,!L._modules.dgram&&Y!="nodeworker")throw Error(`module 'dgram' not loaded use 'Tools._modules.dgram = require("dgram")' to load it`);if(Y=="nodeworker"){if(!L._modules.worker_threads)throw Error(`module 'worker_threads' not loaded use 'Tools._modules.worker_threads = require("worker_threads")' to load it`);if(!X){if(L._modules.worker_threads.isMainThread)throw Error("when using `nodeworker` protocol, `port` must be provided if on the main thread");this.#Y=L._modules.worker_threads.parentPort,this.#X();return}if(!(X instanceof L._modules.worker_threads.Worker)&&X!==L._modules.worker_threads.parentPort&&X!=null)throw Error(`port must be a type of 'Worker' or a 'parentPort' instead given '${typeof X}'`);this.#Y=X,this.#X();return}if(!J)throw Error("peersPort must be provided for `udp4` or `udp6` protocol");this.listenPort=X,this.peersAddress=q,this.peersPort=J,this.#Y=L._modules.dgram.createSocket(Y),this.#X()}async#X(){if(this.#Y.on("message",this.#z),this.protocol=="nodeworker")return;if(!this.listenPort)return;try{this.#Y.bind(this.listenPort),this.#J=!0}catch(Y){switch(Y.code){case"ERR_SOCKET_BAD_PORT":throw new L.Err(`Tools.IPC: port ${this.listenPort} is not valid`,"IPC_ERR_SOCKET_BAD_PORT",Y.code,Y.stack);case"EADDRINUSE":throw new L.Err(`Tools.IPC: port ${this.listenPort} is already in use`,"IPC_EADDRINUSE",Y.code,Y.stack);default:throw L.Err.from(Y,"IPC_BIND_ERROR").message=`Tools.IPC: failed to bind port ${this.listenPort} `+Y.message}}}bind(Y,Q){if(this.protocol=="nodeworker")return;if(this.peersAddress=Y,this.listenPort=Q,!this.#J)this.#X();return this}close(){if(this.protocol=="nodeworker")return;this.#Y.close()}async advSend(Y,Q){return new Promise((J,q)=>{if(!Y)throw Error("channel must be provided");if(typeof Y!="string")throw Error(`channel must be a type of 'string' instead given '${typeof Y}'`);let{contents:X,UPID:z}=Q;if(!(X instanceof Array))X=[X];let W;try{W=this.protocol=="nodeworker"?{channel:Y,UPID:z,contents:X.map((U)=>{if(e_(U))return U;return"@JSON:"+JSON.stringify(U,L.JSONReplacer)})}:Buffer.from(JSON.stringify({channel:Y,UPID:z,contents:X},L.JSONReplacer))}catch(U){q(L.Err.from(U,"IPC_SERIALIZE_ERROR").message="Tools.IPC: failed to serialize payload,"+U.message);return}if(this.protocol=="nodeworker"){this.#Y.postMessage(W),J();return}this.#Y.send(W,this.peersPort,this.peersAddress,(U)=>{if(U)q(U);J()})})}async send(Y,...Q){return this.advSend(Y,{contents:Q})}on(Y,Q){let J=this.#Q.get(Y);if(!J){this.#Q.set(Y,[new S4(0,Q)]);return}return J.push(new S4(0,Q)),this}once(Y,Q,J=null){let q=this.#Q.get(Y);if(!q){this.#Q.set(Y,[new S4(1,Q,J)]);return}return q.push(new S4(1,Q,J)),this}remove(Y){if(typeof Y=="string")return this.#Q.delete(Y),!0;if(typeof Y!="function")throw Error(`listener must be a type of 'string' or 'function' instead given '${typeof Y}'`);for(let[Q,J]of this.#Q){let q=J.find((z)=>z.callback==Y);if(!q)continue;if(!J.filter((z)=>z.callback!=Y))return this.#Q.delete(Q),!0;return this.#Q.set(Q,J.filter((z)=>z.callback!=q)),!0}return!1}async ask(Y,Q,...J){return new Promise((q,X)=>{let z;if(Q)z=setTimeout(()=>{X(new L.Err(`Tools.IPC: ask timeout on channel: ${Y}`,"IPCAskTimeout"))},Q);let W=this.#H();this.once(Y,(U)=>{if(Q)clearTimeout(z);q(U)},W),this.advSend(Y,{contents:J,UPID:W})})}onAsk(Y,Q){let J=this,q=async function(...X){J.#q.add(this.UPID);let z=await Q(...X);J.advSend(Y,{contents:[z],UPID:this.UPID}),J.#q.delete(this.UPID)};return this.on(Y,q),this}#z=(Y)=>{let Q;try{Q=this.protocol=="nodeworker"?{channel:Y.channel,UPID:Y.UPID,contents:Y.contents.map((q)=>{if(typeof q=="string"&&q.startsWith("@JSON:"))return JSON.parse(q.slice(6),L.JSONReviver);return q})}:JSON.parse(Y.toString(),L.JSONReviver)}catch(q){throw L.Err.from(q,"IPC_DESERIALIZE_ERROR").message="Tools.IPC: failed to deserialize payload,"+q.message}let J=this.#Q.get(Q.channel);if(!J)return;for(let q of J){if(q.UPID){if(q.UPID!=Q.UPID)continue;this.#q.delete(q.UPID)}if(q.callback.call(Q,...Q.contents),q.type==1||q.UPID)this.remove(q.callback)}};#H(){let Y=L.IDGenerator(this.#q,"BBBBBBBB");return this.#q.add(Y),Y}},isArrayLike(Z){let Y=Z?.length;return Array.isArray(Z)||!!Z&&Y!=null&&typeof Z==="object"&&typeof Y==="number"&&(Y===0||Y>0&&(Y-1 in Z))},isArrowFunction(Z){if(typeof Z!=="function")return!1;if(Object.hasOwnProperty.call(Z,"prototype"))return!1;try{return Z.arguments,!1}catch{}return Z.toString().slice(0,20).includes("=>")},isAsyncFunction(Z){if(typeof Z!=="function")return!1;if(Z.constructor?.name==="AsyncFunction")return!0;return(Z instanceof L.CONSTS.AsyncFunction&&L.CONSTS.AsyncFunction!==Function&&L.CONSTS.AsyncFunction!==L.CONSTS.GeneratorFunction)===!0},isClass:(Z)=>{if(typeof Z!=="function")return!1;return Z.toString().startsWith("class")},isNumber:(Z)=>{return/^[0-9]+$|^[0-9]+\\.[0-9]+$/.test(Z)},isEmptyArray:(Z)=>L.isArrayLike(Z)&&!Z.length,isEmptyObject:(Z)=>!L.isArrayLike(Z)&&Z instanceof Object&&!L.propertiesCount(Z),isError(Z){return L.Err.isError(Z)},isValidFilePath(Z){if(!Z||!Z?.length)return!1;if(/[:?"<>|*]/g.test(Z))return!1;return!0},JSONReplacer(Z,Y){if(Y instanceof Map)return{"@dataType":"Map","@value":Array.from(Y.entries())};if(Y instanceof Set)return{"@dataType":"Set","@value":Array.from(Y.values())};switch(typeof Y){case"function":return{"@dataType":"function","@value":Y.toString().replace(/\n* {2,}|\n/g,"")};case"bigint":return{"@dataType":"BigInt","@value":Y.toString()};case"object":for(let Q in Y)if(Y[Q]instanceof Date)Y[Q]={"@dataType":"Date","@value":Y[Q].valueOf()};return Y}return Y},JSONReviver(Z,Y){if(!Y||!Y["@dataType"])return Y;switch(Y["@dataType"]){case"function":return Function("return "+Y["@value"])();case"BigInt":return BigInt(Y["@value"]);case"Map":return new Map(Y["@value"]);case"Set":return new Set(Y["@value"]);case"Date":return new Date(Y["@value"])}return Y},jsTime:{howLong(Z,Y=new Date){let Q=Y.getTime()-Z.getTime();return L.jsTime.getTimeFromMS(Q).modern()},getTimeFromMS(Z){Z=Math.abs(Z);let Y=Z>262800200,Q={year:0,month:0,days:0,hr:0,min:0,sec:0,ms:0},J=[["year",31556926000],["month",2629743830],["days",86400000],["hr",3600000],["min",60000],["sec",1000],["ms",1]];for(let q=0;q<J.length;q++){if(Z<J[q][1])continue;let X=J[q-1]?Z%J[q-1][1]:Z;Q[J[q][0]]=Math.floor(X/J[q][1])}if(Y)return{...Q,toString(){return`${Q.year}:${Q.month}:${Q.days}|${Q.hr}:${Q.min}:${Q.sec}.${Math.round(Q.ms).toString().padStart(3,"0")}`},modern(){if(Q.year+Q.month+Q.days+Q.sec+Q.min+Q.hr==0)return`${L.maxFraction(Q.ms,4)}ms`;else if(Q.year+Q.month+Q.days+Q.min+Q.hr==0)return`${Q.sec}.${Math.round(Q.ms).toString().padStart(3,"0")}s`;else if(Q.year+Q.month+Q.days+Q.hr==0)return`${Q.min}min ${Q.sec}s`;else if(Q.year+Q.month+Q.days==0)return`${Q.hr}hr ${Q.min}min`;else if(Q.year+Q.month==0)return`${Q.days}days ${Q.hr}hr`;else if(Q.year==0)return`${Q.month}months ${Q.days}days`;else return`${Q.year}years ${Q.month}months`}};return{...Q,toString(){return`${Q.hr}:${Q.min}:${Q.sec}.${Math.round(Q.ms).toString().padStart(3,"0")}`},modern(){if(Q.sec+Q.min+Q.hr==0)return`${L.maxFraction(Q.ms,4)}ms`;else if(Q.min+Q.hr==0)return`${Q.sec}.${Math.round(Q.ms).toString().padStart(3,"0")}s`;else if(Q.hr==0)return`${Q.min}min ${Q.sec}s`;else return`${Q.hr}hr ${Q.min}min`}}}},lazySplit:function*(Z,Y){if(Y===""){for(let q of Z)yield q;return}let Q=0,J;while((J=Z.indexOf(Y,Q))!==-1)yield Z.substring(Q,J),Q=J+Y.length;yield Q?Z.substring(Q):Z},remap(Z,Y){if(Z instanceof Map){let J=new Map;for(let[q,X]of Z){let z=Y(q,X,J);if(z===void 0)continue;if(z===null)J.set(q,X);if(z.key===void 0)J.set(q,z);if(J.set(z.key,z.value),z.key!==q&&J.has(q))J.delete(q)}return J}let Q={};for(let J in Z){let q=Y(J,Z[J],Q);if(q===void 0)continue;if(q===null){Q[J]=Z[J];continue}if(q.key===void 0){Q[J]=q;continue}if(Q[q.key]=q.value,q.key!==J&&Q[J]!==void 0)delete Q[J]}return Q},MathKit:{clamp(Z,Y,Q){return Math.min(Math.max(Z,Y),Q)},degrees(Z){return Z*180/Math.PI},distanceFrom(Z,Y){let Q=Y.x-Z.x,J=Y.y-Z.y,q=Y.z-Z.z;return Math.sqrt(Q**2+(isNaN(J)?0:J**2)+(isNaN(q)?0:q**2))},dopri(Z,Y,Q,J,q=0.000001,X=1000,z){let W=[Z],U=[Q],K=[J(Z,Q)],B,$,F,O,V,D,_=[],N=0.2,w=[0.075,0.225],G=[0.9777777777777777,-3.7333333333333334,3.5555555555555554],I=[2.9525986892242035,-11.595793324188385,9.822892851699436,-0.2908093278463649],A=[2.8462752525252526,-10.757575757575758,8.906422717743473,0.2784090909090909,-0.2735313036020583],x=[0.09114583333333333,0,0.44923629829290207,0.6510416666666666,-0.322376179245283,0.13095238095238096],T=[0.10013431883002395,0,0.3918321794184259,-0.02982460176594817,0.05893268337240795,-0.04497888809104361,0.023904308236133973],S=[0.2,0.3,0.8,0.8888888888888888,1,1],y=[-0.0012326388888888888,0,0.0042527702905061394,-0.03697916666666667,0.05086379716981132,-0.0419047619047619,0.025],g=0,P,c,v=(Y-Z)/10,J0=0,h,s,m,n,a,r=new _X(W,U,K,_,-1,"");if(typeof z==="function")m=z(Z,Q);while(Z<Y&&J0<X){if(++J0,Z+v>Y)v=Y-Z;if(B=J(Z+S[0]*v,Q+N*v*K[g]),$=J(Z+S[1]*v,Q+w[0]*v*K[g]+w[1]*v*B),F=J(Z+S[2]*v,Q+G[0]*v*K[g]+G[1]*v*B+G[2]*v*$),O=J(Z+S[3]*v,Q+I[0]*v*K[g]+I[1]*v*B+I[2]*v*$+I[3]*v*F),V=J(Z+S[4]*v,Q+A[0]*v*K[g]+A[1]*v*B+A[2]*v*$+A[3]*v*F+A[4]*v*O),h=Q+K[g]*v*x[0]+$*v*x[2]+F*v*x[3]+O*v*x[4]+V*v*x[5],D=J(Z+v,h),P=K[g]*v*y[0]+$*v*y[2]+F*v*y[3]+O*v*y[4]+V*v*y[5]+D*v*y[6],s=Math.abs(P),s>q){if(v=0.2*v*Math.pow(q/s,0.25),Z+v===Z){r.msg="Step size became too small";break}continue}if(_[g]=Q+K[g]*v*T[0]+$*v*T[2]+F*v*T[3]+O*v*T[4]+V*v*T[5]+D*v*T[6],++g,W[g]=Z+v,U[g]=h,K[g]=D,typeof z==="function"){let V0,_0=Z,Y0=Z+0.5*v,N0;if(n=z(Y0,_[g-1]),a=m<0&&0<n,a){let u0,k0,C0=0,P0=1,i0=1;while(!0){if(typeof m==="number")N0=(i0*n*_0-P0*m*Y0)/(i0*n-P0*m);else{N0=Y0;for(c=m.length-1;c!==-1;--c)if(m[c]<0&&n[c]>0)N0=Math.min(N0,(i0*n[c]*_0-P0*m[c]*Y0)/(i0*n[c]-P0*m[c]))}if(N0<=_0||N0>=Y0)break;if(V0=r._at(N0,g-1),k0=z(N0,V0),u0=m<0&&0<k0,u0){if(Y0=N0,n=k0,a=u0,i0=1,C0===-1)P0*=0.5;else P0=1;C0=-1}else{if(_0=N0,m=k0,P0=1,C0===1)i0*=0.5;else i0=1;C0=1}}return h=r._at(0.5*(Z+N0),g-1),r.f[g]=J(N0,V0),r.x[g]=N0,r.y[g]=V0,r.ymid[g-1]=h,r.events=a,r.iterations=J0,r}_0=Y0,Y0=Z+v,m=n,n=z(Y0,h),a=m<0&&0<n}Z+=v,Q=h,m=n,v=Math.min(0.8*v*Math.pow(q/s,0.25),4*v)}return r.iterations=J0,r},integral(Z,Y,Q){if(Q>Y)throw Error("lower bound must be less than upper bound");if(Q==Y)return 0;if(!L._modules.mathjs)throw Error(`module 'mathjs' not loaded use 'Tools._modules.mathjs = require("mathjs")' to load it`);let J;if(typeof Z=="string")J=L._modules.mathjs.compile(Z);else J=Z;if(typeof Q=="string")Q=L._modules.mathjs.evaluate(Q);if(typeof Y=="string")Y=L._modules.mathjs.evaluate(Y);let q=(X)=>J.evaluate({x:X});return L.MathKit.dopri(Q,Y,0,q).at(Y)},lerp(Z,Y,Q){return Z+(Y-Z)*Q},Lsh_us(Z,Y){return Z*2**Y},not_us16(Z){return Z^65535},not_us32(Z){return Z^4294967295},not_us8(Z){return Z^255},map(Z,Y,Q,J,q){return Z=L.MathKit.clamp(Z,Y,Q),(Z-Y)/(Q-Y)*(q-J)+J},Point:jX,radians(Z){return Z*Math.PI/180},Rsh_us(Z,Y){return Math.floor(Z/2**Y)},sum:(...Z)=>{return Z.flat(5).reduce((Y,Q)=>Y+Q,0)},toPolarCoords(Z,Y,Q="r"){if(!Q||Q!="d"&&Q!="r")throw Error("unit must be 'r' or 'd', given: "+Q);let J=Math.atan(Y/Z);if(Y<0&&Z<0)J+=360;else if(Z<0)J+=180;return{r:Math.sqrt(Z**2+Y**2),t:Q=="d"?J:L.MathKit.radians(J)}},toCartesianCoords(Z,Y,Q=null,J="r"){if(!J||J!="d"&&J!="r")throw Error("unit must be 'r' or 'd', given: "+J);if(Q!==null&&typeof Q!="number")throw Error("polar must be a number");if(J=="d"){if(Y=L.MathKit.radians(Y),Q!==null)Q=L.MathKit.radians(Q)}if(Q===null)return{x:Z*Math.cos(Y),y:Z*Math.sin(Y)};else return{x:Z*Math.sin(Q)*Math.cos(Y),y:Z*Math.sin(Q)*Math.sin(Y),z:Z*Math.cos(Q)}}},maxFraction(Z,Y,Q=!1){let J=Z.toString();if(!J.includes("."))return J;let q=10**Y;return Z=(Q?Math.floor(Z*q):Math.round(Z*q))/q,Z.toString()},ncc(Z=null,Y=null,Q=null){if(L.CheckCache.supportsColor===0)return"";if(Z==null)return"\x1B[0m";if(typeof Z=="number"){let J=L.Convert.decimalColorToRGB(Z);switch(Q?1:L.CheckCache.supportsColor){default:return"";case 1:Z=(Y=="bg"?"bg":"")+L.Convert.basicColorFromRgb(J);case 2:{let X=L.Convert._8bitColorFromRgb(J);return`\x1B[${Y=="bg"?"4":"3"}8;5;${X}m`}case 3:return`\x1B[${Y=="bg"?"4":"3"}8;2;${J.r};${J.g};${J.b}m`}}else Z=Z.toLowerCase();return L.CONSTS.AnsiColorCodes[Z]||"\x1B[37m"},nearestNumber(Z,Y){let Q=1/0,J=null;for(let q=0,X=Z[q];q<Z.length;){let z=Math.abs(Y-X);if(!z)return q;if(z<Q)Q=z,J=q;X=Z[++q]}return J},objectMap(Z,Y){return L.remap(Z,Y)},objValueAt(Z,Y){return Z[Object.keys(Z).at(Y)]},objToString(Z,Y={}){let{maxDepth:Q=4,indent:J=3,maxKeys:q=20,color:X=!1,defColor:z=void 0,noHeader:W=!1}=Y;if(Q<1)Q=1;let U={color:X,defColor:z},K=typeof J=="number"?" ".repeat(J):J,B=null;if(X)B={cyan:L.ncc(4764610),magenta:L.ncc(11550650),gray:L.ncc(4802889),yellow:L.ncc(12754962),_default:L.ncc(z)};if(Z==null||typeof Z!=="object")return L.yuString(Z,U);if(L.isArrayLike(Z))return L.arrToString(Z,{color:X,defColor:z,maxDepth:Q,indent:J});if(Z instanceof Map||Z instanceof Set||Z instanceof Promise||Z instanceof Date||Z instanceof RegExp)return L.yuString(Z,U);if(L.isError(Z))return L.Err.toString(Z,{color:X,defColor:z});let $=Z.constructor?.name||"Object",F=$!=="Object",V=Object.keys(Z).length,D="";if(!W&&(F||V>5))if(X)D=B.magenta+`${$}(${V}) `+B._default;else D=`${$}(${V}) `;return D+_(Z,0);function _(N,w,G=0){if(w>Q-1)if(X)return B.gray+"... {Object}"+B._default;else return"... {Object}";if(N==null)return L.yuString(N,U);if(typeof N!=="object"||N instanceof Date||N instanceof RegExp)return L.yuString(N,U);if(L.isArrayLike(N))return L.arrToString(N,{color:X,defColor:z,maxDepth:Q-w,indent:J,noHeader:!0});if(N instanceof Map||N instanceof Set)return L.yuString(N,U);let I=Object.keys(N),A=I.length;if(A===0)return"{}";let x=A>3||w>0,T=G?K.repeat(G):"",S=T+K,y=x?`{
14
- `+S:"{ ",g=Math.min(I.length,q-1);for(let P=0;P<g;P++){let c=I[P],v=N[c];if(X)y+=B.cyan+c+B._default+": ";else y+=c+": ";if(v&&typeof v==="object"&&!L.isArrayLike(v)&&!(v instanceof Date)&&!(v instanceof RegExp)&&!(v instanceof Map)&&!(v instanceof Set)&&!(v instanceof Promise)){let J0=v.constructor?.name||"Object";if(J0!=="Object"&&X)y+=B.magenta+J0+" "+B._default;else if(J0!=="Object")y+=J0+" ";y+=_(v,w+1,x?G+1:G)}else y+=L.yuString(v,U);if(P<g-1)y+=x?`,
15
- `+S:", "}if(I.length>q-1){let P=I.length-g;if(X)y+=x?`,
16
- `+S:", ",y+=B.gray+`... (${P} more)`+B._default;else y+=x?`,
17
- `+S:", ",y+=`... (${P} more)`}return y+=x?`
18
- `+T+"}":" }",y}},propertiesCount(Z){return Object.keys(Z).length},padEnd(Z,Y,Q=" ",J=0){let q=L.ex_length(Z,J);if(q>=Y)return Z;return Z+Q.repeat(Y-q)},padStart(Z,Y,Q=" ",J=0){let q=L.ex_length(Z,J);if(q>=Y)return Z;return Q.repeat(Y-q)+Z},parseArgs(Z,Y,Q=!1){let J={_unmatched:[]},q=new Set;for(let z in Y)if(Y[z]?.required)q.add(z);for(let z=0;z<Z.length;z++){let W=!1;for(let U in Y){if(!Y[U]?.pattern)throw Error("invalid template: Object structure missmatched. every entries requires `pattern` property");if(!X(Z[z],Y[U].pattern))continue;if(q.delete(U),Y[U]?.isFlag||Y[U]?.type=="flag"){W=!0,J[U]=new U8(!0,"flag",z);continue}let K=!1;if(z+1<Z.length){for(let B in Y)if(X(Z[z+1],Y[B].pattern))K=!0}if(z+1>=Z.length||K)throw Error(`argument '${Z[z]}' requires a Value`);switch(Y[U]?.type){case"int":if(isNaN((J[U]=new U8(parseInt(Z[++z]),Y[U]?.type,z)).value))throw Error(`argument '${Z[z-1]}' requires a Value of type '${Y[U]?.type}'`);break;case"float":if(isNaN((J[U]=new U8(parseFloat(Z[++z]),Y[U]?.type,z)).value))throw Error(`argument '${Z[z-1]}' requires a Value of type '${Y[U]?.type}'`);break;case"choice":if(!Y[U]?.choices?.length)throw Error("invalid template: Object structure missmatched. entry of type 'choice' requires `choices` property");if(!X(Z[++z],Y[U].choices)&&Y[U]?.default==null)throw Error(`invalid value for '${Z[z-1]}' argument, requires any of these Choices: ${Y[U].choices}`);J[U]=new U8(Z[z],Y[U]?.type,z);break;case"string":case void 0:J[U]=new U8(Z[++z],Y[U]?.type,z);break;default:throw Error(`invalid template: entry of type '${Y[U]?.type}' is not supported`)}W=!0}if(!W)J._unmatched.push(new U8(Z[z],void 0,z))}if(q.size>0)throw Error(`argument(s) '${[...q]}' is required.`);for(let z in Y){if(Y[z]?.isFlag||Y[z]?.type=="flag"){if(!J[z])J[z]=new U8(!1,"flag");continue}if(!J[z])J[z]=new U8(Y[z]?.default?Y[z]?.default:null,Y[z]?.type)}return J;function X(z,W){for(let U of W){if(!Q){if(z.toLowerCase()==U.toLowerCase())return!0;continue}if(z==U)return!0}return!1}},parseBool(Z,Y=!1){if(typeof Z=="boolean")return Z;Z=Z.toLowerCase();let Q=Z=="true"?!0:!1;if(!Y)return Q;if(!(Z=="true"||Z=="false"))return null;return Q},parseConfig(Z,Y=null,Q={}){let{ignoreGroups:J=!1,multiValues:q=!1}=Q,X=L.cleanArr(Z.trim().split(`
19
- `),["","\r"]),z={},W=null,U="",K,B=0,$=!1;for(let O=0;O<X.length;O++){let V=X[O].trim();if(/^[#;]/.test(V))continue;if(V.startsWith("[")){if(J)continue;{let I=!1;for(let A=1;A<V.length;A++)if(V[A]=="]"&&V[A-1]!="\\"){if(W=V.slice(1,A),!z[W])z[W]={};I=!0;break}if(!I)throw Error(`Tools.parseConfig(): invalid syntax, missing ']' at the end of the group. at \`${V}\``);else continue}}if($){if(U+=X[O],!F(O,X))continue;if($=!1,W)z[W][K]=JSON.parse(U,Y);else z[K]=JSON.parse(U,Y);continue}let D=L.cleanArr(V.split("="));if(D.length>2)throw Error(`Tools.parseConfig(): invalid syntax, '=' cannot occur more than one time. at \`${V}\``);else if(D.length==1&&!$)if(V.includes("="))throw Error(`Tools.parseConfig(): invalid syntax, expected expresion after '='. at \`${V}\``);else throw Error(`Tools.parseConfig(): expected expresion. at \`${V}\``);else if(!D.length)throw Error(`Tools.parseConfig(): unknown operator. \`${V}\``);D=[D[0].trim(),D[1].trim()];let _=L.getMatchAllIndexes(D[1].matchAll(/["']/g)).filter((I,A,x)=>{if(D[1][I-1]=="\\"){D[1]=D[1].slice(0,I-1)+D[1].slice(I);for(let T=A+1;T<x.length;T++)x[T]--;return!1}return!0}),N=D[1].search("#"),w=_[0],G=!1;if(w!=null&&(N==-1||w<N)){let I=_[1]==null?-1:_[1],A=D[1].slice(I+2).trim();if(A&&!/^[#;]/.test(A))throw Error(`Tools.parseConfig(): invalid syntax, unexpected charactor(s).
20
- at \`${V}\`
21
- `+"".padStart(I+10+D[0].length," ")+"^");if(I==-1)throw Error(`Tools.parseConfig(): invalid syntax, missing closing quote.
22
- at \`${V}\`
23
- `+" ".padStart(w+7+D[0].length," ")+"^");G=!0,D[1]=D[1].slice(w+1,I)}else if(N!=-1){if(D[1]=D[1].slice(0,D[1].indexOf("#")).trim(),!D[1])throw Error(`Tools.parseConfig(): invalid syntax, expected expresion after '='. at \`${V}\``)}if(/^[0-9]/.test(D[0]))throw Error(`Tools.parseConfig(): Key cannot starts with Numbers. at \`${V}\``);{let I=D[0].replace(/[a-z$_0-9.]/gi,"");if(I.length!==0)throw Error(`Tools.parseConfig(): these character(s) "${I}" can not be Parse. at \`${V}\``)}if(/^[[{]/.test(D[1])){if(B=0,[K,U]=D,F(1,D)){if(W)z[W][K]=JSON.parse(U,Y);else z[K]=JSON.parse(U,Y);continue}$=!0;continue}{let I=W?z[W]:z;if(q&&Object.hasOwnProperty.call(I,D[0])){if(I[D[0]].$multiValues===void 0)I[D[0]]=[I[D[0]]],I[D[0]].$multiValues=!0;I[D[0]].push(G?D[1]:L.parseValue(D[1]))}else I[D[0]]=G?D[1]:L.parseValue(D[1])}}return z;function F(O,V){if(B+=[...V[O].matchAll(L.REGEXP.OpenSCBrackets)].filter((D)=>D[1]).length,B-=[...V[O].matchAll(L.REGEXP.CloseSCBrackets)].filter((D)=>D[1]).length,B<=0)return!0;return!1}},parseValue(Z){if(typeof Z!="string")return Z;switch(Z.toLowerCase()){case"true":return!0;case"false":return!1;case"null":return null;case"":case"undefined":return;default:if(!isNaN(Z))return Number(Z);return Z}},pass(Z,Y=null){if(Y)Y(Z);else console?.log(Z);return Z},Progress:class Z{stdout=process.stdout;progress=0;spd=0;lastCheck=null;printInterval;updateInterval;total;#Y=0;#Q=!0;#Z;constructor(Y,Q=null,J=500,q=100){if(!Y)throw Error("printTemplate is required");this.total=Q,this.printInterval=J,this.updateInterval=q,this.setPrintTemplate(Y),this.lastCheck=Date.now()}update(Y=1){if(!this.#Z)return;this.#Y+=Y,this.progress+=Y;let Q=Date.now()-this.lastCheck;if(Q>this.updateInterval&&this.#Y>4)this.spd=this.#Y*this.updateInterval/Q,this.#Y=0,this.lastCheck=Date.now();if(this.lastPrint+this.printInterval>Date.now())return;if(this.lastPrint=Date.now(),!this.#Q)this.stdout.clearLine(),this.stdout.cursorTo(0);else this.#Q=!1;if(!this.total){this.#Z();return}this.#Z()}done(){if(this.progress!=this.total){if(!this.#Q)this.stdout.clearLine(),this.stdout.cursorTo(0);this.progress=this.total,this.#Z()}this.stdout.write(`
24
- `),this.reset()}reset(){this.progress=0,this.#Y=0,this.spd=0,this.lastCheck=Date.now(),this.#Q=!0}setPrintTemplate(Y){Y=Y.replace(/%total%/g,"${this.total}"),Y=Y.replace(/%spd%/g,"${this.spd.toFixed(1)}"),Y=Y.replace(/%prog%/g,"${this.progress}"),this.#Z=Function("this.stdout.write(`"+Y+"`);").bind(this)}},proximate(Z,Y,Q){if(Z<Y+Q&&Z>Y-Q)return Y;else return Z},randomPick(Z){if(Z.length<=1)return Z[0];return Z[Math.floor(Math.random()*Z.length)]},redexOf(Z,Y,Q=0){let J=typeof this!=="string";if(!Z&&J)return-1;if(!J)Z=this;if(!Z.length)return-1;if(!(Y instanceof RegExp))if(Q>=0)return Z.indexOf(Y,Q);else return Z.lastIndexOf(Y,Z.length+Q);let q,X;if(Q>=0){q=-1;do{X=Z.substring(++q);let z=X.search(Y);if(z==-1)return-1;q=z+q}while(q<Q)}else{q=-1;do{X=Z.substring(++q);let z=X.search(Y);if(z==-1)return q-1;q=z+q}while(q<Z.length+Q)}return q},REGEXP:Object.freeze({Seperators:/[-\s_・⧸/\\;:()[\]、,.'""!^**=+「【】」()]/g,SoftWrapSeperators:/\x1b(?:\[[0-9;]*m|\]8;;[^\x07\x1b]*(?:\x07|\x1b\\))|([\s,.;:()[\]})])/g,HardWrapSeperators:/\x1b(?:\[[0-9;]*m|\]8;;[^\x07\x1b]*(?:\x07|\x1b\\))|([-_・⧸/\\、'""!^**=+「【】」()])/g,ValidEmail:/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/,ANSICode:/\x1b(\[[0-9;]*m|\]8;;[^\x07\x1b]*(?:\x07|\x1b\\))/g,EmojiDetection:new RegExp(pQ),EmojiEach:new RegExp(pQ,"g"),EmojiEachGroup:new RegExp("(?:"+pQ+")+","g"),IniGroups:/^[\t ]*\[(.+)\][\t ]*$/gm,JSComments:/\\"|"(?:\\"|[^"])*"|(\/\/.*|\/\*[\s\S]*?\*\/)/g,OpenSCBrackets:/\\"|"(?:\\"|[^"])*"|([[{])/g,CloseSCBrackets:/\\"|"(?:\\"|[^"])*"|([\]}])/g}),resolveNodeEnv(Z,Y=/%(\w+)%/g){return Z.replace(Y,(Q,J)=>{let q=J;if(process.env[q]==null)return Q;return process.env[q]})},SafeTrue:class Z{#Y=0;limit=0;noWarning=!1;constructor(Y=10000000000,Q=!1){this.limit=Y,this.noWarning=Q}get True(){if(this.#Y++>=this.limit){if(!this.noWarning)process?.emitWarning("SafeTrue limit reached");return!1}return!0}},search(Z,Y,Q={}){let J=L.REGEXP.Seperators,q=Q.maxResult,X=Q.TF_IDFMaps instanceof Array?[...Q.TF_IDFMaps]:Q.TF_IDFMaps;if(!q)if(typeof Q=="number")q=Q;else q=1/0;if(Y=Y.trim().toLowerCase(),Y=="")return null;let z=[...Z];if(z.forEach((K,B,$)=>$[B]=K.trim().toLowerCase()),X==="builtin")X=L.DataScienceKit.TFIDF_of(z.concat(Y).map((K)=>L.cleanArr(K.split(J))));class W{constructor(K,B,$=-1,F=null){this.score=B,this.string=K,this.matchIndex=$,this.scores=F}}let U=[];for(let K=0;K<z.length;K++){let B=z[K].replace(J,"");if(z[K]==Y||B==Y)U.unshift(new W(Z[K],Y.length<<2,K));let $,F,O,V;$=F=O=V=0;for(let _ of L.cleanArr(Y.split(J))){let N=0;if(L.includesWord(_,z[K],!1))if(X&&X[K]?.has(_))N=_.length*X[K].get(_).TF_IDF*2.9,$+=N;else N=_.length,F+=N;else if(z[K].includes(_))N=_.length*0.3,O+=N;let w=L.DataScienceKit.LCSLength_of(_,z[K])*0.4;V+=w}let D=$+F+O+V;U.push(new W(null,D,K,{tfidf_s:$,word_s:F,includes_s:O,lcs_s:V,TF_IDFMap:X?.[K]}))}U.sort((K,B)=>B.score-K.score);for(let K=0;K<q;K++){if(!U[K])break;if(U[K].string!=null)continue;U[K].string=Z[U[K].matchIndex]}return U.slice(0,q)},sleep(Z){if(!Z||Z<0)return;let Y=Date.now();while(Date.now()-Y<Z);},SpawnMirror:class Z{static STDIO_MIRROR=["inherit","pipe","pipe"];static createMirror(Y){Y?.stdout?.pipe(process.stdout),Y?.stderr?.pipe(process.stderr)}},strClamp(Z,Y,Q="mid",J=0){let q=L.ex_length(Z,J);if(q<=Y)return Z.padEnd(Y," ");let X=q-(q-Y)-3;switch(Q){default:if(v4)process?.emitWarning(`'${Q}' is not a valid location type.`);else throw Error(`'${Q}' is not a valid location type.`);case"mid":{let z=X>>1;return L.strSlice(Z,0,z,J)+"..."+L.strSlice(Z,q-z,void 0,J)}case"end":return L.strSlice(Z,0,X,J)+"...";case"start":return"..."+L.strSlice(Z,X,void 0,J)}},stringifyConfig(Z,Y={}){let{ignoreList:Q=[],minify:J=!1,replacer:q,mode:X="merge",useIniGroup:z=!1,alwaysWrapStrInQuotes:W=!1,oldConfigStr:U=""}=Y,K=new L.SafeTrue(1e5),B=X=="merge"?U:"";for(let V in Z){if(Q.includes(V))continue;if(!z){$(V,Z);continue}if(V===""||typeof Z[V]!=="object"){$(V,Z,"");continue}for(let D in Z[V]){if(Q.includes(D))continue;$(D,Z[V],V)}}return B;function $(V,D,_,N=!1){let w="";if(D[V]!=null&&typeof D[V]==="object")if(D[V].$multiValues){for(let P of D[V])$(V,{[V]:P},_,!0);return}else w=`${JSON.stringify(D[V],q,J?null:3)}
25
- `;else if(typeof D[V]=="string")if(W||/\s|[{[}\]]/.test(D[V]))w=`"${D[V]}"`;else w=`${D[V]}`;else w=`${D[V]}`;let G=N?-1:L.redexOf(B,new RegExp(`^[ \\t]*\\b${V}\\s*=`,"m")),I;if(_==="")I=-3;else I=z?B.indexOf(`[${_}]`):null;let A=I===-1;if(A)I=B.length+2,B+=`
26
-
27
- [${_}]
28
- `;if(G==-1){let P=J?`${V}=${w}
29
- `:`${V} = ${w}
30
- `;if(z)if(A)B+=P+`
31
- `;else{let c=L.redexOf(B,new RegExp(`^\\s*
32
- $`,"m"),I);B=L.strSplice(B,c,0,P)}else B+=P;return}let x=null,T=null;if(z)x=L.redexOf(B.slice(0,G),L.REGEXP.IniGroups,-1),T=x==I?_:B.slice(x+1,B.slice(x,G).indexOf("]")+x);let S=B.indexOf("=",G)+1,y=L.getMatchAllIndexes(B.slice(S).matchAll(/(?<!\\)[#\n;]/g))?.[0]??-1;if(y==-1)y=B.length;else y+=S;let g=B[y]===`
10
+ actual length: ${B[F].length}`);X=J(X,B[F].length)}z.push([B[F],$+1,!1,[...D,F]])}if(V&&X!==q){Q.push(X),X=q;let F=[...z];z=[];for(let O=0;O<F.length;O++){if(O==F.length-1)F[O][2]=!0;if(++W>5000){queueMicrotask(()=>{W=0,K(...F[O])});continue}K(...F[O])}}}},Err:class Z extends Error{constructor(Y,Q=null,J=null,q=null){if(w.isError(Y)){if(!Q)Q=Y.name;if(!J)J=Y.code??Y.exitCode;if(!q)q=Y.stack;Y=Y.message}super(Y);if(Q)this.name=Q;if(J)this.code=J;if(q)this.stack=q}toString(Y={}){if(!this||!w.isError(this))return"[Error unknown]";return w.Err.toString(this,Y)}static from(Y,Q=null,J=null,q=null){return new w.Err(Y,Q,J,q)}static isError(Y){if(Y instanceof Error)return!0;if(Object.prototype.isPrototypeOf.call(Error.prototype,Y))return!0;return typeof Y?.message=="string"&&typeof Y?.stack=="string"}static toString(Y,Q={}){let{color:J=!1,defColor:q=void 0}=Q,X=(J?w.ncc("Red")+"ERROR"+w.ncc(q):"ERROR")+" Message: ";if(J)X+=w.ncc("Red")+(Y?.message??"[unknown]")+w.ncc(q);else X+=Y?.message??"[unknown]";if(Y?.name)if(X+=`
11
+ Name: `,J)X+=w.ncc("Red")+Y.name+w.ncc(q);else X+=Y.name;if(Y?.code)if(X+=`
12
+ Code: `,J)X+=w.ncc("Yellow")+Y.code+w.ncc(q);else X+=Y.code;if(Y?.stack)if(X+=`
13
+ Stack: `,J)X+=w.ncc(5592405)+Y.stack+w.ncc(q);else X+=Y.stack;return X}},escapeRegExp(Z){return Z.replace(/[[\]{}.*$^|\-?+,:\\]/g,"\\$&")},estimateStrComplexity(Z){if(w.hasEmojiEst(Z))return 2;let Q=!1;for(let q of w.CONSTS.UNICODES_RANGE_TABLE){if(!q.type.endsWith("full"))continue;if(Q=q.regex.test(Z))break}if(Q)return 1;if(w.REGEXP.ANSICode.test(Z))return 0;return-1},ex_length(Z,Y=0){if(typeof Z!=="string")throw TypeError("argument must be a string");if(Y<0)return Z.length;Z=w.cleanString(Z);let Q=Z.length;if(Y<1)return Q;let J=Z;for(let K of w.CONSTS.UNICODES_RANGE_TABLE){if(!K.type.endsWith("full"))continue;J=J.replace(K.regex,"")}let q=Q+(Q-J.length);if(Y<2)return q;let X=Z.match(w.REGEXP.EmojiEach)??[],z=0,W=0,U=/^\p{Emoji_Presentation}$/u;for(let K of X){if(!(K.includes("️")||U.test(K)))continue;z+=K.length,W++}return W*2+(q-z)},fileNameCleaner(Z,Y="_"){if(!Z||typeof Z!="string")throw Error("the given `rawName` isn't a string");return Z.trim().replace(/[|/*\\<>"?:]/g,Y)},fixFilePath(Z,Y="_"){if(!Z||!Z?.length)throw"path is either falsy or empty!";return Z.replace(/[:?"<>|*]/g,Y)},fixYTurl(Z){if(Z=Z||void 0,!Z)throw"url can't be falsy!!";if(Z.includes("youtu.be"))Z=Z.replace("https://youtu.be/","https://www.youtube.com/watch?v=");if(Z.includes("&list="))Z=Z.split("&list=")[0];if(Z.includes("?si="))Z=Z.split("?si=")[0];if(Z.includes("https")==!1)Z="https://www."+Z;return Z},fileTypeOf(Z){let Y=Z.slice(Z.lastIndexOf(".")+1).toLowerCase(),Q=Y=="jpg"||Y=="png"||Y=="svg"||Y=="jfif"||Y=="pbm"||Y=="pgm"||Y=="jpeg",J=Y=="txt"||Y=="bat"||Y=="text"||Y=="md"||Y=="json"||Y=="step"||Y=="js"||Y=="cs"||Y=="cpp"||Y=="gitignore"||Y=="java"||Y=="py"||Y=="config"||Y=="cfg"||Y=="ts"||Y=="env",q=Y=="exe"||Y=="vpk"||Y=="qc"||Y=="smd"||Y=="vmt"||Y=="vtf"||Y=="zip"||Y=="7z"||Y=="bin"||Y=="ipynb"||Y=="pyc"||Y=="jar",X=Y=="aiff"||Y=="aif"||Y=="aifc"||Y=="flac"||Y=="mp3"||Y=="mp4"||Y=="mp4a"||Y=="m4a"||Y=="mkv"||Y=="mov"||Y=="wav"||Y=="gif"||Y=="webm";if(Q)return"image";else if(J)return"text";else if(q)return"binary";else if(X)return"media";return null},getMatchAllIndexes(Z){if(!Z)return[];let Y=[];for(let Q of Z)Y.push(Q.index);return Y},getMatchAllResults(Z){if(!Z)return[];let Y=[];for(let Q of Z)Y.push(new TX(Q[0],Q.index,Q.index+Q[0].length));return Y},getRandomInt(Z,Y){return Math.round(Math.random()*(Y-Z)+Z)},getProcessTime(){let Z=process.hrtime();return Z[0]*1000+Z[1]/1e6},hasEmojiEst(Z){for(let Y of Z){let Q=Y.codePointAt(0);if(Q<9728)continue;if(Q>=128512&&Q<=128591||Q>=127744&&Q<=128511||Q>=128640&&Q<=128767||Q>=129280&&Q<=129535||Q>=129648&&Q<=129791||Q>=9728&&Q<=10175||Q>=8960&&Q<=9215)return!0}return!1},hyperlink(Z,Y,Q=!0){if(Y=encodeURI(Y.replace(/\\/g,"/")),!w.CheckCache.supportsHyperlink){if(Q)return Y;return Z}return`\x1B]8;;${Y}\x07${Z}\x1B]8;;\x07`},IDGenerator(Z=null,Y="CCNNNN"){let Q=!1,J=Y.length,q=new w.SafeTrue;while(q.True){let X=Array(J);for(let z=0;z<J;z++)switch(Y[z]){case"C":{let W=w.getRandomInt(65,116);if(W>90)W+=6;X[z]=String.fromCharCode(W);continue}case"N":X[z]=w.getRandomInt(0,9).toString();continue;case"B":{let W=w.getRandomInt(48,109);if(W>57&&W<84)W+=7;else if(W>83)W+=13;X[z]=String.fromCharCode(W);continue}default:X[z]=Y[z];break}if(Z){if(Z instanceof Set)Q=Z.has(X);else Q=Z.includes(X);if(!Q)return X.join("")}else return X.join("")}return null},includesWord(Z,Y,Q=!1){if(!Q)Y=Y.toLowerCase(),Z=Z.toLowerCase();Y=Y.padStart(Y.length+1," ").padEnd(Y.length+2," ");let J=Y.search(Z);if(J!==-1){let q=Y.substring(J-1),X=Y.substring(J+Z.length);if(q.search(w.REGEXP.Seperators)==0&&X.search(w.REGEXP.Seperators)==0)return!0}return!1},IPC:class Z{static Listener=h8;_socket;_listeners=new Map;_proto;_isBound=!1;_UPIDsSet=new Set;peersAddress="localhost";peersPort;listenPort;get protocol(){return this._proto}constructor(Y="udp4",Q={}){if(!f8)throw Error("IPC is only available on JSRuntime, due to the use of Node modules");let{peersPort:J=null,peersAddress:q=null,listenPort:X=null}=typeof Q=="number"?{listenPort:Q}:Q;if(Y!="nodeworker"&&Y!="udp4"&&Y!="udp6")throw Error(`protocol must be 'nodeworker', 'udp4' or 'udp6' instead given '${Y}'`);if(this._proto=Y,!w._modules.dgram&&Y!="nodeworker")throw Error(`module 'dgram' not loaded use 'Tools._modules.dgram = require("dgram")' to load it`);if(Y=="nodeworker"){if(!w._modules.worker_threads)throw Error(`module 'worker_threads' not loaded use 'Tools._modules.worker_threads = require("worker_threads")' to load it`);if(!X){if(w._modules.worker_threads.isMainThread)throw Error("when using `nodeworker` protocol, `port` must be provided if on the main thread");this._socket=w._modules.worker_threads.parentPort,this._init();return}if(!(X instanceof w._modules.worker_threads.Worker)&&X!==w._modules.worker_threads.parentPort&&X!=null)throw Error(`port must be a type of 'Worker' or a 'parentPort' instead given '${typeof X}'`);this._socket=X,this._init();return}if(!J)throw Error("peersPort must be provided for `udp4` or `udp6` protocol");this.listenPort=X,this.peersAddress=q,this.peersPort=J,this._socket=w._modules.dgram.createSocket(Y),this._init()}async _init(){if(this._socket.on("message",this._handleIncomePackage),this.protocol=="nodeworker")return;if(!this.listenPort)return;try{this._socket.bind(this.listenPort),this._isBound=!0}catch(Y){switch(Y.code){case"ERR_SOCKET_BAD_PORT":throw new w.Err(`Tools.IPC: port ${this.listenPort} is not valid`,"IPC_ERR_SOCKET_BAD_PORT",Y.code,Y.stack);case"EADDRINUSE":throw new w.Err(`Tools.IPC: port ${this.listenPort} is already in use`,"IPC_EADDRINUSE",Y.code,Y.stack);default:throw w.Err.from(Y,"IPC_BIND_ERROR").message=`Tools.IPC: failed to bind port ${this.listenPort} `+Y.message}}}bind(Y,Q){if(this.protocol=="nodeworker")return;if(this.peersAddress=Y,this.listenPort=Q,!this._isBound)this._init();return this}close(){if(this.protocol=="nodeworker")return;this._socket.close()}async advSend(Y,Q){return new Promise((J,q)=>{if(!Y)throw Error("channel must be provided");if(typeof Y!="string")throw Error(`channel must be a type of 'string' instead given '${typeof Y}'`);let{contents:X,UPID:z}=Q;if(!(X instanceof Array))X=[X];let W;try{W=this.protocol=="nodeworker"?{channel:Y,UPID:z,contents:X.map((U)=>{if(MN(U))return U;return"@JSON:"+JSON.stringify(U,w.JSONReplacer)})}:Buffer.from(JSON.stringify({channel:Y,UPID:z,contents:X},w.JSONReplacer))}catch(U){q(w.Err.from(U,"IPC_SERIALIZE_ERROR").message="Tools.IPC: failed to serialize payload,"+U.message);return}if(this.protocol=="nodeworker"){this._socket.postMessage(W),J();return}this._socket.send(W,this.peersPort,this.peersAddress,(U)=>{if(U)q(U);J()})})}async send(Y,...Q){return this.advSend(Y,{contents:Q})}on(Y,Q){let J=this._listeners.get(Y);if(!J){this._listeners.set(Y,[new h8(0,Q)]);return}return J.push(new h8(0,Q)),this}once(Y,Q,J=null){let q=this._listeners.get(Y);if(!q){this._listeners.set(Y,[new h8(1,Q,J)]);return}return q.push(new h8(1,Q,J)),this}remove(Y){if(typeof Y=="string")return this._listeners.delete(Y),!0;if(typeof Y!="function")throw Error(`listener must be a type of 'string' or 'function' instead given '${typeof Y}'`);for(let[Q,J]of this._listeners){let q=J.find((z)=>z.callback==Y);if(!q)continue;if(!J.filter((z)=>z.callback!=Y))return this._listeners.delete(Q),!0;return this._listeners.set(Q,J.filter((z)=>z.callback!=q)),!0}return!1}async ask(Y,Q,...J){return new Promise((q,X)=>{let z;if(Q)z=setTimeout(()=>{X(new w.Err(`Tools.IPC: ask timeout on channel: ${Y}`,"IPCAskTimeout"))},Q);let W=this._createUPID();this.once(Y,(U)=>{if(Q)clearTimeout(z);q(U)},W),this.advSend(Y,{contents:J,UPID:W})})}onAsk(Y,Q){let J=this,q=async function(...X){J._UPIDsSet.add(this.UPID);let z=await Q(...X);J.advSend(Y,{contents:[z],UPID:this.UPID}),J._UPIDsSet.delete(this.UPID)};return this.on(Y,q),this}_handleIncomePackage=(Y)=>{let Q;try{Q=this.protocol=="nodeworker"?{channel:Y.channel,UPID:Y.UPID,contents:Y.contents.map((q)=>{if(typeof q=="string"&&q.startsWith("@JSON:"))return JSON.parse(q.slice(6),w.JSONReviver);return q})}:JSON.parse(Y.toString(),w.JSONReviver)}catch(q){throw w.Err.from(q,"IPC_DESERIALIZE_ERROR").message="Tools.IPC: failed to deserialize payload,"+q.message}let J=this._listeners.get(Q.channel);if(!J)return;for(let q of J){if(q.UPID){if(q.UPID!=Q.UPID)continue;this._UPIDsSet.delete(q.UPID)}if(q.callback.call(Q,...Q.contents),q.type==1||q.UPID)this.remove(q.callback)}};_createUPID(){let Y=w.IDGenerator(this._UPIDsSet,"BBBBBBBB");return this._UPIDsSet.add(Y),Y}},isArrayLike(Z){let Y=Z?.length;return Array.isArray(Z)||!!Z&&Y!=null&&typeof Z==="object"&&typeof Y==="number"&&(Y===0||Y>0&&(Y-1 in Z))},isArrowFunction(Z){if(typeof Z!=="function")return!1;if(Object.hasOwnProperty.call(Z,"prototype"))return!1;try{return Z.arguments,!1}catch{}return Z.toString().slice(0,20).includes("=>")},isAsyncFunction(Z){if(typeof Z!=="function")return!1;if(Z.constructor?.name==="AsyncFunction")return!0;return(Z instanceof w.CONSTS.AsyncFunction&&w.CONSTS.AsyncFunction!==Function&&w.CONSTS.AsyncFunction!==w.CONSTS.GeneratorFunction)===!0},isClass:(Z)=>{if(typeof Z!=="function")return!1;return Z.toString().startsWith("class")},isNumber:(Z)=>{return/^[0-9]+$|^[0-9]+\\.[0-9]+$/.test(Z)},isEmptyArray:(Z)=>w.isArrayLike(Z)&&!Z.length,isEmptyObject:(Z)=>!w.isArrayLike(Z)&&Z instanceof Object&&!w.propertiesCount(Z),isError(Z){return w.Err.isError(Z)},isValidFilePath(Z){if(!Z||!Z?.length)return!1;if(/[:?"<>|*]/g.test(Z))return!1;return!0},JSONReplacer(Z,Y){if(Y instanceof Map)return{"@dataType":"Map","@value":Array.from(Y.entries())};if(Y instanceof Set)return{"@dataType":"Set","@value":Array.from(Y.values())};switch(typeof Y){case"function":return{"@dataType":"function","@value":Y.toString().replace(/\n* {2,}|\n/g,"")};case"bigint":return{"@dataType":"BigInt","@value":Y.toString()};case"object":for(let Q in Y)if(Y[Q]instanceof Date)Y[Q]={"@dataType":"Date","@value":Y[Q].valueOf()};return Y}return Y},JSONReviver(Z,Y){if(!Y||!Y["@dataType"])return Y;switch(Y["@dataType"]){case"function":return Function("return "+Y["@value"])();case"BigInt":return BigInt(Y["@value"]);case"Map":return new Map(Y["@value"]);case"Set":return new Set(Y["@value"]);case"Date":return new Date(Y["@value"])}return Y},jsTime:{howLong(Z,Y=new Date){let Q=Y.getTime()-Z.getTime();return w.jsTime.getTimeFromMS(Q).modern()},getTimeFromMS(Z){Z=Math.abs(Z);let Y=Z>262800200,Q={year:0,month:0,days:0,hr:0,min:0,sec:0,ms:0},J=[["year",31556926000],["month",2629743830],["days",86400000],["hr",3600000],["min",60000],["sec",1000],["ms",1]];for(let q=0;q<J.length;q++){if(Z<J[q][1])continue;let X=J[q-1]?Z%J[q-1][1]:Z;Q[J[q][0]]=Math.floor(X/J[q][1])}if(Y)return{...Q,toString(){return`${Q.year}:${Q.month}:${Q.days}|${Q.hr}:${Q.min}:${Q.sec}.${Math.round(Q.ms).toString().padStart(3,"0")}`},modern(){if(Q.year+Q.month+Q.days+Q.sec+Q.min+Q.hr==0)return`${w.maxFraction(Q.ms,4)}ms`;else if(Q.year+Q.month+Q.days+Q.min+Q.hr==0)return`${Q.sec}.${Math.round(Q.ms).toString().padStart(3,"0")}s`;else if(Q.year+Q.month+Q.days+Q.hr==0)return`${Q.min}min ${Q.sec}s`;else if(Q.year+Q.month+Q.days==0)return`${Q.hr}hr ${Q.min}min`;else if(Q.year+Q.month==0)return`${Q.days}days ${Q.hr}hr`;else if(Q.year==0)return`${Q.month}months ${Q.days}days`;else return`${Q.year}years ${Q.month}months`}};return{...Q,toString(){return`${Q.hr}:${Q.min}:${Q.sec}.${Math.round(Q.ms).toString().padStart(3,"0")}`},modern(){if(Q.sec+Q.min+Q.hr==0)return`${w.maxFraction(Q.ms,4)}ms`;else if(Q.min+Q.hr==0)return`${Q.sec}.${Math.round(Q.ms).toString().padStart(3,"0")}s`;else if(Q.hr==0)return`${Q.min}min ${Q.sec}s`;else return`${Q.hr}hr ${Q.min}min`}}}},lazySplit:function*(Z,Y){if(Y===""){for(let q of Z)yield q;return}let Q=0,J;while((J=Z.indexOf(Y,Q))!==-1)yield Z.substring(Q,J),Q=J+Y.length;yield Q?Z.substring(Q):Z},remap(Z,Y){if(Z instanceof Map){let J=new Map;for(let[q,X]of Z){let z=Y(q,X,J);if(z===void 0)continue;if(z===null)J.set(q,X);if(z.key===void 0)J.set(q,z);if(J.set(z.key,z.value),z.key!==q&&J.has(q))J.delete(q)}return J}let Q={};for(let J in Z){let q=Y(J,Z[J],Q);if(q===void 0)continue;if(q===null){Q[J]=Z[J];continue}if(q.key===void 0){Q[J]=q;continue}if(Q[q.key]=q.value,q.key!==J&&Q[J]!==void 0)delete Q[J]}return Q},MathKit:{clamp(Z,Y,Q){return Math.min(Math.max(Z,Y),Q)},degrees(Z){return Z*180/Math.PI},distanceFrom(Z,Y){let Q=Y.x-Z.x,J=Y.y-Z.y,q=Y.z-Z.z;return Math.sqrt(Q**2+(isNaN(J)?0:J**2)+(isNaN(q)?0:q**2))},dopri(Z,Y,Q,J,q=0.000001,X=1000,z){let W=[Z],U=[Q],K=[J(Z,Q)],B,$,V,D,F,O,j=[],_=0.2,L=[0.075,0.225],A=[0.9777777777777777,-3.7333333333333334,3.5555555555555554],I=[2.9525986892242035,-11.595793324188385,9.822892851699436,-0.2908093278463649],G=[2.8462752525252526,-10.757575757575758,8.906422717743473,0.2784090909090909,-0.2735313036020583],P=[0.09114583333333333,0,0.44923629829290207,0.6510416666666666,-0.322376179245283,0.13095238095238096],T=[0.10013431883002395,0,0.3918321794184259,-0.02982460176594817,0.05893268337240795,-0.04497888809104361,0.023904308236133973],S=[0.2,0.3,0.8,0.8888888888888888,1,1],y=[-0.0012326388888888888,0,0.0042527702905061394,-0.03697916666666667,0.05086379716981132,-0.0419047619047619,0.025],g=0,x,c,v=(Y-Z)/10,J0=0,h,s,m,n,a,r=new EX(W,U,K,j,-1,"");if(typeof z==="function")m=z(Z,Q);while(Z<Y&&J0<X){if(++J0,Z+v>Y)v=Y-Z;if(B=J(Z+S[0]*v,Q+_*v*K[g]),$=J(Z+S[1]*v,Q+L[0]*v*K[g]+L[1]*v*B),V=J(Z+S[2]*v,Q+A[0]*v*K[g]+A[1]*v*B+A[2]*v*$),D=J(Z+S[3]*v,Q+I[0]*v*K[g]+I[1]*v*B+I[2]*v*$+I[3]*v*V),F=J(Z+S[4]*v,Q+G[0]*v*K[g]+G[1]*v*B+G[2]*v*$+G[3]*v*V+G[4]*v*D),h=Q+K[g]*v*P[0]+$*v*P[2]+V*v*P[3]+D*v*P[4]+F*v*P[5],O=J(Z+v,h),x=K[g]*v*y[0]+$*v*y[2]+V*v*y[3]+D*v*y[4]+F*v*y[5]+O*v*y[6],s=Math.abs(x),s>q){if(v=0.2*v*Math.pow(q/s,0.25),Z+v===Z){r.msg="Step size became too small";break}continue}if(j[g]=Q+K[g]*v*T[0]+$*v*T[2]+V*v*T[3]+D*v*T[4]+F*v*T[5]+O*v*T[6],++g,W[g]=Z+v,U[g]=h,K[g]=O,typeof z==="function"){let V0,_0=Z,Y0=Z+0.5*v,N0;if(n=z(Y0,j[g-1]),a=m<0&&0<n,a){let u0,k0,C0=0,x0=1,a0=1;while(!0){if(typeof m==="number")N0=(a0*n*_0-x0*m*Y0)/(a0*n-x0*m);else{N0=Y0;for(c=m.length-1;c!==-1;--c)if(m[c]<0&&n[c]>0)N0=Math.min(N0,(a0*n[c]*_0-x0*m[c]*Y0)/(a0*n[c]-x0*m[c]))}if(N0<=_0||N0>=Y0)break;if(V0=r._at(N0,g-1),k0=z(N0,V0),u0=m<0&&0<k0,u0){if(Y0=N0,n=k0,a=u0,a0=1,C0===-1)x0*=0.5;else x0=1;C0=-1}else{if(_0=N0,m=k0,x0=1,C0===1)a0*=0.5;else a0=1;C0=1}}return h=r._at(0.5*(Z+N0),g-1),r.f[g]=J(N0,V0),r.x[g]=N0,r.y[g]=V0,r.ymid[g-1]=h,r.events=a,r.iterations=J0,r}_0=Y0,Y0=Z+v,m=n,n=z(Y0,h),a=m<0&&0<n}Z+=v,Q=h,m=n,v=Math.min(0.8*v*Math.pow(q/s,0.25),4*v)}return r.iterations=J0,r},integral(Z,Y,Q){if(Q>Y)throw Error("lower bound must be less than upper bound");if(Q==Y)return 0;if(!w._modules.mathjs)throw Error(`module 'mathjs' not loaded use 'Tools._modules.mathjs = require("mathjs")' to load it`);let J;if(typeof Z=="string")J=w._modules.mathjs.compile(Z);else J=Z;if(typeof Q=="string")Q=w._modules.mathjs.evaluate(Q);if(typeof Y=="string")Y=w._modules.mathjs.evaluate(Y);let q=(X)=>J.evaluate({x:X});return w.MathKit.dopri(Q,Y,0,q).at(Y)},lerp(Z,Y,Q){return Z+(Y-Z)*Q},Lsh_us(Z,Y){return Z*2**Y},not_us16(Z){return Z^65535},not_us32(Z){return Z^4294967295},not_us8(Z){return Z^255},map(Z,Y,Q,J,q){return Z=w.MathKit.clamp(Z,Y,Q),(Z-Y)/(Q-Y)*(q-J)+J},Point:kX,radians(Z){return Z*Math.PI/180},Rsh_us(Z,Y){return Math.floor(Z/2**Y)},sum:(...Z)=>{return Z.flat(5).reduce((Y,Q)=>Y+Q,0)},toPolarCoords(Z,Y,Q="r"){if(!Q||Q!="d"&&Q!="r")throw Error("unit must be 'r' or 'd', given: "+Q);let J=Math.atan(Y/Z);if(Y<0&&Z<0)J+=360;else if(Z<0)J+=180;return{r:Math.sqrt(Z**2+Y**2),t:Q=="d"?J:w.MathKit.radians(J)}},toCartesianCoords(Z,Y,Q=null,J="r"){if(!J||J!="d"&&J!="r")throw Error("unit must be 'r' or 'd', given: "+J);if(Q!==null&&typeof Q!="number")throw Error("polar must be a number");if(J=="d"){if(Y=w.MathKit.radians(Y),Q!==null)Q=w.MathKit.radians(Q)}if(Q===null)return{x:Z*Math.cos(Y),y:Z*Math.sin(Y)};else return{x:Z*Math.sin(Q)*Math.cos(Y),y:Z*Math.sin(Q)*Math.sin(Y),z:Z*Math.cos(Q)}}},maxFraction(Z,Y,Q=!1){let J=Z.toString();if(!J.includes("."))return J;let q=10**Y;return Z=(Q?Math.floor(Z*q):Math.round(Z*q))/q,Z.toString()},ncc(Z=null,Y=null,Q=null){if(w.CheckCache.supportsColor===0)return"";if(Z==null)return"\x1B[0m";if(typeof Z=="number"){let J=w.Convert.decimalColorToRGB(Z);switch(Q?1:w.CheckCache.supportsColor){default:return"";case 1:Z=(Y=="bg"?"bg":"")+w.Convert.basicColorFromRgb(J);case 2:{let X=w.Convert._8bitColorFromRgb(J);return`\x1B[${Y=="bg"?"4":"3"}8;5;${X}m`}case 3:return`\x1B[${Y=="bg"?"4":"3"}8;2;${J.r};${J.g};${J.b}m`}}else Z=Z.toLowerCase();return w.CONSTS.AnsiColorCodes[Z]||"\x1B[37m"},nearestNumber(Z,Y){let Q=1/0,J=null;for(let q=0,X=Z[q];q<Z.length;){let z=Math.abs(Y-X);if(!z)return q;if(z<Q)Q=z,J=q;X=Z[++q]}return J},objectMap(Z,Y){return w.remap(Z,Y)},objValueAt(Z,Y){return Z[Object.keys(Z).at(Y)]},objToString(Z,Y={}){let{maxDepth:Q=4,indent:J=3,maxKeys:q=20,color:X=!1,defColor:z=void 0,noHeader:W=!1}=Y;if(Q<1)Q=1;let U={color:X,defColor:z},K=typeof J=="number"?" ".repeat(J):J,B=null;if(X)B={cyan:w.ncc(4764610),magenta:w.ncc(11550650),gray:w.ncc(4802889),yellow:w.ncc(12754962),_default:w.ncc(z)};if(Z==null||typeof Z!=="object")return w.yuString(Z,U);if(w.isArrayLike(Z))return w.arrToString(Z,{color:X,defColor:z,maxDepth:Q,indent:J});if(Z instanceof Map||Z instanceof Set||Z instanceof Promise||Z instanceof Date||Z instanceof RegExp)return w.yuString(Z,U);if(w.isError(Z))return w.Err.toString(Z,{color:X,defColor:z});let $=Z.constructor?.name||"Object",V=$!=="Object",F=Object.keys(Z).length,O="";if(!W&&(V||F>5))if(X)O=B.magenta+`${$}(${F}) `+B._default;else O=`${$}(${F}) `;return O+j(Z,0);function j(_,L,A=0){if(L>Q-1)if(X)return B.gray+"... {Object}"+B._default;else return"... {Object}";if(_==null)return w.yuString(_,U);if(typeof _!=="object"||_ instanceof Date||_ instanceof RegExp)return w.yuString(_,U);if(w.isArrayLike(_))return w.arrToString(_,{color:X,defColor:z,maxDepth:Q-L,indent:J,noHeader:!0});if(_ instanceof Map||_ instanceof Set)return w.yuString(_,U);let I=Object.keys(_),G=I.length;if(G===0)return"{}";let P=G>3||L>0,T=A?K.repeat(A):"",S=T+K,y=P?`{
14
+ `+S:"{ ",g=Math.min(I.length,q-1);for(let x=0;x<g;x++){let c=I[x],v=_[c];if(X)y+=B.cyan+c+B._default+": ";else y+=c+": ";if(v&&typeof v==="object"&&!w.isArrayLike(v)&&!(v instanceof Date)&&!(v instanceof RegExp)&&!(v instanceof Map)&&!(v instanceof Set)&&!(v instanceof Promise)){let J0=v.constructor?.name||"Object";if(J0!=="Object"&&X)y+=B.magenta+J0+" "+B._default;else if(J0!=="Object")y+=J0+" ";y+=j(v,L+1,P?A+1:A)}else y+=w.yuString(v,U);if(x<g-1)y+=P?`,
15
+ `+S:", "}if(I.length>q-1){let x=I.length-g;if(X)y+=P?`,
16
+ `+S:", ",y+=B.gray+`... (${x} more)`+B._default;else y+=P?`,
17
+ `+S:", ",y+=`... (${x} more)`}return y+=P?`
18
+ `+T+"}":" }",y}},propertiesCount(Z){return Object.keys(Z).length},padEnd(Z,Y,Q=" ",J=0){let q=w.ex_length(Z,J);if(q>=Y)return Z;return Z+Q.repeat(Y-q)},padStart(Z,Y,Q=" ",J=0){let q=w.ex_length(Z,J);if(q>=Y)return Z;return Q.repeat(Y-q)+Z},parseArgs(Z,Y,Q=!1){let J={_unmatched:[]},q=new Set;for(let z in Y)if(Y[z]?.required)q.add(z);for(let z=0;z<Z.length;z++){let W=!1;for(let U in Y){if(!Y[U]?.pattern)throw Error("invalid template: Object structure missmatched. every entries requires `pattern` property");if(!X(Z[z],Y[U].pattern))continue;if(q.delete(U),Y[U]?.isFlag||Y[U]?.type=="flag"){W=!0,J[U]=new K4(!0,"flag",z);continue}let K=!1;if(z+1<Z.length){for(let B in Y)if(X(Z[z+1],Y[B].pattern))K=!0}if(z+1>=Z.length||K)throw Error(`argument '${Z[z]}' requires a Value`);switch(Y[U]?.type){case"int":if(isNaN((J[U]=new K4(parseInt(Z[++z]),Y[U]?.type,z)).value))throw Error(`argument '${Z[z-1]}' requires a Value of type '${Y[U]?.type}'`);break;case"float":if(isNaN((J[U]=new K4(parseFloat(Z[++z]),Y[U]?.type,z)).value))throw Error(`argument '${Z[z-1]}' requires a Value of type '${Y[U]?.type}'`);break;case"choice":if(!Y[U]?.choices?.length)throw Error("invalid template: Object structure missmatched. entry of type 'choice' requires `choices` property");if(!X(Z[++z],Y[U].choices)&&Y[U]?.default==null)throw Error(`invalid value for '${Z[z-1]}' argument, requires any of these Choices: ${Y[U].choices}`);J[U]=new K4(Z[z],Y[U]?.type,z);break;case"string":case void 0:J[U]=new K4(Z[++z],Y[U]?.type,z);break;default:throw Error(`invalid template: entry of type '${Y[U]?.type}' is not supported`)}W=!0}if(!W)J._unmatched.push(new K4(Z[z],void 0,z))}if(q.size>0)throw Error(`argument(s) '${[...q]}' is required.`);for(let z in Y){if(Y[z]?.isFlag||Y[z]?.type=="flag"){if(!J[z])J[z]=new K4(!1,"flag");continue}if(!J[z])J[z]=new K4(Y[z]?.default?Y[z]?.default:null,Y[z]?.type)}return J;function X(z,W){for(let U of W){if(!Q){if(z.toLowerCase()==U.toLowerCase())return!0;continue}if(z==U)return!0}return!1}},parseBool(Z,Y=!1){if(typeof Z=="boolean")return Z;Z=Z.toLowerCase();let Q=Z=="true"?!0:!1;if(!Y)return Q;if(!(Z=="true"||Z=="false"))return null;return Q},parseConfig(Z,Y=null,Q={}){let{ignoreGroups:J=!1,multiValues:q=!1}=Q,X=w.cleanArr(Z.trim().split(`
19
+ `),["","\r"]),z={},W=null,U="",K,B=0,$=!1;for(let D=0;D<X.length;D++){let F=X[D].trim();if(/^[#;]/.test(F))continue;if(F.startsWith("[")){if(J)continue;{let I=!1;for(let G=1;G<F.length;G++)if(F[G]=="]"&&F[G-1]!="\\"){if(W=F.slice(1,G),!z[W])z[W]={};I=!0;break}if(!I)throw Error(`Tools.parseConfig(): invalid syntax, missing ']' at the end of the group. at \`${F}\``);else continue}}if($){if(U+=X[D],!V(D,X))continue;if($=!1,W)z[W][K]=JSON.parse(U,Y);else z[K]=JSON.parse(U,Y);continue}let O=w.cleanArr(F.split("="));if(O.length>2)throw Error(`Tools.parseConfig(): invalid syntax, '=' cannot occur more than one time. at \`${F}\``);else if(O.length==1&&!$)if(F.includes("="))throw Error(`Tools.parseConfig(): invalid syntax, expected expresion after '='. at \`${F}\``);else throw Error(`Tools.parseConfig(): expected expresion. at \`${F}\``);else if(!O.length)throw Error(`Tools.parseConfig(): unknown operator. \`${F}\``);O=[O[0].trim(),O[1].trim()];let j=w.getMatchAllIndexes(O[1].matchAll(/["']/g)).filter((I,G,P)=>{if(O[1][I-1]=="\\"){O[1]=O[1].slice(0,I-1)+O[1].slice(I);for(let T=G+1;T<P.length;T++)P[T]--;return!1}return!0}),_=O[1].search("#"),L=j[0],A=!1;if(L!=null&&(_==-1||L<_)){let I=j[1]==null?-1:j[1],G=O[1].slice(I+2).trim();if(G&&!/^[#;]/.test(G))throw Error(`Tools.parseConfig(): invalid syntax, unexpected charactor(s).
20
+ at \`${F}\`
21
+ `+"".padStart(I+10+O[0].length," ")+"^");if(I==-1)throw Error(`Tools.parseConfig(): invalid syntax, missing closing quote.
22
+ at \`${F}\`
23
+ `+" ".padStart(L+7+O[0].length," ")+"^");A=!0,O[1]=O[1].slice(L+1,I)}else if(_!=-1){if(O[1]=O[1].slice(0,O[1].indexOf("#")).trim(),!O[1])throw Error(`Tools.parseConfig(): invalid syntax, expected expresion after '='. at \`${F}\``)}if(/^[0-9]/.test(O[0]))throw Error(`Tools.parseConfig(): Key cannot starts with Numbers. at \`${F}\``);{let I=O[0].replace(/[a-z$_0-9.]/gi,"");if(I.length!==0)throw Error(`Tools.parseConfig(): these character(s) "${I}" can not be Parse. at \`${F}\``)}if(/^[[{]/.test(O[1])){if(B=0,[K,U]=O,V(1,O)){if(W)z[W][K]=JSON.parse(U,Y);else z[K]=JSON.parse(U,Y);continue}$=!0;continue}{let I=W?z[W]:z;if(q&&Object.hasOwnProperty.call(I,O[0])){if(I[O[0]].$multiValues===void 0)I[O[0]]=[I[O[0]]],I[O[0]].$multiValues=!0;I[O[0]].push(A?O[1]:w.parseValue(O[1]))}else I[O[0]]=A?O[1]:w.parseValue(O[1])}}return z;function V(D,F){if(B+=[...F[D].matchAll(w.REGEXP.OpenSCBrackets)].filter((O)=>O[1]).length,B-=[...F[D].matchAll(w.REGEXP.CloseSCBrackets)].filter((O)=>O[1]).length,B<=0)return!0;return!1}},parseValue(Z){if(typeof Z!="string")return Z;switch(Z.toLowerCase()){case"true":return!0;case"false":return!1;case"null":return null;case"":case"undefined":return;default:if(!isNaN(Z))return Number(Z);return Z}},pass(Z,Y=null){if(Y)Y(Z);else console?.log(Z);return Z},Progress:class Z{stdout=process.stdout;progress=0;spd=0;lastCheck=null;printInterval;updateInterval;total;_tracker=0;_firstPrint=!0;_printFunction;constructor(Y,Q=null,J=500,q=100){if(!Y)throw Error("printTemplate is required");this.total=Q,this.printInterval=J,this.updateInterval=q,this.setPrintTemplate(Y),this.lastCheck=Date.now()}update(Y=1){if(!this._printFunction)return;this._tracker+=Y,this.progress+=Y;let Q=Date.now()-this.lastCheck;if(Q>this.updateInterval&&this._tracker>4)this.spd=this._tracker*this.updateInterval/Q,this._tracker=0,this.lastCheck=Date.now();if(this.lastPrint+this.printInterval>Date.now())return;if(this.lastPrint=Date.now(),!this._firstPrint)this.stdout.clearLine(),this.stdout.cursorTo(0);else this._firstPrint=!1;if(!this.total){this._printFunction();return}this._printFunction()}done(){if(this.progress!=this.total){if(!this._firstPrint)this.stdout.clearLine(),this.stdout.cursorTo(0);this.progress=this.total,this._printFunction()}this.stdout.write(`
24
+ `),this.reset()}reset(){this.progress=0,this._tracker=0,this.spd=0,this.lastCheck=Date.now(),this._firstPrint=!0}setPrintTemplate(Y){Y=Y.replace(/%total%/g,"${this.total}"),Y=Y.replace(/%spd%/g,"${this.spd.toFixed(1)}"),Y=Y.replace(/%prog%/g,"${this.progress}"),this._printFunction=Function("this.stdout.write(`"+Y+"`);").bind(this)}},proximate(Z,Y,Q){if(Z<Y+Q&&Z>Y-Q)return Y;else return Z},randomPick(Z){if(Z.length<=1)return Z[0];return Z[Math.floor(Math.random()*Z.length)]},redexOf(Z,Y,Q=0){let J=typeof this!=="string";if(!Z&&J)return-1;if(!J)Z=this;if(!Z.length)return-1;if(!(Y instanceof RegExp))if(Q>=0)return Z.indexOf(Y,Q);else return Z.lastIndexOf(Y,Z.length+Q);let q,X;if(Q>=0){q=-1;do{X=Z.substring(++q);let z=X.search(Y);if(z==-1)return-1;q=z+q}while(q<Q)}else{q=-1;do{X=Z.substring(++q);let z=X.search(Y);if(z==-1)return q-1;q=z+q}while(q<Z.length+Q)}return q},REGEXP:Object.freeze({Seperators:/[-\s_・⧸/\\;:()[\]、,.'""!^**=+「【】」()]/g,SoftWrapSeperators:/\x1b(?:\[[0-9;]*m|\]8;;[^\x07\x1b]*(?:\x07|\x1b\\))|([\s,.;:()[\]})])/g,HardWrapSeperators:/\x1b(?:\[[0-9;]*m|\]8;;[^\x07\x1b]*(?:\x07|\x1b\\))|([-_・⧸/\\、'""!^**=+「【】」()])/g,ValidEmail:/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/,ANSICode:/\x1b(\[[0-9;]*m|\]8;;[^\x07\x1b]*(?:\x07|\x1b\\))/g,EmojiDetection:new RegExp(iQ),EmojiEach:new RegExp(iQ,"g"),EmojiEachGroup:new RegExp("(?:"+iQ+")+","g"),IniGroups:/^[\t ]*\[(.+)\][\t ]*$/gm,JSComments:/\\"|"(?:\\"|[^"])*"|(\/\/.*|\/\*[\s\S]*?\*\/)/g,OpenSCBrackets:/\\"|"(?:\\"|[^"])*"|([[{])/g,CloseSCBrackets:/\\"|"(?:\\"|[^"])*"|([\]}])/g}),resolveNodeEnv(Z,Y=/%(\w+)%/g){return Z.replace(Y,(Q,J)=>{let q=J;if(process.env[q]==null)return Q;return process.env[q]})},SafeTrue:class Z{_i=0;limit=0;noWarning=!1;constructor(Y=10000000000,Q=!1){this.limit=Y,this.noWarning=Q}get True(){if(this._i++>=this.limit){if(!this.noWarning)process?.emitWarning("SafeTrue limit reached");return!1}return!0}},search(Z,Y,Q={}){let J=w.REGEXP.Seperators,q=Q.maxResult,X=Q.TF_IDFMaps instanceof Array?[...Q.TF_IDFMaps]:Q.TF_IDFMaps;if(!q)if(typeof Q=="number")q=Q;else q=1/0;if(Y=Y.trim().toLowerCase(),Y=="")return null;let z=[...Z];if(z.forEach((K,B,$)=>$[B]=K.trim().toLowerCase()),X==="builtin")X=w.DataScienceKit.TFIDF_of(z.concat(Y).map((K)=>w.cleanArr(K.split(J))));class W{constructor(K,B,$=-1,V=null){this.score=B,this.string=K,this.matchIndex=$,this.scores=V}}let U=[];for(let K=0;K<z.length;K++){let B=z[K].replace(J,"");if(z[K]==Y||B==Y)U.unshift(new W(Z[K],Y.length<<2,K));let $,V,D,F;$=V=D=F=0;for(let j of w.cleanArr(Y.split(J))){let _=0;if(w.includesWord(j,z[K],!1))if(X&&X[K]?.has(j))_=j.length*X[K].get(j).TF_IDF*2.9,$+=_;else _=j.length,V+=_;else if(z[K].includes(j))_=j.length*0.3,D+=_;let L=w.DataScienceKit.LCSLength_of(j,z[K])*0.4;F+=L}let O=$+V+D+F;U.push(new W(null,O,K,{tfidf_s:$,word_s:V,includes_s:D,lcs_s:F,TF_IDFMap:X?.[K]}))}U.sort((K,B)=>B.score-K.score);for(let K=0;K<q;K++){if(!U[K])break;if(U[K].string!=null)continue;U[K].string=Z[U[K].matchIndex]}return U.slice(0,q)},sleep(Z){if(!Z||Z<0)return;let Y=Date.now();while(Date.now()-Y<Z);},SpawnMirror:class Z{static STDIO_MIRROR=["inherit","pipe","pipe"];static createMirror(Y){Y?.stdout?.pipe(process.stdout),Y?.stderr?.pipe(process.stderr)}},strClamp(Z,Y,Q="mid",J=0){let q=w.ex_length(Z,J);if(q<=Y)return Z.padEnd(Y," ");let X=q-(q-Y)-3;switch(Q){default:if(f8)process?.emitWarning(`'${Q}' is not a valid location type.`);else throw Error(`'${Q}' is not a valid location type.`);case"mid":{let z=X>>1;return w.strSlice(Z,0,z,J)+"..."+w.strSlice(Z,q-z,void 0,J)}case"end":return w.strSlice(Z,0,X,J)+"...";case"start":return"..."+w.strSlice(Z,X,void 0,J)}},stringifyConfig(Z,Y={}){let{ignoreList:Q=[],minify:J=!1,replacer:q,mode:X="merge",useIniGroup:z=!1,alwaysWrapStrInQuotes:W=!1,oldConfigStr:U=""}=Y,K=new w.SafeTrue(1e5),B=X=="merge"?U:"";for(let F in Z){if(Q.includes(F))continue;if(!z){$(F,Z);continue}if(F===""||typeof Z[F]!=="object"){$(F,Z,"");continue}for(let O in Z[F]){if(Q.includes(O))continue;$(O,Z[F],F)}}return B;function $(F,O,j,_=!1){let L="";if(O[F]!=null&&typeof O[F]==="object")if(O[F].$multiValues){for(let x of O[F])$(F,{[F]:x},j,!0);return}else L=`${JSON.stringify(O[F],q,J?null:3)}
25
+ `;else if(typeof O[F]=="string")if(W||/\s|[{[}\]]/.test(O[F]))L=`"${O[F]}"`;else L=`${O[F]}`;else L=`${O[F]}`;let A=_?-1:w.redexOf(B,new RegExp(`^[ \\t]*\\b${F}\\s*=`,"m")),I;if(j==="")I=-3;else I=z?B.indexOf(`[${j}]`):null;let G=I===-1;if(G)I=B.length+2,B+=`
26
+
27
+ [${j}]
28
+ `;if(A==-1){let x=J?`${F}=${L}
29
+ `:`${F} = ${L}
30
+ `;if(z)if(G)B+=x+`
31
+ `;else{let c=w.redexOf(B,new RegExp(`^\\s*
32
+ $`,"m"),I);B=w.strSplice(B,c,0,x)}else B+=x;return}let P=null,T=null;if(z)P=w.redexOf(B.slice(0,A),w.REGEXP.IniGroups,-1),T=P==I?j:B.slice(P+1,B.slice(P,A).indexOf("]")+P);let S=B.indexOf("=",A)+1,y=w.getMatchAllIndexes(B.slice(S).matchAll(/(?<!\\)[#\n;]/g))?.[0]??-1;if(y==-1)y=B.length;else y+=S;let g=B[y]===`
33
33
  `?y:B.indexOf(`
34
- `,y+1);if(O(S,y))y=F(S);if(T&&T!==_){let P=B.slice(G,g+1),c=g-G,v=S-G,J0=y-G;if(B=L.strSplice(B,G,c+1,""),I>G)I-=c;else I++;G=I+_.length+2,S=G+v,y=G+J0,B=L.strSplice(B,G,0,P)}B=L.strSplice(B,S,y-S,(J?"":" ")+w);{let P=0;while(B[S+(P-2)]==" ")P--;if(J&&P<0)B=L.strSplice(B,S+P-1,-P,"");else if(!J&&P!==-1)B=L.strSplice(B,S+P-1,-P," ")}}function F(V){let D=0,_=V,N=!1;do{if(_++,N){if(B[_]=='"'&&B[_-1]!="\\")N=!1;continue}if(B[_]=='"'){N=!0;continue}if(B[_]=="{"||B[_]=="[")D++;if(B[_]=="}"||B[_]=="]")D--}while(D&&K.True);if(K.True==!1)throw Error(`failed to write config
35
- Reason: loop limit reached`);return _+1}function O(V,D){return/^[\t ]*[[{]/.test(B.slice(V,D))}},strJustify(Z,Y,Q={}){let{filler:J=" ",align:q="center",overflow:X="hidden",collapseLocation:z="end",redundancyLv:W=0}=Q,U=Z instanceof Array,K=U?Z.join(""):Z,B=L.ex_length(K,W);if(B>Y){if(X=="collapse")return L.strLimit(K,Y,z);if(X=="hidden")return K.slice(0,Y);return K}switch(q){case"spacebetween":if(U){let $=J.repeat((Y-B)/(Z.length-1));return Z.reduce((F,O,V)=>{if(V==0)return F;return F+$+O},Z[0])}default:case"center":return L.strSurround(K,J,Y);case"right":return L.padStart(K,Y,J);case"left":return L.padEnd(K,Y,J)}},strLimit(Z,Y,Q="mid",J=0){let q=L.ex_length(Z,J);if(q<=Y)return Z;let X=q-(q-Y)-3;switch(Q){default:if(v4)process?.emitWarning(`'${Q}' is not a valid location type.`);else throw Error(`'${Q}' is not a valid location type.`);case"mid":{let z=X>>1;return L.strSlice(Z,0,z)+"..."+L.strSlice(Z,q-z+1)}case"end":return L.strSlice(Z,0,X)+"...";case"start":return"..."+L.strSlice(Z,q-X)}},strSlice(Z,Y,Q,J=0){let q=[...Z.matchAll(L.REGEXP.ANSICode)].map((W)=>{return{start:W.index,end:W.index+W[0].length,length:W[0].length}});if(!Q)Q=L.ex_length(Z,J);let X=0,z=0;for(let W=0;W<q.length;W++){if(q[W].start-X<Y)X+=q[W].length;if(q[W].start-z<=Q)z+=q[W].length;if(q[W].start-z>Q)break}return Z.slice(Y+X,Q+z)},strSplice(Z,Y,Q,J=null){if(Q<0)Q=0;if(Y<Z.length*-1)Y=0;if(J)return Z.slice(0,Y)+J+(Y<0&&Q+Y>=0?"":Z.slice(Y+Q));else return Z.slice(0,Y)+(Y<0&&Q+Y>=0?"":Z.slice(Y+Q))},strSurround(Z,Y,Q,J=0){let q=L.ex_length(Z,J),X=Math.ceil(Q/2-q/2);return L.padEnd(" ",X,Y,J)+L.padEnd(Z,Q/2+q/2,Y,J)},strWrap(Z,Y,Q={}){if(!Z)return"";let{indent:J="",firstIndent:q="",mode:X="softboundary",redundancyLv:z=0}=Q,W=[],U=X=="softboundary",K=Y*0.67,B=L.REGEXP.ANSICode,$=/[\s,.;:()[\]})]/,F=/[-_・⧸/\\、'""!^**=+「【】」()]/,O=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"grapheme"}):null,V=new Map;if(typeof q=="number")q="".padEnd(q," ");if(typeof J=="number")J="".padEnd(J," ");let D=Z.split(`
36
- `);for(let T=0;T<D.length;T++){let S=!1;while(_(D[T])){let g=w(D[T]),P=g>0?g:Math.min(D[T].length,Y);if(!U)P=N(D[T]);else P=x(D[T],P);if(P>=D[T].length)break;if(J!=null)if(q!=null)W.push(q),q=null;else W.push(J);let c=D[T].substring(0,P);W.push(I(c).concat(`
37
- `)),D[T]=D[T].substring(P).trimStart(),S=!0}if(J!=null)if(q!=null)W.push(q),q=null;else W.push(J);let y=S?I(D[T]):D[T];W.push(y.concat(T<D.length-1?`
38
- `:""))}return W.join("");function _(T){let S=L.ex_length(T,z);if(S>Y)return!0;if(U)return!1;if(S!==Y)return!1;if(z<0)return!1;B.lastIndex=0;let y=B.test(T);if(B.lastIndex=0,!y)return!1;return T.length>Y}function N(T){let S=0,y=0,g=0;B.lastIndex=0;let P=B.exec(T);while(P){let v=P.index??0;if(v>g){let m=c(T.slice(g,v),g);if(m>0)return m}let J0=v,h=J0+P[0].length,s=z<0?P[0].length:0;if(S+s>Y){if(y>0)return y;return J0>0?J0:h}S+=s,g=h,P=B.exec(T)}if(g<T.length){let v=c(T.slice(g),g);if(v>0)return v;g=T.length}if(_(T)&&y>0&&y<T.length)return y;return g||T.length;function c(v,J0){if(!v)return 0;let h=0,s=(m)=>{let n=J0+h,a=n+m.length,r=G(m),V0=S+r;if(V0>Y){if(y>0)return y;return n>0?n:a}if(S=V0,/\s/.test(m))y=n;else if($.test(m)||F.test(m))y=a;return h+=m.length,0};if(O&&z>=2){for(let m of O.segment(v)){let n=s(m.segment);if(n>0)return n}return 0}if(z>=2){let m=L.REGEXP.EmojiEach,n=0;while(n<v.length){m.lastIndex=n;let a=m.exec(v),r=null;if(a&&a.index===n)r=a[0],n+=r.length;else{let _0=v.codePointAt(n);r=String.fromCodePoint(_0),n+=r.length}let V0=s(r);if(V0>0)return V0}return 0}for(let m of v){let n=s(m);if(n>0)return n}return 0}}function w(T){let S=0,y=0,g=0,P=null,c=null,v=null,J0=null,h=null,s=null,m=!1,n=0;B.lastIndex=0;let a=B.exec(T);while(a&&!m){let Y0=a.index??0;if(Y0>n){if(V0(T.slice(n,Y0)))break}if(_0(a[0],!0))break;n=Y0+a[0].length,a=B.exec(T)}if(!m&&n<T.length)V0(T.slice(n));if(!U){let Y0=A(c,P)??g??y??T.length;return typeof Y0=="number"?Y0:Y0.breakIndex}let r=v??J0??P??c;if(s){let Y0=s.width-Y;if(Y0>0&&Y0<=Math.max(2,Math.ceil(Y*0.15)))return s.breakIndex}if(h){let Y0=h.width-Y,N0=Math.max(2,Math.ceil(Y*0.2));if(!h.isWhitespace&&Y0>0&&Y0<=N0)return h.breakIndex;if(h.isWhitespace&&z==1&&Y0>0&&Y0<=Math.max(1,Math.ceil(Y*0.12))){let u0=r?r.breakIndex:0,k0=T.slice(u0,h.breakIndex);if(/[^\x00-\x7F]/.test(k0))return h.breakIndex}if(r){let u0=T.slice(r.breakIndex,h.breakIndex).trim();if(z<=0&&h.isWhitespace&&Y0>0&&Y0<=N0&&/^[A-Za-z][A-Za-z'-]{0,11}$/.test(u0))return h.breakIndex}}if(r)return r.breakIndex;if(h)return h.breakIndex;if(s)return s.breakIndex;return y||T.length;function V0(Y0){if(!Y0)return!1;if(O&&z>=2){for(let N0 of O.segment(Y0))if(_0(N0.segment,!1))return!0;return!1}if(z>=2){let N0=L.REGEXP.EmojiEach,u0=0;while(u0<Y0.length){N0.lastIndex=u0;let k0=N0.exec(Y0),C0=null;if(k0&&k0.index===u0)C0=k0[0],u0+=C0.length;else{let P0=Y0.codePointAt(u0);C0=String.fromCodePoint(P0),u0+=C0.length}if(_0(C0,!1))return!0}return!1}for(let N0 of Y0)if(_0(N0,!1))return!0;return!1}function _0(Y0,N0){let u0=N0?z<0?Y0.length:0:G(Y0),k0=S+u0,C0=y;if(y+=Y0.length,!N0){if($.test(Y0)){let P0=Y0.trim().length===0,i0=P0?C0:y,G6=P0?S:k0,m0={breakIndex:i0,width:G6,isWhitespace:P0};if(G6<=Y){if(P=m0,G6>=K)v=m0}else if(!h)h=m0}if(F.test(Y0)){let P0={breakIndex:y,width:k0};if(P0.width<=Y){if(c=P0,P0.width>=K)J0=P0}else if(!s)s=P0}}if(!g&&k0>=Y)if(k0===Y)g=y;else if(C0===0&&N0)g=y;else g=C0>0?C0:y;if(S=k0,!U)return S>=Y;if(S<Y)return!1;if(h||s)return!0;if(v||J0)return!1;return!1}}function G(T){if(z<1)return T.length;let S=V.get(T);if(S!=null)return S;let y=L.ex_length(T,z);return V.set(T,y),y}function I(T){if(!T)return T;let S=[],y=0;B.lastIndex=0;let g=B.exec(T);while(g){let P=g.index??0;if(P>y)S.push({value:T.slice(y,P),isAnsi:!1});S.push({value:g[0],isAnsi:!0}),y=P+g[0].length,g=B.exec(T)}if(y<T.length)S.push({value:T.slice(y),isAnsi:!1});if(S.length===0)return T.replace(/\s+$/g,"");for(let P=S.length-1;P>=0;P--){if(S[P].isAnsi)continue;S[P].value=S[P].value.replace(/\s+$/g,"");break}return S.map((P)=>P.value).join("")}function A(T,S){if(!T)return S;if(!S)return T;return T.width>=S.width?T:S}function x(T,S){if(S<=0||S>=T.length)return S;B.lastIndex=0;let y=B.exec(T);while(y){let g=y.index??0,P=g+y[0].length;if(S>g&&S<P){if(g===0)return P;return g}y=B.exec(T)}return S}},supportsColor(Z=process?.stdout){if(!v4)return 3;if(L.CheckCache.forceColor===!1)return 0;if(L.argvHasFlag("color=16m")||L.argvHasFlag("color=full")||L.argvHasFlag("color=truecolor"))return 3;if(L.argvHasFlag("color=256"))return 2;if(Z&&!Z.isTTY&&L.CheckCache.forceColor!==!0)return 0;let Y=L.CheckCache.forceColor?1:0;if(process.platform==="win32"){if(!L._modules.os)L._modules.os=r_("os");let J=L._modules.os.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(J[0])>=10&&Number(J[2])>=10586)return Number(J[2])>=14931?3:2;return 1}let{env:Q}=process;if("CI"in Q){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((J)=>(J in Q))||Q.CI_NAME==="codeship")return 1;return Y}if("TEAMCITY_VERSION"in Q)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Q.TEAMCITY_VERSION)?1:0;if(Q.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Q){let J=parseInt((Q.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Q.TERM_PROGRAM){case"iTerm.app":return J>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(Q.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Q.TERM))return 1;if("COLORTERM"in Q)return 1;if(Q.TERM==="dumb")return Y;return Y},supportsHyperlink(Z=process?.stdout,Y=!1){if(!v4)return!0;let{env:Q}=process;if(!Q)return!1;if("FORCE_HYPERLINK"in Q)return!(Q.FORCE_HYPERLINK.length>0&&parseInt(Q.FORCE_HYPERLINK,10)===0);if(L.argvHasFlag("no-hyperlink")||L.argvHasFlag("no-hyperlinks")||L.argvHasFlag("hyperlink=false")||L.argvHasFlag("hyperlink=never"))return!1;if(L.argvHasFlag("hyperlink=true")||L.argvHasFlag("hyperlink=always"))return!0;if("NETLIFY"in Q)return!0;if(L.CheckCache.supportsColor>0)return!0;if(Z&&!Z.isTTY)return!1;if(process.platform==="win32")return!1;if("CI"in Q)return!1;if("TEAMCITY_VERSION"in Q)return!1;if("TERM_PROGRAM"in Q){let q=J(Q.TERM_PROGRAM_VERSION);switch(Q.TERM_PROGRAM){case"iTerm.app":if(q.major===3)return q.minor>=1;return q.major>3;case"WezTerm":return q.major>=20200620;case"vscode":return q.major>1||q.major===1&&q.minor>=72}}if("VTE_VERSION"in Q){if(Q.VTE_VERSION==="0.50.0")return!1;let q=J(Q.VTE_VERSION);return q.major>0||q.minor>=50}return!1;function J(q){if(/^\d{3,4}$/.test(q)){let z=/(\d{1,2})(\d{2})/.exec(q);return{major:0,minor:parseInt(z[1],10),patch:parseInt(z[2],10)}}let X=(q||"").split(".").map((z)=>parseInt(z,10));return{major:X[0],minor:X[1],patch:X[2]}}},surroundedBy(Z,Y,Q){if(Y<0)return!1;let J=-1/0,q=1/0,X=Z=="{"||Z=="["||Z=="("||Z=="<";for(let W=Y;W>0;W-=2){let U=Q.lastIndexOf(Z,W);if(U==-1)break;else J=U;if(Q[J-1]=="\\")J=-1/0}for(let W=0;W<Q.length;W+=2){let U=Q.indexOf(X?z(Z):Z,W);if(U==-1)break;else q=U;if(Q[q-1]=="\\")q=1/0}if(J==-1/0||q==1/0)return!1;return J<Y&&q>Y;function z(W){return String.fromCharCode(W.charCodeAt(0)+(W[0]=="("?1:2))}},Timer:class Z{time;resolution;isRunning=!1;maxTime;#Y;#Q;#Z=0;#J;#q;constructor(Y,Q="ms"){switch(this.maxTime=this.time=Y,this.resolution=Q,Q){case"ms":this.#Y=1;break;case"s":this.#Y=1000;break;case"m":this.#Y=60000;break}}start(){if(this.isRunning||this.time<=0)return;return this.isRunning=!0,this.#Z=Date.now(),this.#Q=setInterval(this.#X,this.#Y==1?4:this.#Y/100),this}stop(){if(!this.isRunning)return;return clearInterval(this.#Q),this.isRunning=!1,this.reset()}pause(){if(!this.isRunning)return;clearInterval(this.#Q),this.isRunning=!1;return}reset(){return this.time=this.maxTime,this}async wait(){if(!this.isRunning)return;return new Promise((Y)=>{this.#q=()=>{this.#q=null,Y()}})}onceEnd(Y){return this.#J=Y,this}#X=()=>{let Y=Date.now(),Q=(Y-this.#Z)/this.#Y;if(this.time-=Q,this.#Z=Y,this.time>0)return;if(this.stop(),this.time=0,this.#J)this.#J(),this.#J=null;if(this.#q)this.#q()}},toPlace(Z){switch(Z){case 1:return"1st";case 2:return"2nd";case 3:return"3rd";default:return Z+"th"}},toShortNum(Z,Y=2,Q=1000,J=!1,q=-Number.MAX_SAFE_INTEGER,X=Number.MAX_SAFE_INTEGER){if(Z===0)return"0";let z=Math.abs(Z),W=Math.sign(Z),U=z>0&&z<1,K=L.MathKit.clamp(Math.floor(Math.log(z)/Math.log(Q)),q,X);Z=Z/Math.pow(Q,K)*W;let B=L.maxFraction(Z,Y,J),F={4:"T",2:"M",3:"G",1:"k",0:"","-1":"m","-2":"μ","-3":"n","-4":"p"}[K]??`e${U?"":"+"}${K*3}`;return B+F},Tracer:class Z{liveLog=!0;log="";startTime;enableLogging=!1;recursive=!1;constructor(){this.startTime=new Date}createTracker=function(Y,Q,J){let q=(X,z)=>{let W=X.length;if(W<=z)return X;let K=W-(W-z)-3>>1;return X.slice(0,K)+"..."+X.slice(W-K+1)};return function(){if(!J.enableLogging)return Y.apply(this,arguments);let X=Y.apply(this,arguments)??"void",z="["+L.jsTime.howLong(J.startTime)+"] "+Q+"(";for(let W=0;W<arguments.length;W++){if(W>0)z+=", ";let U=L.yuString(arguments[W]);z+=U.trim().length?q(U,70):`"${U}"`}if(X==="void")z+=")";else z+="): "+q(L.yuString(X),70);if(J.log+=z+`
39
- `,J.liveLog)console.log(z);return X==="void"?void 0:X}};attachTracer(Y,Q=""){if(Q.length>100)return this;if(typeof Y!=="object")return this;for(let J of Object.getOwnPropertyNames(Y)){let q=Y[J];if(Object.prototype.toString.call(q)==="[object Function]"){if(!L.isClass(q))Y[J]=this.createTracker(q,Q+J,this);if(this.recursive&&L.propertiesCount(q)>0)for(let X of Object.getOwnPropertyNames(q)){let z=q[X];return this.attachTracer(z,Q+J+".")}}}return this}},writeConfig(Z,Y,Q={}){if(!L._modules.fs)throw Error('fs module is required for Tools.writeConfig()\nimport them with `Tools._modules.fs = require("fs")`');let{ignoreList:J=[],minify:q=!1,replacer:X,mode:z="merge",useIniGroup:W=!1,alwaysWrapStrInQuotes:U=!1}=Q,K="";if(L._modules.fs.existsSync(Y)&&z=="merge")K=L._modules.fs.readFileSync(Y,{encoding:"utf-8"});K=L.stringifyConfig(Z,{ignoreList:J,minify:q,replacer:X,mode:z,useIniGroup:W,alwaysWrapStrInQuotes:U,oldConfigStr:K}),L._modules.fs.writeFileSync(Y,K,{encoding:"utf-8"})},yuString(Z,Y={}){let{color:Q=!1,defColor:J=void 0}=Y;switch(typeof Z){case"string":if(Q)return L.ncc(8373322)+`"${Z}"`+L.ncc(J);return`"${Z}"`;case"bigint":case"number":if(Q)return L.ncc(11609489)+Z+L.ncc(J);case"boolean":case"undefined":if(Q)return L.ncc(15756194)+Z+L.ncc(J);return Z+"";case"function":if(Q)return(L.isAsyncFunction(Z)?L.ncc(4802889)+"async ":"")+(L.isArrowFunction(Z)?L.ncc(13401911)+(Z.name||L.ncc(4802889)+"[anonymous]"+L.ncc(13401911))+" () => {...}":L.ncc(13401911)+(Z.name||L.ncc(4802889)+"[anonymous]"+L.ncc(13401911))+"()")+L.ncc(J);return(L.isAsyncFunction(Z)?"async ":"")+(L.isArrowFunction(Z)?(Z.name||"[anonymous]")+" () => {...}":(Z.name||"[anonymous]")+"()");case"symbol":if(Q)return L.ncc(13401911)+Z.toString()+L.ncc(J);return Z.toString()}if(Z==null){if(Q)return L.ncc(13136006)+Z+L.ncc(J);return Z+""}if(Z instanceof Date){if(Q)return L.ncc(11550650)+"Date"+L.ncc(J)+" "+Z.toISOString();return"Date "+Z.toISOString()}if(Z instanceof RegExp){if(Q)return L.ncc("Yellow")+Z.toString()+L.ncc(J);return Z.toString()}if(Z instanceof Promise)return L.ncc(11550650)+"Promise"+L.ncc(J)+" {...(pending)}";if(Z instanceof Map){let q=[...Z.entries()];return(Q?L.ncc(11550650)+`Map(${Z.size}) {`+L.ncc(J):`Map(${Z.size}) {`)+L.arrToString(q,{color:Q,defColor:J,noHeader:!0})+"}"}if(Z instanceof Set){let q=[...Z.values()];return(Q?L.ncc(11550650)+`Set(${Z.size}) {`+L.ncc(J):`Set(${Z.size}) {`)+L.arrToString(q,{color:Q,defColor:J,noHeader:!0})+"}"}if(L.isError(Z))return L.Err.toString(Z,{color:Q,defColor:J});try{if(typeof Z==="object"){if(L.isArrayLike(Z))return L.arrToString(Z,{color:Q,defColor:J});return L.objToString(Z,{color:Q,defColor:J})}}catch{}return"[unknown]"}};if(typeof window<"u")window._tools=L;({arrFindLast:Hy,arrToString:NX,argvHasFlag:Wy,asyncSleep:H7,beautifyJson:Uy,beforeExit:IX,changeDateTimezone:Ky,charTypeAt:By,CheckCache:e0,cleanArr:$y,cleanComments:Fy,cleanString:LX,CONSTS:hZ,Convert:Vy,ConsoleTime:Oy,compareDate:Dy,DataScienceKit:wX,deferredFunc:My,digitAt:jy,digitAtRange:_y,getDimensions:Ny,Err:o,escapeRegExp:Iy,estimateStrComplexity:W7,ex_length:s0,fileNameCleaner:Ly,fixFilePath:wy,fixYTurl:Ay,fileTypeOf:Gy,getMatchAllIndexes:Cy,getMatchAllResults:Ry,getRandomInt:Ty,getProcessTime:ky,hasEmojiEst:Ey,hyperlink:v6,IDGenerator:xy,includesWord:Py,IPC:by,isArrayLike:vy,isArrowFunction:Sy,isAsyncFunction:yy,isClass:fy,isNumber:hy,isEmptyArray:gy,isEmptyObject:my,isError:AX,isValidFilePath:py,JSONReplacer:uy,JSONReviver:dy,jsTime:y4,lazySplit:cy,remap:GX,MathKit:Z6,maxFraction:f4,ncc:M0,nearestNumber:ly,objectMap:ny,objValueAt:oy,objToString:iy,propertiesCount:sy,padEnd:dQ,padStart:ay,parseArgs:ry,parseBool:ty,parseConfig:ey,parseValue:Zf,pass:Yf,Progress:Qf,proximate:Jf,randomPick:qf,redexOf:Xf,REGEXP:CX,resolveNodeEnv:zf,SafeTrue:RX,search:Hf,sleep:Wf,SpawnMirror:Uf,strClamp:h4,stringifyConfig:Kf,strJustify:y0,strLimit:K8,strSlice:TX,strSplice:Bf,strSurround:$f,strWrap:t,supportsColor:Ff,supportsHyperlink:Vf,surroundedBy:Of,Timer:Df,toPlace:Mf,toShortNum:L6,Tracer:jf,writeConfig:_f,yuString:u}=L)});var cQ;var kX=j(()=>{cQ={name:"gdx",version:"0.4.4",description:"Git, but with better DX. The raw power of Git, aligned with human workflows.",homepage:"https://github.com/Type-Delta/gdx#readme",bugs:{url:"https://github.com/Type-Delta/gdx/issues"},repository:{type:"git",url:"git+https://github.com/Type-Delta/gdx.git"},keywords:["git","dx","cli-wrapper"],license:"MIT",author:"Type-Delta",type:"module",main:"dist/index.js",bin:{gdx:"scripts/launcher.cjs"},files:["dist/*.js","scripts/postinstall.cjs","scripts/launcher.cjs","README.md","LICENSE"],packageManager:"bun@1.3.10",scripts:{"prepare-dev":"bun i && bun run transpile-esm",start:"bun run src/index.ts","start:profile":"bun --cpu-prof src/index.ts","start:node":"tsx src/index.ts","transpile-esm":"bunx tsc -p lib/tsconfig.json && bun run scripts/transform-tools.mjs",check:"bun run ts-check && bun run lint && bun run build",lint:"bun run ts-check && eslint src --ext .ts -c eslint.config.ts --fix",test:"bun test",build:"bun run transpile-esm && bun build ./src/index.ts --outfile=./bin/gdx --compile --bytecode --production --keep-names","ts-check":"bunx tsc --noEmit","package:node":"bun run transpile-esm && bun build ./src/index.ts --outdir=./dist --target=node --external=keytar --external=cspell-lib --external=@shikijs/cli --external=yaml --external=openai --external=fflate --format=esm --production --keep-names",prepack:"bun run package:node",postinstall:"node scripts/postinstall.cjs",prettier:'prettier --write "src/**/*.ts" "test/**/*.ts" "./*.md"',"dummy-editor":"bun ./scripts/dummyEditor.mjs","bench:litedent":"bun run ./test/benchmarks/litedent.bench.ts","bench:git-config":"bun run ./test/benchmarks/git-config.bench.ts","bench:strwrap":"bun run ./test/benchmarks/tools/strwrap.bench.js"},devDependencies:{"@babel/cli":"^7.28.6","@babel/core":"^7.29.0","@babel/preset-env":"^7.29.2","@babel/preset-typescript":"^7.28.5","@eslint/js":"^9.39.4","@sinclair/typebox":"^0.34.49","@types/chai":"^5.2.3","@types/ini":"^4.1.1","@typescript-eslint/eslint-plugin":"^8.57.1","@typescript-eslint/parser":"^8.57.1","bun-types":"latest",chai:"^6.2.2",dedent:"^1.7.2",eslint:"^10.0.3",execa:"^9.6.1",ini:"^6.0.0",jiti:"^2.6.1",prettier:"^3.8.1","smol-toml":"^1.6.0",tinybench:"^6.0.0",tsx:"^4.21.0",typescript:"^5.9.3","typescript-eslint":"^8.57.1","unicode-animations":"^1.0.3"},dependencies:{"@shikijs/cli":"^4.0.2",openai:"^6.32.0","cspell-lib":"9.4.0",diff:"^8.0.4",fflate:"^0.8.2",keytar:"^7.9.0",yaml:"^2.8.2"}}});function d0(Z){return Z.replace(/\\/g,"/")}import gZ from"fs";import EX from"path";import YN from"fs/promises";import{existsSync as l,readFileSync as t6,writeFileSync as B8,mkdirSync as n0,mkdtempSync as K7,rmSync as S6,accessSync as PX,readdirSync as d6,appendFileSync as bX,unlinkSync as lQ,cpSync as vX,constants as nQ}from"fs";import{access as SX,rm as j6,rmdir as kf,mkdir as x8,mkdtemp as oQ,readdir as g4,readlink as Ef,rename as B7,stat as y6,link as xf,unlink as $7,writeFile as c0,appendFile as Pf,readFile as p0,cp as iQ}from"fs/promises";async function pZ(Z){if(!Z)return;try{if(!gZ.existsSync(Z))return;return(await YN.stat(Z)).mtimeMs}catch{return}}function mZ(Z){if(!Z)return"";let Y=Z;try{Y=gZ.realpathSync.native?gZ.realpathSync.native(Z):gZ.realpathSync(Z)}catch{Y=EX.resolve(Z)}return process.platform==="win32"?d0(Y).toLowerCase():Y}function xX(Z,Y){let Q=mZ(Z).replace(/\/+$/,""),J=mZ(Y).replace(/\/+$/,"");if(!Q||!J)return!1;if(J===Q)return!0;return J.startsWith(`${Q}/`)}async function U7(Z,Y){let Q=gZ.readdirSync(Z,{withFileTypes:!0});for(let J of Q.sort((q,X)=>q.name.localeCompare(X.name))){let q=EX.join(Z,J.name);if(J.isDirectory()){await U7(q,Y);continue}if(J.isFile())await Y(q)}}var U6=()=>{};import{constants as QN}from"fs";function R(Z="",Y=`
40
- `){if(yX){yX(Z+Y);return}process.stdout.write(Z+Y)}async function sQ(Z){try{if(!(await y6(Z)).isFile())return!1;return await SX(Z,QN.X_OK),!0}catch{return!1}}function f0(Z,Y,Q=!1){if(Z==="")return{match:null,candidates:Y,isExact:!1};let J=[];for(let q of Y){if(q===Z)return{match:q,candidates:null,isExact:!0};if(q.startsWith(Z))J.push(q)}if(Q&&J.length>1)J=[J[0]];return{match:J.length===1?J[0]:null,candidates:J,isExact:J.includes(Z)}}function F7(Z){return Z.map((Y)=>{if(/[\s"`$\\]/.test(Y))return`"${Y.replace(/(["\\$`])/g,"\\$1")}"`;return Y})}function aQ(Z){if(!Z)return"";return Z.replace(/[/\\]/g,"_").replace(/[<>:"|?*\x00-\x1f]/g,"_")}function fX(Z){return["1","true","yes","on"].includes(Z.toLowerCase())}function hX(Z,Y){let Q=Z.split(".").map(Number),J=Y.split(".").map(Number),q=Math.max(Q.length,J.length);for(let X=0;X<q;X++){let z=Q[X]||0,W=J[X]||0;if(z>W)return 1;if(z<W)return-1}return 0}function gX(Z,Y){let Q=[],J=-1;for(let q=0;q<Z.length;q++){let X=Z[q],z=Y(X,q,Z);if(!Q[z]){if(Q[z]=[],J+1<z)for(let W=J+1;W<z;W++)Q[W]=[];J=z}Q[z].push(X)}return Q}var yX=null,f6=()=>{};var R0=j(()=>{U6()});import tQ from"os";import P8 from"path";var rQ,C,K6,mX,pX=".gdxrc.toml",uX,uZ,dX,eQ,V7=1,Q4=150,c6,l6,O7,Z2,D7="gdx-cli",b8,JN="cache.json",qN="macro.json",M7="catppuccin-mocha",E,X0,H,cX,J4,lX,Y2,nX,oX,j7,dZ=86400000,h6,q4,_7=360,iX=7,sX="https://openrouter.ai/api/v1",aX=512000,cZ,rX,tX,eX,Zz,Yz,Qz,Q2,Jz="https://github.com/github-linguist/linguist/raw/refs/heads/main/lib/linguist/languages.yml",J2="languages.catalog",qz,Xz=4000,q2,zz=7,X2=3,Hz=7,Wz=50,Uz=25,z2=10,Kz=28,N7=1,$8=".gdxsnap",Bz=64,n6=7,lZ="GDX_SNAP_META";var H0=j(()=>{kX();R0();z0();rQ=P8.basename(process.argv[0]||"gdx",P8.extname(process.argv[0]||"")),C=rQ.startsWith("bun")||rQ.startsWith("node")?"gdx":rQ,K6=process.env.GDX_TEMP_DIR||tQ.tmpdir(),mX=process.env.GDX_CURRENT_DIR||process.cwd(),uX=P8.join(tQ.homedir(),".gdx"),uZ=P8.join(uX,pX),dX=P8.join(K6,"gdx","gdx.log"),eQ=P8.join(tQ.homedir(),pX),c6=process.env.GDX_RESULT,l6=cQ.version||"unknown",O7=cQ.homepage||"",Z2=process.env.GDX_WRITE_LOGS!=null?fX(process.env.GDX_WRITE_LOGS):!0,b8=["llm.apiKey"],E={OceanDeepBlue:[46,149,153],OceanGreen:[57,211,83],ForestGreen:[34,139,34],SunsetOrange:[255,99,71],MidnightBlack:[10,16,36],Zinc700:[63,63,70],Zinc500:[113,113,122],Zinc400:[161,161,170],Zinc100:[244,244,245],Zinc050:[250,250,250],Fuchsia400:[232,121,249],Teal300:[94,234,212]},X0={base:[30,30,46],mantle:[24,24,37],crust:[17,17,27],surface0:[49,50,68],surface1:[69,71,90],overlay0:[147,153,178],overlay1:[127,132,156],text:[205,214,244],green:[166,227,161],red:[243,139,168],yellow:[249,226,175],blue:[137,180,250],cyan:[148,226,213],lavender:[180,190,254]},H={reset:M0(),normal:M0("Normal"),black:M0("Black"),white:M0("White"),red:M0("Red"),green:M0("Green"),yellow:M0("Yellow"),blue:M0("Blue"),magenta:M0("Magenta"),cyan:M0("Cyan"),dim:M0("Dim"),italic:M0("Italic"),bright:M0("Bright"),invert:M0("Invert"),underline:M0("Underline"),bgWhite:M0("BgWhite"),bgRed:M0("BgRed"),bgYellow:M0("BgYellow")},cX=["⠁⠀","⠋⠀","⠟⠁","⡿⠋","⣿⠟","⣿⡿","⣿⣿","⣿⣿","⣾⣿","⣴⣿","⣠⣾","⢀⣴","⠀⣠","⠀⢀","⠀⠀","⠀⠀","⠀⠀","⠀⠀","⠀⠀","⠀⠀"],J4={AVG_CHARS_PER_LINE:40,AVG_LINES_PER_FUNCTION:45,AVG_LINES_PER_FILE:500},lX=[/api[\w_-]?key[\w_-]?\s*=\s*['"].+['"]/i,/access[\w_-]?token[\w_-]?\s*=\s*['"].+['"]/i,/private[\w_-]?key[\w_-]?\s*=\s*['"].+['"]/i,/sk-ant-[\d\w]{32,}/,/sk-[\d\w]{32,}/,/sk-or-[\d\w]{32,}/,/-----\s*BEGIN PRIVATE KEY\s*-----/i],Y2=/^diff --(git|cc|combined)\b/,nX=/^diff --(git|cc|combined)\b/m,oX=/^\x1b\[[0-9;]*m/,j7={ts:"typescript",tsx:"tsx",js:"javascript",mjs:"javascript",cjs:"javascript",jsx:"jsx",json:"json",md:"markdown",css:"css",scss:"scss",html:"html",vue:"vue",svelte:"svelte",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",kt:"kotlin",swift:"swift",c:"c",cpp:"cpp",h:"c",hpp:"cpp",sh:"bash",bash:"bash",zsh:"bash",yml:"yaml",yaml:"yaml",toml:"toml",xml:"xml",sql:"sql",dockerfile:"dockerfile",docker:"dockerfile",makefile:"makefile",cmake:"cmake",lua:"lua",perl:"perl",php:"php"},h6=P8.join(K6,"gdx",JN),q4=P8.join(uX,qN),cZ=["add","branch","checkout","clone","commit","diff","log","pull","push","rebase","reset","revert","merge","init","stash","status","switch","submodule","tag","fetch","remote","show","config","parallel","nocap","clear","reword","gdx-config","graph","macro","cache","doctor","snap"],rX=["s","st","co","br","cmi","mg","pl","pu","ps","ad","rv","rb","lg","sta"],tX=["--loglevel","--ghelp","--bypass","--no-enhance"],eX=["--loglevel","--init","--shell","--cmd"],Zz=["--ghelp","--bypass","--no-enhance","-gh"],Yz=["-C","-c","--git-dir","--work-tree","--namespace","--config-env"],Qz=["--no-pager","--no-optional-locks","--literal-pathspecs","--glob-pathspecs","--noglob-pathspecs","--icase-pathspecs"],Q2=[".pdf",".doc",".docx",".zip",".tar",".png",".jpg",".jpeg",".gif"],qz=dZ*7,q2=[163,222,407,337,51,174,365,88,80]});function d(Z,Y,Q,J=0,q=1){if(J<0)J=0;else if(q>1)q=1;if(!(J<q)||e0.supportsColor<3)return Z;let X=Z.length,z=Math.floor(X*J),W=Math.floor(X*q),U=W-z,K=(Q[0]-Y[0])/U,B=(Q[1]-Y[1])/U,$=(Q[2]-Y[2])/U,F="";for(let O=0;O<X;O++)if(O<z)F+=`\x1B[38;2;${Y[0]};${Y[1]};${Y[2]}m${Z[O]}`;else if(O>=z&&O<=W){let V=O-z,D=Math.round(Z6.clamp(Y[0]+K*V,0,255)),_=Math.round(Z6.clamp(Y[1]+B*V,0,255)),N=Math.round(Z6.clamp(Y[2]+$*V,0,255));F+=`\x1B[38;2;${D};${_};${N}m${Z[O]}`}else F+=`\x1B[38;2;${Q[0]};${Q[1]};${Q[2]}m${Z[O]}`;return F+="\x1B[0m",F}function $z(Z,Y,Q){let J=Z6.clamp(Math.round(Z[0]+(Y[0]-Z[0])*Q),0,255),q=Z6.clamp(Math.round(Z[1]+(Y[1]-Z[1])*Q),0,255),X=Z6.clamp(Math.round(Z[2]+(Y[2]-Z[2])*Q),0,255);return[J,q,X]}function Fz(Z,Y,Q,J=0.5,q=0.3){if(J<0)J=0;else if(J>1)J=1;if(q<=0||e0.supportsColor<3)return Z;let X=Z.length,z=J*X,W=q*X,U="";for(let K=0;K<X;K++){let $=Math.abs(K-z)/W;$=Z6.clamp($,0,1);let F=Math.round(Z6.clamp(Y[0]+(Q[0]-Y[0])*$,0,255)),O=Math.round(Z6.clamp(Y[1]+(Q[1]-Y[1])*$,0,255)),V=Math.round(Z6.clamp(Y[2]+(Q[2]-Y[2])*$,0,255));U+=`\x1B[38;2;${F};${O};${V}m${Z[K]}`}return U+="\x1B[0m",U}function v8(Z){let Y=Z6.clamp(Math.round(Z[0]),0,255),Q=Z6.clamp(Math.round(Z[1]),0,255),J=Z6.clamp(Math.round(Z[2]),0,255);return(Y<<16)+(Q<<8)+J}function Vz(Z,Y,Q){let J,q,X;if(Y===0)J=q=X=Q;else{let z=(K,B,$)=>{if($<0)$+=1;if($>1)$-=1;if($<0.16666666666666666)return K+(B-K)*6*$;if($<0.5)return B;if($<0.6666666666666666)return K+(B-K)*(0.6666666666666666-$)*6;return K},W=Q<0.5?Q*(1+Y):Q+Y-Q*Y,U=2*Q-W;J=z(U,W,Z+0.3333333333333333),q=z(U,W,Z),X=z(U,W,Z-0.3333333333333333)}return[Math.round(J*255),Math.round(q*255),Math.round(X*255)]}function w6(Z,Y,Q){return[Math.round(Z[0]*(1-Q)+Y[0]*Q),Math.round(Z[1]*(1-Q)+Y[1]*Q),Math.round(Z[2]*(1-Q)+Y[2]*Q)]}function E0(Z){return`\x1B[38;2;${Z[0]};${Z[1]};${Z[2]}m`}function Y6(Z){return`\x1B[48;2;${Z[0]};${Z[1]};${Z[2]}m`}function m4(Z){return Z.replace(/\x1b\[[0-9;]*m/g,"")}function nZ(Z,Y,Q,J,q){let W=0,U=1,K=Z;for(let B=0;B<10;B++){let F=HN(K,Y,J)-Z;if(Math.abs(F)<0.000001)break;if(F>0)U=K;else W=K;K=(W+U)/2}return WN(K,Q,q)}function HN(Z,Y,Q){let J=1-Z;return 3*J*J*Z*Y+3*J*Z*Z*Q+Z*Z*Z}function WN(Z,Y,Q){let J=1-Z;return 3*J*J*Z*Y+3*J*Z*Z*Q+Z*Z*Z}function UN(Z){for(let[Y,Q]of XN)if(Q===Z)return Y;return null}function oZ(Z){let Y={},Q=[...Z.matchAll(CX.ANSICode)].reverse();for(let J of Q){let q=J[1],X=UN("\x1B"+q);if(X)if(X==="reset")break;else if(!Y.bg&&X.startsWith("bg"))Y.bg=X;else if(zN.includes(X)){if(!Y.sp)Y.sp=[];Y.sp.unshift(X)}else{if(Y.fg)continue;Y.fg=X}else if(!Y.fg&&q.startsWith("[38;2;")){let[z,W,U]=q.slice(6).split(";").map((K)=>parseInt(K,10));Y.fg=[z,W,U]}else if(!Y.bg&&q.startsWith("[48;2;")){let[z,W,U]=q.slice(6).split(";").map((K)=>parseInt(K,10));Y.bg=[z,W,U]}}return Y}function iZ(Z){let Y="";if(Z.sp)for(let Q of Z.sp){let J=hZ.AnsiColorCodes[Q];if(J)Y+=J}if(Z.fg)if(typeof Z.fg==="string"){let Q=hZ.AnsiColorCodes[Z.fg];if(Q)Y+=Q}else Y+=E0(Z.fg);if(Z.bg)if(typeof Z.bg==="string"){let Q=hZ.AnsiColorCodes[Z.bg];if(Q)Y+=Q}else Y+=Y6(Z.bg);return Y}function Dz(Z,Y={}){let{padding:Q=1,columnWidth:J="auto",columnAlign:q="left",borderStyle:X="unicode",borderAnsiColor:z,redundancyLv:W=0}=Y;if(!Z?.length)return"";let U=Math.max(0,...Z.map((h)=>h?.length??0));if(!U)return"";let[K,B,$,F]=y(Q),O=Z.map((h)=>Array(U).fill("").map((s,m)=>String(h?.[m]??""))),V=g(q,U),D=O.map((h)=>h.map((s)=>s.split(/\r?\n/))),_=Array(U).fill(0);for(let h=0;h<U;h++)for(let s=0;s<D.length;s++)for(let m of D[s][h]){let n=s0(m,W);if(n>_[h])_[h]=n}let N=P(J,_),w=D.map((h)=>h.map((s,m)=>{let n=N[m];if(n<=0)return[""];let a=[];for(let r of s){if(s0(r,W)<=n){a.push(r);continue}let V0=t(r,n,{mode:"strict",redundancyLv:W}).split(`
41
- `),_0=null;for(let Y0=0;Y0<V0.length;Y0++){if(_0)V0[Y0]=_0+V0[Y0];_0=iZ(oZ(V0[Y0]))}a.push(...V0)}return a.length?a:[""]})),G=N.map((h)=>h+F+B),I=c(X),A=v(z),x=A?H.reset:"",T=(h)=>A?`${A}${h}${x}`:h,S=[];if(I)S.push(J0("top"));for(let h=0;h<O.length;h++){let s=w[h],m=Math.max(1,...s.map((a)=>a.length)),n=K+m+$;for(let a=0;a<n;a++){let r=[];for(let _0=0;_0<U;_0++){let Y0=a-K,N0=Y0>=0&&Y0<s[_0].length?s[_0][Y0]:"",u0=y0(N0,N[_0],{align:V[_0],filler:" ",overflow:"visible",redundancyLv:W});r.push(" ".repeat(F)+u0+" ".repeat(B))}if(!I){S.push(r.join(""));continue}let V0=T(I.v);for(let _0=0;_0<r.length;_0++)if(V0+=r[_0],_0<r.length-1)V0+=T(I.v);V0+=T(I.v),S.push(V0)}if(I&&h<O.length-1)S.push(J0("mid"))}if(I)S.push(J0("bottom"));return S.join(`
42
- `);function y(h){if(typeof h==="number"){let m=Math.max(0,Math.floor(h));return[m,m,m,m]}if(!h.length)return[1,1,1,1];let s=h.map((m)=>Math.max(0,Math.floor(m||0)));switch(s.length){case 1:return[s[0],s[0],s[0],s[0]];case 2:return[s[0],s[1],s[0],s[1]];case 3:return[s[0],s[1],s[2],s[1]];default:return[s[0],s[1],s[2],s[3]]}}function g(h,s){if(typeof h==="string")return Array(s).fill(h);return Array(s).fill("left").map((m,n)=>h[n]??h[h.length-1]??"left")}function P(h,s){if(h==="auto")return[...s];if(typeof h==="number"){let m=Math.max(0,Math.floor(h));return Array(s.length).fill(m)}return s.map((m,n)=>{let a=h[n]??h[h.length-1]??"auto";if(a==="auto")return m;return Math.max(0,Math.floor(a))})}function c(h){if(h==="none")return null;if(h==="ascii")return{topLeft:"+",topJoin:"+",topRight:"+",leftJoin:"+",cross:"+",rightJoin:"+",bottomLeft:"+",bottomJoin:"+",bottomRight:"+",h:"-",v:"|"};return{topLeft:"┌",topJoin:"┬",topRight:"┐",leftJoin:"├",cross:"┼",rightJoin:"┤",bottomLeft:"└",bottomJoin:"┴",bottomRight:"┘",h:"─",v:"│"}}function v(h){if(!h||X==="none")return"";if(typeof h==="string"){if(h.includes("\x1B["))return h;return M0(h)}return M0(v8(h))}function J0(h){if(!I)return"";let s=h==="top"?I.topLeft:h==="bottom"?I.bottomLeft:I.leftJoin,m=h==="top"?I.topJoin:h==="bottom"?I.bottomJoin:I.cross,n=h==="top"?I.topRight:h==="bottom"?I.bottomRight:I.rightJoin,a=T(s);for(let r=0;r<G.length;r++)if(a+=T(I.h.repeat(G[r])),r<G.length-1)a+=T(m);return a+=T(n),a}}var XN,zN,Oz;var b0=j(()=>{z0();H0();XN=Object.entries(hZ.AnsiColorCodes),zN=["bright","dim","italic","underline","inverse","hidden"];Oz={linear:(Z)=>Z,easeIn:(Z)=>nZ(Z,0.42,0,1,1),easeOut:(Z)=>nZ(Z,0,0,0.58,1),easeInOut:(Z)=>nZ(Z,0.42,0,0.58,1),smooth:(Z)=>nZ(Z,0.25,0.1,0.25,1),bounce:(Z)=>nZ(Z,0.68,-0.55,0.265,1.55)}});class H2{usage=0;max;timeout;queue;_onTimeout=null;constructor(Z,Y){this.max=Math.max(1,Z),this.timeout=Y,this.queue=[]}setMax(Z){this.max=Math.max(1,Z)}async acquire(){if(this.usage<this.max){this.usage++;return}return new Promise((Z)=>{let Y=()=>{Z()};if(this.queue.push(Y),this.timeout)setTimeout(()=>{this._onTimeout?.();let Q=this.queue.indexOf(Y);if(Q!==-1)this.queue.splice(Q,1),Z()},this.timeout)})}release(){if(this.queue.length>0)this.queue.shift()();else if(this.usage>0)this.usage--}available(){return this.max-this.usage}onTimeout(Z){return this._onTimeout=Z,this}}var p;var v0=j(()=>{p={exitCodeOverride:-1,finalStringOutput:"",logLevel:"warn",terminalWidth:process.stdout.columns||100,indexArgs:!0,threadResources:new H2(4)}});function l0(Z){if(typeof Z!=="object"||Z===null)return!1;let Y=Object.getPrototypeOf(Z);return(Y===null||Y===Object.prototype||Object.getPrototypeOf(Y)===null)&&!(Symbol.toStringTag in Z)&&!(Symbol.iterator in Z)}import{fileURLToPath as KN}from"node:url";var p4=(Z,Y)=>{let Q=U2(BN(Z));if(typeof Q!=="string")throw TypeError(`${Y} must be a string or a file URL: ${Q}.`);return Q},BN=(Z)=>W2(Z)?Z.toString():Z,W2=(Z)=>typeof Z!=="string"&&Z&&Object.getPrototypeOf(Z)===String.prototype,U2=(Z)=>Z instanceof URL?KN(Z):Z;var u4=()=>{};var I7=(Z,Y=[],Q={})=>{let J=p4(Z,"First argument"),[q,X]=l0(Y)?[[],Y]:[Y,Q];if(!Array.isArray(q))throw TypeError(`Second argument must be either an array of arguments or an options object: ${q}`);if(q.some((U)=>typeof U==="object"&&U!==null))throw TypeError(`Second argument must be an array of strings: ${q}`);let z=q.map(String),W=z.find((U)=>U.includes("\x00"));if(W!==void 0)throw TypeError(`Arguments cannot contain null bytes ("\\0"): ${W}`);if(!l0(X))throw TypeError(`Last argument must be an options object: ${X}`);return[J,z,X]};var K2=j(()=>{u4()});import{StringDecoder as $N}from"node:string_decoder";var Mz,jz=(Z)=>Mz.call(Z)==="[object ArrayBuffer]",a0=(Z)=>Mz.call(Z)==="[object Uint8Array]",F8=(Z)=>new Uint8Array(Z.buffer,Z.byteOffset,Z.byteLength),FN,_z=(Z)=>FN.encode(Z),VN,L7=(Z)=>VN.decode(Z),Nz=(Z,Y)=>{return ON(Z,Y).join("")},ON=(Z,Y)=>{if(Y==="utf8"&&Z.every((X)=>typeof X==="string"))return Z;let Q=new $N(Y),J=Z.map((X)=>typeof X==="string"?_z(X):X).map((X)=>Q.write(X)),q=Q.end();return q===""?J:[...J,q]},sZ=(Z)=>{if(Z.length===1&&a0(Z[0]))return Z[0];return B2(DN(Z))},DN=(Z)=>Z.map((Y)=>typeof Y==="string"?_z(Y):Y),B2=(Z)=>{let Y=new Uint8Array(MN(Z)),Q=0;for(let J of Z)Y.set(J,Q),Q+=J.length;return Y},MN=(Z)=>{let Y=0;for(let Q of Z)Y+=Q.length;return Y};var C6=j(()=>{({toString:Mz}=Object.prototype),FN=new TextEncoder,VN=new TextDecoder});import{ChildProcess as jN}from"node:child_process";var Az=(Z)=>Array.isArray(Z)&&Array.isArray(Z.raw),Gz=(Z,Y)=>{let Q=[];for(let[X,z]of Z.entries())Q=_N({templates:Z,expressions:Y,tokens:Q,index:X,template:z});if(Q.length===0)throw TypeError("Template script must not be empty");let[J,...q]=Q;return[J,q,{}]},_N=({templates:Z,expressions:Y,tokens:Q,index:J,template:q})=>{if(q===void 0)throw TypeError(`Invalid backslash sequence: ${Z.raw[J]}`);let{nextTokens:X,leadingWhitespaces:z,trailingWhitespaces:W}=NN(q,Z.raw[J]),U=Lz(Q,X,z);if(J===Y.length)return U;let K=Y[J],B=Array.isArray(K)?K.map(($)=>wz($)):[wz(K)];return Lz(U,B,W)},NN=(Z,Y)=>{if(Y.length===0)return{nextTokens:[],leadingWhitespaces:!1,trailingWhitespaces:!1};let Q=[],J=0,q=Iz.has(Y[0]);for(let z=0,W=0;z<Z.length;z+=1,W+=1){let U=Y[W];if(Iz.has(U)){if(J!==z)Q.push(Z.slice(J,z));J=z+1}else if(U==="\\"){let K=Y[W+1];if(K===`
43
- `)z-=1,W+=1;else if(K==="u"&&Y[W+2]==="{")W=Y.indexOf("}",W+3);else W+=IN[K]??1}}let X=J===Z.length;if(!X)Q.push(Z.slice(J));return{nextTokens:Q,leadingWhitespaces:q,trailingWhitespaces:X}},Iz,IN,Lz=(Z,Y,Q)=>Q||Z.length===0||Y.length===0?[...Z,...Y]:[...Z.slice(0,-1),`${Z.at(-1)}${Y[0]}`,...Y.slice(1)],wz=(Z)=>{let Y=typeof Z;if(Y==="string")return Z;if(Y==="number")return String(Z);if(l0(Z)&&(("stdout"in Z)||("isMaxBuffer"in Z)))return LN(Z);if(Z instanceof jN||Object.prototype.toString.call(Z)==="[object Promise]")throw TypeError("Unexpected subprocess in template expression. Please use ${await subprocess} instead of ${subprocess}.");throw TypeError(`Unexpected "${Y}" in template expression`)},LN=({stdout:Z})=>{if(typeof Z==="string")return Z;if(a0(Z))return L7(Z);if(Z===void 0)throw TypeError(`Missing result.stdout in template expression. This is probably due to the previous subprocess' "stdout" option.`);throw TypeError(`Unexpected "${typeof Z}" stdout in template expression`)};var Cz=j(()=>{C6();Iz=new Set([" ","\t","\r",`
44
- `]),IN={x:3,u:5}});import $2 from"node:process";var o6=(Z)=>w7.includes(Z),w7,g6,A7=(Z)=>g6[Z]??`stdio[${Z}]`;var V8=j(()=>{w7=[$2.stdin,$2.stdout,$2.stderr],g6=["stdin","stdout","stderr"]});import{debuglog as wN}from"node:util";var Tz=(Z)=>{let Y={...Z};for(let Q of O2)Y[Q]=F2(Z,Q);return Y},F2=(Z,Y)=>{let Q=Array.from({length:AN(Z)+1}),J=GN(Z[Y],Q,Y);return EN(J,Y)},AN=({stdio:Z})=>Array.isArray(Z)?Math.max(Z.length,g6.length):g6.length,GN=(Z,Y,Q)=>l0(Z)?CN(Z,Y,Q):Y.fill(Z),CN=(Z,Y,Q)=>{for(let J of Object.keys(Z).sort(RN))for(let q of TN(J,Q,Y))Y[q]=Z[J];return Y},RN=(Z,Y)=>Rz(Z)<Rz(Y)?1:-1,Rz=(Z)=>{if(Z==="stdout"||Z==="stderr")return 0;return Z==="all"?2:1},TN=(Z,Y,Q)=>{if(Z==="ipc")return[Q.length-1];let J=V2(Z);if(J===void 0||J===0)throw TypeError(`"${Y}.${Z}" is invalid.
34
+ `,y+1);if(D(S,y))y=V(S);if(T&&T!==j){let x=B.slice(A,g+1),c=g-A,v=S-A,J0=y-A;if(B=w.strSplice(B,A,c+1,""),I>A)I-=c;else I++;A=I+j.length+2,S=A+v,y=A+J0,B=w.strSplice(B,A,0,x)}B=w.strSplice(B,S,y-S,(J?"":" ")+L);{let x=0;while(B[S+(x-2)]==" ")x--;if(J&&x<0)B=w.strSplice(B,S+x-1,-x,"");else if(!J&&x!==-1)B=w.strSplice(B,S+x-1,-x," ")}}function V(F){let O=0,j=F,_=!1;do{if(j++,_){if(B[j]=='"'&&B[j-1]!="\\")_=!1;continue}if(B[j]=='"'){_=!0;continue}if(B[j]=="{"||B[j]=="[")O++;if(B[j]=="}"||B[j]=="]")O--}while(O&&K.True);if(K.True==!1)throw Error(`failed to write config
35
+ Reason: loop limit reached`);return j+1}function D(F,O){return/^[\t ]*[[{]/.test(B.slice(F,O))}},strJustify(Z,Y,Q={}){let{filler:J=" ",align:q="center",overflow:X="hidden",collapseLocation:z="end",redundancyLv:W=0}=Q,U=Z instanceof Array,K=U?Z.join(""):Z,B=w.ex_length(K,W);if(B>Y){if(X=="collapse")return w.strLimit(K,Y,z);if(X=="hidden")return K.slice(0,Y);return K}switch(q){case"spacebetween":if(U){let $=J.repeat((Y-B)/(Z.length-1));return Z.reduce((V,D,F)=>{if(F==0)return V;return V+$+D},Z[0])}default:case"center":return w.strSurround(K,J,Y);case"right":return w.padStart(K,Y,J);case"left":return w.padEnd(K,Y,J)}},strLimit(Z,Y,Q="mid",J=0){let q=w.ex_length(Z,J);if(q<=Y)return Z;let X=q-(q-Y)-3;switch(Q){default:if(f8)process?.emitWarning(`'${Q}' is not a valid location type.`);else throw Error(`'${Q}' is not a valid location type.`);case"mid":{let z=X>>1;return w.strSlice(Z,0,z)+"..."+w.strSlice(Z,q-z+1)}case"end":return w.strSlice(Z,0,X)+"...";case"start":return"..."+w.strSlice(Z,q-X)}},strSlice(Z,Y,Q,J=0){let q=[...Z.matchAll(w.REGEXP.ANSICode)].map((W)=>{return{start:W.index,end:W.index+W[0].length,length:W[0].length}});if(!Q)Q=w.ex_length(Z,J);let X=0,z=0;for(let W=0;W<q.length;W++){if(q[W].start-X<Y)X+=q[W].length;if(q[W].start-z<=Q)z+=q[W].length;if(q[W].start-z>Q)break}return Z.slice(Y+X,Q+z)},strSplice(Z,Y,Q,J=null){if(Q<0)Q=0;if(Y<Z.length*-1)Y=0;if(J)return Z.slice(0,Y)+J+(Y<0&&Q+Y>=0?"":Z.slice(Y+Q));else return Z.slice(0,Y)+(Y<0&&Q+Y>=0?"":Z.slice(Y+Q))},strSurround(Z,Y,Q,J=0){let q=w.ex_length(Z,J),X=Math.ceil(Q/2-q/2);return w.padEnd(" ",X,Y,J)+w.padEnd(Z,Q/2+q/2,Y,J)},strWrap(Z,Y,Q={}){if(!Z)return"";let{indent:J="",firstIndent:q="",mode:X="softboundary",redundancyLv:z=0}=Q,W=[],U=X=="softboundary",K=Y*0.67,B=w.REGEXP.ANSICode,$=/[\s,.;:()[\]})]/,V=/[-_・⧸/\\、'""!^**=+「【】」()]/,D=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"grapheme"}):null,F=new Map;if(typeof q=="number")q="".padEnd(q," ");if(typeof J=="number")J="".padEnd(J," ");let O=Z.split(`
36
+ `);for(let T=0;T<O.length;T++){let S=!1;while(j(O[T])){let g=L(O[T]),x=g>0?g:Math.min(O[T].length,Y);if(!U)x=_(O[T]);else x=P(O[T],x);if(x>=O[T].length)break;if(J!=null)if(q!=null)W.push(q),q=null;else W.push(J);let c=O[T].substring(0,x);W.push(I(c).concat(`
37
+ `)),O[T]=O[T].substring(x).trimStart(),S=!0}if(J!=null)if(q!=null)W.push(q),q=null;else W.push(J);let y=S?I(O[T]):O[T];W.push(y.concat(T<O.length-1?`
38
+ `:""))}return W.join("");function j(T){let S=w.ex_length(T,z);if(S>Y)return!0;if(U)return!1;if(S!==Y)return!1;if(z<0)return!1;B.lastIndex=0;let y=B.test(T);if(B.lastIndex=0,!y)return!1;return T.length>Y}function _(T){let S=0,y=0,g=0;B.lastIndex=0;let x=B.exec(T);while(x){let v=x.index??0;if(v>g){let m=c(T.slice(g,v),g);if(m>0)return m}let J0=v,h=J0+x[0].length,s=z<0?x[0].length:0;if(S+s>Y){if(y>0)return y;return J0>0?J0:h}S+=s,g=h,x=B.exec(T)}if(g<T.length){let v=c(T.slice(g),g);if(v>0)return v;g=T.length}if(j(T)&&y>0&&y<T.length)return y;return g||T.length;function c(v,J0){if(!v)return 0;let h=0,s=(m)=>{let n=J0+h,a=n+m.length,r=A(m),V0=S+r;if(V0>Y){if(y>0)return y;return n>0?n:a}if(S=V0,/\s/.test(m))y=n;else if($.test(m)||V.test(m))y=a;return h+=m.length,0};if(D&&z>=2){for(let m of D.segment(v)){let n=s(m.segment);if(n>0)return n}return 0}if(z>=2){let m=w.REGEXP.EmojiEach,n=0;while(n<v.length){m.lastIndex=n;let a=m.exec(v),r=null;if(a&&a.index===n)r=a[0],n+=r.length;else{let _0=v.codePointAt(n);r=String.fromCodePoint(_0),n+=r.length}let V0=s(r);if(V0>0)return V0}return 0}for(let m of v){let n=s(m);if(n>0)return n}return 0}}function L(T){let S=0,y=0,g=0,x=null,c=null,v=null,J0=null,h=null,s=null,m=!1,n=0;B.lastIndex=0;let a=B.exec(T);while(a&&!m){let Y0=a.index??0;if(Y0>n){if(V0(T.slice(n,Y0)))break}if(_0(a[0],!0))break;n=Y0+a[0].length,a=B.exec(T)}if(!m&&n<T.length)V0(T.slice(n));if(!U){let Y0=G(c,x)??g??y??T.length;return typeof Y0=="number"?Y0:Y0.breakIndex}let r=v??J0??x??c;if(s){let Y0=s.width-Y;if(Y0>0&&Y0<=Math.max(2,Math.ceil(Y*0.15)))return s.breakIndex}if(h){let Y0=h.width-Y,N0=Math.max(2,Math.ceil(Y*0.2));if(!h.isWhitespace&&Y0>0&&Y0<=N0)return h.breakIndex;if(h.isWhitespace&&z==1&&Y0>0&&Y0<=Math.max(1,Math.ceil(Y*0.12))){let u0=r?r.breakIndex:0,k0=T.slice(u0,h.breakIndex);if(/[^\x00-\x7F]/.test(k0))return h.breakIndex}if(r){let u0=T.slice(r.breakIndex,h.breakIndex).trim();if(z<=0&&h.isWhitespace&&Y0>0&&Y0<=N0&&/^[A-Za-z][A-Za-z'-]{0,11}$/.test(u0))return h.breakIndex}}if(r)return r.breakIndex;if(h)return h.breakIndex;if(s)return s.breakIndex;return y||T.length;function V0(Y0){if(!Y0)return!1;if(D&&z>=2){for(let N0 of D.segment(Y0))if(_0(N0.segment,!1))return!0;return!1}if(z>=2){let N0=w.REGEXP.EmojiEach,u0=0;while(u0<Y0.length){N0.lastIndex=u0;let k0=N0.exec(Y0),C0=null;if(k0&&k0.index===u0)C0=k0[0],u0+=C0.length;else{let x0=Y0.codePointAt(u0);C0=String.fromCodePoint(x0),u0+=C0.length}if(_0(C0,!1))return!0}return!1}for(let N0 of Y0)if(_0(N0,!1))return!0;return!1}function _0(Y0,N0){let u0=N0?z<0?Y0.length:0:A(Y0),k0=S+u0,C0=y;if(y+=Y0.length,!N0){if($.test(Y0)){let x0=Y0.trim().length===0,a0=x0?C0:y,C6=x0?S:k0,p0={breakIndex:a0,width:C6,isWhitespace:x0};if(C6<=Y){if(x=p0,C6>=K)v=p0}else if(!h)h=p0}if(V.test(Y0)){let x0={breakIndex:y,width:k0};if(x0.width<=Y){if(c=x0,x0.width>=K)J0=x0}else if(!s)s=x0}}if(!g&&k0>=Y)if(k0===Y)g=y;else if(C0===0&&N0)g=y;else g=C0>0?C0:y;if(S=k0,!U)return S>=Y;if(S<Y)return!1;if(h||s)return!0;if(v||J0)return!1;return!1}}function A(T){if(z<1)return T.length;let S=F.get(T);if(S!=null)return S;let y=w.ex_length(T,z);return F.set(T,y),y}function I(T){if(!T)return T;let S=[],y=0;B.lastIndex=0;let g=B.exec(T);while(g){let x=g.index??0;if(x>y)S.push({value:T.slice(y,x),isAnsi:!1});S.push({value:g[0],isAnsi:!0}),y=x+g[0].length,g=B.exec(T)}if(y<T.length)S.push({value:T.slice(y),isAnsi:!1});if(S.length===0)return T.replace(/\s+$/g,"");for(let x=S.length-1;x>=0;x--){if(S[x].isAnsi)continue;S[x].value=S[x].value.replace(/\s+$/g,"");break}return S.map((x)=>x.value).join("")}function G(T,S){if(!T)return S;if(!S)return T;return T.width>=S.width?T:S}function P(T,S){if(S<=0||S>=T.length)return S;B.lastIndex=0;let y=B.exec(T);while(y){let g=y.index??0,x=g+y[0].length;if(S>g&&S<x){if(g===0)return x;return g}y=B.exec(T)}return S}},supportsColor(Z=process?.stdout){if(!f8)return 3;if(w.CheckCache.forceColor===!1)return 0;if(w.argvHasFlag("color=16m")||w.argvHasFlag("color=full")||w.argvHasFlag("color=truecolor"))return 3;if(w.argvHasFlag("color=256"))return 2;if(Z&&!Z.isTTY&&w.CheckCache.forceColor!==!0)return 0;let Y=w.CheckCache.forceColor?1:0;if(process.platform==="win32"){if(!w._modules.os)w._modules.os=ON("os");let J=w._modules.os.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(J[0])>=10&&Number(J[2])>=10586)return Number(J[2])>=14931?3:2;return 1}let{env:Q}=process;if("CI"in Q){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((J)=>(J in Q))||Q.CI_NAME==="codeship")return 1;return Y}if("TEAMCITY_VERSION"in Q)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Q.TEAMCITY_VERSION)?1:0;if(Q.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Q){let J=parseInt((Q.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Q.TERM_PROGRAM){case"iTerm.app":return J>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(Q.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Q.TERM))return 1;if("COLORTERM"in Q)return 1;if(Q.TERM==="dumb")return Y;return Y},supportsHyperlink(Z=process?.stdout,Y=!1){if(!f8)return!0;let{env:Q}=process;if(!Q)return!1;if("FORCE_HYPERLINK"in Q)return!(Q.FORCE_HYPERLINK.length>0&&parseInt(Q.FORCE_HYPERLINK,10)===0);if(w.argvHasFlag("no-hyperlink")||w.argvHasFlag("no-hyperlinks")||w.argvHasFlag("hyperlink=false")||w.argvHasFlag("hyperlink=never"))return!1;if(w.argvHasFlag("hyperlink=true")||w.argvHasFlag("hyperlink=always"))return!0;if("NETLIFY"in Q)return!0;if(w.CheckCache.supportsColor>0)return!0;if(Z&&!Z.isTTY)return!1;if(process.platform==="win32")return!1;if("CI"in Q)return!1;if("TEAMCITY_VERSION"in Q)return!1;if("TERM_PROGRAM"in Q){let q=J(Q.TERM_PROGRAM_VERSION);switch(Q.TERM_PROGRAM){case"iTerm.app":if(q.major===3)return q.minor>=1;return q.major>3;case"WezTerm":return q.major>=20200620;case"vscode":return q.major>1||q.major===1&&q.minor>=72}}if("VTE_VERSION"in Q){if(Q.VTE_VERSION==="0.50.0")return!1;let q=J(Q.VTE_VERSION);return q.major>0||q.minor>=50}return!1;function J(q){if(/^\d{3,4}$/.test(q)){let z=/(\d{1,2})(\d{2})/.exec(q);return{major:0,minor:parseInt(z[1],10),patch:parseInt(z[2],10)}}let X=(q||"").split(".").map((z)=>parseInt(z,10));return{major:X[0],minor:X[1],patch:X[2]}}},surroundedBy(Z,Y,Q){if(Y<0)return!1;let J=-1/0,q=1/0,X=Z=="{"||Z=="["||Z=="("||Z=="<";for(let W=Y;W>0;W-=2){let U=Q.lastIndexOf(Z,W);if(U==-1)break;else J=U;if(Q[J-1]=="\\")J=-1/0}for(let W=0;W<Q.length;W+=2){let U=Q.indexOf(X?z(Z):Z,W);if(U==-1)break;else q=U;if(Q[q-1]=="\\")q=1/0}if(J==-1/0||q==1/0)return!1;return J<Y&&q>Y;function z(W){return String.fromCharCode(W.charCodeAt(0)+(W[0]=="("?1:2))}},Timer:class Z{time;resolution;isRunning=!1;maxTime;_res;_interval;_lastCheck=0;_onceEndCallback;_waitCallback;constructor(Y,Q="ms"){switch(this.maxTime=this.time=Y,this.resolution=Q,Q){case"ms":this._res=1;break;case"s":this._res=1000;break;case"m":this._res=60000;break}}start(){if(this.isRunning||this.time<=0)return;return this.isRunning=!0,this._lastCheck=Date.now(),this._interval=setInterval(this._checkTime,this._res==1?4:this._res/100),this}stop(){if(!this.isRunning)return;return clearInterval(this._interval),this.isRunning=!1,this.reset()}pause(){if(!this.isRunning)return;clearInterval(this._interval),this.isRunning=!1;return}reset(){return this.time=this.maxTime,this}async wait(){if(!this.isRunning)return;return new Promise((Y)=>{this._waitCallback=()=>{this._waitCallback=null,Y()}})}onceEnd(Y){return this._onceEndCallback=Y,this}_checkTime=()=>{let Y=Date.now(),Q=(Y-this._lastCheck)/this._res;if(this.time-=Q,this._lastCheck=Y,this.time>0)return;if(this.stop(),this.time=0,this._onceEndCallback)this._onceEndCallback(),this._onceEndCallback=null;if(this._waitCallback)this._waitCallback()}},toPlace(Z){switch(Z){case 1:return"1st";case 2:return"2nd";case 3:return"3rd";default:return Z+"th"}},toShortNum(Z,Y=2,Q=1000,J=!1,q=-Number.MAX_SAFE_INTEGER,X=Number.MAX_SAFE_INTEGER){if(Z===0)return"0";let z=Math.abs(Z),W=Math.sign(Z),U=z>0&&z<1,K=w.MathKit.clamp(Math.floor(Math.log(z)/Math.log(Q)),q,X);Z=Z/Math.pow(Q,K)*W;let B=w.maxFraction(Z,Y,J),V={4:"T",2:"M",3:"G",1:"k",0:"","-1":"m","-2":"μ","-3":"n","-4":"p"}[K]??`e${U?"":"+"}${K*3}`;return B+V},Tracer:class Z{liveLog=!0;log="";startTime;enableLogging=!1;recursive=!1;constructor(){this.startTime=new Date}createTracker=function(Y,Q,J){let q=(X,z)=>{let W=X.length;if(W<=z)return X;let K=W-(W-z)-3>>1;return X.slice(0,K)+"..."+X.slice(W-K+1)};return function(){if(!J.enableLogging)return Y.apply(this,arguments);let X=Y.apply(this,arguments)??"void",z="["+w.jsTime.howLong(J.startTime)+"] "+Q+"(";for(let W=0;W<arguments.length;W++){if(W>0)z+=", ";let U=w.yuString(arguments[W]);z+=U.trim().length?q(U,70):`"${U}"`}if(X==="void")z+=")";else z+="): "+q(w.yuString(X),70);if(J.log+=z+`
39
+ `,J.liveLog)console.log(z);return X==="void"?void 0:X}};attachTracer(Y,Q=""){if(Q.length>100)return this;if(typeof Y!=="object")return this;for(let J of Object.getOwnPropertyNames(Y)){let q=Y[J];if(Object.prototype.toString.call(q)==="[object Function]"){if(!w.isClass(q))Y[J]=this.createTracker(q,Q+J,this);if(this.recursive&&w.propertiesCount(q)>0)for(let X of Object.getOwnPropertyNames(q)){let z=q[X];return this.attachTracer(z,Q+J+".")}}}return this}},writeConfig(Z,Y,Q={}){if(!w._modules.fs)throw Error('fs module is required for Tools.writeConfig()\nimport them with `Tools._modules.fs = require("fs")`');let{ignoreList:J=[],minify:q=!1,replacer:X,mode:z="merge",useIniGroup:W=!1,alwaysWrapStrInQuotes:U=!1}=Q,K="";if(w._modules.fs.existsSync(Y)&&z=="merge")K=w._modules.fs.readFileSync(Y,{encoding:"utf-8"});K=w.stringifyConfig(Z,{ignoreList:J,minify:q,replacer:X,mode:z,useIniGroup:W,alwaysWrapStrInQuotes:U,oldConfigStr:K}),w._modules.fs.writeFileSync(Y,K,{encoding:"utf-8"})},yuString(Z,Y={}){let{color:Q=!1,defColor:J=void 0}=Y;switch(typeof Z){case"string":if(Q)return w.ncc(8373322)+`"${Z}"`+w.ncc(J);return`"${Z}"`;case"bigint":case"number":if(Q)return w.ncc(11609489)+Z+w.ncc(J);case"boolean":case"undefined":if(Q)return w.ncc(15756194)+Z+w.ncc(J);return Z+"";case"function":if(Q)return(w.isAsyncFunction(Z)?w.ncc(4802889)+"async ":"")+(w.isArrowFunction(Z)?w.ncc(13401911)+(Z.name||w.ncc(4802889)+"[anonymous]"+w.ncc(13401911))+" () => {...}":w.ncc(13401911)+(Z.name||w.ncc(4802889)+"[anonymous]"+w.ncc(13401911))+"()")+w.ncc(J);return(w.isAsyncFunction(Z)?"async ":"")+(w.isArrowFunction(Z)?(Z.name||"[anonymous]")+" () => {...}":(Z.name||"[anonymous]")+"()");case"symbol":if(Q)return w.ncc(13401911)+Z.toString()+w.ncc(J);return Z.toString()}if(Z==null){if(Q)return w.ncc(13136006)+Z+w.ncc(J);return Z+""}if(Z instanceof Date){if(Q)return w.ncc(11550650)+"Date"+w.ncc(J)+" "+Z.toISOString();return"Date "+Z.toISOString()}if(Z instanceof RegExp){if(Q)return w.ncc("Yellow")+Z.toString()+w.ncc(J);return Z.toString()}if(Z instanceof Promise)return w.ncc(11550650)+"Promise"+w.ncc(J)+" {...(pending)}";if(Z instanceof Map){let q=[...Z.entries()];return(Q?w.ncc(11550650)+`Map(${Z.size}) {`+w.ncc(J):`Map(${Z.size}) {`)+w.arrToString(q,{color:Q,defColor:J,noHeader:!0})+"}"}if(Z instanceof Set){let q=[...Z.values()];return(Q?w.ncc(11550650)+`Set(${Z.size}) {`+w.ncc(J):`Set(${Z.size}) {`)+w.arrToString(q,{color:Q,defColor:J,noHeader:!0})+"}"}if(w.isError(Z))return w.Err.toString(Z,{color:Q,defColor:J});try{if(typeof Z==="object"){if(w.isArrayLike(Z))return w.arrToString(Z,{color:Q,defColor:J});return w.objToString(Z,{color:Q,defColor:J})}}catch{}return"[unknown]"}};if(typeof window<"u")window._tools=w;({arrFindLast:yy,arrToString:PX,argvHasFlag:fy,asyncSleep:K7,beautifyJson:hy,beforeExit:xX,changeDateTimezone:gy,charTypeAt:my,CheckCache:Q6,cleanArr:py,cleanComments:uy,cleanString:bX,CONSTS:mZ,Convert:dy,ConsoleTime:cy,compareDate:ly,DataScienceKit:vX,deferredFunc:ny,digitAt:oy,digitAtRange:iy,getDimensions:sy,Err:o,escapeRegExp:ay,estimateStrComplexity:B7,ex_length:r0,fileNameCleaner:ry,fixFilePath:ty,fixYTurl:ey,fileTypeOf:Zf,getMatchAllIndexes:Yf,getMatchAllResults:Qf,getRandomInt:Jf,getProcessTime:qf,hasEmojiEst:Xf,hyperlink:S6,IDGenerator:zf,includesWord:Hf,IPC:Wf,isArrayLike:Uf,isArrowFunction:Kf,isAsyncFunction:Bf,isClass:$f,isNumber:Ff,isEmptyArray:Vf,isEmptyObject:Of,isError:SX,isValidFilePath:Df,JSONReplacer:Mf,JSONReviver:jf,jsTime:g8,lazySplit:_f,remap:yX,MathKit:o0,maxFraction:m8,ncc:M0,nearestNumber:Nf,objectMap:If,objValueAt:Lf,objToString:wf,propertiesCount:Af,padEnd:aQ,padStart:Gf,parseArgs:Cf,parseBool:Rf,parseConfig:Tf,parseValue:kf,pass:Ef,Progress:Pf,proximate:xf,randomPick:bf,redexOf:vf,REGEXP:fX,resolveNodeEnv:Sf,SafeTrue:hX,search:yf,sleep:ff,SpawnMirror:hf,strClamp:p8,stringifyConfig:gf,strJustify:b0,strLimit:B4,strSlice:gX,strSplice:mf,strSurround:pf,strWrap:t,supportsColor:uf,supportsHyperlink:df,surroundedBy:cf,Timer:lf,toPlace:nf,toShortNum:w6,Tracer:of,writeConfig:sf,yuString:u}=w)});var rQ;var mX=N(()=>{rQ={name:"gdx",version:"0.4.5",description:"Git, but with better DX. The raw power of Git, aligned with human workflows.",homepage:"https://github.com/Type-Delta/gdx#readme",bugs:{url:"https://github.com/Type-Delta/gdx/issues"},repository:{type:"git",url:"git+https://github.com/Type-Delta/gdx.git"},keywords:["git","dx","cli-wrapper"],license:"MIT",author:"Type-Delta",type:"module",main:"dist/index.js",bin:{gdx:"scripts/launcher.cjs"},files:["dist/*.js","dist/workers/*.js","scripts/postinstall.cjs","scripts/launcher.cjs","README.md","LICENSE"],packageManager:"bun@1.3.10",scripts:{"prepare-dev":"bun i && bun run transpile-esm",start:"bun run src/index.ts","start:profile":"bun --cpu-prof src/index.ts","start:node":"tsx src/index.ts","transpile-esm":"bunx tsc -p lib/tsconfig.json && bun run scripts/transform-tools.mjs",check:"bun run ts-check && bun run lint && bun run build",lint:"bun run ts-check && eslint src --ext .ts -c eslint.config.ts --fix",test:"bun test",build:"bun run transpile-esm && bun build ./src/index.ts --outfile=./bin/gdx --compile --bytecode --production --keep-names","ts-check":"bunx tsc --noEmit","package:node":"bun run transpile-esm && bun build ./src/index.ts --outdir=./dist --target=node --external=keytar --external=cspell-lib --external=@shikijs/cli --external=yaml --external=openai --external=fflate --format=esm --production --keep-names && bun build ./src/workers/generic.worker.ts --outfile=./dist/workers/generic.worker.min.js --target=node --external=@shikijs/cli --format=esm --production --minify --keep-names",prepack:"bun run package:node",postinstall:"node scripts/postinstall.cjs",prettier:'prettier --write "src/**/*.ts" "test/**/*.ts" "./*.md"',"dummy-editor":"bun ./scripts/dummyEditor.mjs","bench:litedent":"bun run ./test/benchmarks/litedent.bench.ts","bench:git-config":"bun run ./test/benchmarks/git-config.bench.ts","bench:strwrap":"bun run ./test/benchmarks/tools/strwrap.bench.js"},devDependencies:{"@babel/cli":"^7.28.6","@babel/core":"^7.29.0","@babel/preset-env":"^7.29.5","@babel/preset-typescript":"^7.28.5","@eslint/js":"^9.39.4","@sinclair/typebox":"^0.34.49","@types/chai":"^5.2.3","@types/ini":"^4.1.1","@typescript-eslint/eslint-plugin":"^8.59.4","@typescript-eslint/parser":"^8.59.4","bun-types":"latest",chai:"^6.2.2",dedent:"^1.7.2",eslint:"^10.4.0",execa:"^9.6.1",ini:"^7.0.0",jiti:"^2.7.0",prettier:"^3.8.3","smol-toml":"^1.6.1",tinybench:"^6.0.2",tsx:"^4.22.3",typescript:"^6.0.3","typescript-eslint":"^8.59.4","unicode-animations":"^1.0.3"},dependencies:{"@shikijs/cli":"^4.1.0","cspell-lib":"10.0.0",diff:"^9.0.0",fflate:"^0.8.3",keytar:"^7.9.0",openai:"^6.38.0",yaml:"^2.9.0"}}});function d0(Z){return Z.replace(/\\/g,"/")}import pZ from"fs";import pX from"path";import _N from"fs/promises";import{existsSync as l,readFileSync as Z4,writeFileSync as $4,mkdirSync as i0,mkdtempSync as F7,rmSync as y6,accessSync as dX,readdirSync as l6,appendFileSync as cX,unlinkSync as tQ,cpSync as lX,constants as eQ}from"fs";import{access as nX,rm as _6,rmdir as Xh,mkdir as b4,mkdtemp as Z2,readdir as u8,readlink as zh,rename as V7,stat as f6,link as Hh,unlink as O7,writeFile as c0,appendFile as Wh,readFile as f0,cp as Y2}from"fs/promises";async function dZ(Z){if(!Z)return;try{if(!pZ.existsSync(Z))return;return(await _N.stat(Z)).mtimeMs}catch{return}}function uZ(Z){if(!Z)return"";let Y=Z;try{Y=pZ.realpathSync.native?pZ.realpathSync.native(Z):pZ.realpathSync(Z)}catch{Y=pX.resolve(Z)}return process.platform==="win32"?d0(Y).toLowerCase():Y}function uX(Z,Y){let Q=uZ(Z).replace(/\/+$/,""),J=uZ(Y).replace(/\/+$/,"");if(!Q||!J)return!1;if(J===Q)return!0;return J.startsWith(`${Q}/`)}async function $7(Z,Y){let Q=pZ.readdirSync(Z,{withFileTypes:!0});for(let J of Q.sort((q,X)=>q.name.localeCompare(X.name))){let q=pX.join(Z,J.name);if(J.isDirectory()){await $7(q,Y);continue}if(J.isFile())await Y(q)}}var J6=()=>{};import{constants as NN}from"fs";function C(Z="",Y=`
40
+ `){if(oX){oX(Z+Y);return}process.stdout.write(Z+Y)}async function Q2(Z){try{if(!(await f6(Z)).isFile())return!1;return await nX(Z,NN.X_OK),!0}catch{return!1}}function h0(Z,Y,Q=!1){if(Z==="")return{match:null,candidates:Y,isExact:!1};let J=[];for(let q of Y){if(q===Z)return{match:q,candidates:null,isExact:!0};if(q.startsWith(Z))J.push(q)}if(Q&&J.length>1)J=[J[0]];return{match:J.length===1?J[0]:null,candidates:J,isExact:J.includes(Z)}}function D7(Z){return Z.map((Y)=>{if(/[\s"`$\\]/.test(Y))return`"${Y.replace(/(["\\$`])/g,"\\$1")}"`;return Y})}function J2(Z){if(!Z)return"";return Z.replace(/[/\\]/g,"_").replace(/[<>:"|?*\x00-\x1f]/g,"_")}function iX(Z){return["1","true","yes","on"].includes(Z.toLowerCase())}function sX(Z,Y){let Q=Z.split(".").map(Number),J=Y.split(".").map(Number),q=Math.max(Q.length,J.length);for(let X=0;X<q;X++){let z=Q[X]||0,W=J[X]||0;if(z>W)return 1;if(z<W)return-1}return 0}function aX(Z,Y){let Q=[],J=-1;for(let q=0;q<Z.length;q++){let X=Z[q],z=Y(X,q,Z);if(!Q[z]){if(Q[z]=[],J+1<z)for(let W=J+1;W<z;W++)Q[W]=[];J=z}Q[z].push(X)}return Q}var oX=null,h6=()=>{};var R0=N(()=>{J6()});import X2 from"os";import v4 from"path";var q2,R,K6,rX,tX=".gdxrc.toml",eX,cZ,Zz,z2,M7=1,X8=150,n6,o6,j7,H2,_7="gdx-cli",S4,IN="cache.json",LN="macro.json",N7="catppuccin-mocha",E,X0,H,Yz,z8,Qz,W2,Jz,qz,I7,lZ=86400000,g6,H8,L7=360,Xz=7,zz="https://openrouter.ai/api/v1",Hz=512000,nZ,Wz,Uz,Kz,Bz,$z,Fz,U2,Vz="https://github.com/github-linguist/linguist/raw/refs/heads/main/lib/linguist/languages.yml",K2="languages.catalog",Oz,Dz=4000,B2,Mz=7,$2=3,jz=7,_z=50,Nz=25,F2=10,Iz=28,w7=1,F4=".gdxsnap",Lz=64,i6=7,oZ="GDX_SNAP_META";var H0=N(()=>{mX();R0();z0();q2=v4.basename(process.argv[0]||"gdx",v4.extname(process.argv[0]||"")),R=q2.startsWith("bun")||q2.startsWith("node")?"gdx":q2,K6=process.env.GDX_TEMP_DIR||X2.tmpdir(),rX=process.env.GDX_CURRENT_DIR||process.cwd(),eX=v4.join(X2.homedir(),".gdx"),cZ=v4.join(eX,tX),Zz=v4.join(K6,"gdx","gdx.log"),z2=v4.join(X2.homedir(),tX),n6=process.env.GDX_RESULT,o6=rQ.version||"unknown",j7=rQ.homepage||"",H2=process.env.GDX_WRITE_LOGS!=null?iX(process.env.GDX_WRITE_LOGS):!0,S4=["llm.apiKey"],E={OceanDeepBlue:[46,149,153],OceanGreen:[57,211,83],ForestGreen:[34,139,34],SunsetOrange:[255,99,71],MidnightBlack:[10,16,36],Zinc700:[63,63,70],Zinc500:[113,113,122],Zinc400:[161,161,170],Zinc100:[244,244,245],Zinc050:[250,250,250],Fuchsia400:[232,121,249],Teal300:[94,234,212]},X0={base:[30,30,46],mantle:[24,24,37],crust:[17,17,27],surface0:[49,50,68],surface1:[69,71,90],overlay0:[147,153,178],overlay1:[127,132,156],text:[205,214,244],green:[166,227,161],red:[243,139,168],yellow:[249,226,175],blue:[137,180,250],cyan:[148,226,213],lavender:[180,190,254]},H={reset:M0(),normal:M0("Normal"),black:M0("Black"),white:M0("White"),red:M0("Red"),green:M0("Green"),yellow:M0("Yellow"),blue:M0("Blue"),magenta:M0("Magenta"),cyan:M0("Cyan"),dim:M0("Dim"),italic:M0("Italic"),bright:M0("Bright"),invert:M0("Invert"),underline:M0("Underline"),bgWhite:M0("BgWhite"),bgRed:M0("BgRed"),bgYellow:M0("BgYellow")},Yz=["⠁⠀","⠋⠀","⠟⠁","⡿⠋","⣿⠟","⣿⡿","⣿⣿","⣿⣿","⣾⣿","⣴⣿","⣠⣾","⢀⣴","⠀⣠","⠀⢀","⠀⠀","⠀⠀","⠀⠀","⠀⠀","⠀⠀","⠀⠀"],z8={AVG_CHARS_PER_LINE:40,AVG_LINES_PER_FUNCTION:45,AVG_LINES_PER_FILE:500},Qz=[/api[\w_-]?key[\w_-]?\s*=\s*['"].+['"]/i,/access[\w_-]?token[\w_-]?\s*=\s*['"].+['"]/i,/private[\w_-]?key[\w_-]?\s*=\s*['"].+['"]/i,/sk-ant-[\d\w]{32,}/,/sk-[\d\w]{32,}/,/sk-or-[\d\w]{32,}/,/-----\s*BEGIN PRIVATE KEY\s*-----/i],W2=/^diff --(git|cc|combined)\b/,Jz=/^diff --(git|cc|combined)\b/m,qz=/^\x1b\[[0-9;]*m/,I7={ts:"typescript",tsx:"tsx",js:"javascript",mjs:"javascript",cjs:"javascript",jsx:"jsx",json:"json",md:"markdown",css:"css",scss:"scss",html:"html",vue:"vue",svelte:"svelte",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",kt:"kotlin",swift:"swift",c:"c",cpp:"cpp",h:"c",hpp:"cpp",sh:"bash",bash:"bash",zsh:"bash",yml:"yaml",yaml:"yaml",toml:"toml",xml:"xml",sql:"sql",dockerfile:"dockerfile",docker:"dockerfile",makefile:"makefile",cmake:"cmake",lua:"lua",perl:"perl",php:"php"},g6=v4.join(K6,"gdx",IN),H8=v4.join(eX,LN),nZ=["add","branch","checkout","clone","commit","diff","log","pull","push","rebase","reset","revert","merge","init","stash","status","switch","submodule","tag","fetch","remote","show","config","parallel","nocap","clear","reword","gdx-config","graph","macro","cache","doctor","snap"],Wz=["s","st","co","br","cmi","mg","pl","pu","ps","ad","rv","rb","lg","sta"],Uz=["--loglevel","--ghelp","--bypass","--no-enhance"],Kz=["--loglevel","--init","--shell","--cmd"],Bz=["--ghelp","--bypass","--no-enhance","-gh"],$z=["-C","-c","--git-dir","--work-tree","--namespace","--config-env"],Fz=["--no-pager","--no-optional-locks","--literal-pathspecs","--glob-pathspecs","--noglob-pathspecs","--icase-pathspecs"],U2=[".pdf",".doc",".docx",".zip",".tar",".png",".jpg",".jpeg",".gif"],Oz=lZ*7,B2=[163,222,407,337,51,174,365,88,80]});function d(Z,Y,Q,J=0,q=1){if(J<0)J=0;else if(q>1)q=1;if(!(J<q)||Q6.supportsColor<3)return Z;let X=Z.length,z=Math.floor(X*J),W=Math.floor(X*q),U=W-z,K=(Q[0]-Y[0])/U,B=(Q[1]-Y[1])/U,$=(Q[2]-Y[2])/U,V="";for(let D=0;D<X;D++)if(D<z)V+=`\x1B[38;2;${Y[0]};${Y[1]};${Y[2]}m${Z[D]}`;else if(D>=z&&D<=W){let F=D-z,O=Math.round(o0.clamp(Y[0]+K*F,0,255)),j=Math.round(o0.clamp(Y[1]+B*F,0,255)),_=Math.round(o0.clamp(Y[2]+$*F,0,255));V+=`\x1B[38;2;${O};${j};${_}m${Z[D]}`}else V+=`\x1B[38;2;${Q[0]};${Q[1]};${Q[2]}m${Z[D]}`;return V+="\x1B[0m",V}function wz(Z,Y,Q){let J=o0.clamp(Math.round(Z[0]+(Y[0]-Z[0])*Q),0,255),q=o0.clamp(Math.round(Z[1]+(Y[1]-Z[1])*Q),0,255),X=o0.clamp(Math.round(Z[2]+(Y[2]-Z[2])*Q),0,255);return[J,q,X]}function Az(Z,Y,Q,J=0.5,q=0.3){if(J<0)J=0;else if(J>1)J=1;if(q<=0||Q6.supportsColor<3)return Z;let X=Z.length,z=J*X,W=q*X,U="";for(let K=0;K<X;K++){let $=Math.abs(K-z)/W;$=o0.clamp($,0,1);let V=Math.round(o0.clamp(Y[0]+(Q[0]-Y[0])*$,0,255)),D=Math.round(o0.clamp(Y[1]+(Q[1]-Y[1])*$,0,255)),F=Math.round(o0.clamp(Y[2]+(Q[2]-Y[2])*$,0,255));U+=`\x1B[38;2;${V};${D};${F}m${Z[K]}`}return U+="\x1B[0m",U}function y4(Z){let Y=o0.clamp(Math.round(Z[0]),0,255),Q=o0.clamp(Math.round(Z[1]),0,255),J=o0.clamp(Math.round(Z[2]),0,255);return(Y<<16)+(Q<<8)+J}function Gz(Z,Y,Q){let J,q,X;if(Y===0)J=q=X=Q;else{let z=(K,B,$)=>{if($<0)$+=1;if($>1)$-=1;if($<0.16666666666666666)return K+(B-K)*6*$;if($<0.5)return B;if($<0.6666666666666666)return K+(B-K)*(0.6666666666666666-$)*6;return K},W=Q<0.5?Q*(1+Y):Q+Y-Q*Y,U=2*Q-W;J=z(U,W,Z+0.3333333333333333),q=z(U,W,Z),X=z(U,W,Z-0.3333333333333333)}return[Math.round(J*255),Math.round(q*255),Math.round(X*255)]}function O6(Z,Y,Q){return[Math.round(Z[0]*(1-Q)+Y[0]*Q),Math.round(Z[1]*(1-Q)+Y[1]*Q),Math.round(Z[2]*(1-Q)+Y[2]*Q)]}function T0(Z){return`\x1B[38;2;${Z[0]};${Z[1]};${Z[2]}m`}function l0(Z){return`\x1B[48;2;${Z[0]};${Z[1]};${Z[2]}m`}function d8(Z){return Z.replace(/\x1b\[[0-9;]*m/g,"")}function iZ(Z,Y,Q,J,q){let W=0,U=1,K=Z;for(let B=0;B<10;B++){let V=GN(K,Y,J)-Z;if(Math.abs(V)<0.000001)break;if(V>0)U=K;else W=K;K=(W+U)/2}return CN(K,Q,q)}function GN(Z,Y,Q){let J=1-Z;return 3*J*J*Z*Y+3*J*Z*Z*Q+Z*Z*Z}function CN(Z,Y,Q){let J=1-Z;return 3*J*J*Z*Y+3*J*Z*Z*Q+Z*Z*Z}function RN(Z){for(let[Y,Q]of wN)if(Q===Z)return Y;return null}function sZ(Z){let Y={},Q=[...Z.matchAll(fX.ANSICode)].reverse();for(let J of Q){let q=J[1],X=RN("\x1B"+q);if(X)if(X==="reset")break;else if(!Y.bg&&X.startsWith("bg"))Y.bg=X;else if(AN.includes(X)){if(!Y.sp)Y.sp=[];Y.sp.unshift(X)}else{if(Y.fg)continue;Y.fg=X}else if(!Y.fg&&q.startsWith("[38;2;")){let[z,W,U]=q.slice(6).split(";").map((K)=>parseInt(K,10));Y.fg=[z,W,U]}else if(!Y.bg&&q.startsWith("[48;2;")){let[z,W,U]=q.slice(6).split(";").map((K)=>parseInt(K,10));Y.bg=[z,W,U]}}return Y}function aZ(Z){let Y="";if(Z.sp)for(let Q of Z.sp){let J=mZ.AnsiColorCodes[Q];if(J)Y+=J}if(Z.fg)if(typeof Z.fg==="string"){let Q=mZ.AnsiColorCodes[Z.fg];if(Q)Y+=Q}else Y+=T0(Z.fg);if(Z.bg)if(typeof Z.bg==="string"){let Q=mZ.AnsiColorCodes[Z.bg];if(Q)Y+=Q}else Y+=l0(Z.bg);return Y}function Rz(Z,Y={}){let{padding:Q=1,columnWidth:J="auto",columnAlign:q="left",borderStyle:X="unicode",borderAnsiColor:z,redundancyLv:W=0}=Y;if(!Z?.length)return"";let U=Math.max(0,...Z.map((h)=>h?.length??0));if(!U)return"";let[K,B,$,V]=y(Q),D=Z.map((h)=>Array(U).fill("").map((s,m)=>String(h?.[m]??""))),F=g(q,U),O=D.map((h)=>h.map((s)=>s.split(/\r?\n/))),j=Array(U).fill(0);for(let h=0;h<U;h++)for(let s=0;s<O.length;s++)for(let m of O[s][h]){let n=r0(m,W);if(n>j[h])j[h]=n}let _=x(J,j),L=O.map((h)=>h.map((s,m)=>{let n=_[m];if(n<=0)return[""];let a=[];for(let r of s){if(r0(r,W)<=n){a.push(r);continue}let V0=t(r,n,{mode:"strict",redundancyLv:W}).split(`
41
+ `),_0=null;for(let Y0=0;Y0<V0.length;Y0++){if(_0)V0[Y0]=_0+V0[Y0];_0=aZ(sZ(V0[Y0]))}a.push(...V0)}return a.length?a:[""]})),A=_.map((h)=>h+V+B),I=c(X),G=v(z),P=G?H.reset:"",T=(h)=>G?`${G}${h}${P}`:h,S=[];if(I)S.push(J0("top"));for(let h=0;h<D.length;h++){let s=L[h],m=Math.max(1,...s.map((a)=>a.length)),n=K+m+$;for(let a=0;a<n;a++){let r=[];for(let _0=0;_0<U;_0++){let Y0=a-K,N0=Y0>=0&&Y0<s[_0].length?s[_0][Y0]:"",u0=b0(N0,_[_0],{align:F[_0],filler:" ",overflow:"visible",redundancyLv:W});r.push(" ".repeat(V)+u0+" ".repeat(B))}if(!I){S.push(r.join(""));continue}let V0=T(I.v);for(let _0=0;_0<r.length;_0++)if(V0+=r[_0],_0<r.length-1)V0+=T(I.v);V0+=T(I.v),S.push(V0)}if(I&&h<D.length-1)S.push(J0("mid"))}if(I)S.push(J0("bottom"));return S.join(`
42
+ `);function y(h){if(typeof h==="number"){let m=Math.max(0,Math.floor(h));return[m,m,m,m]}if(!h.length)return[1,1,1,1];let s=h.map((m)=>Math.max(0,Math.floor(m||0)));switch(s.length){case 1:return[s[0],s[0],s[0],s[0]];case 2:return[s[0],s[1],s[0],s[1]];case 3:return[s[0],s[1],s[2],s[1]];default:return[s[0],s[1],s[2],s[3]]}}function g(h,s){if(typeof h==="string")return Array(s).fill(h);return Array(s).fill("left").map((m,n)=>h[n]??h[h.length-1]??"left")}function x(h,s){if(h==="auto")return[...s];if(typeof h==="number"){let m=Math.max(0,Math.floor(h));return Array(s.length).fill(m)}return s.map((m,n)=>{let a=h[n]??h[h.length-1]??"auto";if(a==="auto")return m;return Math.max(0,Math.floor(a))})}function c(h){if(h==="none")return null;if(h==="ascii")return{topLeft:"+",topJoin:"+",topRight:"+",leftJoin:"+",cross:"+",rightJoin:"+",bottomLeft:"+",bottomJoin:"+",bottomRight:"+",h:"-",v:"|"};return{topLeft:"┌",topJoin:"┬",topRight:"┐",leftJoin:"├",cross:"┼",rightJoin:"┤",bottomLeft:"└",bottomJoin:"┴",bottomRight:"┘",h:"─",v:"│"}}function v(h){if(!h||X==="none")return"";if(typeof h==="string"){if(h.includes("\x1B["))return h;return M0(h)}return M0(y4(h))}function J0(h){if(!I)return"";let s=h==="top"?I.topLeft:h==="bottom"?I.bottomLeft:I.leftJoin,m=h==="top"?I.topJoin:h==="bottom"?I.bottomJoin:I.cross,n=h==="top"?I.topRight:h==="bottom"?I.bottomRight:I.rightJoin,a=T(s);for(let r=0;r<A.length;r++)if(a+=T(I.h.repeat(A[r])),r<A.length-1)a+=T(m);return a+=T(n),a}}var wN,AN,Cz;var v0=N(()=>{z0();H0();wN=Object.entries(mZ.AnsiColorCodes),AN=["bright","dim","italic","underline","inverse","hidden"];Cz={linear:(Z)=>Z,easeIn:(Z)=>iZ(Z,0.42,0,1,1),easeOut:(Z)=>iZ(Z,0,0,0.58,1),easeInOut:(Z)=>iZ(Z,0.42,0,0.58,1),smooth:(Z)=>iZ(Z,0.25,0.1,0.25,1),bounce:(Z)=>iZ(Z,0.68,-0.55,0.265,1.55)}});class V2{usage=0;max;timeout;queue;_onTimeout=null;constructor(Z,Y){this.max=Math.max(1,Z),this.timeout=Y,this.queue=[]}setMax(Z){this.max=Math.max(1,Z)}async acquire(){if(this.usage<this.max){this.usage++;return}return new Promise((Z)=>{let Y=()=>{Z()};if(this.queue.push(Y),this.timeout)setTimeout(()=>{this._onTimeout?.();let Q=this.queue.indexOf(Y);if(Q!==-1)this.queue.splice(Q,1),Z()},this.timeout)})}release(){if(this.queue.length>0)this.queue.shift()();else if(this.usage>0)this.usage--}available(){return this.max-this.usage}onTimeout(Z){return this._onTimeout=Z,this}}var p;var S0=N(()=>{p={exitCodeOverride:-1,finalStringOutput:"",logLevel:"warn",terminalWidth:process.stdout.columns||100,indexArgs:!0,threadResources:new V2(4)}});function n0(Z){if(typeof Z!=="object"||Z===null)return!1;let Y=Object.getPrototypeOf(Z);return(Y===null||Y===Object.prototype||Object.getPrototypeOf(Y)===null)&&!(Symbol.toStringTag in Z)&&!(Symbol.iterator in Z)}import{fileURLToPath as TN}from"node:url";var c8=(Z,Y)=>{let Q=D2(kN(Z));if(typeof Q!=="string")throw TypeError(`${Y} must be a string or a file URL: ${Q}.`);return Q},kN=(Z)=>O2(Z)?Z.toString():Z,O2=(Z)=>typeof Z!=="string"&&Z&&Object.getPrototypeOf(Z)===String.prototype,D2=(Z)=>Z instanceof URL?TN(Z):Z;var l8=()=>{};var A7=(Z,Y=[],Q={})=>{let J=c8(Z,"First argument"),[q,X]=n0(Y)?[[],Y]:[Y,Q];if(!Array.isArray(q))throw TypeError(`Second argument must be either an array of arguments or an options object: ${q}`);if(q.some((U)=>typeof U==="object"&&U!==null))throw TypeError(`Second argument must be an array of strings: ${q}`);let z=q.map(String),W=z.find((U)=>U.includes("\x00"));if(W!==void 0)throw TypeError(`Arguments cannot contain null bytes ("\\0"): ${W}`);if(!n0(X))throw TypeError(`Last argument must be an options object: ${X}`);return[J,z,X]};var M2=N(()=>{l8()});import{StringDecoder as EN}from"node:string_decoder";var Tz,kz=(Z)=>Tz.call(Z)==="[object ArrayBuffer]",t0=(Z)=>Tz.call(Z)==="[object Uint8Array]",V4=(Z)=>new Uint8Array(Z.buffer,Z.byteOffset,Z.byteLength),PN,Ez=(Z)=>PN.encode(Z),xN,G7=(Z)=>xN.decode(Z),Pz=(Z,Y)=>{return bN(Z,Y).join("")},bN=(Z,Y)=>{if(Y==="utf8"&&Z.every((X)=>typeof X==="string"))return Z;let Q=new EN(Y),J=Z.map((X)=>typeof X==="string"?Ez(X):X).map((X)=>Q.write(X)),q=Q.end();return q===""?J:[...J,q]},rZ=(Z)=>{if(Z.length===1&&t0(Z[0]))return Z[0];return j2(vN(Z))},vN=(Z)=>Z.map((Y)=>typeof Y==="string"?Ez(Y):Y),j2=(Z)=>{let Y=new Uint8Array(SN(Z)),Q=0;for(let J of Z)Y.set(J,Q),Q+=J.length;return Y},SN=(Z)=>{let Y=0;for(let Q of Z)Y+=Q.length;return Y};var R6=N(()=>{({toString:Tz}=Object.prototype),PN=new TextEncoder,xN=new TextDecoder});import{ChildProcess as yN}from"node:child_process";var Sz=(Z)=>Array.isArray(Z)&&Array.isArray(Z.raw),yz=(Z,Y)=>{let Q=[];for(let[X,z]of Z.entries())Q=fN({templates:Z,expressions:Y,tokens:Q,index:X,template:z});if(Q.length===0)throw TypeError("Template script must not be empty");let[J,...q]=Q;return[J,q,{}]},fN=({templates:Z,expressions:Y,tokens:Q,index:J,template:q})=>{if(q===void 0)throw TypeError(`Invalid backslash sequence: ${Z.raw[J]}`);let{nextTokens:X,leadingWhitespaces:z,trailingWhitespaces:W}=hN(q,Z.raw[J]),U=bz(Q,X,z);if(J===Y.length)return U;let K=Y[J],B=Array.isArray(K)?K.map(($)=>vz($)):[vz(K)];return bz(U,B,W)},hN=(Z,Y)=>{if(Y.length===0)return{nextTokens:[],leadingWhitespaces:!1,trailingWhitespaces:!1};let Q=[],J=0,q=xz.has(Y[0]);for(let z=0,W=0;z<Z.length;z+=1,W+=1){let U=Y[W];if(xz.has(U)){if(J!==z)Q.push(Z.slice(J,z));J=z+1}else if(U==="\\"){let K=Y[W+1];if(K===`
43
+ `)z-=1,W+=1;else if(K==="u"&&Y[W+2]==="{")W=Y.indexOf("}",W+3);else W+=gN[K]??1}}let X=J===Z.length;if(!X)Q.push(Z.slice(J));return{nextTokens:Q,leadingWhitespaces:q,trailingWhitespaces:X}},xz,gN,bz=(Z,Y,Q)=>Q||Z.length===0||Y.length===0?[...Z,...Y]:[...Z.slice(0,-1),`${Z.at(-1)}${Y[0]}`,...Y.slice(1)],vz=(Z)=>{let Y=typeof Z;if(Y==="string")return Z;if(Y==="number")return String(Z);if(n0(Z)&&(("stdout"in Z)||("isMaxBuffer"in Z)))return mN(Z);if(Z instanceof yN||Object.prototype.toString.call(Z)==="[object Promise]")throw TypeError("Unexpected subprocess in template expression. Please use ${await subprocess} instead of ${subprocess}.");throw TypeError(`Unexpected "${Y}" in template expression`)},mN=({stdout:Z})=>{if(typeof Z==="string")return Z;if(t0(Z))return G7(Z);if(Z===void 0)throw TypeError(`Missing result.stdout in template expression. This is probably due to the previous subprocess' "stdout" option.`);throw TypeError(`Unexpected "${typeof Z}" stdout in template expression`)};var fz=N(()=>{R6();xz=new Set([" ","\t","\r",`
44
+ `]),gN={x:3,u:5}});import _2 from"node:process";var s6=(Z)=>C7.includes(Z),C7,m6,R7=(Z)=>m6[Z]??`stdio[${Z}]`;var O4=N(()=>{C7=[_2.stdin,_2.stdout,_2.stderr],m6=["stdin","stdout","stderr"]});import{debuglog as pN}from"node:util";var gz=(Z)=>{let Y={...Z};for(let Q of L2)Y[Q]=N2(Z,Q);return Y},N2=(Z,Y)=>{let Q=Array.from({length:uN(Z)+1}),J=dN(Z[Y],Q,Y);return iN(J,Y)},uN=({stdio:Z})=>Array.isArray(Z)?Math.max(Z.length,m6.length):m6.length,dN=(Z,Y,Q)=>n0(Z)?cN(Z,Y,Q):Y.fill(Z),cN=(Z,Y,Q)=>{for(let J of Object.keys(Z).sort(lN))for(let q of nN(J,Q,Y))Y[q]=Z[J];return Y},lN=(Z,Y)=>hz(Z)<hz(Y)?1:-1,hz=(Z)=>{if(Z==="stdout"||Z==="stderr")return 0;return Z==="all"?2:1},nN=(Z,Y,Q)=>{if(Z==="ipc")return[Q.length-1];let J=I2(Z);if(J===void 0||J===0)throw TypeError(`"${Y}.${Z}" is invalid.
45
45
  It must be "${Y}.stdout", "${Y}.stderr", "${Y}.all", "${Y}.ipc", or "${Y}.fd3", "${Y}.fd4" (and so on).`);if(J>=Q.length)throw TypeError(`"${Y}.${Z}" is invalid: that file descriptor does not exist.
46
- Please set the "stdio" option to ensure that file descriptor exists.`);return J==="all"?[1,2]:[J]},V2=(Z)=>{if(Z==="all")return Z;if(g6.includes(Z))return g6.indexOf(Z);let Y=kN.exec(Z);if(Y!==null)return Number(Y[1])},kN,EN=(Z,Y)=>Z.map((Q)=>Q===void 0?PN[Y]:Q),xN,PN,O2,O8=(Z,Y)=>Y==="ipc"?Z.at(-1):Z[Y];var D8=j(()=>{V8();kN=/^fd(\d+)$/,xN=wN("execa").enabled?"full":"none",PN={lines:!1,buffer:!0,maxBuffer:1e8,verbose:xN,stripFinalNewline:!0},O2=["lines","buffer","maxBuffer","verbose","stripFinalNewline"]});var d4=({verbose:Z},Y)=>D2(Z,Y)!=="none",c4=({verbose:Z},Y)=>!["none","short"].includes(D2(Z,Y)),kz=({verbose:Z},Y)=>{let Q=D2(Z,Y);return G7(Q)?Q:void 0},D2=(Z,Y)=>Y===void 0?bN(Z):O8(Z,Y),bN=(Z)=>Z.find((Y)=>G7(Y))??C7.findLast((Y)=>Z.includes(Y)),G7=(Z)=>typeof Z==="function",C7;var S8=j(()=>{D8();C7=["none","short","full"]});import{platform as vN}from"node:process";import{stripVTControlCharacters as SN}from"node:util";var Ez=(Z,Y)=>{let Q=[Z,...Y],J=Q.join(" "),q=Q.map((X)=>pN(xz(X))).join(" ");return{command:J,escapedCommand:q}},aZ=(Z)=>SN(Z).split(`
47
- `).map((Y)=>xz(Y)).join(`
48
- `),xz=(Z)=>Z.replaceAll(hN,(Y)=>yN(Y)),yN=(Z)=>{let Y=gN[Z];if(Y!==void 0)return Y;let Q=Z.codePointAt(0),J=Q.toString(16);return Q<=mN?`\\u${J.padStart(4,"0")}`:`\\U${J}`},fN=()=>{try{return new RegExp("\\p{Separator}|\\p{Other}","gu")}catch{return/[\s\u0000-\u001F\u007F-\u009F\u00AD]/g}},hN,gN,mN=65535,pN=(Z)=>{if(uN.test(Z))return Z;return vN==="win32"?`"${Z.replaceAll('"','""')}"`:`'${Z.replaceAll("'","'\\''")}'`},uN;var R7=j(()=>{hN=fN(),gN={" ":" ","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"},uN=/^[\w./-]+$/});import Pz from"node:process";function M2(){let{env:Z}=Pz,{TERM:Y,TERM_PROGRAM:Q}=Z;if(Pz.platform!=="win32")return Y!=="linux";return Boolean(Z.WT_SESSION)||Boolean(Z.TERMINUS_SUBLIME)||Z.ConEmuTask==="{cmd::Cmder}"||Q==="Terminus-Sublime"||Q==="vscode"||Y==="xterm-256color"||Y==="alacritty"||Y==="rxvt-unicode"||Y==="rxvt-unicode-256color"||Z.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var bz=()=>{};var vz,Sz,dN,cN,lN,nN,oN,T7,Ih;var yz=j(()=>{bz();vz={circleQuestionMark:"(?)",questionMarkPrefix:"(?)",square:"█",squareDarkShade:"▓",squareMediumShade:"▒",squareLightShade:"░",squareTop:"▀",squareBottom:"▄",squareLeft:"▌",squareRight:"▐",squareCenter:"■",bullet:"●",dot:"․",ellipsis:"…",pointerSmall:"›",triangleUp:"▲",triangleUpSmall:"▴",triangleDown:"▼",triangleDownSmall:"▾",triangleLeftSmall:"◂",triangleRightSmall:"▸",home:"⌂",heart:"♥",musicNote:"♪",musicNoteBeamed:"♫",arrowUp:"↑",arrowDown:"↓",arrowLeft:"←",arrowRight:"→",arrowLeftRight:"↔",arrowUpDown:"↕",almostEqual:"≈",notEqual:"≠",lessOrEqual:"≤",greaterOrEqual:"≥",identical:"≡",infinity:"∞",subscriptZero:"₀",subscriptOne:"₁",subscriptTwo:"₂",subscriptThree:"₃",subscriptFour:"₄",subscriptFive:"₅",subscriptSix:"₆",subscriptSeven:"₇",subscriptEight:"₈",subscriptNine:"₉",oneHalf:"½",oneThird:"⅓",oneQuarter:"¼",oneFifth:"⅕",oneSixth:"⅙",oneEighth:"⅛",twoThirds:"⅔",twoFifths:"⅖",threeQuarters:"¾",threeFifths:"⅗",threeEighths:"⅜",fourFifths:"⅘",fiveSixths:"⅚",fiveEighths:"⅝",sevenEighths:"⅞",line:"─",lineBold:"━",lineDouble:"═",lineDashed0:"┄",lineDashed1:"┅",lineDashed2:"┈",lineDashed3:"┉",lineDashed4:"╌",lineDashed5:"╍",lineDashed6:"╴",lineDashed7:"╶",lineDashed8:"╸",lineDashed9:"╺",lineDashed10:"╼",lineDashed11:"╾",lineDashed12:"−",lineDashed13:"–",lineDashed14:"‐",lineDashed15:"⁃",lineVertical:"│",lineVerticalBold:"┃",lineVerticalDouble:"║",lineVerticalDashed0:"┆",lineVerticalDashed1:"┇",lineVerticalDashed2:"┊",lineVerticalDashed3:"┋",lineVerticalDashed4:"╎",lineVerticalDashed5:"╏",lineVerticalDashed6:"╵",lineVerticalDashed7:"╷",lineVerticalDashed8:"╹",lineVerticalDashed9:"╻",lineVerticalDashed10:"╽",lineVerticalDashed11:"╿",lineDownLeft:"┐",lineDownLeftArc:"╮",lineDownBoldLeftBold:"┓",lineDownBoldLeft:"┒",lineDownLeftBold:"┑",lineDownDoubleLeftDouble:"╗",lineDownDoubleLeft:"╖",lineDownLeftDouble:"╕",lineDownRight:"┌",lineDownRightArc:"╭",lineDownBoldRightBold:"┏",lineDownBoldRight:"┎",lineDownRightBold:"┍",lineDownDoubleRightDouble:"╔",lineDownDoubleRight:"╓",lineDownRightDouble:"╒",lineUpLeft:"┘",lineUpLeftArc:"╯",lineUpBoldLeftBold:"┛",lineUpBoldLeft:"┚",lineUpLeftBold:"┙",lineUpDoubleLeftDouble:"╝",lineUpDoubleLeft:"╜",lineUpLeftDouble:"╛",lineUpRight:"└",lineUpRightArc:"╰",lineUpBoldRightBold:"┗",lineUpBoldRight:"┖",lineUpRightBold:"┕",lineUpDoubleRightDouble:"╚",lineUpDoubleRight:"╙",lineUpRightDouble:"╘",lineUpDownLeft:"┤",lineUpBoldDownBoldLeftBold:"┫",lineUpBoldDownBoldLeft:"┨",lineUpDownLeftBold:"┥",lineUpBoldDownLeftBold:"┩",lineUpDownBoldLeftBold:"┪",lineUpDownBoldLeft:"┧",lineUpBoldDownLeft:"┦",lineUpDoubleDownDoubleLeftDouble:"╣",lineUpDoubleDownDoubleLeft:"╢",lineUpDownLeftDouble:"╡",lineUpDownRight:"├",lineUpBoldDownBoldRightBold:"┣",lineUpBoldDownBoldRight:"┠",lineUpDownRightBold:"┝",lineUpBoldDownRightBold:"┡",lineUpDownBoldRightBold:"┢",lineUpDownBoldRight:"┟",lineUpBoldDownRight:"┞",lineUpDoubleDownDoubleRightDouble:"╠",lineUpDoubleDownDoubleRight:"╟",lineUpDownRightDouble:"╞",lineDownLeftRight:"┬",lineDownBoldLeftBoldRightBold:"┳",lineDownLeftBoldRightBold:"┯",lineDownBoldLeftRight:"┰",lineDownBoldLeftBoldRight:"┱",lineDownBoldLeftRightBold:"┲",lineDownLeftRightBold:"┮",lineDownLeftBoldRight:"┭",lineDownDoubleLeftDoubleRightDouble:"╦",lineDownDoubleLeftRight:"╥",lineDownLeftDoubleRightDouble:"╤",lineUpLeftRight:"┴",lineUpBoldLeftBoldRightBold:"┻",lineUpLeftBoldRightBold:"┷",lineUpBoldLeftRight:"┸",lineUpBoldLeftBoldRight:"┹",lineUpBoldLeftRightBold:"┺",lineUpLeftRightBold:"┶",lineUpLeftBoldRight:"┵",lineUpDoubleLeftDoubleRightDouble:"╩",lineUpDoubleLeftRight:"╨",lineUpLeftDoubleRightDouble:"╧",lineUpDownLeftRight:"┼",lineUpBoldDownBoldLeftBoldRightBold:"╋",lineUpDownBoldLeftBoldRightBold:"╈",lineUpBoldDownLeftBoldRightBold:"╇",lineUpBoldDownBoldLeftRightBold:"╊",lineUpBoldDownBoldLeftBoldRight:"╉",lineUpBoldDownLeftRight:"╀",lineUpDownBoldLeftRight:"╁",lineUpDownLeftBoldRight:"┽",lineUpDownLeftRightBold:"┾",lineUpBoldDownBoldLeftRight:"╂",lineUpDownLeftBoldRightBold:"┿",lineUpBoldDownLeftBoldRight:"╃",lineUpBoldDownLeftRightBold:"╄",lineUpDownBoldLeftBoldRight:"╅",lineUpDownBoldLeftRightBold:"╆",lineUpDoubleDownDoubleLeftDoubleRightDouble:"╬",lineUpDoubleDownDoubleLeftRight:"╫",lineUpDownLeftDoubleRightDouble:"╪",lineCross:"╳",lineBackslash:"╲",lineSlash:"╱"},Sz={tick:"✔",info:"ℹ",warning:"⚠",cross:"✘",squareSmall:"◻",squareSmallFilled:"◼",circle:"◯",circleFilled:"◉",circleDotted:"◌",circleDouble:"◎",circleCircle:"ⓞ",circleCross:"ⓧ",circlePipe:"Ⓘ",radioOn:"◉",radioOff:"◯",checkboxOn:"☒",checkboxOff:"☐",checkboxCircleOn:"ⓧ",checkboxCircleOff:"Ⓘ",pointer:"❯",triangleUpOutline:"△",triangleLeft:"◀",triangleRight:"▶",lozenge:"◆",lozengeOutline:"◇",hamburger:"☰",smiley:"㋡",mustache:"෴",star:"★",play:"▶",nodejs:"⬢",oneSeventh:"⅐",oneNinth:"⅑",oneTenth:"⅒"},dN={tick:"√",info:"i",warning:"‼",cross:"×",squareSmall:"□",squareSmallFilled:"■",circle:"( )",circleFilled:"(*)",circleDotted:"( )",circleDouble:"( )",circleCircle:"(○)",circleCross:"(×)",circlePipe:"(│)",radioOn:"(*)",radioOff:"( )",checkboxOn:"[×]",checkboxOff:"[ ]",checkboxCircleOn:"(×)",checkboxCircleOff:"( )",pointer:">",triangleUpOutline:"∆",triangleLeft:"◄",triangleRight:"►",lozenge:"♦",lozengeOutline:"◊",hamburger:"≡",smiley:"☺",mustache:"┌─┐",star:"✶",play:"►",nodejs:"♦",oneSeventh:"1/7",oneNinth:"1/9",oneTenth:"1/10"},cN={...vz,...Sz},lN={...vz,...dN},nN=M2(),oN=nN?cN:lN,T7=oN,Ih=Object.entries(Sz)});import iN from"node:tty";var sN,W0=(Z,Y)=>{if(!sN)return(q)=>q;let Q=`\x1B[${Z}m`,J=`\x1B[${Y}m`;return(q)=>{let X=q+"",z=X.indexOf(J);if(z===-1)return Q+X+J;let W=Q,U=0,B=(Y===22?J:"")+Q;while(z!==-1)W+=X.slice(U,z)+B,U=z+J.length,z=X.indexOf(J,U);return W+=X.slice(U)+J,W}},Ah,fz,Gh,Ch,Rh,Th,kh,Eh,xh,Ph,bh,vh,Sh,yh,fh,hh,gh,k7,mh,ph,uh,dh,ch,lh,nh,oh,ih,hz,sh,gz,ah,rh,th,eh,Zg,Yg,Qg,Jg,qg,Xg,zg;var mz=j(()=>{sN=iN?.WriteStream?.prototype?.hasColors?.()??!1,Ah=W0(0,0),fz=W0(1,22),Gh=W0(2,22),Ch=W0(3,23),Rh=W0(4,24),Th=W0(53,55),kh=W0(7,27),Eh=W0(8,28),xh=W0(9,29),Ph=W0(30,39),bh=W0(31,39),vh=W0(32,39),Sh=W0(33,39),yh=W0(34,39),fh=W0(35,39),hh=W0(36,39),gh=W0(37,39),k7=W0(90,39),mh=W0(40,49),ph=W0(41,49),uh=W0(42,49),dh=W0(43,49),ch=W0(44,49),lh=W0(45,49),nh=W0(46,49),oh=W0(47,49),ih=W0(100,49),hz=W0(91,39),sh=W0(92,39),gz=W0(93,39),ah=W0(94,39),rh=W0(95,39),th=W0(96,39),eh=W0(97,39),Zg=W0(101,49),Yg=W0(102,49),Qg=W0(103,49),Jg=W0(104,49),qg=W0(105,49),Xg=W0(106,49),zg=W0(107,49)});var pz=j(()=>{mz()});var cz=({type:Z,message:Y,timestamp:Q,piped:J,commandId:q,result:{failed:X=!1}={},options:{reject:z=!0}})=>{let W=aN(Q),U=rN[Z]({failed:X,reject:z,piped:J}),K=tN[Z]({reject:z});return`${k7(`[${W}]`)} ${k7(`[${q}]`)} ${K(U)} ${K(Y)}`},aN=(Z)=>`${E7(Z.getHours(),2)}:${E7(Z.getMinutes(),2)}:${E7(Z.getSeconds(),2)}.${E7(Z.getMilliseconds(),3)}`,E7=(Z,Y)=>String(Z).padStart(Y,"0"),uz=({failed:Z,reject:Y})=>{if(!Z)return T7.tick;return Y?T7.cross:T7.warning},rN,dz=(Z)=>Z,tN;var lz=j(()=>{yz();pz();rN={command:({piped:Z})=>Z?"|":"$",output:()=>" ",ipc:()=>"*",error:uz,duration:uz},tN={command:()=>fz,output:()=>dz,ipc:()=>dz,error:({reject:Z})=>Z?hz:gz,duration:()=>k7}});var nz=(Z,Y,Q)=>{let J=kz(Y,Q);return Z.map(({verboseLine:q,verboseObject:X})=>eN(q,X,J)).filter((q)=>q!==void 0).map((q)=>ZI(q)).join("")},eN=(Z,Y,Q)=>{if(Q===void 0)return Z;let J=Q(Z,Y);if(typeof J==="string")return J},ZI=(Z)=>Z.endsWith(`
46
+ Please set the "stdio" option to ensure that file descriptor exists.`);return J==="all"?[1,2]:[J]},I2=(Z)=>{if(Z==="all")return Z;if(m6.includes(Z))return m6.indexOf(Z);let Y=oN.exec(Z);if(Y!==null)return Number(Y[1])},oN,iN=(Z,Y)=>Z.map((Q)=>Q===void 0?aN[Y]:Q),sN,aN,L2,D4=(Z,Y)=>Y==="ipc"?Z.at(-1):Z[Y];var M4=N(()=>{O4();oN=/^fd(\d+)$/,sN=pN("execa").enabled?"full":"none",aN={lines:!1,buffer:!0,maxBuffer:1e8,verbose:sN,stripFinalNewline:!0},L2=["lines","buffer","maxBuffer","verbose","stripFinalNewline"]});var n8=({verbose:Z},Y)=>w2(Z,Y)!=="none",o8=({verbose:Z},Y)=>!["none","short"].includes(w2(Z,Y)),mz=({verbose:Z},Y)=>{let Q=w2(Z,Y);return T7(Q)?Q:void 0},w2=(Z,Y)=>Y===void 0?rN(Z):D4(Z,Y),rN=(Z)=>Z.find((Y)=>T7(Y))??k7.findLast((Y)=>Z.includes(Y)),T7=(Z)=>typeof Z==="function",k7;var f4=N(()=>{M4();k7=["none","short","full"]});import{platform as tN}from"node:process";import{stripVTControlCharacters as eN}from"node:util";var pz=(Z,Y)=>{let Q=[Z,...Y],J=Q.join(" "),q=Q.map((X)=>XI(uz(X))).join(" ");return{command:J,escapedCommand:q}},tZ=(Z)=>eN(Z).split(`
47
+ `).map((Y)=>uz(Y)).join(`
48
+ `),uz=(Z)=>Z.replaceAll(QI,(Y)=>ZI(Y)),ZI=(Z)=>{let Y=JI[Z];if(Y!==void 0)return Y;let Q=Z.codePointAt(0),J=Q.toString(16);return Q<=qI?`\\u${J.padStart(4,"0")}`:`\\U${J}`},YI=()=>{try{return new RegExp("\\p{Separator}|\\p{Other}","gu")}catch{return/[\s\u0000-\u001F\u007F-\u009F\u00AD]/g}},QI,JI,qI=65535,XI=(Z)=>{if(zI.test(Z))return Z;return tN==="win32"?`"${Z.replaceAll('"','""')}"`:`'${Z.replaceAll("'","'\\''")}'`},zI;var E7=N(()=>{QI=YI(),JI={" ":" ","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"},zI=/^[\w./-]+$/});import dz from"node:process";function A2(){let{env:Z}=dz,{TERM:Y,TERM_PROGRAM:Q}=Z;if(dz.platform!=="win32")return Y!=="linux";return Boolean(Z.WT_SESSION)||Boolean(Z.TERMINUS_SUBLIME)||Z.ConEmuTask==="{cmd::Cmder}"||Q==="Terminus-Sublime"||Q==="vscode"||Y==="xterm-256color"||Y==="alacritty"||Y==="rxvt-unicode"||Y==="rxvt-unicode-256color"||Z.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var cz=()=>{};var lz,nz,HI,WI,UI,KI,BI,P7,sh;var oz=N(()=>{cz();lz={circleQuestionMark:"(?)",questionMarkPrefix:"(?)",square:"█",squareDarkShade:"▓",squareMediumShade:"▒",squareLightShade:"░",squareTop:"▀",squareBottom:"▄",squareLeft:"▌",squareRight:"▐",squareCenter:"■",bullet:"●",dot:"․",ellipsis:"…",pointerSmall:"›",triangleUp:"▲",triangleUpSmall:"▴",triangleDown:"▼",triangleDownSmall:"▾",triangleLeftSmall:"◂",triangleRightSmall:"▸",home:"⌂",heart:"♥",musicNote:"♪",musicNoteBeamed:"♫",arrowUp:"↑",arrowDown:"↓",arrowLeft:"←",arrowRight:"→",arrowLeftRight:"↔",arrowUpDown:"↕",almostEqual:"≈",notEqual:"≠",lessOrEqual:"≤",greaterOrEqual:"≥",identical:"≡",infinity:"∞",subscriptZero:"₀",subscriptOne:"₁",subscriptTwo:"₂",subscriptThree:"₃",subscriptFour:"₄",subscriptFive:"₅",subscriptSix:"₆",subscriptSeven:"₇",subscriptEight:"₈",subscriptNine:"₉",oneHalf:"½",oneThird:"⅓",oneQuarter:"¼",oneFifth:"⅕",oneSixth:"⅙",oneEighth:"⅛",twoThirds:"⅔",twoFifths:"⅖",threeQuarters:"¾",threeFifths:"⅗",threeEighths:"⅜",fourFifths:"⅘",fiveSixths:"⅚",fiveEighths:"⅝",sevenEighths:"⅞",line:"─",lineBold:"━",lineDouble:"═",lineDashed0:"┄",lineDashed1:"┅",lineDashed2:"┈",lineDashed3:"┉",lineDashed4:"╌",lineDashed5:"╍",lineDashed6:"╴",lineDashed7:"╶",lineDashed8:"╸",lineDashed9:"╺",lineDashed10:"╼",lineDashed11:"╾",lineDashed12:"−",lineDashed13:"–",lineDashed14:"‐",lineDashed15:"⁃",lineVertical:"│",lineVerticalBold:"┃",lineVerticalDouble:"║",lineVerticalDashed0:"┆",lineVerticalDashed1:"┇",lineVerticalDashed2:"┊",lineVerticalDashed3:"┋",lineVerticalDashed4:"╎",lineVerticalDashed5:"╏",lineVerticalDashed6:"╵",lineVerticalDashed7:"╷",lineVerticalDashed8:"╹",lineVerticalDashed9:"╻",lineVerticalDashed10:"╽",lineVerticalDashed11:"╿",lineDownLeft:"┐",lineDownLeftArc:"╮",lineDownBoldLeftBold:"┓",lineDownBoldLeft:"┒",lineDownLeftBold:"┑",lineDownDoubleLeftDouble:"╗",lineDownDoubleLeft:"╖",lineDownLeftDouble:"╕",lineDownRight:"┌",lineDownRightArc:"╭",lineDownBoldRightBold:"┏",lineDownBoldRight:"┎",lineDownRightBold:"┍",lineDownDoubleRightDouble:"╔",lineDownDoubleRight:"╓",lineDownRightDouble:"╒",lineUpLeft:"┘",lineUpLeftArc:"╯",lineUpBoldLeftBold:"┛",lineUpBoldLeft:"┚",lineUpLeftBold:"┙",lineUpDoubleLeftDouble:"╝",lineUpDoubleLeft:"╜",lineUpLeftDouble:"╛",lineUpRight:"└",lineUpRightArc:"╰",lineUpBoldRightBold:"┗",lineUpBoldRight:"┖",lineUpRightBold:"┕",lineUpDoubleRightDouble:"╚",lineUpDoubleRight:"╙",lineUpRightDouble:"╘",lineUpDownLeft:"┤",lineUpBoldDownBoldLeftBold:"┫",lineUpBoldDownBoldLeft:"┨",lineUpDownLeftBold:"┥",lineUpBoldDownLeftBold:"┩",lineUpDownBoldLeftBold:"┪",lineUpDownBoldLeft:"┧",lineUpBoldDownLeft:"┦",lineUpDoubleDownDoubleLeftDouble:"╣",lineUpDoubleDownDoubleLeft:"╢",lineUpDownLeftDouble:"╡",lineUpDownRight:"├",lineUpBoldDownBoldRightBold:"┣",lineUpBoldDownBoldRight:"┠",lineUpDownRightBold:"┝",lineUpBoldDownRightBold:"┡",lineUpDownBoldRightBold:"┢",lineUpDownBoldRight:"┟",lineUpBoldDownRight:"┞",lineUpDoubleDownDoubleRightDouble:"╠",lineUpDoubleDownDoubleRight:"╟",lineUpDownRightDouble:"╞",lineDownLeftRight:"┬",lineDownBoldLeftBoldRightBold:"┳",lineDownLeftBoldRightBold:"┯",lineDownBoldLeftRight:"┰",lineDownBoldLeftBoldRight:"┱",lineDownBoldLeftRightBold:"┲",lineDownLeftRightBold:"┮",lineDownLeftBoldRight:"┭",lineDownDoubleLeftDoubleRightDouble:"╦",lineDownDoubleLeftRight:"╥",lineDownLeftDoubleRightDouble:"╤",lineUpLeftRight:"┴",lineUpBoldLeftBoldRightBold:"┻",lineUpLeftBoldRightBold:"┷",lineUpBoldLeftRight:"┸",lineUpBoldLeftBoldRight:"┹",lineUpBoldLeftRightBold:"┺",lineUpLeftRightBold:"┶",lineUpLeftBoldRight:"┵",lineUpDoubleLeftDoubleRightDouble:"╩",lineUpDoubleLeftRight:"╨",lineUpLeftDoubleRightDouble:"╧",lineUpDownLeftRight:"┼",lineUpBoldDownBoldLeftBoldRightBold:"╋",lineUpDownBoldLeftBoldRightBold:"╈",lineUpBoldDownLeftBoldRightBold:"╇",lineUpBoldDownBoldLeftRightBold:"╊",lineUpBoldDownBoldLeftBoldRight:"╉",lineUpBoldDownLeftRight:"╀",lineUpDownBoldLeftRight:"╁",lineUpDownLeftBoldRight:"┽",lineUpDownLeftRightBold:"┾",lineUpBoldDownBoldLeftRight:"╂",lineUpDownLeftBoldRightBold:"┿",lineUpBoldDownLeftBoldRight:"╃",lineUpBoldDownLeftRightBold:"╄",lineUpDownBoldLeftBoldRight:"╅",lineUpDownBoldLeftRightBold:"╆",lineUpDoubleDownDoubleLeftDoubleRightDouble:"╬",lineUpDoubleDownDoubleLeftRight:"╫",lineUpDownLeftDoubleRightDouble:"╪",lineCross:"╳",lineBackslash:"╲",lineSlash:"╱"},nz={tick:"✔",info:"ℹ",warning:"⚠",cross:"✘",squareSmall:"◻",squareSmallFilled:"◼",circle:"◯",circleFilled:"◉",circleDotted:"◌",circleDouble:"◎",circleCircle:"ⓞ",circleCross:"ⓧ",circlePipe:"Ⓘ",radioOn:"◉",radioOff:"◯",checkboxOn:"☒",checkboxOff:"☐",checkboxCircleOn:"ⓧ",checkboxCircleOff:"Ⓘ",pointer:"❯",triangleUpOutline:"△",triangleLeft:"◀",triangleRight:"▶",lozenge:"◆",lozengeOutline:"◇",hamburger:"☰",smiley:"㋡",mustache:"෴",star:"★",play:"▶",nodejs:"⬢",oneSeventh:"⅐",oneNinth:"⅑",oneTenth:"⅒"},HI={tick:"√",info:"i",warning:"‼",cross:"×",squareSmall:"□",squareSmallFilled:"■",circle:"( )",circleFilled:"(*)",circleDotted:"( )",circleDouble:"( )",circleCircle:"(○)",circleCross:"(×)",circlePipe:"(│)",radioOn:"(*)",radioOff:"( )",checkboxOn:"[×]",checkboxOff:"[ ]",checkboxCircleOn:"(×)",checkboxCircleOff:"( )",pointer:">",triangleUpOutline:"∆",triangleLeft:"◄",triangleRight:"►",lozenge:"♦",lozengeOutline:"◊",hamburger:"≡",smiley:"☺",mustache:"┌─┐",star:"✶",play:"►",nodejs:"♦",oneSeventh:"1/7",oneNinth:"1/9",oneTenth:"1/10"},WI={...lz,...nz},UI={...lz,...HI},KI=A2(),BI=KI?WI:UI,P7=BI,sh=Object.entries(nz)});import $I from"node:tty";var FI,W0=(Z,Y)=>{if(!FI)return(q)=>q;let Q=`\x1B[${Z}m`,J=`\x1B[${Y}m`;return(q)=>{let X=q+"",z=X.indexOf(J);if(z===-1)return Q+X+J;let W=Q,U=0,B=(Y===22?J:"")+Q;while(z!==-1)W+=X.slice(U,z)+B,U=z+J.length,z=X.indexOf(J,U);return W+=X.slice(U)+J,W}},th,iz,eh,Zg,Yg,Qg,Jg,qg,Xg,zg,Hg,Wg,Ug,Kg,Bg,$g,Fg,x7,Vg,Og,Dg,Mg,jg,_g,Ng,Ig,Lg,sz,wg,az,Ag,Gg,Cg,Rg,Tg,kg,Eg,Pg,xg,bg,vg;var rz=N(()=>{FI=$I?.WriteStream?.prototype?.hasColors?.()??!1,th=W0(0,0),iz=W0(1,22),eh=W0(2,22),Zg=W0(3,23),Yg=W0(4,24),Qg=W0(53,55),Jg=W0(7,27),qg=W0(8,28),Xg=W0(9,29),zg=W0(30,39),Hg=W0(31,39),Wg=W0(32,39),Ug=W0(33,39),Kg=W0(34,39),Bg=W0(35,39),$g=W0(36,39),Fg=W0(37,39),x7=W0(90,39),Vg=W0(40,49),Og=W0(41,49),Dg=W0(42,49),Mg=W0(43,49),jg=W0(44,49),_g=W0(45,49),Ng=W0(46,49),Ig=W0(47,49),Lg=W0(100,49),sz=W0(91,39),wg=W0(92,39),az=W0(93,39),Ag=W0(94,39),Gg=W0(95,39),Cg=W0(96,39),Rg=W0(97,39),Tg=W0(101,49),kg=W0(102,49),Eg=W0(103,49),Pg=W0(104,49),xg=W0(105,49),bg=W0(106,49),vg=W0(107,49)});var tz=N(()=>{rz()});var YH=({type:Z,message:Y,timestamp:Q,piped:J,commandId:q,result:{failed:X=!1}={},options:{reject:z=!0}})=>{let W=VI(Q),U=OI[Z]({failed:X,reject:z,piped:J}),K=DI[Z]({reject:z});return`${x7(`[${W}]`)} ${x7(`[${q}]`)} ${K(U)} ${K(Y)}`},VI=(Z)=>`${b7(Z.getHours(),2)}:${b7(Z.getMinutes(),2)}:${b7(Z.getSeconds(),2)}.${b7(Z.getMilliseconds(),3)}`,b7=(Z,Y)=>String(Z).padStart(Y,"0"),ez=({failed:Z,reject:Y})=>{if(!Z)return P7.tick;return Y?P7.cross:P7.warning},OI,ZH=(Z)=>Z,DI;var QH=N(()=>{oz();tz();OI={command:({piped:Z})=>Z?"|":"$",output:()=>" ",ipc:()=>"*",error:ez,duration:ez},DI={command:()=>iz,output:()=>ZH,ipc:()=>ZH,error:({reject:Z})=>Z?sz:az,duration:()=>x7}});var JH=(Z,Y,Q)=>{let J=mz(Y,Q);return Z.map(({verboseLine:q,verboseObject:X})=>MI(q,X,J)).filter((q)=>q!==void 0).map((q)=>jI(q)).join("")},MI=(Z,Y,Q)=>{if(Q===void 0)return Z;let J=Q(Z,Y);if(typeof J==="string")return J},jI=(Z)=>Z.endsWith(`
49
49
  `)?Z:`${Z}
50
- `;var oz=j(()=>{S8()});import{inspect as YI}from"node:util";var e6=({type:Z,verboseMessage:Y,fdNumber:Q,verboseInfo:J,result:q})=>{let X=QI({type:Z,result:q,verboseInfo:J}),z=JI(Y,X),W=nz(z,J,Q);if(W!=="")console.warn(W.slice(0,-1))},QI=({type:Z,result:Y,verboseInfo:{escapedCommand:Q,commandId:J,rawOptions:{piped:q=!1,...X}}})=>({type:Z,escapedCommand:Q,commandId:`${J}`,timestamp:new Date,piped:q,result:Y,options:X}),JI=(Z,Y)=>Z.split(`
51
- `).map((Q)=>qI({...Y,message:Q})),qI=(Z)=>{return{verboseLine:cz(Z),verboseObject:Z}},x7=(Z)=>{let Y=typeof Z==="string"?Z:YI(Z);return aZ(Y).replaceAll("\t"," ".repeat(XI))},XI=2;var l4=j(()=>{R7();lz();oz()});var iz=(Z,Y)=>{if(!d4(Y))return;e6({type:"command",verboseMessage:Z,verboseInfo:Y})};var sz=j(()=>{S8();l4()});var az=(Z,Y,Q)=>{WI(Z);let J=zI(Z);return{verbose:Z,escapedCommand:Y,commandId:J,rawOptions:Q}},zI=(Z)=>d4({verbose:Z})?HI++:void 0,HI=0n,WI=(Z)=>{for(let Y of Z){if(Y===!1)throw TypeError(`The "verbose: false" option was renamed to "verbose: 'none'".`);if(Y===!0)throw TypeError(`The "verbose: true" option was renamed to "verbose: 'short'".`);if(!C7.includes(Y)&&!G7(Y)){let Q=C7.map((J)=>`'${J}'`).join(", ");throw TypeError(`The "verbose" option must not be ${Y}. Allowed values are: ${Q} or a function.`)}}};var rz=j(()=>{S8()});import{hrtime as tz}from"node:process";var P7=()=>tz.bigint(),j2=(Z)=>Number(tz.bigint()-Z)/1e6;var b7=()=>{};var v7=(Z,Y,Q)=>{let J=P7(),{command:q,escapedCommand:X}=Ez(Z,Y),z=F2(Q,"verbose"),W=az(z,X,{...Q});return iz(X,W),{command:q,escapedCommand:X,startTime:J,verboseInfo:W}};var _2=j(()=>{sz();rz();b7();R7();D8()});var JH=I6((vg,QH)=>{QH.exports=YH;YH.sync=KI;var ez=W6("fs");function UI(Z,Y){var Q=Y.pathExt!==void 0?Y.pathExt:process.env.PATHEXT;if(!Q)return!0;if(Q=Q.split(";"),Q.indexOf("")!==-1)return!0;for(var J=0;J<Q.length;J++){var q=Q[J].toLowerCase();if(q&&Z.substr(-q.length).toLowerCase()===q)return!0}return!1}function ZH(Z,Y,Q){if(!Z.isSymbolicLink()&&!Z.isFile())return!1;return UI(Y,Q)}function YH(Z,Y,Q){ez.stat(Z,function(J,q){Q(J,J?!1:ZH(q,Z,Y))})}function KI(Z,Y){return ZH(ez.statSync(Z),Z,Y)}});var WH=I6((Sg,HH)=>{HH.exports=XH;XH.sync=BI;var qH=W6("fs");function XH(Z,Y,Q){qH.stat(Z,function(J,q){Q(J,J?!1:zH(q,Y))})}function BI(Z,Y){return zH(qH.statSync(Z),Y)}function zH(Z,Y){return Z.isFile()&&$I(Z,Y)}function $I(Z,Y){var{mode:Q,uid:J,gid:q}=Z,X=Y.uid!==void 0?Y.uid:process.getuid&&process.getuid(),z=Y.gid!==void 0?Y.gid:process.getgid&&process.getgid(),W=parseInt("100",8),U=parseInt("010",8),K=parseInt("001",8),B=W|U,$=Q&K||Q&U&&q===z||Q&W&&J===X||Q&B&&X===0;return $}});var KH=I6((fg,UH)=>{var yg=W6("fs"),S7;if(process.platform==="win32"||global.TESTING_WINDOWS)S7=JH();else S7=WH();UH.exports=N2;N2.sync=FI;function N2(Z,Y,Q){if(typeof Y==="function")Q=Y,Y={};if(!Q){if(typeof Promise!=="function")throw TypeError("callback not provided");return new Promise(function(J,q){N2(Z,Y||{},function(X,z){if(X)q(X);else J(z)})})}S7(Z,Y||{},function(J,q){if(J){if(J.code==="EACCES"||Y&&Y.ignoreErrors)J=null,q=!1}Q(J,q)})}function FI(Z,Y){try{return S7.sync(Z,Y||{})}catch(Q){if(Y&&Y.ignoreErrors||Q.code==="EACCES")return!1;else throw Q}}});var MH=I6((hg,DH)=>{var n4=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",BH=W6("path"),VI=n4?";":":",$H=KH(),FH=(Z)=>Object.assign(Error(`not found: ${Z}`),{code:"ENOENT"}),VH=(Z,Y)=>{let Q=Y.colon||VI,J=Z.match(/\//)||n4&&Z.match(/\\/)?[""]:[...n4?[process.cwd()]:[],...(Y.path||process.env.PATH||"").split(Q)],q=n4?Y.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",X=n4?q.split(Q):[""];if(n4){if(Z.indexOf(".")!==-1&&X[0]!=="")X.unshift("")}return{pathEnv:J,pathExt:X,pathExtExe:q}},OH=(Z,Y,Q)=>{if(typeof Y==="function")Q=Y,Y={};if(!Y)Y={};let{pathEnv:J,pathExt:q,pathExtExe:X}=VH(Z,Y),z=[],W=(K)=>new Promise((B,$)=>{if(K===J.length)return Y.all&&z.length?B(z):$(FH(Z));let F=J[K],O=/^".*"$/.test(F)?F.slice(1,-1):F,V=BH.join(O,Z),D=!O&&/^\.[\\\/]/.test(Z)?Z.slice(0,2)+V:V;B(U(D,K,0))}),U=(K,B,$)=>new Promise((F,O)=>{if($===q.length)return F(W(B+1));let V=q[$];$H(K+V,{pathExt:X},(D,_)=>{if(!D&&_)if(Y.all)z.push(K+V);else return F(K+V);return F(U(K,B,$+1))})});return Q?W(0).then((K)=>Q(null,K),Q):W(0)},OI=(Z,Y)=>{Y=Y||{};let{pathEnv:Q,pathExt:J,pathExtExe:q}=VH(Z,Y),X=[];for(let z=0;z<Q.length;z++){let W=Q[z],U=/^".*"$/.test(W)?W.slice(1,-1):W,K=BH.join(U,Z),B=!U&&/^\.[\\\/]/.test(Z)?Z.slice(0,2)+K:K;for(let $=0;$<J.length;$++){let F=B+J[$];try{if($H.sync(F,{pathExt:q}))if(Y.all)X.push(F);else return F}catch(O){}}}if(Y.all&&X.length)return X;if(Y.nothrow)return null;throw FH(Z)};DH.exports=OH;OH.sync=OI});var _H=I6((gg,I2)=>{var jH=(Z={})=>{let Y=Z.env||process.env;if((Z.platform||process.platform)!=="win32")return"PATH";return Object.keys(Y).reverse().find((J)=>J.toUpperCase()==="PATH")||"Path"};I2.exports=jH;I2.exports.default=jH});var wH=I6((mg,LH)=>{var NH=W6("path"),DI=MH(),MI=_H();function IH(Z,Y){let Q=Z.options.env||process.env,J=process.cwd(),q=Z.options.cwd!=null,X=q&&process.chdir!==void 0&&!process.chdir.disabled;if(X)try{process.chdir(Z.options.cwd)}catch(W){}let z;try{z=DI.sync(Z.command,{path:Q[MI({env:Q})],pathExt:Y?NH.delimiter:void 0})}catch(W){}finally{if(X)process.chdir(J)}if(z)z=NH.resolve(q?Z.options.cwd:"",z);return z}function jI(Z){return IH(Z)||IH(Z,!0)}LH.exports=jI});var AH=I6((II,w2)=>{var L2=/([()\][%!^"`<>&|;, *?])/g;function _I(Z){return Z=Z.replace(L2,"^$1"),Z}function NI(Z,Y){if(Z=`${Z}`,Z=Z.replace(/(?=(\\+?)?)\1"/g,"$1$1\\\""),Z=Z.replace(/(?=(\\+?)?)\1$/,"$1$1"),Z=`"${Z}"`,Z=Z.replace(L2,"^$1"),Y)Z=Z.replace(L2,"^$1");return Z}II.command=_I;II.argument=NI});var CH=I6((pg,GH)=>{GH.exports=/^#!(.*)/});var TH=I6((ug,RH)=>{var AI=CH();RH.exports=(Z="")=>{let Y=Z.match(AI);if(!Y)return null;let[Q,J]=Y[0].replace(/#! ?/,"").split(" "),q=Q.split("/").pop();if(q==="env")return J;return J?`${q} ${J}`:q}});var EH=I6((dg,kH)=>{var A2=W6("fs"),GI=TH();function CI(Z){let Q=Buffer.alloc(150),J;try{J=A2.openSync(Z,"r"),A2.readSync(J,Q,0,150,0),A2.closeSync(J)}catch(q){}return GI(Q.toString())}kH.exports=CI});var vH=I6((cg,bH)=>{var RI=W6("path"),xH=wH(),PH=AH(),TI=EH(),kI=process.platform==="win32",EI=/\.(?:com|exe)$/i,xI=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function PI(Z){Z.file=xH(Z);let Y=Z.file&&TI(Z.file);if(Y)return Z.args.unshift(Z.file),Z.command=Y,xH(Z);return Z.file}function bI(Z){if(!kI)return Z;let Y=PI(Z),Q=!EI.test(Y);if(Z.options.forceShell||Q){let J=xI.test(Y);Z.command=RI.normalize(Z.command),Z.command=PH.command(Z.command),Z.args=Z.args.map((X)=>PH.argument(X,J));let q=[Z.command].concat(Z.args).join(" ");Z.args=["/d","/s","/c",`"${q}"`],Z.command=process.env.comspec||"cmd.exe",Z.options.windowsVerbatimArguments=!0}return Z}function vI(Z,Y,Q){if(Y&&!Array.isArray(Y))Q=Y,Y=null;Y=Y?Y.slice(0):[],Q=Object.assign({},Q);let J={command:Z,args:Y,options:Q,file:void 0,original:{command:Z,args:Y}};return Q.shell?J:bI(J)}bH.exports=vI});var fH=I6((lg,yH)=>{var G2=process.platform==="win32";function C2(Z,Y){return Object.assign(Error(`${Y} ${Z.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${Y} ${Z.command}`,path:Z.command,spawnargs:Z.args})}function SI(Z,Y){if(!G2)return;let Q=Z.emit;Z.emit=function(J,q){if(J==="exit"){let X=SH(q,Y);if(X)return Q.call(Z,"error",X)}return Q.apply(Z,arguments)}}function SH(Z,Y){if(G2&&Z===1&&!Y.file)return C2(Y.original,"spawn");return null}function yI(Z,Y){if(G2&&Z===1&&!Y.file)return C2(Y.original,"spawnSync");return null}yH.exports={hookChildProcess:SI,verifyENOENT:SH,verifyENOENTSync:yI,notFoundError:C2}});var mH=I6((ng,o4)=>{var hH=W6("child_process"),R2=vH(),T2=fH();function gH(Z,Y,Q){let J=R2(Z,Y,Q),q=hH.spawn(J.command,J.args,J.options);return T2.hookChildProcess(q,J),q}function fI(Z,Y,Q){let J=R2(Z,Y,Q),q=hH.spawnSync(J.command,J.args,J.options);return q.error=q.error||T2.verifyENOENTSync(q.status,J),q}o4.exports=gH;o4.exports.spawn=gH;o4.exports.sync=fI;o4.exports._parse=R2;o4.exports._enoent=T2});function y7(Z={}){let{env:Y=process.env,platform:Q=process.platform}=Z;if(Q!=="win32")return"PATH";return Object.keys(Y).reverse().find((J)=>J.toUpperCase()==="PATH")||"Path"}import{promisify as hI}from"node:util";import{execFile as gI,execFileSync as ag}from"node:child_process";import pH from"node:path";import{fileURLToPath as mI}from"node:url";function f7(Z){return Z instanceof URL?mI(Z):Z}function uH(Z){return{*[Symbol.iterator](){let Y=pH.resolve(f7(Z)),Q;while(Q!==Y)yield Y,Q=Y,Y=pH.resolve(Y,"..")}}}var eg;var dH=j(()=>{eg=hI(gI)});import h7 from"node:process";import X4 from"node:path";var pI=({cwd:Z=h7.cwd(),path:Y=h7.env[y7()],preferLocal:Q=!0,execPath:J=h7.execPath,addExecPath:q=!0}={})=>{let X=X4.resolve(f7(Z)),z=[],W=Y.split(X4.delimiter);if(Q)uI(z,W,X);if(q)dI(z,W,J,X);return Y===""||Y===X4.delimiter?`${z.join(X4.delimiter)}${Y}`:[...z,Y].join(X4.delimiter)},uI=(Z,Y,Q)=>{for(let J of uH(Q)){let q=X4.join(J,"node_modules/.bin");if(!Y.includes(q))Z.push(q)}},dI=(Z,Y,Q,J)=>{let q=X4.resolve(J,f7(Q),"..");if(!Y.includes(q))Z.push(q)},cH=({env:Z=h7.env,...Y}={})=>{Z={...Z};let Q=y7({env:Z});return Y.path=Z[Q],Z[Q]=pI(Y),Z};var lH=j(()=>{dH()});var nH=(Z,Y,Q)=>{let J=Q?rZ:m6,q=Z instanceof Z8?{}:{cause:Z};return new J(Y,q)},Z8,oH=(Z,Y)=>{Object.defineProperty(Z.prototype,"name",{value:Y,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(Z.prototype,sH,{value:!0,writable:!1,enumerable:!1,configurable:!1})},iH=(Z)=>g7(Z)&&(sH in Z),sH,g7=(Z)=>Object.prototype.toString.call(Z)==="[object Error]",m6,rZ;var y8=j(()=>{Z8=class Z8 extends Error{};sH=Symbol("isExecaError");m6=class m6 extends Error{};oH(m6,m6.name);rZ=class rZ extends Error{};oH(rZ,rZ.name)});var aH=()=>{let Z=k2-rH+1;return Array.from({length:Z},cI)},cI=(Z,Y)=>({name:`SIGRT${Y+1}`,number:rH+Y,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}),rH=34,k2=64;var tH;var eH=j(()=>{tH=[{name:"SIGHUP",number:1,action:"terminate",description:"Terminal closed",standard:"posix"},{name:"SIGINT",number:2,action:"terminate",description:"User interruption with CTRL-C",standard:"ansi"},{name:"SIGQUIT",number:3,action:"core",description:"User interruption with CTRL-\\",standard:"posix"},{name:"SIGILL",number:4,action:"core",description:"Invalid machine instruction",standard:"ansi"},{name:"SIGTRAP",number:5,action:"core",description:"Debugger breakpoint",standard:"posix"},{name:"SIGABRT",number:6,action:"core",description:"Aborted",standard:"ansi"},{name:"SIGIOT",number:6,action:"core",description:"Aborted",standard:"bsd"},{name:"SIGBUS",number:7,action:"core",description:"Bus error due to misaligned, non-existing address or paging error",standard:"bsd"},{name:"SIGEMT",number:7,action:"terminate",description:"Command should be emulated but is not implemented",standard:"other"},{name:"SIGFPE",number:8,action:"core",description:"Floating point arithmetic error",standard:"ansi"},{name:"SIGKILL",number:9,action:"terminate",description:"Forced termination",standard:"posix",forced:!0},{name:"SIGUSR1",number:10,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGSEGV",number:11,action:"core",description:"Segmentation fault",standard:"ansi"},{name:"SIGUSR2",number:12,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGPIPE",number:13,action:"terminate",description:"Broken pipe or socket",standard:"posix"},{name:"SIGALRM",number:14,action:"terminate",description:"Timeout or timer",standard:"posix"},{name:"SIGTERM",number:15,action:"terminate",description:"Termination",standard:"ansi"},{name:"SIGSTKFLT",number:16,action:"terminate",description:"Stack is empty or overflowed",standard:"other"},{name:"SIGCHLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"posix"},{name:"SIGCLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"other"},{name:"SIGCONT",number:18,action:"unpause",description:"Unpaused",standard:"posix",forced:!0},{name:"SIGSTOP",number:19,action:"pause",description:"Paused",standard:"posix",forced:!0},{name:"SIGTSTP",number:20,action:"pause",description:'Paused using CTRL-Z or "suspend"',standard:"posix"},{name:"SIGTTIN",number:21,action:"pause",description:"Background process cannot read terminal input",standard:"posix"},{name:"SIGBREAK",number:21,action:"terminate",description:"User interruption with CTRL-BREAK",standard:"other"},{name:"SIGTTOU",number:22,action:"pause",description:"Background process cannot write to terminal output",standard:"posix"},{name:"SIGURG",number:23,action:"ignore",description:"Socket received out-of-band data",standard:"bsd"},{name:"SIGXCPU",number:24,action:"core",description:"Process timed out",standard:"bsd"},{name:"SIGXFSZ",number:25,action:"core",description:"File too big",standard:"bsd"},{name:"SIGVTALRM",number:26,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGPROF",number:27,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGWINCH",number:28,action:"ignore",description:"Terminal window size changed",standard:"bsd"},{name:"SIGIO",number:29,action:"terminate",description:"I/O is available",standard:"other"},{name:"SIGPOLL",number:29,action:"terminate",description:"Watched event",standard:"other"},{name:"SIGINFO",number:29,action:"ignore",description:"Request for process information",standard:"other"},{name:"SIGPWR",number:30,action:"terminate",description:"Device running out of power",standard:"systemv"},{name:"SIGSYS",number:31,action:"core",description:"Invalid system call",standard:"other"},{name:"SIGUNUSED",number:31,action:"terminate",description:"Invalid system call",standard:"other"}]});import{constants as lI}from"node:os";var E2=()=>{let Z=aH();return[...tH,...Z].map(nI)},nI=({name:Z,number:Y,description:Q,action:J,forced:q=!1,standard:X})=>{let{signals:{[Z]:z}}=lI,W=z!==void 0;return{name:Z,number:W?z:Y,description:Q,supported:W,action:J,forced:q,standard:X}};var ZW=j(()=>{eH()});import{constants as oI}from"node:os";var iI=()=>{let Z=E2();return Object.fromEntries(Z.map(sI))},sI=({name:Z,number:Y,description:Q,supported:J,action:q,forced:X,standard:z})=>[Z,{name:Z,number:Y,description:Q,supported:J,action:q,forced:X,standard:z}],YW,aI=()=>{let Z=E2(),Y=k2+1,Q=Array.from({length:Y},(J,q)=>rI(q,Z));return Object.assign({},...Q)},rI=(Z,Y)=>{let Q=tI(Z,Y);if(Q===void 0)return{};let{name:J,description:q,supported:X,action:z,forced:W,standard:U}=Q;return{[Z]:{name:J,number:Z,description:q,supported:X,action:z,forced:W,standard:U}}},tI=(Z,Y)=>{let Q=Y.find(({name:J})=>oI.signals[J]===Z);if(Q!==void 0)return Q;return Y.find((J)=>J.number===Z)},Mm;var QW=j(()=>{ZW();YW=iI(),Mm=aI()});import{constants as tZ}from"node:os";var qW=(Z)=>{if(Z===0)throw TypeError("Invalid option `killSignal`: 0 cannot be used.");return zW(Z,"option `killSignal`")},XW=(Z)=>Z===0?Z:zW(Z,"`subprocess.kill()`'s argument"),zW=(Z,Y)=>{if(Number.isInteger(Z))return eI(Z,Y);if(typeof Z==="string")return YL(Z,Y);throw TypeError(`Invalid ${Y} ${String(Z)}: it must be a string or an integer.
52
- ${x2()}`)},eI=(Z,Y)=>{if(JW.has(Z))return JW.get(Z);throw TypeError(`Invalid ${Y} ${Z}: this signal integer does not exist.
53
- ${x2()}`)},ZL=()=>new Map(Object.entries(tZ.signals).reverse().map(([Z,Y])=>[Y,Z])),JW,YL=(Z,Y)=>{if(Z in tZ.signals)return Z;if(Z.toUpperCase()in tZ.signals)throw TypeError(`Invalid ${Y} '${Z}': please rename it to '${Z.toUpperCase()}'.`);throw TypeError(`Invalid ${Y} '${Z}': this signal name does not exist.
54
- ${x2()}`)},x2=()=>`Available signal names: ${QL()}.
55
- Available signal numbers: ${JL()}.`,QL=()=>Object.keys(tZ.signals).sort().map((Z)=>`'${Z}'`).join(", "),JL=()=>[...new Set(Object.values(tZ.signals).sort((Z,Y)=>Z-Y))].join(", "),m7=(Z)=>YW[Z].description;var eZ=j(()=>{QW();JW=ZL()});import{setTimeout as qL}from"node:timers/promises";var HW=(Z)=>{if(Z===!1)return Z;if(Z===!0)return XL;if(!Number.isFinite(Z)||Z<0)throw TypeError(`Expected the \`forceKillAfterDelay\` option to be a non-negative integer, got \`${Z}\` (${typeof Z})`);return Z},XL=5000,WW=({kill:Z,options:{forceKillAfterDelay:Y,killSignal:Q},onInternalError:J,context:q,controller:X},z,W)=>{let{signal:U,error:K}=zL(z,W,Q);HL(K,J);let B=Z(U);return WL({kill:Z,signal:U,forceKillAfterDelay:Y,killSignal:Q,killResult:B,context:q,controller:X}),B},zL=(Z,Y,Q)=>{let[J=Q,q]=g7(Z)?[void 0,Z]:[Z,Y];if(typeof J!=="string"&&!Number.isInteger(J))throw TypeError(`The first argument must be an error instance or a signal name string/integer: ${String(J)}`);if(q!==void 0&&!g7(q))throw TypeError(`The second argument is optional. If specified, it must be an error instance: ${q}`);return{signal:XW(J),error:q}},HL=(Z,Y)=>{if(Z!==void 0)Y.reject(Z)},WL=async({kill:Z,signal:Y,forceKillAfterDelay:Q,killSignal:J,killResult:q,context:X,controller:z})=>{if(Y===J&&q)P2({kill:Z,forceKillAfterDelay:Q,context:X,controllerSignal:z.signal})},P2=async({kill:Z,forceKillAfterDelay:Y,context:Q,controllerSignal:J})=>{if(Y===!1)return;try{if(await qL(Y,void 0,{signal:J}),Z("SIGKILL"))Q.isForcefullyTerminated??=!0}catch{}};var p7=j(()=>{y8();eZ()});import{once as UL}from"node:events";var u7=async(Z,Y)=>{if(!Z.aborted)await UL(Z,"abort",{signal:Y})};var b2=()=>{};var UW=({cancelSignal:Z})=>{if(Z!==void 0&&Object.prototype.toString.call(Z)!=="[object AbortSignal]")throw Error(`The \`cancelSignal\` option must be an AbortSignal: ${String(Z)}`)},KW=({subprocess:Z,cancelSignal:Y,gracefulCancel:Q,context:J,controller:q})=>Y===void 0||Q?[]:[KL(Z,Y,J,q)],KL=async(Z,Y,Q,{signal:J})=>{throw await u7(Y,J),Q.terminationReason??="cancel",Z.kill(),Y.reason};var v2=j(()=>{b2()});var i4=({methodName:Z,isSubprocess:Y,ipc:Q,isConnected:J})=>{BL(Z,Y,Q),S2(Z,Y,J)},BL=(Z,Y,Q)=>{if(!Q)throw Error(`${i6(Z,Y)} can only be used if the \`ipc\` option is \`true\`.`)},S2=(Z,Y,Q)=>{if(!Q)throw Error(`${i6(Z,Y)} cannot be used: the ${f8(Y)} has already exited or disconnected.`)},BW=(Z)=>{throw Error(`${i6("getOneMessage",Z)} could not complete: the ${f8(Z)} exited or disconnected.`)},$W=(Z)=>{throw Error(`${i6("sendMessage",Z)} failed: the ${f8(Z)} is sending a message too, instead of listening to incoming messages.
50
+ `;var qH=N(()=>{f4()});import{inspect as _I}from"node:util";var Y4=({type:Z,verboseMessage:Y,fdNumber:Q,verboseInfo:J,result:q})=>{let X=NI({type:Z,result:q,verboseInfo:J}),z=II(Y,X),W=JH(z,J,Q);if(W!=="")console.warn(W.slice(0,-1))},NI=({type:Z,result:Y,verboseInfo:{escapedCommand:Q,commandId:J,rawOptions:{piped:q=!1,...X}}})=>({type:Z,escapedCommand:Q,commandId:`${J}`,timestamp:new Date,piped:q,result:Y,options:X}),II=(Z,Y)=>Z.split(`
51
+ `).map((Q)=>LI({...Y,message:Q})),LI=(Z)=>{return{verboseLine:YH(Z),verboseObject:Z}},v7=(Z)=>{let Y=typeof Z==="string"?Z:_I(Z);return tZ(Y).replaceAll("\t"," ".repeat(wI))},wI=2;var i8=N(()=>{E7();QH();qH()});var XH=(Z,Y)=>{if(!n8(Y))return;Y4({type:"command",verboseMessage:Z,verboseInfo:Y})};var zH=N(()=>{f4();i8()});var HH=(Z,Y,Q)=>{CI(Z);let J=AI(Z);return{verbose:Z,escapedCommand:Y,commandId:J,rawOptions:Q}},AI=(Z)=>n8({verbose:Z})?GI++:void 0,GI=0n,CI=(Z)=>{for(let Y of Z){if(Y===!1)throw TypeError(`The "verbose: false" option was renamed to "verbose: 'none'".`);if(Y===!0)throw TypeError(`The "verbose: true" option was renamed to "verbose: 'short'".`);if(!k7.includes(Y)&&!T7(Y)){let Q=k7.map((J)=>`'${J}'`).join(", ");throw TypeError(`The "verbose" option must not be ${Y}. Allowed values are: ${Q} or a function.`)}}};var WH=N(()=>{f4()});import{hrtime as UH}from"node:process";var S7=()=>UH.bigint(),G2=(Z)=>Number(UH.bigint()-Z)/1e6;var y7=()=>{};var f7=(Z,Y,Q)=>{let J=S7(),{command:q,escapedCommand:X}=pz(Z,Y),z=N2(Q,"verbose"),W=HH(z,X,{...Q});return XH(X,W),{command:q,escapedCommand:X,startTime:J,verboseInfo:W}};var C2=N(()=>{zH();WH();y7();E7();M4()});var VH=L6((Wm,FH)=>{FH.exports=$H;$H.sync=TI;var KH=U6("fs");function RI(Z,Y){var Q=Y.pathExt!==void 0?Y.pathExt:process.env.PATHEXT;if(!Q)return!0;if(Q=Q.split(";"),Q.indexOf("")!==-1)return!0;for(var J=0;J<Q.length;J++){var q=Q[J].toLowerCase();if(q&&Z.substr(-q.length).toLowerCase()===q)return!0}return!1}function BH(Z,Y,Q){if(!Z.isSymbolicLink()&&!Z.isFile())return!1;return RI(Y,Q)}function $H(Z,Y,Q){KH.stat(Z,function(J,q){Q(J,J?!1:BH(q,Z,Y))})}function TI(Z,Y){return BH(KH.statSync(Z),Z,Y)}});var _H=L6((Um,jH)=>{jH.exports=DH;DH.sync=kI;var OH=U6("fs");function DH(Z,Y,Q){OH.stat(Z,function(J,q){Q(J,J?!1:MH(q,Y))})}function kI(Z,Y){return MH(OH.statSync(Z),Y)}function MH(Z,Y){return Z.isFile()&&EI(Z,Y)}function EI(Z,Y){var{mode:Q,uid:J,gid:q}=Z,X=Y.uid!==void 0?Y.uid:process.getuid&&process.getuid(),z=Y.gid!==void 0?Y.gid:process.getgid&&process.getgid(),W=parseInt("100",8),U=parseInt("010",8),K=parseInt("001",8),B=W|U,$=Q&K||Q&U&&q===z||Q&W&&J===X||Q&B&&X===0;return $}});var IH=L6((Bm,NH)=>{var Km=U6("fs"),h7;if(process.platform==="win32"||global.TESTING_WINDOWS)h7=VH();else h7=_H();NH.exports=R2;R2.sync=PI;function R2(Z,Y,Q){if(typeof Y==="function")Q=Y,Y={};if(!Q){if(typeof Promise!=="function")throw TypeError("callback not provided");return new Promise(function(J,q){R2(Z,Y||{},function(X,z){if(X)q(X);else J(z)})})}h7(Z,Y||{},function(J,q){if(J){if(J.code==="EACCES"||Y&&Y.ignoreErrors)J=null,q=!1}Q(J,q)})}function PI(Z,Y){try{return h7.sync(Z,Y||{})}catch(Q){if(Y&&Y.ignoreErrors||Q.code==="EACCES")return!1;else throw Q}}});var TH=L6(($m,RH)=>{var s8=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",LH=U6("path"),xI=s8?";":":",wH=IH(),AH=(Z)=>Object.assign(Error(`not found: ${Z}`),{code:"ENOENT"}),GH=(Z,Y)=>{let Q=Y.colon||xI,J=Z.match(/\//)||s8&&Z.match(/\\/)?[""]:[...s8?[process.cwd()]:[],...(Y.path||process.env.PATH||"").split(Q)],q=s8?Y.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",X=s8?q.split(Q):[""];if(s8){if(Z.indexOf(".")!==-1&&X[0]!=="")X.unshift("")}return{pathEnv:J,pathExt:X,pathExtExe:q}},CH=(Z,Y,Q)=>{if(typeof Y==="function")Q=Y,Y={};if(!Y)Y={};let{pathEnv:J,pathExt:q,pathExtExe:X}=GH(Z,Y),z=[],W=(K)=>new Promise((B,$)=>{if(K===J.length)return Y.all&&z.length?B(z):$(AH(Z));let V=J[K],D=/^".*"$/.test(V)?V.slice(1,-1):V,F=LH.join(D,Z),O=!D&&/^\.[\\\/]/.test(Z)?Z.slice(0,2)+F:F;B(U(O,K,0))}),U=(K,B,$)=>new Promise((V,D)=>{if($===q.length)return V(W(B+1));let F=q[$];wH(K+F,{pathExt:X},(O,j)=>{if(!O&&j)if(Y.all)z.push(K+F);else return V(K+F);return V(U(K,B,$+1))})});return Q?W(0).then((K)=>Q(null,K),Q):W(0)},bI=(Z,Y)=>{Y=Y||{};let{pathEnv:Q,pathExt:J,pathExtExe:q}=GH(Z,Y),X=[];for(let z=0;z<Q.length;z++){let W=Q[z],U=/^".*"$/.test(W)?W.slice(1,-1):W,K=LH.join(U,Z),B=!U&&/^\.[\\\/]/.test(Z)?Z.slice(0,2)+K:K;for(let $=0;$<J.length;$++){let V=B+J[$];try{if(wH.sync(V,{pathExt:q}))if(Y.all)X.push(V);else return V}catch(D){}}}if(Y.all&&X.length)return X;if(Y.nothrow)return null;throw AH(Z)};RH.exports=CH;CH.sync=bI});var EH=L6((Fm,T2)=>{var kH=(Z={})=>{let Y=Z.env||process.env;if((Z.platform||process.platform)!=="win32")return"PATH";return Object.keys(Y).reverse().find((J)=>J.toUpperCase()==="PATH")||"Path"};T2.exports=kH;T2.exports.default=kH});var vH=L6((Vm,bH)=>{var PH=U6("path"),vI=TH(),SI=EH();function xH(Z,Y){let Q=Z.options.env||process.env,J=process.cwd(),q=Z.options.cwd!=null,X=q&&process.chdir!==void 0&&!process.chdir.disabled;if(X)try{process.chdir(Z.options.cwd)}catch(W){}let z;try{z=vI.sync(Z.command,{path:Q[SI({env:Q})],pathExt:Y?PH.delimiter:void 0})}catch(W){}finally{if(X)process.chdir(J)}if(z)z=PH.resolve(q?Z.options.cwd:"",z);return z}function yI(Z){return xH(Z)||xH(Z,!0)}bH.exports=yI});var SH=L6((gI,E2)=>{var k2=/([()\][%!^"`<>&|;, *?])/g;function fI(Z){return Z=Z.replace(k2,"^$1"),Z}function hI(Z,Y){if(Z=`${Z}`,Z=Z.replace(/(?=(\\+?)?)\1"/g,"$1$1\\\""),Z=Z.replace(/(?=(\\+?)?)\1$/,"$1$1"),Z=`"${Z}"`,Z=Z.replace(k2,"^$1"),Y)Z=Z.replace(k2,"^$1");return Z}gI.command=fI;gI.argument=hI});var fH=L6((Om,yH)=>{yH.exports=/^#!(.*)/});var gH=L6((Dm,hH)=>{var uI=fH();hH.exports=(Z="")=>{let Y=Z.match(uI);if(!Y)return null;let[Q,J]=Y[0].replace(/#! ?/,"").split(" "),q=Q.split("/").pop();if(q==="env")return J;return J?`${q} ${J}`:q}});var pH=L6((Mm,mH)=>{var P2=U6("fs"),dI=gH();function cI(Z){let Q=Buffer.alloc(150),J;try{J=P2.openSync(Z,"r"),P2.readSync(J,Q,0,150,0),P2.closeSync(J)}catch(q){}return dI(Q.toString())}mH.exports=cI});var lH=L6((jm,cH)=>{var lI=U6("path"),uH=vH(),dH=SH(),nI=pH(),oI=process.platform==="win32",iI=/\.(?:com|exe)$/i,sI=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function aI(Z){Z.file=uH(Z);let Y=Z.file&&nI(Z.file);if(Y)return Z.args.unshift(Z.file),Z.command=Y,uH(Z);return Z.file}function rI(Z){if(!oI)return Z;let Y=aI(Z),Q=!iI.test(Y);if(Z.options.forceShell||Q){let J=sI.test(Y);Z.command=lI.normalize(Z.command),Z.command=dH.command(Z.command),Z.args=Z.args.map((X)=>dH.argument(X,J));let q=[Z.command].concat(Z.args).join(" ");Z.args=["/d","/s","/c",`"${q}"`],Z.command=process.env.comspec||"cmd.exe",Z.options.windowsVerbatimArguments=!0}return Z}function tI(Z,Y,Q){if(Y&&!Array.isArray(Y))Q=Y,Y=null;Y=Y?Y.slice(0):[],Q=Object.assign({},Q);let J={command:Z,args:Y,options:Q,file:void 0,original:{command:Z,args:Y}};return Q.shell?J:rI(J)}cH.exports=tI});var iH=L6((_m,oH)=>{var x2=process.platform==="win32";function b2(Z,Y){return Object.assign(Error(`${Y} ${Z.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${Y} ${Z.command}`,path:Z.command,spawnargs:Z.args})}function eI(Z,Y){if(!x2)return;let Q=Z.emit;Z.emit=function(J,q){if(J==="exit"){let X=nH(q,Y);if(X)return Q.call(Z,"error",X)}return Q.apply(Z,arguments)}}function nH(Z,Y){if(x2&&Z===1&&!Y.file)return b2(Y.original,"spawn");return null}function ZL(Z,Y){if(x2&&Z===1&&!Y.file)return b2(Y.original,"spawnSync");return null}oH.exports={hookChildProcess:eI,verifyENOENT:nH,verifyENOENTSync:ZL,notFoundError:b2}});var rH=L6((Nm,a8)=>{var sH=U6("child_process"),v2=lH(),S2=iH();function aH(Z,Y,Q){let J=v2(Z,Y,Q),q=sH.spawn(J.command,J.args,J.options);return S2.hookChildProcess(q,J),q}function YL(Z,Y,Q){let J=v2(Z,Y,Q),q=sH.spawnSync(J.command,J.args,J.options);return q.error=q.error||S2.verifyENOENTSync(q.status,J),q}a8.exports=aH;a8.exports.spawn=aH;a8.exports.sync=YL;a8.exports._parse=v2;a8.exports._enoent=S2});function g7(Z={}){let{env:Y=process.env,platform:Q=process.platform}=Z;if(Q!=="win32")return"PATH";return Object.keys(Y).reverse().find((J)=>J.toUpperCase()==="PATH")||"Path"}import{promisify as QL}from"node:util";import{execFile as JL,execFileSync as Am}from"node:child_process";import tH from"node:path";import{fileURLToPath as qL}from"node:url";function m7(Z){return Z instanceof URL?qL(Z):Z}function eH(Z){return{*[Symbol.iterator](){let Y=tH.resolve(m7(Z)),Q;while(Q!==Y)yield Y,Q=Y,Y=tH.resolve(Y,"..")}}}var Rm;var ZW=N(()=>{Rm=QL(JL)});import p7 from"node:process";import W8 from"node:path";var XL=({cwd:Z=p7.cwd(),path:Y=p7.env[g7()],preferLocal:Q=!0,execPath:J=p7.execPath,addExecPath:q=!0}={})=>{let X=W8.resolve(m7(Z)),z=[],W=Y.split(W8.delimiter);if(Q)zL(z,W,X);if(q)HL(z,W,J,X);return Y===""||Y===W8.delimiter?`${z.join(W8.delimiter)}${Y}`:[...z,Y].join(W8.delimiter)},zL=(Z,Y,Q)=>{for(let J of eH(Q)){let q=W8.join(J,"node_modules/.bin");if(!Y.includes(q))Z.push(q)}},HL=(Z,Y,Q,J)=>{let q=W8.resolve(J,m7(Q),"..");if(!Y.includes(q))Z.push(q)},YW=({env:Z=p7.env,...Y}={})=>{Z={...Z};let Q=g7({env:Z});return Y.path=Z[Q],Z[Q]=XL(Y),Z};var QW=N(()=>{ZW()});var JW=(Z,Y,Q)=>{let J=Q?eZ:p6,q=Z instanceof Q4?{}:{cause:Z};return new J(Y,q)},Q4,qW=(Z,Y)=>{Object.defineProperty(Z.prototype,"name",{value:Y,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(Z.prototype,zW,{value:!0,writable:!1,enumerable:!1,configurable:!1})},XW=(Z)=>u7(Z)&&(zW in Z),zW,u7=(Z)=>Object.prototype.toString.call(Z)==="[object Error]",p6,eZ;var h4=N(()=>{Q4=class Q4 extends Error{};zW=Symbol("isExecaError");p6=class p6 extends Error{};qW(p6,p6.name);eZ=class eZ extends Error{};qW(eZ,eZ.name)});var HW=()=>{let Z=y2-WW+1;return Array.from({length:Z},WL)},WL=(Z,Y)=>({name:`SIGRT${Y+1}`,number:WW+Y,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}),WW=34,y2=64;var UW;var KW=N(()=>{UW=[{name:"SIGHUP",number:1,action:"terminate",description:"Terminal closed",standard:"posix"},{name:"SIGINT",number:2,action:"terminate",description:"User interruption with CTRL-C",standard:"ansi"},{name:"SIGQUIT",number:3,action:"core",description:"User interruption with CTRL-\\",standard:"posix"},{name:"SIGILL",number:4,action:"core",description:"Invalid machine instruction",standard:"ansi"},{name:"SIGTRAP",number:5,action:"core",description:"Debugger breakpoint",standard:"posix"},{name:"SIGABRT",number:6,action:"core",description:"Aborted",standard:"ansi"},{name:"SIGIOT",number:6,action:"core",description:"Aborted",standard:"bsd"},{name:"SIGBUS",number:7,action:"core",description:"Bus error due to misaligned, non-existing address or paging error",standard:"bsd"},{name:"SIGEMT",number:7,action:"terminate",description:"Command should be emulated but is not implemented",standard:"other"},{name:"SIGFPE",number:8,action:"core",description:"Floating point arithmetic error",standard:"ansi"},{name:"SIGKILL",number:9,action:"terminate",description:"Forced termination",standard:"posix",forced:!0},{name:"SIGUSR1",number:10,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGSEGV",number:11,action:"core",description:"Segmentation fault",standard:"ansi"},{name:"SIGUSR2",number:12,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGPIPE",number:13,action:"terminate",description:"Broken pipe or socket",standard:"posix"},{name:"SIGALRM",number:14,action:"terminate",description:"Timeout or timer",standard:"posix"},{name:"SIGTERM",number:15,action:"terminate",description:"Termination",standard:"ansi"},{name:"SIGSTKFLT",number:16,action:"terminate",description:"Stack is empty or overflowed",standard:"other"},{name:"SIGCHLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"posix"},{name:"SIGCLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"other"},{name:"SIGCONT",number:18,action:"unpause",description:"Unpaused",standard:"posix",forced:!0},{name:"SIGSTOP",number:19,action:"pause",description:"Paused",standard:"posix",forced:!0},{name:"SIGTSTP",number:20,action:"pause",description:'Paused using CTRL-Z or "suspend"',standard:"posix"},{name:"SIGTTIN",number:21,action:"pause",description:"Background process cannot read terminal input",standard:"posix"},{name:"SIGBREAK",number:21,action:"terminate",description:"User interruption with CTRL-BREAK",standard:"other"},{name:"SIGTTOU",number:22,action:"pause",description:"Background process cannot write to terminal output",standard:"posix"},{name:"SIGURG",number:23,action:"ignore",description:"Socket received out-of-band data",standard:"bsd"},{name:"SIGXCPU",number:24,action:"core",description:"Process timed out",standard:"bsd"},{name:"SIGXFSZ",number:25,action:"core",description:"File too big",standard:"bsd"},{name:"SIGVTALRM",number:26,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGPROF",number:27,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGWINCH",number:28,action:"ignore",description:"Terminal window size changed",standard:"bsd"},{name:"SIGIO",number:29,action:"terminate",description:"I/O is available",standard:"other"},{name:"SIGPOLL",number:29,action:"terminate",description:"Watched event",standard:"other"},{name:"SIGINFO",number:29,action:"ignore",description:"Request for process information",standard:"other"},{name:"SIGPWR",number:30,action:"terminate",description:"Device running out of power",standard:"systemv"},{name:"SIGSYS",number:31,action:"core",description:"Invalid system call",standard:"other"},{name:"SIGUNUSED",number:31,action:"terminate",description:"Invalid system call",standard:"other"}]});import{constants as UL}from"node:os";var f2=()=>{let Z=HW();return[...UW,...Z].map(KL)},KL=({name:Z,number:Y,description:Q,action:J,forced:q=!1,standard:X})=>{let{signals:{[Z]:z}}=UL,W=z!==void 0;return{name:Z,number:W?z:Y,description:Q,supported:W,action:J,forced:q,standard:X}};var BW=N(()=>{KW()});import{constants as BL}from"node:os";var $L=()=>{let Z=f2();return Object.fromEntries(Z.map(FL))},FL=({name:Z,number:Y,description:Q,supported:J,action:q,forced:X,standard:z})=>[Z,{name:Z,number:Y,description:Q,supported:J,action:q,forced:X,standard:z}],$W,VL=()=>{let Z=f2(),Y=y2+1,Q=Array.from({length:Y},(J,q)=>OL(q,Z));return Object.assign({},...Q)},OL=(Z,Y)=>{let Q=DL(Z,Y);if(Q===void 0)return{};let{name:J,description:q,supported:X,action:z,forced:W,standard:U}=Q;return{[Z]:{name:J,number:Z,description:q,supported:X,action:z,forced:W,standard:U}}},DL=(Z,Y)=>{let Q=Y.find(({name:J})=>BL.signals[J]===Z);if(Q!==void 0)return Q;return Y.find((J)=>J.number===Z)},lm;var FW=N(()=>{BW();$W=$L(),lm=VL()});import{constants as Z1}from"node:os";var OW=(Z)=>{if(Z===0)throw TypeError("Invalid option `killSignal`: 0 cannot be used.");return MW(Z,"option `killSignal`")},DW=(Z)=>Z===0?Z:MW(Z,"`subprocess.kill()`'s argument"),MW=(Z,Y)=>{if(Number.isInteger(Z))return ML(Z,Y);if(typeof Z==="string")return _L(Z,Y);throw TypeError(`Invalid ${Y} ${String(Z)}: it must be a string or an integer.
52
+ ${h2()}`)},ML=(Z,Y)=>{if(VW.has(Z))return VW.get(Z);throw TypeError(`Invalid ${Y} ${Z}: this signal integer does not exist.
53
+ ${h2()}`)},jL=()=>new Map(Object.entries(Z1.signals).reverse().map(([Z,Y])=>[Y,Z])),VW,_L=(Z,Y)=>{if(Z in Z1.signals)return Z;if(Z.toUpperCase()in Z1.signals)throw TypeError(`Invalid ${Y} '${Z}': please rename it to '${Z.toUpperCase()}'.`);throw TypeError(`Invalid ${Y} '${Z}': this signal name does not exist.
54
+ ${h2()}`)},h2=()=>`Available signal names: ${NL()}.
55
+ Available signal numbers: ${IL()}.`,NL=()=>Object.keys(Z1.signals).sort().map((Z)=>`'${Z}'`).join(", "),IL=()=>[...new Set(Object.values(Z1.signals).sort((Z,Y)=>Z-Y))].join(", "),d7=(Z)=>$W[Z].description;var Y1=N(()=>{FW();VW=jL()});import{setTimeout as LL}from"node:timers/promises";var jW=(Z)=>{if(Z===!1)return Z;if(Z===!0)return wL;if(!Number.isFinite(Z)||Z<0)throw TypeError(`Expected the \`forceKillAfterDelay\` option to be a non-negative integer, got \`${Z}\` (${typeof Z})`);return Z},wL=5000,_W=({kill:Z,options:{forceKillAfterDelay:Y,killSignal:Q},onInternalError:J,context:q,controller:X},z,W)=>{let{signal:U,error:K}=AL(z,W,Q);GL(K,J);let B=Z(U);return CL({kill:Z,signal:U,forceKillAfterDelay:Y,killSignal:Q,killResult:B,context:q,controller:X}),B},AL=(Z,Y,Q)=>{let[J=Q,q]=u7(Z)?[void 0,Z]:[Z,Y];if(typeof J!=="string"&&!Number.isInteger(J))throw TypeError(`The first argument must be an error instance or a signal name string/integer: ${String(J)}`);if(q!==void 0&&!u7(q))throw TypeError(`The second argument is optional. If specified, it must be an error instance: ${q}`);return{signal:DW(J),error:q}},GL=(Z,Y)=>{if(Z!==void 0)Y.reject(Z)},CL=async({kill:Z,signal:Y,forceKillAfterDelay:Q,killSignal:J,killResult:q,context:X,controller:z})=>{if(Y===J&&q)g2({kill:Z,forceKillAfterDelay:Q,context:X,controllerSignal:z.signal})},g2=async({kill:Z,forceKillAfterDelay:Y,context:Q,controllerSignal:J})=>{if(Y===!1)return;try{if(await LL(Y,void 0,{signal:J}),Z("SIGKILL"))Q.isForcefullyTerminated??=!0}catch{}};var c7=N(()=>{h4();Y1()});import{once as RL}from"node:events";var l7=async(Z,Y)=>{if(!Z.aborted)await RL(Z,"abort",{signal:Y})};var m2=()=>{};var NW=({cancelSignal:Z})=>{if(Z!==void 0&&Object.prototype.toString.call(Z)!=="[object AbortSignal]")throw Error(`The \`cancelSignal\` option must be an AbortSignal: ${String(Z)}`)},IW=({subprocess:Z,cancelSignal:Y,gracefulCancel:Q,context:J,controller:q})=>Y===void 0||Q?[]:[TL(Z,Y,J,q)],TL=async(Z,Y,Q,{signal:J})=>{throw await l7(Y,J),Q.terminationReason??="cancel",Z.kill(),Y.reason};var p2=N(()=>{m2()});var r8=({methodName:Z,isSubprocess:Y,ipc:Q,isConnected:J})=>{kL(Z,Y,Q),u2(Z,Y,J)},kL=(Z,Y,Q)=>{if(!Q)throw Error(`${a6(Z,Y)} can only be used if the \`ipc\` option is \`true\`.`)},u2=(Z,Y,Q)=>{if(!Q)throw Error(`${a6(Z,Y)} cannot be used: the ${g4(Y)} has already exited or disconnected.`)},LW=(Z)=>{throw Error(`${a6("getOneMessage",Z)} could not complete: the ${g4(Z)} exited or disconnected.`)},wW=(Z)=>{throw Error(`${a6("sendMessage",Z)} failed: the ${g4(Z)} is sending a message too, instead of listening to incoming messages.
56
56
  This can be fixed by both sending a message and listening to incoming messages at the same time:
57
57
 
58
58
  const [receivedMessage] = await Promise.all([
59
- ${i6("getOneMessage",Z)},
60
- ${i6("sendMessage",Z,"message, {strict: true}")},
61
- ]);`)},d7=(Z,Y)=>Error(`${i6("sendMessage",Y)} failed when sending an acknowledgment response to the ${f8(Y)}.`,{cause:Z}),FW=(Z)=>{throw Error(`${i6("sendMessage",Z)} failed: the ${f8(Z)} is not listening to incoming messages.`)},VW=(Z)=>{throw Error(`${i6("sendMessage",Z)} failed: the ${f8(Z)} exited without listening to incoming messages.`)},OW=()=>Error(`\`cancelSignal\` aborted: the ${f8(!0)} disconnected.`),DW=()=>{throw Error("`getCancelSignal()` cannot be used without setting the `cancelSignal` subprocess option.")},MW=({error:Z,methodName:Y,isSubprocess:Q})=>{if(Z.code==="EPIPE")throw Error(`${i6(Y,Q)} cannot be used: the ${f8(Q)} is disconnecting.`,{cause:Z})},jW=({error:Z,methodName:Y,isSubprocess:Q,message:J})=>{if($L(Z))throw Error(`${i6(Y,Q)}'s argument type is invalid: the message cannot be serialized: ${String(J)}.`,{cause:Z})},$L=({code:Z,message:Y})=>FL.has(Z)||VL.some((Q)=>Y.includes(Q)),FL,VL,i6=(Z,Y,Q="")=>Z==="cancelSignal"?"`cancelSignal`'s `controller.abort()`":`${OL(Y)}${Z}(${Q})`,OL=(Z)=>Z?"":"subprocess.",f8=(Z)=>Z?"parent process":"subprocess",s4=(Z)=>{if(Z.connected)Z.disconnect()};var a4=j(()=>{FL=new Set(["ERR_MISSING_ARGS","ERR_INVALID_ARG_TYPE"]),VL=["could not be cloned","circular structure","call stack size exceeded"]});var Y8=()=>{let Z={},Y=new Promise((Q,J)=>{Object.assign(Z,{resolve:Q,reject:J})});return Object.assign(Y,Z)};var l7=(Z,Y="stdin")=>{let{options:J,fileDescriptors:q}=Q8.get(Z),X=_W(q,Y,!0),z=Z.stdio[X];if(z===null)throw TypeError(NW(X,Y,J,!0));return z},r4=(Z,Y="stdout")=>{let{options:J,fileDescriptors:q}=Q8.get(Z),X=_W(q,Y,!1),z=X==="all"?Z.all:Z.stdio[X];if(z===null||z===void 0)throw TypeError(NW(X,Y,J,!1));return z},Q8,_W=(Z,Y,Q)=>{let J=DL(Y,Q);return ML(J,Y,Q,Z),J},DL=(Z,Y)=>{let Q=V2(Z);if(Q!==void 0)return Q;let{validOptions:J,defaultValue:q}=Y?{validOptions:'"stdin"',defaultValue:"stdin"}:{validOptions:'"stdout", "stderr", "all"',defaultValue:"stdout"};throw TypeError(`"${Z1(Y)}" must not be "${Z}".
59
+ ${a6("getOneMessage",Z)},
60
+ ${a6("sendMessage",Z,"message, {strict: true}")},
61
+ ]);`)},n7=(Z,Y)=>Error(`${a6("sendMessage",Y)} failed when sending an acknowledgment response to the ${g4(Y)}.`,{cause:Z}),AW=(Z)=>{throw Error(`${a6("sendMessage",Z)} failed: the ${g4(Z)} is not listening to incoming messages.`)},GW=(Z)=>{throw Error(`${a6("sendMessage",Z)} failed: the ${g4(Z)} exited without listening to incoming messages.`)},CW=()=>Error(`\`cancelSignal\` aborted: the ${g4(!0)} disconnected.`),RW=()=>{throw Error("`getCancelSignal()` cannot be used without setting the `cancelSignal` subprocess option.")},TW=({error:Z,methodName:Y,isSubprocess:Q})=>{if(Z.code==="EPIPE")throw Error(`${a6(Y,Q)} cannot be used: the ${g4(Q)} is disconnecting.`,{cause:Z})},kW=({error:Z,methodName:Y,isSubprocess:Q,message:J})=>{if(EL(Z))throw Error(`${a6(Y,Q)}'s argument type is invalid: the message cannot be serialized: ${String(J)}.`,{cause:Z})},EL=({code:Z,message:Y})=>PL.has(Z)||xL.some((Q)=>Y.includes(Q)),PL,xL,a6=(Z,Y,Q="")=>Z==="cancelSignal"?"`cancelSignal`'s `controller.abort()`":`${bL(Y)}${Z}(${Q})`,bL=(Z)=>Z?"":"subprocess.",g4=(Z)=>Z?"parent process":"subprocess",t8=(Z)=>{if(Z.connected)Z.disconnect()};var e8=N(()=>{PL=new Set(["ERR_MISSING_ARGS","ERR_INVALID_ARG_TYPE"]),xL=["could not be cloned","circular structure","call stack size exceeded"]});var J4=()=>{let Z={},Y=new Promise((Q,J)=>{Object.assign(Z,{resolve:Q,reject:J})});return Object.assign(Y,Z)};var i7=(Z,Y="stdin")=>{let{options:J,fileDescriptors:q}=q4.get(Z),X=EW(q,Y,!0),z=Z.stdio[X];if(z===null)throw TypeError(PW(X,Y,J,!0));return z},ZZ=(Z,Y="stdout")=>{let{options:J,fileDescriptors:q}=q4.get(Z),X=EW(q,Y,!1),z=X==="all"?Z.all:Z.stdio[X];if(z===null||z===void 0)throw TypeError(PW(X,Y,J,!1));return z},q4,EW=(Z,Y,Q)=>{let J=vL(Y,Q);return SL(J,Y,Q,Z),J},vL=(Z,Y)=>{let Q=I2(Z);if(Q!==void 0)return Q;let{validOptions:J,defaultValue:q}=Y?{validOptions:'"stdin"',defaultValue:"stdin"}:{validOptions:'"stdout", "stderr", "all"',defaultValue:"stdout"};throw TypeError(`"${Q1(Y)}" must not be "${Z}".
62
62
  It must be ${J} or "fd3", "fd4" (and so on).
63
- It is optional and defaults to "${q}".`)},ML=(Z,Y,Q,J)=>{let q=J[IW(Z)];if(q===void 0)throw TypeError(`"${Z1(Q)}" must not be ${Y}. That file descriptor does not exist.
64
- Please set the "stdio" option to ensure that file descriptor exists.`);if(q.direction==="input"&&!Q)throw TypeError(`"${Z1(Q)}" must not be ${Y}. It must be a readable stream, not writable.`);if(q.direction!=="input"&&Q)throw TypeError(`"${Z1(Q)}" must not be ${Y}. It must be a writable stream, not readable.`)},NW=(Z,Y,Q,J)=>{if(Z==="all"&&!Q.all)return`The "all" option must be true to use "from: 'all'".`;let{optionName:q,optionValue:X}=jL(Z,Q);return`The "${q}: ${c7(X)}" option is incompatible with using "${Z1(J)}: ${c7(Y)}".
65
- Please set this option with "pipe" instead.`},jL=(Z,{stdin:Y,stdout:Q,stderr:J,stdio:q})=>{let X=IW(Z);if(X===0&&Y!==void 0)return{optionName:"stdin",optionValue:Y};if(X===1&&Q!==void 0)return{optionName:"stdout",optionValue:Q};if(X===2&&J!==void 0)return{optionName:"stderr",optionValue:J};return{optionName:`stdio[${X}]`,optionValue:q[X]}},IW=(Z)=>Z==="all"?1:Z,Z1=(Z)=>Z?"to":"from",c7=(Z)=>{if(typeof Z==="string")return`'${Z}'`;return typeof Z==="number"?`${Z}`:"Stream"};var h8=j(()=>{D8();Q8=new WeakMap});import{addAbortListener as _L}from"node:events";var z4=(Z,Y,Q)=>{let J=Z.getMaxListeners();if(J===0||J===Number.POSITIVE_INFINITY)return;Z.setMaxListeners(J+Y),_L(Q,()=>{Z.setMaxListeners(Z.getMaxListeners()-Y)})};var n7=()=>{};var o7=(Z,Y)=>{if(Y)y2(Z)},y2=(Z)=>{Z.refCounted()},i7=(Z,Y)=>{if(Y)f2(Z)},f2=(Z)=>{Z.unrefCounted()},LW=(Z,Y)=>{if(Y)f2(Z),f2(Z)},wW=(Z,Y)=>{if(Y)y2(Z),y2(Z)};import{once as NL}from"node:events";import{scheduler as IL}from"node:timers/promises";var AW=async({anyProcess:Z,channel:Y,isSubprocess:Q,ipcEmitter:J},q)=>{if(TW(q)||EW(q))return;if(!s7.has(Z))s7.set(Z,[]);let X=s7.get(Z);if(X.push(q),X.length>1)return;while(X.length>0){await kW(Z,J,q),await IL.yield();let z=await RW({wrappedMessage:X[0],anyProcess:Z,channel:Y,isSubprocess:Q,ipcEmitter:J});X.shift(),J.emit("message",z),J.emit("message:done")}},GW=async({anyProcess:Z,channel:Y,isSubprocess:Q,ipcEmitter:J,boundOnMessage:q})=>{h2();let X=s7.get(Z);while(X?.length>0)await NL(J,"message:done");Z.removeListener("message",q),wW(Y,Q),J.connected=!1,J.emit("disconnect")},s7;var CW=j(()=>{r7();a7();t7();s7=new WeakMap});import{EventEmitter as LL}from"node:events";var g8=(Z,Y,Q)=>{if(e7.has(Z))return e7.get(Z);let J=new LL;return J.connected=!0,e7.set(Z,J),wL({ipcEmitter:J,anyProcess:Z,channel:Y,isSubprocess:Q}),J},e7,wL=({ipcEmitter:Z,anyProcess:Y,channel:Q,isSubprocess:J})=>{let q=AW.bind(void 0,{anyProcess:Y,channel:Q,isSubprocess:J,ipcEmitter:Z});Y.on("message",q),Y.once("disconnect",GW.bind(void 0,{anyProcess:Y,channel:Q,isSubprocess:J,ipcEmitter:Z,boundOnMessage:q})),LW(Q,J)},ZY=(Z)=>{let Y=e7.get(Z);return Y===void 0?Z.channel!==null:Y.connected};var Y1=j(()=>{CW();e7=new WeakMap});import{once as AL}from"node:events";var xW=({anyProcess:Z,channel:Y,isSubprocess:Q,message:J,strict:q})=>{if(!q)return J;let X=g8(Z,Y,Q),z=JY(Z,X);return{id:GL++,type:QY,message:J,hasListeners:z}},GL=0n,PW=(Z,Y)=>{if(Y?.type!==QY||Y.hasListeners)return;for(let{id:Q}of Z)if(Q!==void 0)YY[Q].resolve({isDeadlock:!0,hasListeners:!1})},RW=async({wrappedMessage:Z,anyProcess:Y,channel:Q,isSubprocess:J,ipcEmitter:q})=>{if(Z?.type!==QY||!Y.connected)return Z;let{id:X,message:z}=Z,W={id:X,type:vW,message:JY(Y,q)};try{await qY({anyProcess:Y,channel:Q,isSubprocess:J,ipc:!0},W)}catch(U){q.emit("strict:error",U)}return z},TW=(Z)=>{if(Z?.type!==vW)return!1;let{id:Y,message:Q}=Z;return YY[Y]?.resolve({isDeadlock:!1,hasListeners:Q}),!0},bW=async(Z,Y,Q)=>{if(Z?.type!==QY)return;let J=Y8();YY[Z.id]=J;let q=new AbortController;try{let{isDeadlock:X,hasListeners:z}=await Promise.race([J,CL(Y,Q,q)]);if(X)$W(Q);if(!z)FW(Q)}finally{q.abort(),delete YY[Z.id]}},YY,CL=async(Z,Y,{signal:Q})=>{z4(Z,1,Q),await AL(Z,"disconnect",{signal:Q}),VW(Y)},QY="execa:ipc:request",vW="execa:ipc:response";var a7=j(()=>{n7();XY();a4();Y1();r7();YY={}});var SW=(Z,Y,Q)=>{if(!Q1.has(Z))Q1.set(Z,new Set);let J=Q1.get(Z),q=Y8(),X=Q?Y.id:void 0,z={onMessageSent:q,id:X};return J.add(z),{outgoingMessages:J,outgoingMessage:z}},yW=({outgoingMessages:Z,outgoingMessage:Y})=>{Z.delete(Y),Y.onMessageSent.resolve()},kW=async(Z,Y,Q)=>{while(!JY(Z,Y)&&Q1.get(Z)?.size>0){let J=[...Q1.get(Z)];PW(J,Q),await Promise.all(J.map(({onMessageSent:q})=>q))}},Q1,JY=(Z,Y)=>Y.listenerCount("message")>RL(Z),RL=(Z)=>Q8.has(Z)&&!O8(Q8.get(Z).options.buffer,"ipc")?1:0;var r7=j(()=>{D8();h8();a7();Q1=new WeakMap});import{promisify as TL}from"node:util";var qY=({anyProcess:Z,channel:Y,isSubprocess:Q,ipc:J},q,{strict:X=!1}={})=>{return i4({methodName:"sendMessage",isSubprocess:Q,ipc:J,isConnected:Z.connected}),kL({anyProcess:Z,channel:Y,methodName:"sendMessage",isSubprocess:Q,message:q,strict:X})},kL=async({anyProcess:Z,channel:Y,methodName:Q,isSubprocess:J,message:q,strict:X})=>{let z=xW({anyProcess:Z,channel:Y,isSubprocess:J,message:q,strict:X}),W=SW(Z,z,X);try{await m2({anyProcess:Z,methodName:Q,isSubprocess:J,wrappedMessage:z,message:q})}catch(U){throw s4(Z),U}finally{yW(W)}},m2=async({anyProcess:Z,methodName:Y,isSubprocess:Q,wrappedMessage:J,message:q})=>{let X=EL(Z);try{await Promise.all([bW(J,Z,Q),X(J)])}catch(z){throw MW({error:z,methodName:Y,isSubprocess:Q}),jW({error:z,methodName:Y,isSubprocess:Q,message:q}),z}},EL=(Z)=>{if(g2.has(Z))return g2.get(Z);let Y=TL(Z.send.bind(Z));return g2.set(Z,Y),Y},g2;var XY=j(()=>{a4();r7();a7();g2=new WeakMap});import{scheduler as xL}from"node:timers/promises";var hW=(Z,Y)=>{return S2("cancelSignal",!1,Z.connected),m2({anyProcess:Z,methodName:"cancelSignal",isSubprocess:!1,wrappedMessage:{type:mW,message:Y},message:Y})},gW=async({anyProcess:Z,channel:Y,isSubprocess:Q,ipc:J})=>{return await PL({anyProcess:Z,channel:Y,isSubprocess:Q,ipc:J}),p2.signal},PL=async({anyProcess:Z,channel:Y,isSubprocess:Q,ipc:J})=>{if(fW)return;if(fW=!0,!J){DW();return}if(Y===null){h2();return}g8(Z,Y,Q),await xL.yield()},fW=!1,EW=(Z)=>{if(Z?.type!==mW)return!1;return p2.abort(Z.message),!0},mW="execa:ipc:cancel",h2=()=>{p2.abort(OW())},p2;var t7=j(()=>{XY();Y1();a4();p2=new AbortController});var pW=({gracefulCancel:Z,cancelSignal:Y,ipc:Q,serialization:J})=>{if(!Z)return;if(Y===void 0)throw Error("The `cancelSignal` option must be defined when setting the `gracefulCancel` option.");if(!Q)throw Error("The `ipc` option cannot be false when setting the `gracefulCancel` option.");if(J==="json")throw Error("The `serialization` option cannot be 'json' when setting the `gracefulCancel` option.")},uW=({subprocess:Z,cancelSignal:Y,gracefulCancel:Q,forceKillAfterDelay:J,context:q,controller:X})=>Q?[bL({subprocess:Z,cancelSignal:Y,forceKillAfterDelay:J,context:q,controller:X})]:[],bL=async({subprocess:Z,cancelSignal:Y,forceKillAfterDelay:Q,context:J,controller:{signal:q}})=>{await u7(Y,q);let X=vL(Y);throw await hW(Z,X),P2({kill:Z.kill,forceKillAfterDelay:Q,context:J,controllerSignal:q}),J.terminationReason??="gracefulCancel",Y.reason},vL=({reason:Z})=>{if(!(Z instanceof DOMException))return Z;let Y=Error(Z.message);return Object.defineProperty(Y,"stack",{value:Z.stack,enumerable:!1,configurable:!0,writable:!0}),Y};var u2=j(()=>{b2();t7();p7()});import{setTimeout as SL}from"node:timers/promises";var dW=({timeout:Z})=>{if(Z!==void 0&&(!Number.isFinite(Z)||Z<0))throw TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${Z}\` (${typeof Z})`)},cW=(Z,Y,Q,J)=>Y===0||Y===void 0?[]:[yL(Z,Y,Q,J)],yL=async(Z,Y,Q,{signal:J})=>{throw await SL(Y,void 0,{signal:J}),Q.terminationReason??="timeout",Z.kill(),new Z8};var d2=j(()=>{y8()});import{execPath as fL,execArgv as hL}from"node:process";import lW from"node:path";var nW=({options:Z})=>{if(Z.node===!1)throw TypeError('The "node" option cannot be false with `execaNode()`.');return{options:{...Z,node:!0}}},oW=(Z,Y,{node:Q=!1,nodePath:J=fL,nodeOptions:q=hL.filter((U)=>!U.startsWith("--inspect")),cwd:X,execPath:z,...W})=>{if(z!==void 0)throw TypeError('The "execPath" option has been removed. Please use the "nodePath" option instead.');let U=p4(J,'The "nodePath" option'),K=lW.resolve(X,U),B={...W,nodePath:K,node:Q,cwd:X};if(!Q)return[Z,Y,B];if(lW.basename(Z,".exe")==="node")throw TypeError('When the "node" option is true, the first argument does not need to be "node".');return[K,[...q,Z,...Y],{ipc:!0,...B,shell:!1}]};var c2=j(()=>{u4()});import{serialize as gL}from"node:v8";var iW=({ipcInput:Z,ipc:Y,serialization:Q})=>{if(Z===void 0)return;if(!Y)throw Error("The `ipcInput` option cannot be set unless the `ipc` option is `true`.");uL[Q](Z)},mL=(Z)=>{try{gL(Z)}catch(Y){throw Error("The `ipcInput` option is not serializable with a structured clone.",{cause:Y})}},pL=(Z)=>{try{JSON.stringify(Z)}catch(Y){throw Error("The `ipcInput` option is not serializable with JSON.",{cause:Y})}},uL,sW=async(Z,Y)=>{if(Y===void 0)return;await Z.sendMessage(Y)};var l2=j(()=>{uL={advanced:mL,json:pL}});var rW=({encoding:Z})=>{if(n2.has(Z))return;let Y=cL(Z);if(Y!==void 0)throw TypeError(`Invalid option \`encoding: ${zY(Z)}\`.
66
- Please rename it to ${zY(Y)}.`);let Q=[...n2].map((J)=>zY(J)).join(", ");throw TypeError(`Invalid option \`encoding: ${zY(Z)}\`.
67
- Please rename it to one of: ${Q}.`)},dL,R6,n2,cL=(Z)=>{if(Z===null)return"buffer";if(typeof Z!=="string")return;let Y=Z.toLowerCase();if(Y in aW)return aW[Y];if(n2.has(Y))return Y},aW,zY=(Z)=>typeof Z==="string"?`"${Z}"`:String(Z);var H4=j(()=>{dL=new Set(["utf8","utf16le"]),R6=new Set(["buffer","hex","base64","base64url","latin1","ascii"]),n2=new Set([...dL,...R6]),aW={"utf-8":"utf8","utf-16le":"utf16le","ucs-2":"utf16le",ucs2:"utf16le",binary:"latin1"}});import{statSync as lL}from"node:fs";import nL from"node:path";import oL from"node:process";var tW=(Z=eW())=>{let Y=p4(Z,'The "cwd" option');return nL.resolve(Y)},eW=()=>{try{return oL.cwd()}catch(Z){throw Z.message=`The current directory does not exist.
68
- ${Z.message}`,Z}},ZU=(Z,Y)=>{if(Y===eW())return Z;let Q;try{Q=lL(Y)}catch(J){return`The "cwd" option is invalid: ${Y}.
63
+ It is optional and defaults to "${q}".`)},SL=(Z,Y,Q,J)=>{let q=J[xW(Z)];if(q===void 0)throw TypeError(`"${Q1(Q)}" must not be ${Y}. That file descriptor does not exist.
64
+ Please set the "stdio" option to ensure that file descriptor exists.`);if(q.direction==="input"&&!Q)throw TypeError(`"${Q1(Q)}" must not be ${Y}. It must be a readable stream, not writable.`);if(q.direction!=="input"&&Q)throw TypeError(`"${Q1(Q)}" must not be ${Y}. It must be a writable stream, not readable.`)},PW=(Z,Y,Q,J)=>{if(Z==="all"&&!Q.all)return`The "all" option must be true to use "from: 'all'".`;let{optionName:q,optionValue:X}=yL(Z,Q);return`The "${q}: ${o7(X)}" option is incompatible with using "${Q1(J)}: ${o7(Y)}".
65
+ Please set this option with "pipe" instead.`},yL=(Z,{stdin:Y,stdout:Q,stderr:J,stdio:q})=>{let X=xW(Z);if(X===0&&Y!==void 0)return{optionName:"stdin",optionValue:Y};if(X===1&&Q!==void 0)return{optionName:"stdout",optionValue:Q};if(X===2&&J!==void 0)return{optionName:"stderr",optionValue:J};return{optionName:`stdio[${X}]`,optionValue:q[X]}},xW=(Z)=>Z==="all"?1:Z,Q1=(Z)=>Z?"to":"from",o7=(Z)=>{if(typeof Z==="string")return`'${Z}'`;return typeof Z==="number"?`${Z}`:"Stream"};var m4=N(()=>{M4();q4=new WeakMap});import{addAbortListener as fL}from"node:events";var U8=(Z,Y,Q)=>{let J=Z.getMaxListeners();if(J===0||J===Number.POSITIVE_INFINITY)return;Z.setMaxListeners(J+Y),fL(Q,()=>{Z.setMaxListeners(Z.getMaxListeners()-Y)})};var s7=()=>{};var a7=(Z,Y)=>{if(Y)d2(Z)},d2=(Z)=>{Z.refCounted()},r7=(Z,Y)=>{if(Y)c2(Z)},c2=(Z)=>{Z.unrefCounted()},bW=(Z,Y)=>{if(Y)c2(Z),c2(Z)},vW=(Z,Y)=>{if(Y)d2(Z),d2(Z)};import{once as hL}from"node:events";import{scheduler as gL}from"node:timers/promises";var SW=async({anyProcess:Z,channel:Y,isSubprocess:Q,ipcEmitter:J},q)=>{if(gW(q)||pW(q))return;if(!t7.has(Z))t7.set(Z,[]);let X=t7.get(Z);if(X.push(q),X.length>1)return;while(X.length>0){await mW(Z,J,q),await gL.yield();let z=await hW({wrappedMessage:X[0],anyProcess:Z,channel:Y,isSubprocess:Q,ipcEmitter:J});X.shift(),J.emit("message",z),J.emit("message:done")}},yW=async({anyProcess:Z,channel:Y,isSubprocess:Q,ipcEmitter:J,boundOnMessage:q})=>{l2();let X=t7.get(Z);while(X?.length>0)await hL(J,"message:done");Z.removeListener("message",q),vW(Y,Q),J.connected=!1,J.emit("disconnect")},t7;var fW=N(()=>{ZY();e7();YY();t7=new WeakMap});import{EventEmitter as mL}from"node:events";var p4=(Z,Y,Q)=>{if(QY.has(Z))return QY.get(Z);let J=new mL;return J.connected=!0,QY.set(Z,J),pL({ipcEmitter:J,anyProcess:Z,channel:Y,isSubprocess:Q}),J},QY,pL=({ipcEmitter:Z,anyProcess:Y,channel:Q,isSubprocess:J})=>{let q=SW.bind(void 0,{anyProcess:Y,channel:Q,isSubprocess:J,ipcEmitter:Z});Y.on("message",q),Y.once("disconnect",yW.bind(void 0,{anyProcess:Y,channel:Q,isSubprocess:J,ipcEmitter:Z,boundOnMessage:q})),bW(Q,J)},JY=(Z)=>{let Y=QY.get(Z);return Y===void 0?Z.channel!==null:Y.connected};var J1=N(()=>{fW();QY=new WeakMap});import{once as uL}from"node:events";var uW=({anyProcess:Z,channel:Y,isSubprocess:Q,message:J,strict:q})=>{if(!q)return J;let X=p4(Z,Y,Q),z=zY(Z,X);return{id:dL++,type:XY,message:J,hasListeners:z}},dL=0n,dW=(Z,Y)=>{if(Y?.type!==XY||Y.hasListeners)return;for(let{id:Q}of Z)if(Q!==void 0)qY[Q].resolve({isDeadlock:!0,hasListeners:!1})},hW=async({wrappedMessage:Z,anyProcess:Y,channel:Q,isSubprocess:J,ipcEmitter:q})=>{if(Z?.type!==XY||!Y.connected)return Z;let{id:X,message:z}=Z,W={id:X,type:lW,message:zY(Y,q)};try{await HY({anyProcess:Y,channel:Q,isSubprocess:J,ipc:!0},W)}catch(U){q.emit("strict:error",U)}return z},gW=(Z)=>{if(Z?.type!==lW)return!1;let{id:Y,message:Q}=Z;return qY[Y]?.resolve({isDeadlock:!1,hasListeners:Q}),!0},cW=async(Z,Y,Q)=>{if(Z?.type!==XY)return;let J=J4();qY[Z.id]=J;let q=new AbortController;try{let{isDeadlock:X,hasListeners:z}=await Promise.race([J,cL(Y,Q,q)]);if(X)wW(Q);if(!z)AW(Q)}finally{q.abort(),delete qY[Z.id]}},qY,cL=async(Z,Y,{signal:Q})=>{U8(Z,1,Q),await uL(Z,"disconnect",{signal:Q}),GW(Y)},XY="execa:ipc:request",lW="execa:ipc:response";var e7=N(()=>{s7();WY();e8();J1();ZY();qY={}});var nW=(Z,Y,Q)=>{if(!q1.has(Z))q1.set(Z,new Set);let J=q1.get(Z),q=J4(),X=Q?Y.id:void 0,z={onMessageSent:q,id:X};return J.add(z),{outgoingMessages:J,outgoingMessage:z}},oW=({outgoingMessages:Z,outgoingMessage:Y})=>{Z.delete(Y),Y.onMessageSent.resolve()},mW=async(Z,Y,Q)=>{while(!zY(Z,Y)&&q1.get(Z)?.size>0){let J=[...q1.get(Z)];dW(J,Q),await Promise.all(J.map(({onMessageSent:q})=>q))}},q1,zY=(Z,Y)=>Y.listenerCount("message")>lL(Z),lL=(Z)=>q4.has(Z)&&!D4(q4.get(Z).options.buffer,"ipc")?1:0;var ZY=N(()=>{M4();m4();e7();q1=new WeakMap});import{promisify as nL}from"node:util";var HY=({anyProcess:Z,channel:Y,isSubprocess:Q,ipc:J},q,{strict:X=!1}={})=>{return r8({methodName:"sendMessage",isSubprocess:Q,ipc:J,isConnected:Z.connected}),oL({anyProcess:Z,channel:Y,methodName:"sendMessage",isSubprocess:Q,message:q,strict:X})},oL=async({anyProcess:Z,channel:Y,methodName:Q,isSubprocess:J,message:q,strict:X})=>{let z=uW({anyProcess:Z,channel:Y,isSubprocess:J,message:q,strict:X}),W=nW(Z,z,X);try{await o2({anyProcess:Z,methodName:Q,isSubprocess:J,wrappedMessage:z,message:q})}catch(U){throw t8(Z),U}finally{oW(W)}},o2=async({anyProcess:Z,methodName:Y,isSubprocess:Q,wrappedMessage:J,message:q})=>{let X=iL(Z);try{await Promise.all([cW(J,Z,Q),X(J)])}catch(z){throw TW({error:z,methodName:Y,isSubprocess:Q}),kW({error:z,methodName:Y,isSubprocess:Q,message:q}),z}},iL=(Z)=>{if(n2.has(Z))return n2.get(Z);let Y=nL(Z.send.bind(Z));return n2.set(Z,Y),Y},n2;var WY=N(()=>{e8();ZY();e7();n2=new WeakMap});import{scheduler as sL}from"node:timers/promises";var sW=(Z,Y)=>{return u2("cancelSignal",!1,Z.connected),o2({anyProcess:Z,methodName:"cancelSignal",isSubprocess:!1,wrappedMessage:{type:rW,message:Y},message:Y})},aW=async({anyProcess:Z,channel:Y,isSubprocess:Q,ipc:J})=>{return await aL({anyProcess:Z,channel:Y,isSubprocess:Q,ipc:J}),i2.signal},aL=async({anyProcess:Z,channel:Y,isSubprocess:Q,ipc:J})=>{if(iW)return;if(iW=!0,!J){RW();return}if(Y===null){l2();return}p4(Z,Y,Q),await sL.yield()},iW=!1,pW=(Z)=>{if(Z?.type!==rW)return!1;return i2.abort(Z.message),!0},rW="execa:ipc:cancel",l2=()=>{i2.abort(CW())},i2;var YY=N(()=>{WY();J1();e8();i2=new AbortController});var tW=({gracefulCancel:Z,cancelSignal:Y,ipc:Q,serialization:J})=>{if(!Z)return;if(Y===void 0)throw Error("The `cancelSignal` option must be defined when setting the `gracefulCancel` option.");if(!Q)throw Error("The `ipc` option cannot be false when setting the `gracefulCancel` option.");if(J==="json")throw Error("The `serialization` option cannot be 'json' when setting the `gracefulCancel` option.")},eW=({subprocess:Z,cancelSignal:Y,gracefulCancel:Q,forceKillAfterDelay:J,context:q,controller:X})=>Q?[rL({subprocess:Z,cancelSignal:Y,forceKillAfterDelay:J,context:q,controller:X})]:[],rL=async({subprocess:Z,cancelSignal:Y,forceKillAfterDelay:Q,context:J,controller:{signal:q}})=>{await l7(Y,q);let X=tL(Y);throw await sW(Z,X),g2({kill:Z.kill,forceKillAfterDelay:Q,context:J,controllerSignal:q}),J.terminationReason??="gracefulCancel",Y.reason},tL=({reason:Z})=>{if(!(Z instanceof DOMException))return Z;let Y=Error(Z.message);return Object.defineProperty(Y,"stack",{value:Z.stack,enumerable:!1,configurable:!0,writable:!0}),Y};var s2=N(()=>{m2();YY();c7()});import{setTimeout as eL}from"node:timers/promises";var ZU=({timeout:Z})=>{if(Z!==void 0&&(!Number.isFinite(Z)||Z<0))throw TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${Z}\` (${typeof Z})`)},YU=(Z,Y,Q,J)=>Y===0||Y===void 0?[]:[Zw(Z,Y,Q,J)],Zw=async(Z,Y,Q,{signal:J})=>{throw await eL(Y,void 0,{signal:J}),Q.terminationReason??="timeout",Z.kill(),new Q4};var a2=N(()=>{h4()});import{execPath as Yw,execArgv as Qw}from"node:process";import QU from"node:path";var JU=({options:Z})=>{if(Z.node===!1)throw TypeError('The "node" option cannot be false with `execaNode()`.');return{options:{...Z,node:!0}}},qU=(Z,Y,{node:Q=!1,nodePath:J=Yw,nodeOptions:q=Qw.filter((U)=>!U.startsWith("--inspect")),cwd:X,execPath:z,...W})=>{if(z!==void 0)throw TypeError('The "execPath" option has been removed. Please use the "nodePath" option instead.');let U=c8(J,'The "nodePath" option'),K=QU.resolve(X,U),B={...W,nodePath:K,node:Q,cwd:X};if(!Q)return[Z,Y,B];if(QU.basename(Z,".exe")==="node")throw TypeError('When the "node" option is true, the first argument does not need to be "node".');return[K,[...q,Z,...Y],{ipc:!0,...B,shell:!1}]};var r2=N(()=>{l8()});import{serialize as Jw}from"node:v8";var XU=({ipcInput:Z,ipc:Y,serialization:Q})=>{if(Z===void 0)return;if(!Y)throw Error("The `ipcInput` option cannot be set unless the `ipc` option is `true`.");zw[Q](Z)},qw=(Z)=>{try{Jw(Z)}catch(Y){throw Error("The `ipcInput` option is not serializable with a structured clone.",{cause:Y})}},Xw=(Z)=>{try{JSON.stringify(Z)}catch(Y){throw Error("The `ipcInput` option is not serializable with JSON.",{cause:Y})}},zw,zU=async(Z,Y)=>{if(Y===void 0)return;await Z.sendMessage(Y)};var t2=N(()=>{zw={advanced:qw,json:Xw}});var WU=({encoding:Z})=>{if(e2.has(Z))return;let Y=Ww(Z);if(Y!==void 0)throw TypeError(`Invalid option \`encoding: ${UY(Z)}\`.
66
+ Please rename it to ${UY(Y)}.`);let Q=[...e2].map((J)=>UY(J)).join(", ");throw TypeError(`Invalid option \`encoding: ${UY(Z)}\`.
67
+ Please rename it to one of: ${Q}.`)},Hw,T6,e2,Ww=(Z)=>{if(Z===null)return"buffer";if(typeof Z!=="string")return;let Y=Z.toLowerCase();if(Y in HU)return HU[Y];if(e2.has(Y))return Y},HU,UY=(Z)=>typeof Z==="string"?`"${Z}"`:String(Z);var K8=N(()=>{Hw=new Set(["utf8","utf16le"]),T6=new Set(["buffer","hex","base64","base64url","latin1","ascii"]),e2=new Set([...Hw,...T6]),HU={"utf-8":"utf8","utf-16le":"utf16le","ucs-2":"utf16le",ucs2:"utf16le",binary:"latin1"}});import{statSync as Uw}from"node:fs";import Kw from"node:path";import Bw from"node:process";var UU=(Z=KU())=>{let Y=c8(Z,'The "cwd" option');return Kw.resolve(Y)},KU=()=>{try{return Bw.cwd()}catch(Z){throw Z.message=`The current directory does not exist.
68
+ ${Z.message}`,Z}},BU=(Z,Y)=>{if(Y===KU())return Z;let Q;try{Q=Uw(Y)}catch(J){return`The "cwd" option is invalid: ${Y}.
69
69
  ${J.message}
70
70
  ${Z}`}if(!Q.isDirectory())return`The "cwd" option is not a directory: ${Y}.
71
- ${Z}`;return Z};var o2=j(()=>{u4()});import iL from"node:path";import YU from"node:process";var QU,HY=(Z,Y,Q)=>{Q.cwd=tW(Q.cwd);let[J,q,X]=oW(Z,Y,Q),{command:z,args:W,options:U}=QU.default._parse(J,q,X),K=Tz(U),B=sL(K);if(dW(B),rW(B),iW(B),UW(B),pW(B),B.shell=U2(B.shell),B.env=aL(B),B.killSignal=qW(B.killSignal),B.forceKillAfterDelay=HW(B.forceKillAfterDelay),B.lines=B.lines.map(($,F)=>$&&!R6.has(B.encoding)&&B.buffer[F]),YU.platform==="win32"&&iL.basename(z,".exe")==="cmd")W.unshift("/q");return{file:z,commandArguments:W,options:B}},sL=({extendEnv:Z=!0,preferLocal:Y=!1,cwd:Q,localDir:J=Q,encoding:q="utf8",reject:X=!0,cleanup:z=!0,all:W=!1,windowsHide:U=!0,killSignal:K="SIGTERM",forceKillAfterDelay:B=!0,gracefulCancel:$=!1,ipcInput:F,ipc:O=F!==void 0||$,serialization:V="advanced",...D})=>({...D,extendEnv:Z,preferLocal:Y,cwd:Q,localDirectory:J,encoding:q,reject:X,cleanup:z,all:W,windowsHide:U,killSignal:K,forceKillAfterDelay:B,gracefulCancel:$,ipcInput:F,ipc:O,serialization:V}),aL=({env:Z,extendEnv:Y,preferLocal:Q,node:J,localDirectory:q,nodePath:X})=>{let z=Y?{...YU.env,...Z}:Z;if(Q||J)return cH({env:z,cwd:q,execPath:X,preferLocal:Q,addExecPath:J});return z};var i2=j(()=>{lH();p7();eZ();v2();u2();d2();c2();l2();H4();o2();u4();D8();QU=DX(mH(),1)});var WY=(Z,Y,Q)=>Q.shell&&Y.length>0?[[Z,...Y].join(" "),[],Q]:[Z,Y,Q];function t4(Z){if(typeof Z==="string")return rL(Z);if(!(ArrayBuffer.isView(Z)&&Z.BYTES_PER_ELEMENT===1))throw Error("Input must be a string or a Uint8Array");return tL(Z)}var rL=(Z)=>Z.at(-1)===JU?Z.slice(0,Z.at(-2)===qU?-2:-1):Z,tL=(Z)=>Z.at(-1)===eL?Z.subarray(0,Z.at(-2)===Zw?-2:-1):Z,JU=`
72
- `,eL,qU="\r",Zw;var s2=j(()=>{eL=JU.codePointAt(0),Zw=qU.codePointAt(0)});function s6(Z,{checkOpen:Y=!0}={}){return Z!==null&&typeof Z==="object"&&(Z.writable||Z.readable||!Y||Z.writable===void 0&&Z.readable===void 0)&&typeof Z.pipe==="function"}function a2(Z,{checkOpen:Y=!0}={}){return s6(Z,{checkOpen:Y})&&(Z.writable||!Y)&&typeof Z.write==="function"&&typeof Z.end==="function"&&typeof Z.writable==="boolean"&&typeof Z.writableObjectMode==="boolean"&&typeof Z.destroy==="function"&&typeof Z.destroyed==="boolean"}function W4(Z,{checkOpen:Y=!0}={}){return s6(Z,{checkOpen:Y})&&(Z.readable||!Y)&&typeof Z.read==="function"&&typeof Z.readable==="boolean"&&typeof Z.readableObjectMode==="boolean"&&typeof Z.destroy==="function"&&typeof Z.destroyed==="boolean"}function r2(Z,Y){return a2(Z,Y)&&W4(Z,Y)}class XU{#Y;#Q;#Z=!1;#J=void 0;constructor(Z,Y){this.#Y=Z,this.#Q=Y}next(){let Z=()=>this.#q();return this.#J=this.#J?this.#J.then(Z,Z):Z(),this.#J}return(Z){let Y=()=>this.#X(Z);return this.#J?this.#J.then(Y,Y):Y()}async#q(){if(this.#Z)return{done:!0,value:void 0};let Z;try{Z=await this.#Y.read()}catch(Y){throw this.#J=void 0,this.#Z=!0,this.#Y.releaseLock(),Y}return Z.done&&(this.#J=void 0,this.#Z=!0,this.#Y.releaseLock()),Z}async#X(Z){if(this.#Z)return{done:!0,value:Z};if(this.#Z=!0,!this.#Q){let Y=this.#Y.cancel(Z);return this.#Y.releaseLock(),await Y,{done:!0,value:Z}}return this.#Y.releaseLock(),{done:!0,value:Z}}}function zU(){return this[t2].next()}function HU(Z){return this[t2].return(Z)}function e2({preventCancel:Z=!1}={}){let Y=this.getReader(),Q=new XU(Y,Z),J=Object.create(Qw);return J[t2]=Q,J}var Yw,t2,Qw;var WU=j(()=>{Yw=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);t2=Symbol();Object.defineProperty(zU,"name",{value:"next"});Object.defineProperty(HU,"name",{value:"return"});Qw=Object.create(Yw,{next:{enumerable:!0,configurable:!0,writable:!0,value:zU},return:{enumerable:!0,configurable:!0,writable:!0,value:HU}})});var UU=()=>{};var KU=j(()=>{WU();UU()});var BU=(Z)=>{if(W4(Z,{checkOpen:!1})&&J1.on!==void 0)return qw(Z);if(typeof Z?.[Symbol.asyncIterator]==="function")return Z;if(Jw.call(Z)==="[object ReadableStream]")return e2.call(Z);throw TypeError("The first argument must be a Readable, a ReadableStream, or an async iterable.")},Jw,qw=async function*(Z){let Y=new AbortController,Q={};Xw(Z,Y,Q);try{for await(let[J]of J1.on(Z,"data",{signal:Y.signal}))yield J}catch(J){if(Q.error!==void 0)throw Q.error;else if(!Y.signal.aborted)throw J}finally{Z.destroy()}},Xw=async(Z,Y,Q)=>{try{await J1.finished(Z,{cleanup:!0,readable:!0,writable:!1,error:!1})}catch(J){Q.error=J}finally{Y.abort()}},J1;var Z9=j(()=>{KU();({toString:Jw}=Object.prototype),J1={}});var e4=async(Z,{init:Y,convertChunk:Q,getSize:J,truncateChunk:q,addChunk:X,getFinalChunk:z,finalize:W},{maxBuffer:U=Number.POSITIVE_INFINITY}={})=>{let K=BU(Z),B=Y();B.length=0;try{for await(let $ of K){let F=Hw($),O=Q[F]($,B);VU({convertedChunk:O,state:B,getSize:J,truncateChunk:q,addChunk:X,maxBuffer:U})}return zw({state:B,convertChunk:Q,getSize:J,truncateChunk:q,addChunk:X,getFinalChunk:z,maxBuffer:U}),W(B)}catch($){let F=typeof $==="object"&&$!==null?$:Error($);throw F.bufferedData=W(B),F}},zw=({state:Z,getSize:Y,truncateChunk:Q,addChunk:J,getFinalChunk:q,maxBuffer:X})=>{let z=q(Z);if(z!==void 0)VU({convertedChunk:z,state:Z,getSize:Y,truncateChunk:Q,addChunk:J,maxBuffer:X})},VU=({convertedChunk:Z,state:Y,getSize:Q,truncateChunk:J,addChunk:q,maxBuffer:X})=>{let z=Q(Z),W=Y.length+z;if(W<=X){$U(Z,Y,q,W);return}let U=J(Z,X-Y.length);if(U!==void 0)$U(U,Y,q,X);throw new M8},$U=(Z,Y,Q,J)=>{Y.contents=Q(Z,Y,J),Y.length=J},Hw=(Z)=>{let Y=typeof Z;if(Y==="string")return"string";if(Y!=="object"||Z===null)return"others";if(globalThis.Buffer?.isBuffer(Z))return"buffer";let Q=FU.call(Z);if(Q==="[object ArrayBuffer]")return"arrayBuffer";if(Q==="[object DataView]")return"dataView";if(Number.isInteger(Z.byteLength)&&Number.isInteger(Z.byteOffset)&&FU.call(Z.buffer)==="[object ArrayBuffer]")return"typedArray";return"others"},FU,M8;var q1=j(()=>{Z9();({toString:FU}=Object.prototype);M8=class M8 extends Error{name="MaxBufferError";constructor(){super("maxBuffer exceeded")}}});var j8=(Z)=>Z,X1=()=>{return},UY=({contents:Z})=>Z,KY=(Z)=>{throw Error(`Streams in object mode are not supported: ${String(Z)}`)},BY=(Z)=>Z.length;async function $Y(Z,Y){return e4(Z,Bw,Y)}var Ww=()=>({contents:[]}),Uw=()=>1,Kw=(Z,{contents:Y})=>{return Y.push(Z),Y},Bw;var OU=j(()=>{q1();Bw={init:Ww,convertChunk:{string:j8,buffer:j8,arrayBuffer:j8,dataView:j8,typedArray:j8,others:j8},getSize:Uw,truncateChunk:X1,addChunk:Kw,getFinalChunk:X1,finalize:UY}});async function FY(Z,Y){return e4(Z,Nw,Y)}var $w=()=>({contents:new ArrayBuffer(0)}),Fw=(Z)=>Vw.encode(Z),Vw,DU=(Z)=>new Uint8Array(Z),MU=(Z)=>new Uint8Array(Z.buffer,Z.byteOffset,Z.byteLength),Ow=(Z,Y)=>Z.slice(0,Y),Dw=(Z,{contents:Y,length:Q},J)=>{let q=NU()?jw(Y,J):Mw(Y,J);return new Uint8Array(q).set(Z,Q),q},Mw=(Z,Y)=>{if(Y<=Z.byteLength)return Z;let Q=new ArrayBuffer(_U(Y));return new Uint8Array(Q).set(new Uint8Array(Z),0),Q},jw=(Z,Y)=>{if(Y<=Z.maxByteLength)return Z.resize(Y),Z;let Q=new ArrayBuffer(Y,{maxByteLength:_U(Y)});return new Uint8Array(Q).set(new Uint8Array(Z),0),Q},_U=(Z)=>jU**Math.ceil(Math.log(Z)/Math.log(jU)),jU=2,_w=({contents:Z,length:Y})=>NU()?Z:Z.slice(0,Y),NU=()=>("resize"in ArrayBuffer.prototype),Nw;var IU=j(()=>{q1();Vw=new TextEncoder,Nw={init:$w,convertChunk:{string:Fw,buffer:DU,arrayBuffer:DU,dataView:MU,typedArray:MU,others:KY},getSize:BY,truncateChunk:Ow,addChunk:Dw,getFinalChunk:X1,finalize:_w}});async function OY(Z,Y){return e4(Z,Gw,Y)}var Iw=()=>({contents:"",textDecoder:new TextDecoder}),VY=(Z,{textDecoder:Y})=>Y.decode(Z,{stream:!0}),Lw=(Z,{contents:Y})=>Y+Z,ww=(Z,Y)=>Z.slice(0,Y),Aw=({textDecoder:Z})=>{let Y=Z.decode();return Y===""?void 0:Y},Gw;var LU=j(()=>{q1();Gw={init:Iw,convertChunk:{string:j8,buffer:VY,arrayBuffer:VY,dataView:VY,typedArray:VY,others:KY},getSize:BY,truncateChunk:ww,addChunk:Lw,getFinalChunk:Aw,finalize:UY}});var wU=j(()=>{OU();IU();LU();q1()});import{on as Cw}from"node:events";import{finished as Rw}from"node:stream/promises";var DY=j(()=>{Z9();wU();Object.assign(J1,{on:Cw,finished:Rw})});var AU=({error:Z,stream:Y,readableObjectMode:Q,lines:J,encoding:q,fdNumber:X})=>{if(!(Z instanceof M8))throw Z;if(X==="all")return Z;let z=Tw(Q,J,q);throw Z.maxBufferInfo={fdNumber:X,unit:z},Y.destroy(),Z},Tw=(Z,Y,Q)=>{if(Z)return"objects";if(Y)return"lines";if(Q==="buffer")return"bytes";return"characters"},GU=(Z,Y,Q)=>{if(Y.length!==Q)return;let J=new M8;throw J.maxBufferInfo={fdNumber:"ipc"},J},CU=(Z,Y)=>{let{streamName:Q,threshold:J,unit:q}=kw(Z,Y);return`Command's ${Q} was larger than ${J} ${q}`},kw=(Z,Y)=>{if(Z?.maxBufferInfo===void 0)return{streamName:"output",threshold:Y[1],unit:"bytes"};let{maxBufferInfo:{fdNumber:Q,unit:J}}=Z;delete Z.maxBufferInfo;let q=O8(Y,Q);if(Q==="ipc")return{streamName:"IPC output",threshold:q,unit:"messages"};return{streamName:A7(Q),threshold:q,unit:J}},RU=(Z,Y,Q)=>Z?.code==="ENOBUFS"&&Y!==null&&Y.some((J)=>J!==null&&J.length>MY(Q)),TU=(Z,Y,Q)=>{if(!Y)return Z;let J=MY(Q);return Z.length>J?Z.slice(0,J):Z},MY=([,Z])=>Z;var U4=j(()=>{DY();V8();D8()});import{inspect as Ew}from"node:util";var EU=({stdio:Z,all:Y,ipcOutput:Q,originalError:J,signal:q,signalDescription:X,exitCode:z,escapedCommand:W,timedOut:U,isCanceled:K,isGracefullyCanceled:B,isMaxBuffer:$,isForcefullyTerminated:F,forceKillAfterDelay:O,killSignal:V,maxBuffer:D,timeout:_,cwd:N})=>{let w=J?.code,G=xw({originalError:J,timedOut:U,timeout:_,isMaxBuffer:$,maxBuffer:D,errorCode:w,signal:q,signalDescription:X,exitCode:z,isCanceled:K,isGracefullyCanceled:B,isForcefullyTerminated:F,forceKillAfterDelay:O,killSignal:V}),I=bw(J,N),A=I===void 0?"":`
73
- ${I}`,x=`${G}: ${W}${A}`,T=Y===void 0?[Z[2],Z[1]]:[Y],S=[x,...T,...Z.slice(3),Q.map((y)=>vw(y)).join(`
74
- `)].map((y)=>aZ(t4(Sw(y)))).filter(Boolean).join(`
75
-
76
- `);return{originalMessage:I,shortMessage:x,message:S}},xw=({originalError:Z,timedOut:Y,timeout:Q,isMaxBuffer:J,maxBuffer:q,errorCode:X,signal:z,signalDescription:W,exitCode:U,isCanceled:K,isGracefullyCanceled:B,isForcefullyTerminated:$,forceKillAfterDelay:F,killSignal:O})=>{let V=Pw($,F);if(Y)return`Command timed out after ${Q} milliseconds${V}`;if(B){if(z===void 0)return`Command was gracefully canceled with exit code ${U}`;return $?`Command was gracefully canceled${V}`:`Command was gracefully canceled with ${z} (${W})`}if(K)return`Command was canceled${V}`;if(J)return`${CU(Z,q)}${V}`;if(X!==void 0)return`Command failed with ${X}${V}`;if($)return`Command was killed with ${O} (${m7(O)})${V}`;if(z!==void 0)return`Command was killed with ${z} (${W})`;if(U!==void 0)return`Command failed with exit code ${U}`;return"Command failed"},Pw=(Z,Y)=>Z?` and was forcefully terminated after ${Y} milliseconds`:"",bw=(Z,Y)=>{if(Z instanceof Z8)return;let Q=iH(Z)?Z.originalMessage:String(Z?.message??Z),J=aZ(ZU(Q,Y));return J===""?void 0:J},vw=(Z)=>typeof Z==="string"?Z:Ew(Z),Sw=(Z)=>Array.isArray(Z)?Z.map((Y)=>t4(kU(Y))).filter(Boolean).join(`
77
- `):kU(Z),kU=(Z)=>{if(typeof Z==="string")return Z;if(a0(Z))return L7(Z);return""};var xU=j(()=>{s2();C6();o2();R7();U4();eZ();y8()});var jY=({command:Z,escapedCommand:Y,stdio:Q,all:J,ipcOutput:q,options:{cwd:X},startTime:z})=>PU({command:Z,escapedCommand:Y,cwd:X,durationMs:j2(z),failed:!1,timedOut:!1,isCanceled:!1,isGracefullyCanceled:!1,isTerminated:!1,isMaxBuffer:!1,isForcefullyTerminated:!1,exitCode:0,stdout:Q[1],stderr:Q[2],all:J,stdio:Q,ipcOutput:q,pipedFrom:[]}),ZZ=({error:Z,command:Y,escapedCommand:Q,fileDescriptors:J,options:q,startTime:X,isSync:z})=>z1({error:Z,command:Y,escapedCommand:Q,startTime:X,timedOut:!1,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:!1,isForcefullyTerminated:!1,stdio:Array.from({length:J.length}),ipcOutput:[],options:q,isSync:z}),z1=({error:Z,command:Y,escapedCommand:Q,startTime:J,timedOut:q,isCanceled:X,isGracefullyCanceled:z,isMaxBuffer:W,isForcefullyTerminated:U,exitCode:K,signal:B,stdio:$,all:F,ipcOutput:O,options:{timeoutDuration:V,timeout:D=V,forceKillAfterDelay:_,killSignal:N,cwd:w,maxBuffer:G},isSync:I})=>{let{exitCode:A,signal:x,signalDescription:T}=fw(K,B),{originalMessage:S,shortMessage:y,message:g}=EU({stdio:$,all:F,ipcOutput:O,originalError:Z,signal:x,signalDescription:T,exitCode:A,escapedCommand:Q,timedOut:q,isCanceled:X,isGracefullyCanceled:z,isMaxBuffer:W,isForcefullyTerminated:U,forceKillAfterDelay:_,killSignal:N,maxBuffer:G,timeout:D,cwd:w}),P=nH(Z,g,I);return Object.assign(P,yw({error:P,command:Y,escapedCommand:Q,startTime:J,timedOut:q,isCanceled:X,isGracefullyCanceled:z,isMaxBuffer:W,isForcefullyTerminated:U,exitCode:A,signal:x,signalDescription:T,stdio:$,all:F,ipcOutput:O,cwd:w,originalMessage:S,shortMessage:y})),P},yw=({error:Z,command:Y,escapedCommand:Q,startTime:J,timedOut:q,isCanceled:X,isGracefullyCanceled:z,isMaxBuffer:W,isForcefullyTerminated:U,exitCode:K,signal:B,signalDescription:$,stdio:F,all:O,ipcOutput:V,cwd:D,originalMessage:_,shortMessage:N})=>PU({shortMessage:N,originalMessage:_,command:Y,escapedCommand:Q,cwd:D,durationMs:j2(J),failed:!0,timedOut:q,isCanceled:X,isGracefullyCanceled:z,isTerminated:B!==void 0,isMaxBuffer:W,isForcefullyTerminated:U,exitCode:K,signal:B,signalDescription:$,code:Z.cause?.code,stdout:F[1],stderr:F[2],all:O,stdio:F,ipcOutput:V,pipedFrom:[]}),PU=(Z)=>Object.fromEntries(Object.entries(Z).filter(([,Y])=>Y!==void 0)),fw=(Z,Y)=>{let Q=Z===null?void 0:Z,J=Y===null?void 0:Y,q=J===void 0?void 0:m7(Y);return{exitCode:Q,signal:J,signalDescription:q}};var H1=j(()=>{eZ();b7();y8();xU()});function hw(Z){return{days:Math.trunc(Z/86400000),hours:Math.trunc(Z/3600000%24),minutes:Math.trunc(Z/60000%60),seconds:Math.trunc(Z/1000%60),milliseconds:Math.trunc(Z%1000),microseconds:Math.trunc(bU(Z*1000)%1000),nanoseconds:Math.trunc(bU(Z*1e6)%1000)}}function gw(Z){return{days:Z/86400000n,hours:Z/3600000n%24n,minutes:Z/60000n%60n,seconds:Z/1000n%60n,milliseconds:Z%1000n,microseconds:0n,nanoseconds:0n}}function Y9(Z){switch(typeof Z){case"number":{if(Number.isFinite(Z))return hw(Z);break}case"bigint":return gw(Z)}throw TypeError("Expected a finite number or bigint")}var bU=(Z)=>Number.isFinite(Z)?Z:0;function Q9(Z,Y){let Q=typeof Z==="bigint";if(!Q&&!Number.isFinite(Z))throw TypeError("Expected a finite number or bigint");Y={...Y};let J=Z<0?"-":"";if(Z=Z<0?-Z:Z,Y.colonNotation)Y.compact=!1,Y.formatSubMilliseconds=!1,Y.separateMilliseconds=!1,Y.verbose=!1;if(Y.compact)Y.unitCount=1,Y.secondsDecimalDigits=0,Y.millisecondsDecimalDigits=0;let q=[],X=(B,$)=>{let F=Math.floor(B*10**$+uw);return(Math.round(F)/10**$).toFixed($)},z=(B,$,F,O)=>{if((q.length===0||!Y.colonNotation)&&mw(B)&&!(Y.colonNotation&&F==="m"))return;if(O??=String(B),Y.colonNotation){let V=O.includes(".")?O.split(".")[0].length:O.length,D=q.length>0?2:1;O="0".repeat(Math.max(0,D-V))+O}else O+=Y.verbose?" "+pw($,B):F;q.push(O)},W=Y9(Z),U=BigInt(W.days);if(Y.hideYearAndDays)z(BigInt(U)*24n+BigInt(W.hours),"hour","h");else{if(Y.hideYear)z(U,"day","d");else z(U/365n,"year","y"),z(U%365n,"day","d");z(Number(W.hours),"hour","h")}if(z(Number(W.minutes),"minute","m"),!Y.hideSeconds)if(Y.separateMilliseconds||Y.formatSubMilliseconds||!Y.colonNotation&&Z<1000&&!Y.subSecondsAsDecimals){let B=Number(W.seconds),$=Number(W.milliseconds),F=Number(W.microseconds),O=Number(W.nanoseconds);if(z(B,"second","s"),Y.formatSubMilliseconds)z($,"millisecond","ms"),z(F,"microsecond","µs"),z(O,"nanosecond","ns");else{let V=$+F/1000+O/1e6,D=typeof Y.millisecondsDecimalDigits==="number"?Y.millisecondsDecimalDigits:0,_=V>=1?Math.round(V):Math.ceil(V),N=D?V.toFixed(D):_;z(Number.parseFloat(N),"millisecond","ms",N)}}else{let B=(Q?Number(Z%dw):Z)/1000%60,$=typeof Y.secondsDecimalDigits==="number"?Y.secondsDecimalDigits:1,F=X(B,$),O=Y.keepDecimalsOnWholeSeconds?F:F.replace(/\.0+$/,"");z(Number.parseFloat(O),"second","s",O)}if(q.length===0)return J+"0"+(Y.verbose?" milliseconds":"ms");let K=Y.colonNotation?":":" ";if(typeof Y.unitCount==="number")q=q.slice(0,Math.max(Y.unitCount,1));return J+q.join(K)}var mw=(Z)=>Z===0||Z===0n,pw=(Z,Y)=>Y===1||Y===1n?Z:`${Z}s`,uw=0.0000001,dw;var vU=j(()=>{dw=24n*60n*60n*1000n});var SU=(Z,Y)=>{if(Z.failed)e6({type:"error",verboseMessage:Z.shortMessage,verboseInfo:Y,result:Z})};var yU=j(()=>{l4()});var fU=(Z,Y)=>{if(!d4(Y))return;SU(Z,Y),cw(Z,Y)},cw=(Z,Y)=>{let Q=`(done in ${Q9(Z.durationMs)})`;e6({type:"duration",verboseMessage:Q,verboseInfo:Y,result:Z})};var hU=j(()=>{vU();S8();l4();yU()});var YZ=(Z,Y,{reject:Q})=>{if(fU(Z,Y),Z.failed&&Q)throw Z;return Z};var _Y=j(()=>{hU()});var pU=(Z,Y)=>{if(K4(Z))return"asyncGenerator";if(cU(Z))return"generator";if(NY(Z))return"fileUrl";if(sw(Z))return"filePath";if(tw(Z))return"webStream";if(s6(Z,{checkOpen:!1}))return"native";if(a0(Z))return"uint8Array";if(ew(Z))return"asyncIterable";if(ZA(Z))return"iterable";if(X9(Z))return uU({transform:Z},Y);if(iw(Z))return lw(Z,Y);return"native"},lw=(Z,Y)=>{if(r2(Z.transform,{checkOpen:!1}))return nw(Z,Y);if(X9(Z.transform))return uU(Z,Y);return ow(Z,Y)},nw=(Z,Y)=>{return dU(Z,Y,"Duplex stream"),"duplex"},uU=(Z,Y)=>{return dU(Z,Y,"web TransformStream"),"webTransform"},dU=({final:Z,binary:Y,objectMode:Q},J,q)=>{gU(Z,`${J}.final`,q),gU(Y,`${J}.binary`,q),J9(Q,`${J}.objectMode`)},gU=(Z,Y,Q)=>{if(Z!==void 0)throw TypeError(`The \`${Y}\` option can only be defined when using a generator, not a ${Q}.`)},ow=({transform:Z,final:Y,binary:Q,objectMode:J},q)=>{if(Z!==void 0&&!mU(Z))throw TypeError(`The \`${q}.transform\` option must be a generator, a Duplex stream or a web TransformStream.`);if(r2(Y,{checkOpen:!1}))throw TypeError(`The \`${q}.final\` option must not be a Duplex stream.`);if(X9(Y))throw TypeError(`The \`${q}.final\` option must not be a web TransformStream.`);if(Y!==void 0&&!mU(Y))throw TypeError(`The \`${q}.final\` option must be a generator.`);return J9(Q,`${q}.binary`),J9(J,`${q}.objectMode`),K4(Z)||K4(Y)?"asyncGenerator":"generator"},J9=(Z,Y)=>{if(Z!==void 0&&typeof Z!=="boolean")throw TypeError(`The \`${Y}\` option must use a boolean.`)},mU=(Z)=>K4(Z)||cU(Z),K4=(Z)=>Object.prototype.toString.call(Z)==="[object AsyncGeneratorFunction]",cU=(Z)=>Object.prototype.toString.call(Z)==="[object GeneratorFunction]",iw=(Z)=>l0(Z)&&(Z.transform!==void 0||Z.final!==void 0),NY=(Z)=>Object.prototype.toString.call(Z)==="[object URL]",lU=(Z)=>NY(Z)&&Z.protocol!=="file:",sw=(Z)=>l0(Z)&&Object.keys(Z).length>0&&Object.keys(Z).every((Y)=>aw.has(Y))&&q9(Z.file),aw,q9=(Z)=>typeof Z==="string",nU=(Z,Y)=>Z==="native"&&typeof Y==="string"&&!rw.has(Y),rw,oU=(Z)=>Object.prototype.toString.call(Z)==="[object ReadableStream]",IY=(Z)=>Object.prototype.toString.call(Z)==="[object WritableStream]",tw=(Z)=>oU(Z)||IY(Z),X9=(Z)=>oU(Z?.readable)&&IY(Z?.writable),ew=(Z)=>iU(Z)&&typeof Z[Symbol.asyncIterator]==="function",ZA=(Z)=>iU(Z)&&typeof Z[Symbol.iterator]==="function",iU=(Z)=>typeof Z==="object"&&Z!==null,p6,LY,z9,sU,aU,m8;var _6=j(()=>{C6();aw=new Set(["file","append"]),rw=new Set(["ipc","ignore","inherit","overlapped","pipe"]),p6=new Set(["generator","asyncGenerator","duplex","webTransform"]),LY=new Set(["fileUrl","filePath","fileNumber"]),z9=new Set(["fileUrl","filePath"]),sU=new Set([...z9,"webStream","nodeStream"]),aU=new Set(["webTransform","duplex"]),m8={generator:"a generator",asyncGenerator:"an async generator",fileUrl:"a file URL",filePath:"a file path string",fileNumber:"a file descriptor number",webStream:"a web stream",nodeStream:"a Node.js stream",webTransform:"a web TransformStream",duplex:"a Duplex stream",native:"any value",iterable:"an iterable",asyncIterable:"an async iterable",string:"a string",uint8Array:"a Uint8Array"}});var H9=(Z,Y,Q,J)=>J==="output"?YA(Z,Y,Q):QA(Z,Y,Q),YA=(Z,Y,Q)=>{let J=Y!==0&&Q[Y-1].value.readableObjectMode;return{writableObjectMode:J,readableObjectMode:Z??J}},QA=(Z,Y,Q)=>{let J=Y===0?Z===!0:Q[Y-1].value.readableObjectMode,q=Y!==Q.length-1&&(Z??J);return{writableObjectMode:J,readableObjectMode:q}},rU=(Z,Y)=>{let Q=Z.findLast(({type:J})=>p6.has(J));if(Q===void 0)return!1;return Y==="input"?Q.value.writableObjectMode:Q.value.readableObjectMode};var W9=j(()=>{_6()});var tU=(Z,Y,Q,J)=>[...Z.filter(({type:q})=>!p6.has(q)),...JA(Z,Y,Q,J)],JA=(Z,Y,Q,{encoding:J})=>{let q=Z.filter(({type:z})=>p6.has(z)),X=Array.from({length:q.length});for(let[z,W]of Object.entries(q))X[z]=qA({stdioItem:W,index:Number(z),newTransforms:X,optionName:Y,direction:Q,encoding:J});return WA(X,Q)},qA=({stdioItem:Z,stdioItem:{type:Y},index:Q,newTransforms:J,optionName:q,direction:X,encoding:z})=>{if(Y==="duplex")return XA({stdioItem:Z,optionName:q});if(Y==="webTransform")return zA({stdioItem:Z,index:Q,newTransforms:J,direction:X});return HA({stdioItem:Z,index:Q,newTransforms:J,direction:X,encoding:z})},XA=({stdioItem:Z,stdioItem:{value:{transform:Y,transform:{writableObjectMode:Q,readableObjectMode:J},objectMode:q=J}},optionName:X})=>{if(q&&!J)throw TypeError(`The \`${X}.objectMode\` option can only be \`true\` if \`new Duplex({objectMode: true})\` is used.`);if(!q&&J)throw TypeError(`The \`${X}.objectMode\` option cannot be \`false\` if \`new Duplex({objectMode: true})\` is used.`);return{...Z,value:{transform:Y,writableObjectMode:Q,readableObjectMode:J}}},zA=({stdioItem:Z,stdioItem:{value:Y},index:Q,newTransforms:J,direction:q})=>{let{transform:X,objectMode:z}=l0(Y)?Y:{transform:Y},{writableObjectMode:W,readableObjectMode:U}=H9(z,Q,J,q);return{...Z,value:{transform:X,writableObjectMode:W,readableObjectMode:U}}},HA=({stdioItem:Z,stdioItem:{value:Y},index:Q,newTransforms:J,direction:q,encoding:X})=>{let{transform:z,final:W,binary:U=!1,preserveNewlines:K=!1,objectMode:B}=l0(Y)?Y:{transform:Y},$=U||R6.has(X),{writableObjectMode:F,readableObjectMode:O}=H9(B,Q,J,q);return{...Z,value:{transform:z,final:W,binary:$,preserveNewlines:K,writableObjectMode:F,readableObjectMode:O}}},WA=(Z,Y)=>Y==="input"?Z.reverse():Z;var eU=j(()=>{H4();_6();W9()});import U9 from"node:process";var ZK=(Z,Y,Q)=>{let J=Z.map((q)=>UA(q,Y));if(J.includes("input")&&J.includes("output"))throw TypeError(`The \`${Q}\` option must not be an array of both readable and writable values.`);return J.find(Boolean)??$A},UA=({type:Z,value:Y},Q)=>KA[Q]??YK[Z](Y),KA,QZ=()=>{return},K9=()=>"input",YK,BA=(Z)=>{if([0,U9.stdin].includes(Z))return"input";if([1,2,U9.stdout,U9.stderr].includes(Z))return"output"},$A="output";var QK=j(()=>{_6();KA=["input","output","output"],YK={generator:QZ,asyncGenerator:QZ,fileUrl:QZ,filePath:QZ,iterable:K9,asyncIterable:K9,uint8Array:K9,webStream:(Z)=>IY(Z)?"output":"input",nodeStream(Z){if(!W4(Z,{checkOpen:!1}))return"output";return a2(Z,{checkOpen:!1})?void 0:"input"},webTransform:QZ,duplex:QZ,native(Z){let Y=BA(Z);if(Y!==void 0)return Y;if(s6(Z,{checkOpen:!1}))return YK.nodeStream(Z)}}});var JK=(Z,Y)=>Y&&!Z.includes("ipc")?[...Z,"ipc"]:Z;var qK=({stdio:Z,ipc:Y,buffer:Q,...J},q,X)=>{let z=FA(Z,J).map((W,U)=>XK(W,U));return X?OA(z,Q,q):JK(z,Y)},FA=(Z,Y)=>{if(Z===void 0)return g6.map((J)=>Y[J]);if(VA(Y))throw Error(`It's not possible to provide \`stdio\` in combination with one of ${g6.map((J)=>`\`${J}\``).join(", ")}`);if(typeof Z==="string")return[Z,Z,Z];if(!Array.isArray(Z))throw TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof Z}\``);let Q=Math.max(Z.length,g6.length);return Array.from({length:Q},(J,q)=>Z[q])},VA=(Z)=>g6.some((Y)=>Z[Y]!==void 0),XK=(Z,Y)=>{if(Array.isArray(Z))return Z.map((Q)=>XK(Q,Y));if(Z===null||Z===void 0)return Y>=g6.length?"ignore":"pipe";return Z},OA=(Z,Y,Q)=>Z.map((J,q)=>!Y[q]&&q!==0&&!c4(Q,q)&&DA(J)?"ignore":J),DA=(Z)=>Z==="pipe"||Array.isArray(Z)&&Z.every((Y)=>Y==="pipe");var zK=j(()=>{V8();S8()});import{readFileSync as MA}from"node:fs";import jA from"node:tty";var WK=({stdioItem:Z,stdioItem:{type:Y},isStdioArray:Q,fdNumber:J,direction:q,isSync:X})=>{if(!Q||Y!=="native")return Z;return X?_A({stdioItem:Z,fdNumber:J,direction:q}):LA({stdioItem:Z,fdNumber:J})},_A=({stdioItem:Z,stdioItem:{value:Y,optionName:Q},fdNumber:J,direction:q})=>{let X=NA({value:Y,optionName:Q,fdNumber:J,direction:q});if(X!==void 0)return X;if(s6(Y,{checkOpen:!1}))throw TypeError(`The \`${Q}: Stream\` option cannot both be an array and include a stream with synchronous methods.`);return Z},NA=({value:Z,optionName:Y,fdNumber:Q,direction:J})=>{let q=IA(Z,Q);if(q===void 0)return;if(J==="output")return{type:"fileNumber",value:q,optionName:Y};if(jA.isatty(q))throw TypeError(`The \`${Y}: ${c7(Z)}\` option is invalid: it cannot be a TTY with synchronous methods.`);return{type:"uint8Array",value:F8(MA(q)),optionName:Y}},IA=(Z,Y)=>{if(Z==="inherit")return Y;if(typeof Z==="number")return Z;let Q=w7.indexOf(Z);if(Q!==-1)return Q},LA=({stdioItem:Z,stdioItem:{value:Y,optionName:Q},fdNumber:J})=>{if(Y==="inherit")return{type:"nodeStream",value:HK(J,Y,Q),optionName:Q};if(typeof Y==="number")return{type:"nodeStream",value:HK(Y,Y,Q),optionName:Q};if(s6(Y,{checkOpen:!1}))return{type:"nodeStream",value:Y,optionName:Q};return Z},HK=(Z,Y,Q)=>{let J=w7[Z];if(J===void 0)throw TypeError(`The \`${Q}: ${Y}\` option is invalid: no such standard stream.`);return J};var UK=j(()=>{V8();C6();h8()});var KK=({input:Z,inputFile:Y},Q)=>Q===0?[...wA(Z),...GA(Y)]:[],wA=(Z)=>Z===void 0?[]:[{type:AA(Z),value:Z,optionName:"input"}],AA=(Z)=>{if(W4(Z,{checkOpen:!1}))return"nodeStream";if(typeof Z==="string")return"string";if(a0(Z))return"uint8Array";throw Error("The `input` option must be a string, a Uint8Array or a Node.js Readable stream.")},GA=(Z)=>Z===void 0?[]:[{...CA(Z),optionName:"inputFile"}],CA=(Z)=>{if(NY(Z))return{type:"fileUrl",value:Z};if(q9(Z))return{type:"filePath",value:{file:Z}};throw Error("The `inputFile` option must be a file path string or a file URL.")};var BK=j(()=>{C6();_6()});var $K=(Z)=>Z.filter((Y,Q)=>Z.every((J,q)=>Y.value!==J.value||Q>=q||Y.type==="generator"||Y.type==="asyncGenerator")),FK=({stdioItem:{type:Z,value:Y,optionName:Q},direction:J,fileDescriptors:q,isSync:X})=>{let z=RA(q,Z);if(z.length===0)return;if(X){TA({otherStdioItems:z,type:Z,value:Y,optionName:Q,direction:J});return}if(sU.has(Z))return VK({otherStdioItems:z,type:Z,value:Y,optionName:Q,direction:J});if(aU.has(Z))EA({otherStdioItems:z,type:Z,value:Y,optionName:Q})},RA=(Z,Y)=>Z.flatMap(({direction:Q,stdioItems:J})=>J.filter((q)=>q.type===Y).map((q)=>({...q,direction:Q}))),TA=({otherStdioItems:Z,type:Y,value:Q,optionName:J,direction:q})=>{if(z9.has(Y))VK({otherStdioItems:Z,type:Y,value:Q,optionName:J,direction:q})},VK=({otherStdioItems:Z,type:Y,value:Q,optionName:J,direction:q})=>{let X=Z.filter((W)=>kA(W,Q));if(X.length===0)return;let z=X.find((W)=>W.direction!==q);return OK(z,J,Y),q==="output"?X[0].stream:void 0},kA=({type:Z,value:Y},Q)=>{if(Z==="filePath")return Y.file===Q.file;if(Z==="fileUrl")return Y.href===Q.href;return Y===Q},EA=({otherStdioItems:Z,type:Y,value:Q,optionName:J})=>{let q=Z.find(({value:{transform:X}})=>X===Q.transform);OK(q,J,Y)},OK=(Z,Y,Q)=>{if(Z!==void 0)throw TypeError(`The \`${Z.optionName}\` and \`${Y}\` options must not target ${m8[Q]} that is the same.`)};var DK=j(()=>{_6()});var wY=(Z,Y,Q,J)=>{let X=qK(Y,Q,J).map((W,U)=>xA({stdioOption:W,fdNumber:U,options:Y,isSync:J})),z=gA({initialFileDescriptors:X,addProperties:Z,options:Y,isSync:J});return Y.stdio=z.map(({stdioItems:W})=>uA(W)),z},xA=({stdioOption:Z,fdNumber:Y,options:Q,isSync:J})=>{let q=A7(Y),{stdioItems:X,isStdioArray:z}=PA({stdioOption:Z,fdNumber:Y,options:Q,optionName:q}),W=ZK(X,Y,q),U=X.map(($)=>WK({stdioItem:$,isStdioArray:z,fdNumber:Y,direction:W,isSync:J})),K=tU(U,q,W,Q),B=rU(K,W);return hA(K,B),{direction:W,objectMode:B,stdioItems:K}},PA=({stdioOption:Z,fdNumber:Y,options:Q,optionName:J})=>{let X=[...(Array.isArray(Z)?Z:[Z]).map((U)=>bA(U,J)),...KK(Q,Y)],z=$K(X),W=z.length>1;return vA(z,W,J),yA(z),{stdioItems:z,isStdioArray:W}},bA=(Z,Y)=>({type:pU(Z,Y),value:Z,optionName:Y}),vA=(Z,Y,Q)=>{if(Z.length===0)throw TypeError(`The \`${Q}\` option must not be an empty array.`);if(!Y)return;for(let{value:J,optionName:q}of Z)if(SA.has(J))throw Error(`The \`${q}\` option must not include \`${J}\`.`)},SA,yA=(Z)=>{for(let Y of Z)fA(Y)},fA=({type:Z,value:Y,optionName:Q})=>{if(lU(Y))throw TypeError(`The \`${Q}: URL\` option must use the \`file:\` scheme.
78
- For example, you can use the \`pathToFileURL()\` method of the \`url\` core module.`);if(nU(Z,Y))throw TypeError(`The \`${Q}: { file: '...' }\` option must be used instead of \`${Q}: '...'\`.`)},hA=(Z,Y)=>{if(!Y)return;let Q=Z.find(({type:J})=>LY.has(J));if(Q!==void 0)throw TypeError(`The \`${Q.optionName}\` option cannot use both files and transforms in objectMode.`)},gA=({initialFileDescriptors:Z,addProperties:Y,options:Q,isSync:J})=>{let q=[];try{for(let X of Z)q.push(mA({fileDescriptor:X,fileDescriptors:q,addProperties:Y,options:Q,isSync:J}));return q}catch(X){throw B9(q),X}},mA=({fileDescriptor:{direction:Z,objectMode:Y,stdioItems:Q},fileDescriptors:J,addProperties:q,options:X,isSync:z})=>{let W=Q.map((U)=>pA({stdioItem:U,addProperties:q,direction:Z,options:X,fileDescriptors:J,isSync:z}));return{direction:Z,objectMode:Y,stdioItems:W}},pA=({stdioItem:Z,addProperties:Y,direction:Q,options:J,fileDescriptors:q,isSync:X})=>{let z=FK({stdioItem:Z,direction:Q,fileDescriptors:q,isSync:X});if(z!==void 0)return{...Z,stream:z};return{...Z,...Y[Q][Z.type](Z,J)}},B9=(Z)=>{for(let{stdioItems:Y}of Z)for(let{stream:Q}of Y)if(Q!==void 0&&!o6(Q))Q.destroy()},uA=(Z)=>{if(Z.length>1)return Z.some(({value:J})=>J==="overlapped")?"overlapped":"pipe";let[{type:Y,value:Q}]=Z;return Y==="native"?Q:"pipe"};var AY=j(()=>{V8();eU();W9();_6();QK();zK();UK();BK();DK();SA=new Set(["ignore","ipc"])});import{readFileSync as MK}from"node:fs";var _K=(Z,Y)=>wY(cA,Z,Y,!0),J8=({type:Z,optionName:Y})=>{NK(Y,m8[Z])},dA=({optionName:Z,value:Y})=>{if(Y==="ipc"||Y==="overlapped")NK(Z,`"${Y}"`);return{}},NK=(Z,Y)=>{throw TypeError(`The \`${Z}\` option cannot be ${Y} with synchronous methods.`)},jK,cA;var IK=j(()=>{C6();AY();_6();jK={generator(){},asyncGenerator:J8,webStream:J8,nodeStream:J8,webTransform:J8,duplex:J8,asyncIterable:J8,native:dA},cA={input:{...jK,fileUrl:({value:Z})=>({contents:[F8(MK(Z))]}),filePath:({value:{file:Z}})=>({contents:[F8(MK(Z))]}),fileNumber:J8,iterable:({value:Z})=>({contents:[...Z]}),string:({value:Z})=>({contents:[Z]}),uint8Array:({value:Z})=>({contents:[Z]})},output:{...jK,fileUrl:({value:Z})=>({path:Z}),filePath:({value:{file:Z,append:Y}})=>({path:Z,append:Y}),fileNumber:({value:Z})=>({path:Z}),iterable:J8,string:J8,uint8Array:J8}}});var _8=(Z,{stripFinalNewline:Y},Q)=>$9(Y,Q)&&Z!==void 0&&!Array.isArray(Z)?t4(Z):Z,$9=(Z,Y)=>Y==="all"?Z[1]||Z[2]:Z[Y];var W1=j(()=>{s2()});var GY=(Z,Y,Q,J)=>Z||Q?void 0:wK(Y,J),V9=(Z,Y,Q)=>Q?Z.flatMap((J)=>LK(J,Y)):LK(Z,Y),LK=(Z,Y)=>{let{transform:Q,final:J}=wK(Y,{});return[...Q(Z),...J()]},wK=(Z,Y)=>{return Y.previousChunks="",{transform:lA.bind(void 0,Y,Z),final:oA.bind(void 0,Y)}},lA=function*(Z,Y,Q){if(typeof Q!=="string"){yield Q;return}let{previousChunks:J}=Z,q=-1;for(let X=0;X<Q.length;X+=1)if(Q[X]===`
79
- `){let z=nA(Q,X,Y,Z),W=Q.slice(q+1,X+1-z);if(J.length>0)W=F9(J,W),J="";yield W,q=X}if(q!==Q.length-1)J=F9(J,Q.slice(q+1));Z.previousChunks=J},nA=(Z,Y,Q,J)=>{if(Q)return 0;return J.isWindowsNewline=Y!==0&&Z[Y-1]==="\r",J.isWindowsNewline?2:1},oA=function*({previousChunks:Z}){if(Z.length>0)yield Z},AK=({binary:Z,preserveNewlines:Y,readableObjectMode:Q,state:J})=>Z||Y||Q?void 0:{transform:iA.bind(void 0,J)},iA=function*({isWindowsNewline:Z=!1},Y){let{unixNewline:Q,windowsNewline:J,LF:q,concatBytes:X}=typeof Y==="string"?sA:rA;if(Y.at(-1)===q){yield Y;return}yield X(Y,Z?J:Q)},F9=(Z,Y)=>`${Z}${Y}`,sA,aA=(Z,Y)=>{let Q=new Uint8Array(Z.length+Y.length);return Q.set(Z,0),Q.set(Y,Z.length),Q},rA;var CY=j(()=>{sA={windowsNewline:`\r
71
+ ${Z}`;return Z};var Z9=N(()=>{l8()});import $w from"node:path";import $U from"node:process";var FU,KY=(Z,Y,Q)=>{Q.cwd=UU(Q.cwd);let[J,q,X]=qU(Z,Y,Q),{command:z,args:W,options:U}=FU.default._parse(J,q,X),K=gz(U),B=Fw(K);if(ZU(B),WU(B),XU(B),NW(B),tW(B),B.shell=D2(B.shell),B.env=Vw(B),B.killSignal=OW(B.killSignal),B.forceKillAfterDelay=jW(B.forceKillAfterDelay),B.lines=B.lines.map(($,V)=>$&&!T6.has(B.encoding)&&B.buffer[V]),$U.platform==="win32"&&$w.basename(z,".exe")==="cmd")W.unshift("/q");return{file:z,commandArguments:W,options:B}},Fw=({extendEnv:Z=!0,preferLocal:Y=!1,cwd:Q,localDir:J=Q,encoding:q="utf8",reject:X=!0,cleanup:z=!0,all:W=!1,windowsHide:U=!0,killSignal:K="SIGTERM",forceKillAfterDelay:B=!0,gracefulCancel:$=!1,ipcInput:V,ipc:D=V!==void 0||$,serialization:F="advanced",...O})=>({...O,extendEnv:Z,preferLocal:Y,cwd:Q,localDirectory:J,encoding:q,reject:X,cleanup:z,all:W,windowsHide:U,killSignal:K,forceKillAfterDelay:B,gracefulCancel:$,ipcInput:V,ipc:D,serialization:F}),Vw=({env:Z,extendEnv:Y,preferLocal:Q,node:J,localDirectory:q,nodePath:X})=>{let z=Y?{...$U.env,...Z}:Z;if(Q||J)return YW({env:z,cwd:q,execPath:X,preferLocal:Q,addExecPath:J});return z};var Y9=N(()=>{QW();c7();Y1();p2();s2();a2();r2();t2();K8();Z9();l8();M4();FU=RX(rH(),1)});var BY=(Z,Y,Q)=>Q.shell&&Y.length>0?[[Z,...Y].join(" "),[],Q]:[Z,Y,Q];function YZ(Z){if(typeof Z==="string")return Ow(Z);if(!(ArrayBuffer.isView(Z)&&Z.BYTES_PER_ELEMENT===1))throw Error("Input must be a string or a Uint8Array");return Dw(Z)}var Ow=(Z)=>Z.at(-1)===VU?Z.slice(0,Z.at(-2)===OU?-2:-1):Z,Dw=(Z)=>Z.at(-1)===Mw?Z.subarray(0,Z.at(-2)===jw?-2:-1):Z,VU=`
72
+ `,Mw,OU="\r",jw;var Q9=N(()=>{Mw=VU.codePointAt(0),jw=OU.codePointAt(0)});function r6(Z,{checkOpen:Y=!0}={}){return Z!==null&&typeof Z==="object"&&(Z.writable||Z.readable||!Y||Z.writable===void 0&&Z.readable===void 0)&&typeof Z.pipe==="function"}function J9(Z,{checkOpen:Y=!0}={}){return r6(Z,{checkOpen:Y})&&(Z.writable||!Y)&&typeof Z.write==="function"&&typeof Z.end==="function"&&typeof Z.writable==="boolean"&&typeof Z.writableObjectMode==="boolean"&&typeof Z.destroy==="function"&&typeof Z.destroyed==="boolean"}function B8(Z,{checkOpen:Y=!0}={}){return r6(Z,{checkOpen:Y})&&(Z.readable||!Y)&&typeof Z.read==="function"&&typeof Z.readable==="boolean"&&typeof Z.readableObjectMode==="boolean"&&typeof Z.destroy==="function"&&typeof Z.destroyed==="boolean"}function q9(Z,Y){return J9(Z,Y)&&B8(Z,Y)}class DU{#Y;#Q;#Z=!1;#J=void 0;constructor(Z,Y){this.#Y=Z,this.#Q=Y}next(){let Z=()=>this.#X();return this.#J=this.#J?this.#J.then(Z,Z):Z(),this.#J}return(Z){let Y=()=>this.#q(Z);return this.#J?this.#J.then(Y,Y):Y()}async#X(){if(this.#Z)return{done:!0,value:void 0};let Z;try{Z=await this.#Y.read()}catch(Y){throw this.#J=void 0,this.#Z=!0,this.#Y.releaseLock(),Y}return Z.done&&(this.#J=void 0,this.#Z=!0,this.#Y.releaseLock()),Z}async#q(Z){if(this.#Z)return{done:!0,value:Z};if(this.#Z=!0,!this.#Q){let Y=this.#Y.cancel(Z);return this.#Y.releaseLock(),await Y,{done:!0,value:Z}}return this.#Y.releaseLock(),{done:!0,value:Z}}}function MU(){return this[X9].next()}function jU(Z){return this[X9].return(Z)}function z9({preventCancel:Z=!1}={}){let Y=this.getReader(),Q=new DU(Y,Z),J=Object.create(Nw);return J[X9]=Q,J}var _w,X9,Nw;var _U=N(()=>{_w=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);X9=Symbol();Object.defineProperty(MU,"name",{value:"next"});Object.defineProperty(jU,"name",{value:"return"});Nw=Object.create(_w,{next:{enumerable:!0,configurable:!0,writable:!0,value:MU},return:{enumerable:!0,configurable:!0,writable:!0,value:jU}})});var NU=()=>{};var IU=N(()=>{_U();NU()});var LU=(Z)=>{if(B8(Z,{checkOpen:!1})&&X1.on!==void 0)return Lw(Z);if(typeof Z?.[Symbol.asyncIterator]==="function")return Z;if(Iw.call(Z)==="[object ReadableStream]")return z9.call(Z);throw TypeError("The first argument must be a Readable, a ReadableStream, or an async iterable.")},Iw,Lw=async function*(Z){let Y=new AbortController,Q={};ww(Z,Y,Q);try{for await(let[J]of X1.on(Z,"data",{signal:Y.signal}))yield J}catch(J){if(Q.error!==void 0)throw Q.error;else if(!Y.signal.aborted)throw J}finally{Z.destroy()}},ww=async(Z,Y,Q)=>{try{await X1.finished(Z,{cleanup:!0,readable:!0,writable:!1,error:!1})}catch(J){Q.error=J}finally{Y.abort()}},X1;var H9=N(()=>{IU();({toString:Iw}=Object.prototype),X1={}});var QZ=async(Z,{init:Y,convertChunk:Q,getSize:J,truncateChunk:q,addChunk:X,getFinalChunk:z,finalize:W},{maxBuffer:U=Number.POSITIVE_INFINITY}={})=>{let K=LU(Z),B=Y();B.length=0;try{for await(let $ of K){let V=Gw($),D=Q[V]($,B);GU({convertedChunk:D,state:B,getSize:J,truncateChunk:q,addChunk:X,maxBuffer:U})}return Aw({state:B,convertChunk:Q,getSize:J,truncateChunk:q,addChunk:X,getFinalChunk:z,maxBuffer:U}),W(B)}catch($){let V=typeof $==="object"&&$!==null?$:Error($);throw V.bufferedData=W(B),V}},Aw=({state:Z,getSize:Y,truncateChunk:Q,addChunk:J,getFinalChunk:q,maxBuffer:X})=>{let z=q(Z);if(z!==void 0)GU({convertedChunk:z,state:Z,getSize:Y,truncateChunk:Q,addChunk:J,maxBuffer:X})},GU=({convertedChunk:Z,state:Y,getSize:Q,truncateChunk:J,addChunk:q,maxBuffer:X})=>{let z=Q(Z),W=Y.length+z;if(W<=X){wU(Z,Y,q,W);return}let U=J(Z,X-Y.length);if(U!==void 0)wU(U,Y,q,X);throw new j4},wU=(Z,Y,Q,J)=>{Y.contents=Q(Z,Y,J),Y.length=J},Gw=(Z)=>{let Y=typeof Z;if(Y==="string")return"string";if(Y!=="object"||Z===null)return"others";if(globalThis.Buffer?.isBuffer(Z))return"buffer";let Q=AU.call(Z);if(Q==="[object ArrayBuffer]")return"arrayBuffer";if(Q==="[object DataView]")return"dataView";if(Number.isInteger(Z.byteLength)&&Number.isInteger(Z.byteOffset)&&AU.call(Z.buffer)==="[object ArrayBuffer]")return"typedArray";return"others"},AU,j4;var z1=N(()=>{H9();({toString:AU}=Object.prototype);j4=class j4 extends Error{name="MaxBufferError";constructor(){super("maxBuffer exceeded")}}});var _4=(Z)=>Z,H1=()=>{return},$Y=({contents:Z})=>Z,FY=(Z)=>{throw Error(`Streams in object mode are not supported: ${String(Z)}`)},VY=(Z)=>Z.length;async function OY(Z,Y){return QZ(Z,kw,Y)}var Cw=()=>({contents:[]}),Rw=()=>1,Tw=(Z,{contents:Y})=>{return Y.push(Z),Y},kw;var CU=N(()=>{z1();kw={init:Cw,convertChunk:{string:_4,buffer:_4,arrayBuffer:_4,dataView:_4,typedArray:_4,others:_4},getSize:Rw,truncateChunk:H1,addChunk:Tw,getFinalChunk:H1,finalize:$Y}});async function DY(Z,Y){return QZ(Z,hw,Y)}var Ew=()=>({contents:new ArrayBuffer(0)}),Pw=(Z)=>xw.encode(Z),xw,RU=(Z)=>new Uint8Array(Z),TU=(Z)=>new Uint8Array(Z.buffer,Z.byteOffset,Z.byteLength),bw=(Z,Y)=>Z.slice(0,Y),vw=(Z,{contents:Y,length:Q},J)=>{let q=PU()?yw(Y,J):Sw(Y,J);return new Uint8Array(q).set(Z,Q),q},Sw=(Z,Y)=>{if(Y<=Z.byteLength)return Z;let Q=new ArrayBuffer(EU(Y));return new Uint8Array(Q).set(new Uint8Array(Z),0),Q},yw=(Z,Y)=>{if(Y<=Z.maxByteLength)return Z.resize(Y),Z;let Q=new ArrayBuffer(Y,{maxByteLength:EU(Y)});return new Uint8Array(Q).set(new Uint8Array(Z),0),Q},EU=(Z)=>kU**Math.ceil(Math.log(Z)/Math.log(kU)),kU=2,fw=({contents:Z,length:Y})=>PU()?Z:Z.slice(0,Y),PU=()=>("resize"in ArrayBuffer.prototype),hw;var xU=N(()=>{z1();xw=new TextEncoder,hw={init:Ew,convertChunk:{string:Pw,buffer:RU,arrayBuffer:RU,dataView:TU,typedArray:TU,others:FY},getSize:VY,truncateChunk:bw,addChunk:vw,getFinalChunk:H1,finalize:fw}});async function jY(Z,Y){return QZ(Z,dw,Y)}var gw=()=>({contents:"",textDecoder:new TextDecoder}),MY=(Z,{textDecoder:Y})=>Y.decode(Z,{stream:!0}),mw=(Z,{contents:Y})=>Y+Z,pw=(Z,Y)=>Z.slice(0,Y),uw=({textDecoder:Z})=>{let Y=Z.decode();return Y===""?void 0:Y},dw;var bU=N(()=>{z1();dw={init:gw,convertChunk:{string:_4,buffer:MY,arrayBuffer:MY,dataView:MY,typedArray:MY,others:FY},getSize:VY,truncateChunk:pw,addChunk:mw,getFinalChunk:uw,finalize:$Y}});var vU=N(()=>{CU();xU();bU();z1()});import{on as cw}from"node:events";import{finished as lw}from"node:stream/promises";var _Y=N(()=>{H9();vU();Object.assign(X1,{on:cw,finished:lw})});var SU=({error:Z,stream:Y,readableObjectMode:Q,lines:J,encoding:q,fdNumber:X})=>{if(!(Z instanceof j4))throw Z;if(X==="all")return Z;let z=nw(Q,J,q);throw Z.maxBufferInfo={fdNumber:X,unit:z},Y.destroy(),Z},nw=(Z,Y,Q)=>{if(Z)return"objects";if(Y)return"lines";if(Q==="buffer")return"bytes";return"characters"},yU=(Z,Y,Q)=>{if(Y.length!==Q)return;let J=new j4;throw J.maxBufferInfo={fdNumber:"ipc"},J},fU=(Z,Y)=>{let{streamName:Q,threshold:J,unit:q}=ow(Z,Y);return`Command's ${Q} was larger than ${J} ${q}`},ow=(Z,Y)=>{if(Z?.maxBufferInfo===void 0)return{streamName:"output",threshold:Y[1],unit:"bytes"};let{maxBufferInfo:{fdNumber:Q,unit:J}}=Z;delete Z.maxBufferInfo;let q=D4(Y,Q);if(Q==="ipc")return{streamName:"IPC output",threshold:q,unit:"messages"};return{streamName:R7(Q),threshold:q,unit:J}},hU=(Z,Y,Q)=>Z?.code==="ENOBUFS"&&Y!==null&&Y.some((J)=>J!==null&&J.length>NY(Q)),gU=(Z,Y,Q)=>{if(!Y)return Z;let J=NY(Q);return Z.length>J?Z.slice(0,J):Z},NY=([,Z])=>Z;var $8=N(()=>{_Y();O4();M4()});import{inspect as iw}from"node:util";var pU=({stdio:Z,all:Y,ipcOutput:Q,originalError:J,signal:q,signalDescription:X,exitCode:z,escapedCommand:W,timedOut:U,isCanceled:K,isGracefullyCanceled:B,isMaxBuffer:$,isForcefullyTerminated:V,forceKillAfterDelay:D,killSignal:F,maxBuffer:O,timeout:j,cwd:_})=>{let L=J?.code,A=sw({originalError:J,timedOut:U,timeout:j,isMaxBuffer:$,maxBuffer:O,errorCode:L,signal:q,signalDescription:X,exitCode:z,isCanceled:K,isGracefullyCanceled:B,isForcefullyTerminated:V,forceKillAfterDelay:D,killSignal:F}),I=rw(J,_),G=I===void 0?"":`
73
+ ${I}`,P=`${A}: ${W}${G}`,T=Y===void 0?[Z[2],Z[1]]:[Y],S=[P,...T,...Z.slice(3),Q.map((y)=>tw(y)).join(`
74
+ `)].map((y)=>tZ(YZ(ew(y)))).filter(Boolean).join(`
75
+
76
+ `);return{originalMessage:I,shortMessage:P,message:S}},sw=({originalError:Z,timedOut:Y,timeout:Q,isMaxBuffer:J,maxBuffer:q,errorCode:X,signal:z,signalDescription:W,exitCode:U,isCanceled:K,isGracefullyCanceled:B,isForcefullyTerminated:$,forceKillAfterDelay:V,killSignal:D})=>{let F=aw($,V);if(Y)return`Command timed out after ${Q} milliseconds${F}`;if(B){if(z===void 0)return`Command was gracefully canceled with exit code ${U}`;return $?`Command was gracefully canceled${F}`:`Command was gracefully canceled with ${z} (${W})`}if(K)return`Command was canceled${F}`;if(J)return`${fU(Z,q)}${F}`;if(X!==void 0)return`Command failed with ${X}${F}`;if($)return`Command was killed with ${D} (${d7(D)})${F}`;if(z!==void 0)return`Command was killed with ${z} (${W})`;if(U!==void 0)return`Command failed with exit code ${U}`;return"Command failed"},aw=(Z,Y)=>Z?` and was forcefully terminated after ${Y} milliseconds`:"",rw=(Z,Y)=>{if(Z instanceof Q4)return;let Q=XW(Z)?Z.originalMessage:String(Z?.message??Z),J=tZ(BU(Q,Y));return J===""?void 0:J},tw=(Z)=>typeof Z==="string"?Z:iw(Z),ew=(Z)=>Array.isArray(Z)?Z.map((Y)=>YZ(mU(Y))).filter(Boolean).join(`
77
+ `):mU(Z),mU=(Z)=>{if(typeof Z==="string")return Z;if(t0(Z))return G7(Z);return""};var uU=N(()=>{Q9();R6();Z9();E7();$8();Y1();h4()});var IY=({command:Z,escapedCommand:Y,stdio:Q,all:J,ipcOutput:q,options:{cwd:X},startTime:z})=>dU({command:Z,escapedCommand:Y,cwd:X,durationMs:G2(z),failed:!1,timedOut:!1,isCanceled:!1,isGracefullyCanceled:!1,isTerminated:!1,isMaxBuffer:!1,isForcefullyTerminated:!1,exitCode:0,stdout:Q[1],stderr:Q[2],all:J,stdio:Q,ipcOutput:q,pipedFrom:[]}),JZ=({error:Z,command:Y,escapedCommand:Q,fileDescriptors:J,options:q,startTime:X,isSync:z})=>W1({error:Z,command:Y,escapedCommand:Q,startTime:X,timedOut:!1,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:!1,isForcefullyTerminated:!1,stdio:Array.from({length:J.length}),ipcOutput:[],options:q,isSync:z}),W1=({error:Z,command:Y,escapedCommand:Q,startTime:J,timedOut:q,isCanceled:X,isGracefullyCanceled:z,isMaxBuffer:W,isForcefullyTerminated:U,exitCode:K,signal:B,stdio:$,all:V,ipcOutput:D,options:{timeoutDuration:F,timeout:O=F,forceKillAfterDelay:j,killSignal:_,cwd:L,maxBuffer:A},isSync:I})=>{let{exitCode:G,signal:P,signalDescription:T}=YA(K,B),{originalMessage:S,shortMessage:y,message:g}=pU({stdio:$,all:V,ipcOutput:D,originalError:Z,signal:P,signalDescription:T,exitCode:G,escapedCommand:Q,timedOut:q,isCanceled:X,isGracefullyCanceled:z,isMaxBuffer:W,isForcefullyTerminated:U,forceKillAfterDelay:j,killSignal:_,maxBuffer:A,timeout:O,cwd:L}),x=JW(Z,g,I);return Object.assign(x,ZA({error:x,command:Y,escapedCommand:Q,startTime:J,timedOut:q,isCanceled:X,isGracefullyCanceled:z,isMaxBuffer:W,isForcefullyTerminated:U,exitCode:G,signal:P,signalDescription:T,stdio:$,all:V,ipcOutput:D,cwd:L,originalMessage:S,shortMessage:y})),x},ZA=({error:Z,command:Y,escapedCommand:Q,startTime:J,timedOut:q,isCanceled:X,isGracefullyCanceled:z,isMaxBuffer:W,isForcefullyTerminated:U,exitCode:K,signal:B,signalDescription:$,stdio:V,all:D,ipcOutput:F,cwd:O,originalMessage:j,shortMessage:_})=>dU({shortMessage:_,originalMessage:j,command:Y,escapedCommand:Q,cwd:O,durationMs:G2(J),failed:!0,timedOut:q,isCanceled:X,isGracefullyCanceled:z,isTerminated:B!==void 0,isMaxBuffer:W,isForcefullyTerminated:U,exitCode:K,signal:B,signalDescription:$,code:Z.cause?.code,stdout:V[1],stderr:V[2],all:D,stdio:V,ipcOutput:F,pipedFrom:[]}),dU=(Z)=>Object.fromEntries(Object.entries(Z).filter(([,Y])=>Y!==void 0)),YA=(Z,Y)=>{let Q=Z===null?void 0:Z,J=Y===null?void 0:Y,q=J===void 0?void 0:d7(Y);return{exitCode:Q,signal:J,signalDescription:q}};var U1=N(()=>{Y1();y7();h4();uU()});function QA(Z){return{days:Math.trunc(Z/86400000),hours:Math.trunc(Z/3600000%24),minutes:Math.trunc(Z/60000%60),seconds:Math.trunc(Z/1000%60),milliseconds:Math.trunc(Z%1000),microseconds:Math.trunc(cU(Z*1000)%1000),nanoseconds:Math.trunc(cU(Z*1e6)%1000)}}function JA(Z){return{days:Z/86400000n,hours:Z/3600000n%24n,minutes:Z/60000n%60n,seconds:Z/1000n%60n,milliseconds:Z%1000n,microseconds:0n,nanoseconds:0n}}function W9(Z){switch(typeof Z){case"number":{if(Number.isFinite(Z))return QA(Z);break}case"bigint":return JA(Z)}throw TypeError("Expected a finite number or bigint")}var cU=(Z)=>Number.isFinite(Z)?Z:0;function U9(Z,Y){let Q=typeof Z==="bigint";if(!Q&&!Number.isFinite(Z))throw TypeError("Expected a finite number or bigint");Y={...Y};let J=Z<0?"-":"";if(Z=Z<0?-Z:Z,Y.colonNotation)Y.compact=!1,Y.formatSubMilliseconds=!1,Y.separateMilliseconds=!1,Y.verbose=!1;if(Y.compact)Y.unitCount=1,Y.secondsDecimalDigits=0,Y.millisecondsDecimalDigits=0;let q=[],X=(B,$)=>{let V=Math.floor(B*10**$+zA);return(Math.round(V)/10**$).toFixed($)},z=(B,$,V,D)=>{if((q.length===0||!Y.colonNotation)&&qA(B)&&!(Y.colonNotation&&V==="m"))return;if(D??=String(B),Y.colonNotation){let F=D.includes(".")?D.split(".")[0].length:D.length,O=q.length>0?2:1;D="0".repeat(Math.max(0,O-F))+D}else D+=Y.verbose?" "+XA($,B):V;q.push(D)},W=W9(Z),U=BigInt(W.days);if(Y.hideYearAndDays)z(BigInt(U)*24n+BigInt(W.hours),"hour","h");else{if(Y.hideYear)z(U,"day","d");else z(U/365n,"year","y"),z(U%365n,"day","d");z(Number(W.hours),"hour","h")}if(z(Number(W.minutes),"minute","m"),!Y.hideSeconds)if(Y.separateMilliseconds||Y.formatSubMilliseconds||!Y.colonNotation&&Z<1000&&!Y.subSecondsAsDecimals){let B=Number(W.seconds),$=Number(W.milliseconds),V=Number(W.microseconds),D=Number(W.nanoseconds);if(z(B,"second","s"),Y.formatSubMilliseconds)z($,"millisecond","ms"),z(V,"microsecond","µs"),z(D,"nanosecond","ns");else{let F=$+V/1000+D/1e6,O=typeof Y.millisecondsDecimalDigits==="number"?Y.millisecondsDecimalDigits:0,j=F>=1?Math.round(F):Math.ceil(F),_=O?F.toFixed(O):j;z(Number.parseFloat(_),"millisecond","ms",_)}}else{let B=(Q?Number(Z%HA):Z)/1000%60,$=typeof Y.secondsDecimalDigits==="number"?Y.secondsDecimalDigits:1,V=X(B,$),D=Y.keepDecimalsOnWholeSeconds?V:V.replace(/\.0+$/,"");z(Number.parseFloat(D),"second","s",D)}if(q.length===0)return J+"0"+(Y.verbose?" milliseconds":"ms");let K=Y.colonNotation?":":" ";if(typeof Y.unitCount==="number")q=q.slice(0,Math.max(Y.unitCount,1));return J+q.join(K)}var qA=(Z)=>Z===0||Z===0n,XA=(Z,Y)=>Y===1||Y===1n?Z:`${Z}s`,zA=0.0000001,HA;var lU=N(()=>{HA=24n*60n*60n*1000n});var nU=(Z,Y)=>{if(Z.failed)Y4({type:"error",verboseMessage:Z.shortMessage,verboseInfo:Y,result:Z})};var oU=N(()=>{i8()});var iU=(Z,Y)=>{if(!n8(Y))return;nU(Z,Y),WA(Z,Y)},WA=(Z,Y)=>{let Q=`(done in ${U9(Z.durationMs)})`;Y4({type:"duration",verboseMessage:Q,verboseInfo:Y,result:Z})};var sU=N(()=>{lU();f4();i8();oU()});var qZ=(Z,Y,{reject:Q})=>{if(iU(Z,Y),Z.failed&&Q)throw Z;return Z};var LY=N(()=>{sU()});var tU=(Z,Y)=>{if(F8(Z))return"asyncGenerator";if(YK(Z))return"generator";if(wY(Z))return"fileUrl";if(FA(Z))return"filePath";if(DA(Z))return"webStream";if(r6(Z,{checkOpen:!1}))return"native";if(t0(Z))return"uint8Array";if(MA(Z))return"asyncIterable";if(jA(Z))return"iterable";if($9(Z))return eU({transform:Z},Y);if($A(Z))return UA(Z,Y);return"native"},UA=(Z,Y)=>{if(q9(Z.transform,{checkOpen:!1}))return KA(Z,Y);if($9(Z.transform))return eU(Z,Y);return BA(Z,Y)},KA=(Z,Y)=>{return ZK(Z,Y,"Duplex stream"),"duplex"},eU=(Z,Y)=>{return ZK(Z,Y,"web TransformStream"),"webTransform"},ZK=({final:Z,binary:Y,objectMode:Q},J,q)=>{aU(Z,`${J}.final`,q),aU(Y,`${J}.binary`,q),K9(Q,`${J}.objectMode`)},aU=(Z,Y,Q)=>{if(Z!==void 0)throw TypeError(`The \`${Y}\` option can only be defined when using a generator, not a ${Q}.`)},BA=({transform:Z,final:Y,binary:Q,objectMode:J},q)=>{if(Z!==void 0&&!rU(Z))throw TypeError(`The \`${q}.transform\` option must be a generator, a Duplex stream or a web TransformStream.`);if(q9(Y,{checkOpen:!1}))throw TypeError(`The \`${q}.final\` option must not be a Duplex stream.`);if($9(Y))throw TypeError(`The \`${q}.final\` option must not be a web TransformStream.`);if(Y!==void 0&&!rU(Y))throw TypeError(`The \`${q}.final\` option must be a generator.`);return K9(Q,`${q}.binary`),K9(J,`${q}.objectMode`),F8(Z)||F8(Y)?"asyncGenerator":"generator"},K9=(Z,Y)=>{if(Z!==void 0&&typeof Z!=="boolean")throw TypeError(`The \`${Y}\` option must use a boolean.`)},rU=(Z)=>F8(Z)||YK(Z),F8=(Z)=>Object.prototype.toString.call(Z)==="[object AsyncGeneratorFunction]",YK=(Z)=>Object.prototype.toString.call(Z)==="[object GeneratorFunction]",$A=(Z)=>n0(Z)&&(Z.transform!==void 0||Z.final!==void 0),wY=(Z)=>Object.prototype.toString.call(Z)==="[object URL]",QK=(Z)=>wY(Z)&&Z.protocol!=="file:",FA=(Z)=>n0(Z)&&Object.keys(Z).length>0&&Object.keys(Z).every((Y)=>VA.has(Y))&&B9(Z.file),VA,B9=(Z)=>typeof Z==="string",JK=(Z,Y)=>Z==="native"&&typeof Y==="string"&&!OA.has(Y),OA,qK=(Z)=>Object.prototype.toString.call(Z)==="[object ReadableStream]",AY=(Z)=>Object.prototype.toString.call(Z)==="[object WritableStream]",DA=(Z)=>qK(Z)||AY(Z),$9=(Z)=>qK(Z?.readable)&&AY(Z?.writable),MA=(Z)=>XK(Z)&&typeof Z[Symbol.asyncIterator]==="function",jA=(Z)=>XK(Z)&&typeof Z[Symbol.iterator]==="function",XK=(Z)=>typeof Z==="object"&&Z!==null,u6,GY,F9,zK,HK,u4;var N6=N(()=>{R6();VA=new Set(["file","append"]),OA=new Set(["ipc","ignore","inherit","overlapped","pipe"]),u6=new Set(["generator","asyncGenerator","duplex","webTransform"]),GY=new Set(["fileUrl","filePath","fileNumber"]),F9=new Set(["fileUrl","filePath"]),zK=new Set([...F9,"webStream","nodeStream"]),HK=new Set(["webTransform","duplex"]),u4={generator:"a generator",asyncGenerator:"an async generator",fileUrl:"a file URL",filePath:"a file path string",fileNumber:"a file descriptor number",webStream:"a web stream",nodeStream:"a Node.js stream",webTransform:"a web TransformStream",duplex:"a Duplex stream",native:"any value",iterable:"an iterable",asyncIterable:"an async iterable",string:"a string",uint8Array:"a Uint8Array"}});var V9=(Z,Y,Q,J)=>J==="output"?_A(Z,Y,Q):NA(Z,Y,Q),_A=(Z,Y,Q)=>{let J=Y!==0&&Q[Y-1].value.readableObjectMode;return{writableObjectMode:J,readableObjectMode:Z??J}},NA=(Z,Y,Q)=>{let J=Y===0?Z===!0:Q[Y-1].value.readableObjectMode,q=Y!==Q.length-1&&(Z??J);return{writableObjectMode:J,readableObjectMode:q}},WK=(Z,Y)=>{let Q=Z.findLast(({type:J})=>u6.has(J));if(Q===void 0)return!1;return Y==="input"?Q.value.writableObjectMode:Q.value.readableObjectMode};var O9=N(()=>{N6()});var UK=(Z,Y,Q,J)=>[...Z.filter(({type:q})=>!u6.has(q)),...IA(Z,Y,Q,J)],IA=(Z,Y,Q,{encoding:J})=>{let q=Z.filter(({type:z})=>u6.has(z)),X=Array.from({length:q.length});for(let[z,W]of Object.entries(q))X[z]=LA({stdioItem:W,index:Number(z),newTransforms:X,optionName:Y,direction:Q,encoding:J});return CA(X,Q)},LA=({stdioItem:Z,stdioItem:{type:Y},index:Q,newTransforms:J,optionName:q,direction:X,encoding:z})=>{if(Y==="duplex")return wA({stdioItem:Z,optionName:q});if(Y==="webTransform")return AA({stdioItem:Z,index:Q,newTransforms:J,direction:X});return GA({stdioItem:Z,index:Q,newTransforms:J,direction:X,encoding:z})},wA=({stdioItem:Z,stdioItem:{value:{transform:Y,transform:{writableObjectMode:Q,readableObjectMode:J},objectMode:q=J}},optionName:X})=>{if(q&&!J)throw TypeError(`The \`${X}.objectMode\` option can only be \`true\` if \`new Duplex({objectMode: true})\` is used.`);if(!q&&J)throw TypeError(`The \`${X}.objectMode\` option cannot be \`false\` if \`new Duplex({objectMode: true})\` is used.`);return{...Z,value:{transform:Y,writableObjectMode:Q,readableObjectMode:J}}},AA=({stdioItem:Z,stdioItem:{value:Y},index:Q,newTransforms:J,direction:q})=>{let{transform:X,objectMode:z}=n0(Y)?Y:{transform:Y},{writableObjectMode:W,readableObjectMode:U}=V9(z,Q,J,q);return{...Z,value:{transform:X,writableObjectMode:W,readableObjectMode:U}}},GA=({stdioItem:Z,stdioItem:{value:Y},index:Q,newTransforms:J,direction:q,encoding:X})=>{let{transform:z,final:W,binary:U=!1,preserveNewlines:K=!1,objectMode:B}=n0(Y)?Y:{transform:Y},$=U||T6.has(X),{writableObjectMode:V,readableObjectMode:D}=V9(B,Q,J,q);return{...Z,value:{transform:z,final:W,binary:$,preserveNewlines:K,writableObjectMode:V,readableObjectMode:D}}},CA=(Z,Y)=>Y==="input"?Z.reverse():Z;var KK=N(()=>{K8();N6();O9()});import D9 from"node:process";var BK=(Z,Y,Q)=>{let J=Z.map((q)=>RA(q,Y));if(J.includes("input")&&J.includes("output"))throw TypeError(`The \`${Q}\` option must not be an array of both readable and writable values.`);return J.find(Boolean)??EA},RA=({type:Z,value:Y},Q)=>TA[Q]??$K[Z](Y),TA,XZ=()=>{return},M9=()=>"input",$K,kA=(Z)=>{if([0,D9.stdin].includes(Z))return"input";if([1,2,D9.stdout,D9.stderr].includes(Z))return"output"},EA="output";var FK=N(()=>{N6();TA=["input","output","output"],$K={generator:XZ,asyncGenerator:XZ,fileUrl:XZ,filePath:XZ,iterable:M9,asyncIterable:M9,uint8Array:M9,webStream:(Z)=>AY(Z)?"output":"input",nodeStream(Z){if(!B8(Z,{checkOpen:!1}))return"output";return J9(Z,{checkOpen:!1})?void 0:"input"},webTransform:XZ,duplex:XZ,native(Z){let Y=kA(Z);if(Y!==void 0)return Y;if(r6(Z,{checkOpen:!1}))return $K.nodeStream(Z)}}});var VK=(Z,Y)=>Y&&!Z.includes("ipc")?[...Z,"ipc"]:Z;var OK=({stdio:Z,ipc:Y,buffer:Q,...J},q,X)=>{let z=PA(Z,J).map((W,U)=>DK(W,U));return X?bA(z,Q,q):VK(z,Y)},PA=(Z,Y)=>{if(Z===void 0)return m6.map((J)=>Y[J]);if(xA(Y))throw Error(`It's not possible to provide \`stdio\` in combination with one of ${m6.map((J)=>`\`${J}\``).join(", ")}`);if(typeof Z==="string")return[Z,Z,Z];if(!Array.isArray(Z))throw TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof Z}\``);let Q=Math.max(Z.length,m6.length);return Array.from({length:Q},(J,q)=>Z[q])},xA=(Z)=>m6.some((Y)=>Z[Y]!==void 0),DK=(Z,Y)=>{if(Array.isArray(Z))return Z.map((Q)=>DK(Q,Y));if(Z===null||Z===void 0)return Y>=m6.length?"ignore":"pipe";return Z},bA=(Z,Y,Q)=>Z.map((J,q)=>!Y[q]&&q!==0&&!o8(Q,q)&&vA(J)?"ignore":J),vA=(Z)=>Z==="pipe"||Array.isArray(Z)&&Z.every((Y)=>Y==="pipe");var MK=N(()=>{O4();f4()});import{readFileSync as SA}from"node:fs";import yA from"node:tty";var _K=({stdioItem:Z,stdioItem:{type:Y},isStdioArray:Q,fdNumber:J,direction:q,isSync:X})=>{if(!Q||Y!=="native")return Z;return X?fA({stdioItem:Z,fdNumber:J,direction:q}):mA({stdioItem:Z,fdNumber:J})},fA=({stdioItem:Z,stdioItem:{value:Y,optionName:Q},fdNumber:J,direction:q})=>{let X=hA({value:Y,optionName:Q,fdNumber:J,direction:q});if(X!==void 0)return X;if(r6(Y,{checkOpen:!1}))throw TypeError(`The \`${Q}: Stream\` option cannot both be an array and include a stream with synchronous methods.`);return Z},hA=({value:Z,optionName:Y,fdNumber:Q,direction:J})=>{let q=gA(Z,Q);if(q===void 0)return;if(J==="output")return{type:"fileNumber",value:q,optionName:Y};if(yA.isatty(q))throw TypeError(`The \`${Y}: ${o7(Z)}\` option is invalid: it cannot be a TTY with synchronous methods.`);return{type:"uint8Array",value:V4(SA(q)),optionName:Y}},gA=(Z,Y)=>{if(Z==="inherit")return Y;if(typeof Z==="number")return Z;let Q=C7.indexOf(Z);if(Q!==-1)return Q},mA=({stdioItem:Z,stdioItem:{value:Y,optionName:Q},fdNumber:J})=>{if(Y==="inherit")return{type:"nodeStream",value:jK(J,Y,Q),optionName:Q};if(typeof Y==="number")return{type:"nodeStream",value:jK(Y,Y,Q),optionName:Q};if(r6(Y,{checkOpen:!1}))return{type:"nodeStream",value:Y,optionName:Q};return Z},jK=(Z,Y,Q)=>{let J=C7[Z];if(J===void 0)throw TypeError(`The \`${Q}: ${Y}\` option is invalid: no such standard stream.`);return J};var NK=N(()=>{O4();R6();m4()});var IK=({input:Z,inputFile:Y},Q)=>Q===0?[...pA(Z),...dA(Y)]:[],pA=(Z)=>Z===void 0?[]:[{type:uA(Z),value:Z,optionName:"input"}],uA=(Z)=>{if(B8(Z,{checkOpen:!1}))return"nodeStream";if(typeof Z==="string")return"string";if(t0(Z))return"uint8Array";throw Error("The `input` option must be a string, a Uint8Array or a Node.js Readable stream.")},dA=(Z)=>Z===void 0?[]:[{...cA(Z),optionName:"inputFile"}],cA=(Z)=>{if(wY(Z))return{type:"fileUrl",value:Z};if(B9(Z))return{type:"filePath",value:{file:Z}};throw Error("The `inputFile` option must be a file path string or a file URL.")};var LK=N(()=>{R6();N6()});var wK=(Z)=>Z.filter((Y,Q)=>Z.every((J,q)=>Y.value!==J.value||Q>=q||Y.type==="generator"||Y.type==="asyncGenerator")),AK=({stdioItem:{type:Z,value:Y,optionName:Q},direction:J,fileDescriptors:q,isSync:X})=>{let z=lA(q,Z);if(z.length===0)return;if(X){nA({otherStdioItems:z,type:Z,value:Y,optionName:Q,direction:J});return}if(zK.has(Z))return GK({otherStdioItems:z,type:Z,value:Y,optionName:Q,direction:J});if(HK.has(Z))iA({otherStdioItems:z,type:Z,value:Y,optionName:Q})},lA=(Z,Y)=>Z.flatMap(({direction:Q,stdioItems:J})=>J.filter((q)=>q.type===Y).map((q)=>({...q,direction:Q}))),nA=({otherStdioItems:Z,type:Y,value:Q,optionName:J,direction:q})=>{if(F9.has(Y))GK({otherStdioItems:Z,type:Y,value:Q,optionName:J,direction:q})},GK=({otherStdioItems:Z,type:Y,value:Q,optionName:J,direction:q})=>{let X=Z.filter((W)=>oA(W,Q));if(X.length===0)return;let z=X.find((W)=>W.direction!==q);return CK(z,J,Y),q==="output"?X[0].stream:void 0},oA=({type:Z,value:Y},Q)=>{if(Z==="filePath")return Y.file===Q.file;if(Z==="fileUrl")return Y.href===Q.href;return Y===Q},iA=({otherStdioItems:Z,type:Y,value:Q,optionName:J})=>{let q=Z.find(({value:{transform:X}})=>X===Q.transform);CK(q,J,Y)},CK=(Z,Y,Q)=>{if(Z!==void 0)throw TypeError(`The \`${Z.optionName}\` and \`${Y}\` options must not target ${u4[Q]} that is the same.`)};var RK=N(()=>{N6()});var CY=(Z,Y,Q,J)=>{let X=OK(Y,Q,J).map((W,U)=>sA({stdioOption:W,fdNumber:U,options:Y,isSync:J})),z=JG({initialFileDescriptors:X,addProperties:Z,options:Y,isSync:J});return Y.stdio=z.map(({stdioItems:W})=>zG(W)),z},sA=({stdioOption:Z,fdNumber:Y,options:Q,isSync:J})=>{let q=R7(Y),{stdioItems:X,isStdioArray:z}=aA({stdioOption:Z,fdNumber:Y,options:Q,optionName:q}),W=BK(X,Y,q),U=X.map(($)=>_K({stdioItem:$,isStdioArray:z,fdNumber:Y,direction:W,isSync:J})),K=UK(U,q,W,Q),B=WK(K,W);return QG(K,B),{direction:W,objectMode:B,stdioItems:K}},aA=({stdioOption:Z,fdNumber:Y,options:Q,optionName:J})=>{let X=[...(Array.isArray(Z)?Z:[Z]).map((U)=>rA(U,J)),...IK(Q,Y)],z=wK(X),W=z.length>1;return tA(z,W,J),ZG(z),{stdioItems:z,isStdioArray:W}},rA=(Z,Y)=>({type:tU(Z,Y),value:Z,optionName:Y}),tA=(Z,Y,Q)=>{if(Z.length===0)throw TypeError(`The \`${Q}\` option must not be an empty array.`);if(!Y)return;for(let{value:J,optionName:q}of Z)if(eA.has(J))throw Error(`The \`${q}\` option must not include \`${J}\`.`)},eA,ZG=(Z)=>{for(let Y of Z)YG(Y)},YG=({type:Z,value:Y,optionName:Q})=>{if(QK(Y))throw TypeError(`The \`${Q}: URL\` option must use the \`file:\` scheme.
78
+ For example, you can use the \`pathToFileURL()\` method of the \`url\` core module.`);if(JK(Z,Y))throw TypeError(`The \`${Q}: { file: '...' }\` option must be used instead of \`${Q}: '...'\`.`)},QG=(Z,Y)=>{if(!Y)return;let Q=Z.find(({type:J})=>GY.has(J));if(Q!==void 0)throw TypeError(`The \`${Q.optionName}\` option cannot use both files and transforms in objectMode.`)},JG=({initialFileDescriptors:Z,addProperties:Y,options:Q,isSync:J})=>{let q=[];try{for(let X of Z)q.push(qG({fileDescriptor:X,fileDescriptors:q,addProperties:Y,options:Q,isSync:J}));return q}catch(X){throw j9(q),X}},qG=({fileDescriptor:{direction:Z,objectMode:Y,stdioItems:Q},fileDescriptors:J,addProperties:q,options:X,isSync:z})=>{let W=Q.map((U)=>XG({stdioItem:U,addProperties:q,direction:Z,options:X,fileDescriptors:J,isSync:z}));return{direction:Z,objectMode:Y,stdioItems:W}},XG=({stdioItem:Z,addProperties:Y,direction:Q,options:J,fileDescriptors:q,isSync:X})=>{let z=AK({stdioItem:Z,direction:Q,fileDescriptors:q,isSync:X});if(z!==void 0)return{...Z,stream:z};return{...Z,...Y[Q][Z.type](Z,J)}},j9=(Z)=>{for(let{stdioItems:Y}of Z)for(let{stream:Q}of Y)if(Q!==void 0&&!s6(Q))Q.destroy()},zG=(Z)=>{if(Z.length>1)return Z.some(({value:J})=>J==="overlapped")?"overlapped":"pipe";let[{type:Y,value:Q}]=Z;return Y==="native"?Q:"pipe"};var RY=N(()=>{O4();KK();O9();N6();FK();MK();NK();LK();RK();eA=new Set(["ignore","ipc"])});import{readFileSync as TK}from"node:fs";var EK=(Z,Y)=>CY(WG,Z,Y,!0),X4=({type:Z,optionName:Y})=>{PK(Y,u4[Z])},HG=({optionName:Z,value:Y})=>{if(Y==="ipc"||Y==="overlapped")PK(Z,`"${Y}"`);return{}},PK=(Z,Y)=>{throw TypeError(`The \`${Z}\` option cannot be ${Y} with synchronous methods.`)},kK,WG;var xK=N(()=>{R6();RY();N6();kK={generator(){},asyncGenerator:X4,webStream:X4,nodeStream:X4,webTransform:X4,duplex:X4,asyncIterable:X4,native:HG},WG={input:{...kK,fileUrl:({value:Z})=>({contents:[V4(TK(Z))]}),filePath:({value:{file:Z}})=>({contents:[V4(TK(Z))]}),fileNumber:X4,iterable:({value:Z})=>({contents:[...Z]}),string:({value:Z})=>({contents:[Z]}),uint8Array:({value:Z})=>({contents:[Z]})},output:{...kK,fileUrl:({value:Z})=>({path:Z}),filePath:({value:{file:Z,append:Y}})=>({path:Z,append:Y}),fileNumber:({value:Z})=>({path:Z}),iterable:X4,string:X4,uint8Array:X4}}});var N4=(Z,{stripFinalNewline:Y},Q)=>_9(Y,Q)&&Z!==void 0&&!Array.isArray(Z)?YZ(Z):Z,_9=(Z,Y)=>Y==="all"?Z[1]||Z[2]:Z[Y];var K1=N(()=>{Q9()});var TY=(Z,Y,Q,J)=>Z||Q?void 0:vK(Y,J),I9=(Z,Y,Q)=>Q?Z.flatMap((J)=>bK(J,Y)):bK(Z,Y),bK=(Z,Y)=>{let{transform:Q,final:J}=vK(Y,{});return[...Q(Z),...J()]},vK=(Z,Y)=>{return Y.previousChunks="",{transform:UG.bind(void 0,Y,Z),final:BG.bind(void 0,Y)}},UG=function*(Z,Y,Q){if(typeof Q!=="string"){yield Q;return}let{previousChunks:J}=Z,q=-1;for(let X=0;X<Q.length;X+=1)if(Q[X]===`
79
+ `){let z=KG(Q,X,Y,Z),W=Q.slice(q+1,X+1-z);if(J.length>0)W=N9(J,W),J="";yield W,q=X}if(q!==Q.length-1)J=N9(J,Q.slice(q+1));Z.previousChunks=J},KG=(Z,Y,Q,J)=>{if(Q)return 0;return J.isWindowsNewline=Y!==0&&Z[Y-1]==="\r",J.isWindowsNewline?2:1},BG=function*({previousChunks:Z}){if(Z.length>0)yield Z},SK=({binary:Z,preserveNewlines:Y,readableObjectMode:Q,state:J})=>Z||Y||Q?void 0:{transform:$G.bind(void 0,J)},$G=function*({isWindowsNewline:Z=!1},Y){let{unixNewline:Q,windowsNewline:J,LF:q,concatBytes:X}=typeof Y==="string"?FG:OG;if(Y.at(-1)===q){yield Y;return}yield X(Y,Z?J:Q)},N9=(Z,Y)=>`${Z}${Y}`,FG,VG=(Z,Y)=>{let Q=new Uint8Array(Z.length+Y.length);return Q.set(Z,0),Q.set(Y,Z.length),Q},OG;var kY=N(()=>{FG={windowsNewline:`\r
80
80
  `,unixNewline:`
81
81
  `,LF:`
82
- `,concatBytes:F9},rA={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:aA}});import{Buffer as tA}from"node:buffer";var GK=(Z,Y)=>Z?void 0:eA.bind(void 0,Y),eA=function*(Z,Y){if(typeof Y!=="string"&&!a0(Y)&&!tA.isBuffer(Y))throw TypeError(`The \`${Z}\` option's transform must use "objectMode: true" to receive as input: ${typeof Y}.`);yield Y},CK=(Z,Y)=>Z?ZG.bind(void 0,Y):YG.bind(void 0,Y),ZG=function*(Z,Y){RK(Z,Y),yield Y},YG=function*(Z,Y){if(RK(Z,Y),typeof Y!=="string"&&!a0(Y))throw TypeError(`The \`${Z}\` option's function must yield a string or an Uint8Array, not ${typeof Y}.`);yield Y},RK=(Z,Y)=>{if(Y===null||Y===void 0)throw TypeError(`The \`${Z}\` option's function must not call \`yield ${Y}\`.
82
+ `,concatBytes:N9},OG={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:VG}});import{Buffer as DG}from"node:buffer";var yK=(Z,Y)=>Z?void 0:MG.bind(void 0,Y),MG=function*(Z,Y){if(typeof Y!=="string"&&!t0(Y)&&!DG.isBuffer(Y))throw TypeError(`The \`${Z}\` option's transform must use "objectMode: true" to receive as input: ${typeof Y}.`);yield Y},fK=(Z,Y)=>Z?jG.bind(void 0,Y):_G.bind(void 0,Y),jG=function*(Z,Y){hK(Z,Y),yield Y},_G=function*(Z,Y){if(hK(Z,Y),typeof Y!=="string"&&!t0(Y))throw TypeError(`The \`${Z}\` option's function must yield a string or an Uint8Array, not ${typeof Y}.`);yield Y},hK=(Z,Y)=>{if(Y===null||Y===void 0)throw TypeError(`The \`${Z}\` option's function must not call \`yield ${Y}\`.
83
83
  Instead, \`yield\` should either be called with a value, or not be called at all. For example:
84
- if (condition) { yield value; }`)};var TK=j(()=>{C6()});import{Buffer as QG}from"node:buffer";import{StringDecoder as JG}from"node:string_decoder";var RY=(Z,Y,Q)=>{if(Q)return;if(Z)return{transform:qG.bind(void 0,new TextEncoder)};let J=new JG(Y);return{transform:XG.bind(void 0,J),final:zG.bind(void 0,J)}},qG=function*(Z,Y){if(QG.isBuffer(Y))yield F8(Y);else if(typeof Y==="string")yield Z.encode(Y);else yield Y},XG=function*(Z,Y){yield a0(Y)?Z.write(Y):Y},zG=function*(Z){let Y=Z.end();if(Y!=="")yield Y};var O9=j(()=>{C6()});import{callbackify as kK}from"node:util";var D9,TY=async function*(Z,Y,Q){if(Q===Y.length){yield Z;return}let{transform:J=WG}=Y[Q];for await(let q of J(Z))yield*TY(q,Y,Q+1)},EK=async function*(Z){for(let[Y,{final:Q}]of Object.entries(Z))yield*HG(Q,Number(Y),Z)},HG=async function*(Z,Y,Q){if(Z===void 0)return;for await(let J of Z())yield*TY(J,Q,Y+1)},xK,WG=function*(Z){yield Z};var PK=j(()=>{D9=kK(async(Z,Y,Q,J)=>{Y.currentIterable=Z(...Q);try{for await(let q of Y.currentIterable)J.push(q)}finally{delete Y.currentIterable}}),xK=kK(async({currentIterable:Z},Y)=>{if(Z!==void 0){await(Y?Z.throw(Y):Z.return());return}if(Y)throw Y})});var M9=(Z,Y,Q,J)=>{try{for(let q of Z(...Y))Q.push(q);J()}catch(q){J(q)}},bK=(Z,Y)=>[...Y.flatMap((Q)=>[...B4(Q,Z,0)]),...U1(Z)],B4=function*(Z,Y,Q){if(Q===Y.length){yield Z;return}let{transform:J=KG}=Y[Q];for(let q of J(Z))yield*B4(q,Y,Q+1)},U1=function*(Z){for(let[Y,{final:Q}]of Object.entries(Z))yield*UG(Q,Number(Y),Z)},UG=function*(Z,Y,Q){if(Z===void 0)return;for(let J of Z())yield*B4(J,Q,Y+1)},KG=function*(Z){yield Z};import{Transform as BG,getDefaultHighWaterMark as vK}from"node:stream";var j9=({value:Z,value:{transform:Y,final:Q,writableObjectMode:J,readableObjectMode:q},optionName:X},{encoding:z})=>{let W={},U=SK(Z,z,X),K=K4(Y),B=K4(Q),$=K?D9.bind(void 0,TY,W):M9.bind(void 0,B4),F=K||B?D9.bind(void 0,EK,W):M9.bind(void 0,U1),O=K||B?xK.bind(void 0,W):void 0;return{stream:new BG({writableObjectMode:J,writableHighWaterMark:vK(J),readableObjectMode:q,readableHighWaterMark:vK(q),transform(D,_,N){$([D,U,0],this,N)},flush(D){F([U],this,D)},destroy:O})}},kY=(Z,Y,Q,J)=>{let q=Y.filter(({type:z})=>z==="generator"),X=J?q.reverse():q;for(let{value:z,optionName:W}of X){let U=SK(z,Q,W);Z=bK(U,Z)}return Z},SK=({transform:Z,final:Y,binary:Q,writableObjectMode:J,readableObjectMode:q,preserveNewlines:X},z,W)=>{let U={};return[{transform:GK(J,W)},RY(Q,z,J),GY(Q,X,J,U),{transform:Z,final:Y},{transform:CK(q,W)},AK({binary:Q,preserveNewlines:X,readableObjectMode:q,state:U})].filter(Boolean)};var EY=j(()=>{_6();CY();TK();O9();PK()});var yK=(Z,Y)=>{for(let Q of $G(Z))FG(Z,Q,Y)},$G=(Z)=>new Set(Object.entries(Z).filter(([,{direction:Y}])=>Y==="input").map(([Y])=>Number(Y))),FG=(Z,Y,Q)=>{let{stdioItems:J}=Z[Y],q=J.filter(({contents:W})=>W!==void 0);if(q.length===0)return;if(Y!==0){let[{type:W,optionName:U}]=q;throw TypeError(`Only the \`stdin\` option, not \`${U}\`, can be ${m8[W]} with synchronous methods.`)}let z=q.map(({contents:W})=>W).map((W)=>VG(W,J));Q.input=sZ(z)},VG=(Z,Y)=>{let Q=kY(Z,Y,"utf8",!0);return OG(Q),sZ(Q)},OG=(Z)=>{let Y=Z.find((Q)=>typeof Q!=="string"&&!a0(Q));if(Y!==void 0)throw TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${Y}.`)};var fK=j(()=>{EY();C6();_6()});var xY=({stdioItems:Z,encoding:Y,verboseInfo:Q,fdNumber:J})=>J!=="all"&&c4(Q,J)&&!R6.has(Y)&&DG(J)&&(Z.some(({type:q,value:X})=>q==="native"&&MG.has(X))||Z.every(({type:q})=>p6.has(q))),DG=(Z)=>Z===1||Z===2,MG,hK=async(Z,Y,Q,J)=>{for await(let q of Z)if(!jG(Y))mK(q,Q,J)},gK=(Z,Y,Q)=>{for(let J of Z)mK(J,Y,Q)},jG=(Z)=>Z._readableState.pipes.length>0,mK=(Z,Y,Q)=>{let J=x7(Z);e6({type:"output",verboseMessage:J,fdNumber:Y,verboseInfo:Q})};var _9=j(()=>{H4();_6();l4();S8();MG=new Set(["pipe","overlapped"])});import{writeFileSync as _G,appendFileSync as NG}from"node:fs";var pK=({fileDescriptors:Z,syncResult:{output:Y},options:Q,isMaxBuffer:J,verboseInfo:q})=>{if(Y===null)return{output:Array.from({length:3})};let X={},z=new Set([]);return{output:Y.map((U,K)=>IG({result:U,fileDescriptors:Z,fdNumber:K,state:X,outputFiles:z,isMaxBuffer:J,verboseInfo:q},Q)),...X}},IG=({result:Z,fileDescriptors:Y,fdNumber:Q,state:J,outputFiles:q,isMaxBuffer:X,verboseInfo:z},{buffer:W,encoding:U,lines:K,stripFinalNewline:B,maxBuffer:$})=>{if(Z===null)return;let F=TU(Z,X,$),O=F8(F),{stdioItems:V,objectMode:D}=Y[Q],_=LG([O],V,U,J),{serializedResult:N,finalResult:w=N}=wG({chunks:_,objectMode:D,encoding:U,lines:K,stripFinalNewline:B,fdNumber:Q});AG({serializedResult:N,fdNumber:Q,state:J,verboseInfo:z,encoding:U,stdioItems:V,objectMode:D});let G=W[Q]?w:void 0;try{if(J.error===void 0)GG(N,V,q);return G}catch(I){return J.error=I,G}},LG=(Z,Y,Q,J)=>{try{return kY(Z,Y,Q,!1)}catch(q){return J.error=q,Z}},wG=({chunks:Z,objectMode:Y,encoding:Q,lines:J,stripFinalNewline:q,fdNumber:X})=>{if(Y)return{serializedResult:Z};if(Q==="buffer")return{serializedResult:sZ(Z)};let z=Nz(Z,Q);if(J[X])return{serializedResult:z,finalResult:V9(z,!q[X],Y)};return{serializedResult:z}},AG=({serializedResult:Z,fdNumber:Y,state:Q,verboseInfo:J,encoding:q,stdioItems:X,objectMode:z})=>{if(!xY({stdioItems:X,encoding:q,verboseInfo:J,fdNumber:Y}))return;let W=V9(Z,!1,z);try{gK(W,Y,J)}catch(U){Q.error??=U}},GG=(Z,Y,Q)=>{for(let{path:J,append:q}of Y.filter(({type:X})=>LY.has(X))){let X=typeof J==="string"?J:J.toString();if(q||Q.has(X))NG(J,Z);else Q.add(X),_G(J,Z)}};var uK=j(()=>{_9();EY();CY();C6();_6();U4()});var dK=([,Z,Y],Q)=>{if(!Q.all)return;if(Z===void 0)return Y;if(Y===void 0)return Z;if(Array.isArray(Z))return Array.isArray(Y)?[...Z,...Y]:[...Z,_8(Y,Q,"all")];if(Array.isArray(Y))return[_8(Z,Q,"all"),...Y];if(a0(Z)&&a0(Y))return B2([Z,Y]);return`${Z}${Y}`};var cK=j(()=>{C6();W1()});import{once as N9}from"node:events";var lK=async(Z,Y)=>{let[Q,J]=await CG(Z);return Y.isForcefullyTerminated??=!1,[Q,J]},CG=async(Z)=>{let[Y,Q]=await Promise.allSettled([N9(Z,"spawn"),N9(Z,"exit")]);if(Y.status==="rejected")return[];return Q.status==="rejected"?nK(Z):Q.value},nK=async(Z)=>{try{return await N9(Z,"exit")}catch{return nK(Z)}},oK=async(Z)=>{let[Y,Q]=await Z;if(!RG(Y,Q)&&I9(Y,Q))throw new Z8;return[Y,Q]},RG=(Z,Y)=>Z===void 0&&Y===void 0,I9=(Z,Y)=>Z!==0||Y!==null;var L9=j(()=>{y8()});var iK=({error:Z,status:Y,signal:Q,output:J},{maxBuffer:q})=>{let X=TG(Z,Y,Q),z=X?.code==="ETIMEDOUT",W=RU(X,J,q);return{resultError:X,exitCode:Y,signal:Q,timedOut:z,isMaxBuffer:W}},TG=(Z,Y,Q)=>{if(Z!==void 0)return Z;return I9(Y,Q)?new Z8:void 0};var sK=j(()=>{y8();U4();L9()});import{spawnSync as kG}from"node:child_process";var aK=(Z,Y,Q)=>{let{file:J,commandArguments:q,command:X,escapedCommand:z,startTime:W,verboseInfo:U,options:K,fileDescriptors:B}=EG(Z,Y,Q),$=bG({file:J,commandArguments:q,options:K,command:X,escapedCommand:z,verboseInfo:U,fileDescriptors:B,startTime:W});return YZ($,U,K)},EG=(Z,Y,Q)=>{let{command:J,escapedCommand:q,startTime:X,verboseInfo:z}=v7(Z,Y,Q),W=xG(Q),{file:U,commandArguments:K,options:B}=HY(Z,Y,W);PG(B);let $=_K(B,z);return{file:U,commandArguments:K,command:J,escapedCommand:q,startTime:X,verboseInfo:z,options:B,fileDescriptors:$}},xG=(Z)=>Z.node&&!Z.ipc?{...Z,ipc:!1}:Z,PG=({ipc:Z,ipcInput:Y,detached:Q,cancelSignal:J})=>{if(Y)PY("ipcInput");if(Z)PY("ipc: true");if(Q)PY("detached: true");if(J)PY("cancelSignal")},PY=(Z)=>{throw TypeError(`The "${Z}" option cannot be used with synchronous methods.`)},bG=({file:Z,commandArguments:Y,options:Q,command:J,escapedCommand:q,verboseInfo:X,fileDescriptors:z,startTime:W})=>{let U=vG({file:Z,commandArguments:Y,options:Q,command:J,escapedCommand:q,fileDescriptors:z,startTime:W});if(U.failed)return U;let{resultError:K,exitCode:B,signal:$,timedOut:F,isMaxBuffer:O}=iK(U,Q),{output:V,error:D=K}=pK({fileDescriptors:z,syncResult:U,options:Q,isMaxBuffer:O,verboseInfo:X}),_=V.map((w,G)=>_8(w,Q,G)),N=_8(dK(V,Q),Q,"all");return yG({error:D,exitCode:B,signal:$,timedOut:F,isMaxBuffer:O,stdio:_,all:N,options:Q,command:J,escapedCommand:q,startTime:W})},vG=({file:Z,commandArguments:Y,options:Q,command:J,escapedCommand:q,fileDescriptors:X,startTime:z})=>{try{yK(X,Q);let W=SG(Q);return kG(...WY(Z,Y,W))}catch(W){return ZZ({error:W,command:J,escapedCommand:q,fileDescriptors:X,options:Q,startTime:z,isSync:!0})}},SG=({encoding:Z,maxBuffer:Y,...Q})=>({...Q,encoding:"buffer",maxBuffer:MY(Y)}),yG=({error:Z,exitCode:Y,signal:Q,timedOut:J,isMaxBuffer:q,stdio:X,all:z,options:W,command:U,escapedCommand:K,startTime:B})=>Z===void 0?jY({command:U,escapedCommand:K,stdio:X,all:z,ipcOutput:[],options:W,startTime:B}):z1({error:Z,command:U,escapedCommand:K,timedOut:J,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:q,isForcefullyTerminated:!1,exitCode:Y,signal:Q,stdio:X,all:z,ipcOutput:[],options:W,startTime:B,isSync:!0});var rK=j(()=>{_2();i2();H1();_Y();IK();W1();fK();uK();U4();cK();sK()});import{once as w9,on as fG}from"node:events";var tK=({anyProcess:Z,channel:Y,isSubprocess:Q,ipc:J},{reference:q=!0,filter:X}={})=>{return i4({methodName:"getOneMessage",isSubprocess:Q,ipc:J,isConnected:ZY(Z)}),hG({anyProcess:Z,channel:Y,isSubprocess:Q,filter:X,reference:q})},hG=async({anyProcess:Z,channel:Y,isSubprocess:Q,filter:J,reference:q})=>{o7(Y,q);let X=g8(Z,Y,Q),z=new AbortController;try{return await Promise.race([gG(X,J,z),mG(X,Q,z),pG(X,Q,z)])}catch(W){throw s4(Z),W}finally{z.abort(),i7(Y,q)}},gG=async(Z,Y,{signal:Q})=>{if(Y===void 0){let[J]=await w9(Z,"message",{signal:Q});return J}for await(let[J]of fG(Z,"message",{signal:Q}))if(Y(J))return J},mG=async(Z,Y,{signal:Q})=>{await w9(Z,"disconnect",{signal:Q}),BW(Y)},pG=async(Z,Y,{signal:Q})=>{let[J]=await w9(Z,"strict:error",{signal:Q});throw d7(J,Y)};var eK=j(()=>{a4();Y1()});import{once as YB,on as uG}from"node:events";var QB=({anyProcess:Z,channel:Y,isSubprocess:Q,ipc:J},{reference:q=!0}={})=>A9({anyProcess:Z,channel:Y,isSubprocess:Q,ipc:J,shouldAwait:!Q,reference:q}),A9=({anyProcess:Z,channel:Y,isSubprocess:Q,ipc:J,shouldAwait:q,reference:X})=>{i4({methodName:"getEachMessage",isSubprocess:Q,ipc:J,isConnected:ZY(Z)}),o7(Y,X);let z=g8(Z,Y,Q),W=new AbortController,U={};return dG(Z,z,W),cG({ipcEmitter:z,isSubprocess:Q,controller:W,state:U}),lG({anyProcess:Z,channel:Y,ipcEmitter:z,isSubprocess:Q,shouldAwait:q,controller:W,state:U,reference:X})},dG=async(Z,Y,Q)=>{try{await YB(Y,"disconnect",{signal:Q.signal}),Q.abort()}catch{}},cG=async({ipcEmitter:Z,isSubprocess:Y,controller:Q,state:J})=>{try{let[q]=await YB(Z,"strict:error",{signal:Q.signal});J.error=d7(q,Y),Q.abort()}catch{}},lG=async function*({anyProcess:Z,channel:Y,ipcEmitter:Q,isSubprocess:J,shouldAwait:q,controller:X,state:z,reference:W}){try{for await(let[U]of uG(Q,"message",{signal:X.signal}))ZB(z),yield U}catch{ZB(z)}finally{if(X.abort(),i7(Y,W),!J)s4(Z);if(q)await Z}},ZB=({error:Z})=>{if(Z)throw Z};var G9=j(()=>{a4();Y1()});import JB from"node:process";var qB=(Z,{ipc:Y})=>{Object.assign(Z,zB(Z,!1,Y))},XB=()=>{let Z=JB,Y=!0,Q=JB.channel!==void 0;return{...zB(Z,!0,Q),getCancelSignal:gW.bind(void 0,{anyProcess:Z,channel:Z.channel,isSubprocess:!0,ipc:Q})}},zB=(Z,Y,Q)=>({sendMessage:qY.bind(void 0,{anyProcess:Z,channel:Z.channel,isSubprocess:Y,ipc:Q}),getOneMessage:tK.bind(void 0,{anyProcess:Z,channel:Z.channel,isSubprocess:Y,ipc:Q}),getEachMessage:QB.bind(void 0,{anyProcess:Z,channel:Z.channel,isSubprocess:Y,ipc:Q})});var C9=j(()=>{XY();eK();G9();t7()});import{ChildProcess as nG}from"node:child_process";import{PassThrough as oG,Readable as iG,Writable as sG,Duplex as aG}from"node:stream";var HB=({error:Z,command:Y,escapedCommand:Q,fileDescriptors:J,options:q,startTime:X,verboseInfo:z})=>{B9(J);let W=new nG;rG(W,J),Object.assign(W,{readable:tG,writable:eG,duplex:ZC});let U=ZZ({error:Z,command:Y,escapedCommand:Q,fileDescriptors:J,options:q,startTime:X,isSync:!1}),K=YC(U,z,q);return{subprocess:W,promise:K}},rG=(Z,Y)=>{let Q=K1(),J=K1(),q=K1(),X=Array.from({length:Y.length-3},K1),z=K1(),W=[Q,J,q,...X];Object.assign(Z,{stdin:Q,stdout:J,stderr:q,all:z,stdio:W})},K1=()=>{let Z=new oG;return Z.end(),Z},tG=()=>new iG({read(){}}),eG=()=>new sG({write(){}}),ZC=()=>new aG({read(){},write(){}}),YC=async(Z,Y,Q)=>YZ(Z,Y,Q);var WB=j(()=>{AY();H1();_Y()});import{createReadStream as UB,createWriteStream as KB}from"node:fs";import{Buffer as QC}from"node:buffer";import{Readable as B1,Writable as JC,Duplex as qC}from"node:stream";var $B=(Z,Y)=>wY(XC,Z,Y,!1),$1=({type:Z,optionName:Y})=>{throw TypeError(`The \`${Y}\` option cannot be ${m8[Z]}.`)},BB,XC;var FB=j(()=>{EY();AY();_6();BB={fileNumber:$1,generator:j9,asyncGenerator:j9,nodeStream:({value:Z})=>({stream:Z}),webTransform({value:{transform:Z,writableObjectMode:Y,readableObjectMode:Q}}){let J=Y||Q;return{stream:qC.fromWeb(Z,{objectMode:J})}},duplex:({value:{transform:Z}})=>({stream:Z}),native(){}},XC={input:{...BB,fileUrl:({value:Z})=>({stream:UB(Z)}),filePath:({value:{file:Z}})=>({stream:UB(Z)}),webStream:({value:Z})=>({stream:B1.fromWeb(Z)}),iterable:({value:Z})=>({stream:B1.from(Z)}),asyncIterable:({value:Z})=>({stream:B1.from(Z)}),string:({value:Z})=>({stream:B1.from(Z)}),uint8Array:({value:Z})=>({stream:B1.from(QC.from(Z))})},output:{...BB,fileUrl:({value:Z})=>({stream:KB(Z)}),filePath:({value:{file:Z,append:Y}})=>({stream:KB(Z,Y?{flags:"a"}:{})}),webStream:({value:Z})=>({stream:JC.fromWeb(Z)}),iterable:$1,asyncIterable:$1,string:$1,uint8Array:$1}}});import{on as zC,once as VB}from"node:events";import{PassThrough as HC,getDefaultHighWaterMark as WC}from"node:stream";import{finished as MB}from"node:stream/promises";function $4(Z){if(!Array.isArray(Z))throw TypeError(`Expected an array, got \`${typeof Z}\`.`);for(let q of Z)R9(q);let Y=Z.some(({readableObjectMode:q})=>q),Q=UC(Z,Y),J=new jB({objectMode:Y,writableHighWaterMark:Q,readableHighWaterMark:Q});for(let q of Z)J.add(q);return J}var UC=(Z,Y)=>{if(Z.length===0)return WC(Y);let Q=Z.filter(({readableObjectMode:J})=>J===Y).map(({readableHighWaterMark:J})=>J);return Math.max(...Q)},jB,KC=async(Z,Y,Q)=>{bY(Z,OB);let J=new AbortController;try{await Promise.race([BC(Z,J),$C(Z,Y,Q,J)])}finally{J.abort(),bY(Z,-OB)}},BC=async(Z,{signal:Y})=>{try{await MB(Z,{signal:Y,cleanup:!0})}catch(Q){throw _B(Z,Q),Q}},$C=async(Z,Y,Q,{signal:J})=>{for await(let[q]of zC(Z,"unpipe",{signal:J}))if(Y.has(q))q.emit(Q)},R9=(Z)=>{if(typeof Z?.pipe!=="function")throw TypeError(`Expected a readable stream, got: \`${typeof Z}\`.`)},FC=async({passThroughStream:Z,stream:Y,streams:Q,ended:J,aborted:q,onFinished:X,unpipeEvent:z})=>{bY(Z,DB);let W=new AbortController;try{await Promise.race([VC(X,Y,W),OC({passThroughStream:Z,stream:Y,streams:Q,ended:J,aborted:q,controller:W}),DC({stream:Y,streams:Q,ended:J,aborted:q,unpipeEvent:z,controller:W})])}finally{W.abort(),bY(Z,-DB)}if(Q.size>0&&Q.size===J.size+q.size)if(J.size===0&&q.size>0)T9(Z);else MC(Z)},VC=async(Z,Y,{signal:Q})=>{try{if(await Z,!Q.aborted)T9(Y)}catch(J){if(!Q.aborted)_B(Y,J)}},OC=async({passThroughStream:Z,stream:Y,streams:Q,ended:J,aborted:q,controller:{signal:X}})=>{try{if(await MB(Y,{signal:X,cleanup:!0,readable:!0,writable:!1}),Q.has(Y))J.add(Y)}catch(z){if(X.aborted||!Q.has(Y))return;if(NB(z))q.add(Y);else IB(Z,z)}},DC=async({stream:Z,streams:Y,ended:Q,aborted:J,unpipeEvent:q,controller:{signal:X}})=>{if(await VB(Z,q,{signal:X}),!Z.readable)return VB(X,"abort",{signal:X});Y.delete(Z),Q.delete(Z),J.delete(Z)},MC=(Z)=>{if(Z.writable)Z.end()},_B=(Z,Y)=>{if(NB(Y))T9(Z);else IB(Z,Y)},NB=(Z)=>Z?.code==="ERR_STREAM_PREMATURE_CLOSE",T9=(Z)=>{if(Z.readable||Z.writable)Z.destroy()},IB=(Z,Y)=>{if(!Z.destroyed)Z.once("error",jC),Z.destroy(Y)},jC=()=>{},bY=(Z,Y)=>{let Q=Z.getMaxListeners();if(Q!==0&&Q!==Number.POSITIVE_INFINITY)Z.setMaxListeners(Q+Y)},OB=2,DB=1;var vY=j(()=>{jB=class jB extends HC{#Y=new Set([]);#Q=new Set([]);#Z=new Set([]);#J;#q=Symbol("unpipe");#X=new WeakMap;add(Z){if(R9(Z),this.#Y.has(Z))return;this.#Y.add(Z),this.#J??=KC(this,this.#Y,this.#q);let Y=FC({passThroughStream:this,stream:Z,streams:this.#Y,ended:this.#Q,aborted:this.#Z,onFinished:this.#J,unpipeEvent:this.#q});this.#X.set(Z,Y),Z.pipe(this,{end:!1})}async remove(Z){if(R9(Z),!this.#Y.has(Z))return!1;let Y=this.#X.get(Z);if(Y===void 0)return!1;return this.#X.delete(Z),Z.unpipe(this),await Y,!0}}});import{finished as LB}from"node:stream/promises";var JZ=(Z,Y)=>{Z.pipe(Y),_C(Z,Y),NC(Z,Y)},_C=async(Z,Y)=>{if(o6(Z)||o6(Y))return;try{await LB(Z,{cleanup:!0,readable:!0,writable:!1})}catch{}k9(Y)},k9=(Z)=>{if(Z.writable)Z.end()},NC=async(Z,Y)=>{if(o6(Z)||o6(Y))return;try{await LB(Y,{cleanup:!0,readable:!1,writable:!0})}catch{}E9(Z)},E9=(Z)=>{if(Z.readable)Z.destroy()};var SY=j(()=>{V8()});var wB=(Z,Y,Q)=>{let J=new Map;for(let[q,{stdioItems:X,direction:z}]of Object.entries(Y)){for(let{stream:W}of X.filter(({type:U})=>p6.has(U)))IC(Z,W,z,q);for(let{stream:W}of X.filter(({type:U})=>!p6.has(U)))wC({subprocess:Z,stream:W,direction:z,fdNumber:q,pipeGroups:J,controller:Q})}for(let[q,X]of J.entries()){let z=X.length===1?X[0]:$4(X);JZ(z,q)}},IC=(Z,Y,Q,J)=>{if(Q==="output")JZ(Z.stdio[J],Y);else JZ(Y,Z.stdio[J]);let q=LC[J];if(q!==void 0)Z[q]=Y;Z.stdio[J]=Y},LC,wC=({subprocess:Z,stream:Y,direction:Q,fdNumber:J,pipeGroups:q,controller:X})=>{if(Y===void 0)return;AC(Y,X);let[z,W]=Q==="output"?[Y,Z.stdio[J]]:[Z.stdio[J],Y],U=q.get(z)??[];q.set(z,[...U,W])},AC=(Z,{signal:Y})=>{if(o6(Z))z4(Z,GC,Y)},GC=2;var AB=j(()=>{vY();V8();n7();_6();SY();LC=["stdin","stdout","stderr"]});var F4;var GB=j(()=>{F4=[];F4.push("SIGHUP","SIGINT","SIGTERM");if(process.platform!=="win32")F4.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(process.platform==="linux")F4.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT")});class CB{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(P9[x9])return P9[x9];CC(P9,x9,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(Z,Y){this.listeners[Z].push(Y)}removeListener(Z,Y){let Q=this.listeners[Z],J=Q.indexOf(Y);if(J===-1)return;if(J===0&&Q.length===1)Q.length=0;else Q.splice(J,1)}emit(Z,Y,Q){if(this.emitted[Z])return!1;this.emitted[Z]=!0;let J=!1;for(let q of this.listeners[Z])J=q(Y,Q)===!0||J;if(Z==="exit")J=this.emit("afterExit",Y,Q)||J;return J}}class v9{}var yY=(Z)=>!!Z&&typeof Z==="object"&&typeof Z.removeListener==="function"&&typeof Z.emit==="function"&&typeof Z.reallyExit==="function"&&typeof Z.listeners==="function"&&typeof Z.kill==="function"&&typeof Z.pid==="number"&&typeof Z.on==="function",x9,P9,CC,RC=(Z)=>{return{onExit(Y,Q){return Z.onExit(Y,Q)},load(){return Z.load()},unload(){return Z.unload()}}},RB,TB,b9,kB,Zn,Yn;var EB=j(()=>{GB();x9=Symbol.for("signal-exit emitter"),P9=globalThis,CC=Object.defineProperty.bind(Object);RB=class RB extends v9{onExit(){return()=>{}}load(){}unload(){}};TB=class TB extends v9{#Y=b9.platform==="win32"?"SIGINT":"SIGHUP";#Q=new CB;#Z;#J;#q;#X={};#z=!1;constructor(Z){super();this.#Z=Z,this.#X={};for(let Y of F4)this.#X[Y]=()=>{let Q=this.#Z.listeners(Y),{count:J}=this.#Q,q=Z;if(typeof q.__signal_exit_emitter__==="object"&&typeof q.__signal_exit_emitter__.count==="number")J+=q.__signal_exit_emitter__.count;if(Q.length===J){this.unload();let X=this.#Q.emit("exit",null,Y),z=Y==="SIGHUP"?this.#Y:Y;if(!X)Z.kill(Z.pid,z)}};this.#q=Z.reallyExit,this.#J=Z.emit}onExit(Z,Y){if(!yY(this.#Z))return()=>{};if(this.#z===!1)this.load();let Q=Y?.alwaysLast?"afterExit":"exit";return this.#Q.on(Q,Z),()=>{if(this.#Q.removeListener(Q,Z),this.#Q.listeners.exit.length===0&&this.#Q.listeners.afterExit.length===0)this.unload()}}load(){if(this.#z)return;this.#z=!0,this.#Q.count+=1;for(let Z of F4)try{let Y=this.#X[Z];if(Y)this.#Z.on(Z,Y)}catch(Y){}this.#Z.emit=(Z,...Y)=>{return this.#W(Z,...Y)},this.#Z.reallyExit=(Z)=>{return this.#H(Z)}}unload(){if(!this.#z)return;this.#z=!1,F4.forEach((Z)=>{let Y=this.#X[Z];if(!Y)throw Error("Listener not defined for signal: "+Z);try{this.#Z.removeListener(Z,Y)}catch(Q){}}),this.#Z.emit=this.#J,this.#Z.reallyExit=this.#q,this.#Q.count-=1}#H(Z){if(!yY(this.#Z))return 0;return this.#Z.exitCode=Z||0,this.#Q.emit("exit",this.#Z.exitCode,null),this.#q.call(this.#Z,this.#Z.exitCode)}#W(Z,...Y){let Q=this.#J;if(Z==="exit"&&yY(this.#Z)){if(typeof Y[0]==="number")this.#Z.exitCode=Y[0];let J=Q.call(this.#Z,Z,...Y);return this.#Q.emit("exit",this.#Z.exitCode,null),J}else return Q.call(this.#Z,Z,...Y)}};b9=globalThis.process,{onExit:kB,load:Zn,unload:Yn}=RC(yY(b9)?new TB(b9):new RB)});import{addAbortListener as TC}from"node:events";var xB=(Z,{cleanup:Y,detached:Q},{signal:J})=>{if(!Y||Q)return;let q=kB(()=>{Z.kill()});TC(J,()=>{q()})};var PB=j(()=>{EB()});var vB=({source:Z,sourcePromise:Y,boundOptions:Q,createNested:J},...q)=>{let X=P7(),{destination:z,destinationStream:W,destinationError:U,from:K,unpipeSignal:B}=kC(Q,J,q),{sourceStream:$,sourceError:F}=xC(Z,K),{options:O,fileDescriptors:V}=Q8.get(Z);return{sourcePromise:Y,sourceStream:$,sourceOptions:O,sourceError:F,destination:z,destinationStream:W,destinationError:U,unpipeSignal:B,fileDescriptors:V,startTime:X}},kC=(Z,Y,Q)=>{try{let{destination:J,pipeOptions:{from:q,to:X,unpipeSignal:z}={}}=EC(Z,Y,...Q),W=l7(J,X);return{destination:J,destinationStream:W,from:q,unpipeSignal:z}}catch(J){return{destinationError:J}}},EC=(Z,Y,Q,...J)=>{if(Array.isArray(Q))return{destination:Y(bB,Z)(Q,...J),pipeOptions:Z};if(typeof Q==="string"||Q instanceof URL||W2(Q)){if(Object.keys(Z).length>0)throw TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[q,X,z]=I7(Q,...J);return{destination:Y(bB)(q,X,z),pipeOptions:z}}if(Q8.has(Q)){if(Object.keys(Z).length>0)throw TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).");return{destination:Q,pipeOptions:J[0]}}throw TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${Q}`)},bB=({options:Z})=>({options:{...Z,stdin:"pipe",piped:!0}}),xC=(Z,Y)=>{try{return{sourceStream:r4(Z,Y)}}catch(Q){return{sourceError:Q}}};var SB=j(()=>{K2();b7();h8();u4()});var fB=({sourceStream:Z,sourceError:Y,destinationStream:Q,destinationError:J,fileDescriptors:q,sourceOptions:X,startTime:z})=>{let W=PC({sourceStream:Z,sourceError:Y,destinationStream:Q,destinationError:J});if(W!==void 0)throw S9({error:W,fileDescriptors:q,sourceOptions:X,startTime:z})},PC=({sourceStream:Z,sourceError:Y,destinationStream:Q,destinationError:J})=>{if(Y!==void 0&&J!==void 0)return J;if(J!==void 0)return E9(Z),J;if(Y!==void 0)return k9(Q),Y},S9=({error:Z,fileDescriptors:Y,sourceOptions:Q,startTime:J})=>ZZ({error:Z,command:yB,escapedCommand:yB,fileDescriptors:Y,options:Q,startTime:J,isSync:!1}),yB="source.pipe(destination)";var y9=j(()=>{H1();SY()});var hB=async(Z)=>{let[{status:Y,reason:Q,value:J=Q},{status:q,reason:X,value:z=X}]=await Z;if(!z.pipedFrom.includes(J))z.pipedFrom.push(J);if(q==="rejected")throw z;if(Y==="rejected")throw J;return z};import{finished as bC}from"node:stream/promises";var gB=(Z,Y,Q)=>{let J=fY.has(Y)?SC(Z,Y):vC(Z,Y);return z4(Z,fC,Q.signal),z4(Y,hC,Q.signal),yC(Y),J},vC=(Z,Y)=>{let Q=$4([Z]);return JZ(Q,Y),fY.set(Y,Q),Q},SC=(Z,Y)=>{let Q=fY.get(Y);return Q.add(Z),Q},yC=async(Z)=>{try{await bC(Z,{cleanup:!0,readable:!1,writable:!0})}catch{}fY.delete(Z)},fY,fC=2,hC=1;var mB=j(()=>{vY();n7();SY();fY=new WeakMap});import{aborted as gC}from"node:util";var pB=(Z,Y)=>Z===void 0?[]:[mC(Z,Y)],mC=async(Z,{sourceStream:Y,mergedStream:Q,fileDescriptors:J,sourceOptions:q,startTime:X})=>{await gC(Z,Y),await Q.remove(Y);let z=Error("Pipe canceled by `unpipeSignal` option.");throw S9({error:z,fileDescriptors:J,sourceOptions:q,startTime:X})};var uB=j(()=>{y9()});var hY=(Z,...Y)=>{if(l0(Y[0]))return hY.bind(void 0,{...Z,boundOptions:{...Z.boundOptions,...Y[0]}});let{destination:Q,...J}=vB(Z,...Y),q=pC({...J,destination:Q});return q.pipe=hY.bind(void 0,{...Z,source:Q,sourcePromise:q,boundOptions:{}}),q},pC=async({sourcePromise:Z,sourceStream:Y,sourceOptions:Q,sourceError:J,destination:q,destinationStream:X,destinationError:z,unpipeSignal:W,fileDescriptors:U,startTime:K})=>{let B=uC(Z,q);fB({sourceStream:Y,sourceError:J,destinationStream:X,destinationError:z,fileDescriptors:U,sourceOptions:Q,startTime:K});let $=new AbortController;try{let F=gB(Y,X,$);return await Promise.race([hB(B),...pB(W,{sourceStream:Y,mergedStream:F,sourceOptions:Q,fileDescriptors:U,startTime:K})])}finally{$.abort()}},uC=(Z,Y)=>Promise.allSettled([Z,Y]);var dB=j(()=>{SB();y9();mB();uB()});import{on as dC}from"node:events";import{getDefaultHighWaterMark as cC}from"node:stream";var gY=({subprocessStdout:Z,subprocess:Y,binary:Q,shouldEncode:J,encoding:q,preserveNewlines:X})=>{let z=new AbortController;return lC(Y,z),lB({stream:Z,controller:z,binary:Q,shouldEncode:!Z.readableObjectMode&&J,encoding:q,shouldSplit:!Z.readableObjectMode,preserveNewlines:X})},lC=async(Z,Y)=>{try{await Z}catch{}finally{Y.abort()}},f9=({stream:Z,onStreamEnd:Y,lines:Q,encoding:J,stripFinalNewline:q,allMixed:X})=>{let z=new AbortController;nC(Y,z,Z);let W=Z.readableObjectMode&&!X;return lB({stream:Z,controller:z,binary:J==="buffer",shouldEncode:!W,encoding:J,shouldSplit:!W&&Q,preserveNewlines:!q})},nC=async(Z,Y,Q)=>{try{await Z}catch{Q.destroy()}finally{Y.abort()}},lB=({stream:Z,controller:Y,binary:Q,shouldEncode:J,encoding:q,shouldSplit:X,preserveNewlines:z})=>{let W=dC(Z,"data",{signal:Y.signal,highWaterMark:cB,highWatermark:cB});return oC({onStdoutChunk:W,controller:Y,binary:Q,shouldEncode:J,encoding:q,shouldSplit:X,preserveNewlines:z})},h9,cB,oC=async function*({onStdoutChunk:Z,controller:Y,binary:Q,shouldEncode:J,encoding:q,shouldSplit:X,preserveNewlines:z}){let W=iC({binary:Q,shouldEncode:J,encoding:q,shouldSplit:X,preserveNewlines:z});try{for await(let[U]of Z)yield*B4(U,W,0)}catch(U){if(!Y.signal.aborted)throw U}finally{yield*U1(W)}},iC=({binary:Z,shouldEncode:Y,encoding:Q,shouldSplit:J,preserveNewlines:q})=>[RY(Z,Q,!Y),GY(Z,q,!J,{})].filter(Boolean);var mY=j(()=>{O9();CY();h9=cC(!0),cB=h9});import{setImmediate as sC}from"node:timers/promises";var nB=async({stream:Z,onStreamEnd:Y,fdNumber:Q,encoding:J,buffer:q,maxBuffer:X,lines:z,allMixed:W,stripFinalNewline:U,verboseInfo:K,streamInfo:B})=>{let $=aC({stream:Z,onStreamEnd:Y,fdNumber:Q,encoding:J,allMixed:W,verboseInfo:K,streamInfo:B});if(!q){await Promise.all([rC(Z),$]);return}let F=$9(U,Q),O=f9({stream:Z,onStreamEnd:Y,lines:z,encoding:J,stripFinalNewline:F,allMixed:W}),[V]=await Promise.all([tC({stream:Z,iterable:O,fdNumber:Q,encoding:J,maxBuffer:X,lines:z}),$]);return V},aC=async({stream:Z,onStreamEnd:Y,fdNumber:Q,encoding:J,allMixed:q,verboseInfo:X,streamInfo:{fileDescriptors:z}})=>{if(!xY({stdioItems:z[Q]?.stdioItems,encoding:J,verboseInfo:X,fdNumber:Q}))return;let W=f9({stream:Z,onStreamEnd:Y,lines:!0,encoding:J,stripFinalNewline:!0,allMixed:q});await hK(W,Z,Q,X)},rC=async(Z)=>{if(await sC(),Z.readableFlowing===null)Z.resume()},tC=async({stream:Z,stream:{readableObjectMode:Y},iterable:Q,fdNumber:J,encoding:q,maxBuffer:X,lines:z})=>{try{if(Y||z)return await $Y(Q,{maxBuffer:X});if(q==="buffer")return new Uint8Array(await FY(Q,{maxBuffer:X}));return await OY(Q,{maxBuffer:X})}catch(W){return oB(AU({error:W,stream:Z,readableObjectMode:Y,lines:z,encoding:q,fdNumber:J}))}},g9=async(Z)=>{try{return await Z}catch(Y){return oB(Y)}},oB=({bufferedData:Z})=>jz(Z)?new Uint8Array(Z):Z;var m9=j(()=>{DY();C6();_9();mY();U4();W1()});import{finished as eC}from"node:stream/promises";var F1=async(Z,Y,Q,{isSameDirection:J,stopOnExit:q=!1}={})=>{let X=ZR(Z,Q),z=new AbortController;try{await Promise.race([...q?[Q.exitPromise]:[],eC(Z,{cleanup:!0,signal:z.signal})])}catch(W){if(!X.stdinCleanedUp)JR(W,Y,Q,J)}finally{z.abort()}},ZR=(Z,{originalStreams:[Y],subprocess:Q})=>{let J={stdinCleanedUp:!1};if(Z===Y)YR(Z,Q,J);return J},YR=(Z,Y,Q)=>{let{_destroy:J}=Z;Z._destroy=(...q)=>{QR(Y,Q),J.call(Z,...q)}},QR=({exitCode:Z,signalCode:Y},Q)=>{if(Z!==null||Y!==null)Q.stdinCleanedUp=!0},JR=(Z,Y,Q,J)=>{if(!qR(Z,Y,Q,J))throw Z},qR=(Z,Y,Q,J=!0)=>{if(Q.propagating)return iB(Z)||pY(Z);return Q.propagating=!0,p9(Q,Y)===J?iB(Z):pY(Z)},p9=({fileDescriptors:Z},Y)=>Y!=="all"&&Z[Y].direction==="input",pY=(Z)=>Z?.code==="ERR_STREAM_PREMATURE_CLOSE",iB=(Z)=>Z?.code==="EPIPE";var uY=()=>{};var sB=({subprocess:Z,encoding:Y,buffer:Q,maxBuffer:J,lines:q,stripFinalNewline:X,verboseInfo:z,streamInfo:W})=>Z.stdio.map((U,K)=>u9({stream:U,fdNumber:K,encoding:Y,buffer:Q[K],maxBuffer:J[K],lines:q[K],allMixed:!1,stripFinalNewline:X,verboseInfo:z,streamInfo:W})),u9=async({stream:Z,fdNumber:Y,encoding:Q,buffer:J,maxBuffer:q,lines:X,allMixed:z,stripFinalNewline:W,verboseInfo:U,streamInfo:K})=>{if(!Z)return;let B=F1(Z,Y,K);if(p9(K,Y)){await B;return}let[$]=await Promise.all([nB({stream:Z,onStreamEnd:B,fdNumber:Y,encoding:Q,buffer:J,maxBuffer:q,lines:X,allMixed:z,stripFinalNewline:W,verboseInfo:U,streamInfo:K}),B]);return $};var d9=j(()=>{m9();uY()});var aB=({stdout:Z,stderr:Y},{all:Q})=>Q&&(Z||Y)?$4([Z,Y].filter(Boolean)):void 0,rB=({subprocess:Z,encoding:Y,buffer:Q,maxBuffer:J,lines:q,stripFinalNewline:X,verboseInfo:z,streamInfo:W})=>u9({...XR(Z,Q),fdNumber:"all",encoding:Y,maxBuffer:J[1]+J[2],lines:q[1]||q[2],allMixed:zR(Z),stripFinalNewline:X,verboseInfo:z,streamInfo:W}),XR=({stdout:Z,stderr:Y,all:Q},[,J,q])=>{let X=J||q;if(!X)return{stream:Q,buffer:X};if(!J)return{stream:Y,buffer:X};if(!q)return{stream:Z,buffer:X};return{stream:Q,buffer:X}},zR=({all:Z,stdout:Y,stderr:Q})=>Z&&Y&&Q&&Y.readableObjectMode!==Q.readableObjectMode;var c9=j(()=>{vY();d9()});var tB=(Z)=>c4(Z,"ipc"),eB=(Z,Y)=>{let Q=x7(Z);e6({type:"ipc",verboseMessage:Q,fdNumber:"ipc",verboseInfo:Y})};var Z$=j(()=>{l4();S8()});var Y$=async({subprocess:Z,buffer:Y,maxBuffer:Q,ipc:J,ipcOutput:q,verboseInfo:X})=>{if(!J)return q;let z=tB(X),W=O8(Y,"ipc"),U=O8(Q,"ipc");for await(let K of A9({anyProcess:Z,channel:Z.channel,isSubprocess:!1,ipc:J,shouldAwait:!1,reference:!0})){if(W)GU(Z,q,U),q.push(K);if(z)eB(K,X)}return q},Q$=async(Z,Y)=>{return await Promise.allSettled([Z]),Y};var J$=j(()=>{U4();Z$();D8();G9()});import{once as HR}from"node:events";var q$=async({subprocess:Z,options:{encoding:Y,buffer:Q,maxBuffer:J,lines:q,timeoutDuration:X,cancelSignal:z,gracefulCancel:W,forceKillAfterDelay:U,stripFinalNewline:K,ipc:B,ipcInput:$},context:F,verboseInfo:O,fileDescriptors:V,originalStreams:D,onInternalError:_,controller:N})=>{let w=lK(Z,F),G={originalStreams:D,fileDescriptors:V,subprocess:Z,exitPromise:w,propagating:!1},I=sB({subprocess:Z,encoding:Y,buffer:Q,maxBuffer:J,lines:q,stripFinalNewline:K,verboseInfo:O,streamInfo:G}),A=rB({subprocess:Z,encoding:Y,buffer:Q,maxBuffer:J,lines:q,stripFinalNewline:K,verboseInfo:O,streamInfo:G}),x=[],T=Y$({subprocess:Z,buffer:Q,maxBuffer:J,ipc:B,ipcOutput:x,verboseInfo:O}),S=WR(D,Z,G),y=UR(V,G);try{return await Promise.race([Promise.all([{},oK(w),Promise.all(I),A,T,sW(Z,$),...S,...y]),_,KR(Z,N),...cW(Z,X,F,N),...KW({subprocess:Z,cancelSignal:z,gracefulCancel:W,context:F,controller:N}),...uW({subprocess:Z,cancelSignal:z,gracefulCancel:W,forceKillAfterDelay:U,context:F,controller:N})])}catch(g){return F.terminationReason??="other",Promise.all([{error:g},w,Promise.all(I.map((P)=>g9(P))),g9(A),Q$(T,x),Promise.allSettled(S),Promise.allSettled(y)])}},WR=(Z,Y,Q)=>Z.map((J,q)=>J===Y.stdio[q]?void 0:F1(J,q,Q)),UR=(Z,Y)=>Z.flatMap(({stdioItems:Q},J)=>Q.filter(({value:q,stream:X=q})=>s6(X,{checkOpen:!1})&&!o6(X)).map(({type:q,value:X,stream:z=X})=>F1(z,J,Y,{isSameDirection:p6.has(q),stopOnExit:q==="native"}))),KR=async(Z,{signal:Y})=>{let[Q]=await HR(Z,"error",{signal:Y});throw Q};var X$=j(()=>{d2();v2();u2();V8();_6();m9();J$();l2();c9();d9();L9();uY()});var z$=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),V1=(Z,Y,Q)=>{let J=Z[Q];if(!J.has(Y))J.set(Y,[]);let q=J.get(Y),X=Y8();return q.push(X),{resolve:X.resolve.bind(X),promises:q}},qZ=async({resolve:Z,promises:Y},Q)=>{Z();let[J]=await Promise.race([Promise.allSettled([!0,Q]),Promise.all([!1,...Y])]);return!J};var dY=()=>{};import{finished as H$}from"node:stream/promises";var l9=async(Z)=>{if(Z===void 0)return;try{await n9(Z)}catch{}},W$=async(Z)=>{if(Z===void 0)return;try{await o9(Z)}catch{}},n9=async(Z)=>{await H$(Z,{cleanup:!0,readable:!1,writable:!0})},o9=async(Z)=>{await H$(Z,{cleanup:!0,readable:!0,writable:!1})},cY=async(Z,Y)=>{if(await Z,Y)throw Y},lY=(Z,Y,Q)=>{if(Q&&!pY(Q))Z.destroy(Q);else if(Y)Z.destroy()};var i9=j(()=>{uY()});import{Readable as BR}from"node:stream";import{callbackify as $R}from"node:util";var U$=({subprocess:Z,concurrentStreams:Y,encoding:Q},{from:J,binary:q=!0,preserveNewlines:X=!0}={})=>{let z=q||R6.has(Q),{subprocessStdout:W,waitReadableDestroy:U}=s9(Z,J,Y),{readableEncoding:K,readableObjectMode:B,readableHighWaterMark:$}=a9(W,z),{read:F,onStdoutDataDone:O}=r9({subprocessStdout:W,subprocess:Z,binary:z,encoding:Q,preserveNewlines:X}),V=new BR({read:F,destroy:$R(e9.bind(void 0,{subprocessStdout:W,subprocess:Z,waitReadableDestroy:U})),highWaterMark:$,objectMode:B,encoding:K});return t9({subprocessStdout:W,onStdoutDataDone:O,readable:V,subprocess:Z}),V},s9=(Z,Y,Q)=>{let J=r4(Z,Y),q=V1(Q,J,"readableDestroy");return{subprocessStdout:J,waitReadableDestroy:q}},a9=({readableEncoding:Z,readableObjectMode:Y,readableHighWaterMark:Q},J)=>J?{readableEncoding:Z,readableObjectMode:Y,readableHighWaterMark:Q}:{readableEncoding:Z,readableObjectMode:!0,readableHighWaterMark:h9},r9=({subprocessStdout:Z,subprocess:Y,binary:Q,encoding:J,preserveNewlines:q})=>{let X=Y8(),z=gY({subprocessStdout:Z,subprocess:Y,binary:Q,shouldEncode:!Q,encoding:J,preserveNewlines:q});return{read(){FR(this,z,X)},onStdoutDataDone:X}},FR=async(Z,Y,Q)=>{try{let{value:J,done:q}=await Y.next();if(q)Q.resolve();else Z.push(J)}catch{}},t9=async({subprocessStdout:Z,onStdoutDataDone:Y,readable:Q,subprocess:J,subprocessStdin:q})=>{try{if(await o9(Z),await J,await l9(q),await Y,Q.readable)Q.push(null)}catch(X){await l9(q),K$(Q,X)}},e9=async({subprocessStdout:Z,subprocess:Y,waitReadableDestroy:Q},J)=>{if(await qZ(Q,Y))K$(Z,J),await cY(Y,J)},K$=(Z,Y)=>{lY(Z,Z.readable,Y)};var ZJ=j(()=>{H4();h8();mY();dY();i9()});import{Writable as VR}from"node:stream";import{callbackify as B$}from"node:util";var $$=({subprocess:Z,concurrentStreams:Y},{to:Q}={})=>{let{subprocessStdin:J,waitWritableFinal:q,waitWritableDestroy:X}=YJ(Z,Q,Y),z=new VR({...QJ(J,Z,q),destroy:B$(qJ.bind(void 0,{subprocessStdin:J,subprocess:Z,waitWritableFinal:q,waitWritableDestroy:X})),highWaterMark:J.writableHighWaterMark,objectMode:J.writableObjectMode});return JJ(J,z),z},YJ=(Z,Y,Q)=>{let J=l7(Z,Y),q=V1(Q,J,"writableFinal"),X=V1(Q,J,"writableDestroy");return{subprocessStdin:J,waitWritableFinal:q,waitWritableDestroy:X}},QJ=(Z,Y,Q)=>({write:OR.bind(void 0,Z),final:B$(DR.bind(void 0,Z,Y,Q))}),OR=(Z,Y,Q,J)=>{if(Z.write(Y,Q))J();else Z.once("drain",J)},DR=async(Z,Y,Q)=>{if(await qZ(Q,Y)){if(Z.writable)Z.end();await Y}},JJ=async(Z,Y,Q)=>{try{if(await n9(Z),Y.writable)Y.end()}catch(J){await W$(Q),F$(Y,J)}},qJ=async({subprocessStdin:Z,subprocess:Y,waitWritableFinal:Q,waitWritableDestroy:J},q)=>{if(await qZ(Q,Y),await qZ(J,Y))F$(Z,q),await cY(Y,q)},F$=(Z,Y)=>{lY(Z,Z.writable,Y)};var XJ=j(()=>{h8();dY();i9()});import{Duplex as MR}from"node:stream";import{callbackify as jR}from"node:util";var V$=({subprocess:Z,concurrentStreams:Y,encoding:Q},{from:J,to:q,binary:X=!0,preserveNewlines:z=!0}={})=>{let W=X||R6.has(Q),{subprocessStdout:U,waitReadableDestroy:K}=s9(Z,J,Y),{subprocessStdin:B,waitWritableFinal:$,waitWritableDestroy:F}=YJ(Z,q,Y),{readableEncoding:O,readableObjectMode:V,readableHighWaterMark:D}=a9(U,W),{read:_,onStdoutDataDone:N}=r9({subprocessStdout:U,subprocess:Z,binary:W,encoding:Q,preserveNewlines:z}),w=new MR({read:_,...QJ(B,Z,$),destroy:jR(_R.bind(void 0,{subprocessStdout:U,subprocessStdin:B,subprocess:Z,waitReadableDestroy:K,waitWritableFinal:$,waitWritableDestroy:F})),readableHighWaterMark:D,writableHighWaterMark:B.writableHighWaterMark,readableObjectMode:V,writableObjectMode:B.writableObjectMode,encoding:O});return t9({subprocessStdout:U,onStdoutDataDone:N,readable:w,subprocess:Z,subprocessStdin:B}),JJ(B,w,U),w},_R=async({subprocessStdout:Z,subprocessStdin:Y,subprocess:Q,waitReadableDestroy:J,waitWritableFinal:q,waitWritableDestroy:X},z)=>{await Promise.all([e9({subprocessStdout:Z,subprocess:Q,waitReadableDestroy:J},z),qJ({subprocessStdin:Y,subprocess:Q,waitWritableFinal:q,waitWritableDestroy:X},z)])};var O$=j(()=>{H4();ZJ();XJ()});var zJ=(Z,Y,{from:Q,binary:J=!1,preserveNewlines:q=!1}={})=>{let X=J||R6.has(Y),z=r4(Z,Q),W=gY({subprocessStdout:z,subprocess:Z,binary:X,shouldEncode:!0,encoding:Y,preserveNewlines:q});return NR(W,z,Z)},NR=async function*(Z,Y,Q){try{yield*Z}finally{if(Y.readable)Y.destroy();await Q}};var D$=j(()=>{H4();h8();mY()});var M$=(Z,{encoding:Y})=>{let Q=z$();Z.readable=U$.bind(void 0,{subprocess:Z,concurrentStreams:Q,encoding:Y}),Z.writable=$$.bind(void 0,{subprocess:Z,concurrentStreams:Q}),Z.duplex=V$.bind(void 0,{subprocess:Z,concurrentStreams:Q,encoding:Y}),Z.iterable=zJ.bind(void 0,Z,Y),Z[Symbol.asyncIterator]=zJ.bind(void 0,Z,Y,{})};var j$=j(()=>{dY();ZJ();XJ();O$();D$()});var _$=(Z,Y)=>{for(let[Q,J]of LR){let q=J.value.bind(Y);Reflect.defineProperty(Z,Q,{...J,value:q})}},IR,LR;var N$=j(()=>{IR=(async()=>{})().constructor.prototype,LR=["then","catch","finally"].map((Z)=>[Z,Reflect.getOwnPropertyDescriptor(IR,Z)])});import{setMaxListeners as wR}from"node:events";import{spawn as AR}from"node:child_process";var I$=(Z,Y,Q,J)=>{let{file:q,commandArguments:X,command:z,escapedCommand:W,startTime:U,verboseInfo:K,options:B,fileDescriptors:$}=GR(Z,Y,Q),{subprocess:F,promise:O}=RR({file:q,commandArguments:X,options:B,startTime:U,verboseInfo:K,command:z,escapedCommand:W,fileDescriptors:$});return F.pipe=hY.bind(void 0,{source:F,sourcePromise:O,boundOptions:{},createNested:J}),_$(F,O),Q8.set(F,{options:B,fileDescriptors:$}),F},GR=(Z,Y,Q)=>{let{command:J,escapedCommand:q,startTime:X,verboseInfo:z}=v7(Z,Y,Q),{file:W,commandArguments:U,options:K}=HY(Z,Y,Q),B=CR(K),$=$B(B,z);return{file:W,commandArguments:U,command:J,escapedCommand:q,startTime:X,verboseInfo:z,options:B,fileDescriptors:$}},CR=({timeout:Z,signal:Y,...Q})=>{if(Y!==void 0)throw TypeError('The "signal" option has been renamed to "cancelSignal" instead.');return{...Q,timeoutDuration:Z}},RR=({file:Z,commandArguments:Y,options:Q,startTime:J,verboseInfo:q,command:X,escapedCommand:z,fileDescriptors:W})=>{let U;try{U=AR(...WY(Z,Y,Q))}catch(V){return HB({error:V,command:X,escapedCommand:z,fileDescriptors:W,options:Q,startTime:J,verboseInfo:q})}let K=new AbortController;wR(Number.POSITIVE_INFINITY,K.signal);let B=[...U.stdio];wB(U,W,K),xB(U,Q,K);let $={},F=Y8();U.kill=WW.bind(void 0,{kill:U.kill.bind(U),options:Q,onInternalError:F,context:$,controller:K}),U.all=aB(U,Q),M$(U,Q),qB(U,Q);let O=TR({subprocess:U,options:Q,startTime:J,verboseInfo:q,fileDescriptors:W,originalStreams:B,command:X,escapedCommand:z,context:$,onInternalError:F,controller:K});return{subprocess:U,promise:O}},TR=async({subprocess:Z,options:Y,startTime:Q,verboseInfo:J,fileDescriptors:q,originalStreams:X,command:z,escapedCommand:W,context:U,onInternalError:K,controller:B})=>{let[$,[F,O],V,D,_]=await q$({subprocess:Z,options:Y,context:U,verboseInfo:J,fileDescriptors:q,originalStreams:X,onInternalError:K,controller:B});B.abort(),K.resolve();let N=V.map((I,A)=>_8(I,Y,A)),w=_8(D,Y,"all"),G=kR({errorInfo:$,exitCode:F,signal:O,stdio:N,all:w,ipcOutput:_,context:U,options:Y,command:z,escapedCommand:W,startTime:Q});return YZ(G,J,Y)},kR=({errorInfo:Z,exitCode:Y,signal:Q,stdio:J,all:q,ipcOutput:X,context:z,options:W,command:U,escapedCommand:K,startTime:B})=>("error"in Z)?z1({error:Z.error,command:U,escapedCommand:K,timedOut:z.terminationReason==="timeout",isCanceled:z.terminationReason==="cancel"||z.terminationReason==="gracefulCancel",isGracefullyCanceled:z.terminationReason==="gracefulCancel",isMaxBuffer:Z.error instanceof M8,isForcefullyTerminated:z.isForcefullyTerminated,exitCode:Y,signal:Q,stdio:J,all:q,ipcOutput:X,options:W,startTime:B,isSync:!1}):jY({command:U,escapedCommand:K,stdio:J,all:q,ipcOutput:X,options:W,startTime:B});var L$=j(()=>{DY();_2();i2();h8();C9();H1();_Y();WB();FB();W1();AB();p7();PB();dB();c9();X$();j$();N$()});var nY=(Z,Y)=>{let Q=Object.fromEntries(Object.entries(Y).map(([J,q])=>[J,ER(J,Z[J],q)]));return{...Z,...Q}},ER=(Z,Y,Q)=>{if(xR.has(Z)&&l0(Y)&&l0(Q))return{...Y,...Q};return Q},xR;var w$=j(()=>{D8();xR=new Set(["env",...O2])});var p8=(Z,Y,Q,J)=>{let q=(z,W,U)=>p8(z,W,Q,U),X=(...z)=>PR({mapArguments:Z,deepOptions:Q,boundOptions:Y,setBoundExeca:J,createNested:q},...z);if(J!==void 0)J(X,q,Y);return X},PR=({mapArguments:Z,deepOptions:Y={},boundOptions:Q={},setBoundExeca:J,createNested:q},X,...z)=>{if(l0(X))return q(Z,nY(Q,X),J);let{file:W,commandArguments:U,options:K,isSync:B}=bR({mapArguments:Z,firstArgument:X,nextArguments:z,deepOptions:Y,boundOptions:Q});return B?aK(W,U,K):I$(W,U,K,q)},bR=({mapArguments:Z,firstArgument:Y,nextArguments:Q,deepOptions:J,boundOptions:q})=>{let X=Az(Y)?Gz(Y,Q):[Y,...Q],[z,W,U]=I7(...X),K=nY(nY(J,q),U),{file:B=z,commandArguments:$=W,options:F=K,isSync:O=!1}=Z({file:z,commandArguments:W,options:K});return{file:B,commandArguments:$,options:F,isSync:O}};var A$=j(()=>{K2();Cz();rK();L$();w$()});var G$=({file:Z,commandArguments:Y})=>R$(Z,Y),C$=({file:Z,commandArguments:Y})=>({...R$(Z,Y),isSync:!0}),R$=(Z,Y)=>{if(Y.length>0)throw TypeError(`The command and its arguments must be passed as a single string: ${Z} ${Y}.`);let[Q,...J]=vR(Z);return{file:Q,commandArguments:J}},vR=(Z)=>{if(typeof Z!=="string")throw TypeError(`The command must be a string: ${String(Z)}.`);let Y=Z.trim();if(Y==="")return[];let Q=[];for(let J of Y.split(SR)){let q=Q.at(-1);if(q&&q.endsWith("\\"))Q[Q.length-1]=`${q.slice(0,-1)} ${J}`;else Q.push(J)}return Q},SR;var T$=j(()=>{SR=/ +/g});var k$=(Z,Y,Q)=>{Z.sync=Y(yR,Q),Z.s=Z.sync},E$=({options:Z})=>x$(Z),yR=({options:Z})=>({...x$(Z),isSync:!0}),x$=(Z)=>({options:{...fR(Z),...Z}}),fR=({input:Z,inputFile:Y,stdio:Q})=>Z===void 0&&Y===void 0&&Q===void 0?{stdin:"inherit"}:{},P$;var b$=j(()=>{P$={preferLocal:!0}});var q8,ni,oi,ii,si,ai,ri,ti,ei,Zs;var oY=j(()=>{A$();T$();c2();b$();C9();y8();q8=p8(()=>({})),ni=p8(()=>({isSync:!0})),oi=p8(G$),ii=p8(C$),si=p8(nW),ai=p8(E$,{},P$,k$),{sendMessage:ri,getOneMessage:ti,getEachMessage:ei,getCancelSignal:Zs}=XB()});function hR(Z,Y){let Q=Z.slice(0,Y).split(/\r\n|\n|\r/g);return[Q.length,Q.pop().length+1]}function gR(Z,Y,Q){let J=Z.split(/\r\n|\n|\r/g),q="",X=(Math.log10(Y+1)|0)+1;for(let z=Y-1;z<=Y+1;z++){let W=J[z-1];if(!W)continue;if(q+=z.toString().padEnd(X," "),q+=": ",q+=W,q+=`
84
+ if (condition) { yield value; }`)};var gK=N(()=>{R6()});import{Buffer as NG}from"node:buffer";import{StringDecoder as IG}from"node:string_decoder";var EY=(Z,Y,Q)=>{if(Q)return;if(Z)return{transform:LG.bind(void 0,new TextEncoder)};let J=new IG(Y);return{transform:wG.bind(void 0,J),final:AG.bind(void 0,J)}},LG=function*(Z,Y){if(NG.isBuffer(Y))yield V4(Y);else if(typeof Y==="string")yield Z.encode(Y);else yield Y},wG=function*(Z,Y){yield t0(Y)?Z.write(Y):Y},AG=function*(Z){let Y=Z.end();if(Y!=="")yield Y};var L9=N(()=>{R6()});import{callbackify as mK}from"node:util";var w9,PY=async function*(Z,Y,Q){if(Q===Y.length){yield Z;return}let{transform:J=CG}=Y[Q];for await(let q of J(Z))yield*PY(q,Y,Q+1)},pK=async function*(Z){for(let[Y,{final:Q}]of Object.entries(Z))yield*GG(Q,Number(Y),Z)},GG=async function*(Z,Y,Q){if(Z===void 0)return;for await(let J of Z())yield*PY(J,Q,Y+1)},uK,CG=function*(Z){yield Z};var dK=N(()=>{w9=mK(async(Z,Y,Q,J)=>{Y.currentIterable=Z(...Q);try{for await(let q of Y.currentIterable)J.push(q)}finally{delete Y.currentIterable}}),uK=mK(async({currentIterable:Z},Y)=>{if(Z!==void 0){await(Y?Z.throw(Y):Z.return());return}if(Y)throw Y})});var A9=(Z,Y,Q,J)=>{try{for(let q of Z(...Y))Q.push(q);J()}catch(q){J(q)}},cK=(Z,Y)=>[...Y.flatMap((Q)=>[...V8(Q,Z,0)]),...B1(Z)],V8=function*(Z,Y,Q){if(Q===Y.length){yield Z;return}let{transform:J=TG}=Y[Q];for(let q of J(Z))yield*V8(q,Y,Q+1)},B1=function*(Z){for(let[Y,{final:Q}]of Object.entries(Z))yield*RG(Q,Number(Y),Z)},RG=function*(Z,Y,Q){if(Z===void 0)return;for(let J of Z())yield*V8(J,Q,Y+1)},TG=function*(Z){yield Z};import{Transform as kG,getDefaultHighWaterMark as lK}from"node:stream";var G9=({value:Z,value:{transform:Y,final:Q,writableObjectMode:J,readableObjectMode:q},optionName:X},{encoding:z})=>{let W={},U=nK(Z,z,X),K=F8(Y),B=F8(Q),$=K?w9.bind(void 0,PY,W):A9.bind(void 0,V8),V=K||B?w9.bind(void 0,pK,W):A9.bind(void 0,B1),D=K||B?uK.bind(void 0,W):void 0;return{stream:new kG({writableObjectMode:J,writableHighWaterMark:lK(J),readableObjectMode:q,readableHighWaterMark:lK(q),transform(O,j,_){$([O,U,0],this,_)},flush(O){V([U],this,O)},destroy:D})}},xY=(Z,Y,Q,J)=>{let q=Y.filter(({type:z})=>z==="generator"),X=J?q.reverse():q;for(let{value:z,optionName:W}of X){let U=nK(z,Q,W);Z=cK(U,Z)}return Z},nK=({transform:Z,final:Y,binary:Q,writableObjectMode:J,readableObjectMode:q,preserveNewlines:X},z,W)=>{let U={};return[{transform:yK(J,W)},EY(Q,z,J),TY(Q,X,J,U),{transform:Z,final:Y},{transform:fK(q,W)},SK({binary:Q,preserveNewlines:X,readableObjectMode:q,state:U})].filter(Boolean)};var bY=N(()=>{N6();kY();gK();L9();dK()});var oK=(Z,Y)=>{for(let Q of EG(Z))PG(Z,Q,Y)},EG=(Z)=>new Set(Object.entries(Z).filter(([,{direction:Y}])=>Y==="input").map(([Y])=>Number(Y))),PG=(Z,Y,Q)=>{let{stdioItems:J}=Z[Y],q=J.filter(({contents:W})=>W!==void 0);if(q.length===0)return;if(Y!==0){let[{type:W,optionName:U}]=q;throw TypeError(`Only the \`stdin\` option, not \`${U}\`, can be ${u4[W]} with synchronous methods.`)}let z=q.map(({contents:W})=>W).map((W)=>xG(W,J));Q.input=rZ(z)},xG=(Z,Y)=>{let Q=xY(Z,Y,"utf8",!0);return bG(Q),rZ(Q)},bG=(Z)=>{let Y=Z.find((Q)=>typeof Q!=="string"&&!t0(Q));if(Y!==void 0)throw TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${Y}.`)};var iK=N(()=>{bY();R6();N6()});var vY=({stdioItems:Z,encoding:Y,verboseInfo:Q,fdNumber:J})=>J!=="all"&&o8(Q,J)&&!T6.has(Y)&&vG(J)&&(Z.some(({type:q,value:X})=>q==="native"&&SG.has(X))||Z.every(({type:q})=>u6.has(q))),vG=(Z)=>Z===1||Z===2,SG,sK=async(Z,Y,Q,J)=>{for await(let q of Z)if(!yG(Y))rK(q,Q,J)},aK=(Z,Y,Q)=>{for(let J of Z)rK(J,Y,Q)},yG=(Z)=>Z._readableState.pipes.length>0,rK=(Z,Y,Q)=>{let J=v7(Z);Y4({type:"output",verboseMessage:J,fdNumber:Y,verboseInfo:Q})};var C9=N(()=>{K8();N6();i8();f4();SG=new Set(["pipe","overlapped"])});import{writeFileSync as fG,appendFileSync as hG}from"node:fs";var tK=({fileDescriptors:Z,syncResult:{output:Y},options:Q,isMaxBuffer:J,verboseInfo:q})=>{if(Y===null)return{output:Array.from({length:3})};let X={},z=new Set([]);return{output:Y.map((U,K)=>gG({result:U,fileDescriptors:Z,fdNumber:K,state:X,outputFiles:z,isMaxBuffer:J,verboseInfo:q},Q)),...X}},gG=({result:Z,fileDescriptors:Y,fdNumber:Q,state:J,outputFiles:q,isMaxBuffer:X,verboseInfo:z},{buffer:W,encoding:U,lines:K,stripFinalNewline:B,maxBuffer:$})=>{if(Z===null)return;let V=gU(Z,X,$),D=V4(V),{stdioItems:F,objectMode:O}=Y[Q],j=mG([D],F,U,J),{serializedResult:_,finalResult:L=_}=pG({chunks:j,objectMode:O,encoding:U,lines:K,stripFinalNewline:B,fdNumber:Q});uG({serializedResult:_,fdNumber:Q,state:J,verboseInfo:z,encoding:U,stdioItems:F,objectMode:O});let A=W[Q]?L:void 0;try{if(J.error===void 0)dG(_,F,q);return A}catch(I){return J.error=I,A}},mG=(Z,Y,Q,J)=>{try{return xY(Z,Y,Q,!1)}catch(q){return J.error=q,Z}},pG=({chunks:Z,objectMode:Y,encoding:Q,lines:J,stripFinalNewline:q,fdNumber:X})=>{if(Y)return{serializedResult:Z};if(Q==="buffer")return{serializedResult:rZ(Z)};let z=Pz(Z,Q);if(J[X])return{serializedResult:z,finalResult:I9(z,!q[X],Y)};return{serializedResult:z}},uG=({serializedResult:Z,fdNumber:Y,state:Q,verboseInfo:J,encoding:q,stdioItems:X,objectMode:z})=>{if(!vY({stdioItems:X,encoding:q,verboseInfo:J,fdNumber:Y}))return;let W=I9(Z,!1,z);try{aK(W,Y,J)}catch(U){Q.error??=U}},dG=(Z,Y,Q)=>{for(let{path:J,append:q}of Y.filter(({type:X})=>GY.has(X))){let X=typeof J==="string"?J:J.toString();if(q||Q.has(X))hG(J,Z);else Q.add(X),fG(J,Z)}};var eK=N(()=>{C9();bY();kY();R6();N6();$8()});var ZB=([,Z,Y],Q)=>{if(!Q.all)return;if(Z===void 0)return Y;if(Y===void 0)return Z;if(Array.isArray(Z))return Array.isArray(Y)?[...Z,...Y]:[...Z,N4(Y,Q,"all")];if(Array.isArray(Y))return[N4(Z,Q,"all"),...Y];if(t0(Z)&&t0(Y))return j2([Z,Y]);return`${Z}${Y}`};var YB=N(()=>{R6();K1()});import{once as R9}from"node:events";var QB=async(Z,Y)=>{let[Q,J]=await cG(Z);return Y.isForcefullyTerminated??=!1,[Q,J]},cG=async(Z)=>{let[Y,Q]=await Promise.allSettled([R9(Z,"spawn"),R9(Z,"exit")]);if(Y.status==="rejected")return[];return Q.status==="rejected"?JB(Z):Q.value},JB=async(Z)=>{try{return await R9(Z,"exit")}catch{return JB(Z)}},qB=async(Z)=>{let[Y,Q]=await Z;if(!lG(Y,Q)&&T9(Y,Q))throw new Q4;return[Y,Q]},lG=(Z,Y)=>Z===void 0&&Y===void 0,T9=(Z,Y)=>Z!==0||Y!==null;var k9=N(()=>{h4()});var XB=({error:Z,status:Y,signal:Q,output:J},{maxBuffer:q})=>{let X=nG(Z,Y,Q),z=X?.code==="ETIMEDOUT",W=hU(X,J,q);return{resultError:X,exitCode:Y,signal:Q,timedOut:z,isMaxBuffer:W}},nG=(Z,Y,Q)=>{if(Z!==void 0)return Z;return T9(Y,Q)?new Q4:void 0};var zB=N(()=>{h4();$8();k9()});import{spawnSync as oG}from"node:child_process";var HB=(Z,Y,Q)=>{let{file:J,commandArguments:q,command:X,escapedCommand:z,startTime:W,verboseInfo:U,options:K,fileDescriptors:B}=iG(Z,Y,Q),$=rG({file:J,commandArguments:q,options:K,command:X,escapedCommand:z,verboseInfo:U,fileDescriptors:B,startTime:W});return qZ($,U,K)},iG=(Z,Y,Q)=>{let{command:J,escapedCommand:q,startTime:X,verboseInfo:z}=f7(Z,Y,Q),W=sG(Q),{file:U,commandArguments:K,options:B}=KY(Z,Y,W);aG(B);let $=EK(B,z);return{file:U,commandArguments:K,command:J,escapedCommand:q,startTime:X,verboseInfo:z,options:B,fileDescriptors:$}},sG=(Z)=>Z.node&&!Z.ipc?{...Z,ipc:!1}:Z,aG=({ipc:Z,ipcInput:Y,detached:Q,cancelSignal:J})=>{if(Y)SY("ipcInput");if(Z)SY("ipc: true");if(Q)SY("detached: true");if(J)SY("cancelSignal")},SY=(Z)=>{throw TypeError(`The "${Z}" option cannot be used with synchronous methods.`)},rG=({file:Z,commandArguments:Y,options:Q,command:J,escapedCommand:q,verboseInfo:X,fileDescriptors:z,startTime:W})=>{let U=tG({file:Z,commandArguments:Y,options:Q,command:J,escapedCommand:q,fileDescriptors:z,startTime:W});if(U.failed)return U;let{resultError:K,exitCode:B,signal:$,timedOut:V,isMaxBuffer:D}=XB(U,Q),{output:F,error:O=K}=tK({fileDescriptors:z,syncResult:U,options:Q,isMaxBuffer:D,verboseInfo:X}),j=F.map((L,A)=>N4(L,Q,A)),_=N4(ZB(F,Q),Q,"all");return ZC({error:O,exitCode:B,signal:$,timedOut:V,isMaxBuffer:D,stdio:j,all:_,options:Q,command:J,escapedCommand:q,startTime:W})},tG=({file:Z,commandArguments:Y,options:Q,command:J,escapedCommand:q,fileDescriptors:X,startTime:z})=>{try{oK(X,Q);let W=eG(Q);return oG(...BY(Z,Y,W))}catch(W){return JZ({error:W,command:J,escapedCommand:q,fileDescriptors:X,options:Q,startTime:z,isSync:!0})}},eG=({encoding:Z,maxBuffer:Y,...Q})=>({...Q,encoding:"buffer",maxBuffer:NY(Y)}),ZC=({error:Z,exitCode:Y,signal:Q,timedOut:J,isMaxBuffer:q,stdio:X,all:z,options:W,command:U,escapedCommand:K,startTime:B})=>Z===void 0?IY({command:U,escapedCommand:K,stdio:X,all:z,ipcOutput:[],options:W,startTime:B}):W1({error:Z,command:U,escapedCommand:K,timedOut:J,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:q,isForcefullyTerminated:!1,exitCode:Y,signal:Q,stdio:X,all:z,ipcOutput:[],options:W,startTime:B,isSync:!0});var WB=N(()=>{C2();Y9();U1();LY();xK();K1();iK();eK();$8();YB();zB()});import{once as E9,on as YC}from"node:events";var UB=({anyProcess:Z,channel:Y,isSubprocess:Q,ipc:J},{reference:q=!0,filter:X}={})=>{return r8({methodName:"getOneMessage",isSubprocess:Q,ipc:J,isConnected:JY(Z)}),QC({anyProcess:Z,channel:Y,isSubprocess:Q,filter:X,reference:q})},QC=async({anyProcess:Z,channel:Y,isSubprocess:Q,filter:J,reference:q})=>{a7(Y,q);let X=p4(Z,Y,Q),z=new AbortController;try{return await Promise.race([JC(X,J,z),qC(X,Q,z),XC(X,Q,z)])}catch(W){throw t8(Z),W}finally{z.abort(),r7(Y,q)}},JC=async(Z,Y,{signal:Q})=>{if(Y===void 0){let[J]=await E9(Z,"message",{signal:Q});return J}for await(let[J]of YC(Z,"message",{signal:Q}))if(Y(J))return J},qC=async(Z,Y,{signal:Q})=>{await E9(Z,"disconnect",{signal:Q}),LW(Y)},XC=async(Z,Y,{signal:Q})=>{let[J]=await E9(Z,"strict:error",{signal:Q});throw n7(J,Y)};var KB=N(()=>{e8();J1()});import{once as $B,on as zC}from"node:events";var FB=({anyProcess:Z,channel:Y,isSubprocess:Q,ipc:J},{reference:q=!0}={})=>P9({anyProcess:Z,channel:Y,isSubprocess:Q,ipc:J,shouldAwait:!Q,reference:q}),P9=({anyProcess:Z,channel:Y,isSubprocess:Q,ipc:J,shouldAwait:q,reference:X})=>{r8({methodName:"getEachMessage",isSubprocess:Q,ipc:J,isConnected:JY(Z)}),a7(Y,X);let z=p4(Z,Y,Q),W=new AbortController,U={};return HC(Z,z,W),WC({ipcEmitter:z,isSubprocess:Q,controller:W,state:U}),UC({anyProcess:Z,channel:Y,ipcEmitter:z,isSubprocess:Q,shouldAwait:q,controller:W,state:U,reference:X})},HC=async(Z,Y,Q)=>{try{await $B(Y,"disconnect",{signal:Q.signal}),Q.abort()}catch{}},WC=async({ipcEmitter:Z,isSubprocess:Y,controller:Q,state:J})=>{try{let[q]=await $B(Z,"strict:error",{signal:Q.signal});J.error=n7(q,Y),Q.abort()}catch{}},UC=async function*({anyProcess:Z,channel:Y,ipcEmitter:Q,isSubprocess:J,shouldAwait:q,controller:X,state:z,reference:W}){try{for await(let[U]of zC(Q,"message",{signal:X.signal}))BB(z),yield U}catch{BB(z)}finally{if(X.abort(),r7(Y,W),!J)t8(Z);if(q)await Z}},BB=({error:Z})=>{if(Z)throw Z};var x9=N(()=>{e8();J1()});import VB from"node:process";var OB=(Z,{ipc:Y})=>{Object.assign(Z,MB(Z,!1,Y))},DB=()=>{let Z=VB,Y=!0,Q=VB.channel!==void 0;return{...MB(Z,!0,Q),getCancelSignal:aW.bind(void 0,{anyProcess:Z,channel:Z.channel,isSubprocess:!0,ipc:Q})}},MB=(Z,Y,Q)=>({sendMessage:HY.bind(void 0,{anyProcess:Z,channel:Z.channel,isSubprocess:Y,ipc:Q}),getOneMessage:UB.bind(void 0,{anyProcess:Z,channel:Z.channel,isSubprocess:Y,ipc:Q}),getEachMessage:FB.bind(void 0,{anyProcess:Z,channel:Z.channel,isSubprocess:Y,ipc:Q})});var b9=N(()=>{WY();KB();x9();YY()});import{ChildProcess as KC}from"node:child_process";import{PassThrough as BC,Readable as $C,Writable as FC,Duplex as VC}from"node:stream";var jB=({error:Z,command:Y,escapedCommand:Q,fileDescriptors:J,options:q,startTime:X,verboseInfo:z})=>{j9(J);let W=new KC;OC(W,J),Object.assign(W,{readable:DC,writable:MC,duplex:jC});let U=JZ({error:Z,command:Y,escapedCommand:Q,fileDescriptors:J,options:q,startTime:X,isSync:!1}),K=_C(U,z,q);return{subprocess:W,promise:K}},OC=(Z,Y)=>{let Q=$1(),J=$1(),q=$1(),X=Array.from({length:Y.length-3},$1),z=$1(),W=[Q,J,q,...X];Object.assign(Z,{stdin:Q,stdout:J,stderr:q,all:z,stdio:W})},$1=()=>{let Z=new BC;return Z.end(),Z},DC=()=>new $C({read(){}}),MC=()=>new FC({write(){}}),jC=()=>new VC({read(){},write(){}}),_C=async(Z,Y,Q)=>qZ(Z,Y,Q);var _B=N(()=>{RY();U1();LY()});import{createReadStream as NB,createWriteStream as IB}from"node:fs";import{Buffer as NC}from"node:buffer";import{Readable as F1,Writable as IC,Duplex as LC}from"node:stream";var wB=(Z,Y)=>CY(wC,Z,Y,!1),V1=({type:Z,optionName:Y})=>{throw TypeError(`The \`${Y}\` option cannot be ${u4[Z]}.`)},LB,wC;var AB=N(()=>{bY();RY();N6();LB={fileNumber:V1,generator:G9,asyncGenerator:G9,nodeStream:({value:Z})=>({stream:Z}),webTransform({value:{transform:Z,writableObjectMode:Y,readableObjectMode:Q}}){let J=Y||Q;return{stream:LC.fromWeb(Z,{objectMode:J})}},duplex:({value:{transform:Z}})=>({stream:Z}),native(){}},wC={input:{...LB,fileUrl:({value:Z})=>({stream:NB(Z)}),filePath:({value:{file:Z}})=>({stream:NB(Z)}),webStream:({value:Z})=>({stream:F1.fromWeb(Z)}),iterable:({value:Z})=>({stream:F1.from(Z)}),asyncIterable:({value:Z})=>({stream:F1.from(Z)}),string:({value:Z})=>({stream:F1.from(Z)}),uint8Array:({value:Z})=>({stream:F1.from(NC.from(Z))})},output:{...LB,fileUrl:({value:Z})=>({stream:IB(Z)}),filePath:({value:{file:Z,append:Y}})=>({stream:IB(Z,Y?{flags:"a"}:{})}),webStream:({value:Z})=>({stream:IC.fromWeb(Z)}),iterable:V1,asyncIterable:V1,string:V1,uint8Array:V1}}});import{on as AC,once as GB}from"node:events";import{PassThrough as GC,getDefaultHighWaterMark as CC}from"node:stream";import{finished as TB}from"node:stream/promises";function O8(Z){if(!Array.isArray(Z))throw TypeError(`Expected an array, got \`${typeof Z}\`.`);for(let q of Z)v9(q);let Y=Z.some(({readableObjectMode:q})=>q),Q=RC(Z,Y),J=new kB({objectMode:Y,writableHighWaterMark:Q,readableHighWaterMark:Q});for(let q of Z)J.add(q);return J}var RC=(Z,Y)=>{if(Z.length===0)return CC(Y);let Q=Z.filter(({readableObjectMode:J})=>J===Y).map(({readableHighWaterMark:J})=>J);return Math.max(...Q)},kB,TC=async(Z,Y,Q)=>{yY(Z,CB);let J=new AbortController;try{await Promise.race([kC(Z,J),EC(Z,Y,Q,J)])}finally{J.abort(),yY(Z,-CB)}},kC=async(Z,{signal:Y})=>{try{await TB(Z,{signal:Y,cleanup:!0})}catch(Q){throw EB(Z,Q),Q}},EC=async(Z,Y,Q,{signal:J})=>{for await(let[q]of AC(Z,"unpipe",{signal:J}))if(Y.has(q))q.emit(Q)},v9=(Z)=>{if(typeof Z?.pipe!=="function")throw TypeError(`Expected a readable stream, got: \`${typeof Z}\`.`)},PC=async({passThroughStream:Z,stream:Y,streams:Q,ended:J,aborted:q,onFinished:X,unpipeEvent:z})=>{yY(Z,RB);let W=new AbortController;try{await Promise.race([xC(X,Y,W),bC({passThroughStream:Z,stream:Y,streams:Q,ended:J,aborted:q,controller:W}),vC({stream:Y,streams:Q,ended:J,aborted:q,unpipeEvent:z,controller:W})])}finally{W.abort(),yY(Z,-RB)}if(Q.size>0&&Q.size===J.size+q.size)if(J.size===0&&q.size>0)S9(Z);else SC(Z)},xC=async(Z,Y,{signal:Q})=>{try{if(await Z,!Q.aborted)S9(Y)}catch(J){if(!Q.aborted)EB(Y,J)}},bC=async({passThroughStream:Z,stream:Y,streams:Q,ended:J,aborted:q,controller:{signal:X}})=>{try{if(await TB(Y,{signal:X,cleanup:!0,readable:!0,writable:!1}),Q.has(Y))J.add(Y)}catch(z){if(X.aborted||!Q.has(Y))return;if(PB(z))q.add(Y);else xB(Z,z)}},vC=async({stream:Z,streams:Y,ended:Q,aborted:J,unpipeEvent:q,controller:{signal:X}})=>{if(await GB(Z,q,{signal:X}),!Z.readable)return GB(X,"abort",{signal:X});Y.delete(Z),Q.delete(Z),J.delete(Z)},SC=(Z)=>{if(Z.writable)Z.end()},EB=(Z,Y)=>{if(PB(Y))S9(Z);else xB(Z,Y)},PB=(Z)=>Z?.code==="ERR_STREAM_PREMATURE_CLOSE",S9=(Z)=>{if(Z.readable||Z.writable)Z.destroy()},xB=(Z,Y)=>{if(!Z.destroyed)Z.once("error",yC),Z.destroy(Y)},yC=()=>{},yY=(Z,Y)=>{let Q=Z.getMaxListeners();if(Q!==0&&Q!==Number.POSITIVE_INFINITY)Z.setMaxListeners(Q+Y)},CB=2,RB=1;var fY=N(()=>{kB=class kB extends GC{#Y=new Set([]);#Q=new Set([]);#Z=new Set([]);#J;#X=Symbol("unpipe");#q=new WeakMap;add(Z){if(v9(Z),this.#Y.has(Z))return;this.#Y.add(Z),this.#J??=TC(this,this.#Y,this.#X);let Y=PC({passThroughStream:this,stream:Z,streams:this.#Y,ended:this.#Q,aborted:this.#Z,onFinished:this.#J,unpipeEvent:this.#X});this.#q.set(Z,Y),Z.pipe(this,{end:!1})}async remove(Z){if(v9(Z),!this.#Y.has(Z))return!1;let Y=this.#q.get(Z);if(Y===void 0)return!1;return this.#q.delete(Z),Z.unpipe(this),await Y,!0}}});import{finished as bB}from"node:stream/promises";var zZ=(Z,Y)=>{Z.pipe(Y),fC(Z,Y),hC(Z,Y)},fC=async(Z,Y)=>{if(s6(Z)||s6(Y))return;try{await bB(Z,{cleanup:!0,readable:!0,writable:!1})}catch{}y9(Y)},y9=(Z)=>{if(Z.writable)Z.end()},hC=async(Z,Y)=>{if(s6(Z)||s6(Y))return;try{await bB(Y,{cleanup:!0,readable:!1,writable:!0})}catch{}f9(Z)},f9=(Z)=>{if(Z.readable)Z.destroy()};var hY=N(()=>{O4()});var vB=(Z,Y,Q)=>{let J=new Map;for(let[q,{stdioItems:X,direction:z}]of Object.entries(Y)){for(let{stream:W}of X.filter(({type:U})=>u6.has(U)))gC(Z,W,z,q);for(let{stream:W}of X.filter(({type:U})=>!u6.has(U)))pC({subprocess:Z,stream:W,direction:z,fdNumber:q,pipeGroups:J,controller:Q})}for(let[q,X]of J.entries()){let z=X.length===1?X[0]:O8(X);zZ(z,q)}},gC=(Z,Y,Q,J)=>{if(Q==="output")zZ(Z.stdio[J],Y);else zZ(Y,Z.stdio[J]);let q=mC[J];if(q!==void 0)Z[q]=Y;Z.stdio[J]=Y},mC,pC=({subprocess:Z,stream:Y,direction:Q,fdNumber:J,pipeGroups:q,controller:X})=>{if(Y===void 0)return;uC(Y,X);let[z,W]=Q==="output"?[Y,Z.stdio[J]]:[Z.stdio[J],Y],U=q.get(z)??[];q.set(z,[...U,W])},uC=(Z,{signal:Y})=>{if(s6(Z))U8(Z,dC,Y)},dC=2;var SB=N(()=>{fY();O4();s7();N6();hY();mC=["stdin","stdout","stderr"]});var D8;var yB=N(()=>{D8=[];D8.push("SIGHUP","SIGINT","SIGTERM");if(process.platform!=="win32")D8.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(process.platform==="linux")D8.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT")});class fB{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(g9[h9])return g9[h9];cC(g9,h9,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(Z,Y){this.listeners[Z].push(Y)}removeListener(Z,Y){let Q=this.listeners[Z],J=Q.indexOf(Y);if(J===-1)return;if(J===0&&Q.length===1)Q.length=0;else Q.splice(J,1)}emit(Z,Y,Q){if(this.emitted[Z])return!1;this.emitted[Z]=!0;let J=!1;for(let q of this.listeners[Z])J=q(Y,Q)===!0||J;if(Z==="exit")J=this.emit("afterExit",Y,Q)||J;return J}}class p9{}var gY=(Z)=>!!Z&&typeof Z==="object"&&typeof Z.removeListener==="function"&&typeof Z.emit==="function"&&typeof Z.reallyExit==="function"&&typeof Z.listeners==="function"&&typeof Z.kill==="function"&&typeof Z.pid==="number"&&typeof Z.on==="function",h9,g9,cC,lC=(Z)=>{return{onExit(Y,Q){return Z.onExit(Y,Q)},load(){return Z.load()},unload(){return Z.unload()}}},hB,gB,m9,mB,Tn,kn;var pB=N(()=>{yB();h9=Symbol.for("signal-exit emitter"),g9=globalThis,cC=Object.defineProperty.bind(Object);hB=class hB extends p9{onExit(){return()=>{}}load(){}unload(){}};gB=class gB extends p9{#Y=m9.platform==="win32"?"SIGINT":"SIGHUP";#Q=new fB;#Z;#J;#X;#q={};#z=!1;constructor(Z){super();this.#Z=Z,this.#q={};for(let Y of D8)this.#q[Y]=()=>{let Q=this.#Z.listeners(Y),{count:J}=this.#Q,q=Z;if(typeof q.__signal_exit_emitter__==="object"&&typeof q.__signal_exit_emitter__.count==="number")J+=q.__signal_exit_emitter__.count;if(Q.length===J){this.unload();let X=this.#Q.emit("exit",null,Y),z=Y==="SIGHUP"?this.#Y:Y;if(!X)Z.kill(Z.pid,z)}};this.#X=Z.reallyExit,this.#J=Z.emit}onExit(Z,Y){if(!gY(this.#Z))return()=>{};if(this.#z===!1)this.load();let Q=Y?.alwaysLast?"afterExit":"exit";return this.#Q.on(Q,Z),()=>{if(this.#Q.removeListener(Q,Z),this.#Q.listeners.exit.length===0&&this.#Q.listeners.afterExit.length===0)this.unload()}}load(){if(this.#z)return;this.#z=!0,this.#Q.count+=1;for(let Z of D8)try{let Y=this.#q[Z];if(Y)this.#Z.on(Z,Y)}catch(Y){}this.#Z.emit=(Z,...Y)=>{return this.#W(Z,...Y)},this.#Z.reallyExit=(Z)=>{return this.#H(Z)}}unload(){if(!this.#z)return;this.#z=!1,D8.forEach((Z)=>{let Y=this.#q[Z];if(!Y)throw Error("Listener not defined for signal: "+Z);try{this.#Z.removeListener(Z,Y)}catch(Q){}}),this.#Z.emit=this.#J,this.#Z.reallyExit=this.#X,this.#Q.count-=1}#H(Z){if(!gY(this.#Z))return 0;return this.#Z.exitCode=Z||0,this.#Q.emit("exit",this.#Z.exitCode,null),this.#X.call(this.#Z,this.#Z.exitCode)}#W(Z,...Y){let Q=this.#J;if(Z==="exit"&&gY(this.#Z)){if(typeof Y[0]==="number")this.#Z.exitCode=Y[0];let J=Q.call(this.#Z,Z,...Y);return this.#Q.emit("exit",this.#Z.exitCode,null),J}else return Q.call(this.#Z,Z,...Y)}};m9=globalThis.process,{onExit:mB,load:Tn,unload:kn}=lC(gY(m9)?new gB(m9):new hB)});import{addAbortListener as nC}from"node:events";var uB=(Z,{cleanup:Y,detached:Q},{signal:J})=>{if(!Y||Q)return;let q=mB(()=>{Z.kill()});nC(J,()=>{q()})};var dB=N(()=>{pB()});var lB=({source:Z,sourcePromise:Y,boundOptions:Q,createNested:J},...q)=>{let X=S7(),{destination:z,destinationStream:W,destinationError:U,from:K,unpipeSignal:B}=oC(Q,J,q),{sourceStream:$,sourceError:V}=sC(Z,K),{options:D,fileDescriptors:F}=q4.get(Z);return{sourcePromise:Y,sourceStream:$,sourceOptions:D,sourceError:V,destination:z,destinationStream:W,destinationError:U,unpipeSignal:B,fileDescriptors:F,startTime:X}},oC=(Z,Y,Q)=>{try{let{destination:J,pipeOptions:{from:q,to:X,unpipeSignal:z}={}}=iC(Z,Y,...Q),W=i7(J,X);return{destination:J,destinationStream:W,from:q,unpipeSignal:z}}catch(J){return{destinationError:J}}},iC=(Z,Y,Q,...J)=>{if(Array.isArray(Q))return{destination:Y(cB,Z)(Q,...J),pipeOptions:Z};if(typeof Q==="string"||Q instanceof URL||O2(Q)){if(Object.keys(Z).length>0)throw TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[q,X,z]=A7(Q,...J);return{destination:Y(cB)(q,X,z),pipeOptions:z}}if(q4.has(Q)){if(Object.keys(Z).length>0)throw TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).");return{destination:Q,pipeOptions:J[0]}}throw TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${Q}`)},cB=({options:Z})=>({options:{...Z,stdin:"pipe",piped:!0}}),sC=(Z,Y)=>{try{return{sourceStream:ZZ(Z,Y)}}catch(Q){return{sourceError:Q}}};var nB=N(()=>{M2();y7();m4();l8()});var iB=({sourceStream:Z,sourceError:Y,destinationStream:Q,destinationError:J,fileDescriptors:q,sourceOptions:X,startTime:z})=>{let W=aC({sourceStream:Z,sourceError:Y,destinationStream:Q,destinationError:J});if(W!==void 0)throw u9({error:W,fileDescriptors:q,sourceOptions:X,startTime:z})},aC=({sourceStream:Z,sourceError:Y,destinationStream:Q,destinationError:J})=>{if(Y!==void 0&&J!==void 0)return J;if(J!==void 0)return f9(Z),J;if(Y!==void 0)return y9(Q),Y},u9=({error:Z,fileDescriptors:Y,sourceOptions:Q,startTime:J})=>JZ({error:Z,command:oB,escapedCommand:oB,fileDescriptors:Y,options:Q,startTime:J,isSync:!1}),oB="source.pipe(destination)";var d9=N(()=>{U1();hY()});var sB=async(Z)=>{let[{status:Y,reason:Q,value:J=Q},{status:q,reason:X,value:z=X}]=await Z;if(!z.pipedFrom.includes(J))z.pipedFrom.push(J);if(q==="rejected")throw z;if(Y==="rejected")throw J;return z};import{finished as rC}from"node:stream/promises";var aB=(Z,Y,Q)=>{let J=mY.has(Y)?eC(Z,Y):tC(Z,Y);return U8(Z,YR,Q.signal),U8(Y,QR,Q.signal),ZR(Y),J},tC=(Z,Y)=>{let Q=O8([Z]);return zZ(Q,Y),mY.set(Y,Q),Q},eC=(Z,Y)=>{let Q=mY.get(Y);return Q.add(Z),Q},ZR=async(Z)=>{try{await rC(Z,{cleanup:!0,readable:!1,writable:!0})}catch{}mY.delete(Z)},mY,YR=2,QR=1;var rB=N(()=>{fY();s7();hY();mY=new WeakMap});import{aborted as JR}from"node:util";var tB=(Z,Y)=>Z===void 0?[]:[qR(Z,Y)],qR=async(Z,{sourceStream:Y,mergedStream:Q,fileDescriptors:J,sourceOptions:q,startTime:X})=>{await JR(Z,Y),await Q.remove(Y);let z=Error("Pipe canceled by `unpipeSignal` option.");throw u9({error:z,fileDescriptors:J,sourceOptions:q,startTime:X})};var eB=N(()=>{d9()});var pY=(Z,...Y)=>{if(n0(Y[0]))return pY.bind(void 0,{...Z,boundOptions:{...Z.boundOptions,...Y[0]}});let{destination:Q,...J}=lB(Z,...Y),q=XR({...J,destination:Q});return q.pipe=pY.bind(void 0,{...Z,source:Q,sourcePromise:q,boundOptions:{}}),q},XR=async({sourcePromise:Z,sourceStream:Y,sourceOptions:Q,sourceError:J,destination:q,destinationStream:X,destinationError:z,unpipeSignal:W,fileDescriptors:U,startTime:K})=>{let B=zR(Z,q);iB({sourceStream:Y,sourceError:J,destinationStream:X,destinationError:z,fileDescriptors:U,sourceOptions:Q,startTime:K});let $=new AbortController;try{let V=aB(Y,X,$);return await Promise.race([sB(B),...tB(W,{sourceStream:Y,mergedStream:V,sourceOptions:Q,fileDescriptors:U,startTime:K})])}finally{$.abort()}},zR=(Z,Y)=>Promise.allSettled([Z,Y]);var Z$=N(()=>{nB();d9();rB();eB()});import{on as HR}from"node:events";import{getDefaultHighWaterMark as WR}from"node:stream";var uY=({subprocessStdout:Z,subprocess:Y,binary:Q,shouldEncode:J,encoding:q,preserveNewlines:X})=>{let z=new AbortController;return UR(Y,z),Q$({stream:Z,controller:z,binary:Q,shouldEncode:!Z.readableObjectMode&&J,encoding:q,shouldSplit:!Z.readableObjectMode,preserveNewlines:X})},UR=async(Z,Y)=>{try{await Z}catch{}finally{Y.abort()}},c9=({stream:Z,onStreamEnd:Y,lines:Q,encoding:J,stripFinalNewline:q,allMixed:X})=>{let z=new AbortController;KR(Y,z,Z);let W=Z.readableObjectMode&&!X;return Q$({stream:Z,controller:z,binary:J==="buffer",shouldEncode:!W,encoding:J,shouldSplit:!W&&Q,preserveNewlines:!q})},KR=async(Z,Y,Q)=>{try{await Z}catch{Q.destroy()}finally{Y.abort()}},Q$=({stream:Z,controller:Y,binary:Q,shouldEncode:J,encoding:q,shouldSplit:X,preserveNewlines:z})=>{let W=HR(Z,"data",{signal:Y.signal,highWaterMark:Y$,highWatermark:Y$});return BR({onStdoutChunk:W,controller:Y,binary:Q,shouldEncode:J,encoding:q,shouldSplit:X,preserveNewlines:z})},l9,Y$,BR=async function*({onStdoutChunk:Z,controller:Y,binary:Q,shouldEncode:J,encoding:q,shouldSplit:X,preserveNewlines:z}){let W=$R({binary:Q,shouldEncode:J,encoding:q,shouldSplit:X,preserveNewlines:z});try{for await(let[U]of Z)yield*V8(U,W,0)}catch(U){if(!Y.signal.aborted)throw U}finally{yield*B1(W)}},$R=({binary:Z,shouldEncode:Y,encoding:Q,shouldSplit:J,preserveNewlines:q})=>[EY(Z,Q,!Y),TY(Z,q,!J,{})].filter(Boolean);var dY=N(()=>{L9();kY();l9=WR(!0),Y$=l9});import{setImmediate as FR}from"node:timers/promises";var J$=async({stream:Z,onStreamEnd:Y,fdNumber:Q,encoding:J,buffer:q,maxBuffer:X,lines:z,allMixed:W,stripFinalNewline:U,verboseInfo:K,streamInfo:B})=>{let $=VR({stream:Z,onStreamEnd:Y,fdNumber:Q,encoding:J,allMixed:W,verboseInfo:K,streamInfo:B});if(!q){await Promise.all([OR(Z),$]);return}let V=_9(U,Q),D=c9({stream:Z,onStreamEnd:Y,lines:z,encoding:J,stripFinalNewline:V,allMixed:W}),[F]=await Promise.all([DR({stream:Z,iterable:D,fdNumber:Q,encoding:J,maxBuffer:X,lines:z}),$]);return F},VR=async({stream:Z,onStreamEnd:Y,fdNumber:Q,encoding:J,allMixed:q,verboseInfo:X,streamInfo:{fileDescriptors:z}})=>{if(!vY({stdioItems:z[Q]?.stdioItems,encoding:J,verboseInfo:X,fdNumber:Q}))return;let W=c9({stream:Z,onStreamEnd:Y,lines:!0,encoding:J,stripFinalNewline:!0,allMixed:q});await sK(W,Z,Q,X)},OR=async(Z)=>{if(await FR(),Z.readableFlowing===null)Z.resume()},DR=async({stream:Z,stream:{readableObjectMode:Y},iterable:Q,fdNumber:J,encoding:q,maxBuffer:X,lines:z})=>{try{if(Y||z)return await OY(Q,{maxBuffer:X});if(q==="buffer")return new Uint8Array(await DY(Q,{maxBuffer:X}));return await jY(Q,{maxBuffer:X})}catch(W){return q$(SU({error:W,stream:Z,readableObjectMode:Y,lines:z,encoding:q,fdNumber:J}))}},n9=async(Z)=>{try{return await Z}catch(Y){return q$(Y)}},q$=({bufferedData:Z})=>kz(Z)?new Uint8Array(Z):Z;var o9=N(()=>{_Y();R6();C9();dY();$8();K1()});import{finished as MR}from"node:stream/promises";var O1=async(Z,Y,Q,{isSameDirection:J,stopOnExit:q=!1}={})=>{let X=jR(Z,Q),z=new AbortController;try{await Promise.race([...q?[Q.exitPromise]:[],MR(Z,{cleanup:!0,signal:z.signal})])}catch(W){if(!X.stdinCleanedUp)IR(W,Y,Q,J)}finally{z.abort()}},jR=(Z,{originalStreams:[Y],subprocess:Q})=>{let J={stdinCleanedUp:!1};if(Z===Y)_R(Z,Q,J);return J},_R=(Z,Y,Q)=>{let{_destroy:J}=Z;Z._destroy=(...q)=>{NR(Y,Q),J.call(Z,...q)}},NR=({exitCode:Z,signalCode:Y},Q)=>{if(Z!==null||Y!==null)Q.stdinCleanedUp=!0},IR=(Z,Y,Q,J)=>{if(!LR(Z,Y,Q,J))throw Z},LR=(Z,Y,Q,J=!0)=>{if(Q.propagating)return X$(Z)||cY(Z);return Q.propagating=!0,i9(Q,Y)===J?X$(Z):cY(Z)},i9=({fileDescriptors:Z},Y)=>Y!=="all"&&Z[Y].direction==="input",cY=(Z)=>Z?.code==="ERR_STREAM_PREMATURE_CLOSE",X$=(Z)=>Z?.code==="EPIPE";var lY=()=>{};var z$=({subprocess:Z,encoding:Y,buffer:Q,maxBuffer:J,lines:q,stripFinalNewline:X,verboseInfo:z,streamInfo:W})=>Z.stdio.map((U,K)=>s9({stream:U,fdNumber:K,encoding:Y,buffer:Q[K],maxBuffer:J[K],lines:q[K],allMixed:!1,stripFinalNewline:X,verboseInfo:z,streamInfo:W})),s9=async({stream:Z,fdNumber:Y,encoding:Q,buffer:J,maxBuffer:q,lines:X,allMixed:z,stripFinalNewline:W,verboseInfo:U,streamInfo:K})=>{if(!Z)return;let B=O1(Z,Y,K);if(i9(K,Y)){await B;return}let[$]=await Promise.all([J$({stream:Z,onStreamEnd:B,fdNumber:Y,encoding:Q,buffer:J,maxBuffer:q,lines:X,allMixed:z,stripFinalNewline:W,verboseInfo:U,streamInfo:K}),B]);return $};var a9=N(()=>{o9();lY()});var H$=({stdout:Z,stderr:Y},{all:Q})=>Q&&(Z||Y)?O8([Z,Y].filter(Boolean)):void 0,W$=({subprocess:Z,encoding:Y,buffer:Q,maxBuffer:J,lines:q,stripFinalNewline:X,verboseInfo:z,streamInfo:W})=>s9({...wR(Z,Q),fdNumber:"all",encoding:Y,maxBuffer:J[1]+J[2],lines:q[1]||q[2],allMixed:AR(Z),stripFinalNewline:X,verboseInfo:z,streamInfo:W}),wR=({stdout:Z,stderr:Y,all:Q},[,J,q])=>{let X=J||q;if(!X)return{stream:Q,buffer:X};if(!J)return{stream:Y,buffer:X};if(!q)return{stream:Z,buffer:X};return{stream:Q,buffer:X}},AR=({all:Z,stdout:Y,stderr:Q})=>Z&&Y&&Q&&Y.readableObjectMode!==Q.readableObjectMode;var r9=N(()=>{fY();a9()});var U$=(Z)=>o8(Z,"ipc"),K$=(Z,Y)=>{let Q=v7(Z);Y4({type:"ipc",verboseMessage:Q,fdNumber:"ipc",verboseInfo:Y})};var B$=N(()=>{i8();f4()});var $$=async({subprocess:Z,buffer:Y,maxBuffer:Q,ipc:J,ipcOutput:q,verboseInfo:X})=>{if(!J)return q;let z=U$(X),W=D4(Y,"ipc"),U=D4(Q,"ipc");for await(let K of P9({anyProcess:Z,channel:Z.channel,isSubprocess:!1,ipc:J,shouldAwait:!1,reference:!0})){if(W)yU(Z,q,U),q.push(K);if(z)K$(K,X)}return q},F$=async(Z,Y)=>{return await Promise.allSettled([Z]),Y};var V$=N(()=>{$8();B$();M4();x9()});import{once as GR}from"node:events";var O$=async({subprocess:Z,options:{encoding:Y,buffer:Q,maxBuffer:J,lines:q,timeoutDuration:X,cancelSignal:z,gracefulCancel:W,forceKillAfterDelay:U,stripFinalNewline:K,ipc:B,ipcInput:$},context:V,verboseInfo:D,fileDescriptors:F,originalStreams:O,onInternalError:j,controller:_})=>{let L=QB(Z,V),A={originalStreams:O,fileDescriptors:F,subprocess:Z,exitPromise:L,propagating:!1},I=z$({subprocess:Z,encoding:Y,buffer:Q,maxBuffer:J,lines:q,stripFinalNewline:K,verboseInfo:D,streamInfo:A}),G=W$({subprocess:Z,encoding:Y,buffer:Q,maxBuffer:J,lines:q,stripFinalNewline:K,verboseInfo:D,streamInfo:A}),P=[],T=$$({subprocess:Z,buffer:Q,maxBuffer:J,ipc:B,ipcOutput:P,verboseInfo:D}),S=CR(O,Z,A),y=RR(F,A);try{return await Promise.race([Promise.all([{},qB(L),Promise.all(I),G,T,zU(Z,$),...S,...y]),j,TR(Z,_),...YU(Z,X,V,_),...IW({subprocess:Z,cancelSignal:z,gracefulCancel:W,context:V,controller:_}),...eW({subprocess:Z,cancelSignal:z,gracefulCancel:W,forceKillAfterDelay:U,context:V,controller:_})])}catch(g){return V.terminationReason??="other",Promise.all([{error:g},L,Promise.all(I.map((x)=>n9(x))),n9(G),F$(T,P),Promise.allSettled(S),Promise.allSettled(y)])}},CR=(Z,Y,Q)=>Z.map((J,q)=>J===Y.stdio[q]?void 0:O1(J,q,Q)),RR=(Z,Y)=>Z.flatMap(({stdioItems:Q},J)=>Q.filter(({value:q,stream:X=q})=>r6(X,{checkOpen:!1})&&!s6(X)).map(({type:q,value:X,stream:z=X})=>O1(z,J,Y,{isSameDirection:u6.has(q),stopOnExit:q==="native"}))),TR=async(Z,{signal:Y})=>{let[Q]=await GR(Z,"error",{signal:Y});throw Q};var D$=N(()=>{a2();p2();s2();O4();N6();o9();V$();t2();r9();a9();k9();lY()});var M$=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),D1=(Z,Y,Q)=>{let J=Z[Q];if(!J.has(Y))J.set(Y,[]);let q=J.get(Y),X=J4();return q.push(X),{resolve:X.resolve.bind(X),promises:q}},HZ=async({resolve:Z,promises:Y},Q)=>{Z();let[J]=await Promise.race([Promise.allSettled([!0,Q]),Promise.all([!1,...Y])]);return!J};var nY=()=>{};import{finished as j$}from"node:stream/promises";var t9=async(Z)=>{if(Z===void 0)return;try{await e9(Z)}catch{}},_$=async(Z)=>{if(Z===void 0)return;try{await Z3(Z)}catch{}},e9=async(Z)=>{await j$(Z,{cleanup:!0,readable:!1,writable:!0})},Z3=async(Z)=>{await j$(Z,{cleanup:!0,readable:!0,writable:!1})},oY=async(Z,Y)=>{if(await Z,Y)throw Y},iY=(Z,Y,Q)=>{if(Q&&!cY(Q))Z.destroy(Q);else if(Y)Z.destroy()};var Y3=N(()=>{lY()});import{Readable as kR}from"node:stream";import{callbackify as ER}from"node:util";var N$=({subprocess:Z,concurrentStreams:Y,encoding:Q},{from:J,binary:q=!0,preserveNewlines:X=!0}={})=>{let z=q||T6.has(Q),{subprocessStdout:W,waitReadableDestroy:U}=Q3(Z,J,Y),{readableEncoding:K,readableObjectMode:B,readableHighWaterMark:$}=J3(W,z),{read:V,onStdoutDataDone:D}=q3({subprocessStdout:W,subprocess:Z,binary:z,encoding:Q,preserveNewlines:X}),F=new kR({read:V,destroy:ER(z3.bind(void 0,{subprocessStdout:W,subprocess:Z,waitReadableDestroy:U})),highWaterMark:$,objectMode:B,encoding:K});return X3({subprocessStdout:W,onStdoutDataDone:D,readable:F,subprocess:Z}),F},Q3=(Z,Y,Q)=>{let J=ZZ(Z,Y),q=D1(Q,J,"readableDestroy");return{subprocessStdout:J,waitReadableDestroy:q}},J3=({readableEncoding:Z,readableObjectMode:Y,readableHighWaterMark:Q},J)=>J?{readableEncoding:Z,readableObjectMode:Y,readableHighWaterMark:Q}:{readableEncoding:Z,readableObjectMode:!0,readableHighWaterMark:l9},q3=({subprocessStdout:Z,subprocess:Y,binary:Q,encoding:J,preserveNewlines:q})=>{let X=J4(),z=uY({subprocessStdout:Z,subprocess:Y,binary:Q,shouldEncode:!Q,encoding:J,preserveNewlines:q});return{read(){PR(this,z,X)},onStdoutDataDone:X}},PR=async(Z,Y,Q)=>{try{let{value:J,done:q}=await Y.next();if(q)Q.resolve();else Z.push(J)}catch{}},X3=async({subprocessStdout:Z,onStdoutDataDone:Y,readable:Q,subprocess:J,subprocessStdin:q})=>{try{if(await Z3(Z),await J,await t9(q),await Y,Q.readable)Q.push(null)}catch(X){await t9(q),I$(Q,X)}},z3=async({subprocessStdout:Z,subprocess:Y,waitReadableDestroy:Q},J)=>{if(await HZ(Q,Y))I$(Z,J),await oY(Y,J)},I$=(Z,Y)=>{iY(Z,Z.readable,Y)};var H3=N(()=>{K8();m4();dY();nY();Y3()});import{Writable as xR}from"node:stream";import{callbackify as L$}from"node:util";var w$=({subprocess:Z,concurrentStreams:Y},{to:Q}={})=>{let{subprocessStdin:J,waitWritableFinal:q,waitWritableDestroy:X}=W3(Z,Q,Y),z=new xR({...U3(J,Z,q),destroy:L$(B3.bind(void 0,{subprocessStdin:J,subprocess:Z,waitWritableFinal:q,waitWritableDestroy:X})),highWaterMark:J.writableHighWaterMark,objectMode:J.writableObjectMode});return K3(J,z),z},W3=(Z,Y,Q)=>{let J=i7(Z,Y),q=D1(Q,J,"writableFinal"),X=D1(Q,J,"writableDestroy");return{subprocessStdin:J,waitWritableFinal:q,waitWritableDestroy:X}},U3=(Z,Y,Q)=>({write:bR.bind(void 0,Z),final:L$(vR.bind(void 0,Z,Y,Q))}),bR=(Z,Y,Q,J)=>{if(Z.write(Y,Q))J();else Z.once("drain",J)},vR=async(Z,Y,Q)=>{if(await HZ(Q,Y)){if(Z.writable)Z.end();await Y}},K3=async(Z,Y,Q)=>{try{if(await e9(Z),Y.writable)Y.end()}catch(J){await _$(Q),A$(Y,J)}},B3=async({subprocessStdin:Z,subprocess:Y,waitWritableFinal:Q,waitWritableDestroy:J},q)=>{if(await HZ(Q,Y),await HZ(J,Y))A$(Z,q),await oY(Y,q)},A$=(Z,Y)=>{iY(Z,Z.writable,Y)};var $3=N(()=>{m4();nY();Y3()});import{Duplex as SR}from"node:stream";import{callbackify as yR}from"node:util";var G$=({subprocess:Z,concurrentStreams:Y,encoding:Q},{from:J,to:q,binary:X=!0,preserveNewlines:z=!0}={})=>{let W=X||T6.has(Q),{subprocessStdout:U,waitReadableDestroy:K}=Q3(Z,J,Y),{subprocessStdin:B,waitWritableFinal:$,waitWritableDestroy:V}=W3(Z,q,Y),{readableEncoding:D,readableObjectMode:F,readableHighWaterMark:O}=J3(U,W),{read:j,onStdoutDataDone:_}=q3({subprocessStdout:U,subprocess:Z,binary:W,encoding:Q,preserveNewlines:z}),L=new SR({read:j,...U3(B,Z,$),destroy:yR(fR.bind(void 0,{subprocessStdout:U,subprocessStdin:B,subprocess:Z,waitReadableDestroy:K,waitWritableFinal:$,waitWritableDestroy:V})),readableHighWaterMark:O,writableHighWaterMark:B.writableHighWaterMark,readableObjectMode:F,writableObjectMode:B.writableObjectMode,encoding:D});return X3({subprocessStdout:U,onStdoutDataDone:_,readable:L,subprocess:Z,subprocessStdin:B}),K3(B,L,U),L},fR=async({subprocessStdout:Z,subprocessStdin:Y,subprocess:Q,waitReadableDestroy:J,waitWritableFinal:q,waitWritableDestroy:X},z)=>{await Promise.all([z3({subprocessStdout:Z,subprocess:Q,waitReadableDestroy:J},z),B3({subprocessStdin:Y,subprocess:Q,waitWritableFinal:q,waitWritableDestroy:X},z)])};var C$=N(()=>{K8();H3();$3()});var F3=(Z,Y,{from:Q,binary:J=!1,preserveNewlines:q=!1}={})=>{let X=J||T6.has(Y),z=ZZ(Z,Q),W=uY({subprocessStdout:z,subprocess:Z,binary:X,shouldEncode:!0,encoding:Y,preserveNewlines:q});return hR(W,z,Z)},hR=async function*(Z,Y,Q){try{yield*Z}finally{if(Y.readable)Y.destroy();await Q}};var R$=N(()=>{K8();m4();dY()});var T$=(Z,{encoding:Y})=>{let Q=M$();Z.readable=N$.bind(void 0,{subprocess:Z,concurrentStreams:Q,encoding:Y}),Z.writable=w$.bind(void 0,{subprocess:Z,concurrentStreams:Q}),Z.duplex=G$.bind(void 0,{subprocess:Z,concurrentStreams:Q,encoding:Y}),Z.iterable=F3.bind(void 0,Z,Y),Z[Symbol.asyncIterator]=F3.bind(void 0,Z,Y,{})};var k$=N(()=>{nY();H3();$3();C$();R$()});var E$=(Z,Y)=>{for(let[Q,J]of mR){let q=J.value.bind(Y);Reflect.defineProperty(Z,Q,{...J,value:q})}},gR,mR;var P$=N(()=>{gR=(async()=>{})().constructor.prototype,mR=["then","catch","finally"].map((Z)=>[Z,Reflect.getOwnPropertyDescriptor(gR,Z)])});import{setMaxListeners as pR}from"node:events";import{spawn as uR}from"node:child_process";var x$=(Z,Y,Q,J)=>{let{file:q,commandArguments:X,command:z,escapedCommand:W,startTime:U,verboseInfo:K,options:B,fileDescriptors:$}=dR(Z,Y,Q),{subprocess:V,promise:D}=lR({file:q,commandArguments:X,options:B,startTime:U,verboseInfo:K,command:z,escapedCommand:W,fileDescriptors:$});return V.pipe=pY.bind(void 0,{source:V,sourcePromise:D,boundOptions:{},createNested:J}),E$(V,D),q4.set(V,{options:B,fileDescriptors:$}),V},dR=(Z,Y,Q)=>{let{command:J,escapedCommand:q,startTime:X,verboseInfo:z}=f7(Z,Y,Q),{file:W,commandArguments:U,options:K}=KY(Z,Y,Q),B=cR(K),$=wB(B,z);return{file:W,commandArguments:U,command:J,escapedCommand:q,startTime:X,verboseInfo:z,options:B,fileDescriptors:$}},cR=({timeout:Z,signal:Y,...Q})=>{if(Y!==void 0)throw TypeError('The "signal" option has been renamed to "cancelSignal" instead.');return{...Q,timeoutDuration:Z}},lR=({file:Z,commandArguments:Y,options:Q,startTime:J,verboseInfo:q,command:X,escapedCommand:z,fileDescriptors:W})=>{let U;try{U=uR(...BY(Z,Y,Q))}catch(F){return jB({error:F,command:X,escapedCommand:z,fileDescriptors:W,options:Q,startTime:J,verboseInfo:q})}let K=new AbortController;pR(Number.POSITIVE_INFINITY,K.signal);let B=[...U.stdio];vB(U,W,K),uB(U,Q,K);let $={},V=J4();U.kill=_W.bind(void 0,{kill:U.kill.bind(U),options:Q,onInternalError:V,context:$,controller:K}),U.all=H$(U,Q),T$(U,Q),OB(U,Q);let D=nR({subprocess:U,options:Q,startTime:J,verboseInfo:q,fileDescriptors:W,originalStreams:B,command:X,escapedCommand:z,context:$,onInternalError:V,controller:K});return{subprocess:U,promise:D}},nR=async({subprocess:Z,options:Y,startTime:Q,verboseInfo:J,fileDescriptors:q,originalStreams:X,command:z,escapedCommand:W,context:U,onInternalError:K,controller:B})=>{let[$,[V,D],F,O,j]=await O$({subprocess:Z,options:Y,context:U,verboseInfo:J,fileDescriptors:q,originalStreams:X,onInternalError:K,controller:B});B.abort(),K.resolve();let _=F.map((I,G)=>N4(I,Y,G)),L=N4(O,Y,"all"),A=oR({errorInfo:$,exitCode:V,signal:D,stdio:_,all:L,ipcOutput:j,context:U,options:Y,command:z,escapedCommand:W,startTime:Q});return qZ(A,J,Y)},oR=({errorInfo:Z,exitCode:Y,signal:Q,stdio:J,all:q,ipcOutput:X,context:z,options:W,command:U,escapedCommand:K,startTime:B})=>("error"in Z)?W1({error:Z.error,command:U,escapedCommand:K,timedOut:z.terminationReason==="timeout",isCanceled:z.terminationReason==="cancel"||z.terminationReason==="gracefulCancel",isGracefullyCanceled:z.terminationReason==="gracefulCancel",isMaxBuffer:Z.error instanceof j4,isForcefullyTerminated:z.isForcefullyTerminated,exitCode:Y,signal:Q,stdio:J,all:q,ipcOutput:X,options:W,startTime:B,isSync:!1}):IY({command:U,escapedCommand:K,stdio:J,all:q,ipcOutput:X,options:W,startTime:B});var b$=N(()=>{_Y();C2();Y9();m4();b9();U1();LY();_B();AB();K1();SB();c7();dB();Z$();r9();D$();k$();P$()});var sY=(Z,Y)=>{let Q=Object.fromEntries(Object.entries(Y).map(([J,q])=>[J,iR(J,Z[J],q)]));return{...Z,...Q}},iR=(Z,Y,Q)=>{if(sR.has(Z)&&n0(Y)&&n0(Q))return{...Y,...Q};return Q},sR;var v$=N(()=>{M4();sR=new Set(["env",...L2])});var d4=(Z,Y,Q,J)=>{let q=(z,W,U)=>d4(z,W,Q,U),X=(...z)=>aR({mapArguments:Z,deepOptions:Q,boundOptions:Y,setBoundExeca:J,createNested:q},...z);if(J!==void 0)J(X,q,Y);return X},aR=({mapArguments:Z,deepOptions:Y={},boundOptions:Q={},setBoundExeca:J,createNested:q},X,...z)=>{if(n0(X))return q(Z,sY(Q,X),J);let{file:W,commandArguments:U,options:K,isSync:B}=rR({mapArguments:Z,firstArgument:X,nextArguments:z,deepOptions:Y,boundOptions:Q});return B?HB(W,U,K):x$(W,U,K,q)},rR=({mapArguments:Z,firstArgument:Y,nextArguments:Q,deepOptions:J,boundOptions:q})=>{let X=Sz(Y)?yz(Y,Q):[Y,...Q],[z,W,U]=A7(...X),K=sY(sY(J,q),U),{file:B=z,commandArguments:$=W,options:V=K,isSync:D=!1}=Z({file:z,commandArguments:W,options:K});return{file:B,commandArguments:$,options:V,isSync:D}};var S$=N(()=>{M2();fz();WB();b$();v$()});var y$=({file:Z,commandArguments:Y})=>h$(Z,Y),f$=({file:Z,commandArguments:Y})=>({...h$(Z,Y),isSync:!0}),h$=(Z,Y)=>{if(Y.length>0)throw TypeError(`The command and its arguments must be passed as a single string: ${Z} ${Y}.`);let[Q,...J]=tR(Z);return{file:Q,commandArguments:J}},tR=(Z)=>{if(typeof Z!=="string")throw TypeError(`The command must be a string: ${String(Z)}.`);let Y=Z.trim();if(Y==="")return[];let Q=[];for(let J of Y.split(eR)){let q=Q.at(-1);if(q&&q.endsWith("\\"))Q[Q.length-1]=`${q.slice(0,-1)} ${J}`;else Q.push(J)}return Q},eR;var g$=N(()=>{eR=/ +/g});var m$=(Z,Y,Q)=>{Z.sync=Y(ZT,Q),Z.s=Z.sync},p$=({options:Z})=>u$(Z),ZT=({options:Z})=>({...u$(Z),isSync:!0}),u$=(Z)=>({options:{...YT(Z),...Z}}),YT=({input:Z,inputFile:Y,stdio:Q})=>Z===void 0&&Y===void 0&&Q===void 0?{stdin:"inherit"}:{},d$;var c$=N(()=>{d$={preferLocal:!0}});var z4,Ns,Is,Ls,ws,As,Gs,Cs,Rs,Ts;var aY=N(()=>{S$();g$();r2();c$();b9();h4();z4=d4(()=>({})),Ns=d4(()=>({isSync:!0})),Is=d4(y$),Ls=d4(f$),ws=d4(JU),As=d4(p$,{},d$,m$),{sendMessage:Gs,getOneMessage:Cs,getEachMessage:Rs,getCancelSignal:Ts}=DB()});function QT(Z,Y){let Q=Z.slice(0,Y).split(/\r\n|\n|\r/g);return[Q.length,Q.pop().length+1]}function JT(Z,Y,Q){let J=Z.split(/\r\n|\n|\r/g),q="",X=(Math.log10(Y+1)|0)+1;for(let z=Y-1;z<=Y+1;z++){let W=J[z-1];if(!W)continue;if(q+=z.toString().padEnd(X," "),q+=": ",q+=W,q+=`
85
85
  `,z===Y)q+=" ".repeat(X+Q+2),q+=`^
86
- `}return q}var $0;var V4=j(()=>{/*!
86
+ `}return q}var $0;var M8=N(()=>{/*!
87
87
  * Copyright (c) Squirrel Chat et al., All rights reserved.
88
88
  * SPDX-License-Identifier: BSD-3-Clause
89
89
  *
@@ -109,16 +109,16 @@ Instead, \`yield\` should either be called with a value, or not be called at all
109
109
  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
110
110
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
111
111
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
112
- */$0=class $0 extends Error{line;column;codeblock;constructor(Z,Y){let[Q,J]=hR(Y.toml,Y.ptr),q=gR(Y.toml,Q,J);super(`Invalid TOML document: ${Z}
112
+ */$0=class $0 extends Error{line;column;codeblock;constructor(Z,Y){let[Q,J]=QT(Y.toml,Y.ptr),q=JT(Y.toml,Q,J);super(`Invalid TOML document: ${Z}
113
113
 
114
- ${q}`,Y);this.line=Q,this.column=J,this.codeblock=q}}});function mR(Z,Y){let Q=0;while(Z[Y-++Q]==="\\");return--Q&&Q%2}function iY(Z,Y=0,Q=Z.length){let J=Z.indexOf(`
115
- `,Y);if(Z[J-1]==="\r")J--;return J<=Q?J:-1}function XZ(Z,Y){for(let Q=Y;Q<Z.length;Q++){let J=Z[Q];if(J===`
114
+ ${q}`,Y);this.line=Q,this.column=J,this.codeblock=q}}});function qT(Z,Y){let Q=0;while(Z[Y-++Q]==="\\");return--Q&&Q%2}function rY(Z,Y=0,Q=Z.length){let J=Z.indexOf(`
115
+ `,Y);if(Z[J-1]==="\r")J--;return J<=Q?J:-1}function WZ(Z,Y){for(let Q=Y;Q<Z.length;Q++){let J=Z[Q];if(J===`
116
116
  `)return Q;if(J==="\r"&&Z[Q+1]===`
117
- `)return Q+1;if(J<" "&&J!=="\t"||J==="")throw new $0("control characters are not allowed in comments",{toml:Z,ptr:Y})}return Z.length}function T6(Z,Y,Q,J){let q;while(!0){while((q=Z[Y])===" "||q==="\t"||!Q&&(q===`
117
+ `)return Q+1;if(J<" "&&J!=="\t"||J==="")throw new $0("control characters are not allowed in comments",{toml:Z,ptr:Y})}return Z.length}function k6(Z,Y,Q,J){let q;while(!0){while((q=Z[Y])===" "||q==="\t"||!Q&&(q===`
118
118
  `||q==="\r"&&Z[Y+1]===`
119
- `))Y++;if(J||q!=="#")break;Y=XZ(Z,Y)}return Y}function v$(Z,Y,Q,J,q=!1){if(!J)return Y=iY(Z,Y),Y<0?Z.length:Y;for(let X=Y;X<Z.length;X++){let z=Z[X];if(z==="#")X=iY(Z,X);else if(z===Q)return X+1;else if(z===J||q&&(z===`
119
+ `))Y++;if(J||q!=="#")break;Y=WZ(Z,Y)}return Y}function l$(Z,Y,Q,J,q=!1){if(!J)return Y=rY(Z,Y),Y<0?Z.length:Y;for(let X=Y;X<Z.length;X++){let z=Z[X];if(z==="#")X=rY(Z,X);else if(z===Q)return X+1;else if(z===J||q&&(z===`
120
120
  `||z==="\r"&&Z[X+1]===`
121
- `))return X}throw new $0("cannot find end of structure",{toml:Z,ptr:Y})}function sY(Z,Y){let Q=Z[Y],J=Q===Z[Y+1]&&Z[Y+1]===Z[Y+2]?Z.slice(Y,Y+3):Q;Y+=J.length-1;do Y=Z.indexOf(J,++Y);while(Y>-1&&Q!=="'"&&mR(Z,Y));if(Y>-1){if(Y+=J.length,J.length>1){if(Z[Y]===Q)Y++;if(Z[Y]===Q)Y++}}return Y}var O1=j(()=>{V4();/*!
121
+ `))return X}throw new $0("cannot find end of structure",{toml:Z,ptr:Y})}function tY(Z,Y){let Q=Z[Y],J=Q===Z[Y+1]&&Z[Y+1]===Z[Y+2]?Z.slice(Y,Y+3):Q;Y+=J.length-1;do Y=Z.indexOf(J,++Y);while(Y>-1&&Q!=="'"&&qT(Z,Y));if(Y>-1){if(Y+=J.length,J.length>1){if(Z[Y]===Q)Y++;if(Z[Y]===Q)Y++}}return Y}var M1=N(()=>{M8();/*!
122
122
  * Copyright (c) Squirrel Chat et al., All rights reserved.
123
123
  * SPDX-License-Identifier: BSD-3-Clause
124
124
  *
@@ -144,7 +144,7 @@ ${q}`,Y);this.line=Q,this.column=J,this.codeblock=q}}});function mR(Z,Y){let Q=0
144
144
  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
145
145
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
146
146
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
147
- */});var pR,u8;var HJ=j(()=>{/*!
147
+ */});var XT,c4;var V3=N(()=>{/*!
148
148
  * Copyright (c) Squirrel Chat et al., All rights reserved.
149
149
  * SPDX-License-Identifier: BSD-3-Clause
150
150
  *
@@ -170,12 +170,12 @@ ${q}`,Y);this.line=Q,this.column=J,this.codeblock=q}}});function mR(Z,Y){let Q=0
170
170
  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
171
171
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
172
172
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
173
- */pR=/^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|[-+]\d{2}:\d{2})?$/i;u8=class u8 extends Date{#Y=!1;#Q=!1;#Z=null;constructor(Z){let Y=!0,Q=!0,J="Z";if(typeof Z==="string"){let q=Z.match(pR);if(q){if(!q[1])Y=!1,Z=`0000-01-01T${Z}`;if(Q=!!q[2],Q&&Z[10]===" "&&(Z=Z.replace(" ","T")),q[2]&&+q[2]>23)Z="";else if(J=q[3]||null,Z=Z.toUpperCase(),!J&&Q)Z+="Z"}else Z=""}super(Z);if(!isNaN(this.getTime()))this.#Y=Y,this.#Q=Q,this.#Z=J}isDateTime(){return this.#Y&&this.#Q}isLocal(){return!this.#Y||!this.#Q||!this.#Z}isDate(){return this.#Y&&!this.#Q}isTime(){return this.#Q&&!this.#Y}isValid(){return this.#Y||this.#Q}toISOString(){let Z=super.toISOString();if(this.isDate())return Z.slice(0,10);if(this.isTime())return Z.slice(11,23);if(this.#Z===null)return Z.slice(0,-1);if(this.#Z==="Z")return Z;let Y=+this.#Z.slice(1,3)*60+ +this.#Z.slice(4,6);return Y=this.#Z[0]==="-"?Y:-Y,new Date(this.getTime()-Y*60000).toISOString().slice(0,-1)+this.#Z}static wrapAsOffsetDateTime(Z,Y="Z"){let Q=new u8(Z);return Q.#Z=Y,Q}static wrapAsLocalDateTime(Z){let Y=new u8(Z);return Y.#Z=null,Y}static wrapAsLocalDate(Z){let Y=new u8(Z);return Y.#Q=!1,Y.#Z=null,Y}static wrapAsLocalTime(Z){let Y=new u8(Z);return Y.#Y=!1,Y.#Z=null,Y}}});function aY(Z,Y=0,Q=Z.length){let J=Z[Y]==="'",q=Z[Y++]===Z[Y]&&Z[Y]===Z[Y+1];if(q){if(Q-=2,Z[Y+=2]==="\r")Y++;if(Z[Y]===`
173
+ */XT=/^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|[-+]\d{2}:\d{2})?$/i;c4=class c4 extends Date{#Y=!1;#Q=!1;#Z=null;constructor(Z){let Y=!0,Q=!0,J="Z";if(typeof Z==="string"){let q=Z.match(XT);if(q){if(!q[1])Y=!1,Z=`0000-01-01T${Z}`;if(Q=!!q[2],Q&&Z[10]===" "&&(Z=Z.replace(" ","T")),q[2]&&+q[2]>23)Z="";else if(J=q[3]||null,Z=Z.toUpperCase(),!J&&Q)Z+="Z"}else Z=""}super(Z);if(!isNaN(this.getTime()))this.#Y=Y,this.#Q=Q,this.#Z=J}isDateTime(){return this.#Y&&this.#Q}isLocal(){return!this.#Y||!this.#Q||!this.#Z}isDate(){return this.#Y&&!this.#Q}isTime(){return this.#Q&&!this.#Y}isValid(){return this.#Y||this.#Q}toISOString(){let Z=super.toISOString();if(this.isDate())return Z.slice(0,10);if(this.isTime())return Z.slice(11,23);if(this.#Z===null)return Z.slice(0,-1);if(this.#Z==="Z")return Z;let Y=+this.#Z.slice(1,3)*60+ +this.#Z.slice(4,6);return Y=this.#Z[0]==="-"?Y:-Y,new Date(this.getTime()-Y*60000).toISOString().slice(0,-1)+this.#Z}static wrapAsOffsetDateTime(Z,Y="Z"){let Q=new c4(Z);return Q.#Z=Y,Q}static wrapAsLocalDateTime(Z){let Y=new c4(Z);return Y.#Z=null,Y}static wrapAsLocalDate(Z){let Y=new c4(Z);return Y.#Q=!1,Y.#Z=null,Y}static wrapAsLocalTime(Z){let Y=new c4(Z);return Y.#Y=!1,Y.#Z=null,Y}}});function eY(Z,Y=0,Q=Z.length){let J=Z[Y]==="'",q=Z[Y++]===Z[Y]&&Z[Y]===Z[Y+1];if(q){if(Q-=2,Z[Y+=2]==="\r")Y++;if(Z[Y]===`
174
174
  `)Y++}let X=0,z,W="",U=Y;while(Y<Q-1){let K=Z[Y++];if(K===`
175
175
  `||K==="\r"&&Z[Y]===`
176
- `){if(!q)throw new $0("newlines are not allowed in strings",{toml:Z,ptr:Y-1})}else if(K<" "&&K!=="\t"||K==="")throw new $0("control characters are not allowed in strings",{toml:Z,ptr:Y-1});if(z){if(z=!1,K==="x"||K==="u"||K==="U"){let B=Z.slice(Y,Y+=K==="x"?2:K==="u"?4:8);if(!lR.test(B))throw new $0("invalid unicode escape",{toml:Z,ptr:X});try{W+=String.fromCodePoint(parseInt(B,16))}catch{throw new $0("invalid unicode escape",{toml:Z,ptr:X})}}else if(q&&(K===`
177
- `||K===" "||K==="\t"||K==="\r")){if(Y=T6(Z,Y-1,!0),Z[Y]!==`
178
- `&&Z[Y]!=="\r")throw new $0("invalid escape: only line-ending whitespace may be escaped",{toml:Z,ptr:X});Y=T6(Z,Y)}else if(K in S$)W+=S$[K];else throw new $0("unrecognized escape sequence",{toml:Z,ptr:X});U=Y}else if(!J&&K==="\\")X=Y-1,z=!0,W+=Z.slice(U,X)}return W+Z.slice(U,Q-1)}function y$(Z,Y,Q,J){if(Z==="true")return!0;if(Z==="false")return!1;if(Z==="-inf")return-1/0;if(Z==="inf"||Z==="+inf")return 1/0;if(Z==="nan"||Z==="+nan"||Z==="-nan")return NaN;if(Z==="-0")return J?0n:0;let q=uR.test(Z);if(q||dR.test(Z)){if(cR.test(Z))throw new $0("leading zeroes are not allowed",{toml:Y,ptr:Q});Z=Z.replace(/_/g,"");let z=+Z;if(isNaN(z))throw new $0("invalid number",{toml:Y,ptr:Q});if(q){if((q=!Number.isSafeInteger(z))&&!J)throw new $0("integer value cannot be represented losslessly",{toml:Y,ptr:Q});if(q||J===!0)z=BigInt(Z)}return z}let X=new u8(Z);if(!X.isValid())throw new $0("invalid value",{toml:Y,ptr:Q});return X}var uR,dR,cR,lR,S$;var WJ=j(()=>{O1();HJ();V4();/*!
176
+ `){if(!q)throw new $0("newlines are not allowed in strings",{toml:Z,ptr:Y-1})}else if(K<" "&&K!=="\t"||K==="")throw new $0("control characters are not allowed in strings",{toml:Z,ptr:Y-1});if(z){if(z=!1,K==="x"||K==="u"||K==="U"){let B=Z.slice(Y,Y+=K==="x"?2:K==="u"?4:8);if(!UT.test(B))throw new $0("invalid unicode escape",{toml:Z,ptr:X});try{W+=String.fromCodePoint(parseInt(B,16))}catch{throw new $0("invalid unicode escape",{toml:Z,ptr:X})}}else if(q&&(K===`
177
+ `||K===" "||K==="\t"||K==="\r")){if(Y=k6(Z,Y-1,!0),Z[Y]!==`
178
+ `&&Z[Y]!=="\r")throw new $0("invalid escape: only line-ending whitespace may be escaped",{toml:Z,ptr:X});Y=k6(Z,Y)}else if(K in n$)W+=n$[K];else throw new $0("unrecognized escape sequence",{toml:Z,ptr:X});U=Y}else if(!J&&K==="\\")X=Y-1,z=!0,W+=Z.slice(U,X)}return W+Z.slice(U,Q-1)}function o$(Z,Y,Q,J){if(Z==="true")return!0;if(Z==="false")return!1;if(Z==="-inf")return-1/0;if(Z==="inf"||Z==="+inf")return 1/0;if(Z==="nan"||Z==="+nan"||Z==="-nan")return NaN;if(Z==="-0")return J?0n:0;let q=zT.test(Z);if(q||HT.test(Z)){if(WT.test(Z))throw new $0("leading zeroes are not allowed",{toml:Y,ptr:Q});Z=Z.replace(/_/g,"");let z=+Z;if(isNaN(z))throw new $0("invalid number",{toml:Y,ptr:Q});if(q){if((q=!Number.isSafeInteger(z))&&!J)throw new $0("integer value cannot be represented losslessly",{toml:Y,ptr:Q});if(q||J===!0)z=BigInt(Z)}return z}let X=new c4(Z);if(!X.isValid())throw new $0("invalid value",{toml:Y,ptr:Q});return X}var zT,HT,WT,UT,n$;var O3=N(()=>{M1();V3();M8();/*!
179
179
  * Copyright (c) Squirrel Chat et al., All rights reserved.
180
180
  * SPDX-License-Identifier: BSD-3-Clause
181
181
  *
@@ -201,9 +201,9 @@ ${q}`,Y);this.line=Q,this.column=J,this.codeblock=q}}});function mR(Z,Y){let Q=0
201
201
  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
202
202
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
203
203
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
204
- */uR=/^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/,dR=/^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/,cR=/^[+-]?0[0-9_]/,lR=/^[0-9a-f]{2,8}$/i,S$={b:"\b",t:"\t",n:`
205
- `,f:"\f",r:"\r",e:"\x1B",'"':'"',"\\":"\\"}});function nR(Z,Y,Q){let J=Z.slice(Y,Q),q=J.indexOf("#");if(q>-1)XZ(Z,q),J=J.slice(0,q);return[J.trimEnd(),q]}function D1(Z,Y,Q,J,q){if(J===0)throw new $0("document contains excessively nested structures. aborting.",{toml:Z,ptr:Y});let X=Z[Y];if(X==="["||X==="{"){let[U,K]=X==="["?h$(Z,Y,J,q):f$(Z,Y,J,q);if(Q){if(K=T6(Z,K),Z[K]===",")K++;else if(Z[K]!==Q)throw new $0("expected comma or end of structure",{toml:Z,ptr:K})}return[U,K]}let z;if(X==='"'||X==="'"){z=sY(Z,Y);let U=aY(Z,Y,z);if(Q){if(z=T6(Z,z),Z[z]&&Z[z]!==","&&Z[z]!==Q&&Z[z]!==`
206
- `&&Z[z]!=="\r")throw new $0("unexpected character encountered",{toml:Z,ptr:z});z+=+(Z[z]===",")}return[U,z]}z=v$(Z,Y,",",Q);let W=nR(Z,Y,z-+(Z[z-1]===","));if(!W[0])throw new $0("incomplete key-value declaration: no value specified",{toml:Z,ptr:Y});if(Q&&W[1]>-1)z=T6(Z,Y+W[1]),z+=+(Z[z]===",");return[y$(W[0],Z,Y,q),z]}var UJ=j(()=>{WJ();KJ();O1();V4();/*!
204
+ */zT=/^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/,HT=/^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/,WT=/^[+-]?0[0-9_]/,UT=/^[0-9a-f]{2,8}$/i,n$={b:"\b",t:"\t",n:`
205
+ `,f:"\f",r:"\r",e:"\x1B",'"':'"',"\\":"\\"}});function KT(Z,Y,Q){let J=Z.slice(Y,Q),q=J.indexOf("#");if(q>-1)WZ(Z,q),J=J.slice(0,q);return[J.trimEnd(),q]}function j1(Z,Y,Q,J,q){if(J===0)throw new $0("document contains excessively nested structures. aborting.",{toml:Z,ptr:Y});let X=Z[Y];if(X==="["||X==="{"){let[U,K]=X==="["?s$(Z,Y,J,q):i$(Z,Y,J,q);if(Q){if(K=k6(Z,K),Z[K]===",")K++;else if(Z[K]!==Q)throw new $0("expected comma or end of structure",{toml:Z,ptr:K})}return[U,K]}let z;if(X==='"'||X==="'"){z=tY(Z,Y);let U=eY(Z,Y,z);if(Q){if(z=k6(Z,z),Z[z]&&Z[z]!==","&&Z[z]!==Q&&Z[z]!==`
206
+ `&&Z[z]!=="\r")throw new $0("unexpected character encountered",{toml:Z,ptr:z});z+=+(Z[z]===",")}return[U,z]}z=l$(Z,Y,",",Q);let W=KT(Z,Y,z-+(Z[z-1]===","));if(!W[0])throw new $0("incomplete key-value declaration: no value specified",{toml:Z,ptr:Y});if(Q&&W[1]>-1)z=k6(Z,Y+W[1]),z+=+(Z[z]===",");return[o$(W[0],Z,Y,q),z]}var D3=N(()=>{O3();M3();M1();M8();/*!
207
207
  * Copyright (c) Squirrel Chat et al., All rights reserved.
208
208
  * SPDX-License-Identifier: BSD-3-Clause
209
209
  *
@@ -229,9 +229,9 @@ ${q}`,Y);this.line=Q,this.column=J,this.codeblock=q}}});function mR(Z,Y){let Q=0
229
229
  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
230
230
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
231
231
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
232
- */});function rY(Z,Y,Q="="){let J=Y-1,q=[],X=Z.indexOf(Q,Y);if(X<0)throw new $0("incomplete key-value: cannot find end of key",{toml:Z,ptr:Y});do{let z=Z[Y=++J];if(z!==" "&&z!=="\t")if(z==='"'||z==="'"){if(z===Z[Y+1]&&z===Z[Y+2])throw new $0("multiline strings are not allowed in keys",{toml:Z,ptr:Y});let W=sY(Z,Y);if(W<0)throw new $0("unfinished string encountered",{toml:Z,ptr:Y});J=Z.indexOf(".",W);let U=Z.slice(W,J<0||J>X?X:J),K=iY(U);if(K>-1)throw new $0("newlines are not allowed in keys",{toml:Z,ptr:Y+J+K});if(U.trimStart())throw new $0("found extra tokens after the string part",{toml:Z,ptr:W});if(X<W){if(X=Z.indexOf(Q,W),X<0)throw new $0("incomplete key-value: cannot find end of key",{toml:Z,ptr:Y})}q.push(aY(Z,Y,W))}else{J=Z.indexOf(".",Y);let W=Z.slice(Y,J<0||J>X?X:J);if(!oR.test(W))throw new $0("only letter, numbers, dashes and underscores are allowed in keys",{toml:Z,ptr:Y});q.push(W.trimEnd())}}while(J+1&&J<X);return[q,T6(Z,X+1,!0,!0)]}function f$(Z,Y,Q,J){let q={},X=new Set,z;Y++;while((z=Z[Y++])!=="}"&&z)if(z===",")throw new $0("expected value, found comma",{toml:Z,ptr:Y-1});else if(z==="#")Y=XZ(Z,Y);else if(z!==" "&&z!=="\t"&&z!==`
233
- `&&z!=="\r"){let W,U=q,K=!1,[B,$]=rY(Z,Y-1);for(let V=0;V<B.length;V++){if(V)U=K?U[W]:U[W]={};if(W=B[V],(K=Object.hasOwn(U,W))&&(typeof U[W]!=="object"||X.has(U[W])))throw new $0("trying to redefine an already defined value",{toml:Z,ptr:Y});if(!K&&W==="__proto__")Object.defineProperty(U,W,{enumerable:!0,configurable:!0,writable:!0})}if(K)throw new $0("trying to redefine an already defined value",{toml:Z,ptr:Y});let[F,O]=D1(Z,$,"}",Q-1,J);X.add(F),U[W]=F,Y=O}if(!z)throw new $0("unfinished table encountered",{toml:Z,ptr:Y});return[q,Y]}function h$(Z,Y,Q,J){let q=[],X;Y++;while((X=Z[Y++])!=="]"&&X)if(X===",")throw new $0("expected value, found comma",{toml:Z,ptr:Y-1});else if(X==="#")Y=XZ(Z,Y);else if(X!==" "&&X!=="\t"&&X!==`
234
- `&&X!=="\r"){let z=D1(Z,Y-1,"]",Q-1,J);q.push(z[0]),Y=z[1]}if(!X)throw new $0("unfinished array encountered",{toml:Z,ptr:Y});return[q,Y]}var oR;var KJ=j(()=>{WJ();UJ();O1();V4();/*!
232
+ */});function Z5(Z,Y,Q="="){let J=Y-1,q=[],X=Z.indexOf(Q,Y);if(X<0)throw new $0("incomplete key-value: cannot find end of key",{toml:Z,ptr:Y});do{let z=Z[Y=++J];if(z!==" "&&z!=="\t")if(z==='"'||z==="'"){if(z===Z[Y+1]&&z===Z[Y+2])throw new $0("multiline strings are not allowed in keys",{toml:Z,ptr:Y});let W=tY(Z,Y);if(W<0)throw new $0("unfinished string encountered",{toml:Z,ptr:Y});J=Z.indexOf(".",W);let U=Z.slice(W,J<0||J>X?X:J),K=rY(U);if(K>-1)throw new $0("newlines are not allowed in keys",{toml:Z,ptr:Y+J+K});if(U.trimStart())throw new $0("found extra tokens after the string part",{toml:Z,ptr:W});if(X<W){if(X=Z.indexOf(Q,W),X<0)throw new $0("incomplete key-value: cannot find end of key",{toml:Z,ptr:Y})}q.push(eY(Z,Y,W))}else{J=Z.indexOf(".",Y);let W=Z.slice(Y,J<0||J>X?X:J);if(!BT.test(W))throw new $0("only letter, numbers, dashes and underscores are allowed in keys",{toml:Z,ptr:Y});q.push(W.trimEnd())}}while(J+1&&J<X);return[q,k6(Z,X+1,!0,!0)]}function i$(Z,Y,Q,J){let q={},X=new Set,z;Y++;while((z=Z[Y++])!=="}"&&z)if(z===",")throw new $0("expected value, found comma",{toml:Z,ptr:Y-1});else if(z==="#")Y=WZ(Z,Y);else if(z!==" "&&z!=="\t"&&z!==`
233
+ `&&z!=="\r"){let W,U=q,K=!1,[B,$]=Z5(Z,Y-1);for(let F=0;F<B.length;F++){if(F)U=K?U[W]:U[W]={};if(W=B[F],(K=Object.hasOwn(U,W))&&(typeof U[W]!=="object"||X.has(U[W])))throw new $0("trying to redefine an already defined value",{toml:Z,ptr:Y});if(!K&&W==="__proto__")Object.defineProperty(U,W,{enumerable:!0,configurable:!0,writable:!0})}if(K)throw new $0("trying to redefine an already defined value",{toml:Z,ptr:Y});let[V,D]=j1(Z,$,"}",Q-1,J);X.add(V),U[W]=V,Y=D}if(!z)throw new $0("unfinished table encountered",{toml:Z,ptr:Y});return[q,Y]}function s$(Z,Y,Q,J){let q=[],X;Y++;while((X=Z[Y++])!=="]"&&X)if(X===",")throw new $0("expected value, found comma",{toml:Z,ptr:Y-1});else if(X==="#")Y=WZ(Z,Y);else if(X!==" "&&X!=="\t"&&X!==`
234
+ `&&X!=="\r"){let z=j1(Z,Y-1,"]",Q-1,J);q.push(z[0]),Y=z[1]}if(!X)throw new $0("unfinished array encountered",{toml:Z,ptr:Y});return[q,Y]}var BT;var M3=N(()=>{O3();D3();M1();M8();/*!
235
235
  * Copyright (c) Squirrel Chat et al., All rights reserved.
236
236
  * SPDX-License-Identifier: BSD-3-Clause
237
237
  *
@@ -257,8 +257,8 @@ ${q}`,Y);this.line=Q,this.column=J,this.codeblock=q}}});function mR(Z,Y){let Q=0
257
257
  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
258
258
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
259
259
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
260
- */oR=/^[a-zA-Z0-9-_]+[ \t]*$/});function g$(Z,Y,Q,J){let q=Y,X=Q,z,W=!1,U;for(let K=0;K<Z.length;K++){if(K){if(q=W?q[z]:q[z]={},X=(U=X[z]).c,J===0&&(U.t===1||U.t===2))return null;if(U.t===2){let B=q.length-1;q=q[B],X=X[B].c}}if(z=Z[K],(W=Object.hasOwn(q,z))&&X[z]?.t===0&&X[z]?.d)return null;if(!W){if(z==="__proto__")Object.defineProperty(q,z,{enumerable:!0,configurable:!0,writable:!0}),Object.defineProperty(X,z,{enumerable:!0,configurable:!0,writable:!0});X[z]={t:K<Z.length-1&&J===2?3:J,d:!1,i:0,c:{}}}}if(U=X[z],U.t!==J&&!(J===1&&U.t===3))return null;if(J===2){if(!U.d)U.d=!0,q[z]=[];q[z].push(q={}),U.c[U.i++]=U={t:1,d:!1,i:0,c:{}}}if(U.d)return null;if(U.d=!0,J===1)q=W?q[z]:q[z]={};else if(J===0&&W)return null;return[z,q,U.c]}function BJ(Z,{maxDepth:Y=1000,integersAsBigInt:Q}={}){let J={},q={},X=J,z=q;for(let W=T6(Z,0);W<Z.length;){if(Z[W]==="["){let U=Z[++W]==="[",K=rY(Z,W+=+U,"]");if(U){if(Z[K[1]-1]!=="]")throw new $0("expected end of table declaration",{toml:Z,ptr:K[1]-1});K[1]++}let B=g$(K[0],J,q,U?2:1);if(!B)throw new $0("trying to redefine an already defined table or value",{toml:Z,ptr:W});z=B[2],X=B[1],W=K[1]}else{let U=rY(Z,W),K=g$(U[0],X,z,0);if(!K)throw new $0("trying to redefine an already defined table or value",{toml:Z,ptr:W});let B=D1(Z,U[1],void 0,Y,Q);K[1][K[0]]=B[0],W=B[1]}if(W=T6(Z,W,!0),Z[W]&&Z[W]!==`
261
- `&&Z[W]!=="\r")throw new $0("each key-value declaration must be followed by an end-of-line",{toml:Z,ptr:W});W=T6(Z,W)}return J}var m$=j(()=>{KJ();UJ();O1();V4();/*!
260
+ */BT=/^[a-zA-Z0-9-_]+[ \t]*$/});function a$(Z,Y,Q,J){let q=Y,X=Q,z,W=!1,U;for(let K=0;K<Z.length;K++){if(K){if(q=W?q[z]:q[z]={},X=(U=X[z]).c,J===0&&(U.t===1||U.t===2))return null;if(U.t===2){let B=q.length-1;q=q[B],X=X[B].c}}if(z=Z[K],(W=Object.hasOwn(q,z))&&X[z]?.t===0&&X[z]?.d)return null;if(!W){if(z==="__proto__")Object.defineProperty(q,z,{enumerable:!0,configurable:!0,writable:!0}),Object.defineProperty(X,z,{enumerable:!0,configurable:!0,writable:!0});X[z]={t:K<Z.length-1&&J===2?3:J,d:!1,i:0,c:{}}}}if(U=X[z],U.t!==J&&!(J===1&&U.t===3))return null;if(J===2){if(!U.d)U.d=!0,q[z]=[];q[z].push(q={}),U.c[U.i++]=U={t:1,d:!1,i:0,c:{}}}if(U.d)return null;if(U.d=!0,J===1)q=W?q[z]:q[z]={};else if(J===0&&W)return null;return[z,q,U.c]}function j3(Z,{maxDepth:Y=1000,integersAsBigInt:Q}={}){let J={},q={},X=J,z=q;for(let W=k6(Z,0);W<Z.length;){if(Z[W]==="["){let U=Z[++W]==="[",K=Z5(Z,W+=+U,"]");if(U){if(Z[K[1]-1]!=="]")throw new $0("expected end of table declaration",{toml:Z,ptr:K[1]-1});K[1]++}let B=a$(K[0],J,q,U?2:1);if(!B)throw new $0("trying to redefine an already defined table or value",{toml:Z,ptr:W});z=B[2],X=B[1],W=K[1]}else{let U=Z5(Z,W),K=a$(U[0],X,z,0);if(!K)throw new $0("trying to redefine an already defined table or value",{toml:Z,ptr:W});let B=j1(Z,U[1],void 0,Y,Q);K[1][K[0]]=B[0],W=B[1]}if(W=k6(Z,W,!0),Z[W]&&Z[W]!==`
261
+ `&&Z[W]!=="\r")throw new $0("each key-value declaration must be followed by an end-of-line",{toml:Z,ptr:W});W=k6(Z,W)}return J}var r$=N(()=>{M3();D3();M1();M8();/*!
262
262
  * Copyright (c) Squirrel Chat et al., All rights reserved.
263
263
  * SPDX-License-Identifier: BSD-3-Clause
264
264
  *
@@ -284,16 +284,16 @@ ${q}`,Y);this.line=Q,this.column=J,this.codeblock=q}}});function mR(Z,Y){let Q=0
284
284
  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
285
285
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
286
286
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
287
- */});function M1(Z){let Y=typeof Z;if(Y==="object"){if(Array.isArray(Z))return"array";if(Z instanceof Date)return"date"}return Y}function iR(Z){for(let Y=0;Y<Z.length;Y++)if(M1(Z[Y])!=="object")return!1;return Z.length!=0}function $J(Z){return JSON.stringify(Z).replace(/\x7f/g,"\\u007f")}function FJ(Z,Y,Q,J){if(Q===0)throw Error("Could not stringify the object: maximum object depth exceeded");if(Y==="number"){if(isNaN(Z))return"nan";if(Z===1/0)return"inf";if(Z===-1/0)return"-inf";if(J&&Number.isInteger(Z))return Z.toFixed(1);return Z.toString()}if(Y==="bigint"||Y==="boolean")return Z.toString();if(Y==="string")return $J(Z);if(Y==="date"){if(isNaN(Z.getTime()))throw TypeError("cannot serialize invalid date");return Z.toISOString()}if(Y==="object")return sR(Z,Q,J);if(Y==="array")return aR(Z,Q,J)}function sR(Z,Y,Q){let J=Object.keys(Z);if(J.length===0)return"{}";let q="{ ";for(let X=0;X<J.length;X++){let z=J[X];if(X)q+=", ";q+=p$.test(z)?z:$J(z),q+=" = ",q+=FJ(Z[z],M1(Z[z]),Y-1,Q)}return q+" }"}function aR(Z,Y,Q){if(Z.length===0)return"[]";let J="[ ";for(let q=0;q<Z.length;q++){if(q)J+=", ";if(Z[q]===null||Z[q]===void 0)throw TypeError("arrays cannot contain null or undefined values");J+=FJ(Z[q],M1(Z[q]),Y-1,Q)}return J+" ]"}function rR(Z,Y,Q,J){if(Q===0)throw Error("Could not stringify the object: maximum object depth exceeded");let q="";for(let X=0;X<Z.length;X++)q+=`${q&&`
287
+ */});function _1(Z){let Y=typeof Z;if(Y==="object"){if(Array.isArray(Z))return"array";if(Z instanceof Date)return"date"}return Y}function $T(Z){for(let Y=0;Y<Z.length;Y++)if(_1(Z[Y])!=="object")return!1;return Z.length!=0}function _3(Z){return JSON.stringify(Z).replace(/\x7f/g,"\\u007f")}function N3(Z,Y,Q,J){if(Q===0)throw Error("Could not stringify the object: maximum object depth exceeded");if(Y==="number"){if(isNaN(Z))return"nan";if(Z===1/0)return"inf";if(Z===-1/0)return"-inf";if(J&&Number.isInteger(Z))return Z.toFixed(1);return Z.toString()}if(Y==="bigint"||Y==="boolean")return Z.toString();if(Y==="string")return _3(Z);if(Y==="date"){if(isNaN(Z.getTime()))throw TypeError("cannot serialize invalid date");return Z.toISOString()}if(Y==="object")return FT(Z,Q,J);if(Y==="array")return VT(Z,Q,J)}function FT(Z,Y,Q){let J=Object.keys(Z);if(J.length===0)return"{}";let q="{ ";for(let X=0;X<J.length;X++){let z=J[X];if(X)q+=", ";q+=t$.test(z)?z:_3(z),q+=" = ",q+=N3(Z[z],_1(Z[z]),Y-1,Q)}return q+" }"}function VT(Z,Y,Q){if(Z.length===0)return"[]";let J="[ ";for(let q=0;q<Z.length;q++){if(q)J+=", ";if(Z[q]===null||Z[q]===void 0)throw TypeError("arrays cannot contain null or undefined values");J+=N3(Z[q],_1(Z[q]),Y-1,Q)}return J+" ]"}function OT(Z,Y,Q,J){if(Q===0)throw Error("Could not stringify the object: maximum object depth exceeded");let q="";for(let X=0;X<Z.length;X++)q+=`${q&&`
288
288
  `}[[${Y}]]
289
- `,q+=VJ(0,Z[X],Y,Q,J);return q}function VJ(Z,Y,Q,J,q){if(J===0)throw Error("Could not stringify the object: maximum object depth exceeded");let X="",z="",W=Object.keys(Y);for(let U=0;U<W.length;U++){let K=W[U];if(Y[K]!==null&&Y[K]!==void 0){let B=M1(Y[K]);if(B==="symbol"||B==="function")throw TypeError(`cannot serialize values of type '${B}'`);let $=p$.test(K)?K:$J(K);if(B==="array"&&iR(Y[K]))z+=(z&&`
290
- `)+rR(Y[K],Q?`${Q}.${$}`:$,J-1,q);else if(B==="object"){let F=Q?`${Q}.${$}`:$;z+=(z&&`
291
- `)+VJ(F,Y[K],F,J-1,q)}else X+=$,X+=" = ",X+=FJ(Y[K],B,J,q),X+=`
289
+ `,q+=I3(0,Z[X],Y,Q,J);return q}function I3(Z,Y,Q,J,q){if(J===0)throw Error("Could not stringify the object: maximum object depth exceeded");let X="",z="",W=Object.keys(Y);for(let U=0;U<W.length;U++){let K=W[U];if(Y[K]!==null&&Y[K]!==void 0){let B=_1(Y[K]);if(B==="symbol"||B==="function")throw TypeError(`cannot serialize values of type '${B}'`);let $=t$.test(K)?K:_3(K);if(B==="array"&&$T(Y[K]))z+=(z&&`
290
+ `)+OT(Y[K],Q?`${Q}.${$}`:$,J-1,q);else if(B==="object"){let V=Q?`${Q}.${$}`:$;z+=(z&&`
291
+ `)+I3(V,Y[K],V,J-1,q)}else X+=$,X+=" = ",X+=N3(Y[K],B,J,q),X+=`
292
292
  `}}if(Z&&(X||!z))X=X?`[${Z}]
293
293
  ${X}`:`[${Z}]`;return X&&z?`${X}
294
- ${z}`:X||z}function OJ(Z,{maxDepth:Y=1000,numbersAsFloat:Q=!1}={}){if(M1(Z)!=="object")throw TypeError("stringify can only be called with an object");let J=VJ(0,Z,"",Y,Q);if(J[J.length-1]!==`
294
+ ${z}`:X||z}function L3(Z,{maxDepth:Y=1000,numbersAsFloat:Q=!1}={}){if(_1(Z)!=="object")throw TypeError("stringify can only be called with an object");let J=I3(0,Z,"",Y,Q);if(J[J.length-1]!==`
295
295
  `)return J+`
296
- `;return J}var p$;var u$=j(()=>{/*!
296
+ `;return J}var t$;var e$=N(()=>{/*!
297
297
  * Copyright (c) Squirrel Chat et al., All rights reserved.
298
298
  * SPDX-License-Identifier: BSD-3-Clause
299
299
  *
@@ -319,7 +319,7 @@ ${z}`:X||z}function OJ(Z,{maxDepth:Y=1000,numbersAsFloat:Q=!1}={}){if(M1(Z)!=="o
319
319
  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
320
320
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
321
321
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
322
- */p$=/^[a-z0-9-_]+$/i});var d$=j(()=>{m$();u$();HJ();V4();/*!
322
+ */t$=/^[a-z0-9-_]+$/i});var ZF=N(()=>{r$();e$();V3();M8();/*!
323
323
  * Copyright (c) Squirrel Chat et al., All rights reserved.
324
324
  * SPDX-License-Identifier: BSD-3-Clause
325
325
  *
@@ -345,64 +345,64 @@ ${z}`:X||z}function OJ(Z,{maxDepth:Y=1000,numbersAsFloat:Q=!1}={}){if(M1(Z)!=="o
345
345
  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
346
346
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
347
347
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
348
- */});function tY(Z){return WZ(Z)&&globalThis.Symbol.asyncIterator in Z}function eY(Z){return WZ(Z)&&globalThis.Symbol.iterator in Z}function Z5(Z){return Z instanceof globalThis.Promise}function zZ(Z){return Z instanceof Date&&globalThis.Number.isFinite(Z.getTime())}function HZ(Z){return Z instanceof globalThis.Uint8Array}function WZ(Z){return Z!==null&&typeof Z==="object"}function X8(Z){return globalThis.Array.isArray(Z)&&!globalThis.ArrayBuffer.isView(Z)}function d8(Z){return Z===void 0}function UZ(Z){return Z===null}function KZ(Z){return typeof Z==="boolean"}function u6(Z){return typeof Z==="number"}function Y5(Z){return globalThis.Number.isInteger(Z)}function BZ(Z){return typeof Z==="bigint"}function k6(Z){return typeof Z==="string"}function Q5(Z){return typeof Z==="function"}function $Z(Z){return typeof Z==="symbol"}var j1=()=>{};var V6;var DJ=j(()=>{j1();(function(Z){Z.InstanceMode="default",Z.ExactOptionalPropertyTypes=!1,Z.AllowArrayObject=!1,Z.AllowNaN=!1,Z.AllowNullVoid=!1;function Y(z,W){return Z.ExactOptionalPropertyTypes?W in z:z[W]!==void 0}Z.IsExactOptionalProperty=Y;function Q(z){let W=WZ(z);return Z.AllowArrayObject?W:W&&!X8(z)}Z.IsObjectLike=Q;function J(z){return Q(z)&&!(z instanceof Date)&&!(z instanceof Uint8Array)}Z.IsRecordLike=J;function q(z){return Z.AllowNaN?u6(z):Number.isFinite(z)}Z.IsNumberLike=q;function X(z){let W=d8(z);return Z.AllowNullVoid?W||z===null:W}Z.IsVoidLike=X})(V6||(V6={}))});function J5(Z){return Array.isArray(Z)}function q5(Z){return Z instanceof globalThis.Date}function c8(Z){return typeof Z==="object"&&Z!==null}function X5(Z){return Z instanceof globalThis.RegExp}function c$(Z){return typeof Z==="string"}function z5(Z){return Z instanceof globalThis.Uint8Array}function l$(Z){return Z===void 0}function tR(Z){return globalThis.Object.freeze(Z).map((Y)=>_1(Y))}function eR(Z){return Z}function ZT(Z){return Z}function YT(Z){return Z}function QT(Z){let Y={};for(let Q of Object.getOwnPropertyNames(Z))Y[Q]=_1(Z[Q]);for(let Q of Object.getOwnPropertySymbols(Z))Y[Q]=_1(Z[Q]);return globalThis.Object.freeze(Y)}function _1(Z){return J5(Z)?tR(Z):q5(Z)?eR(Z):z5(Z)?ZT(Z):X5(Z)?YT(Z):c8(Z)?QT(Z):Z}var n$=()=>{};function JT(Z){return Z.map((Y)=>H5(Y))}function qT(Z){return new Date(Z.getTime())}function XT(Z){return new Uint8Array(Z)}function zT(Z){return new RegExp(Z.source,Z.flags)}function HT(Z){let Y={};for(let Q of Object.getOwnPropertyNames(Z))Y[Q]=H5(Z[Q]);for(let Q of Object.getOwnPropertySymbols(Z))Y[Q]=H5(Z[Q]);return Y}function H5(Z){return J5(Z)?JT(Z):q5(Z)?qT(Z):z5(Z)?XT(Z):X5(Z)?zT(Z):c8(Z)?HT(Z):Z}function o$(Z){return H5(Z)}var i$=()=>{};function L0(Z,Y){let Q=Y!==void 0?{...Y,...Z}:Z;switch(V6.InstanceMode){case"freeze":return _1(Q);case"clone":return o$(Q);default:return Q}}var B6=j(()=>{DJ();n$();i$()});var N1,jJ,q0;var s$=j(()=>{N1=Symbol.for("TypeBox.Optional"),jJ=Symbol.for("TypeBox.Hint"),q0=Symbol.for("TypeBox.Kind")});var h0=j(()=>{s$()});function a$(Z,Y){return L0({[q0]:"Array",type:"array",items:Z},Y)}var r$=j(()=>{B6();h0()});var t$=j(()=>{r$()});var e$=j(()=>{B6()});function ZF(Z){return L0({[q0]:"Boolean",type:"boolean"},Z)}var YF=j(()=>{h0();e$()});var QF=j(()=>{YF()});function JF(Z){return L0({[q0]:"Integer",type:"integer"},Z)}var qF=j(()=>{B6();h0()});var XF=j(()=>{qF()});function zF(Z,Y){return L0({[q0]:"Literal",const:Z,type:typeof Z},Y)}var HF=j(()=>{B6();h0()});var WF=j(()=>{HF()});function UF(Z){return L0({[q0]:"Null",type:"null"},Z)}var KF=j(()=>{B6();h0()});var BF=j(()=>{KF()});function $F(Z){return L0({[q0]:"Number",type:"number"},Z)}var FF=j(()=>{B6();h0()});var VF=j(()=>{FF()});function OF(Z){return c8(Z)&&Z[N1]==="Optional"}function _J(Z){return j0(Z,"Any")}function WT(Z){return j0(Z,"Argument")}function NJ(Z){return j0(Z,"Array")}function UT(Z){return j0(Z,"AsyncIterator")}function KT(Z){return j0(Z,"BigInt")}function IJ(Z){return j0(Z,"Boolean")}function BT(Z){return j0(Z,"Computed")}function $T(Z){return j0(Z,"Constructor")}function FT(Z){return j0(Z,"Date")}function VT(Z){return j0(Z,"Function")}function I1(Z){return j0(Z,"Integer")}function LJ(Z){return j0(Z,"Intersect")}function OT(Z){return j0(Z,"Iterator")}function j0(Z,Y){return c8(Z)&&q0 in Z&&Z[q0]===Y}function L1(Z){return j0(Z,"Literal")}function DT(Z){return j0(Z,"MappedKey")}function wJ(Z){return j0(Z,"MappedResult")}function AJ(Z){return j0(Z,"Never")}function MT(Z){return j0(Z,"Not")}function jT(Z){return j0(Z,"Null")}function w1(Z){return j0(Z,"Number")}function GJ(Z){return j0(Z,"Object")}function _T(Z){return j0(Z,"Promise")}function CJ(Z){return j0(Z,"Record")}function NT(Z){return j0(Z,"Ref")}function RJ(Z){return j0(Z,"RegExp")}function TJ(Z){return j0(Z,"String")}function IT(Z){return j0(Z,"Symbol")}function A1(Z){return j0(Z,"TemplateLiteral")}function LT(Z){return j0(Z,"This")}function kJ(Z){return j0(Z,"Tuple")}function wT(Z){return j0(Z,"Undefined")}function O4(Z){return j0(Z,"Union")}function AT(Z){return j0(Z,"Uint8Array")}function GT(Z){return j0(Z,"Unknown")}function CT(Z){return j0(Z,"Unsafe")}function RT(Z){return j0(Z,"Void")}function TT(Z){return c8(Z)&&q0 in Z&&c$(Z[q0])}function DF(Z){return _J(Z)||WT(Z)||NJ(Z)||IJ(Z)||KT(Z)||UT(Z)||BT(Z)||$T(Z)||FT(Z)||VT(Z)||I1(Z)||LJ(Z)||OT(Z)||L1(Z)||DT(Z)||wJ(Z)||AJ(Z)||MT(Z)||jT(Z)||w1(Z)||GJ(Z)||_T(Z)||CJ(Z)||NT(Z)||RJ(Z)||TJ(Z)||IT(Z)||A1(Z)||LT(Z)||kJ(Z)||wT(Z)||O4(Z)||AT(Z)||GT(Z)||CT(Z)||RT(Z)||TT(Z)}var D4=j(()=>{h0()});function kT(Z){return globalThis.Object.keys(Z).filter((Y)=>!OF(Z[Y]))}function ET(Z,Y){let Q=kT(Z),J=Q.length>0?{[q0]:"Object",type:"object",required:Q,properties:Z}:{[q0]:"Object",type:"object",properties:Z};return L0(J,Y)}var G1;var MF=j(()=>{B6();h0();D4();G1=ET});var EJ=j(()=>{MF()});var jF=()=>{};function _F(Z){return L0({[q0]:"MappedResult",properties:Z})}var NF=j(()=>{B6();h0()});function xT(Z,Y){let{[Y]:Q,...J}=Z;return J}function IF(Z,Y){return Y.reduce((Q,J)=>xT(Q,J),Z)}var LF=()=>{};var Q6;var wF=j(()=>{Q6=class Q6 extends Error{constructor(Z){super(Z)}}});var N8=j(()=>{wF()});function l8(Z){return L0({[q0]:"Never",not:{}},Z)}var AF=j(()=>{B6();h0()});var C1=j(()=>{AF()});function GF(Z,Y){return L0({[q0]:"Union",anyOf:Z},Y)}var CF=j(()=>{B6();h0()});var RF=()=>{};var TF=()=>{};function W5(Z,Y){return Z.length===0?l8(Y):Z.length===1?L0(Z[0],Y):GF(Z,Y)}var kF=j(()=>{C1();B6();CF()});var xJ=j(()=>{RF();TF();kF()});function PT(Z){return Z.replace(/\\\$/g,"$").replace(/\\\*/g,"*").replace(/\\\^/g,"^").replace(/\\\|/g,"|").replace(/\\\(/g,"(").replace(/\\\)/g,")")}function bJ(Z,Y,Q){return Z[Y]===Q&&Z.charCodeAt(Y-1)!==92}function I8(Z,Y){return bJ(Z,Y,"(")}function R1(Z,Y){return bJ(Z,Y,")")}function EF(Z,Y){return bJ(Z,Y,"|")}function bT(Z){if(!(I8(Z,0)&&R1(Z,Z.length-1)))return!1;let Y=0;for(let Q=0;Q<Z.length;Q++){if(I8(Z,Q))Y+=1;if(R1(Z,Q))Y-=1;if(Y===0&&Q!==Z.length-1)return!1}return!0}function vT(Z){return Z.slice(1,Z.length-1)}function ST(Z){let Y=0;for(let Q=0;Q<Z.length;Q++){if(I8(Z,Q))Y+=1;if(R1(Z,Q))Y-=1;if(EF(Z,Q)&&Y===0)return!0}return!1}function yT(Z){for(let Y=0;Y<Z.length;Y++)if(I8(Z,Y))return!0;return!1}function fT(Z){let[Y,Q]=[0,0],J=[];for(let X=0;X<Z.length;X++){if(I8(Z,X))Y+=1;if(R1(Z,X))Y-=1;if(EF(Z,X)&&Y===0){let z=Z.slice(Q,X);if(z.length>0)J.push(FZ(z));Q=X+1}}let q=Z.slice(Q);if(q.length>0)J.push(FZ(q));if(J.length===0)return{type:"const",const:""};if(J.length===1)return J[0];return{type:"or",expr:J}}function hT(Z){function Y(q,X){if(!I8(q,X))throw new PJ("TemplateLiteralParser: Index must point to open parens");let z=0;for(let W=X;W<q.length;W++){if(I8(q,W))z+=1;if(R1(q,W))z-=1;if(z===0)return[X,W]}throw new PJ("TemplateLiteralParser: Unclosed group parens in expression")}function Q(q,X){for(let z=X;z<q.length;z++)if(I8(q,z))return[X,z];return[X,q.length]}let J=[];for(let q=0;q<Z.length;q++)if(I8(Z,q)){let[X,z]=Y(Z,q),W=Z.slice(X,z+1);J.push(FZ(W)),q=z}else{let[X,z]=Q(Z,q),W=Z.slice(X,z);if(W.length>0)J.push(FZ(W));q=z-1}return J.length===0?{type:"const",const:""}:J.length===1?J[0]:{type:"and",expr:J}}function FZ(Z){return bT(Z)?FZ(vT(Z)):ST(Z)?fT(Z):yT(Z)?hT(Z):{type:"const",const:PT(Z)}}function U5(Z){return FZ(Z.slice(1,Z.length-1))}var PJ;var K5=j(()=>{N8();PJ=class PJ extends Q6{}});function gT(Z){return Z.type==="or"&&Z.expr.length===2&&Z.expr[0].type==="const"&&Z.expr[0].const==="0"&&Z.expr[1].type==="const"&&Z.expr[1].const==="[1-9][0-9]*"}function mT(Z){return Z.type==="or"&&Z.expr.length===2&&Z.expr[0].type==="const"&&Z.expr[0].const==="true"&&Z.expr[1].type==="const"&&Z.expr[1].const==="false"}function pT(Z){return Z.type==="const"&&Z.const===".*"}function T1(Z){return gT(Z)||pT(Z)?!1:mT(Z)?!0:Z.type==="and"?Z.expr.every((Y)=>T1(Y)):Z.type==="or"?Z.expr.every((Y)=>T1(Y)):Z.type==="const"?!0:(()=>{throw new xF("Unknown expression type")})()}function PF(Z){let Y=U5(Z.pattern);return T1(Y)}var xF;var vJ=j(()=>{K5();N8();xF=class xF extends Q6{}});function*vF(Z){if(Z.length===1)return yield*Z[0];for(let Y of Z[0])for(let Q of vF(Z.slice(1)))yield`${Y}${Q}`}function*uT(Z){return yield*vF(Z.expr.map((Y)=>[...SJ(Y)]))}function*dT(Z){for(let Y of Z.expr)yield*SJ(Y)}function*cT(Z){return yield Z.const}function*SJ(Z){return Z.type==="and"?yield*uT(Z):Z.type==="or"?yield*dT(Z):Z.type==="const"?yield*cT(Z):(()=>{throw new bF("Unknown expression")})()}function SF(Z){let Y=U5(Z.pattern);return T1(Y)?[...SJ(Y)]:[]}var bF;var yF=j(()=>{vJ();K5();N8();bF=class bF extends Q6{}});function fF(Z){return L0({[q0]:"String",type:"string"},Z)}var hF=j(()=>{B6();h0()});var gF=j(()=>{hF()});var mF=()=>{};var yJ="^(0|[1-9][0-9]*)$",fJ="^(.*)$",pF="^(?!.*)$";var uF=()=>{};var dF=()=>{};var cF=()=>{};var lF=()=>{};var hJ=j(()=>{vJ();yF();mF();K5();dF();cF();lF()});function lT(Z){return SF(Z).map((Q)=>Q.toString())}function nT(Z){let Y=[];for(let Q of Z)Y.push(...B5(Q));return Y}function oT(Z){return[Z.toString()]}function B5(Z){return[...new Set(A1(Z)?lT(Z):O4(Z)?nT(Z.anyOf):L1(Z)?oT(Z.const):w1(Z)?["[number]"]:I1(Z)?["[number]"]:[])]}var nF=j(()=>{hJ();D4()});var oF=()=>{};var iF=()=>{};var sF=()=>{};var aF=j(()=>{sF();oF();nF();iF()});function iT(Z,Y){return Z.filter((Q)=>Y.includes(Q))}function sT(Z,Y){return Z.reduce((Q,J)=>{return iT(Q,J)},Y)}function rF(Z){return Z.length===1?Z[0]:Z.length>1?sT(Z.slice(1),Z[0]):[]}function tF(Z){let Y=[];for(let Q of Z)Y.push(...Q);return Y}var eF=()=>{};var ZV=()=>{};var YV=j(()=>{jF();NF();ZV()});function aT(Z){return L0(IF(Z,[N1]))}function rT(Z){return L0({...Z,[N1]:"Optional"})}function tT(Z,Y){return Y===!1?aT(Z):rT(Z)}function $5(Z,Y){let Q=Y??!0;return wJ(Z)?QV(Z,Q):tT(Z,Q)}var gJ=j(()=>{B6();h0();LF();mJ();D4()});function eT(Z,Y){let Q={};for(let J of globalThis.Object.getOwnPropertyNames(Z))Q[J]=$5(Z[J],Y);return Q}function Zk(Z,Y){return eT(Z.properties,Y)}function QV(Z,Y){let Q=Zk(Z,Y);return _F(Q)}var mJ=j(()=>{YV();gJ()});var JV=j(()=>{mJ();gJ()});function M4(Z,Y,Q){return L0({[q0]:"Record",type:"object",patternProperties:{[Z]:Y}},Q)}function pJ(Z,Y,Q){let J={};for(let q of Z)J[q]=Y;return G1(J,{...Q,[jJ]:"Record"})}function Yk(Z,Y,Q){return PF(Z)?pJ(B5(Z),Y,Q):M4(Z.pattern,Y,Q)}function Qk(Z,Y,Q){return pJ(B5(W5(Z)),Y,Q)}function Jk(Z,Y,Q){return pJ([Z.toString()],Y,Q)}function qk(Z,Y,Q){return M4(Z.source,Y,Q)}function Xk(Z,Y,Q){let J=l$(Z.pattern)?fJ:Z.pattern;return M4(J,Y,Q)}function zk(Z,Y,Q){return M4(fJ,Y,Q)}function Hk(Z,Y,Q){return M4(pF,Y,Q)}function Wk(Z,Y,Q){return G1({true:Y,false:Y},Q)}function Uk(Z,Y,Q){return M4(yJ,Y,Q)}function Kk(Z,Y,Q){return M4(yJ,Y,Q)}function qV(Z,Y,Q={}){return O4(Z)?Qk(Z.anyOf,Y,Q):A1(Z)?Yk(Z,Y,Q):L1(Z)?Jk(Z.const,Y,Q):IJ(Z)?Wk(Z,Y,Q):I1(Z)?Uk(Z,Y,Q):w1(Z)?Kk(Z,Y,Q):RJ(Z)?qk(Z,Y,Q):TJ(Z)?Xk(Z,Y,Q):_J(Z)?zk(Z,Y,Q):AJ(Z)?Hk(Z,Y,Q):l8(Q)}var XV=j(()=>{B6();h0();C1();EJ();xJ();hJ();uF();aF();D4()});var zV=j(()=>{XV()});var O6={};b4(O6,{Set:()=>Ok,Has:()=>Vk,Get:()=>Dk,Entries:()=>Bk,Delete:()=>Fk,Clear:()=>$k});function Bk(){return new Map(VZ)}function $k(){return VZ.clear()}function Fk(Z){return VZ.delete(Z)}function Vk(Z){return VZ.has(Z)}function Ok(Z,Y){VZ.set(Z,Y)}function Dk(Z){return VZ.get(Z)}var VZ;var HV=j(()=>{VZ=new Map});var E6={};b4(E6,{Set:()=>Ik,Has:()=>Nk,Get:()=>Lk,Entries:()=>Mk,Delete:()=>_k,Clear:()=>jk});function Mk(){return new Map(OZ)}function jk(){return OZ.clear()}function _k(Z){return OZ.delete(Z)}function Nk(Z){return OZ.has(Z)}function Ik(Z,Y){OZ.set(Z,Y)}function Lk(Z){return OZ.get(Z)}var OZ;var WV=j(()=>{OZ=new Map});var k1=j(()=>{HV();WV()});function UV(Z){return L0({[q0]:"Unknown"},Z)}var KV=j(()=>{B6();h0()});var BV=j(()=>{KV()});function $V(Z={}){return L0({[q0]:Z[q0]??"Unsafe"},Z)}var FV=j(()=>{B6();h0()});var VV=j(()=>{FV()});var DV,MV,OV;var jV=j(()=>{k1();VV();h0();N8();DV=class DV extends Q6{constructor(Z){super(`Duplicate type kind '${Z}' detected`)}};MV=class MV extends Q6{constructor(Z){super(`Duplicate string format '${Z}' detected`)}};(function(Z){function Y(J,q){if(E6.Has(J))throw new DV(J);return E6.Set(J,q),(X={})=>$V({...X,[q0]:J})}Z.Type=Y;function Q(J,q){if(O6.Has(J))throw new MV(J);return O6.Set(J,q),J}Z.Format=Q})(OV||(OV={}))});var uJ=j(()=>{DJ();jV()});function wk(Z,Y){let Q=Y.find((J)=>J.$id===Z.$ref);if(Q===void 0)throw new _V(Z);return j4(Q,Y)}function NV(Z,Y){if(!k6(Z.$id)||Y.some((Q)=>Q.$id===Z.$id))return Y;return Y.push(Z),Y}function j4(Z,Y){return Z[q0]==="This"||Z[q0]==="Ref"?wk(Z,Y):Z}var _V;var IV=j(()=>{N8();h0();_V=class _V extends Q6{constructor(Z){super(`Unable to dereference schema with $id '${Z.$ref}'`);this.schema=Z}}});var dJ=j(()=>{IV()});function*Rk(Z){let Y=Z===0?1:Math.ceil(Math.floor(Math.log2(Z)+1)/8);for(let Q=0;Q<Y;Q++)yield Z>>8*(Y-1-Q)&255}function Tk(Z){D6(x6.Array);for(let Y of Z)MZ(Y)}function kk(Z){D6(x6.Boolean),D6(Z?1:0)}function Ek(Z){D6(x6.BigInt),AV.setBigInt64(0,Z);for(let Y of GV)D6(Y)}function xk(Z){D6(x6.Date),MZ(Z.getTime())}function Pk(Z){D6(x6.Null)}function bk(Z){D6(x6.Number),AV.setFloat64(0,Z);for(let Y of GV)D6(Y)}function vk(Z){D6(x6.Object);for(let Y of globalThis.Object.getOwnPropertyNames(Z).sort())MZ(Y),MZ(Z[Y])}function Sk(Z){D6(x6.String);for(let Y=0;Y<Z.length;Y++)for(let Q of Rk(Z.charCodeAt(Y)))D6(Q)}function yk(Z){D6(x6.Symbol),MZ(Z.description)}function fk(Z){D6(x6.Uint8Array);for(let Y=0;Y<Z.length;Y++)D6(Z[Y])}function hk(Z){return D6(x6.Undefined)}function MZ(Z){if(X8(Z))return Tk(Z);if(KZ(Z))return kk(Z);if(BZ(Z))return Ek(Z);if(zZ(Z))return xk(Z);if(UZ(Z))return Pk(Z);if(u6(Z))return bk(Z);if(WZ(Z))return vk(Z);if(k6(Z))return Sk(Z);if($Z(Z))return yk(Z);if(HZ(Z))return fk(Z);if(d8(Z))return hk(Z);throw new LV(Z)}function D6(Z){DZ=DZ^Ck[Z],DZ=DZ*Ak%Gk}function F5(Z){return DZ=BigInt("14695981039346656037"),MZ(Z),DZ}var LV,x6,DZ,Ak,Gk,Ck,wV,AV,GV;var CV=j(()=>{j1();N8();LV=class LV extends Q6{constructor(Z){super("Unable to hash value");this.value=Z}};(function(Z){Z[Z.Undefined=0]="Undefined",Z[Z.Null=1]="Null",Z[Z.Boolean=2]="Boolean",Z[Z.Number=3]="Number",Z[Z.String=4]="String",Z[Z.Object=5]="Object",Z[Z.Array=6]="Array",Z[Z.Date=7]="Date",Z[Z.Uint8Array=8]="Uint8Array",Z[Z.Symbol=9]="Symbol",Z[Z.BigInt=10]="BigInt"})(x6||(x6={}));DZ=BigInt("14695981039346656037"),[Ak,Gk]=[BigInt("1099511628211"),BigInt("18446744073709551616")],Ck=Array.from({length:256}).map((Z,Y)=>BigInt(Y)),wV=new Float64Array(1),AV=new DataView(wV.buffer),GV=new Uint8Array(wV.buffer)});var cJ=j(()=>{CV()});function RV(Z){let Y=[];for(let Q of Z)Y.push(TV(Q));return Y}function gk(Z){let Y=RV(Z);return tF(Y)}function mk(Z){let Y=RV(Z);return rF(Y)}function pk(Z){return Z.map((Y,Q)=>Q.toString())}function uk(Z){return["[number]"]}function dk(Z){return globalThis.Object.getOwnPropertyNames(Z)}function ck(Z){if(!lJ)return[];return globalThis.Object.getOwnPropertyNames(Z).map((Q)=>{return Q[0]==="^"&&Q[Q.length-1]==="$"?Q.slice(1,Q.length-1):Q})}function TV(Z){return LJ(Z)?gk(Z.allOf):O4(Z)?mk(Z.anyOf):kJ(Z)?pk(Z.items??[]):NJ(Z)?uk(Z.items):GJ(Z)?dk(Z.properties):CJ(Z)?ck(Z.patternProperties):[]}function jZ(Z){lJ=!0;let Y=TV(Z);return lJ=!1,`^(${Y.map((J)=>`(${J})`).join("|")})$`}var lJ=!1;var kV=j(()=>{eF();D4()});var EV=()=>{};var xV=()=>{};var PV=()=>{};var nJ=j(()=>{xV();PV();kV();EV()});var bV;var vV=j(()=>{(function(Z){Z[Z.Union=0]="Union",Z[Z.True=1]="True",Z[Z.False=2]="False"})(bV||(bV={}))});var SV=()=>{};var yV=()=>{};var fV=()=>{};function lk(Z){return Z.allOf.every((Y)=>_4(Y))}function nk(Z){return Z.anyOf.some((Y)=>_4(Y))}function ok(Z){return!_4(Z.not)}function _4(Z){return Z[q0]==="Intersect"?lk(Z):Z[q0]==="Union"?nk(Z):Z[q0]==="Not"?ok(Z):Z[q0]==="Undefined"?!0:!1}var oJ=j(()=>{h0()});var hV=j(()=>{vV();fV();SV();oJ();yV()});function ik(Z){return Z[q0]==="Any"||Z[q0]==="Unknown"}function O0(Z){return Z!==void 0}function sk(Z,Y,Q){return!0}function ak(Z,Y,Q){return!0}function rk(Z,Y,Q){if(!X8(Q))return!1;if(O0(Z.minItems)&&!(Q.length>=Z.minItems))return!1;if(O0(Z.maxItems)&&!(Q.length<=Z.maxItems))return!1;for(let X of Q)if(!J6(Z.items,Y,X))return!1;if(Z.uniqueItems===!0&&!function(){let X=new Set;for(let z of Q){let W=F5(z);if(X.has(W))return!1;else X.add(W)}return!0}())return!1;if(!(O0(Z.contains)||u6(Z.minContains)||u6(Z.maxContains)))return!0;let J=O0(Z.contains)?Z.contains:l8(),q=Q.reduce((X,z)=>J6(J,Y,z)?X+1:X,0);if(q===0)return!1;if(u6(Z.minContains)&&q<Z.minContains)return!1;if(u6(Z.maxContains)&&q>Z.maxContains)return!1;return!0}function tk(Z,Y,Q){return tY(Q)}function ek(Z,Y,Q){if(!BZ(Q))return!1;if(O0(Z.exclusiveMaximum)&&!(Q<Z.exclusiveMaximum))return!1;if(O0(Z.exclusiveMinimum)&&!(Q>Z.exclusiveMinimum))return!1;if(O0(Z.maximum)&&!(Q<=Z.maximum))return!1;if(O0(Z.minimum)&&!(Q>=Z.minimum))return!1;if(O0(Z.multipleOf)&&Q%Z.multipleOf!==BigInt(0))return!1;return!0}function ZE(Z,Y,Q){return KZ(Q)}function YE(Z,Y,Q){return J6(Z.returns,Y,Q.prototype)}function QE(Z,Y,Q){if(!zZ(Q))return!1;if(O0(Z.exclusiveMaximumTimestamp)&&!(Q.getTime()<Z.exclusiveMaximumTimestamp))return!1;if(O0(Z.exclusiveMinimumTimestamp)&&!(Q.getTime()>Z.exclusiveMinimumTimestamp))return!1;if(O0(Z.maximumTimestamp)&&!(Q.getTime()<=Z.maximumTimestamp))return!1;if(O0(Z.minimumTimestamp)&&!(Q.getTime()>=Z.minimumTimestamp))return!1;if(O0(Z.multipleOfTimestamp)&&Q.getTime()%Z.multipleOfTimestamp!==0)return!1;return!0}function JE(Z,Y,Q){return Q5(Q)}function qE(Z,Y,Q){let J=globalThis.Object.values(Z.$defs),q=Z.$defs[Z.$ref];return J6(q,[...Y,...J],Q)}function XE(Z,Y,Q){if(!Y5(Q))return!1;if(O0(Z.exclusiveMaximum)&&!(Q<Z.exclusiveMaximum))return!1;if(O0(Z.exclusiveMinimum)&&!(Q>Z.exclusiveMinimum))return!1;if(O0(Z.maximum)&&!(Q<=Z.maximum))return!1;if(O0(Z.minimum)&&!(Q>=Z.minimum))return!1;if(O0(Z.multipleOf)&&Q%Z.multipleOf!==0)return!1;return!0}function zE(Z,Y,Q){let J=Z.allOf.every((q)=>J6(q,Y,Q));if(Z.unevaluatedProperties===!1){let q=new RegExp(jZ(Z)),X=Object.getOwnPropertyNames(Q).every((z)=>q.test(z));return J&&X}else if(DF(Z.unevaluatedProperties)){let q=new RegExp(jZ(Z)),X=Object.getOwnPropertyNames(Q).every((z)=>q.test(z)||J6(Z.unevaluatedProperties,Y,Q[z]));return J&&X}else return J}function HE(Z,Y,Q){return eY(Q)}function WE(Z,Y,Q){return Q===Z.const}function UE(Z,Y,Q){return!1}function KE(Z,Y,Q){return!J6(Z.not,Y,Q)}function BE(Z,Y,Q){return UZ(Q)}function $E(Z,Y,Q){if(!V6.IsNumberLike(Q))return!1;if(O0(Z.exclusiveMaximum)&&!(Q<Z.exclusiveMaximum))return!1;if(O0(Z.exclusiveMinimum)&&!(Q>Z.exclusiveMinimum))return!1;if(O0(Z.minimum)&&!(Q>=Z.minimum))return!1;if(O0(Z.maximum)&&!(Q<=Z.maximum))return!1;if(O0(Z.multipleOf)&&Q%Z.multipleOf!==0)return!1;return!0}function FE(Z,Y,Q){if(!V6.IsObjectLike(Q))return!1;if(O0(Z.minProperties)&&!(Object.getOwnPropertyNames(Q).length>=Z.minProperties))return!1;if(O0(Z.maxProperties)&&!(Object.getOwnPropertyNames(Q).length<=Z.maxProperties))return!1;let J=Object.getOwnPropertyNames(Z.properties);for(let q of J){let X=Z.properties[q];if(Z.required&&Z.required.includes(q)){if(!J6(X,Y,Q[q]))return!1;if((_4(X)||ik(X))&&!(q in Q))return!1}else if(V6.IsExactOptionalProperty(Q,q)&&!J6(X,Y,Q[q]))return!1}if(Z.additionalProperties===!1){let q=Object.getOwnPropertyNames(Q);if(Z.required&&Z.required.length===J.length&&q.length===J.length)return!0;else return q.every((X)=>J.includes(X))}else if(typeof Z.additionalProperties==="object")return Object.getOwnPropertyNames(Q).every((X)=>J.includes(X)||J6(Z.additionalProperties,Y,Q[X]));else return!0}function VE(Z,Y,Q){return Z5(Q)}function OE(Z,Y,Q){if(!V6.IsRecordLike(Q))return!1;if(O0(Z.minProperties)&&!(Object.getOwnPropertyNames(Q).length>=Z.minProperties))return!1;if(O0(Z.maxProperties)&&!(Object.getOwnPropertyNames(Q).length<=Z.maxProperties))return!1;let[J,q]=Object.entries(Z.patternProperties)[0],X=new RegExp(J),z=Object.entries(Q).every(([K,B])=>{return X.test(K)?J6(q,Y,B):!0}),W=typeof Z.additionalProperties==="object"?Object.entries(Q).every(([K,B])=>{return!X.test(K)?J6(Z.additionalProperties,Y,B):!0}):!0,U=Z.additionalProperties===!1?Object.getOwnPropertyNames(Q).every((K)=>{return X.test(K)}):!0;return z&&W&&U}function DE(Z,Y,Q){return J6(j4(Z,Y),Y,Q)}function ME(Z,Y,Q){let J=new RegExp(Z.source,Z.flags);if(O0(Z.minLength)){if(!(Q.length>=Z.minLength))return!1}if(O0(Z.maxLength)){if(!(Q.length<=Z.maxLength))return!1}return J.test(Q)}function jE(Z,Y,Q){if(!k6(Q))return!1;if(O0(Z.minLength)){if(!(Q.length>=Z.minLength))return!1}if(O0(Z.maxLength)){if(!(Q.length<=Z.maxLength))return!1}if(O0(Z.pattern)){if(!new RegExp(Z.pattern).test(Q))return!1}if(O0(Z.format)){if(!O6.Has(Z.format))return!1;return O6.Get(Z.format)(Q)}return!0}function _E(Z,Y,Q){return $Z(Q)}function NE(Z,Y,Q){return k6(Q)&&new RegExp(Z.pattern).test(Q)}function IE(Z,Y,Q){return J6(j4(Z,Y),Y,Q)}function LE(Z,Y,Q){if(!X8(Q))return!1;if(Z.items===void 0&&Q.length!==0)return!1;if(Q.length!==Z.maxItems)return!1;if(!Z.items)return!0;for(let J=0;J<Z.items.length;J++)if(!J6(Z.items[J],Y,Q[J]))return!1;return!0}function wE(Z,Y,Q){return d8(Q)}function AE(Z,Y,Q){return Z.anyOf.some((J)=>J6(J,Y,Q))}function GE(Z,Y,Q){if(!HZ(Q))return!1;if(O0(Z.maxByteLength)&&!(Q.length<=Z.maxByteLength))return!1;if(O0(Z.minByteLength)&&!(Q.length>=Z.minByteLength))return!1;return!0}function CE(Z,Y,Q){return!0}function RE(Z,Y,Q){return V6.IsVoidLike(Q)}function TE(Z,Y,Q){if(!E6.Has(Z[q0]))return!1;return E6.Get(Z[q0])(Z,Q)}function J6(Z,Y,Q){let J=O0(Z.$id)?NV(Z,Y):Y,q=Z;switch(q[q0]){case"Any":return sk(q,J,Q);case"Argument":return ak(q,J,Q);case"Array":return rk(q,J,Q);case"AsyncIterator":return tk(q,J,Q);case"BigInt":return ek(q,J,Q);case"Boolean":return ZE(q,J,Q);case"Constructor":return YE(q,J,Q);case"Date":return QE(q,J,Q);case"Function":return JE(q,J,Q);case"Import":return qE(q,J,Q);case"Integer":return XE(q,J,Q);case"Intersect":return zE(q,J,Q);case"Iterator":return HE(q,J,Q);case"Literal":return WE(q,J,Q);case"Never":return UE(q,J,Q);case"Not":return KE(q,J,Q);case"Null":return BE(q,J,Q);case"Number":return $E(q,J,Q);case"Object":return FE(q,J,Q);case"Promise":return VE(q,J,Q);case"Record":return OE(q,J,Q);case"Ref":return DE(q,J,Q);case"RegExp":return ME(q,J,Q);case"String":return jE(q,J,Q);case"Symbol":return _E(q,J,Q);case"TemplateLiteral":return NE(q,J,Q);case"This":return IE(q,J,Q);case"Tuple":return LE(q,J,Q);case"Undefined":return wE(q,J,Q);case"Union":return AE(q,J,Q);case"Uint8Array":return GE(q,J,Q);case"Unknown":return CE(q,J,Q);case"Void":return RE(q,J,Q);default:if(!E6.Has(q[q0]))throw new gV(q);return TE(q,J,Q)}}function V5(...Z){return Z.length===3?J6(Z[0],Z[1],Z[2]):J6(Z[0],[],Z[1])}var gV;var mV=j(()=>{uJ();dJ();cJ();h0();nJ();hV();k1();N8();C1();j1();D4();gV=class gV extends Q6{constructor(Z){super("Unknown type");this.schema=Z}}});var iJ=j(()=>{mV()});function kE(Z){switch(Z.errorType){case b.ArrayContains:return"Expected array to contain at least one matching value";case b.ArrayMaxContains:return`Expected array to contain no more than ${Z.schema.maxContains} matching values`;case b.ArrayMinContains:return`Expected array to contain at least ${Z.schema.minContains} matching values`;case b.ArrayMaxItems:return`Expected array length to be less or equal to ${Z.schema.maxItems}`;case b.ArrayMinItems:return`Expected array length to be greater or equal to ${Z.schema.minItems}`;case b.ArrayUniqueItems:return"Expected array elements to be unique";case b.Array:return"Expected array";case b.AsyncIterator:return"Expected AsyncIterator";case b.BigIntExclusiveMaximum:return`Expected bigint to be less than ${Z.schema.exclusiveMaximum}`;case b.BigIntExclusiveMinimum:return`Expected bigint to be greater than ${Z.schema.exclusiveMinimum}`;case b.BigIntMaximum:return`Expected bigint to be less or equal to ${Z.schema.maximum}`;case b.BigIntMinimum:return`Expected bigint to be greater or equal to ${Z.schema.minimum}`;case b.BigIntMultipleOf:return`Expected bigint to be a multiple of ${Z.schema.multipleOf}`;case b.BigInt:return"Expected bigint";case b.Boolean:return"Expected boolean";case b.DateExclusiveMinimumTimestamp:return`Expected Date timestamp to be greater than ${Z.schema.exclusiveMinimumTimestamp}`;case b.DateExclusiveMaximumTimestamp:return`Expected Date timestamp to be less than ${Z.schema.exclusiveMaximumTimestamp}`;case b.DateMinimumTimestamp:return`Expected Date timestamp to be greater or equal to ${Z.schema.minimumTimestamp}`;case b.DateMaximumTimestamp:return`Expected Date timestamp to be less or equal to ${Z.schema.maximumTimestamp}`;case b.DateMultipleOfTimestamp:return`Expected Date timestamp to be a multiple of ${Z.schema.multipleOfTimestamp}`;case b.Date:return"Expected Date";case b.Function:return"Expected function";case b.IntegerExclusiveMaximum:return`Expected integer to be less than ${Z.schema.exclusiveMaximum}`;case b.IntegerExclusiveMinimum:return`Expected integer to be greater than ${Z.schema.exclusiveMinimum}`;case b.IntegerMaximum:return`Expected integer to be less or equal to ${Z.schema.maximum}`;case b.IntegerMinimum:return`Expected integer to be greater or equal to ${Z.schema.minimum}`;case b.IntegerMultipleOf:return`Expected integer to be a multiple of ${Z.schema.multipleOf}`;case b.Integer:return"Expected integer";case b.IntersectUnevaluatedProperties:return"Unexpected property";case b.Intersect:return"Expected all values to match";case b.Iterator:return"Expected Iterator";case b.Literal:return`Expected ${typeof Z.schema.const==="string"?`'${Z.schema.const}'`:Z.schema.const}`;case b.Never:return"Never";case b.Not:return"Value should not match";case b.Null:return"Expected null";case b.NumberExclusiveMaximum:return`Expected number to be less than ${Z.schema.exclusiveMaximum}`;case b.NumberExclusiveMinimum:return`Expected number to be greater than ${Z.schema.exclusiveMinimum}`;case b.NumberMaximum:return`Expected number to be less or equal to ${Z.schema.maximum}`;case b.NumberMinimum:return`Expected number to be greater or equal to ${Z.schema.minimum}`;case b.NumberMultipleOf:return`Expected number to be a multiple of ${Z.schema.multipleOf}`;case b.Number:return"Expected number";case b.Object:return"Expected object";case b.ObjectAdditionalProperties:return"Unexpected property";case b.ObjectMaxProperties:return`Expected object to have no more than ${Z.schema.maxProperties} properties`;case b.ObjectMinProperties:return`Expected object to have at least ${Z.schema.minProperties} properties`;case b.ObjectRequiredProperty:return"Expected required property";case b.Promise:return"Expected Promise";case b.RegExp:return"Expected string to match regular expression";case b.StringFormatUnknown:return`Unknown format '${Z.schema.format}'`;case b.StringFormat:return`Expected string to match '${Z.schema.format}' format`;case b.StringMaxLength:return`Expected string length less or equal to ${Z.schema.maxLength}`;case b.StringMinLength:return`Expected string length greater or equal to ${Z.schema.minLength}`;case b.StringPattern:return`Expected string to match '${Z.schema.pattern}'`;case b.String:return"Expected string";case b.Symbol:return"Expected symbol";case b.TupleLength:return`Expected tuple to have ${Z.schema.maxItems||0} elements`;case b.Tuple:return"Expected tuple";case b.Uint8ArrayMaxByteLength:return`Expected byte length less or equal to ${Z.schema.maxByteLength}`;case b.Uint8ArrayMinByteLength:return`Expected byte length greater or equal to ${Z.schema.minByteLength}`;case b.Uint8Array:return"Expected Uint8Array";case b.Undefined:return"Expected undefined";case b.Union:return"Expected union value";case b.Void:return"Expected void";case b.Kind:return`Expected kind '${Z.schema[q0]}'`;default:return"Unknown error type"}}function pV(){return EE}var EE;var sJ=j(()=>{h0();aJ();EE=kE});function L8(Z){return Z.replace(/~/g,"~0").replace(/\//g,"~1")}function D0(Z){return Z!==void 0}function i(Z,Y,Q,J,q=[]){return{type:Z,schema:Y,path:Q,value:J,message:pV()({errorType:Z,path:Q,schema:Y,value:J,errors:q}),errors:q}}function*xE(Z,Y,Q,J){}function*PE(Z,Y,Q,J){}function*bE(Z,Y,Q,J){if(!X8(J))return yield i(b.Array,Z,Q,J);if(D0(Z.minItems)&&!(J.length>=Z.minItems))yield i(b.ArrayMinItems,Z,Q,J);if(D0(Z.maxItems)&&!(J.length<=Z.maxItems))yield i(b.ArrayMaxItems,Z,Q,J);for(let z=0;z<J.length;z++)yield*q6(Z.items,Y,`${Q}/${z}`,J[z]);if(Z.uniqueItems===!0&&!function(){let z=new Set;for(let W of J){let U=F5(W);if(z.has(U))return!1;else z.add(U)}return!0}())yield i(b.ArrayUniqueItems,Z,Q,J);if(!(D0(Z.contains)||D0(Z.minContains)||D0(Z.maxContains)))return;let q=D0(Z.contains)?Z.contains:l8(),X=J.reduce((z,W,U)=>q6(q,Y,`${Q}${U}`,W).next().done===!0?z+1:z,0);if(X===0)yield i(b.ArrayContains,Z,Q,J);if(u6(Z.minContains)&&X<Z.minContains)yield i(b.ArrayMinContains,Z,Q,J);if(u6(Z.maxContains)&&X>Z.maxContains)yield i(b.ArrayMaxContains,Z,Q,J)}function*vE(Z,Y,Q,J){if(!tY(J))yield i(b.AsyncIterator,Z,Q,J)}function*SE(Z,Y,Q,J){if(!BZ(J))return yield i(b.BigInt,Z,Q,J);if(D0(Z.exclusiveMaximum)&&!(J<Z.exclusiveMaximum))yield i(b.BigIntExclusiveMaximum,Z,Q,J);if(D0(Z.exclusiveMinimum)&&!(J>Z.exclusiveMinimum))yield i(b.BigIntExclusiveMinimum,Z,Q,J);if(D0(Z.maximum)&&!(J<=Z.maximum))yield i(b.BigIntMaximum,Z,Q,J);if(D0(Z.minimum)&&!(J>=Z.minimum))yield i(b.BigIntMinimum,Z,Q,J);if(D0(Z.multipleOf)&&J%Z.multipleOf!==BigInt(0))yield i(b.BigIntMultipleOf,Z,Q,J)}function*yE(Z,Y,Q,J){if(!KZ(J))yield i(b.Boolean,Z,Q,J)}function*fE(Z,Y,Q,J){yield*q6(Z.returns,Y,Q,J.prototype)}function*hE(Z,Y,Q,J){if(!zZ(J))return yield i(b.Date,Z,Q,J);if(D0(Z.exclusiveMaximumTimestamp)&&!(J.getTime()<Z.exclusiveMaximumTimestamp))yield i(b.DateExclusiveMaximumTimestamp,Z,Q,J);if(D0(Z.exclusiveMinimumTimestamp)&&!(J.getTime()>Z.exclusiveMinimumTimestamp))yield i(b.DateExclusiveMinimumTimestamp,Z,Q,J);if(D0(Z.maximumTimestamp)&&!(J.getTime()<=Z.maximumTimestamp))yield i(b.DateMaximumTimestamp,Z,Q,J);if(D0(Z.minimumTimestamp)&&!(J.getTime()>=Z.minimumTimestamp))yield i(b.DateMinimumTimestamp,Z,Q,J);if(D0(Z.multipleOfTimestamp)&&J.getTime()%Z.multipleOfTimestamp!==0)yield i(b.DateMultipleOfTimestamp,Z,Q,J)}function*gE(Z,Y,Q,J){if(!Q5(J))yield i(b.Function,Z,Q,J)}function*mE(Z,Y,Q,J){let q=globalThis.Object.values(Z.$defs),X=Z.$defs[Z.$ref];yield*q6(X,[...Y,...q],Q,J)}function*pE(Z,Y,Q,J){if(!Y5(J))return yield i(b.Integer,Z,Q,J);if(D0(Z.exclusiveMaximum)&&!(J<Z.exclusiveMaximum))yield i(b.IntegerExclusiveMaximum,Z,Q,J);if(D0(Z.exclusiveMinimum)&&!(J>Z.exclusiveMinimum))yield i(b.IntegerExclusiveMinimum,Z,Q,J);if(D0(Z.maximum)&&!(J<=Z.maximum))yield i(b.IntegerMaximum,Z,Q,J);if(D0(Z.minimum)&&!(J>=Z.minimum))yield i(b.IntegerMinimum,Z,Q,J);if(D0(Z.multipleOf)&&J%Z.multipleOf!==0)yield i(b.IntegerMultipleOf,Z,Q,J)}function*uE(Z,Y,Q,J){let q=!1;for(let X of Z.allOf)for(let z of q6(X,Y,Q,J))q=!0,yield z;if(q)return yield i(b.Intersect,Z,Q,J);if(Z.unevaluatedProperties===!1){let X=new RegExp(jZ(Z));for(let z of Object.getOwnPropertyNames(J))if(!X.test(z))yield i(b.IntersectUnevaluatedProperties,Z,`${Q}/${z}`,J)}if(typeof Z.unevaluatedProperties==="object"){let X=new RegExp(jZ(Z));for(let z of Object.getOwnPropertyNames(J))if(!X.test(z)){let W=q6(Z.unevaluatedProperties,Y,`${Q}/${z}`,J[z]).next();if(!W.done)yield W.value}}}function*dE(Z,Y,Q,J){if(!eY(J))yield i(b.Iterator,Z,Q,J)}function*cE(Z,Y,Q,J){if(J!==Z.const)yield i(b.Literal,Z,Q,J)}function*lE(Z,Y,Q,J){yield i(b.Never,Z,Q,J)}function*nE(Z,Y,Q,J){if(q6(Z.not,Y,Q,J).next().done===!0)yield i(b.Not,Z,Q,J)}function*oE(Z,Y,Q,J){if(!UZ(J))yield i(b.Null,Z,Q,J)}function*iE(Z,Y,Q,J){if(!V6.IsNumberLike(J))return yield i(b.Number,Z,Q,J);if(D0(Z.exclusiveMaximum)&&!(J<Z.exclusiveMaximum))yield i(b.NumberExclusiveMaximum,Z,Q,J);if(D0(Z.exclusiveMinimum)&&!(J>Z.exclusiveMinimum))yield i(b.NumberExclusiveMinimum,Z,Q,J);if(D0(Z.maximum)&&!(J<=Z.maximum))yield i(b.NumberMaximum,Z,Q,J);if(D0(Z.minimum)&&!(J>=Z.minimum))yield i(b.NumberMinimum,Z,Q,J);if(D0(Z.multipleOf)&&J%Z.multipleOf!==0)yield i(b.NumberMultipleOf,Z,Q,J)}function*sE(Z,Y,Q,J){if(!V6.IsObjectLike(J))return yield i(b.Object,Z,Q,J);if(D0(Z.minProperties)&&!(Object.getOwnPropertyNames(J).length>=Z.minProperties))yield i(b.ObjectMinProperties,Z,Q,J);if(D0(Z.maxProperties)&&!(Object.getOwnPropertyNames(J).length<=Z.maxProperties))yield i(b.ObjectMaxProperties,Z,Q,J);let q=Array.isArray(Z.required)?Z.required:[],X=Object.getOwnPropertyNames(Z.properties),z=Object.getOwnPropertyNames(J);for(let W of q){if(z.includes(W))continue;yield i(b.ObjectRequiredProperty,Z.properties[W],`${Q}/${L8(W)}`,void 0)}if(Z.additionalProperties===!1){for(let W of z)if(!X.includes(W))yield i(b.ObjectAdditionalProperties,Z,`${Q}/${L8(W)}`,J[W])}if(typeof Z.additionalProperties==="object")for(let W of z){if(X.includes(W))continue;yield*q6(Z.additionalProperties,Y,`${Q}/${L8(W)}`,J[W])}for(let W of X){let U=Z.properties[W];if(Z.required&&Z.required.includes(W)){if(yield*q6(U,Y,`${Q}/${L8(W)}`,J[W]),_4(Z)&&!(W in J))yield i(b.ObjectRequiredProperty,U,`${Q}/${L8(W)}`,void 0)}else if(V6.IsExactOptionalProperty(J,W))yield*q6(U,Y,`${Q}/${L8(W)}`,J[W])}}function*aE(Z,Y,Q,J){if(!Z5(J))yield i(b.Promise,Z,Q,J)}function*rE(Z,Y,Q,J){if(!V6.IsRecordLike(J))return yield i(b.Object,Z,Q,J);if(D0(Z.minProperties)&&!(Object.getOwnPropertyNames(J).length>=Z.minProperties))yield i(b.ObjectMinProperties,Z,Q,J);if(D0(Z.maxProperties)&&!(Object.getOwnPropertyNames(J).length<=Z.maxProperties))yield i(b.ObjectMaxProperties,Z,Q,J);let[q,X]=Object.entries(Z.patternProperties)[0],z=new RegExp(q);for(let[W,U]of Object.entries(J))if(z.test(W))yield*q6(X,Y,`${Q}/${L8(W)}`,U);if(typeof Z.additionalProperties==="object"){for(let[W,U]of Object.entries(J))if(!z.test(W))yield*q6(Z.additionalProperties,Y,`${Q}/${L8(W)}`,U)}if(Z.additionalProperties===!1)for(let[W,U]of Object.entries(J)){if(z.test(W))continue;return yield i(b.ObjectAdditionalProperties,Z,`${Q}/${L8(W)}`,U)}}function*tE(Z,Y,Q,J){yield*q6(j4(Z,Y),Y,Q,J)}function*eE(Z,Y,Q,J){if(!k6(J))return yield i(b.String,Z,Q,J);if(D0(Z.minLength)&&!(J.length>=Z.minLength))yield i(b.StringMinLength,Z,Q,J);if(D0(Z.maxLength)&&!(J.length<=Z.maxLength))yield i(b.StringMaxLength,Z,Q,J);if(!new RegExp(Z.source,Z.flags).test(J))return yield i(b.RegExp,Z,Q,J)}function*Zx(Z,Y,Q,J){if(!k6(J))return yield i(b.String,Z,Q,J);if(D0(Z.minLength)&&!(J.length>=Z.minLength))yield i(b.StringMinLength,Z,Q,J);if(D0(Z.maxLength)&&!(J.length<=Z.maxLength))yield i(b.StringMaxLength,Z,Q,J);if(k6(Z.pattern)){if(!new RegExp(Z.pattern).test(J))yield i(b.StringPattern,Z,Q,J)}if(k6(Z.format)){if(!O6.Has(Z.format))yield i(b.StringFormatUnknown,Z,Q,J);else if(!O6.Get(Z.format)(J))yield i(b.StringFormat,Z,Q,J)}}function*Yx(Z,Y,Q,J){if(!$Z(J))yield i(b.Symbol,Z,Q,J)}function*Qx(Z,Y,Q,J){if(!k6(J))return yield i(b.String,Z,Q,J);if(!new RegExp(Z.pattern).test(J))yield i(b.StringPattern,Z,Q,J)}function*Jx(Z,Y,Q,J){yield*q6(j4(Z,Y),Y,Q,J)}function*qx(Z,Y,Q,J){if(!X8(J))return yield i(b.Tuple,Z,Q,J);if(Z.items===void 0&&J.length!==0)return yield i(b.TupleLength,Z,Q,J);if(J.length!==Z.maxItems)return yield i(b.TupleLength,Z,Q,J);if(!Z.items)return;for(let q=0;q<Z.items.length;q++)yield*q6(Z.items[q],Y,`${Q}/${q}`,J[q])}function*Xx(Z,Y,Q,J){if(!d8(J))yield i(b.Undefined,Z,Q,J)}function*zx(Z,Y,Q,J){if(V5(Z,Y,J))return;let q=Z.anyOf.map((X)=>new rJ(q6(X,Y,Q,J)));yield i(b.Union,Z,Q,J,q)}function*Hx(Z,Y,Q,J){if(!HZ(J))return yield i(b.Uint8Array,Z,Q,J);if(D0(Z.maxByteLength)&&!(J.length<=Z.maxByteLength))yield i(b.Uint8ArrayMaxByteLength,Z,Q,J);if(D0(Z.minByteLength)&&!(J.length>=Z.minByteLength))yield i(b.Uint8ArrayMinByteLength,Z,Q,J)}function*Wx(Z,Y,Q,J){}function*Ux(Z,Y,Q,J){if(!V6.IsVoidLike(J))yield i(b.Void,Z,Q,J)}function*Kx(Z,Y,Q,J){if(!E6.Get(Z[q0])(Z,J))yield i(b.Kind,Z,Q,J)}function*q6(Z,Y,Q,J){let q=D0(Z.$id)?[...Y,Z]:Y,X=Z;switch(X[q0]){case"Any":return yield*xE(X,q,Q,J);case"Argument":return yield*PE(X,q,Q,J);case"Array":return yield*bE(X,q,Q,J);case"AsyncIterator":return yield*vE(X,q,Q,J);case"BigInt":return yield*SE(X,q,Q,J);case"Boolean":return yield*yE(X,q,Q,J);case"Constructor":return yield*fE(X,q,Q,J);case"Date":return yield*hE(X,q,Q,J);case"Function":return yield*gE(X,q,Q,J);case"Import":return yield*mE(X,q,Q,J);case"Integer":return yield*pE(X,q,Q,J);case"Intersect":return yield*uE(X,q,Q,J);case"Iterator":return yield*dE(X,q,Q,J);case"Literal":return yield*cE(X,q,Q,J);case"Never":return yield*lE(X,q,Q,J);case"Not":return yield*nE(X,q,Q,J);case"Null":return yield*oE(X,q,Q,J);case"Number":return yield*iE(X,q,Q,J);case"Object":return yield*sE(X,q,Q,J);case"Promise":return yield*aE(X,q,Q,J);case"Record":return yield*rE(X,q,Q,J);case"Ref":return yield*tE(X,q,Q,J);case"RegExp":return yield*eE(X,q,Q,J);case"String":return yield*Zx(X,q,Q,J);case"Symbol":return yield*Yx(X,q,Q,J);case"TemplateLiteral":return yield*Qx(X,q,Q,J);case"This":return yield*Jx(X,q,Q,J);case"Tuple":return yield*qx(X,q,Q,J);case"Undefined":return yield*Xx(X,q,Q,J);case"Union":return yield*zx(X,q,Q,J);case"Uint8Array":return yield*Hx(X,q,Q,J);case"Unknown":return yield*Wx(X,q,Q,J);case"Void":return yield*Ux(X,q,Q,J);default:if(!E6.Has(X[q0]))throw new uV(Z);return yield*Kx(X,q,Q,J)}}function dV(...Z){let Y=Z.length===3?q6(Z[0],Z[1],"",Z[2]):q6(Z[0],[],"",Z[1]);return new rJ(Y)}var b,uV,rJ;var aJ=j(()=>{uJ();nJ();k1();oJ();sJ();N8();dJ();cJ();iJ();h0();C1();j1();(function(Z){Z[Z.ArrayContains=0]="ArrayContains",Z[Z.ArrayMaxContains=1]="ArrayMaxContains",Z[Z.ArrayMaxItems=2]="ArrayMaxItems",Z[Z.ArrayMinContains=3]="ArrayMinContains",Z[Z.ArrayMinItems=4]="ArrayMinItems",Z[Z.ArrayUniqueItems=5]="ArrayUniqueItems",Z[Z.Array=6]="Array",Z[Z.AsyncIterator=7]="AsyncIterator",Z[Z.BigIntExclusiveMaximum=8]="BigIntExclusiveMaximum",Z[Z.BigIntExclusiveMinimum=9]="BigIntExclusiveMinimum",Z[Z.BigIntMaximum=10]="BigIntMaximum",Z[Z.BigIntMinimum=11]="BigIntMinimum",Z[Z.BigIntMultipleOf=12]="BigIntMultipleOf",Z[Z.BigInt=13]="BigInt",Z[Z.Boolean=14]="Boolean",Z[Z.DateExclusiveMaximumTimestamp=15]="DateExclusiveMaximumTimestamp",Z[Z.DateExclusiveMinimumTimestamp=16]="DateExclusiveMinimumTimestamp",Z[Z.DateMaximumTimestamp=17]="DateMaximumTimestamp",Z[Z.DateMinimumTimestamp=18]="DateMinimumTimestamp",Z[Z.DateMultipleOfTimestamp=19]="DateMultipleOfTimestamp",Z[Z.Date=20]="Date",Z[Z.Function=21]="Function",Z[Z.IntegerExclusiveMaximum=22]="IntegerExclusiveMaximum",Z[Z.IntegerExclusiveMinimum=23]="IntegerExclusiveMinimum",Z[Z.IntegerMaximum=24]="IntegerMaximum",Z[Z.IntegerMinimum=25]="IntegerMinimum",Z[Z.IntegerMultipleOf=26]="IntegerMultipleOf",Z[Z.Integer=27]="Integer",Z[Z.IntersectUnevaluatedProperties=28]="IntersectUnevaluatedProperties",Z[Z.Intersect=29]="Intersect",Z[Z.Iterator=30]="Iterator",Z[Z.Kind=31]="Kind",Z[Z.Literal=32]="Literal",Z[Z.Never=33]="Never",Z[Z.Not=34]="Not",Z[Z.Null=35]="Null",Z[Z.NumberExclusiveMaximum=36]="NumberExclusiveMaximum",Z[Z.NumberExclusiveMinimum=37]="NumberExclusiveMinimum",Z[Z.NumberMaximum=38]="NumberMaximum",Z[Z.NumberMinimum=39]="NumberMinimum",Z[Z.NumberMultipleOf=40]="NumberMultipleOf",Z[Z.Number=41]="Number",Z[Z.ObjectAdditionalProperties=42]="ObjectAdditionalProperties",Z[Z.ObjectMaxProperties=43]="ObjectMaxProperties",Z[Z.ObjectMinProperties=44]="ObjectMinProperties",Z[Z.ObjectRequiredProperty=45]="ObjectRequiredProperty",Z[Z.Object=46]="Object",Z[Z.Promise=47]="Promise",Z[Z.RegExp=48]="RegExp",Z[Z.StringFormatUnknown=49]="StringFormatUnknown",Z[Z.StringFormat=50]="StringFormat",Z[Z.StringMaxLength=51]="StringMaxLength",Z[Z.StringMinLength=52]="StringMinLength",Z[Z.StringPattern=53]="StringPattern",Z[Z.String=54]="String",Z[Z.Symbol=55]="Symbol",Z[Z.TupleLength=56]="TupleLength",Z[Z.Tuple=57]="Tuple",Z[Z.Uint8ArrayMaxByteLength=58]="Uint8ArrayMaxByteLength",Z[Z.Uint8ArrayMinByteLength=59]="Uint8ArrayMinByteLength",Z[Z.Uint8Array=60]="Uint8Array",Z[Z.Undefined=61]="Undefined",Z[Z.Union=62]="Union",Z[Z.Void=63]="Void"})(b||(b={}));uV=class uV extends Q6{constructor(Z){super("Unknown type");this.schema=Z}};rJ=class rJ{constructor(Z){this.iterator=Z}[Symbol.iterator](){return this.iterator}First(){let Z=this.iterator.next();return Z.done?void 0:Z.value}}});var cV=j(()=>{aJ();sJ()});function D5(Z){let Y=lV;for(let Q of Z.split("."))if(Y=Y?.properties?.[Q],!Y)return;return Y}function _Z(Z,Y){if(O5.Check(Z,Y))return Y;let Q=[...O5.Errors(Z,Y)][0],J=Q?.path?`${Q.path}: `:"";throw Error(`${J}${Q?.message??"Value does not match schema"}`)}function M5(Z,Y){let Q=D5(Z);if(!Q)return{valid:!1,message:`Unknown configuration key '${Z}'.`};if(O5.Check(Q,Y))return{valid:!0};let J=Bx(Q);if(J.length>0)return{valid:!1,message:`Expected one of ${J.join(", ")} for '${Z}', got '${String(Y)}'.`};let q=[...O5.Errors(Q,Y)][0];return{valid:!1,message:`Invalid value for '${Z}': ${q?.message??"schema validation failed"}.`}}function j5(Z,Y){let Q=D5(Z);if(!Q)return{ok:!1,message:`Unknown configuration key '${Z}'.`};let J=Y,q=$x(Q);if(q==="number"||q==="integer"){let z=Number(Y);if(Number.isNaN(z))return{ok:!1,message:`Expected a number for '${Z}', got '${Y}'`};J=z}else if(q==="boolean"){if(!["true","false","on","off"].includes(Y.toLowerCase()))return{ok:!1,message:`Expected a boolean for '${Z}', got '${Y}'`};J=["true","on"].includes(Y.toLowerCase())}else if(q==="array")try{J=JSON.parse(Y)}catch{return{ok:!1,message:`Expected a JSON array for '${Z}', got '${Y}'. Example: ["**/*.foo"]`}}else if(Fx(Q)&&Y.toLowerCase()==="null")J=null;let X=M5(Z,J);if(!X.valid)return{ok:!1,message:X.message??`Invalid value for '${Z}'.`};return{ok:!0,value:J}}function Bx(Z){return tJ(Z).map((Q)=>Q.const).filter((Q)=>typeof Q==="string")}function $x(Z){let Y=Z.type;if(Y)return Y;for(let Q of tJ(Z)){let J=Q.type;if(J&&J!=="null")return J}return}function tJ(Z){return Z.anyOf??Z.oneOf??Z.allOf??[]}function Fx(Z){if(Z.type==="null")return!0;return tJ(Z).some((Y)=>Y.type==="null")}var f,O5;var w8=j(()=>{t$();QF();XF();WF();BF();VF();EJ();JV();zV();k1();gF();xJ();BV();iJ();cV();E1();f={Array:a$,Boolean:ZF,Integer:JF,Literal:zF,Null:UF,Number:$F,Object:G1,Optional:$5,Record:qV,String:fF,Union:W5,Unknown:UV},O5={Check:V5,Errors:dV}});var Vx,x1;var nV=j(()=>{w8();Vx=["submodule","env","pkg"],x1={parallelInit:"parallel-init",colonSeparatedPatterns:"colon-separated-patterns"};O6.Set(x1.parallelInit,(Z)=>{if(Z.trim()==="")return!0;return Z.split(",").map((Y)=>Y.trim().toLowerCase()).filter((Y)=>Y.length>0).every((Y)=>Vx.includes(Y))});O6.Set(x1.colonSeparatedPatterns,(Z)=>{if(Z==="")return!0;return Z.split(":").every((Y)=>Y.trim().length>0)})});var lV,eJ,N4,oV,Z3;var E1=j(()=>{nV();w8();H0();lV=f.Object({llm:f.Optional(f.Object({provider:f.Optional(f.String()),apiKey:f.Optional(f.String()),baseUrl:f.Optional(f.String()),model:f.Optional(f.String()),temperature:f.Optional(f.Number({minimum:0,maximum:2})),maxTokens:f.Optional(f.Integer({minimum:1})),showThinking:f.Optional(f.Boolean())})),lint:f.Optional(f.Object({onPushBehavior:f.Optional(f.Union([f.Literal("off"),f.Literal("error"),f.Literal("warning")])),maxFileSizeKb:f.Optional(f.Integer({minimum:1}))})),stash:f.Optional(f.Object({undoLimit:f.Optional(f.Integer({minimum:0}))})),commit:f.Optional(f.Object({commitPattern:f.Optional(f.Union([f.Literal("inherit"),f.Literal("comprehensive")])),guidelineCacheDays:f.Optional(f.Integer({minimum:0})),noisyFiles:f.Optional(f.Array(f.String()))})),reword:f.Optional(f.Object({editor:f.Optional(f.Union([f.String(),f.Null()]))})),cache:f.Optional(f.Object({enabled:f.Optional(f.Boolean()),maxAgeMinutes:f.Optional(f.Number({minimum:0}))})),parallel:f.Optional(f.Object({init:f.Optional(f.String({format:x1.parallelInit})),envPaths:f.Optional(f.String({format:x1.colonSeparatedPatterns}))})),viewer:f.Optional(f.Object({highlighting:f.Optional(f.Object({useAdditionalContext:f.Optional(f.Boolean()),maxHunkSize:f.Optional(f.Integer({minimum:1}))})),exitBehavior:f.Optional(f.Union([f.Literal("clearScreen"),f.Literal("nextLine")]))})),defaultEditor:f.String(),enhancedOutput:f.Optional(f.Boolean()),useInlineSubmodule:f.Optional(f.Union([f.Literal("off"),f.Literal("internal"),f.Literal("all")])),useInlineGitConfig:f.Optional(f.Union([f.Literal("off"),f.Literal("internal")])),maxThreadWorkers:f.Optional(f.Integer({minimum:1}))}),eJ=["**/package-lock.json","**/bun.lock","**/yarn.lock","**/pnpm-lock.yaml","**/npm-shrinkwrap.json","**/__snapshots__/*.snap","**/*.snap","**/dist/**","**/build/**","**/coverage/**","**/out/**","**/*.min.js","**/*.min.css"],N4={llm:{provider:"openai",model:"gpt-5-nano",temperature:0.14,maxTokens:void 0,apiKey:void 0,baseUrl:void 0,showThinking:!1},lint:{onPushBehavior:"off",maxFileSizeKb:1024},stash:{undoLimit:10},commit:{commitPattern:"inherit",guidelineCacheDays:30,noisyFiles:[...eJ]},reword:{editor:null},cache:{enabled:!0,maxAgeMinutes:_7},parallel:{init:"submodule,env",envPaths:""},viewer:{highlighting:{useAdditionalContext:!0,maxHunkSize:200000},exitBehavior:"nextLine"},defaultEditor:"code",enhancedOutput:!0,useInlineSubmodule:"internal",useInlineGitConfig:"internal",maxThreadWorkers:8},oV={"llm.provider":"GDX_LLM_PROVIDER","llm.apiKey":"GDX_LLM_API_KEY","llm.baseUrl":"GDX_LLM_BASE_URL","llm.model":"GDX_LLM_MODEL","llm.temperature":"GDX_LLM_TEMPERATURE","llm.maxTokens":"GDX_LLM_MAX_TOKENS","llm.showThinking":"GDX_LLM_SHOW_THINKING","lint.onPushBehavior":"GDX_LINT_ON_PUSH_BEHAVIOR","lint.maxFileSizeKb":"GDX_LINT_MAX_FILE_SIZE_KB","stash.undoLimit":"GDX_STASH_UNDO_LIMIT","commit.commitPattern":"GDX_COMMIT_PATTERN","commit.guidelineCacheDays":"GDX_COMMIT_GUIDELINE_CACHE_DAYS","reword.editor":"GDX_REWORD_EDITOR","cache.enabled":"GDX_CACHE_ENABLED","cache.maxAgeMinutes":"GDX_CACHE_MAX_AGE_MINUTES","parallel.init":"GDX_PARALLEL_INIT","parallel.envPaths":"GDX_PARALLEL_ENV_PATHS","viewer.highlighting.useAdditionalContext":"GDX_VIEWER_HIGHLIGHTING_USE_ADDITIONAL_CONTEXT","viewer.highlighting.maxHunkSize":"GDX_VIEWER_HIGHLIGHTING_MAX_HUNK_SIZE","viewer.exitBehavior":"GDX_VIEWER_EXIT_BEHAVIOR",defaultEditor:"GDX_DEFAULT_EDITOR",enhancedOutput:"GDX_ENHANCED_OUTPUT",useInlineSubmodule:"GDX_USE_INLINE_SUBMODULE",useInlineGitConfig:"GDX_USE_INLINE_GIT_CONFIG",maxThreadWorkers:"GDX_MAX_THREAD_WORKERS"},Z3={llm:"Configuration for the Language Model (LLM) integration","llm.provider":"LLM provider to use (e.g., openai)","llm.apiKey":"API key for the LLM provider","llm.baseUrl":"Base URL for the LLM API (optional)","llm.model":"Model to use for LLM requests","llm.temperature":"Temperature for LLM generation (0-2)","llm.maxTokens":"Maximum tokens for LLM responses","llm.showThinking":"Whether to show part of LLM reasoning messages",lint:"Configuration for post-commit linting","lint.onPushBehavior":"Lint behavior before push (off, error, warning)","lint.maxFileSizeKb":"Maximum allowed file size in KiB","stash.undoLimit":"Max number of stash drops to keep in history",commit:"Configuration for commit message generation","commit.commitPattern":"Commit message pattern (inherit: learn from repo, comprehensive: fixed format)","commit.guidelineCacheDays":"Days to cache learned commit guidelines per repository","commit.noisyFiles":"Files treated as noisy in commit auto diff summary (array of glob patterns matching relative paths)",reword:"Configuration for rewording commit messages","reword.editor":"Editor command used by gdx reword (overrides global editor when set)",cache:`Configuration for caching mechanism.
349
- Values that are expensive to get are cached for faster subsequent access.`,"cache.enabled":"Whether caching is enabled","cache.maxAgeMinutes":"Default maximum age of cache entries in minutes (some cache ignore this)",parallel:"Configuration for parallel worktree automation","parallel.init":"Comma-separated list specifying what to init for new forks (submodule, env, pkg)","parallel.envPaths":"Colon-separated list of .gitignore patterns for env files to copy into new forks",viewer:"Configuration for enhanced terminal viewers","viewer.highlighting":"Configuration for syntax highlighting in enhanced viewers","viewer.highlighting.useAdditionalContext":"Highlight diffs by loading full old/new file contents from git object history when commit refs are available","viewer.highlighting.maxHunkSize":"Maximum full file size in characters to syntax-highlight when additional context is enabled","viewer.exitBehavior":"Behavior when exiting the pager ('nextLine' keeps content in scroll buffer, 'clearScreen' removes pager content from scroll buffer, and 'none' leaves the content and cursor position unchanged)",defaultEditor:"Default code editor to open files with",enhancedOutput:"Whether to enhanced Git's output (modify the output of some git commands when conditions are met)",useInlineSubmodule:"[Experimental] Select submodule implementation mode (off: git-only, internal: gdx internal flow, all: reserved for broader internal usage)",useInlineGitConfig:"[Experimental] Select git config implementation mode (off: use git executable, internal: read/write git config files directly)",maxThreadWorkers:"Maximum number of worker threads for process spawning and high resource intensive tasks (default: 8)"}});import I4 from"fs";import iV from"path";var sV=null,_5,Ox,Dx,Mx,U0,M;var w0=j(()=>{z0();H0();v0();_5={off:-1,fatal:0,error:1,warn:2,info:3,debug:4,verbose:5},Ox={off:"BgBlue",fatal:"BgRed",error:"BgRed",warn:"BgYellow",info:"BgBlue",debug:"BgMagenta",verbose:"BgCyan"},Dx={off:"",fatal:"FATAL",error:"ERROR",warn:"WARN",info:"INFO",debug:"DEBUG",verbose:"VERBOSE"},Mx={off:"Cyan",fatal:"Red",error:"Red",warn:"Yellow",info:"Cyan",debug:"Magenta",verbose:"Blue"};U0=class U0{static logFile=dX;static logLevel=_5[p.logLevel];static timeLabels=new Map;moduleName;static initialized=!1;static allLogs=[{timestamp:new Date().toISOString(),level:"info",message:`
348
+ */});function Y5(Z){return BZ(Z)&&globalThis.Symbol.asyncIterator in Z}function Q5(Z){return BZ(Z)&&globalThis.Symbol.iterator in Z}function J5(Z){return Z instanceof globalThis.Promise}function UZ(Z){return Z instanceof Date&&globalThis.Number.isFinite(Z.getTime())}function KZ(Z){return Z instanceof globalThis.Uint8Array}function BZ(Z){return Z!==null&&typeof Z==="object"}function H4(Z){return globalThis.Array.isArray(Z)&&!globalThis.ArrayBuffer.isView(Z)}function l4(Z){return Z===void 0}function $Z(Z){return Z===null}function FZ(Z){return typeof Z==="boolean"}function d6(Z){return typeof Z==="number"}function q5(Z){return globalThis.Number.isInteger(Z)}function VZ(Z){return typeof Z==="bigint"}function E6(Z){return typeof Z==="string"}function X5(Z){return typeof Z==="function"}function OZ(Z){return typeof Z==="symbol"}var N1=()=>{};var D6;var w3=N(()=>{N1();(function(Z){Z.InstanceMode="default",Z.ExactOptionalPropertyTypes=!1,Z.AllowArrayObject=!1,Z.AllowNaN=!1,Z.AllowNullVoid=!1;function Y(z,W){return Z.ExactOptionalPropertyTypes?W in z:z[W]!==void 0}Z.IsExactOptionalProperty=Y;function Q(z){let W=BZ(z);return Z.AllowArrayObject?W:W&&!H4(z)}Z.IsObjectLike=Q;function J(z){return Q(z)&&!(z instanceof Date)&&!(z instanceof Uint8Array)}Z.IsRecordLike=J;function q(z){return Z.AllowNaN?d6(z):Number.isFinite(z)}Z.IsNumberLike=q;function X(z){let W=l4(z);return Z.AllowNullVoid?W||z===null:W}Z.IsVoidLike=X})(D6||(D6={}))});function z5(Z){return Array.isArray(Z)}function H5(Z){return Z instanceof globalThis.Date}function n4(Z){return typeof Z==="object"&&Z!==null}function W5(Z){return Z instanceof globalThis.RegExp}function YF(Z){return typeof Z==="string"}function U5(Z){return Z instanceof globalThis.Uint8Array}function QF(Z){return Z===void 0}function DT(Z){return globalThis.Object.freeze(Z).map((Y)=>I1(Y))}function MT(Z){return Z}function jT(Z){return Z}function _T(Z){return Z}function NT(Z){let Y={};for(let Q of Object.getOwnPropertyNames(Z))Y[Q]=I1(Z[Q]);for(let Q of Object.getOwnPropertySymbols(Z))Y[Q]=I1(Z[Q]);return globalThis.Object.freeze(Y)}function I1(Z){return z5(Z)?DT(Z):H5(Z)?MT(Z):U5(Z)?jT(Z):W5(Z)?_T(Z):n4(Z)?NT(Z):Z}var JF=()=>{};function IT(Z){return Z.map((Y)=>K5(Y))}function LT(Z){return new Date(Z.getTime())}function wT(Z){return new Uint8Array(Z)}function AT(Z){return new RegExp(Z.source,Z.flags)}function GT(Z){let Y={};for(let Q of Object.getOwnPropertyNames(Z))Y[Q]=K5(Z[Q]);for(let Q of Object.getOwnPropertySymbols(Z))Y[Q]=K5(Z[Q]);return Y}function K5(Z){return z5(Z)?IT(Z):H5(Z)?LT(Z):U5(Z)?wT(Z):W5(Z)?AT(Z):n4(Z)?GT(Z):Z}function qF(Z){return K5(Z)}var XF=()=>{};function L0(Z,Y){let Q=Y!==void 0?{...Y,...Z}:Z;switch(D6.InstanceMode){case"freeze":return I1(Q);case"clone":return qF(Q);default:return Q}}var B6=N(()=>{w3();JF();XF()});var L1,G3,q0;var zF=N(()=>{L1=Symbol.for("TypeBox.Optional"),G3=Symbol.for("TypeBox.Hint"),q0=Symbol.for("TypeBox.Kind")});var g0=N(()=>{zF()});function HF(Z,Y){return L0({[q0]:"Array",type:"array",items:Z},Y)}var WF=N(()=>{B6();g0()});var UF=N(()=>{WF()});var KF=N(()=>{B6()});function BF(Z){return L0({[q0]:"Boolean",type:"boolean"},Z)}var $F=N(()=>{g0();KF()});var FF=N(()=>{$F()});function VF(Z){return L0({[q0]:"Integer",type:"integer"},Z)}var OF=N(()=>{B6();g0()});var DF=N(()=>{OF()});function MF(Z,Y){return L0({[q0]:"Literal",const:Z,type:typeof Z},Y)}var jF=N(()=>{B6();g0()});var _F=N(()=>{jF()});function NF(Z){return L0({[q0]:"Null",type:"null"},Z)}var IF=N(()=>{B6();g0()});var LF=N(()=>{IF()});function wF(Z){return L0({[q0]:"Number",type:"number"},Z)}var AF=N(()=>{B6();g0()});var GF=N(()=>{AF()});function CF(Z){return n4(Z)&&Z[L1]==="Optional"}function C3(Z){return j0(Z,"Any")}function CT(Z){return j0(Z,"Argument")}function R3(Z){return j0(Z,"Array")}function RT(Z){return j0(Z,"AsyncIterator")}function TT(Z){return j0(Z,"BigInt")}function T3(Z){return j0(Z,"Boolean")}function kT(Z){return j0(Z,"Computed")}function ET(Z){return j0(Z,"Constructor")}function PT(Z){return j0(Z,"Date")}function xT(Z){return j0(Z,"Function")}function w1(Z){return j0(Z,"Integer")}function k3(Z){return j0(Z,"Intersect")}function bT(Z){return j0(Z,"Iterator")}function j0(Z,Y){return n4(Z)&&q0 in Z&&Z[q0]===Y}function A1(Z){return j0(Z,"Literal")}function vT(Z){return j0(Z,"MappedKey")}function E3(Z){return j0(Z,"MappedResult")}function P3(Z){return j0(Z,"Never")}function ST(Z){return j0(Z,"Not")}function yT(Z){return j0(Z,"Null")}function G1(Z){return j0(Z,"Number")}function x3(Z){return j0(Z,"Object")}function fT(Z){return j0(Z,"Promise")}function b3(Z){return j0(Z,"Record")}function hT(Z){return j0(Z,"Ref")}function v3(Z){return j0(Z,"RegExp")}function S3(Z){return j0(Z,"String")}function gT(Z){return j0(Z,"Symbol")}function C1(Z){return j0(Z,"TemplateLiteral")}function mT(Z){return j0(Z,"This")}function y3(Z){return j0(Z,"Tuple")}function pT(Z){return j0(Z,"Undefined")}function j8(Z){return j0(Z,"Union")}function uT(Z){return j0(Z,"Uint8Array")}function dT(Z){return j0(Z,"Unknown")}function cT(Z){return j0(Z,"Unsafe")}function lT(Z){return j0(Z,"Void")}function nT(Z){return n4(Z)&&q0 in Z&&YF(Z[q0])}function RF(Z){return C3(Z)||CT(Z)||R3(Z)||T3(Z)||TT(Z)||RT(Z)||kT(Z)||ET(Z)||PT(Z)||xT(Z)||w1(Z)||k3(Z)||bT(Z)||A1(Z)||vT(Z)||E3(Z)||P3(Z)||ST(Z)||yT(Z)||G1(Z)||x3(Z)||fT(Z)||b3(Z)||hT(Z)||v3(Z)||S3(Z)||gT(Z)||C1(Z)||mT(Z)||y3(Z)||pT(Z)||j8(Z)||uT(Z)||dT(Z)||cT(Z)||lT(Z)||nT(Z)}var _8=N(()=>{g0()});function oT(Z){return globalThis.Object.keys(Z).filter((Y)=>!CF(Z[Y]))}function iT(Z,Y){let Q=oT(Z),J=Q.length>0?{[q0]:"Object",type:"object",required:Q,properties:Z}:{[q0]:"Object",type:"object",properties:Z};return L0(J,Y)}var R1;var TF=N(()=>{B6();g0();_8();R1=iT});var f3=N(()=>{TF()});var kF=()=>{};function EF(Z){return L0({[q0]:"MappedResult",properties:Z})}var PF=N(()=>{B6();g0()});function sT(Z,Y){let{[Y]:Q,...J}=Z;return J}function xF(Z,Y){return Y.reduce((Q,J)=>sT(Q,J),Z)}var bF=()=>{};var q6;var vF=N(()=>{q6=class q6 extends Error{constructor(Z){super(Z)}}});var I4=N(()=>{vF()});function o4(Z){return L0({[q0]:"Never",not:{}},Z)}var SF=N(()=>{B6();g0()});var T1=N(()=>{SF()});function yF(Z,Y){return L0({[q0]:"Union",anyOf:Z},Y)}var fF=N(()=>{B6();g0()});var hF=()=>{};var gF=()=>{};function B5(Z,Y){return Z.length===0?o4(Y):Z.length===1?L0(Z[0],Y):yF(Z,Y)}var mF=N(()=>{T1();B6();fF()});var h3=N(()=>{hF();gF();mF()});function aT(Z){return Z.replace(/\\\$/g,"$").replace(/\\\*/g,"*").replace(/\\\^/g,"^").replace(/\\\|/g,"|").replace(/\\\(/g,"(").replace(/\\\)/g,")")}function m3(Z,Y,Q){return Z[Y]===Q&&Z.charCodeAt(Y-1)!==92}function L4(Z,Y){return m3(Z,Y,"(")}function k1(Z,Y){return m3(Z,Y,")")}function pF(Z,Y){return m3(Z,Y,"|")}function rT(Z){if(!(L4(Z,0)&&k1(Z,Z.length-1)))return!1;let Y=0;for(let Q=0;Q<Z.length;Q++){if(L4(Z,Q))Y+=1;if(k1(Z,Q))Y-=1;if(Y===0&&Q!==Z.length-1)return!1}return!0}function tT(Z){return Z.slice(1,Z.length-1)}function eT(Z){let Y=0;for(let Q=0;Q<Z.length;Q++){if(L4(Z,Q))Y+=1;if(k1(Z,Q))Y-=1;if(pF(Z,Q)&&Y===0)return!0}return!1}function Zk(Z){for(let Y=0;Y<Z.length;Y++)if(L4(Z,Y))return!0;return!1}function Yk(Z){let[Y,Q]=[0,0],J=[];for(let X=0;X<Z.length;X++){if(L4(Z,X))Y+=1;if(k1(Z,X))Y-=1;if(pF(Z,X)&&Y===0){let z=Z.slice(Q,X);if(z.length>0)J.push(DZ(z));Q=X+1}}let q=Z.slice(Q);if(q.length>0)J.push(DZ(q));if(J.length===0)return{type:"const",const:""};if(J.length===1)return J[0];return{type:"or",expr:J}}function Qk(Z){function Y(q,X){if(!L4(q,X))throw new g3("TemplateLiteralParser: Index must point to open parens");let z=0;for(let W=X;W<q.length;W++){if(L4(q,W))z+=1;if(k1(q,W))z-=1;if(z===0)return[X,W]}throw new g3("TemplateLiteralParser: Unclosed group parens in expression")}function Q(q,X){for(let z=X;z<q.length;z++)if(L4(q,z))return[X,z];return[X,q.length]}let J=[];for(let q=0;q<Z.length;q++)if(L4(Z,q)){let[X,z]=Y(Z,q),W=Z.slice(X,z+1);J.push(DZ(W)),q=z}else{let[X,z]=Q(Z,q),W=Z.slice(X,z);if(W.length>0)J.push(DZ(W));q=z-1}return J.length===0?{type:"const",const:""}:J.length===1?J[0]:{type:"and",expr:J}}function DZ(Z){return rT(Z)?DZ(tT(Z)):eT(Z)?Yk(Z):Zk(Z)?Qk(Z):{type:"const",const:aT(Z)}}function $5(Z){return DZ(Z.slice(1,Z.length-1))}var g3;var F5=N(()=>{I4();g3=class g3 extends q6{}});function Jk(Z){return Z.type==="or"&&Z.expr.length===2&&Z.expr[0].type==="const"&&Z.expr[0].const==="0"&&Z.expr[1].type==="const"&&Z.expr[1].const==="[1-9][0-9]*"}function qk(Z){return Z.type==="or"&&Z.expr.length===2&&Z.expr[0].type==="const"&&Z.expr[0].const==="true"&&Z.expr[1].type==="const"&&Z.expr[1].const==="false"}function Xk(Z){return Z.type==="const"&&Z.const===".*"}function E1(Z){return Jk(Z)||Xk(Z)?!1:qk(Z)?!0:Z.type==="and"?Z.expr.every((Y)=>E1(Y)):Z.type==="or"?Z.expr.every((Y)=>E1(Y)):Z.type==="const"?!0:(()=>{throw new uF("Unknown expression type")})()}function dF(Z){let Y=$5(Z.pattern);return E1(Y)}var uF;var p3=N(()=>{F5();I4();uF=class uF extends q6{}});function*lF(Z){if(Z.length===1)return yield*Z[0];for(let Y of Z[0])for(let Q of lF(Z.slice(1)))yield`${Y}${Q}`}function*zk(Z){return yield*lF(Z.expr.map((Y)=>[...u3(Y)]))}function*Hk(Z){for(let Y of Z.expr)yield*u3(Y)}function*Wk(Z){return yield Z.const}function*u3(Z){return Z.type==="and"?yield*zk(Z):Z.type==="or"?yield*Hk(Z):Z.type==="const"?yield*Wk(Z):(()=>{throw new cF("Unknown expression")})()}function nF(Z){let Y=$5(Z.pattern);return E1(Y)?[...u3(Y)]:[]}var cF;var oF=N(()=>{p3();F5();I4();cF=class cF extends q6{}});function iF(Z){return L0({[q0]:"String",type:"string"},Z)}var sF=N(()=>{B6();g0()});var aF=N(()=>{sF()});var rF=()=>{};var d3="^(0|[1-9][0-9]*)$",c3="^(.*)$",tF="^(?!.*)$";var eF=()=>{};var ZV=()=>{};var YV=()=>{};var QV=()=>{};var l3=N(()=>{p3();oF();rF();F5();ZV();YV();QV()});function Uk(Z){return nF(Z).map((Q)=>Q.toString())}function Kk(Z){let Y=[];for(let Q of Z)Y.push(...V5(Q));return Y}function Bk(Z){return[Z.toString()]}function V5(Z){return[...new Set(C1(Z)?Uk(Z):j8(Z)?Kk(Z.anyOf):A1(Z)?Bk(Z.const):G1(Z)?["[number]"]:w1(Z)?["[number]"]:[])]}var JV=N(()=>{l3();_8()});var qV=()=>{};var XV=()=>{};var zV=()=>{};var HV=N(()=>{zV();qV();JV();XV()});function $k(Z,Y){return Z.filter((Q)=>Y.includes(Q))}function Fk(Z,Y){return Z.reduce((Q,J)=>{return $k(Q,J)},Y)}function WV(Z){return Z.length===1?Z[0]:Z.length>1?Fk(Z.slice(1),Z[0]):[]}function UV(Z){let Y=[];for(let Q of Z)Y.push(...Q);return Y}var KV=()=>{};var BV=()=>{};var $V=N(()=>{kF();PF();BV()});function Vk(Z){return L0(xF(Z,[L1]))}function Ok(Z){return L0({...Z,[L1]:"Optional"})}function Dk(Z,Y){return Y===!1?Vk(Z):Ok(Z)}function O5(Z,Y){let Q=Y??!0;return E3(Z)?FV(Z,Q):Dk(Z,Q)}var n3=N(()=>{B6();g0();bF();o3();_8()});function Mk(Z,Y){let Q={};for(let J of globalThis.Object.getOwnPropertyNames(Z))Q[J]=O5(Z[J],Y);return Q}function jk(Z,Y){return Mk(Z.properties,Y)}function FV(Z,Y){let Q=jk(Z,Y);return EF(Q)}var o3=N(()=>{$V();n3()});var VV=N(()=>{o3();n3()});function N8(Z,Y,Q){return L0({[q0]:"Record",type:"object",patternProperties:{[Z]:Y}},Q)}function i3(Z,Y,Q){let J={};for(let q of Z)J[q]=Y;return R1(J,{...Q,[G3]:"Record"})}function _k(Z,Y,Q){return dF(Z)?i3(V5(Z),Y,Q):N8(Z.pattern,Y,Q)}function Nk(Z,Y,Q){return i3(V5(B5(Z)),Y,Q)}function Ik(Z,Y,Q){return i3([Z.toString()],Y,Q)}function Lk(Z,Y,Q){return N8(Z.source,Y,Q)}function wk(Z,Y,Q){let J=QF(Z.pattern)?c3:Z.pattern;return N8(J,Y,Q)}function Ak(Z,Y,Q){return N8(c3,Y,Q)}function Gk(Z,Y,Q){return N8(tF,Y,Q)}function Ck(Z,Y,Q){return R1({true:Y,false:Y},Q)}function Rk(Z,Y,Q){return N8(d3,Y,Q)}function Tk(Z,Y,Q){return N8(d3,Y,Q)}function OV(Z,Y,Q={}){return j8(Z)?Nk(Z.anyOf,Y,Q):C1(Z)?_k(Z,Y,Q):A1(Z)?Ik(Z.const,Y,Q):T3(Z)?Ck(Z,Y,Q):w1(Z)?Rk(Z,Y,Q):G1(Z)?Tk(Z,Y,Q):v3(Z)?Lk(Z,Y,Q):S3(Z)?wk(Z,Y,Q):C3(Z)?Ak(Z,Y,Q):P3(Z)?Gk(Z,Y,Q):o4(Q)}var DV=N(()=>{B6();g0();T1();f3();h3();l3();eF();HV();_8()});var MV=N(()=>{DV()});var M6={};y8(M6,{Set:()=>bk,Has:()=>xk,Get:()=>vk,Entries:()=>kk,Delete:()=>Pk,Clear:()=>Ek});function kk(){return new Map(MZ)}function Ek(){return MZ.clear()}function Pk(Z){return MZ.delete(Z)}function xk(Z){return MZ.has(Z)}function bk(Z,Y){MZ.set(Z,Y)}function vk(Z){return MZ.get(Z)}var MZ;var jV=N(()=>{MZ=new Map});var P6={};y8(P6,{Set:()=>gk,Has:()=>hk,Get:()=>mk,Entries:()=>Sk,Delete:()=>fk,Clear:()=>yk});function Sk(){return new Map(jZ)}function yk(){return jZ.clear()}function fk(Z){return jZ.delete(Z)}function hk(Z){return jZ.has(Z)}function gk(Z,Y){jZ.set(Z,Y)}function mk(Z){return jZ.get(Z)}var jZ;var _V=N(()=>{jZ=new Map});var P1=N(()=>{jV();_V()});function NV(Z){return L0({[q0]:"Unknown"},Z)}var IV=N(()=>{B6();g0()});var LV=N(()=>{IV()});function wV(Z={}){return L0({[q0]:Z[q0]??"Unsafe"},Z)}var AV=N(()=>{B6();g0()});var GV=N(()=>{AV()});var RV,TV,CV;var kV=N(()=>{P1();GV();g0();I4();RV=class RV extends q6{constructor(Z){super(`Duplicate type kind '${Z}' detected`)}};TV=class TV extends q6{constructor(Z){super(`Duplicate string format '${Z}' detected`)}};(function(Z){function Y(J,q){if(P6.Has(J))throw new RV(J);return P6.Set(J,q),(X={})=>wV({...X,[q0]:J})}Z.Type=Y;function Q(J,q){if(M6.Has(J))throw new TV(J);return M6.Set(J,q),J}Z.Format=Q})(CV||(CV={}))});var s3=N(()=>{w3();kV()});function pk(Z,Y){let Q=Y.find((J)=>J.$id===Z.$ref);if(Q===void 0)throw new EV(Z);return I8(Q,Y)}function PV(Z,Y){if(!E6(Z.$id)||Y.some((Q)=>Q.$id===Z.$id))return Y;return Y.push(Z),Y}function I8(Z,Y){return Z[q0]==="This"||Z[q0]==="Ref"?pk(Z,Y):Z}var EV;var xV=N(()=>{I4();g0();EV=class EV extends q6{constructor(Z){super(`Unable to dereference schema with $id '${Z.$ref}'`);this.schema=Z}}});var a3=N(()=>{xV()});function*lk(Z){let Y=Z===0?1:Math.ceil(Math.floor(Math.log2(Z)+1)/8);for(let Q=0;Q<Y;Q++)yield Z>>8*(Y-1-Q)&255}function nk(Z){j6(x6.Array);for(let Y of Z)NZ(Y)}function ok(Z){j6(x6.Boolean),j6(Z?1:0)}function ik(Z){j6(x6.BigInt),SV.setBigInt64(0,Z);for(let Y of yV)j6(Y)}function sk(Z){j6(x6.Date),NZ(Z.getTime())}function ak(Z){j6(x6.Null)}function rk(Z){j6(x6.Number),SV.setFloat64(0,Z);for(let Y of yV)j6(Y)}function tk(Z){j6(x6.Object);for(let Y of globalThis.Object.getOwnPropertyNames(Z).sort())NZ(Y),NZ(Z[Y])}function ek(Z){j6(x6.String);for(let Y=0;Y<Z.length;Y++)for(let Q of lk(Z.charCodeAt(Y)))j6(Q)}function ZE(Z){j6(x6.Symbol),NZ(Z.description)}function YE(Z){j6(x6.Uint8Array);for(let Y=0;Y<Z.length;Y++)j6(Z[Y])}function QE(Z){return j6(x6.Undefined)}function NZ(Z){if(H4(Z))return nk(Z);if(FZ(Z))return ok(Z);if(VZ(Z))return ik(Z);if(UZ(Z))return sk(Z);if($Z(Z))return ak(Z);if(d6(Z))return rk(Z);if(BZ(Z))return tk(Z);if(E6(Z))return ek(Z);if(OZ(Z))return ZE(Z);if(KZ(Z))return YE(Z);if(l4(Z))return QE(Z);throw new bV(Z)}function j6(Z){_Z=_Z^ck[Z],_Z=_Z*uk%dk}function D5(Z){return _Z=BigInt("14695981039346656037"),NZ(Z),_Z}var bV,x6,_Z,uk,dk,ck,vV,SV,yV;var fV=N(()=>{N1();I4();bV=class bV extends q6{constructor(Z){super("Unable to hash value");this.value=Z}};(function(Z){Z[Z.Undefined=0]="Undefined",Z[Z.Null=1]="Null",Z[Z.Boolean=2]="Boolean",Z[Z.Number=3]="Number",Z[Z.String=4]="String",Z[Z.Object=5]="Object",Z[Z.Array=6]="Array",Z[Z.Date=7]="Date",Z[Z.Uint8Array=8]="Uint8Array",Z[Z.Symbol=9]="Symbol",Z[Z.BigInt=10]="BigInt"})(x6||(x6={}));_Z=BigInt("14695981039346656037"),[uk,dk]=[BigInt("1099511628211"),BigInt("18446744073709551616")],ck=Array.from({length:256}).map((Z,Y)=>BigInt(Y)),vV=new Float64Array(1),SV=new DataView(vV.buffer),yV=new Uint8Array(vV.buffer)});var r3=N(()=>{fV()});function hV(Z){let Y=[];for(let Q of Z)Y.push(gV(Q));return Y}function JE(Z){let Y=hV(Z);return UV(Y)}function qE(Z){let Y=hV(Z);return WV(Y)}function XE(Z){return Z.map((Y,Q)=>Q.toString())}function zE(Z){return["[number]"]}function HE(Z){return globalThis.Object.getOwnPropertyNames(Z)}function WE(Z){if(!t3)return[];return globalThis.Object.getOwnPropertyNames(Z).map((Q)=>{return Q[0]==="^"&&Q[Q.length-1]==="$"?Q.slice(1,Q.length-1):Q})}function gV(Z){return k3(Z)?JE(Z.allOf):j8(Z)?qE(Z.anyOf):y3(Z)?XE(Z.items??[]):R3(Z)?zE(Z.items):x3(Z)?HE(Z.properties):b3(Z)?WE(Z.patternProperties):[]}function IZ(Z){t3=!0;let Y=gV(Z);return t3=!1,`^(${Y.map((J)=>`(${J})`).join("|")})$`}var t3=!1;var mV=N(()=>{KV();_8()});var pV=()=>{};var uV=()=>{};var dV=()=>{};var e3=N(()=>{uV();dV();mV();pV()});var cV;var lV=N(()=>{(function(Z){Z[Z.Union=0]="Union",Z[Z.True=1]="True",Z[Z.False=2]="False"})(cV||(cV={}))});var nV=()=>{};var oV=()=>{};var iV=()=>{};function UE(Z){return Z.allOf.every((Y)=>L8(Y))}function KE(Z){return Z.anyOf.some((Y)=>L8(Y))}function BE(Z){return!L8(Z.not)}function L8(Z){return Z[q0]==="Intersect"?UE(Z):Z[q0]==="Union"?KE(Z):Z[q0]==="Not"?BE(Z):Z[q0]==="Undefined"?!0:!1}var ZJ=N(()=>{g0()});var sV=N(()=>{lV();iV();nV();ZJ();oV()});function $E(Z){return Z[q0]==="Any"||Z[q0]==="Unknown"}function O0(Z){return Z!==void 0}function FE(Z,Y,Q){return!0}function VE(Z,Y,Q){return!0}function OE(Z,Y,Q){if(!H4(Q))return!1;if(O0(Z.minItems)&&!(Q.length>=Z.minItems))return!1;if(O0(Z.maxItems)&&!(Q.length<=Z.maxItems))return!1;for(let X of Q)if(!X6(Z.items,Y,X))return!1;if(Z.uniqueItems===!0&&!function(){let X=new Set;for(let z of Q){let W=D5(z);if(X.has(W))return!1;else X.add(W)}return!0}())return!1;if(!(O0(Z.contains)||d6(Z.minContains)||d6(Z.maxContains)))return!0;let J=O0(Z.contains)?Z.contains:o4(),q=Q.reduce((X,z)=>X6(J,Y,z)?X+1:X,0);if(q===0)return!1;if(d6(Z.minContains)&&q<Z.minContains)return!1;if(d6(Z.maxContains)&&q>Z.maxContains)return!1;return!0}function DE(Z,Y,Q){return Y5(Q)}function ME(Z,Y,Q){if(!VZ(Q))return!1;if(O0(Z.exclusiveMaximum)&&!(Q<Z.exclusiveMaximum))return!1;if(O0(Z.exclusiveMinimum)&&!(Q>Z.exclusiveMinimum))return!1;if(O0(Z.maximum)&&!(Q<=Z.maximum))return!1;if(O0(Z.minimum)&&!(Q>=Z.minimum))return!1;if(O0(Z.multipleOf)&&Q%Z.multipleOf!==BigInt(0))return!1;return!0}function jE(Z,Y,Q){return FZ(Q)}function _E(Z,Y,Q){return X6(Z.returns,Y,Q.prototype)}function NE(Z,Y,Q){if(!UZ(Q))return!1;if(O0(Z.exclusiveMaximumTimestamp)&&!(Q.getTime()<Z.exclusiveMaximumTimestamp))return!1;if(O0(Z.exclusiveMinimumTimestamp)&&!(Q.getTime()>Z.exclusiveMinimumTimestamp))return!1;if(O0(Z.maximumTimestamp)&&!(Q.getTime()<=Z.maximumTimestamp))return!1;if(O0(Z.minimumTimestamp)&&!(Q.getTime()>=Z.minimumTimestamp))return!1;if(O0(Z.multipleOfTimestamp)&&Q.getTime()%Z.multipleOfTimestamp!==0)return!1;return!0}function IE(Z,Y,Q){return X5(Q)}function LE(Z,Y,Q){let J=globalThis.Object.values(Z.$defs),q=Z.$defs[Z.$ref];return X6(q,[...Y,...J],Q)}function wE(Z,Y,Q){if(!q5(Q))return!1;if(O0(Z.exclusiveMaximum)&&!(Q<Z.exclusiveMaximum))return!1;if(O0(Z.exclusiveMinimum)&&!(Q>Z.exclusiveMinimum))return!1;if(O0(Z.maximum)&&!(Q<=Z.maximum))return!1;if(O0(Z.minimum)&&!(Q>=Z.minimum))return!1;if(O0(Z.multipleOf)&&Q%Z.multipleOf!==0)return!1;return!0}function AE(Z,Y,Q){let J=Z.allOf.every((q)=>X6(q,Y,Q));if(Z.unevaluatedProperties===!1){let q=new RegExp(IZ(Z)),X=Object.getOwnPropertyNames(Q).every((z)=>q.test(z));return J&&X}else if(RF(Z.unevaluatedProperties)){let q=new RegExp(IZ(Z)),X=Object.getOwnPropertyNames(Q).every((z)=>q.test(z)||X6(Z.unevaluatedProperties,Y,Q[z]));return J&&X}else return J}function GE(Z,Y,Q){return Q5(Q)}function CE(Z,Y,Q){return Q===Z.const}function RE(Z,Y,Q){return!1}function TE(Z,Y,Q){return!X6(Z.not,Y,Q)}function kE(Z,Y,Q){return $Z(Q)}function EE(Z,Y,Q){if(!D6.IsNumberLike(Q))return!1;if(O0(Z.exclusiveMaximum)&&!(Q<Z.exclusiveMaximum))return!1;if(O0(Z.exclusiveMinimum)&&!(Q>Z.exclusiveMinimum))return!1;if(O0(Z.minimum)&&!(Q>=Z.minimum))return!1;if(O0(Z.maximum)&&!(Q<=Z.maximum))return!1;if(O0(Z.multipleOf)&&Q%Z.multipleOf!==0)return!1;return!0}function PE(Z,Y,Q){if(!D6.IsObjectLike(Q))return!1;if(O0(Z.minProperties)&&!(Object.getOwnPropertyNames(Q).length>=Z.minProperties))return!1;if(O0(Z.maxProperties)&&!(Object.getOwnPropertyNames(Q).length<=Z.maxProperties))return!1;let J=Object.getOwnPropertyNames(Z.properties);for(let q of J){let X=Z.properties[q];if(Z.required&&Z.required.includes(q)){if(!X6(X,Y,Q[q]))return!1;if((L8(X)||$E(X))&&!(q in Q))return!1}else if(D6.IsExactOptionalProperty(Q,q)&&!X6(X,Y,Q[q]))return!1}if(Z.additionalProperties===!1){let q=Object.getOwnPropertyNames(Q);if(Z.required&&Z.required.length===J.length&&q.length===J.length)return!0;else return q.every((X)=>J.includes(X))}else if(typeof Z.additionalProperties==="object")return Object.getOwnPropertyNames(Q).every((X)=>J.includes(X)||X6(Z.additionalProperties,Y,Q[X]));else return!0}function xE(Z,Y,Q){return J5(Q)}function bE(Z,Y,Q){if(!D6.IsRecordLike(Q))return!1;if(O0(Z.minProperties)&&!(Object.getOwnPropertyNames(Q).length>=Z.minProperties))return!1;if(O0(Z.maxProperties)&&!(Object.getOwnPropertyNames(Q).length<=Z.maxProperties))return!1;let[J,q]=Object.entries(Z.patternProperties)[0],X=new RegExp(J),z=Object.entries(Q).every(([K,B])=>{return X.test(K)?X6(q,Y,B):!0}),W=typeof Z.additionalProperties==="object"?Object.entries(Q).every(([K,B])=>{return!X.test(K)?X6(Z.additionalProperties,Y,B):!0}):!0,U=Z.additionalProperties===!1?Object.getOwnPropertyNames(Q).every((K)=>{return X.test(K)}):!0;return z&&W&&U}function vE(Z,Y,Q){return X6(I8(Z,Y),Y,Q)}function SE(Z,Y,Q){let J=new RegExp(Z.source,Z.flags);if(O0(Z.minLength)){if(!(Q.length>=Z.minLength))return!1}if(O0(Z.maxLength)){if(!(Q.length<=Z.maxLength))return!1}return J.test(Q)}function yE(Z,Y,Q){if(!E6(Q))return!1;if(O0(Z.minLength)){if(!(Q.length>=Z.minLength))return!1}if(O0(Z.maxLength)){if(!(Q.length<=Z.maxLength))return!1}if(O0(Z.pattern)){if(!new RegExp(Z.pattern).test(Q))return!1}if(O0(Z.format)){if(!M6.Has(Z.format))return!1;return M6.Get(Z.format)(Q)}return!0}function fE(Z,Y,Q){return OZ(Q)}function hE(Z,Y,Q){return E6(Q)&&new RegExp(Z.pattern).test(Q)}function gE(Z,Y,Q){return X6(I8(Z,Y),Y,Q)}function mE(Z,Y,Q){if(!H4(Q))return!1;if(Z.items===void 0&&Q.length!==0)return!1;if(Q.length!==Z.maxItems)return!1;if(!Z.items)return!0;for(let J=0;J<Z.items.length;J++)if(!X6(Z.items[J],Y,Q[J]))return!1;return!0}function pE(Z,Y,Q){return l4(Q)}function uE(Z,Y,Q){return Z.anyOf.some((J)=>X6(J,Y,Q))}function dE(Z,Y,Q){if(!KZ(Q))return!1;if(O0(Z.maxByteLength)&&!(Q.length<=Z.maxByteLength))return!1;if(O0(Z.minByteLength)&&!(Q.length>=Z.minByteLength))return!1;return!0}function cE(Z,Y,Q){return!0}function lE(Z,Y,Q){return D6.IsVoidLike(Q)}function nE(Z,Y,Q){if(!P6.Has(Z[q0]))return!1;return P6.Get(Z[q0])(Z,Q)}function X6(Z,Y,Q){let J=O0(Z.$id)?PV(Z,Y):Y,q=Z;switch(q[q0]){case"Any":return FE(q,J,Q);case"Argument":return VE(q,J,Q);case"Array":return OE(q,J,Q);case"AsyncIterator":return DE(q,J,Q);case"BigInt":return ME(q,J,Q);case"Boolean":return jE(q,J,Q);case"Constructor":return _E(q,J,Q);case"Date":return NE(q,J,Q);case"Function":return IE(q,J,Q);case"Import":return LE(q,J,Q);case"Integer":return wE(q,J,Q);case"Intersect":return AE(q,J,Q);case"Iterator":return GE(q,J,Q);case"Literal":return CE(q,J,Q);case"Never":return RE(q,J,Q);case"Not":return TE(q,J,Q);case"Null":return kE(q,J,Q);case"Number":return EE(q,J,Q);case"Object":return PE(q,J,Q);case"Promise":return xE(q,J,Q);case"Record":return bE(q,J,Q);case"Ref":return vE(q,J,Q);case"RegExp":return SE(q,J,Q);case"String":return yE(q,J,Q);case"Symbol":return fE(q,J,Q);case"TemplateLiteral":return hE(q,J,Q);case"This":return gE(q,J,Q);case"Tuple":return mE(q,J,Q);case"Undefined":return pE(q,J,Q);case"Union":return uE(q,J,Q);case"Uint8Array":return dE(q,J,Q);case"Unknown":return cE(q,J,Q);case"Void":return lE(q,J,Q);default:if(!P6.Has(q[q0]))throw new aV(q);return nE(q,J,Q)}}function M5(...Z){return Z.length===3?X6(Z[0],Z[1],Z[2]):X6(Z[0],[],Z[1])}var aV;var rV=N(()=>{s3();a3();r3();g0();e3();sV();P1();I4();T1();N1();_8();aV=class aV extends q6{constructor(Z){super("Unknown type");this.schema=Z}}});var YJ=N(()=>{rV()});function oE(Z){switch(Z.errorType){case b.ArrayContains:return"Expected array to contain at least one matching value";case b.ArrayMaxContains:return`Expected array to contain no more than ${Z.schema.maxContains} matching values`;case b.ArrayMinContains:return`Expected array to contain at least ${Z.schema.minContains} matching values`;case b.ArrayMaxItems:return`Expected array length to be less or equal to ${Z.schema.maxItems}`;case b.ArrayMinItems:return`Expected array length to be greater or equal to ${Z.schema.minItems}`;case b.ArrayUniqueItems:return"Expected array elements to be unique";case b.Array:return"Expected array";case b.AsyncIterator:return"Expected AsyncIterator";case b.BigIntExclusiveMaximum:return`Expected bigint to be less than ${Z.schema.exclusiveMaximum}`;case b.BigIntExclusiveMinimum:return`Expected bigint to be greater than ${Z.schema.exclusiveMinimum}`;case b.BigIntMaximum:return`Expected bigint to be less or equal to ${Z.schema.maximum}`;case b.BigIntMinimum:return`Expected bigint to be greater or equal to ${Z.schema.minimum}`;case b.BigIntMultipleOf:return`Expected bigint to be a multiple of ${Z.schema.multipleOf}`;case b.BigInt:return"Expected bigint";case b.Boolean:return"Expected boolean";case b.DateExclusiveMinimumTimestamp:return`Expected Date timestamp to be greater than ${Z.schema.exclusiveMinimumTimestamp}`;case b.DateExclusiveMaximumTimestamp:return`Expected Date timestamp to be less than ${Z.schema.exclusiveMaximumTimestamp}`;case b.DateMinimumTimestamp:return`Expected Date timestamp to be greater or equal to ${Z.schema.minimumTimestamp}`;case b.DateMaximumTimestamp:return`Expected Date timestamp to be less or equal to ${Z.schema.maximumTimestamp}`;case b.DateMultipleOfTimestamp:return`Expected Date timestamp to be a multiple of ${Z.schema.multipleOfTimestamp}`;case b.Date:return"Expected Date";case b.Function:return"Expected function";case b.IntegerExclusiveMaximum:return`Expected integer to be less than ${Z.schema.exclusiveMaximum}`;case b.IntegerExclusiveMinimum:return`Expected integer to be greater than ${Z.schema.exclusiveMinimum}`;case b.IntegerMaximum:return`Expected integer to be less or equal to ${Z.schema.maximum}`;case b.IntegerMinimum:return`Expected integer to be greater or equal to ${Z.schema.minimum}`;case b.IntegerMultipleOf:return`Expected integer to be a multiple of ${Z.schema.multipleOf}`;case b.Integer:return"Expected integer";case b.IntersectUnevaluatedProperties:return"Unexpected property";case b.Intersect:return"Expected all values to match";case b.Iterator:return"Expected Iterator";case b.Literal:return`Expected ${typeof Z.schema.const==="string"?`'${Z.schema.const}'`:Z.schema.const}`;case b.Never:return"Never";case b.Not:return"Value should not match";case b.Null:return"Expected null";case b.NumberExclusiveMaximum:return`Expected number to be less than ${Z.schema.exclusiveMaximum}`;case b.NumberExclusiveMinimum:return`Expected number to be greater than ${Z.schema.exclusiveMinimum}`;case b.NumberMaximum:return`Expected number to be less or equal to ${Z.schema.maximum}`;case b.NumberMinimum:return`Expected number to be greater or equal to ${Z.schema.minimum}`;case b.NumberMultipleOf:return`Expected number to be a multiple of ${Z.schema.multipleOf}`;case b.Number:return"Expected number";case b.Object:return"Expected object";case b.ObjectAdditionalProperties:return"Unexpected property";case b.ObjectMaxProperties:return`Expected object to have no more than ${Z.schema.maxProperties} properties`;case b.ObjectMinProperties:return`Expected object to have at least ${Z.schema.minProperties} properties`;case b.ObjectRequiredProperty:return"Expected required property";case b.Promise:return"Expected Promise";case b.RegExp:return"Expected string to match regular expression";case b.StringFormatUnknown:return`Unknown format '${Z.schema.format}'`;case b.StringFormat:return`Expected string to match '${Z.schema.format}' format`;case b.StringMaxLength:return`Expected string length less or equal to ${Z.schema.maxLength}`;case b.StringMinLength:return`Expected string length greater or equal to ${Z.schema.minLength}`;case b.StringPattern:return`Expected string to match '${Z.schema.pattern}'`;case b.String:return"Expected string";case b.Symbol:return"Expected symbol";case b.TupleLength:return`Expected tuple to have ${Z.schema.maxItems||0} elements`;case b.Tuple:return"Expected tuple";case b.Uint8ArrayMaxByteLength:return`Expected byte length less or equal to ${Z.schema.maxByteLength}`;case b.Uint8ArrayMinByteLength:return`Expected byte length greater or equal to ${Z.schema.minByteLength}`;case b.Uint8Array:return"Expected Uint8Array";case b.Undefined:return"Expected undefined";case b.Union:return"Expected union value";case b.Void:return"Expected void";case b.Kind:return`Expected kind '${Z.schema[q0]}'`;default:return"Unknown error type"}}function tV(){return iE}var iE;var QJ=N(()=>{g0();JJ();iE=oE});function w4(Z){return Z.replace(/~/g,"~0").replace(/\//g,"~1")}function D0(Z){return Z!==void 0}function i(Z,Y,Q,J,q=[]){return{type:Z,schema:Y,path:Q,value:J,message:tV()({errorType:Z,path:Q,schema:Y,value:J,errors:q}),errors:q}}function*sE(Z,Y,Q,J){}function*aE(Z,Y,Q,J){}function*rE(Z,Y,Q,J){if(!H4(J))return yield i(b.Array,Z,Q,J);if(D0(Z.minItems)&&!(J.length>=Z.minItems))yield i(b.ArrayMinItems,Z,Q,J);if(D0(Z.maxItems)&&!(J.length<=Z.maxItems))yield i(b.ArrayMaxItems,Z,Q,J);for(let z=0;z<J.length;z++)yield*z6(Z.items,Y,`${Q}/${z}`,J[z]);if(Z.uniqueItems===!0&&!function(){let z=new Set;for(let W of J){let U=D5(W);if(z.has(U))return!1;else z.add(U)}return!0}())yield i(b.ArrayUniqueItems,Z,Q,J);if(!(D0(Z.contains)||D0(Z.minContains)||D0(Z.maxContains)))return;let q=D0(Z.contains)?Z.contains:o4(),X=J.reduce((z,W,U)=>z6(q,Y,`${Q}${U}`,W).next().done===!0?z+1:z,0);if(X===0)yield i(b.ArrayContains,Z,Q,J);if(d6(Z.minContains)&&X<Z.minContains)yield i(b.ArrayMinContains,Z,Q,J);if(d6(Z.maxContains)&&X>Z.maxContains)yield i(b.ArrayMaxContains,Z,Q,J)}function*tE(Z,Y,Q,J){if(!Y5(J))yield i(b.AsyncIterator,Z,Q,J)}function*eE(Z,Y,Q,J){if(!VZ(J))return yield i(b.BigInt,Z,Q,J);if(D0(Z.exclusiveMaximum)&&!(J<Z.exclusiveMaximum))yield i(b.BigIntExclusiveMaximum,Z,Q,J);if(D0(Z.exclusiveMinimum)&&!(J>Z.exclusiveMinimum))yield i(b.BigIntExclusiveMinimum,Z,Q,J);if(D0(Z.maximum)&&!(J<=Z.maximum))yield i(b.BigIntMaximum,Z,Q,J);if(D0(Z.minimum)&&!(J>=Z.minimum))yield i(b.BigIntMinimum,Z,Q,J);if(D0(Z.multipleOf)&&J%Z.multipleOf!==BigInt(0))yield i(b.BigIntMultipleOf,Z,Q,J)}function*ZP(Z,Y,Q,J){if(!FZ(J))yield i(b.Boolean,Z,Q,J)}function*YP(Z,Y,Q,J){yield*z6(Z.returns,Y,Q,J.prototype)}function*QP(Z,Y,Q,J){if(!UZ(J))return yield i(b.Date,Z,Q,J);if(D0(Z.exclusiveMaximumTimestamp)&&!(J.getTime()<Z.exclusiveMaximumTimestamp))yield i(b.DateExclusiveMaximumTimestamp,Z,Q,J);if(D0(Z.exclusiveMinimumTimestamp)&&!(J.getTime()>Z.exclusiveMinimumTimestamp))yield i(b.DateExclusiveMinimumTimestamp,Z,Q,J);if(D0(Z.maximumTimestamp)&&!(J.getTime()<=Z.maximumTimestamp))yield i(b.DateMaximumTimestamp,Z,Q,J);if(D0(Z.minimumTimestamp)&&!(J.getTime()>=Z.minimumTimestamp))yield i(b.DateMinimumTimestamp,Z,Q,J);if(D0(Z.multipleOfTimestamp)&&J.getTime()%Z.multipleOfTimestamp!==0)yield i(b.DateMultipleOfTimestamp,Z,Q,J)}function*JP(Z,Y,Q,J){if(!X5(J))yield i(b.Function,Z,Q,J)}function*qP(Z,Y,Q,J){let q=globalThis.Object.values(Z.$defs),X=Z.$defs[Z.$ref];yield*z6(X,[...Y,...q],Q,J)}function*XP(Z,Y,Q,J){if(!q5(J))return yield i(b.Integer,Z,Q,J);if(D0(Z.exclusiveMaximum)&&!(J<Z.exclusiveMaximum))yield i(b.IntegerExclusiveMaximum,Z,Q,J);if(D0(Z.exclusiveMinimum)&&!(J>Z.exclusiveMinimum))yield i(b.IntegerExclusiveMinimum,Z,Q,J);if(D0(Z.maximum)&&!(J<=Z.maximum))yield i(b.IntegerMaximum,Z,Q,J);if(D0(Z.minimum)&&!(J>=Z.minimum))yield i(b.IntegerMinimum,Z,Q,J);if(D0(Z.multipleOf)&&J%Z.multipleOf!==0)yield i(b.IntegerMultipleOf,Z,Q,J)}function*zP(Z,Y,Q,J){let q=!1;for(let X of Z.allOf)for(let z of z6(X,Y,Q,J))q=!0,yield z;if(q)return yield i(b.Intersect,Z,Q,J);if(Z.unevaluatedProperties===!1){let X=new RegExp(IZ(Z));for(let z of Object.getOwnPropertyNames(J))if(!X.test(z))yield i(b.IntersectUnevaluatedProperties,Z,`${Q}/${z}`,J)}if(typeof Z.unevaluatedProperties==="object"){let X=new RegExp(IZ(Z));for(let z of Object.getOwnPropertyNames(J))if(!X.test(z)){let W=z6(Z.unevaluatedProperties,Y,`${Q}/${z}`,J[z]).next();if(!W.done)yield W.value}}}function*HP(Z,Y,Q,J){if(!Q5(J))yield i(b.Iterator,Z,Q,J)}function*WP(Z,Y,Q,J){if(J!==Z.const)yield i(b.Literal,Z,Q,J)}function*UP(Z,Y,Q,J){yield i(b.Never,Z,Q,J)}function*KP(Z,Y,Q,J){if(z6(Z.not,Y,Q,J).next().done===!0)yield i(b.Not,Z,Q,J)}function*BP(Z,Y,Q,J){if(!$Z(J))yield i(b.Null,Z,Q,J)}function*$P(Z,Y,Q,J){if(!D6.IsNumberLike(J))return yield i(b.Number,Z,Q,J);if(D0(Z.exclusiveMaximum)&&!(J<Z.exclusiveMaximum))yield i(b.NumberExclusiveMaximum,Z,Q,J);if(D0(Z.exclusiveMinimum)&&!(J>Z.exclusiveMinimum))yield i(b.NumberExclusiveMinimum,Z,Q,J);if(D0(Z.maximum)&&!(J<=Z.maximum))yield i(b.NumberMaximum,Z,Q,J);if(D0(Z.minimum)&&!(J>=Z.minimum))yield i(b.NumberMinimum,Z,Q,J);if(D0(Z.multipleOf)&&J%Z.multipleOf!==0)yield i(b.NumberMultipleOf,Z,Q,J)}function*FP(Z,Y,Q,J){if(!D6.IsObjectLike(J))return yield i(b.Object,Z,Q,J);if(D0(Z.minProperties)&&!(Object.getOwnPropertyNames(J).length>=Z.minProperties))yield i(b.ObjectMinProperties,Z,Q,J);if(D0(Z.maxProperties)&&!(Object.getOwnPropertyNames(J).length<=Z.maxProperties))yield i(b.ObjectMaxProperties,Z,Q,J);let q=Array.isArray(Z.required)?Z.required:[],X=Object.getOwnPropertyNames(Z.properties),z=Object.getOwnPropertyNames(J);for(let W of q){if(z.includes(W))continue;yield i(b.ObjectRequiredProperty,Z.properties[W],`${Q}/${w4(W)}`,void 0)}if(Z.additionalProperties===!1){for(let W of z)if(!X.includes(W))yield i(b.ObjectAdditionalProperties,Z,`${Q}/${w4(W)}`,J[W])}if(typeof Z.additionalProperties==="object")for(let W of z){if(X.includes(W))continue;yield*z6(Z.additionalProperties,Y,`${Q}/${w4(W)}`,J[W])}for(let W of X){let U=Z.properties[W];if(Z.required&&Z.required.includes(W)){if(yield*z6(U,Y,`${Q}/${w4(W)}`,J[W]),L8(Z)&&!(W in J))yield i(b.ObjectRequiredProperty,U,`${Q}/${w4(W)}`,void 0)}else if(D6.IsExactOptionalProperty(J,W))yield*z6(U,Y,`${Q}/${w4(W)}`,J[W])}}function*VP(Z,Y,Q,J){if(!J5(J))yield i(b.Promise,Z,Q,J)}function*OP(Z,Y,Q,J){if(!D6.IsRecordLike(J))return yield i(b.Object,Z,Q,J);if(D0(Z.minProperties)&&!(Object.getOwnPropertyNames(J).length>=Z.minProperties))yield i(b.ObjectMinProperties,Z,Q,J);if(D0(Z.maxProperties)&&!(Object.getOwnPropertyNames(J).length<=Z.maxProperties))yield i(b.ObjectMaxProperties,Z,Q,J);let[q,X]=Object.entries(Z.patternProperties)[0],z=new RegExp(q);for(let[W,U]of Object.entries(J))if(z.test(W))yield*z6(X,Y,`${Q}/${w4(W)}`,U);if(typeof Z.additionalProperties==="object"){for(let[W,U]of Object.entries(J))if(!z.test(W))yield*z6(Z.additionalProperties,Y,`${Q}/${w4(W)}`,U)}if(Z.additionalProperties===!1)for(let[W,U]of Object.entries(J)){if(z.test(W))continue;return yield i(b.ObjectAdditionalProperties,Z,`${Q}/${w4(W)}`,U)}}function*DP(Z,Y,Q,J){yield*z6(I8(Z,Y),Y,Q,J)}function*MP(Z,Y,Q,J){if(!E6(J))return yield i(b.String,Z,Q,J);if(D0(Z.minLength)&&!(J.length>=Z.minLength))yield i(b.StringMinLength,Z,Q,J);if(D0(Z.maxLength)&&!(J.length<=Z.maxLength))yield i(b.StringMaxLength,Z,Q,J);if(!new RegExp(Z.source,Z.flags).test(J))return yield i(b.RegExp,Z,Q,J)}function*jP(Z,Y,Q,J){if(!E6(J))return yield i(b.String,Z,Q,J);if(D0(Z.minLength)&&!(J.length>=Z.minLength))yield i(b.StringMinLength,Z,Q,J);if(D0(Z.maxLength)&&!(J.length<=Z.maxLength))yield i(b.StringMaxLength,Z,Q,J);if(E6(Z.pattern)){if(!new RegExp(Z.pattern).test(J))yield i(b.StringPattern,Z,Q,J)}if(E6(Z.format)){if(!M6.Has(Z.format))yield i(b.StringFormatUnknown,Z,Q,J);else if(!M6.Get(Z.format)(J))yield i(b.StringFormat,Z,Q,J)}}function*_P(Z,Y,Q,J){if(!OZ(J))yield i(b.Symbol,Z,Q,J)}function*NP(Z,Y,Q,J){if(!E6(J))return yield i(b.String,Z,Q,J);if(!new RegExp(Z.pattern).test(J))yield i(b.StringPattern,Z,Q,J)}function*IP(Z,Y,Q,J){yield*z6(I8(Z,Y),Y,Q,J)}function*LP(Z,Y,Q,J){if(!H4(J))return yield i(b.Tuple,Z,Q,J);if(Z.items===void 0&&J.length!==0)return yield i(b.TupleLength,Z,Q,J);if(J.length!==Z.maxItems)return yield i(b.TupleLength,Z,Q,J);if(!Z.items)return;for(let q=0;q<Z.items.length;q++)yield*z6(Z.items[q],Y,`${Q}/${q}`,J[q])}function*wP(Z,Y,Q,J){if(!l4(J))yield i(b.Undefined,Z,Q,J)}function*AP(Z,Y,Q,J){if(M5(Z,Y,J))return;let q=Z.anyOf.map((X)=>new qJ(z6(X,Y,Q,J)));yield i(b.Union,Z,Q,J,q)}function*GP(Z,Y,Q,J){if(!KZ(J))return yield i(b.Uint8Array,Z,Q,J);if(D0(Z.maxByteLength)&&!(J.length<=Z.maxByteLength))yield i(b.Uint8ArrayMaxByteLength,Z,Q,J);if(D0(Z.minByteLength)&&!(J.length>=Z.minByteLength))yield i(b.Uint8ArrayMinByteLength,Z,Q,J)}function*CP(Z,Y,Q,J){}function*RP(Z,Y,Q,J){if(!D6.IsVoidLike(J))yield i(b.Void,Z,Q,J)}function*TP(Z,Y,Q,J){if(!P6.Get(Z[q0])(Z,J))yield i(b.Kind,Z,Q,J)}function*z6(Z,Y,Q,J){let q=D0(Z.$id)?[...Y,Z]:Y,X=Z;switch(X[q0]){case"Any":return yield*sE(X,q,Q,J);case"Argument":return yield*aE(X,q,Q,J);case"Array":return yield*rE(X,q,Q,J);case"AsyncIterator":return yield*tE(X,q,Q,J);case"BigInt":return yield*eE(X,q,Q,J);case"Boolean":return yield*ZP(X,q,Q,J);case"Constructor":return yield*YP(X,q,Q,J);case"Date":return yield*QP(X,q,Q,J);case"Function":return yield*JP(X,q,Q,J);case"Import":return yield*qP(X,q,Q,J);case"Integer":return yield*XP(X,q,Q,J);case"Intersect":return yield*zP(X,q,Q,J);case"Iterator":return yield*HP(X,q,Q,J);case"Literal":return yield*WP(X,q,Q,J);case"Never":return yield*UP(X,q,Q,J);case"Not":return yield*KP(X,q,Q,J);case"Null":return yield*BP(X,q,Q,J);case"Number":return yield*$P(X,q,Q,J);case"Object":return yield*FP(X,q,Q,J);case"Promise":return yield*VP(X,q,Q,J);case"Record":return yield*OP(X,q,Q,J);case"Ref":return yield*DP(X,q,Q,J);case"RegExp":return yield*MP(X,q,Q,J);case"String":return yield*jP(X,q,Q,J);case"Symbol":return yield*_P(X,q,Q,J);case"TemplateLiteral":return yield*NP(X,q,Q,J);case"This":return yield*IP(X,q,Q,J);case"Tuple":return yield*LP(X,q,Q,J);case"Undefined":return yield*wP(X,q,Q,J);case"Union":return yield*AP(X,q,Q,J);case"Uint8Array":return yield*GP(X,q,Q,J);case"Unknown":return yield*CP(X,q,Q,J);case"Void":return yield*RP(X,q,Q,J);default:if(!P6.Has(X[q0]))throw new eV(Z);return yield*TP(X,q,Q,J)}}function ZO(...Z){let Y=Z.length===3?z6(Z[0],Z[1],"",Z[2]):z6(Z[0],[],"",Z[1]);return new qJ(Y)}var b,eV,qJ;var JJ=N(()=>{s3();e3();P1();ZJ();QJ();I4();a3();r3();YJ();g0();T1();N1();(function(Z){Z[Z.ArrayContains=0]="ArrayContains",Z[Z.ArrayMaxContains=1]="ArrayMaxContains",Z[Z.ArrayMaxItems=2]="ArrayMaxItems",Z[Z.ArrayMinContains=3]="ArrayMinContains",Z[Z.ArrayMinItems=4]="ArrayMinItems",Z[Z.ArrayUniqueItems=5]="ArrayUniqueItems",Z[Z.Array=6]="Array",Z[Z.AsyncIterator=7]="AsyncIterator",Z[Z.BigIntExclusiveMaximum=8]="BigIntExclusiveMaximum",Z[Z.BigIntExclusiveMinimum=9]="BigIntExclusiveMinimum",Z[Z.BigIntMaximum=10]="BigIntMaximum",Z[Z.BigIntMinimum=11]="BigIntMinimum",Z[Z.BigIntMultipleOf=12]="BigIntMultipleOf",Z[Z.BigInt=13]="BigInt",Z[Z.Boolean=14]="Boolean",Z[Z.DateExclusiveMaximumTimestamp=15]="DateExclusiveMaximumTimestamp",Z[Z.DateExclusiveMinimumTimestamp=16]="DateExclusiveMinimumTimestamp",Z[Z.DateMaximumTimestamp=17]="DateMaximumTimestamp",Z[Z.DateMinimumTimestamp=18]="DateMinimumTimestamp",Z[Z.DateMultipleOfTimestamp=19]="DateMultipleOfTimestamp",Z[Z.Date=20]="Date",Z[Z.Function=21]="Function",Z[Z.IntegerExclusiveMaximum=22]="IntegerExclusiveMaximum",Z[Z.IntegerExclusiveMinimum=23]="IntegerExclusiveMinimum",Z[Z.IntegerMaximum=24]="IntegerMaximum",Z[Z.IntegerMinimum=25]="IntegerMinimum",Z[Z.IntegerMultipleOf=26]="IntegerMultipleOf",Z[Z.Integer=27]="Integer",Z[Z.IntersectUnevaluatedProperties=28]="IntersectUnevaluatedProperties",Z[Z.Intersect=29]="Intersect",Z[Z.Iterator=30]="Iterator",Z[Z.Kind=31]="Kind",Z[Z.Literal=32]="Literal",Z[Z.Never=33]="Never",Z[Z.Not=34]="Not",Z[Z.Null=35]="Null",Z[Z.NumberExclusiveMaximum=36]="NumberExclusiveMaximum",Z[Z.NumberExclusiveMinimum=37]="NumberExclusiveMinimum",Z[Z.NumberMaximum=38]="NumberMaximum",Z[Z.NumberMinimum=39]="NumberMinimum",Z[Z.NumberMultipleOf=40]="NumberMultipleOf",Z[Z.Number=41]="Number",Z[Z.ObjectAdditionalProperties=42]="ObjectAdditionalProperties",Z[Z.ObjectMaxProperties=43]="ObjectMaxProperties",Z[Z.ObjectMinProperties=44]="ObjectMinProperties",Z[Z.ObjectRequiredProperty=45]="ObjectRequiredProperty",Z[Z.Object=46]="Object",Z[Z.Promise=47]="Promise",Z[Z.RegExp=48]="RegExp",Z[Z.StringFormatUnknown=49]="StringFormatUnknown",Z[Z.StringFormat=50]="StringFormat",Z[Z.StringMaxLength=51]="StringMaxLength",Z[Z.StringMinLength=52]="StringMinLength",Z[Z.StringPattern=53]="StringPattern",Z[Z.String=54]="String",Z[Z.Symbol=55]="Symbol",Z[Z.TupleLength=56]="TupleLength",Z[Z.Tuple=57]="Tuple",Z[Z.Uint8ArrayMaxByteLength=58]="Uint8ArrayMaxByteLength",Z[Z.Uint8ArrayMinByteLength=59]="Uint8ArrayMinByteLength",Z[Z.Uint8Array=60]="Uint8Array",Z[Z.Undefined=61]="Undefined",Z[Z.Union=62]="Union",Z[Z.Void=63]="Void"})(b||(b={}));eV=class eV extends q6{constructor(Z){super("Unknown type");this.schema=Z}};qJ=class qJ{constructor(Z){this.iterator=Z}[Symbol.iterator](){return this.iterator}First(){let Z=this.iterator.next();return Z.done?void 0:Z.value}}});var YO=N(()=>{JJ();QJ()});function _5(Z){let Y=QO;for(let Q of Z.split("."))if(Y=Y?.properties?.[Q],!Y)return;return Y}function LZ(Z,Y){if(j5.Check(Z,Y))return Y;let Q=[...j5.Errors(Z,Y)][0],J=Q?.path?`${Q.path}: `:"";throw Error(`${J}${Q?.message??"Value does not match schema"}`)}function N5(Z,Y){let Q=_5(Z);if(!Q)return{valid:!1,message:`Unknown configuration key '${Z}'.`};if(j5.Check(Q,Y))return{valid:!0};let J=kP(Q);if(J.length>0)return{valid:!1,message:`Expected one of ${J.join(", ")} for '${Z}', got '${String(Y)}'.`};let q=[...j5.Errors(Q,Y)][0];return{valid:!1,message:`Invalid value for '${Z}': ${q?.message??"schema validation failed"}.`}}function I5(Z,Y){let Q=_5(Z);if(!Q)return{ok:!1,message:`Unknown configuration key '${Z}'.`};let J=Y,q=EP(Q);if(q==="number"||q==="integer"){let z=Number(Y);if(Number.isNaN(z))return{ok:!1,message:`Expected a number for '${Z}', got '${Y}'`};J=z}else if(q==="boolean"){if(!["true","false","on","off"].includes(Y.toLowerCase()))return{ok:!1,message:`Expected a boolean for '${Z}', got '${Y}'`};J=["true","on"].includes(Y.toLowerCase())}else if(q==="array")try{J=JSON.parse(Y)}catch{return{ok:!1,message:`Expected a JSON array for '${Z}', got '${Y}'. Example: ["**/*.foo"]`}}else if(PP(Q)&&Y.toLowerCase()==="null")J=null;let X=N5(Z,J);if(!X.valid)return{ok:!1,message:X.message??`Invalid value for '${Z}'.`};return{ok:!0,value:J}}function kP(Z){return XJ(Z).map((Q)=>Q.const).filter((Q)=>typeof Q==="string")}function EP(Z){let Y=Z.type;if(Y)return Y;for(let Q of XJ(Z)){let J=Q.type;if(J&&J!=="null")return J}return}function XJ(Z){return Z.anyOf??Z.oneOf??Z.allOf??[]}function PP(Z){if(Z.type==="null")return!0;return XJ(Z).some((Y)=>Y.type==="null")}var f,j5;var A4=N(()=>{UF();FF();DF();_F();LF();GF();f3();VV();MV();P1();aF();h3();LV();YJ();YO();x1();f={Array:HF,Boolean:BF,Integer:VF,Literal:MF,Null:NF,Number:wF,Object:R1,Optional:O5,Record:OV,String:iF,Union:B5,Unknown:NV},j5={Check:M5,Errors:ZO}});var xP,b1;var JO=N(()=>{A4();xP=["submodule","env","pkg"],b1={parallelInit:"parallel-init",colonSeparatedPatterns:"colon-separated-patterns"};M6.Set(b1.parallelInit,(Z)=>{if(Z.trim()==="")return!0;return Z.split(",").map((Y)=>Y.trim().toLowerCase()).filter((Y)=>Y.length>0).every((Y)=>xP.includes(Y))});M6.Set(b1.colonSeparatedPatterns,(Z)=>{if(Z==="")return!0;return Z.split(":").every((Y)=>Y.trim().length>0)})});var QO,zJ,w8,qO,HJ;var x1=N(()=>{JO();A4();H0();QO=f.Object({llm:f.Optional(f.Object({provider:f.Optional(f.String()),apiKey:f.Optional(f.String()),baseUrl:f.Optional(f.String()),model:f.Optional(f.String()),temperature:f.Optional(f.Number({minimum:0,maximum:2})),maxTokens:f.Optional(f.Integer({minimum:1})),showThinking:f.Optional(f.Boolean())})),lint:f.Optional(f.Object({onPushBehavior:f.Optional(f.Union([f.Literal("off"),f.Literal("error"),f.Literal("warning")])),maxFileSizeKb:f.Optional(f.Integer({minimum:1}))})),stash:f.Optional(f.Object({undoLimit:f.Optional(f.Integer({minimum:0}))})),commit:f.Optional(f.Object({commitPattern:f.Optional(f.Union([f.Literal("inherit"),f.Literal("comprehensive")])),guidelineCacheDays:f.Optional(f.Integer({minimum:0})),noisyFiles:f.Optional(f.Array(f.String()))})),reword:f.Optional(f.Object({editor:f.Optional(f.Union([f.String(),f.Null()]))})),cache:f.Optional(f.Object({enabled:f.Optional(f.Boolean()),maxAgeMinutes:f.Optional(f.Number({minimum:0}))})),parallel:f.Optional(f.Object({init:f.Optional(f.String({format:b1.parallelInit})),envPaths:f.Optional(f.String({format:b1.colonSeparatedPatterns}))})),viewer:f.Optional(f.Object({highlighting:f.Optional(f.Object({fullfileHighlight:f.Optional(f.Boolean()),maxHunkSize:f.Optional(f.Integer({minimum:1}))})),exitBehavior:f.Optional(f.Union([f.Literal("clearScreen"),f.Literal("nextLine")]))})),defaultEditor:f.String(),enhancedOutput:f.Optional(f.Boolean()),useInlineSubmodule:f.Optional(f.Union([f.Literal("off"),f.Literal("internal"),f.Literal("all")])),useInlineGitConfig:f.Optional(f.Union([f.Literal("off"),f.Literal("internal")])),maxThreadWorkers:f.Optional(f.Integer({minimum:1}))}),zJ=["**/package-lock.json","**/bun.lock","**/yarn.lock","**/pnpm-lock.yaml","**/npm-shrinkwrap.json","**/__snapshots__/*.snap","**/*.snap","**/dist/**","**/build/**","**/coverage/**","**/out/**","**/*.min.js","**/*.min.css"],w8={llm:{provider:"openai",model:"gpt-5-nano",temperature:0.14,maxTokens:void 0,apiKey:void 0,baseUrl:void 0,showThinking:!1},lint:{onPushBehavior:"off",maxFileSizeKb:1024},stash:{undoLimit:10},commit:{commitPattern:"inherit",guidelineCacheDays:30,noisyFiles:[...zJ]},reword:{editor:null},cache:{enabled:!0,maxAgeMinutes:L7},parallel:{init:"submodule,env",envPaths:""},viewer:{highlighting:{fullfileHighlight:!0,maxHunkSize:200000},exitBehavior:"nextLine"},defaultEditor:"code",enhancedOutput:!0,useInlineSubmodule:"internal",useInlineGitConfig:"internal",maxThreadWorkers:8},qO={"llm.provider":"GDX_LLM_PROVIDER","llm.apiKey":"GDX_LLM_API_KEY","llm.baseUrl":"GDX_LLM_BASE_URL","llm.model":"GDX_LLM_MODEL","llm.temperature":"GDX_LLM_TEMPERATURE","llm.maxTokens":"GDX_LLM_MAX_TOKENS","llm.showThinking":"GDX_LLM_SHOW_THINKING","lint.onPushBehavior":"GDX_LINT_ON_PUSH_BEHAVIOR","lint.maxFileSizeKb":"GDX_LINT_MAX_FILE_SIZE_KB","stash.undoLimit":"GDX_STASH_UNDO_LIMIT","commit.commitPattern":"GDX_COMMIT_PATTERN","commit.guidelineCacheDays":"GDX_COMMIT_GUIDELINE_CACHE_DAYS","reword.editor":"GDX_REWORD_EDITOR","cache.enabled":"GDX_CACHE_ENABLED","cache.maxAgeMinutes":"GDX_CACHE_MAX_AGE_MINUTES","parallel.init":"GDX_PARALLEL_INIT","parallel.envPaths":"GDX_PARALLEL_ENV_PATHS","viewer.highlighting.fullfileHighlight":"GDX_VIEWER_HIGHLIGHTING_FULLFILE_HIGHLIGHT","viewer.highlighting.maxHunkSize":"GDX_VIEWER_HIGHLIGHTING_MAX_HUNK_SIZE","viewer.exitBehavior":"GDX_VIEWER_EXIT_BEHAVIOR",defaultEditor:"GDX_DEFAULT_EDITOR",enhancedOutput:"GDX_ENHANCED_OUTPUT",useInlineSubmodule:"GDX_USE_INLINE_SUBMODULE",useInlineGitConfig:"GDX_USE_INLINE_GIT_CONFIG",maxThreadWorkers:"GDX_MAX_THREAD_WORKERS"},HJ={llm:"Configuration for the Language Model (LLM) integration","llm.provider":"LLM provider to use (e.g., openai)","llm.apiKey":"API key for the LLM provider","llm.baseUrl":"Base URL for the LLM API (optional)","llm.model":"Model to use for LLM requests","llm.temperature":"Temperature for LLM generation (0-2)","llm.maxTokens":"Maximum tokens for LLM responses","llm.showThinking":"Whether to show part of LLM reasoning messages",lint:"Configuration for post-commit linting","lint.onPushBehavior":"Lint behavior before push (off, error, warning)","lint.maxFileSizeKb":"Maximum allowed file size in KiB","stash.undoLimit":"Max number of stash drops to keep in history",commit:"Configuration for commit message generation","commit.commitPattern":"Commit message pattern (inherit: learn from repo, comprehensive: fixed format)","commit.guidelineCacheDays":"Days to cache learned commit guidelines per repository","commit.noisyFiles":"Files treated as noisy in commit auto diff summary (array of glob patterns matching relative paths)",reword:"Configuration for rewording commit messages","reword.editor":"Editor command used by gdx reword (overrides global editor when set)",cache:`Configuration for caching mechanism.
349
+ Values that are expensive to get are cached for faster subsequent access.`,"cache.enabled":"Whether caching is enabled","cache.maxAgeMinutes":"Default maximum age of cache entries in minutes (some cache ignore this)",parallel:"Configuration for parallel worktree automation","parallel.init":"Comma-separated list specifying what to init for new forks (submodule, env, pkg)","parallel.envPaths":"Colon-separated list of .gitignore patterns for env files to copy into new forks",viewer:"Configuration for enhanced terminal viewers","viewer.highlighting":"Configuration for syntax highlighting in enhanced viewers","viewer.highlighting.fullfileHighlight":"Highlight diffs by loading full old/new file contents from git or FS when possible (disable for files exceeding viewer.highlighting.maxHunkSize)","viewer.highlighting.maxHunkSize":"Maximum full file size in characters that are allowed for fullfileHighlight to be applied","viewer.exitBehavior":"Behavior when exiting the pager ('nextLine' keeps content in scroll buffer, 'clearScreen' removes pager content from scroll buffer, and 'none' leaves the content and cursor position unchanged)",defaultEditor:"Default code editor to open files with",enhancedOutput:"Whether to enhanced Git's output (modify the output of some git commands when conditions are met)",useInlineSubmodule:"[Experimental] Select submodule implementation mode (off: git-only, internal: gdx internal flow, all: reserved for broader internal usage)",useInlineGitConfig:"[Experimental] Select git config implementation mode (off: use git executable, internal: read/write git config files directly)",maxThreadWorkers:"Maximum number of worker threads for process spawning and high resource intensive tasks (default: 8)"}});import A8 from"fs";import XO from"path";var zO=null,L5,bP,vP,SP,U0,M;var w0=N(()=>{z0();H0();S0();L5={off:-1,fatal:0,error:1,warn:2,info:3,debug:4,verbose:5},bP={off:"BgBlue",fatal:"BgRed",error:"BgRed",warn:"BgYellow",info:"BgBlue",debug:"BgMagenta",verbose:"BgCyan"},vP={off:"",fatal:"FATAL",error:"ERROR",warn:"WARN",info:"INFO",debug:"DEBUG",verbose:"VERBOSE"},SP={off:"Cyan",fatal:"Red",error:"Red",warn:"Yellow",info:"Cyan",debug:"Magenta",verbose:"Blue"};U0=class U0{static logFile=Zz;static logLevel=L5[p.logLevel];static timeLabels=new Map;moduleName;static initialized=!1;static allLogs=[{timestamp:new Date().toISOString(),level:"info",message:`
350
350
 
351
351
  === New gdx session started ===
352
352
  LocalMachineDate: ${new Date().toLocaleString()}
353
- AppVersion: ${l6}
353
+ AppVersion: ${o6}
354
354
  Platform: ${process.platform}
355
355
  Arch: ${process.arch}
356
- `,module:"logger"}];constructor(Z){this.moduleName=Z,U0.ensureInitialized()}static wouldLog(Z){return _5[Z]<=U0.logLevel}static ensureInitialized(){if(!U0.initialized){if(U0.initialized=!0,!Z2)return;U0.initializeLogDirectory(),process.on("exit",()=>U0.flushLogs())}}static initializeLogDirectory(){let Z=iV.dirname(U0.logFile);try{if(!I4.existsSync(Z))I4.mkdirSync(Z,{recursive:!0})}catch{}}static logInternal(Z,Y,Q){let q={timestamp:new Date().toISOString(),level:Z,message:Y,module:Q};if(sV)sV(q);if(_5[Z]<=_5[p.logLevel])U0.printMessage(Z,Y,Q);if(!Z2)return;U0.ensureInitialized(),U0.allLogs.push(q)}static printMessage(Z,Y,Q){let J=Ox[Z],q=Dx[Z],X=Mx[Z],z=t(Y,100,{indent:" "}),W=M0(J)+H.bright+H.white+` ${q} `+H.reset+H.invert+` ${Q} ${H.reset+M0(X)} ${z}`+H.reset;if(Z==="fatal"||Z==="error")process.stderr.write(W+`
356
+ `,module:"logger"}];constructor(Z){this.moduleName=Z,U0.ensureInitialized()}static wouldLog(Z){return L5[Z]<=U0.logLevel}static ensureInitialized(){if(!U0.initialized){if(U0.initialized=!0,!H2)return;U0.initializeLogDirectory(),process.on("exit",()=>U0.flushLogs())}}static initializeLogDirectory(){let Z=XO.dirname(U0.logFile);try{if(!A8.existsSync(Z))A8.mkdirSync(Z,{recursive:!0})}catch{}}static logInternal(Z,Y,Q){let q={timestamp:new Date().toISOString(),level:Z,message:Y,module:Q};if(zO)zO(q);if(L5[Z]<=L5[p.logLevel])U0.printMessage(Z,Y,Q);if(!H2)return;U0.ensureInitialized(),U0.allLogs.push(q)}static printMessage(Z,Y,Q){let J=bP[Z],q=vP[Z],X=SP[Z],z=t(Y,100,{indent:" "}),W=M0(J)+H.bright+H.white+` ${q} `+H.reset+H.invert+` ${Q} ${H.reset+M0(X)} ${z}`+H.reset;if(Z==="fatal"||Z==="error")process.stderr.write(W+`
357
357
  `);else process.stdout.write(W+`
358
- `)}fatal(Z){U0.logInternal("fatal",Z,this.moduleName)}error(Z){U0.logInternal("error",Z,this.moduleName)}warn(Z){U0.logInternal("warn",Z,this.moduleName)}info(Z){U0.logInternal("info",Z,this.moduleName)}debug(Z){U0.logInternal("debug",Z,this.moduleName)}verbose(Z){U0.logInternal("verbose",Z,this.moduleName)}time(Z,Y){if(!Y){U0.timeLabels.set(Z,performance.now());return}return U0.time(Z,Y,this.moduleName)}timeEnd(Z){U0.timeEnd(Z,this.moduleName)}async timeAsync(Z,Y){return await U0.timeAsync(Z,Y,this.moduleName)}static fatal(Z,Y="gdx"){U0.logInternal("fatal",Z,Y)}static error(Z,Y="gdx"){U0.logInternal("error",Z,Y)}static warn(Z,Y="gdx"){U0.logInternal("warn",Z,Y)}static info(Z,Y="gdx"){U0.logInternal("info",Z,Y)}static debug(Z,Y="gdx"){U0.logInternal("debug",Z,Y)}static verbose(Z,Y="gdx"){U0.logInternal("verbose",Z,Y)}static async timeAsync(Z,Y,Q="gdx"){let J=performance.now();try{return await Y()}finally{let q=performance.now(),X=y4.getTimeFromMS(q-J).modern();U0.debug(`${Z} took ${X}`,Q)}}static time(Z,Y,Q="gdx"){let J=performance.now();if(!Y){U0.timeLabels.set(Z,J);return}try{return Y()}finally{let q=performance.now(),X=y4.getTimeFromMS(q-J).modern();U0.debug(`${Z} took ${X}`,Q)}}static timeEnd(Z,Y="gdx"){let Q=performance.now(),J=U0.timeLabels.get(Z);if(J){let q=y4.getTimeFromMS(Q-J).modern();U0.debug(`${Z} took ${q}`,Y),U0.timeLabels.delete(Z)}else U0.warn(`No such label '${Z}' for timeEnd`,Y)}static flushLogs(){if(U0.allLogs.length===0)return;try{let Z=iV.dirname(U0.logFile);if(!I4.existsSync(Z))I4.mkdirSync(Z,{recursive:!0});let Y="";if(I4.existsSync(U0.logFile))Y=I4.readFileSync(U0.logFile,"utf-8");let Q=U0.allLogs.map(({timestamp:X,level:z,message:W,module:U})=>{let K=z.toUpperCase().padEnd(5);return W=t(LX(W),100,{indent:33,redundancyLv:-1,mode:"strict"}),`${X} [${K}] ${U}: ${W}`}).join(`
358
+ `)}fatal(Z){U0.logInternal("fatal",Z,this.moduleName)}error(Z){U0.logInternal("error",Z,this.moduleName)}warn(Z){U0.logInternal("warn",Z,this.moduleName)}info(Z){U0.logInternal("info",Z,this.moduleName)}debug(Z){U0.logInternal("debug",Z,this.moduleName)}verbose(Z){U0.logInternal("verbose",Z,this.moduleName)}time(Z,Y){if(!Y){U0.timeLabels.set(Z,performance.now());return}return U0.time(Z,Y,this.moduleName)}timeEnd(Z){U0.timeEnd(Z,this.moduleName)}async timeAsync(Z,Y){return await U0.timeAsync(Z,Y,this.moduleName)}static fatal(Z,Y="gdx"){U0.logInternal("fatal",Z,Y)}static error(Z,Y="gdx"){U0.logInternal("error",Z,Y)}static warn(Z,Y="gdx"){U0.logInternal("warn",Z,Y)}static info(Z,Y="gdx"){U0.logInternal("info",Z,Y)}static debug(Z,Y="gdx"){U0.logInternal("debug",Z,Y)}static verbose(Z,Y="gdx"){U0.logInternal("verbose",Z,Y)}static async timeAsync(Z,Y,Q="gdx"){let J=performance.now();try{return await Y()}finally{let q=performance.now(),X=g8.getTimeFromMS(q-J).modern();U0.debug(`${Z} took ${X}`,Q)}}static time(Z,Y,Q="gdx"){let J=performance.now();if(!Y){U0.timeLabels.set(Z,J);return}try{return Y()}finally{let q=performance.now(),X=g8.getTimeFromMS(q-J).modern();U0.debug(`${Z} took ${X}`,Q)}}static timeEnd(Z,Y="gdx"){let Q=performance.now(),J=U0.timeLabels.get(Z);if(J){let q=g8.getTimeFromMS(Q-J).modern();U0.debug(`${Z} took ${q}`,Y),U0.timeLabels.delete(Z)}else U0.warn(`No such label '${Z}' for timeEnd`,Y)}static flushLogs(){if(U0.allLogs.length===0)return;try{let Z=XO.dirname(U0.logFile);if(!A8.existsSync(Z))A8.mkdirSync(Z,{recursive:!0});let Y="";if(A8.existsSync(U0.logFile))Y=A8.readFileSync(U0.logFile,"utf-8");let Q=U0.allLogs.map(({timestamp:X,level:z,message:W,module:U})=>{let K=z.toUpperCase().padEnd(5);return W=t(bX(W),100,{indent:33,redundancyLv:-1,mode:"strict"}),`${X} [${K}] ${U}: ${W}`}).join(`
359
359
  `),J=Y?Y+`
360
- `+Q:Q;if(Buffer.byteLength(J,"utf-8")>aX){let X=J.split(`
360
+ `+Q:Q;if(Buffer.byteLength(J,"utf-8")>Hz){let X=J.split(`
361
361
  `),z=Math.floor(X.length/2);J=X.slice(z).join(`
362
- `)}I4.writeFileSync(U0.logFile,J,"utf-8")}catch{}}};M=U0});import jx from"path";async function Y3(){aV??=import("keytar");let Z=await aV,Y=Z.default??Z;if(!Y||typeof Y.setPassword!=="function")throw new o("Keytar module does not expose setPassword.","KEYTAR_INVALID");return Y}class rV{configPath;config=structuredClone(N4);loaded=!1;logger=new M("ConfigService");constructor(Z){this.configPath=Z||uZ}async load(){if(this.loaded)return;try{let Z=await p0(this.configPath,"utf-8"),Y=BJ(Z);this.config=this.mergeConfig(N4,Y)}catch(Z){let Y=new o(Z);if(Y.code!=="ENOENT")this.logger.warn(`Failed to parse config file at ${this.configPath}: ${Y.message}`);this.config=structuredClone(N4)}this.applyEnvOverrides(),this.loaded=!0}async save(){let Z=this.removeSecureKeys(this.config),Y=OJ(Z),Q=jx.dirname(this.configPath);if(!l(Q))n0(Q,{recursive:!0});await c0(this.configPath,Y,"utf-8")}get(Z,Y){let Q=Z.split("."),J=this.config;for(let q of Q)if(J&&typeof J==="object"&&q in J)J=J[q];else return Y;return J}async getSecure(Z,Y){let Q=this.get(Z);if(Q!==void 0)return Q;if(b8.includes(Z))try{let q=await(await Y3()).getPassword(D7,Z);if(q){let X=Z.split("."),z=this.config;for(let W=0;W<X.length-1;W++){let U=X[W];if(!(U in z)||typeof z[U]!=="object")z[U]={};z=z[U]}return z[X[X.length-1]]=q,q}}catch(J){this.logger.warn(`Failed to load secure key '${Z}' from keychain:
363
- `+o.from(J).toString({color:!0}))}return Y}async set(Z,Y){let Q=M5(Z,Y);if(!Q.valid){this.logger.warn(`${Q.message??`Invalid value for '${Z}'.`} Ignoring value.`);return}let J=Z.split("."),q=this.config;for(let z=0;z<J.length-1;z++){let W=J[z];if(!(W in q)||typeof q[W]!=="object")q[W]={};q=q[W]}let X=J[J.length-1];if(b8.includes(Z))try{await(await Y3()).setPassword(D7,Z,String(Y))}catch(z){this.logger.warn(`Failed to save secure key '${Z}' to keychain:
364
- `+o.from(z).toString({color:!0}))}q[X]=Y}getAll(){return this.config}getConfigPath(){return this.configPath}isDefault(Z){let Y=Z.split("."),Q=this.config,J=N4;for(let q of Y){if(Q&&typeof Q==="object"&&q in Q)Q=Q[q];else Q=void 0;if(J&&typeof J==="object"&&q in J)J=J[q];else J=void 0}return Q===J}mergeConfig(Z,Y){let Q=structuredClone(Z),J=(q,X,z="")=>{for(let W in X){let U=z?`${z}.${W}`:W,K=X[W],B=q[W];if(!D5(U))continue;if(typeof K==="object"&&K!==null&&!Array.isArray(K))if(typeof B==="object"&&B!==null)J(q[W],K,U);else this.logger.warn(`Type mismatch for '${U}'. Expected ${typeof B}, got object. Ignoring value.`);else{let F=M5(U,K);if(F.valid)q[W]=K;else this.logger.warn(`${F.message??`Invalid value for '${U}'.`} Ignoring value.`)}}};return J(Q,Y),Q}removeSecureKeys(Z){let Y=structuredClone(Z);for(let Q of b8){let J=Q.split("."),q=Y;for(let X=0;X<J.length-1;X++){if(!q[J[X]])return Y;q=q[J[X]]}delete q[J[J.length-1]]}return Y}async deleteSecureKey(Z){if(!b8.includes(Z))return!1;try{return await(await Y3()).deletePassword(D7,Z)}catch{return!1}}applyEnvOverrides(){for(let[Z,Y]of Object.entries(oV)){let Q=process.env[Y];if(Q!==void 0){let J=j5(Z,Q);if(!J.ok){this.logger.warn(`Environment variable ${Y}: ${J.message}. Ignoring.`);continue}this.set(Z,J.value)}}}}function _x(){let Z=process.env.GDX_CONFIG_PATH;if(Z)return Z;if(l(uZ))return uZ;if(l(eQ))return eQ;return uZ}async function K0(){if(!N5)N5=new rV(_x()),await N5.load();return N5}var aV=null,N5=null;var $6=j(()=>{d$();z0();U6();E1();H0();w0();w8()});var Nx,Ix,Lx,tV,I5;var L5=j(()=>{H0();w8();Nx=f.Object({version:f.String(),cacheSchemaVersion:f.Literal(V7),createdAt:f.Number(),updatedAt:f.Number(),lastPruneAt:f.Number()}),Ix=f.Object({createdAt:f.Number(),updatedAt:f.Number(),expiresAt:f.Number()}),Lx=f.Object({name:f.String(),extensions:f.Array(f.String()),filenames:f.Optional(f.Array(f.String())),color:f.Number(),id:f.Optional(f.Number())}),tV=f.Object({lastUpdatedAt:f.String(),languages:f.Array(Lx)}),I5=f.Object({meta:Nx,data:f.Record(f.String(),f.Unknown()),entryMeta:f.Record(f.String(),Ix)})});import wx from"path";class ZO{cachePath;isDisabled=!1;cache={...eV};memoryData={};memoryEntryMeta={};loaded=!1;dirty=!1;loadingPromise=null;logger=new M("cache");constructor(Z){this.cachePath=Z||h6}async ensureLoaded(){if(this.loaded)return;if(this.loadingPromise){await this.loadingPromise;return}this.loadingPromise=this.load();try{await this.loadingPromise}finally{this.loadingPromise=null}}pruneExpiredKeys(){let Z=Date.now(),Y=0,Q=[];for(let[J,q]of Object.entries(this.cache.entryMeta))if(q.expiresAt!==Q3&&Z>q.expiresAt)Q.push(J);for(let J of Q){delete this.cache.entryMeta[J];let q=J.split("."),X=[],z=this.cache.data;for(let W of q)if(z&&typeof z==="object"&&W in z)X.push({obj:z,key:W}),z=z[W];else break;if(X.length>0){let W=X[X.length-1];delete W.obj[W.key],Y++}for(let W=X.length-2;W>=0;W--){let{obj:U,key:K}=X[W],B=U[K];if(B&&typeof B==="object"&&Object.keys(B).length===0)delete U[K];else break}}if(this.cache.meta.lastPruneAt=Z,Y>0)this.cache.meta.updatedAt=Z,this.dirty=!0;return Y}async load(){if(this.loaded)return;if(!(await K0()).get("cache.enabled")){this.resetCache(!1),this.loaded=!0,this.isDisabled=!0,this.logger.debug("Cache is disabled via configuration");return}try{let Y=await p0(this.cachePath,"utf-8"),Q=JSON.parse(Y);try{_Z(I5,Q)}catch{this.logger.warn("Cache file structure is outdated or invalid. Cache will be reset on next write."),this.resetCache(!1),this.loaded=!0;return}if(Q.meta.version!==l6)this.logger.debug(`App version mismatch: stored=${Q.meta.version}, current=${l6}. Updating version number.`),Q.meta.version=l6,this.dirty=!0;this.cache=Q;let q=(Date.now()-this.cache.meta.lastPruneAt)/dZ;if(q>=iX){this.logger.debug(`Last prune was ${q.toFixed(1)} days ago. Running cache pruning...`);let X=this.pruneExpiredKeys();if(X>0)this.logger.debug(`Pruned ${X} expired cache entries`);else this.logger.debug("No expired entries found during pruning")}}catch(Y){let Q=new o(Y);if(Q.code!=="ENOENT")this.logger.debug(`Failed to parse cache file at ${this.cachePath}: ${Q.message}`);this.resetCache(!1)}this.loaded=!0}resetCache(Z=!0){if(this.cache=structuredClone(eV),Z)this.dirty=!0}resetMemoryCache(){this.memoryData={},this.memoryEntryMeta={}}async get(Z,Y){if(this.isDisabled)return Y;await this.ensureLoaded();let Q=this.cache.entryMeta[Z];if(!Q)return Y;if(Date.now()>Q.expiresAt)return this.logger.debug(`Cache entry expired: ${Z}. expiresAt=${new Date(Q.expiresAt).toISOString()}, now=${new Date().toISOString()}`),await this.delete(Z),Y;let J=Z.split("."),q=this.cache.data;for(let X of J)if(q&&typeof q==="object"&&X in q)q=q[X];else return Y;return this.logger.debug(`Cache ${Z} hit.`),q}async getOneOff(Z,Y){if(await this.ensureLoaded(),this.isDisabled)return Y;if(!this.memoryEntryMeta[Z])return Y;let J=Z.split("."),q=this.memoryData;for(let X of J)if(q&&typeof q==="object"&&X in q)q=q[X];else return Y;return this.logger.debug(`Memory cache ${Z} hit.`),q}async set(Z,Y,Q){if(this.isDisabled)return;let J=await K0();await this.ensureLoaded();let q=Z.split("."),X=this.cache.data,z=Q?.maxAgeMinutes??J.get("cache.maxAgeMinutes")??_7;this.logger.debug(`Setting cache ${Z} with maxAgeMinutes=${z}`);for(let B=0;B<q.length-1;B++){let $=q[B];if(!($ in X)||typeof X[$]!=="object")X[$]={};X=X[$]}let W=q[q.length-1];X[W]=Y;let U=Date.now(),K=Number.isFinite(z)?U+Math.max(z,0)*60*1000:Q3;this.cache.entryMeta[Z]={createdAt:this.cache.entryMeta[Z]?.createdAt??U,updatedAt:U,expiresAt:K},this.cache.meta.updatedAt=U,this.dirty=!0}async setOneOff(Z,Y){if(await this.ensureLoaded(),this.isDisabled)return;let Q=Z.split("."),J=this.memoryData;for(let z=0;z<Q.length-1;z++){let W=Q[z];if(!(W in J)||typeof J[W]!=="object")J[W]={};J=J[W]}let q=Q[Q.length-1];J[q]=Y;let X=Date.now();this.memoryEntryMeta[Z]={createdAt:this.memoryEntryMeta[Z]?.createdAt??X,updatedAt:X}}async delete(Z){if(this.isDisabled)return!1;if(await this.ensureLoaded(),!this.cache.entryMeta[Z])return!1;delete this.cache.entryMeta[Z];let Y=Z.split("."),Q=[],J=this.cache.data;for(let q of Y)if(J&&typeof J==="object"&&q in J)Q.push({obj:J,key:q}),J=J[q];else return!1;if(Q.length>0){let q=Q[Q.length-1];delete q.obj[q.key]}for(let q=Q.length-2;q>=0;q--){let{obj:X,key:z}=Q[q],W=X[z];if(W&&typeof W==="object"&&Object.keys(W).length===0)delete X[z];else break}return this.cache.meta.updatedAt=Date.now(),this.dirty=!0,this.logger.debug(`Cache entry deleted: ${Z}`),!0}async deleteOneOff(Z){if(await this.ensureLoaded(),this.isDisabled)return!1;if(!this.memoryEntryMeta[Z])return!1;delete this.memoryEntryMeta[Z];let Y=Z.split("."),Q=[],J=this.memoryData;for(let q of Y)if(J&&typeof J==="object"&&q in J)Q.push({obj:J,key:q}),J=J[q];else return!1;if(Q.length>0){let q=Q[Q.length-1];delete q.obj[q.key]}for(let q=Q.length-2;q>=0;q--){let{obj:X,key:z}=Q[q],W=X[z];if(W&&typeof W==="object"&&Object.keys(W).length===0)delete X[z];else break}return!0}async getAll(){return await this.ensureLoaded(),this.cache}getCachePath(){return this.cachePath}flush(){if(!this.dirty)return;try{let Z=wx.dirname(this.cachePath);n0(Z,{recursive:!0});let Y=JSON.stringify(this.cache);B8(this.cachePath,Y,"utf-8"),this.dirty=!1,this.logger.debug(`Cache flushed to ${this.cachePath}`)}catch(Z){let Y=new o(Z);this.logger.warn(`Failed to flush cache: ${Y.message}`)}}async clear(){await this.ensureLoaded(),this.resetCache(),this.resetMemoryCache()}}async function I0(){if(!n8){if(n8=new ZO,await n8.ensureLoaded(),!n8.isDisabled)Ax()}return n8}function w5(){n8=null}function Ax(){M.debug("Registering cache flush hook on exit","cache"),IX(()=>{if(n8)n8.flush()})}var eV,Q3,n8=null;var z8=j(()=>{U6();z0();H0();w0();$6();L5();w8();eV={meta:{version:l6,cacheSchemaVersion:V7,createdAt:Date.now(),updatedAt:Date.now(),lastPruneAt:Date.now()},data:{},entryMeta:{}},Q3=Number.MAX_SAFE_INTEGER});async function YO(Z,Y){let Q=await I0(),J=`which.${Z}`,q=await Q.get(J);if(q!=null&&l(q))return q;try{let X=Y?await Y():await H8(Z);if(!X)return null;return await Q.set(J,X),X}catch(X){throw M.warn(`Failed to get which exec for ${Z}: ${X}`,"cache-ctrl"),X}}var QO=j(()=>{g0();z8();w0();U6()});import NZ from"path";import{createInterface as Gx}from"readline";import{writeFile as Cx}from"fs/promises";import{unlink as Rx}from"fs/promises";function P1(Z){return(...Q)=>{if(Ex(Q))return P1(Z(...Q));return kx(()=>Z(...Q))}}async function kx(Z){await p.threadResources.acquire();try{return await Z()}finally{p.threadResources.release()}}function Ex(Z){if(Z.length!==1)return!1;let[Y]=Z;if(!Y||typeof Y!=="object")return!1;return!Array.isArray(Y)&&!("raw"in Y)}function A5(Z={}){let Y=new AbortController;return{$:P1(q8({cancelSignal:Y.signal,...Z,verbose:q3})),abort:()=>Y.abort(),signal:Y.signal}}async function b1(Z){let Y=Gx({input:process.stdin,output:process.stdout});return new Promise((Q)=>{Y.question(Z,(J)=>{Y.close(),Q(J.trim())})})}async function H8(Z){return await YO(Z,async()=>{if(Z.includes(NZ.sep)){let X=NZ.resolve(Z);return await sQ(X)?X:null}let Y=process.platform==="win32",Q=[""];if(Y)Q=["",...(process.env.PATHEXT||".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH").split(";").filter(Boolean)];let J=[];if(J.push(process.cwd()),process.argv[1])J.push(NZ.dirname(process.argv[1]));if(J.push(NZ.dirname(process.execPath)),process.env.PATH)J.push(...process.env.PATH.split(NZ.delimiter));let q=[...new Set(J)];for(let X of q){if(!X)continue;for(let z of Q){let W=NZ.join(X,Z+z);if(await sQ(W))return W}}return null})}async function G5(Z){try{switch(process.platform){case"win32":return await k({input:Z})`clip`,!0;case"darwin":return await k({input:Z})`pbcopy`,!0;case"linux":try{return await k({input:Z})`xclip -selection clipboard`,!0}catch{return await k({input:Z})`xsel --clipboard --input`,!0}default:return!1}}catch{return!1}}function x0(Z={}){let Y=!Z.message;if(Z={message:"",interval:70,frames:cX,animateGradient:!1,gradientColor:E.Zinc050,gradientColorBg:E.Zinc400,gradientSpeed:0.13,gradientInterval:3,...Z},!process.stdout.isTTY)return{stop:()=>{},start:(W=!0)=>{if(W)process.stdout.write(`
365
- `)},setMessage:(W)=>{},options:Z};let Q=0,J=0,q=!0,X=null,z=()=>{if(!q)return;let W=Z.frames[Q%Z.frames.length];if(Z.message)if(Z.animateGradient&&e0.supportsColor>=3){let U=J%Z.gradientInterval;if(U<=1){let K=Oz.easeInOut(U),B=Fz(Z.message,Z.gradientColor,Z.gradientColorBg,K,0.3);W+=" "+B}else W+=" "+M0(v8(Z.gradientColorBg))+Z.message+H.reset;J+=Z.gradientSpeed??0.1}else W+=" "+Z.message;process.stdout.write("\r\x1B[K"+W),Q++};if(!Y)X=setInterval(z,Z.interval),process.stdout.write("\x1B[?25l"),z();return{stop:()=>{if(q=!1,X)clearInterval(X),X=null;process.stdout.write("\r\x1B[K\x1B[?25h")},start:(W=!0)=>{if(!q)process.stdout.write("\x1B[?25l"+(W?`
366
- `:"")),q=!0,X=setInterval(z,Z.interval)},setMessage:(W)=>{Z.message=W,z()},options:Z}}async function JO(Z){let Q=(await K0()).getAll().defaultEditor,J=await H8(Q);if(!J)throw new o(`Default editor "${Q}" not found in PATH. Set a valid editor in the configuration.`,"EDITOR_NOT_FOUND");await T0`${J} ${Z}`}async function v1(Z){if(!Z){if(c6)await Rx(c6).catch(f6);p.exitCodeOverride=-1;return}if(c6)await Cx(c6,Z,"utf-8");p.exitCodeOverride=Q4}function C5(Z){let Y=[],Q="",J=!1,q=!1;for(let X=0;X<Z.length;X++){let z=Z[X];if(z==="'"&&!q)J=!J;else if(z==='"'&&!J)q=!q;else if(z===" "&&!J&&!q){if(Q)Y.push(Q),Q=""}else Q+=z}if(Q)Y.push(Q);return Y}async function IZ(Z,Y,Q=null,J=">"){let q=0;try{if(Q){let X=P1(q8({stdout:{file:Q,append:J===">>"},stderr:"inherit"})),{exitCode:z}=await X`${Z} ${Y}`;q=z}else{let{exitCode:X}=await T0`${Z} ${Y}`;q=X}}catch(X){let z=o.from(X),W=X.signal;if(W)z.code=W;if(z.code==="SIGINT"||z.code==="SIGTERM"||z.code==="SIGABRT"||z.code==="SIGKILL")return M.debug(`Git command was killed by signal: ${z.code}. Treating as failure with exit code 1.`),M.verbose("Full error details: "+u(z,{color:!0})),1;if(z.code==="ENOENT")return M.error(`Git executable not found: "${Z}". Ensure git is installed and in your PATH.`),1;if(z.code==="EACCES")return M.error(`Permission denied when trying to execute git: "${Z}". Check your permissions for this executable.`),1;if(z.code==="SIGPIPE")return M.debug("Git command failed with SIGPIPE. This may indicate that the pipe was no longer inuse by the consumer process."),1;if(z.name===m6.name&&z.message.startsWith("Command failed"))return q||1;return M.error(`Command failed.
367
- `+u(z,{color:!0})),1}return q??0}function q3(Z,Y){if(Y.type!=="duration")return;let Q="done";if(Y.result.failed)Q="FAILED";else if(Y.result.timedOut)Q="TIMEOUT";else if(Y.result.isCanceled)Q="CANCELED";else if(Y.result.isTerminated)Q="TERMINATED";Tx.debug(`${H.bright+H.dim}$ ${H.reset+Y.escapedCommand+H.dim} (${Q} in ${Y.result.durationMs}ms)`)}function R5(Z,Y){let Q=Z.length-Z.replace(/\n/g,"").length+1;process.stdout.write(`\x1B[${Q}F`),process.stdout.write("\x1B[0J");for(let J of Y.split(`
362
+ `)}A8.writeFileSync(U0.logFile,J,"utf-8")}catch{}}};M=U0});import yP from"path";async function WJ(){HO??=import("keytar");let Z=await HO,Y=Z.default??Z;if(!Y||typeof Y.setPassword!=="function")throw new o("Keytar module does not expose setPassword.","KEYTAR_INVALID");return Y}class WO{configPath;config=structuredClone(w8);loaded=!1;logger=new M("ConfigService");constructor(Z){this.configPath=Z||cZ}async load(){if(this.loaded)return;try{let Z=await f0(this.configPath,"utf-8"),Y=j3(Z);this.config=this.mergeConfig(w8,Y)}catch(Z){let Y=new o(Z);if(Y.code!=="ENOENT")this.logger.warn(`Failed to parse config file at ${this.configPath}: ${Y.message}`);this.config=structuredClone(w8)}this.applyEnvOverrides(),this.loaded=!0}async save(){let Z=this.removeSecureKeys(this.config),Y=L3(Z),Q=yP.dirname(this.configPath);if(!l(Q))i0(Q,{recursive:!0});await c0(this.configPath,Y,"utf-8")}get(Z,Y){let Q=Z.split("."),J=this.config;for(let q of Q)if(J&&typeof J==="object"&&q in J)J=J[q];else return Y;return J}async getSecure(Z,Y){let Q=this.get(Z);if(Q!==void 0)return Q;if(S4.includes(Z))try{let q=await(await WJ()).getPassword(_7,Z);if(q){let X=Z.split("."),z=this.config;for(let W=0;W<X.length-1;W++){let U=X[W];if(!(U in z)||typeof z[U]!=="object")z[U]={};z=z[U]}return z[X[X.length-1]]=q,q}}catch(J){this.logger.warn(`Failed to load secure key '${Z}' from keychain:
363
+ `+o.from(J).toString({color:!0}))}return Y}async set(Z,Y){let Q=N5(Z,Y);if(!Q.valid){this.logger.warn(`${Q.message??`Invalid value for '${Z}'.`} Ignoring value.`);return}let J=Z.split("."),q=this.config;for(let z=0;z<J.length-1;z++){let W=J[z];if(!(W in q)||typeof q[W]!=="object")q[W]={};q=q[W]}let X=J[J.length-1];if(S4.includes(Z))try{await(await WJ()).setPassword(_7,Z,String(Y))}catch(z){this.logger.warn(`Failed to save secure key '${Z}' to keychain:
364
+ `+o.from(z).toString({color:!0}))}q[X]=Y}getAll(){return this.config}getConfigPath(){return this.configPath}isDefault(Z){let Y=Z.split("."),Q=this.config,J=w8;for(let q of Y){if(Q&&typeof Q==="object"&&q in Q)Q=Q[q];else Q=void 0;if(J&&typeof J==="object"&&q in J)J=J[q];else J=void 0}return Q===J}mergeConfig(Z,Y){let Q=structuredClone(Z),J=(q,X,z="")=>{for(let W in X){let U=z?`${z}.${W}`:W,K=X[W],B=q[W];if(!_5(U))continue;if(typeof K==="object"&&K!==null&&!Array.isArray(K))if(typeof B==="object"&&B!==null)J(q[W],K,U);else this.logger.warn(`Type mismatch for '${U}'. Expected ${typeof B}, got object. Ignoring value.`);else{let V=N5(U,K);if(V.valid)q[W]=K;else this.logger.warn(`${V.message??`Invalid value for '${U}'.`} Ignoring value.`)}}};return J(Q,Y),Q}removeSecureKeys(Z){let Y=structuredClone(Z);for(let Q of S4){let J=Q.split("."),q=Y;for(let X=0;X<J.length-1;X++){if(!q[J[X]])return Y;q=q[J[X]]}delete q[J[J.length-1]]}return Y}async deleteSecureKey(Z){if(!S4.includes(Z))return!1;try{return await(await WJ()).deletePassword(_7,Z)}catch{return!1}}applyEnvOverrides(){for(let[Z,Y]of Object.entries(qO)){let Q=process.env[Y];if(Q!==void 0){let J=I5(Z,Q);if(!J.ok){this.logger.warn(`Environment variable ${Y}: ${J.message}. Ignoring.`);continue}this.set(Z,J.value)}}}}function fP(){let Z=process.env.GDX_CONFIG_PATH;if(Z)return Z;if(l(cZ))return cZ;if(l(z2))return z2;return cZ}async function K0(){if(!w5)w5=new WO(fP()),await w5.load();return w5}var HO=null,w5=null;var $6=N(()=>{ZF();z0();J6();x1();H0();w0();A4()});var hP,gP,mP,UO,A5;var G5=N(()=>{H0();A4();hP=f.Object({version:f.String(),cacheSchemaVersion:f.Literal(M7),createdAt:f.Number(),updatedAt:f.Number(),lastPruneAt:f.Number()}),gP=f.Object({createdAt:f.Number(),updatedAt:f.Number(),expiresAt:f.Number()}),mP=f.Object({name:f.String(),extensions:f.Array(f.String()),filenames:f.Optional(f.Array(f.String())),color:f.Number(),id:f.Optional(f.Number())}),UO=f.Object({lastUpdatedAt:f.String(),languages:f.Array(mP)}),A5=f.Object({meta:hP,data:f.Record(f.String(),f.Unknown()),entryMeta:f.Record(f.String(),gP)})});import pP from"path";class BO{cachePath;isDisabled=!1;cache={...KO};memoryData={};memoryEntryMeta={};loaded=!1;dirty=!1;loadingPromise=null;logger=new M("cache");constructor(Z){this.cachePath=Z||g6}async ensureLoaded(){if(this.loaded)return;if(this.loadingPromise){await this.loadingPromise;return}this.loadingPromise=this.load();try{await this.loadingPromise}finally{this.loadingPromise=null}}pruneExpiredKeys(){let Z=Date.now(),Y=0,Q=[];for(let[J,q]of Object.entries(this.cache.entryMeta))if(q.expiresAt!==UJ&&Z>q.expiresAt)Q.push(J);for(let J of Q){delete this.cache.entryMeta[J];let q=J.split("."),X=[],z=this.cache.data;for(let W of q)if(z&&typeof z==="object"&&W in z)X.push({obj:z,key:W}),z=z[W];else break;if(X.length>0){let W=X[X.length-1];delete W.obj[W.key],Y++}for(let W=X.length-2;W>=0;W--){let{obj:U,key:K}=X[W],B=U[K];if(B&&typeof B==="object"&&Object.keys(B).length===0)delete U[K];else break}}if(this.cache.meta.lastPruneAt=Z,Y>0)this.cache.meta.updatedAt=Z,this.dirty=!0;return Y}async load(){if(this.loaded)return;if(!(await K0()).get("cache.enabled")){this.resetCache(!1),this.loaded=!0,this.isDisabled=!0,this.logger.debug("Cache is disabled via configuration");return}try{let Y=await f0(this.cachePath,"utf-8"),Q=JSON.parse(Y);try{LZ(A5,Q)}catch{this.logger.warn("Cache file structure is outdated or invalid. Cache will be reset on next write."),this.resetCache(!1),this.loaded=!0;return}if(Q.meta.version!==o6)this.logger.debug(`App version mismatch: stored=${Q.meta.version}, current=${o6}. Updating version number.`),Q.meta.version=o6,this.dirty=!0;this.cache=Q;let q=(Date.now()-this.cache.meta.lastPruneAt)/lZ;if(q>=Xz){this.logger.debug(`Last prune was ${q.toFixed(1)} days ago. Running cache pruning...`);let X=this.pruneExpiredKeys();if(X>0)this.logger.debug(`Pruned ${X} expired cache entries`);else this.logger.debug("No expired entries found during pruning")}}catch(Y){let Q=new o(Y);if(Q.code!=="ENOENT")this.logger.debug(`Failed to parse cache file at ${this.cachePath}: ${Q.message}`);this.resetCache(!1)}this.loaded=!0}resetCache(Z=!0){if(this.cache=structuredClone(KO),Z)this.dirty=!0}resetMemoryCache(){this.memoryData={},this.memoryEntryMeta={}}async get(Z,Y){if(this.isDisabled)return Y;await this.ensureLoaded();let Q=this.cache.entryMeta[Z];if(!Q)return Y;if(Date.now()>Q.expiresAt)return this.logger.debug(`Cache entry expired: ${Z}. expiresAt=${new Date(Q.expiresAt).toISOString()}, now=${new Date().toISOString()}`),await this.delete(Z),Y;let J=Z.split("."),q=this.cache.data;for(let X of J)if(q&&typeof q==="object"&&X in q)q=q[X];else return Y;return this.logger.debug(`Cache ${Z} hit.`),q}async getOneOff(Z,Y){if(await this.ensureLoaded(),this.isDisabled)return Y;if(!this.memoryEntryMeta[Z])return Y;let J=Z.split("."),q=this.memoryData;for(let X of J)if(q&&typeof q==="object"&&X in q)q=q[X];else return Y;return this.logger.debug(`Memory cache ${Z} hit.`),q}async set(Z,Y,Q){if(this.isDisabled)return;let J=await K0();await this.ensureLoaded();let q=Z.split("."),X=this.cache.data,z=Q?.maxAgeMinutes??J.get("cache.maxAgeMinutes")??L7;this.logger.debug(`Setting cache ${Z} with maxAgeMinutes=${z}`);for(let B=0;B<q.length-1;B++){let $=q[B];if(!($ in X)||typeof X[$]!=="object")X[$]={};X=X[$]}let W=q[q.length-1];X[W]=Y;let U=Date.now(),K=Number.isFinite(z)?U+Math.max(z,0)*60*1000:UJ;this.cache.entryMeta[Z]={createdAt:this.cache.entryMeta[Z]?.createdAt??U,updatedAt:U,expiresAt:K},this.cache.meta.updatedAt=U,this.dirty=!0}async setOneOff(Z,Y){if(await this.ensureLoaded(),this.isDisabled)return;let Q=Z.split("."),J=this.memoryData;for(let z=0;z<Q.length-1;z++){let W=Q[z];if(!(W in J)||typeof J[W]!=="object")J[W]={};J=J[W]}let q=Q[Q.length-1];J[q]=Y;let X=Date.now();this.memoryEntryMeta[Z]={createdAt:this.memoryEntryMeta[Z]?.createdAt??X,updatedAt:X}}async delete(Z){if(this.isDisabled)return!1;if(await this.ensureLoaded(),!this.cache.entryMeta[Z])return!1;delete this.cache.entryMeta[Z];let Y=Z.split("."),Q=[],J=this.cache.data;for(let q of Y)if(J&&typeof J==="object"&&q in J)Q.push({obj:J,key:q}),J=J[q];else return!1;if(Q.length>0){let q=Q[Q.length-1];delete q.obj[q.key]}for(let q=Q.length-2;q>=0;q--){let{obj:X,key:z}=Q[q],W=X[z];if(W&&typeof W==="object"&&Object.keys(W).length===0)delete X[z];else break}return this.cache.meta.updatedAt=Date.now(),this.dirty=!0,this.logger.debug(`Cache entry deleted: ${Z}`),!0}async deleteOneOff(Z){if(await this.ensureLoaded(),this.isDisabled)return!1;if(!this.memoryEntryMeta[Z])return!1;delete this.memoryEntryMeta[Z];let Y=Z.split("."),Q=[],J=this.memoryData;for(let q of Y)if(J&&typeof J==="object"&&q in J)Q.push({obj:J,key:q}),J=J[q];else return!1;if(Q.length>0){let q=Q[Q.length-1];delete q.obj[q.key]}for(let q=Q.length-2;q>=0;q--){let{obj:X,key:z}=Q[q],W=X[z];if(W&&typeof W==="object"&&Object.keys(W).length===0)delete X[z];else break}return!0}async getAll(){return await this.ensureLoaded(),this.cache}getCachePath(){return this.cachePath}flush(){if(!this.dirty)return;try{let Z=pP.dirname(this.cachePath);i0(Z,{recursive:!0});let Y=JSON.stringify(this.cache);$4(this.cachePath,Y,"utf-8"),this.dirty=!1,this.logger.debug(`Cache flushed to ${this.cachePath}`)}catch(Z){let Y=new o(Z);this.logger.warn(`Failed to flush cache: ${Y.message}`)}}async clear(){await this.ensureLoaded(),this.resetCache(),this.resetMemoryCache()}}async function I0(){if(!i4){if(i4=new BO,await i4.ensureLoaded(),!i4.isDisabled)uP()}return i4}function C5(){i4=null}function uP(){M.debug("Registering cache flush hook on exit","cache"),xX(()=>{if(i4)i4.flush()})}var KO,UJ,i4=null;var W4=N(()=>{J6();z0();H0();w0();$6();G5();A4();KO={meta:{version:o6,cacheSchemaVersion:M7,createdAt:Date.now(),updatedAt:Date.now(),lastPruneAt:Date.now()},data:{},entryMeta:{}},UJ=Number.MAX_SAFE_INTEGER});async function $O(Z,Y){let Q=await I0(),J=`which.${Z}`,q=await Q.get(J);if(q!=null&&l(q))return q;try{let X=Y?await Y():await s4(Z);if(!X)return null;return await Q.set(J,X),X}catch(X){throw M.warn(`Failed to get which exec for ${Z}: ${X}`,"cache-ctrl"),X}}var FO=N(()=>{m0();W4();w0();J6()});import v1 from"path";import{createInterface as dP}from"readline";import{writeFile as cP}from"fs/promises";import{unlink as lP}from"fs/promises";function S1(Z){return(...Q)=>{if(iP(Q))return S1(Z(...Q));return oP(()=>Z(...Q))}}async function oP(Z){await p.threadResources.acquire();try{return await Z()}finally{p.threadResources.release()}}function iP(Z){if(Z.length!==1)return!1;let[Y]=Z;if(!Y||typeof Y!=="object")return!1;return!Array.isArray(Y)&&!("raw"in Y)}function R5(Z={}){let Y=new AbortController;return{$:S1(z4({cancelSignal:Y.signal,...Z,verbose:$J})),abort:()=>Y.abort(),signal:Y.signal}}async function y1(Z){let Y=dP({input:process.stdin,output:process.stdout});return new Promise((Q)=>{Y.question(Z,(J)=>{Y.close(),Q(J.trim())})})}async function s4(Z){return await $O(Z,async()=>{let Y=process.platform==="win32";if(Z.includes("/")||Y&&Z.includes("\\")){let X=v1.resolve(Z);return await Q2(X)?X:null}let Q=[""];if(Y)Q=["",...(process.env.PATHEXT||".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH").split(";").filter(Boolean)];let J=[];if(J.push(process.cwd()),process.argv[1])J.push(v1.dirname(process.argv[1]));if(J.push(v1.dirname(process.execPath)),process.env.PATH)J.push(...process.env.PATH.split(v1.delimiter));let q=[...new Set(J)];for(let X of q){if(!X)continue;for(let z of Q){let W=v1.join(X,Z+z);if(await Q2(W))return W}}return null})}async function T5(Z){try{switch(process.platform){case"win32":return await k({input:Z})`clip`,!0;case"darwin":return await k({input:Z})`pbcopy`,!0;case"linux":try{return await k({input:Z})`xclip -selection clipboard`,!0}catch{return await k({input:Z})`xsel --clipboard --input`,!0}default:return!1}}catch{return!1}}function P0(Z={}){let Y=!Z.message;if(Z={message:"",interval:70,frames:Yz,animateGradient:!1,gradientColor:E.Zinc050,gradientColorBg:E.Zinc400,gradientSpeed:0.13,gradientInterval:3,progress:{current:0,total:-1},...Z},!process.stdout.isTTY)return{stop:()=>{},start:(K=!0)=>{if(K)process.stdout.write(`
365
+ `)},setMessage:(K)=>{},updateProgress:(K,B)=>{},options:Z};let Q=0,J=0,q=!0,X=null,z=0,W=()=>{if(!q)return;let K=Z.frames[Q%Z.frames.length],B=z<=performance.now();if(Z.message){let $=" "+Z.message+U();if(Z.animateGradient&&Q6.supportsColor>=3){let V=J%Z.gradientInterval;if(V<=1){let D=Cz.easeInOut(V),F=Az($,Z.gradientColor,Z.gradientColorBg,D,0.3);K+=F}else K+=M0(y4(Z.gradientColorBg))+$+H.reset;if(B)J+=Z.gradientSpeed??0.1}else K+=$}if(process.stdout.write("\r\x1B[K"+K),B)Q++,z=performance.now()+Z.interval};if(!Y)X=setInterval(W,Z.interval),process.stdout.write("\x1B[?25l"),W();return{stop:()=>{if(q=!1,X)clearInterval(X),X=null;process.stdout.write("\r\x1B[K\x1B[?25h")},start:(K=!0)=>{if(!q)process.stdout.write("\x1B[?25l"+(K?`
366
+ `:"")),q=!0,X=setInterval(W,Z.interval)},setMessage:(K)=>{Z.message=K,W()},updateProgress:(K,B)=>{if(Z.progress){if(B!=null)Z.progress.total=B;Z.progress.current=o0.clamp(Z.progress.current+K,0,Z.progress.total),W()}},options:Z};function U(){if(!Z.progress||Z.progress.total<=0||Z.progress.current<0)return"";return` (${Z.progress.current}/${Z.progress.total})`}}async function k5(Z,Y){let Q=await K0(),J=Y?BJ(Y):[],q=J.length?J.shift():Q.getAll().defaultEditor;if(!q)throw new o("Editor is not configured.","EDITOR_NOT_CONFIGURED");let X=await s4(q);if(!X)throw new o(`Editor "${q}" not found in PATH. Set a valid editor in the configuration.`,"EDITOR_NOT_FOUND");if(J.length)await E0`${X} ${J} ${Z}`;else await E0`${X} ${Z}`}async function f1(Z){if(!Z){if(n6)await lP(n6).catch(h6);p.exitCodeOverride=-1;return}if(n6)await cP(n6,Z,"utf-8");p.exitCodeOverride=X8}function BJ(Z){let Y=[],Q="",J=!1,q=!1;for(let X=0;X<Z.length;X++){let z=Z[X];if(z==="'"&&!q)J=!J;else if(z==='"'&&!J)q=!q;else if(z===" "&&!J&&!q){if(Q)Y.push(Q),Q=""}else Q+=z}if(Q)Y.push(Q);return Y}async function wZ(Z,Y,Q=null,J=">"){let q=0;try{if(Q){let X=S1(z4({stdout:{file:Q,append:J===">>"},stderr:"inherit"})),{exitCode:z}=await X`${Z} ${Y}`;q=z}else{let{exitCode:X}=await E0`${Z} ${Y}`;q=X}}catch(X){let z=o.from(X),W=X.signal;if(W)z.code=W;if(z.code==="SIGINT"||z.code==="SIGTERM"||z.code==="SIGABRT"||z.code==="SIGKILL")return M.debug(`Git command was killed by signal: ${z.code}. Treating as failure with exit code 1.`),M.verbose("Full error details: "+u(z,{color:!0})),1;if(z.code==="ENOENT")return M.error(`Git executable not found: "${Z}". Ensure git is installed and in your PATH.`),1;if(z.code==="EACCES")return M.error(`Permission denied when trying to execute git: "${Z}". Check your permissions for this executable.`),1;if(z.code==="SIGPIPE")return M.debug("Git command failed with SIGPIPE. This may indicate that the pipe was no longer inuse by the consumer process."),1;if(z.name===p6.name&&z.message.startsWith("Command failed"))return q||1;return M.error(`Command failed.
367
+ `+u(z,{color:!0})),1}return q??0}function $J(Z,Y){if(Y.type!=="duration")return;let Q="done";if(Y.result.failed)Q="FAILED";else if(Y.result.timedOut)Q="TIMEOUT";else if(Y.result.isCanceled)Q="CANCELED";else if(Y.result.isTerminated)Q="TERMINATED";nP.debug(`${H.bright+H.dim}$ ${H.reset+Y.escapedCommand+H.dim} (${Q} in ${Y.result.durationMs}ms)`)}function E5(Z,Y){let Q=Z.length-Z.replace(/\n/g,"").length+1;process.stdout.write(`\x1B[${Q}F`),process.stdout.write("\x1B[0J");for(let J of Y.split(`
368
368
  `))process.stdout.write(`\x1B[2K${J}
369
- `)}var Tx,J3=()=>process.stdout.isTTY&&process.stdin.isTTY,k,T0;var g0=j(()=>{oY();z0();R0();b0();H0();$6();v0();QO();w0();Tx=new M("shell");k=P1(q8({stdout:"pipe",stderr:"pipe",verbose:q3}));T0=P1(q8({stdout:"inherit",stderr:"inherit",verbose:q3}))});var WO=I6((A60,HO)=>{var{hasOwnProperty:X3}=Object.prototype,z3=(Z,Y={})=>{if(typeof Y==="string")Y={section:Y};Y.align=Y.align===!0,Y.newline=Y.newline===!0,Y.sort=Y.sort===!0,Y.whitespace=Y.whitespace===!0||Y.align===!0,Y.platform=Y.platform||typeof process<"u"&&process.platform,Y.bracketedArray=Y.bracketedArray!==!1;let Q=Y.platform==="win32"?`\r
369
+ `)}var nP,KJ=()=>process.stdout.isTTY&&process.stdin.isTTY,k,E0;var m0=N(()=>{aY();z0();R0();v0();H0();$6();S0();FO();w0();nP=new M("shell");k=S1(z4({stdout:"pipe",stderr:"pipe",verbose:$J}));E0=S1(z4({stdout:"inherit",stderr:"inherit",verbose:$J}))});var jO=L6((t60,MO)=>{var{hasOwnProperty:FJ}=Object.prototype,VJ=(Z,Y={})=>{if(typeof Y==="string")Y={section:Y};Y.align=Y.align===!0,Y.newline=Y.newline===!0,Y.sort=Y.sort===!0,Y.whitespace=Y.whitespace===!0||Y.align===!0,Y.platform=Y.platform||typeof process<"u"&&process.platform,Y.bracketedArray=Y.bracketedArray!==!1;let Q=Y.platform==="win32"?`\r
370
370
  `:`
371
- `,J=Y.whitespace?" = ":"=",q=[],X=Y.sort?Object.keys(Z).sort():Object.keys(Z),z=0;if(Y.align)z=A8(X.filter((K)=>Z[K]===null||Array.isArray(Z[K])||typeof Z[K]!=="object").map((K)=>Array.isArray(Z[K])?`${K}[]`:K).concat([""]).reduce((K,B)=>A8(K).length>=A8(B).length?K:B)).length;let W="",U=Y.bracketedArray?"[]":"";for(let K of X){let B=Z[K];if(B&&Array.isArray(B))for(let $ of B)W+=A8(`${K}${U}`).padEnd(z," ")+J+A8($)+Q;else if(B&&typeof B==="object")q.push(K);else W+=A8(K).padEnd(z," ")+J+A8(B)+Q}if(Y.section&&W.length)W="["+A8(Y.section)+"]"+(Y.newline?Q+Q:Q)+W;for(let K of q){let B=XO(K,".").join("\\."),$=(Y.section?Y.section+".":"")+B,F=z3(Z[K],{...Y,section:$});if(W.length&&F.length)W+=Q;W+=F}return W};function XO(Z,Y){var Q=0,J=0,q=0,X=[];do if(q=Z.indexOf(Y,Q),q!==-1){if(Q=q+Y.length,q>0&&Z[q-1]==="\\")continue;X.push(Z.slice(J,q)),J=q+Y.length}while(q!==-1);return X.push(Z.slice(J)),X}var qO=(Z,Y={})=>{Y.bracketedArray=Y.bracketedArray!==!1;let Q=Object.create(null),J=Q,q=null,X=/^\[([^\]]*)\]\s*$|^([^=]+)(=(.*))?$/i,z=Z.split(/[\r\n]+/g),W={};for(let K of z){if(!K||K.match(/^\s*[;#]/)||K.match(/^\s*$/))continue;let B=K.match(X);if(!B)continue;if(B[1]!==void 0){if(q=T5(B[1]),q==="__proto__"){J=Object.create(null);continue}J=Q[q]=Q[q]||Object.create(null);continue}let $=T5(B[2]),F;if(Y.bracketedArray)F=$.length>2&&$.slice(-2)==="[]";else W[$]=(W?.[$]||0)+1,F=W[$]>1;let O=F&&$.endsWith("[]")?$.slice(0,-2):$;if(O==="__proto__")continue;let V=B[3]?T5(B[4]):!0,D=V==="true"||V==="false"||V==="null"?JSON.parse(V):V;if(F){if(!X3.call(J,O))J[O]=[];else if(!Array.isArray(J[O]))J[O]=[J[O]]}if(Array.isArray(J[O]))J[O].push(D);else J[O]=D}let U=[];for(let K of Object.keys(Q)){if(!X3.call(Q,K)||typeof Q[K]!=="object"||Array.isArray(Q[K]))continue;let B=XO(K,".");J=Q;let $=B.pop(),F=$.replace(/\\\./g,".");for(let O of B){if(O==="__proto__")continue;if(!X3.call(J,O)||typeof J[O]!=="object")J[O]=Object.create(null);J=J[O]}if(J===Q&&F===$)continue;J[F]=Q[K],U.push(K)}for(let K of U)delete Q[K];return Q},zO=(Z)=>{return Z.startsWith('"')&&Z.endsWith('"')||Z.startsWith("'")&&Z.endsWith("'")},A8=(Z)=>{if(typeof Z!=="string"||Z.match(/[=\r\n]/)||Z.match(/^\[/)||Z.length>1&&zO(Z)||Z!==Z.trim())return JSON.stringify(Z);return Z.split(";").join("\\;").split("#").join("\\#")},T5=(Z)=>{if(Z=(Z||"").trim(),zO(Z)){if(Z.charAt(0)==="'")Z=Z.slice(1,-1);try{Z=JSON.parse(Z)}catch{}}else{let Y=!1,Q="";for(let J=0,q=Z.length;J<q;J++){let X=Z.charAt(J);if(Y){if("\\;#".indexOf(X)!==-1)Q+=X;else Q+="\\"+X;Y=!1}else if(";#".indexOf(X)!==-1)break;else if(X==="\\")Y=!0;else Q+=X}if(Y)Q+="\\";return Q.trim()}return Z};HO.exports={parse:qO,decode:qO,stringify:z3,encode:z3,safe:A8,unsafe:T5}});import k5 from"crypto";import e from"path";function A6(Z,Y){let Q=k5.createHash("sha1").update(Y).digest("hex");return`${Z}.${Q}`}function y1(Z,Y=xx){return k5.createHash("sha1").update(Z).digest("hex").slice(0,Y)}function bx(Z,Y,Q,J,q){let X=y1(q||"__empty__",16);return`git.${Z}.${Q}.revParse.${Y}.${J}.${X}`}async function E5(Z,Y,Q){let J=["-C",e.resolve(Y),"rev-parse",...Q];return(await k`${Z} ${J}`).stdout.trim()}async function vx(Z,Y){let Q=e.resolve(Y),J=`${Z}|${Q}`,q=KO.get(J);if(q)return q;let X=Q;try{let z=await E5(Z,Q,["--show-toplevel"]);if(z)X=e.resolve(z);let W=await E5(Z,Q,["--git-common-dir"]);if(W){let U=e.isAbsolute(W)?W:e.resolve(X,W);if(d0(U).includes("/.git/worktrees/")){let B=e.dirname(e.dirname(U));X=e.dirname(B)}else X=e.dirname(U)}}catch{X=Q}return KO.set(J,X),X}function a6(Z,Y){let Q=Array.isArray(Z)?Z.join(" "):Z,J=Y?e.resolve(Y):process.cwd();return`${Q}|${J}`}function f1(Z,Y){let Q=Array.isArray(Z)?Z[0]:Z;if(Y)return{gitExec:Q,repoPath:e.resolve(Y)};if(Array.isArray(Z))for(let J=Z.length-2;J>=0;J--){if(Z[J]!=="-C")continue;let q=Z[J+1];if(typeof q==="string"&&q.trim().length>0)return{gitExec:Q,repoPath:e.resolve(q)}}return{gitExec:Q,repoPath:process.cwd()}}function BO(Z){return/^head(?:[~^].*)?(?:\^\{.+\})?$/i.test(Z.trim())}function Sx(Z){let Y=(J)=>Z.includes(J),Q=Z.some((J)=>J.includes("@{u}"));if(Y("--git-path")||Y("--git-dir")||Y("--git-common-dir")||Y("--absolute-git-dir"))return"gitPath";if(Y("--show-toplevel")||Y("--show-superproject-working-tree")||Y("--show-cdup")||Y("--show-prefix")||Y("--is-inside-work-tree"))return"workspace";if(Q||Y("--symbolic-full-name")&&Z.some((J)=>J.includes("@{")))return"upstream";if(Z.some((J)=>BO(J)))return"head";return"refs"}function yx(Z){let Y=[];for(let Q=0;Q<Z.length;Q++){let J=Z[Q];if(!J)continue;if(Px.has(J)){Q++;continue}if(J==="--"){for(let q=Q+1;q<Z.length;q++)if(Z[q])Y.push(Z[q]);break}if(J.startsWith("-"))continue;Y.push(J)}return Y}function fx(Z){return Z.trim().replace(/\^\{[^}]+\}$/g,"").replace(/[~^].*$/,"")}function hx(Z){let Y=fx(Z);if(!Y)return[];if(/^[0-9a-f]{7,40}$/i.test(Y))return[];if(BO(Y))return["HEAD","logs/HEAD"];if(/^stash(?:@\{\d+\})?$/i.test(Y))return["refs/stash","logs/refs/stash"];if(Y.startsWith("refs/"))return[Y,`logs/${Y}`];if(/^[a-z0-9._-]+\/.+/i.test(Y))return[`refs/remotes/${Y}`,`logs/refs/remotes/${Y}`];return[`refs/heads/${Y}`,`logs/refs/heads/${Y}`,`refs/tags/${Y}`,`logs/refs/tags/${Y}`]}async function gx(Z,Y,Q){let J=Array.from(new Set(Q.map((X)=>X.trim()).filter(Boolean)));if(J.length===0)return"";return(await Promise.all(J.map(async(X)=>{let z=await A4(Z,Y,X),W=await pZ(z);return`${X}=${W??"null"}`}))).sort().join("|")}async function A0(Z,Y,Q){let J=f1(Z,Q);return await G0(J.gitExec,J.repoPath,Y)}async function LZ(Z,Y,Q){let J=Y.trim();if(!J)return null;let q=Q?.type?`${J}^{${Q.type}}`:J;return(await A0(Z,["--verify",q],Q?.repoPath)).trim()||null}async function i8(Z){if((await A0(Z,["--is-inside-work-tree"])).trim()!=="true")return M.error("This command must be run inside a git repository.","git"),!1;return!0}async function $3(Z,Y){let Q=await I0(),J=A6("git.stashEntry",`${a6(Z)}|${Y}`),q=await Q.getOneOff(J);if(q!==void 0)return q;try{let X=`stash@{${Y}}`,z=await A0(Z,[X]),{stdout:W}=await k`${Z} log -1 --format=%s ${X}`,U={sha:z.trim(),message:W.trim()};return await Q.setOneOff(J,U),U}catch{return await Q.setOneOff(J,null),null}}async function $O(Z,Y,Q){await k`${Z} stash store -m ${Q} ${Y}`}function mx(Z){let Y=Z.trim();if(!Y)return"";Y=Y.replace(/\\+/g,"/");let Q=Y.match(/^(?:[^@]+@)?([^:/]+):(.+)$/);if(Q&&!Y.includes("://")){let J=Q[1].toLowerCase(),q=Q[2];return K3(J,q)}try{let J=new URL(Y),q=J.hostname.toLowerCase(),X=J.pathname;return K3(q,X)}catch{return K3("",Y)}}async function px(Z){let Y=await I0(),Q=A6("git.defaultRemoteName",a6(Z)),J=await Y.getOneOff(Q);if(J!==void 0)return J;let q=null;try{let{stdout:X}=await k`${Z} remote`,z=X.trim().split(`
372
- `).map((W)=>W.trim()).filter(Boolean);if(z.length===0)q=null;else{let W="";try{let U=(await A0(Z,["--abbrev-ref","HEAD"])).trim();if(U&&U!=="HEAD")W=(await w4(Z,`branch.${U}.remote`)).trim()}catch{W=""}if(W&&z.includes(W))q=W;else if(z.includes("origin"))q="origin";else q=z[0]}}catch{q=null}return await Y.setOneOff(Q,q),q}async function P5(Z){let Y=await I0(),Q=A6("git.normalizedRemoteUrl",a6(Z)),J=await Y.getOneOff(Q);if(J!==void 0)return J;let q=await px(Z);if(!q)return await Y.setOneOff(Q,null),null;try{let{stdout:X}=await k`${Z} remote get-url ${q}`,z=X.trim();if(!z)return await Y.setOneOff(Q,null),null;let U=mx(z)||null;return await Y.setOneOff(Q,U),U}catch{return await Y.setOneOff(Q,null),null}}async function b5(Z){let Y=await I0(),Q=A6("git.mainWorktreeRoot",a6(Z)),J=await Y.getOneOff(Q);if(J!==void 0)return J;let q=(await A0(Z,["--show-toplevel"])).trim()||process.cwd(),X=(await A0(Z,["--git-common-dir"])).trim();if(!X)return await Y.setOneOff(Q,q),q;let z=e.isAbsolute(X)?X:e.resolve(q,X);if(d0(z).includes("/.git/worktrees/")){let B=e.dirname(e.dirname(z)),F=e.dirname(B)||q;return await Y.setOneOff(Q,F),F}try{let $=t6(z,"utf-8").split(`
373
- `).map((F)=>F.trim()).find((F)=>F.toLowerCase().startsWith("gitdir:"));if($){let F=$.split(":").slice(1).join(":").trim(),O=e.isAbsolute(F)?F:e.resolve(q,F);if(d0(O).includes("/.git/worktrees/")){let D=e.dirname(e.dirname(O)),N=e.dirname(D)||q;return await Y.setOneOff(Q,N),N}}}catch{}let K=e.dirname(z)||q;return await Y.setOneOff(Q,K),K}async function h1(Z,Y){let Q=await A4(Z,Y,"CHERRY_PICK_HEAD");return!!Q&&l(Q)}async function F3(Z,Y,Q=!0){if(await A0(Z,["--verify","HEAD"])===Y)return"HEAD";let q=(await k`${Z} rev-list --first-parent --count ${`${Y}..HEAD`}`).stdout.trim(),X=Number(q);if(!Number.isInteger(X)||X<1)return;if(!Q)return`HEAD~${X}`;return await A0(Z,["--verify",`HEAD~${X}^{commit}`])===Y?`HEAD~${X}`:void 0}async function V3(){let Y=(await K0()).get("useInlineGitConfig","internal");if(Y==="off"||Y==="internal")return Y;return"internal"}async function ux(Z,Y){let Q=[];if(process.env.GIT_CONFIG_NOSYSTEM!=="1"){let X=process.env.GIT_CONFIG_SYSTEM?.trim()?process.env.GIT_CONFIG_SYSTEM:process.platform==="win32"?"C:/ProgramData/Git/config":"/etc/gitconfig";Q.push(X)}let J=process.env.GIT_CONFIG_GLOBAL;if(J&&J.trim().length>0)Q.push(e.resolve(J));else{let X=process.env.HOME||process.env.USERPROFILE||"";if(X){let z=process.env.XDG_CONFIG_HOME||e.join(X,".config");Q.push(e.join(z,"git","config")),Q.push(e.join(X,".gitconfig"))}}let q=await A4(Z,Y,"config");if(q)Q.push(q);return Array.from(new Set(Q.map((X)=>e.resolve(X))))}function dx(Z){let Y=!1,Q="";for(let J of Z){if(Y){Q+=`\\${J}`,Y=!1;continue}if(J==="\\"){Y=!0;continue}Q+=J==="."?"\\.":J}if(Y)Q+="\\";return Q}function cx(Z){return Z.replace(/^\s*\[([^\s"'\]]+)\s+"((?:[^"\\]|\\.)*)"\]\s*$/gm,(Y,Q,J)=>{return`[${Q} "${dx(J)}"]`})}async function FO(Z){let Y=e.resolve(Z),Q=await pZ(Y)??null,J=S1.get(Y);if(J&&J.mtime===Q)return J.content;if(Q===null){let q={};return S1.set(Y,{mtime:null,content:q}),q}try{let q=await p0(Y,"utf-8"),X=cx(q),z=B3.parse(X,{bracketedArray:!1});return S1.set(Y,{mtime:Q,content:z}),z}catch{let q={};return S1.set(Y,{mtime:null,content:q}),q}}function U3(Z,Y){let Q=Y.toLowerCase();for(let[J,q]of Object.entries(Z))if(J.toLowerCase()===Q)return q;return}function O3(Z){if(Z===void 0)return null;if(Array.isArray(Z)){if(Z.length===0)return null;return O3(Z[Z.length-1])}if(Z===null)return"null";if(typeof Z==="boolean"||typeof Z==="number")return String(Z);if(typeof Z==="string")return Z.replace(/\\"/g,'"');return null}function lx(Z,Y){let Q=Y.split(".").map((K)=>K.trim()).filter(Boolean);if(Q.length<2)return null;let J=Q[0],q=Q[Q.length-1],X=Q.length>2?Q.slice(1,-1).join("."):null,z=X?[`${J} "${X}"`,`${J} "${X.replace(/\./g,"\\.")}"`,`${J} '${X}'`,`${J}.${X}`]:[J],W;for(let K of z)if(W=U3(Z,K),W!==void 0)break;if(W===void 0)return null;if(X&&typeof W==="object"&&W&&!Array.isArray(W)){let K=U3(W,X);if(K!==void 0)W=K}if(!W||typeof W!=="object"||Array.isArray(W))return null;let U=U3(W,q);return O3(U)}function nx(Z){let Y=Z.match(/^([^\s"']+)\s+"((?:[^"\\]|\\.)*)"$/);if(!Y)return{section:Z.trim()};return{section:Y[1].trim(),subsection:Y[2].replace(/\\(["\\.])/g,"$1")}}function ox(Z){let Y=[];for(let[Q,J]of Object.entries(Z)){if(!J||typeof J!=="object"||Array.isArray(J))continue;let q=nx(Q),X=J;for(let[z,W]of Object.entries(X)){let U=Array.isArray(W)?W:[W];for(let K of U){let B=O3(K);if(B==null)continue;let $=q.subsection?`${q.section}.${q.subsection}.${z}`:`${q.section}.${z}`;Y.push({key:$,value:B})}}}return Y}async function w4(Z,Y,Q){let J=await V3(),q=f1(Z,Q);if(J==="off")try{let{stdout:W}=await k`${q.gitExec} -C ${q.repoPath} config ${Y}`;return W.trim()}catch{return""}let X=await ux(Z,q.repoPath),z="";for(let W of X){let U=await FO(W),K=lx(U,Y);if(K!==null)z=K}return z}async function D3(Z,Y,Q){let J=await V3(),q=f1(Z,Q?.repoPath);if(J==="off")try{let K=["-C",q.repoPath,"config"];if(Q?.filePath)K.push("--file",Q.filePath);K.push("--get-regexp",Y);let B=(await k`${q.gitExec} ${K}`).stdout.trim();if(!B)return[];return B.split(`
374
- `).map(($)=>$.trim()).filter(($)=>$.length>0).map(($)=>{let F=$.search(/\s+/);if(F<0)return null;let O=$.slice(0,F).trim(),V=$.slice(F).trim();if(!O)return null;return{key:O,value:V}}).filter(($)=>!!$)}catch{return[]}let X=Q?.filePath?e.isAbsolute(Q.filePath)?Q.filePath:e.resolve(q.repoPath,Q.filePath):await A4(Z,q.repoPath,"config");if(!X)return[];let z;try{z=new RegExp(Y)}catch{return[]}let W=await FO(X);return ox(W).filter((K)=>z.test(K.key))}function ix(Z,Y){let Q=Y.indexOf("."),J=(Q>=0?Y.slice(0,Q):Y).trim().toLowerCase(),q=Q>=0?Y.slice(Q+1).trim():"";if(!J)return{content:Z,removed:!1};let X=Z.split(/\r?\n/),z=[],W=!1,U=!1;for(let B of X){let $=B.match(/^\s*\[([^\]]+)\]\s*$/);if($){let F=$[1].trim(),O=F.match(/^([^\s"']+)\s+"((?:[^"\\]|\\.)*)"$/);if(O){let V=O[1].trim().toLowerCase(),D=O[2].replace(/\\(["\\.])/g,"$1");W=V===J&&q.length>0&&D===q}else W=F.toLowerCase()===J&&q.length===0;if(W){U=!0;continue}}if(!W)z.push(B)}let K=z.join(`
371
+ `,J=Y.whitespace?" = ":"=",q=[],X=Y.sort?Object.keys(Z).sort():Object.keys(Z),z=0;if(Y.align)z=G4(X.filter((K)=>Z[K]===null||Array.isArray(Z[K])||typeof Z[K]!=="object").map((K)=>Array.isArray(Z[K])?`${K}[]`:K).concat([""]).reduce((K,B)=>G4(K).length>=G4(B).length?K:B)).length;let W="",U=Y.bracketedArray?"[]":"";for(let K of X){let B=Z[K];if(B&&Array.isArray(B))for(let $ of B)W+=G4(`${K}${U}`).padEnd(z," ")+J+G4($)+Q;else if(B&&typeof B==="object")q.push(K);else W+=G4(K).padEnd(z," ")+J+G4(B)+Q}if(Y.section&&W.length)W="["+G4(Y.section)+"]"+(Y.newline?Q+Q:Q)+W;for(let K of q){let B=OO(K,".").join("\\."),$=(Y.section?Y.section+".":"")+B,V=VJ(Z[K],{...Y,section:$});if(W.length&&V.length)W+=Q;W+=V}return W};function OO(Z,Y){var Q=0,J=0,q=0,X=[];do if(q=Z.indexOf(Y,Q),q!==-1){if(Q=q+Y.length,q>0&&Z[q-1]==="\\")continue;X.push(Z.slice(J,q)),J=q+Y.length}while(q!==-1);return X.push(Z.slice(J)),X}var VO=(Z,Y={})=>{Y.bracketedArray=Y.bracketedArray!==!1;let Q=Object.create(null),J=Q,q=null,X=/^\[([^\]]*)\]\s*$|^([^=]+)(=(.*))?$/i,z=Z.split(/[\r\n]+/g),W={};for(let K of z){if(!K||K.match(/^\s*[;#]/)||K.match(/^\s*$/))continue;let B=K.match(X);if(!B)continue;if(B[1]!==void 0){if(q=P5(B[1]),q==="__proto__"){J=Object.create(null);continue}J=Q[q]=Q[q]||Object.create(null);continue}let $=P5(B[2]),V;if(Y.bracketedArray)V=$.length>2&&$.slice(-2)==="[]";else W[$]=(W?.[$]||0)+1,V=W[$]>1;let D=V&&$.endsWith("[]")?$.slice(0,-2):$;if(D==="__proto__")continue;let F=B[3]?P5(B[4]):!0,O=F==="true"||F==="false"||F==="null"?JSON.parse(F):F;if(V){if(!FJ.call(J,D))J[D]=[];else if(!Array.isArray(J[D]))J[D]=[J[D]]}if(Array.isArray(J[D]))J[D].push(O);else J[D]=O}let U=[];for(let K of Object.keys(Q)){if(!FJ.call(Q,K)||typeof Q[K]!=="object"||Array.isArray(Q[K]))continue;let B=OO(K,".");J=Q;let $=B.pop(),V=$.replace(/\\\./g,".");for(let D of B){if(D==="__proto__")continue;if(!FJ.call(J,D)||typeof J[D]!=="object")J[D]=Object.create(null);J=J[D]}if(J===Q&&V===$)continue;J[V]=Q[K],U.push(K)}for(let K of U)delete Q[K];return Q},DO=(Z)=>{return Z.startsWith('"')&&Z.endsWith('"')||Z.startsWith("'")&&Z.endsWith("'")},G4=(Z)=>{if(typeof Z!=="string"||Z.match(/[=\r\n]/)||Z.match(/^\[/)||Z.length>1&&DO(Z)||Z!==Z.trim())return JSON.stringify(Z);return Z.split(";").join("\\;").split("#").join("\\#")},P5=(Z)=>{if(Z=(Z||"").trim(),DO(Z)){if(Z.charAt(0)==="'")Z=Z.slice(1,-1);try{Z=JSON.parse(Z)}catch{}}else{let Y=!1,Q="";for(let J=0,q=Z.length;J<q;J++){let X=Z.charAt(J);if(Y){if("\\;#".indexOf(X)!==-1)Q+=X;else Q+="\\"+X;Y=!1}else if(";#".indexOf(X)!==-1)break;else if(X==="\\")Y=!0;else Q+=X}if(Y)Q+="\\";return Q.trim()}return Z};MO.exports={parse:VO,decode:VO,stringify:VJ,encode:VJ,safe:G4,unsafe:P5}});import x5 from"crypto";import e from"path";function A6(Z,Y){let Q=x5.createHash("sha1").update(Y).digest("hex");return`${Z}.${Q}`}function g1(Z,Y=sP){return x5.createHash("sha1").update(Z).digest("hex").slice(0,Y)}function rP(Z,Y,Q,J,q){let X=g1(q||"__empty__",16);return`git.${Z}.${Q}.revParse.${Y}.${J}.${X}`}async function b5(Z,Y,Q){let J=["-C",e.resolve(Y),"rev-parse",...Q];return(await k`${Z} ${J}`).stdout.trim()}async function tP(Z,Y){let Q=e.resolve(Y),J=`${Z}|${Q}`,q=NO.get(J);if(q)return q;let X=Q;try{let z=await b5(Z,Q,["--show-toplevel"]);if(z)X=e.resolve(z);let W=await b5(Z,Q,["--git-common-dir"]);if(W){let U=e.isAbsolute(W)?W:e.resolve(X,W);if(d0(U).includes("/.git/worktrees/")){let B=e.dirname(e.dirname(U));X=e.dirname(B)}else X=e.dirname(U)}}catch{X=Q}return NO.set(J,X),X}function t6(Z,Y){let Q=Array.isArray(Z)?Z.join(" "):Z,J=Y?e.resolve(Y):process.cwd();return`${Q}|${J}`}function m1(Z,Y){let Q=Array.isArray(Z)?Z[0]:Z;if(Y)return{gitExec:Q,repoPath:e.resolve(Y)};if(Array.isArray(Z))for(let J=Z.length-2;J>=0;J--){if(Z[J]!=="-C")continue;let q=Z[J+1];if(typeof q==="string"&&q.trim().length>0)return{gitExec:Q,repoPath:e.resolve(q)}}return{gitExec:Q,repoPath:process.cwd()}}function IO(Z){return/^head(?:[~^].*)?(?:\^\{.+\})?$/i.test(Z.trim())}function eP(Z){let Y=(J)=>Z.includes(J),Q=Z.some((J)=>J.includes("@{u}"));if(Y("--git-path")||Y("--git-dir")||Y("--git-common-dir")||Y("--absolute-git-dir"))return"gitPath";if(Y("--show-toplevel")||Y("--show-superproject-working-tree")||Y("--show-cdup")||Y("--show-prefix")||Y("--is-inside-work-tree"))return"workspace";if(Q||Y("--symbolic-full-name")&&Z.some((J)=>J.includes("@{")))return"upstream";if(Z.some((J)=>IO(J)))return"head";return"refs"}function Zx(Z){let Y=[];for(let Q=0;Q<Z.length;Q++){let J=Z[Q];if(!J)continue;if(aP.has(J)){Q++;continue}if(J==="--"){for(let q=Q+1;q<Z.length;q++)if(Z[q])Y.push(Z[q]);break}if(J.startsWith("-"))continue;Y.push(J)}return Y}function Yx(Z){return Z.trim().replace(/\^\{[^}]+\}$/g,"").replace(/[~^].*$/,"")}function Qx(Z){let Y=Yx(Z);if(!Y)return[];if(/^[0-9a-f]{7,40}$/i.test(Y))return[];if(IO(Y))return["HEAD","logs/HEAD"];if(/^stash(?:@\{\d+\})?$/i.test(Y))return["refs/stash","logs/refs/stash"];if(Y.startsWith("refs/"))return[Y,`logs/${Y}`];if(/^[a-z0-9._-]+\/.+/i.test(Y))return[`refs/remotes/${Y}`,`logs/refs/remotes/${Y}`];return[`refs/heads/${Y}`,`logs/refs/heads/${Y}`,`refs/tags/${Y}`,`logs/refs/tags/${Y}`]}async function Jx(Z,Y,Q){let J=Array.from(new Set(Q.map((X)=>X.trim()).filter(Boolean)));if(J.length===0)return"";return(await Promise.all(J.map(async(X)=>{let z=await R8(Z,Y,X),W=await dZ(z);return`${X}=${W??"null"}`}))).sort().join("|")}async function A0(Z,Y,Q){let J=m1(Z,Q);return await G0(J.gitExec,J.repoPath,Y)}async function AZ(Z,Y,Q){let J=Y.trim();if(!J)return null;let q=Q?.type?`${J}^{${Q.type}}`:J;return(await A0(Z,["--verify",q],Q?.repoPath)).trim()||null}async function r4(Z){if((await A0(Z,["--is-inside-work-tree"])).trim()!=="true")return M.error("This command must be run inside a git repository.","git"),!1;return!0}async function NJ(Z,Y){let Q=await I0(),J=A6("git.stashEntry",`${t6(Z)}|${Y}`),q=await Q.getOneOff(J);if(q!==void 0)return q;try{let X=`stash@{${Y}}`,z=await A0(Z,[X]),{stdout:W}=await k`${Z} log -1 --format=%s ${X}`,U={sha:z.trim(),message:W.trim()};return await Q.setOneOff(J,U),U}catch{return await Q.setOneOff(J,null),null}}async function LO(Z,Y,Q){await k`${Z} stash store -m ${Q} ${Y}`}function qx(Z){let Y=Z.trim();if(!Y)return"";Y=Y.replace(/\\+/g,"/");let Q=Y.match(/^(?:[^@]+@)?([^:/]+):(.+)$/);if(Q&&!Y.includes("://")){let J=Q[1].toLowerCase(),q=Q[2];return jJ(J,q)}try{let J=new URL(Y),q=J.hostname.toLowerCase(),X=J.pathname;return jJ(q,X)}catch{return jJ("",Y)}}async function Xx(Z){let Y=await I0(),Q=A6("git.defaultRemoteName",t6(Z)),J=await Y.getOneOff(Q);if(J!==void 0)return J;let q=null;try{let{stdout:X}=await k`${Z} remote`,z=X.trim().split(`
372
+ `).map((W)=>W.trim()).filter(Boolean);if(z.length===0)q=null;else{let W="";try{let U=(await A0(Z,["--abbrev-ref","HEAD"])).trim();if(U&&U!=="HEAD")W=(await C8(Z,`branch.${U}.remote`)).trim()}catch{W=""}if(W&&z.includes(W))q=W;else if(z.includes("origin"))q="origin";else q=z[0]}}catch{q=null}return await Y.setOneOff(Q,q),q}async function S5(Z){let Y=await I0(),Q=A6("git.normalizedRemoteUrl",t6(Z)),J=await Y.getOneOff(Q);if(J!==void 0)return J;let q=await Xx(Z);if(!q)return await Y.setOneOff(Q,null),null;try{let{stdout:X}=await k`${Z} remote get-url ${q}`,z=X.trim();if(!z)return await Y.setOneOff(Q,null),null;let U=qx(z)||null;return await Y.setOneOff(Q,U),U}catch{return await Y.setOneOff(Q,null),null}}async function y5(Z){let Y=await I0(),Q=A6("git.mainWorktreeRoot",t6(Z)),J=await Y.getOneOff(Q);if(J!==void 0)return J;let q=(await A0(Z,["--show-toplevel"])).trim()||process.cwd(),X=(await A0(Z,["--git-common-dir"])).trim();if(!X)return await Y.setOneOff(Q,q),q;let z=e.isAbsolute(X)?X:e.resolve(q,X);if(d0(z).includes("/.git/worktrees/")){let B=e.dirname(e.dirname(z)),V=e.dirname(B)||q;return await Y.setOneOff(Q,V),V}try{let $=Z4(z,"utf-8").split(`
373
+ `).map((V)=>V.trim()).find((V)=>V.toLowerCase().startsWith("gitdir:"));if($){let V=$.split(":").slice(1).join(":").trim(),D=e.isAbsolute(V)?V:e.resolve(q,V);if(d0(D).includes("/.git/worktrees/")){let O=e.dirname(e.dirname(D)),_=e.dirname(O)||q;return await Y.setOneOff(Q,_),_}}}catch{}let K=e.dirname(z)||q;return await Y.setOneOff(Q,K),K}async function p1(Z,Y){let Q=await R8(Z,Y,"CHERRY_PICK_HEAD");return!!Q&&l(Q)}async function IJ(Z,Y,Q=!0){if(await A0(Z,["--verify","HEAD"])===Y)return"HEAD";let q=(await k`${Z} rev-list --first-parent --count ${`${Y}..HEAD`}`).stdout.trim(),X=Number(q);if(!Number.isInteger(X)||X<1)return;if(!Q)return`HEAD~${X}`;return await A0(Z,["--verify",`HEAD~${X}^{commit}`])===Y?`HEAD~${X}`:void 0}async function LJ(){let Y=(await K0()).get("useInlineGitConfig","internal");if(Y==="off"||Y==="internal")return Y;return"internal"}async function zx(Z,Y){let Q=[];if(process.env.GIT_CONFIG_NOSYSTEM!=="1"){let X=process.env.GIT_CONFIG_SYSTEM?.trim()?process.env.GIT_CONFIG_SYSTEM:process.platform==="win32"?"C:/ProgramData/Git/config":"/etc/gitconfig";Q.push(X)}let J=process.env.GIT_CONFIG_GLOBAL;if(J&&J.trim().length>0)Q.push(e.resolve(J));else{let X=process.env.HOME||process.env.USERPROFILE||"";if(X){let z=process.env.XDG_CONFIG_HOME||e.join(X,".config");Q.push(e.join(z,"git","config")),Q.push(e.join(X,".gitconfig"))}}let q=await R8(Z,Y,"config");if(q)Q.push(q);return Array.from(new Set(Q.map((X)=>e.resolve(X))))}function Hx(Z){let Y=!1,Q="";for(let J of Z){if(Y){Q+=`\\${J}`,Y=!1;continue}if(J==="\\"){Y=!0;continue}Q+=J==="."?"\\.":J}if(Y)Q+="\\";return Q}function Wx(Z){return Z.replace(/^\s*\[([^\s"'\]]+)\s+"((?:[^"\\]|\\.)*)"\]\s*$/gm,(Y,Q,J)=>{return`[${Q} "${Hx(J)}"]`})}async function wO(Z){let Y=e.resolve(Z),Q=await dZ(Y)??null,J=h1.get(Y);if(J&&J.mtime===Q)return J.content;if(Q===null){let q={};return h1.set(Y,{mtime:null,content:q}),q}try{let q=await f0(Y,"utf-8"),X=Wx(q),z=_J.parse(X,{bracketedArray:!1});return h1.set(Y,{mtime:Q,content:z}),z}catch{let q={};return h1.set(Y,{mtime:null,content:q}),q}}function MJ(Z,Y){let Q=Y.toLowerCase();for(let[J,q]of Object.entries(Z))if(J.toLowerCase()===Q)return q;return}function wJ(Z){if(Z===void 0)return null;if(Array.isArray(Z)){if(Z.length===0)return null;return wJ(Z[Z.length-1])}if(Z===null)return"null";if(typeof Z==="boolean"||typeof Z==="number")return String(Z);if(typeof Z==="string")return Z.replace(/\\"/g,'"');return null}function Ux(Z,Y){let Q=Y.split(".").map((K)=>K.trim()).filter(Boolean);if(Q.length<2)return null;let J=Q[0],q=Q[Q.length-1],X=Q.length>2?Q.slice(1,-1).join("."):null,z=X?[`${J} "${X}"`,`${J} "${X.replace(/\./g,"\\.")}"`,`${J} '${X}'`,`${J}.${X}`]:[J],W;for(let K of z)if(W=MJ(Z,K),W!==void 0)break;if(W===void 0)return null;if(X&&typeof W==="object"&&W&&!Array.isArray(W)){let K=MJ(W,X);if(K!==void 0)W=K}if(!W||typeof W!=="object"||Array.isArray(W))return null;let U=MJ(W,q);return wJ(U)}function Kx(Z){let Y=Z.match(/^([^\s"']+)\s+"((?:[^"\\]|\\.)*)"$/);if(!Y)return{section:Z.trim()};return{section:Y[1].trim(),subsection:Y[2].replace(/\\(["\\.])/g,"$1")}}function Bx(Z){let Y=[];for(let[Q,J]of Object.entries(Z)){if(!J||typeof J!=="object"||Array.isArray(J))continue;let q=Kx(Q),X=J;for(let[z,W]of Object.entries(X)){let U=Array.isArray(W)?W:[W];for(let K of U){let B=wJ(K);if(B==null)continue;let $=q.subsection?`${q.section}.${q.subsection}.${z}`:`${q.section}.${z}`;Y.push({key:$,value:B})}}}return Y}async function C8(Z,Y,Q){let J=await LJ(),q=m1(Z,Q);if(J==="off")try{let{stdout:W}=await k`${q.gitExec} -C ${q.repoPath} config ${Y}`;return W.trim()}catch{return""}let X=await zx(Z,q.repoPath),z="";for(let W of X){let U=await wO(W),K=Ux(U,Y);if(K!==null)z=K}return z}async function AJ(Z,Y,Q){let J=await LJ(),q=m1(Z,Q?.repoPath);if(J==="off")try{let K=["-C",q.repoPath,"config"];if(Q?.filePath)K.push("--file",Q.filePath);K.push("--get-regexp",Y);let B=(await k`${q.gitExec} ${K}`).stdout.trim();if(!B)return[];return B.split(`
374
+ `).map(($)=>$.trim()).filter(($)=>$.length>0).map(($)=>{let V=$.search(/\s+/);if(V<0)return null;let D=$.slice(0,V).trim(),F=$.slice(V).trim();if(!D)return null;return{key:D,value:F}}).filter(($)=>!!$)}catch{return[]}let X=Q?.filePath?e.isAbsolute(Q.filePath)?Q.filePath:e.resolve(q.repoPath,Q.filePath):await R8(Z,q.repoPath,"config");if(!X)return[];let z;try{z=new RegExp(Y)}catch{return[]}let W=await wO(X);return Bx(W).filter((K)=>z.test(K.key))}function $x(Z,Y){let Q=Y.indexOf("."),J=(Q>=0?Y.slice(0,Q):Y).trim().toLowerCase(),q=Q>=0?Y.slice(Q+1).trim():"";if(!J)return{content:Z,removed:!1};let X=Z.split(/\r?\n/),z=[],W=!1,U=!1;for(let B of X){let $=B.match(/^\s*\[([^\]]+)\]\s*$/);if($){let V=$[1].trim(),D=V.match(/^([^\s"']+)\s+"((?:[^"\\]|\\.)*)"$/);if(D){let F=D[1].trim().toLowerCase(),O=D[2].replace(/\\(["\\.])/g,"$1");W=F===J&&q.length>0&&O===q}else W=V.toLowerCase()===J&&q.length===0;if(W){U=!0;continue}}if(!W)z.push(B)}let K=z.join(`
375
375
  `).replace(/\n{3,}/g,`
376
376
 
377
377
  `);if(Z.endsWith(`
378
378
  `)&&!K.endsWith(`
379
379
  `))K+=`
380
- `;return{content:K,removed:U}}async function sx(Z,Y,Q){let J=await V3(),q=f1(Z,Y);if(J==="off"){await k`${q.gitExec} -C ${q.repoPath} config --local --remove-section ${Q}`;return}let X=await A4(Z,q.repoPath,"config");if(!X||!l(X))throw new o(`Git config file is unavailable at '${q.repoPath}'.`);let z=await p0(X,"utf-8"),W=ix(z,Q);if(!W.removed)throw new o(`Section '${Q}' does not exist in local config.`);await c0(X,W.content,"utf-8"),S1.delete(e.resolve(X))}async function s8(Z,Y){let Q=await I0(),J=`git.config.${Y}`,q=await Q.get(J);if(q!==void 0)return M.debug(`Cache hit for ${J}`,"cache-ctrl"),q;try{let X=(await w4(Z,Y)).trim();if(X)await Q.set(J,X),M.debug(`Cache store for ${J}: ${X}`,"cache-ctrl");return X}catch(X){return M.warn(`Git config ${Y} not found or failed`,"cache-ctrl"),M.debug(`Error details: ${o.from(X)}`,"cache-ctrl"),""}}async function VO(Z,Y=!1){let Q=await I0(),J=`${a6(Z)}|${Y?"remote":"local"}`,q=A6("git.branches",J),X=await Q.get(q);if(X)return M.debug(`Cache hit for ${q}`,"cache-ctrl"),X;try{let z=Y?["for-each-ref","--format=%(refname:short)","refs/remotes/"]:["for-each-ref","--format=%(refname:short)","refs/heads/"],{stdout:W}=await k`${Z} ${z}`,U=W.trim().split(`
381
- `).filter((K)=>K.length>0);return await Q.set(q,U),M.debug(`Cache store for ${q}: ${U.length} branches`,"cache-ctrl"),U}catch(z){return M.warn(`Failed to get git branches: ${o.from(z)}`,"cache-ctrl"),[]}}async function M3(Z){let Y=await I0(),Q=A6("git.trackedUpstreamRef",a6(Z)),J=await Y.getOneOff(Q);if(J!==void 0)return J;try{let q=(await A0(Z,["--abbrev-ref","--symbolic-full-name","@{u}"])).trim();return await Y.setOneOff(Q,q),q||null}catch{return null}}async function OO(Z){let Y=await I0(),Q="git.version",J=await Y.get("git.version");if(J)return M.debug("Cache hit for git.version","cache-ctrl"),J;try{let{stdout:q}=await k`${Z} --version`,X=q.trim().match(/(\d{1,2}\.\d{1,3}\.\d{1,3})/i)?.[1]||"unknown";return await Y.set("git.version",X),M.debug(`Cache store for git.version: ${X}`,"cache-ctrl"),X}catch(q){throw M.warn(`Failed to get git version: ${q}`,"cache-ctrl"),q}}async function F6(Z){let Y=await I0(),Q=process.cwd(),J=Array.isArray(Z)?Z.join(" "):Z,X="git.repoRoot."+k5.createHash("sha1").update(`${J}|${Q}`).digest("hex"),z=await Y.get(X);if(z&&l(z))return M.debug(`Cache hit for ${X}`,"cache-ctrl"),z;try{let W=(await A0(Z,["--show-toplevel"])).trim();if(!W)throw Error("Unable to resolve repository root.");return await Y.set(X,W),M.debug(`Cache store for ${X}: ${W}`,"cache-ctrl"),W}catch(W){throw M.warn(`Failed to get repo root: ${W}`,"cache-ctrl"),W}}function x5(Z){let Y=d0(e.resolve(Z));return process.platform==="win32"?Y.toLowerCase():Y}async function ax(Z){let Y=await I0(),Q=A6("git.worktreeList",a6(Z)),J=await Y.getOneOff(Q);if(J!==void 0)return J;try{let q=(await k`${Z} worktree list --porcelain`).stdout.trim();if(!q)return await Y.setOneOff(Q,[]),[];let X=[],z=null;for(let W of q.split(`
382
- `)){if(!W.trim())continue;if(W.startsWith("worktree ")){if(z)X.push(z);z={path:W.slice(9).trim(),locked:!1,lockReason:null,prunable:!1};continue}if(!z)continue;if(W.startsWith("locked")){z.locked=!0;let U=W.slice(6).trim();z.lockReason=U.length>0?U:null}else if(W.startsWith("prunable"))z.prunable=!0}if(z)X.push(z);return await Y.setOneOff(Q,X),X}catch(q){return M.debug(u(q,{color:!0}),"git"),await Y.setOneOff(Q,[]),[]}}async function j3(Z){let Y=await I0(),Q=A6("git.worktreeList",a6(Z));await Y.deleteOneOff(Q)}async function _3(Z,Y){let Q=await ax(Z),J=x5(Y);return Q.find((q)=>x5(q.path)===J)??null}async function v5(Z){try{await k`${Z} worktree prune --expire now`}catch(Y){M.debug(u(Y,{color:!0}),"git")}finally{await j3(Z)}}async function A4(Z,Y,Q){let J=await I0(),q=`${a6(Z,Y)}|${Q}`,X=A6("git.path",q),z=await J.get(X);if(z!==void 0)return z;try{let W=f1(Z,Y),U=await E5(W.gitExec,W.repoPath,["--git-path",Q]);if(!U)return await J.set(X,null,{maxAgeMinutes:H3}),null;let K=e.isAbsolute(U)?U:e.resolve(Y,U);return await J.set(X,K,{maxAgeMinutes:H3}),K}catch(W){return M.debug(u(W,{color:!0}),"git"),await J.set(X,null,{maxAgeMinutes:H3}),null}}function rx(Z,Y){let J=yx(Y).flatMap((q)=>hx(q));if(Z==="workspace")return[];if(Z==="gitPath"){let q=Y.indexOf("--git-path"),X=q>=0?Y[q+1]:"";return X?[X]:[]}if(Z==="upstream")return["HEAD","logs/HEAD","config","FETCH_HEAD","packed-refs","refs/remotes","logs/refs/remotes",...J];if(Z==="head")return["HEAD","logs/HEAD","packed-refs",...J];return["packed-refs",...J]}async function tx(Z,Y,Q,J){let q=rx(Q,J);if(q.length===0)return"stable";let X=await gx(Z,Y,q);return X?y1(`${Q}|${X}`):y1(`${Q}|stable`)}async function G0(Z,Y,Q){let J=await I0(),q=Array.isArray(Q)?Q:Q.trim().split(/\s+/).filter(Boolean);if(q.length===0)return"";let X=q.join(" "),z=e.resolve(Y),W=await vx(Z,z),U=y1(x5(W)),K=y1(x5(z)),B=Sx(q),$=await tx(Z,z,B,q),F=bx(U,K,B,$,X),O=await J.get(F);if(O!==void 0)return O;let V=F,D=W3.get(V);if(D)return await D;let _=(async()=>{try{let N=await E5(Z,z,q);return await J.set(F,N,{maxAgeMinutes:UO}),N}catch{return await J.set(F,"",{maxAgeMinutes:UO}),""}})();W3.set(V,_);try{return await _}finally{W3.delete(V)}}async function DO(Z,Y){let Q=[{label:"merge",path:"MERGE_HEAD"},{label:"cherry-pick",path:"CHERRY_PICK_HEAD"},{label:"revert",path:"REVERT_HEAD"},{label:"rebase",path:"rebase-apply"},{label:"rebase",path:"rebase-merge"},{label:"bisect",path:"BISECT_LOG"},{label:"sequencer",path:"sequencer"}],J=new Set;for(let q of Q){let X=await A4(Z,Y,q.path);if(!X)continue;if(l(X))J.add(q.label)}return Array.from(J)}function G8(Z){return d0(Z.trim()).replace(/^\/+/,"").replace(/\/+$/,"")}function S5(Z){return Z.trim().replace(/\\/g,"/")}async function N3(){let Y=(await K0()).get("useInlineSubmodule","internal");if(Y==="off"||Y==="internal"||Y==="all")return Y;return"internal"}function L4(Z,Y){if(!Y)return Z;return["-c","protocol.file.allow=always",...Z]}function MO(Z){if(!Z||Z.length===0)return[];let Y=new Set;for(let Q of Z){let J=G8(Q);if(!J)continue;Y.add(J)}return Array.from(Y)}function jO(Z,Y){if(!Y||Y.size===0)return!0;if(Y.has(Z))return!0;for(let Q of Y)if(Z.startsWith(Q+"/"))return!0;return!1}function I3(Z){let Y=new Map,Q=e.join(Z,".gitmodules");if(!l(Q))return Y;let J="";try{J=t6(Q,"utf-8")}catch{return Y}let q=J.split(/\r?\n/),X="",z="",W="",U="",K=()=>{if(!z)return;Y.set(z,{name:X||z,path:z,url:W,branch:U||void 0})};for(let B of q){let $=B.trim();if(!$||$.startsWith("#")||$.startsWith(";"))continue;let F=$.match(/^\[submodule\s+"(.+)"\]$/i);if(F){K(),X=F[1]?.trim()||"",z="",W="",U="";continue}let O=$.match(/^([a-zA-Z0-9._-]+)\s*=\s*(.*)$/);if(!O)continue;let V=O[1]?.trim().toLowerCase(),D=O[2]?.trim()||"";if(V==="path")z=G8(D);else if(V==="url")W=D;else if(V==="branch")U=D}return K(),Y}function ex(Z,Y,Q,J){let q=G8(Y),X=S5(Q),z=J?.name?.trim()||q,W=J?.branch?.trim()||void 0,U=I3(Z),K=U.get(q);if(K&&K.url.trim()===X&&(K.name||q)===z&&(K.branch?.trim()||void 0)===W)return;U.set(q,{name:z||K?.name||q,path:q,url:X,branch:W});let B=e.join(Z,".gitmodules"),$=Array.from(U.values()).map((F)=>{return`[submodule "${F.name}"]
383
- path = ${F.path}
384
- url = ${F.url}`+(F.branch?`
385
- branch = ${F.branch}`:"")}).join(`
386
-
387
- `);B8(B,$?`${$}
388
- `:"","utf-8")}async function ZP(Z,Y){let Q=new Map,J="";try{J=(await k`${Z} -C ${Y} ls-files --stage`).stdout}catch{return Q}for(let q of J.split(`
389
- `)){let X=q.trim();if(!X.startsWith("160000 "))continue;let z=X.match(/^160000\s+([0-9a-f]{40})\s+(\d)\t(.+)$/i);if(!z)continue;if(z[2]!=="0")continue;let W=G8(z[3]);if(!W)continue;Q.set(W,z[1])}return Q}async function YP(Z,Y,Q){let J=S5(Y),q=Q?.branch?.trim(),X=q?`refs/heads/${q}`:"HEAD",z=J.startsWith("file://")?e.resolve(J.replace(/^file:\/\//i,"")):J;if(l(z)){let K=(await G0(Z,z,q||"HEAD")).trim();if(K)return K}let U=(await k`${Z} ls-remote ${J} ${X}`).stdout.trim().split(`
390
- `).map((K)=>K.trim()).find((K)=>K.length>0)?.split(/\s+/)[0]?.trim()||"";if(!U)throw Error(`Unable to resolve ${X} for submodule source '${J}'.`);return U}async function QP(Z,Y){let Q=(await G0(Z,Y,["--git-dir"])).trim(),J=e.isAbsolute(Q)?Q:e.resolve(Y,Q);return e.join(J,"modules")}async function _O(Z,Y,Q,J,q){let X=S5(Q),z=e.resolve(Y,J);if(l(z))S6(z,{recursive:!0,force:!0});n0(e.dirname(z),{recursive:!0});let W=await QP(Z,Y),U=e.join(W,...J.split("/").filter(Boolean));n0(e.dirname(U),{recursive:!0});let K=["-C",Y,"clone","--no-checkout","--separate-git-dir",U];if(q.quiet)K.push("--quiet");if(q.reference)K.push("--reference",q.reference);if(q.singleBranch===!0)K.push("--single-branch");else if(q.singleBranch===!1)K.push("--no-single-branch");if(q.filter)K.push(`--filter=${q.filter}`);if(q.branch)K.push("--branch",q.branch);K.push(X,J);let B=L4(K,q.allowFileProtocol);await k`${Z} ${B}`}async function NO(Z,Y,Q,J,q){let X=Array.isArray(Z)?Z[0]:Z,z=G8(J),W=await N3(),U=q?.allowFileProtocol!==!1,K=q?.quiet!==!1,B=!!q?.force,$=S5(Q),F=q?.branch?.trim()||void 0,O=q?.name?.trim()||void 0,V=q?.reference?.trim()||void 0;if(!z)throw Error("Submodule path cannot be empty.");if(W==="off"){let G=["-C",Y,"submodule"];if(K)G.push("--quiet");if(G.push("add"),F)G.push("--branch",F);if(B)G.push("--force");if(O)G.push("--name",O);if(V)G.push("--reference",V);G.push("--",$,z),await k`${X} ${L4(G,U)}`,await o8(Z,Y);return}let D=await YP(X,Q,{branch:F});ex(Y,z,$,{name:O,branch:F});let _=e.resolve(Y,z);if(l(_)){if(d6(_).length>0&&!B)throw Error(`Submodule path '${z}' already exists. Re-run with --force to replace it.`)}let N=e.join(_,".git"),w=l(N)?await y6(N).then((G)=>G.isDirectory()).catch(()=>!1):!1;if(!l(N)||w)await _O(X,Y,$,z,{allowFileProtocol:q?.allowFileProtocol!==!1,quiet:!!q?.quiet,reference:V,branch:F});try{let G=["-C",_,"checkout"];if(K)G.push("--quiet");G.push("--detach",D),await k`${X} ${G}`}catch{let G=["-C",_,"fetch"];if(K)G.push("--quiet");G.push("origin",D),await k`${X} ${L4(G,U)}`;let I=["-C",_,"checkout"];if(K)I.push("--quiet");I.push("--detach",D),await k`${X} ${I}`}if(await k`${X} -C ${Y} add .gitmodules`,await k`${X} -C ${Y} update-index --add --cacheinfo 160000 ${D} ${z}`,await o8(Z,Y),!K)R(`Submodule add: path=${z} url=${$} commit=${D}`)}async function C8(Z,Y){let Q=Array.isArray(Z)?Z[0]:Z,J=await I0(),q=a6(Z,Y),X=A6("git.submodules.paths",q),z=A6("git.submodules.gitlinks",q),W=e.join(Y,".gitmodules"),U=await pZ(W)??null,K=null,B=await J.get(z);try{let $=[],F=await J.get(X);if(F&&F.mtime===U)$=F.paths;else if(U!==null){try{$=(await D3(Z,"path",{repoPath:Y,filePath:".gitmodules"})).map((G)=>G.value.trim()).filter((G)=>G.length>0)}catch{$=[]}await J.set(X,{mtime:U,paths:$})}else if(F&&F.mtime===null)$=F.paths;let O=[],V=new Map;if(K===null)K=await pZ(await A4(Z,Y,"index"))??null;if(B&&B.mtime===K&&K!==null)O=B.paths;else{try{let G=(await k`${Q} -C ${Y} ls-files --stage`).stdout.split(`
391
- `).map((I)=>I.trim()).filter((I)=>I.startsWith("160000 ")).map((I)=>{let A=I.match(/^160000 ([0-9a-f]{40}) (\d)\t(.+)$/);return A?{sha:A[1],stage:A[2],path:A[3].trim()}:null}).filter((I)=>!!I).filter((I)=>I.path.length>0);V=new Map(G.map((I)=>[I.path,{sha:I.sha,stage:I.stage}])),O=Array.from(V.keys())}catch{O=[]}await J.set(z,{mtime:K,paths:O})}let D=new Set([...$,...O]);if(D.size===0)return[];let _=Array.from(D);return(await Promise.all(_.map(async(w)=>{let G=V.get(w);if(G&&G.stage!=="0")return{path:w,status:"U"};let I=e.resolve(Y,w),A=e.join(I,".git");if(!l(I)||!l(A))return{path:w,status:"-"};if(!G?.sha)return{path:w,status:" "};let x=(await G0(Q,I,"HEAD")).trim(),T=x&&x!==G.sha?"+":" ";return{path:w,status:T}}))).map((w)=>{return{path:w.path,status:w.status,initialized:w.status!=="-"}})}catch($){return M.debug(u($,{color:!0}),"git"),[]}}async function o8(Z,Y){let Q=await I0(),J=a6(Z,Y);await Q.delete(A6("git.submodules.paths",J)),await Q.delete(A6("git.submodules.gitlinks",J))}async function IO(Z,Y,Q){let J=Array.isArray(Z)?Z[0]:Z,q=[];for(let X of Q){if(X.status==="U"){q.push(X.path);continue}let z=e.resolve(Y,X.path);if(!l(z))continue;let W=e.join(z,".git");if(!l(W)){if(X.status!=="-")try{if(d6(z).length>0)q.push(X.path)}catch{q.push(X.path)}continue}try{if((await k`${J} -C ${z} status --porcelain=v1 --untracked-files=normal`).stdout.trim().length>0)q.push(X.path)}catch{q.push(X.path)}}return q}async function y5(Z,Y,Q){let J=Array.isArray(Z)?Z[0]:Z,q=Q?.force!==!1,X=Q?.quiet!==!1,z=MO(Q?.paths),W=Q?.all===!0||z.length===0;if(await N3()==="off"){let V=["-C",Y,"submodule"];if(X)V.push("--quiet");if(V.push("deinit"),q)V.push("--force");if(W)V.push("--all");else V.push("--",...z);await k`${J} ${V}`,await o8(Z,Y);return}let K=await C8(Z,Y),B=I3(Y),$=new Set([...K.map((V)=>G8(V.path)),...Array.from(B.keys())]),F=W?null:new Set(z),O=Array.from($).filter((V)=>V&&jO(V,F));if(O.length===0)return;for(let V of O){if(!V)continue;let D=B.get(V),_=new Set([G8(V),G8(D?.name||"")]);for(let N of _){if(!N)continue;try{await sx(Z,Y,`submodule.${N}`)}catch{}}}for(let V of O){if(!V)continue;let D=e.resolve(Y,V);try{if(l(D))S6(D,{recursive:!0,force:!0});n0(D,{recursive:!0})}catch(_){M.debug(`Failed to clean submodule path '${D}'. ${u(_,{color:!0})}`,"git")}}try{let V=(await G0(J,Y,["--git-dir"])).trim(),D=V?e.isAbsolute(V)?V:e.resolve(Y,V):"",_=D?e.join(D,"modules"):"";if(_&&l(_))if(W)S6(_,{recursive:!0,force:!0});else for(let N of O){let w=e.join(_,...N.split("/").filter(Boolean));if(l(w))S6(w,{recursive:!0,force:!0})}}catch(V){M.debug(`Failed to clean worktree submodule metadata. ${u(V,{color:!0})}`,"git")}if(!X)R(`Submodule deinit: ${O.length} path(s) (${O.join(", ")})`);await o8(Z,Y)}async function f5(Z,Y,Q){let J=Array.isArray(Z)?Z[0]:Z,q=Q?.recursive!==!1,X=Q?.force===!0,z=Q?.init!==!1,W=Q?.remote===!0,U=Q?.noFetch===!0,K=Q?.strategy||"checkout",B=Q?.quiet!==!1,$=Q?.allowFileProtocol!==!1,F=MO(Q?.paths),O=F.length>0?new Set(F):null;if(await N3()==="off"){let w=["-C",Y,"submodule"];if(B)w.push("--quiet");if(w.push("update"),X)w.push("--force");if(z)w.push("--init");if(Q?.filter)w.push(`--filter=${Q.filter}`);if(W)w.push("--remote");if(U)w.push("--no-fetch");if(K==="merge")w.push("--merge");else if(K==="rebase")w.push("--rebase");else w.push("--checkout");if(Q?.recommendShallow===!0)w.push("--recommend-shallow");else if(Q?.recommendShallow===!1)w.push("--no-recommend-shallow");if(Q?.reference)w.push("--reference",Q.reference);if(q)w.push("--recursive");if(Q?.singleBranch===!0)w.push("--single-branch");else if(Q?.singleBranch===!1)w.push("--no-single-branch");if(F.length>0)w.push("--",...F);await k`${J} ${L4(w,$)}`,await o8(Z,Y);return}if(K!=="checkout"){let w=["-C",Y,"submodule"];if(B)w.push("--quiet");if(w.push("update"),X)w.push("--force");if(z)w.push("--init");if(Q?.filter)w.push(`--filter=${Q.filter}`);if(W)w.push("--remote");if(U)w.push("--no-fetch");if(K==="merge")w.push("--merge");else w.push("--rebase");if(Q?.recommendShallow===!0)w.push("--recommend-shallow");else if(Q?.recommendShallow===!1)w.push("--no-recommend-shallow");if(Q?.reference)w.push("--reference",Q.reference);if(q)w.push("--recursive");if(Q?.singleBranch===!0)w.push("--single-branch");else if(Q?.singleBranch===!1)w.push("--no-single-branch");if(F.length>0)w.push("--",...F);await k`${J} ${L4(w,$)}`,await o8(Z,Y);return}let D=await ZP(J,Y);if(D.size===0){await o8(Z,Y);return}let _=I3(Y),N=[];for(let[w,G]of D.entries()){let I=G8(w);if(!I||!G)continue;if(!jO(I,O))continue;let A=_.get(I);if(!A?.url)continue;let x=e.resolve(Y,I),T=e.join(x,".git"),S=l(T)?await y6(T).then((c)=>c.isDirectory()).catch(()=>!1):!1;if(!l(T)||S){if(!z)continue;await _O(J,Y,A.url,I,{allowFileProtocol:$,quiet:B,reference:Q?.reference,singleBranch:Q?.singleBranch,filter:Q?.filter,branch:W?A.branch:void 0})}let y=G;if(W){let c=A.branch?.trim()||"HEAD";if(!U){let h=["-C",x,"fetch"];if(B)h.push("--quiet");if(h.push("origin"),c!=="HEAD")h.push(c);await k`${J} ${L4(h,$)}`}let v=c==="HEAD"?"origin/HEAD":`origin/${c}`,J0=(await G0(J,x,v)).trim();if(!J0)throw Error(`Unable to resolve remote ref '${v}' for submodule '${I}'.`);y=J0}if(!(await G0(J,x,["-q","--verify",`${y}^{commit}`])).trim()){if(U)throw Error(`Missing commit '${y}' for submodule '${I}' and --no-fetch is set.`);let c=L4(["-C",x,"fetch",...B?["--quiet"]:[],"origin",y],$);await k`${J} ${c}`}let P=["-C",x,"checkout"];if(X)P.push("--force");else if(B)P.push("--quiet");if(P.push("--detach",y),await k`${J} ${P}`,N.push(`${I}@${y}`),q)await f5(Z,x,{...Q,paths:void 0})}if(N.length>0&&!B)R(`Submodule update: ${N.length} path(s) (${N.join(", ")})`);await o8(Z,Y)}async function LO(Z,Y){await f5(Z,Y,{recursive:!0})}function wO(Z){let Y=JP(Z);if(!Y)return!1;return Y.includes("the previous cherry-pick is now empty")||Y.includes("the previous cherry-pick is empty")||Y.includes("previous cherry-pick is now empty")||Y.includes("previous cherry-pick is empty")||Y.includes("cherry-pick is now empty")||Y.includes("cherry-pick is empty")||Y.includes("the patch is empty")||Y.includes("patch is empty")}function JP(Z){if(!Z)return"";if(typeof Z==="string")return m4(Z).toLowerCase();let Y=Z,Q=[Y?.stderr,Y?.stdout,Y?.message].map((q)=>qP(q)).filter((q)=>q.length>0);if(Q.length===0)return"";let J=Q.join(`
392
- `);return m4(J).toLowerCase()}function qP(Z){if(!Z)return"";if(typeof Z==="string")return Z;if(Z instanceof Uint8Array)return new TextDecoder().decode(Z);return String(Z)}async function h5(Z,Y){try{return(await k`${Z} -C ${Y} diff --name-only --diff-filter=U`).stdout.split(`
393
- `).map((J)=>J.trim()).filter((J)=>J.length>0)}catch{return[]}}async function AO(Z,Y){let Q=await h5(Z,Y);if(Q.length===0)return;await T0`${Z} -C ${Y} add -A -- ${Q}`}async function GO(Z,Y){if((await h5(Z,Y)).length>0)return!1;try{if((await k`${Z} -C ${Y} diff --cached --name-only`).stdout.trim().length>0)return!1}catch{return!1}return!0}async function L3(Z){let{gitExec:Y,repoPath:Q,range:J,maxCount:q,formatTemplate:X,excludeRefs:z}=Z,W="";try{let F=["-C",Q,"log",`--pretty=format:${X||"%h %s"}`,J],O=z?.filter((V)=>V&&V.trim().length>0)??[];if(O.length>0)F.push("--not",...O);W=(await k`${Y} ${F}`).stdout.trim()}catch{W=""}let U=W.split(`
394
- `).map((F)=>F.trim()).filter((F)=>F.length>0),K=U.length;if(K===0)return{commits:[],totalCount:0,moreCount:0};let B=q&&q>0?U.slice(0,q):U,$=Math.max(K-B.length,0);return{commits:B,totalCount:K,moreCount:$}}async function w3(Z,Y,Q,J){let q=await I0(),X=`${Z}|${e.resolve(Y)}|${Q}|${J}`,z=A6("git.submoduleBaseSha",X),W=await q.get(z);if(W!==void 0)return W;try{let U=(await k`${Z} -C ${Y} ls-tree ${Q} -- ${J}`).stdout.trim();if(!U)return await q.set(z,null),null;let B=U.match(/^160000\s+commit\s+([0-9a-f]{7,40})\s+/i)?.[1]??null;return await q.set(z,B),B}catch{return await q.set(z,null),null}}function g5(){if(e0.supportsColor<=0)return[];return["-c","color.ui=always"]}async function a8(Z,Y,Q=0){for(let J=Q;J<Z.length;J++){let q=/^(head|origin)?~(\d+)?$/i.exec(Z[J]);if(!q)continue;let X=0;if(q[2]){if(X=parseInt(q[2],10),isNaN(X)||X<0)return M.error(`Invalid relative ref format: ${Z[J]}`,"reset"),{error:new o(`Invalid relative ref format: ${Z[J]}`)}}try{if(q[1]?.toLowerCase()==="origin"){let z=await M3(Y);if(!z)return M.error("No upstream configured for current branch.","reset"),{error:new o("No upstream configured for current branch.")};Z[J]=`${z}~${X}`;break}else Z[J]=`HEAD~${X}`}catch(z){return M.error(`Failed to expand relative ref: ${o.from(z)}`,"reset"),{error:o.from(z)}}}return{value:void 0}}function K3(Z,Y){let Q=Y.replace(/^[/:]+/,"");if(Q=Q.replace(/\.git$/i,""),Q=Q.replace(/\/+$/,""),Z)return`${Z}/${Q}`;return Q}var B3,UO=360,H3=360,xx=12,W3,KO,Px,S1;var X6=j(()=>{z0();z8();$6();U6();b0();w0();R0();g0();B3=DX(WO(),1),W3=new Map,KO=new Map,Px=new Set(["--git-path"]),S1=new Map});function m5(Z){return Z>=9&&Z<=13||Z===32||Z===160||Z===5760||Z>=8192&&Z<=8202||Z===8232||Z===8233||Z===8239||Z===8287||Z===12288||Z===65279}function XP(Z,Y,Q){if(typeof Z==="string")return{input:Z};let J=Y.map((W)=>String(W)),q=Q.preserveTemplateIndent!==!1,X=[],z="";for(let W=0;W<Z.length;W++)if(z+=Z[W],W<J.length){let U=J[W],K=z.length;if(z+=U,q&&U.includes(`
395
- `))X.push(K,K+U.length)}return{input:z,skipRanges:X.length===0?void 0:X}}function zP(Z,Y){let Q=0,J=Z.length,q=0,X=-1;while(q<Z.length&&m5(Z.charCodeAt(q))){if(Z.charCodeAt(q)===10)X=q;q++}if(X!==-1)Q=X+1;q=Z.length-1;let z=-1;while(q>=0&&m5(Z.charCodeAt(q))){if(Z.charCodeAt(q)===10){z=q;break}q--}if(z!==-1)J=z;if(Q>=J)return{input:""};let W=Z.slice(Q,J);if(Y===void 0||Y.length===0)return{input:W};let U=[];for(let K=0;K<Y.length;K+=2){let B=Y[K],$=Y[K+1];if($<=Q||B>=J)continue;U.push(Math.max(B,Q)-Q,Math.min($,J)-Q)}return{input:W,skipRanges:U.length===0?void 0:U}}function HP(Z){let Y=-1;for(let J=0;J<Z.length;J++)if(!m5(Z.charCodeAt(J))){Y=J;break}if(Y===-1)return 0;let Q=Z.lastIndexOf(`
396
- `,Y-1)+1;return Y-Q}function WP(Z,Y,Q,J){if(Y<=0||Z.length===0)return Z;let q=[],X=Z.length,z=0,W=(K)=>{if(J===void 0||J.length===0)return!1;while(z<J.length&&K>=J[z+1])z+=2;return z<J.length&&K>=J[z]},U=0;while(U<=X){let K=Z.indexOf(`
397
- `,U);if(K===-1)K=X;let B=U,$=0;while(B<K&&$<Y){if(W(B)||!m5(Z.charCodeAt(B)))break;B++,$++}let O=Q==="strict"&&$!==Y?U:B;if(q.push(Z.slice(O,K)),K===X)break;U=K+1}return q.join(`
398
- `)}function UP(Z,Y,Q){let J=Y.trimWhitespace===!1?{input:Z,skipRanges:Q}:zP(Z,Q),q=HP(J.input),X=Y.dedentMode??"greedy";return WP(J.input,q,X,J.skipRanges)}function CO(Z){let Y=(Q,...J)=>{let{input:q,skipRanges:X}=XP(Q,J,Z);return UP(q,Z,X)};return Y.withOptions=(Q)=>{return CO({...Z,...Q})},Y}var KP,Z0;var o0=j(()=>{KP=CO({}),Z0=KP});import RO from"path";import g1 from"fs";import BP from"crypto";async function $P(Z){try{let Y=await F6(Z),Q=VP(Y);if(!Q)return M.error("No stash drop to pardon.","stash"),1;R(H.cyan+`Restoring ${Q.entries.length} dropped stash(es)...`+H.reset);for(let J of Q.entries)await $O(Z,J.sha,J.message),R(H.green+` + Restored: ${J.message}`+H.reset);return 0}catch(Y){return M.error("Error pardoning stash: "+Y,"stash"),1}}async function TO(Z,Y,Q){let[J,q]=Y[2].split("..").map((z)=>parseInt(z,10));if(isNaN(J)||isNaN(q)||J>q)return M.error(`Invalid stash range: ${Y[2]}`,"stash"),1;let X=[];try{let z=await F6(Z),W=[];for(let U=q;U>=J;U--)W.push($3(Z,U));if(X=(await Promise.all(W)).filter((U)=>U!=null),X.length>0)PO(z,{timestamp:Date.now(),entries:X,type:"range"},Q)}catch(z){let W=o.from(z);M.warn(`Could not capture stash entry for undo. (${W.name})`,"stash"),M.debug(W.toString(),"stash")}R(H.cyan+`Dropping stashes from ${H.bright+J+H.reset+H.cyan} to ${H.bright+q+H.reset+H.cyan} (inclusive)`+H.reset);for(let z=q;z>=J;z--)await T0`${Z} stash drop stash@{${z}}`;return 0}async function FP(Z,Y){if(Y[2]==="pardon")return await $P(Z);let J=(await K0()).get("stash.undoLimit")??10;if(Y[2]&&/\d+\.\.\d+$/.test(Y[2]))return await TO(Z,Y,J);let q=0,X=Y.slice(2).filter((z)=>!z.startsWith("-"));if(X.length>0)if(X[0].includes(".."));else{let z=X[0].match(/stash@\{(\d+)\}/)||X[0].match(/^(\d+)$/);if(z)q=parseInt(z[1],10)}try{let z=await $3(Z,q);if(z){let W=await F6(Z);PO(W,{timestamp:Date.now(),entries:[z],type:"single"},J)}}catch(z){M.warn(`Could not capture stash entry for undo. (${o.from(z).name})`,"stash")}try{return await T0`${Z} ${Y}`,0}catch{return 1}}function kO(Z){let Y=BP.createHash("sha256").update(Z).digest("hex"),Q=RO.join(K6,"gdx","stash-undo");if(!g1.existsSync(Q))g1.mkdirSync(Q,{recursive:!0});return RO.join(Q,`${Y}.json`)}function EO(Z){let Y=kO(Z);if(!g1.existsSync(Y))return[];try{let Q=g1.readFileSync(Y,"utf-8");return JSON.parse(Q)}catch{return[]}}function xO(Z,Y){let Q=kO(Z);g1.writeFileSync(Q,JSON.stringify(Y,null,2))}function PO(Z,Y,Q=10){let J=EO(Z);if(J.push(Y),J.length>Q)J.splice(0,J.length-Q);xO(Z,J)}function VP(Z){let Y=EO(Z);if(Y.length===0)return null;let Q=Y.pop()||null;return xO(Z,Y),Q}var bO,vO,SO;var p5=j(()=>{z0();g0();R0();H0();H0();b0();X6();$6();w0();v0();o0();bO={dropRange:TO,drop:FP},vO={long:()=>{return t(Z0`
380
+ `;return{content:K,removed:U}}async function Fx(Z,Y,Q){let J=await LJ(),q=m1(Z,Y);if(J==="off"){await k`${q.gitExec} -C ${q.repoPath} config --local --remove-section ${Q}`;return}let X=await R8(Z,q.repoPath,"config");if(!X||!l(X))throw new o(`Git config file is unavailable at '${q.repoPath}'.`);let z=await f0(X,"utf-8"),W=$x(z,Q);if(!W.removed)throw new o(`Section '${Q}' does not exist in local config.`);await c0(X,W.content,"utf-8"),h1.delete(e.resolve(X))}async function t4(Z,Y){let Q=await I0(),J=`git.config.${Y}`,q=await Q.get(J);if(q!==void 0)return M.debug(`Cache hit for ${J}`,"cache-ctrl"),q;try{let X=(await C8(Z,Y)).trim();if(X)await Q.set(J,X),M.debug(`Cache store for ${J}: ${X}`,"cache-ctrl");return X}catch(X){return M.warn(`Git config ${Y} not found or failed`,"cache-ctrl"),M.debug(`Error details: ${o.from(X)}`,"cache-ctrl"),""}}async function AO(Z,Y=!1){let Q=await I0(),J=`${t6(Z)}|${Y?"remote":"local"}`,q=A6("git.branches",J),X=await Q.get(q);if(X)return M.debug(`Cache hit for ${q}`,"cache-ctrl"),X;try{let z=Y?["for-each-ref","--format=%(refname:short)","refs/remotes/"]:["for-each-ref","--format=%(refname:short)","refs/heads/"],{stdout:W}=await k`${Z} ${z}`,U=W.trim().split(`
381
+ `).filter((K)=>K.length>0);return await Q.set(q,U),M.debug(`Cache store for ${q}: ${U.length} branches`,"cache-ctrl"),U}catch(z){return M.warn(`Failed to get git branches: ${o.from(z)}`,"cache-ctrl"),[]}}async function GJ(Z){let Y=await I0(),Q=A6("git.trackedUpstreamRef",t6(Z)),J=await Y.getOneOff(Q);if(J!==void 0)return J;try{let q=(await A0(Z,["--abbrev-ref","--symbolic-full-name","@{u}"])).trim();return await Y.setOneOff(Q,q),q||null}catch{return null}}async function GO(Z){let Y=await I0(),Q="git.version",J=await Y.get("git.version");if(J)return M.debug("Cache hit for git.version","cache-ctrl"),J;try{let{stdout:q}=await k`${Z} --version`,X=q.trim().match(/(\d{1,2}\.\d{1,3}\.\d{1,3})/i)?.[1]||"unknown";return await Y.set("git.version",X),M.debug(`Cache store for git.version: ${X}`,"cache-ctrl"),X}catch(q){throw M.warn(`Failed to get git version: ${q}`,"cache-ctrl"),q}}async function F6(Z){let Y=await I0(),Q=process.cwd(),J=Array.isArray(Z)?Z.join(" "):Z,X="git.repoRoot."+x5.createHash("sha1").update(`${J}|${Q}`).digest("hex"),z=await Y.get(X);if(z&&l(z))return M.debug(`Cache hit for ${X}`,"cache-ctrl"),z;try{let W=(await A0(Z,["--show-toplevel"])).trim();if(!W)throw Error("Unable to resolve repository root.");return await Y.set(X,W),M.debug(`Cache store for ${X}: ${W}`,"cache-ctrl"),W}catch(W){throw M.warn(`Failed to get repo root: ${W}`,"cache-ctrl"),W}}function v5(Z){let Y=d0(e.resolve(Z));return process.platform==="win32"?Y.toLowerCase():Y}async function Vx(Z){let Y=await I0(),Q=A6("git.worktreeList",t6(Z)),J=await Y.getOneOff(Q);if(J!==void 0)return J;try{let q=(await k`${Z} worktree list --porcelain`).stdout.trim();if(!q)return await Y.setOneOff(Q,[]),[];let X=[],z=null;for(let W of q.split(`
382
+ `)){if(!W.trim())continue;if(W.startsWith("worktree ")){if(z)X.push(z);z={path:W.slice(9).trim(),locked:!1,lockReason:null,prunable:!1};continue}if(!z)continue;if(W.startsWith("locked")){z.locked=!0;let U=W.slice(6).trim();z.lockReason=U.length>0?U:null}else if(W.startsWith("prunable"))z.prunable=!0}if(z)X.push(z);return await Y.setOneOff(Q,X),X}catch(q){return M.debug(u(q,{color:!0}),"git"),await Y.setOneOff(Q,[]),[]}}async function CJ(Z){let Y=await I0(),Q=A6("git.worktreeList",t6(Z));await Y.deleteOneOff(Q)}async function RJ(Z,Y){let Q=await Vx(Z),J=v5(Y);return Q.find((q)=>v5(q.path)===J)??null}async function f5(Z){try{await k`${Z} worktree prune --expire now`}catch(Y){M.debug(u(Y,{color:!0}),"git")}finally{await CJ(Z)}}async function R8(Z,Y,Q){let J=await I0(),q=`${t6(Z,Y)}|${Q}`,X=A6("git.path",q),z=await J.get(X);if(z!==void 0)return z;try{let W=m1(Z,Y),U=await b5(W.gitExec,W.repoPath,["--git-path",Q]);if(!U)return await J.set(X,null,{maxAgeMinutes:OJ}),null;let K=e.isAbsolute(U)?U:e.resolve(Y,U);return await J.set(X,K,{maxAgeMinutes:OJ}),K}catch(W){return M.debug(u(W,{color:!0}),"git"),await J.set(X,null,{maxAgeMinutes:OJ}),null}}function Ox(Z,Y){let J=Zx(Y).flatMap((q)=>Qx(q));if(Z==="workspace")return[];if(Z==="gitPath"){let q=Y.indexOf("--git-path"),X=q>=0?Y[q+1]:"";return X?[X]:[]}if(Z==="upstream")return["HEAD","logs/HEAD","config","FETCH_HEAD","packed-refs","refs/remotes","logs/refs/remotes",...J];if(Z==="head")return["HEAD","logs/HEAD","packed-refs",...J];return["packed-refs",...J]}async function Dx(Z,Y,Q,J){let q=Ox(Q,J);if(q.length===0)return"stable";let X=await Jx(Z,Y,q);return X?g1(`${Q}|${X}`):g1(`${Q}|stable`)}async function G0(Z,Y,Q){let J=await I0(),q=Array.isArray(Q)?Q:Q.trim().split(/\s+/).filter(Boolean);if(q.length===0)return"";let X=q.join(" "),z=e.resolve(Y),W=await tP(Z,z),U=g1(v5(W)),K=g1(v5(z)),B=eP(q),$=await Dx(Z,z,B,q),V=rP(U,K,B,$,X),D=await J.get(V);if(D!==void 0)return D;let F=V,O=DJ.get(F);if(O)return await O;let j=(async()=>{try{let _=await b5(Z,z,q);return await J.set(V,_,{maxAgeMinutes:_O}),_}catch{return await J.set(V,"",{maxAgeMinutes:_O}),""}})();DJ.set(F,j);try{return await j}finally{DJ.delete(F)}}async function CO(Z,Y){let Q=[{label:"merge",path:"MERGE_HEAD"},{label:"cherry-pick",path:"CHERRY_PICK_HEAD"},{label:"revert",path:"REVERT_HEAD"},{label:"rebase",path:"rebase-apply"},{label:"rebase",path:"rebase-merge"},{label:"bisect",path:"BISECT_LOG"},{label:"sequencer",path:"sequencer"}],J=new Set;for(let q of Q){let X=await R8(Z,Y,q.path);if(!X)continue;if(l(X))J.add(q.label)}return Array.from(J)}function C4(Z){return d0(Z.trim()).replace(/^\/+/,"").replace(/\/+$/,"")}function h5(Z){return Z.trim().replace(/\\/g,"/")}async function TJ(){let Y=(await K0()).get("useInlineSubmodule","internal");if(Y==="off"||Y==="internal"||Y==="all")return Y;return"internal"}function G8(Z,Y){if(!Y)return Z;return["-c","protocol.file.allow=always",...Z]}function RO(Z){if(!Z||Z.length===0)return[];let Y=new Set;for(let Q of Z){let J=C4(Q);if(!J)continue;Y.add(J)}return Array.from(Y)}function TO(Z,Y){if(!Y||Y.size===0)return!0;if(Y.has(Z))return!0;for(let Q of Y)if(Z.startsWith(Q+"/"))return!0;return!1}function kJ(Z){let Y=new Map,Q=e.join(Z,".gitmodules");if(!l(Q))return Y;let J="";try{J=Z4(Q,"utf-8")}catch{return Y}let q=J.split(/\r?\n/),X="",z="",W="",U="",K=()=>{if(!z)return;Y.set(z,{name:X||z,path:z,url:W,branch:U||void 0})};for(let B of q){let $=B.trim();if(!$||$.startsWith("#")||$.startsWith(";"))continue;let V=$.match(/^\[submodule\s+"(.+)"\]$/i);if(V){K(),X=V[1]?.trim()||"",z="",W="",U="";continue}let D=$.match(/^([a-zA-Z0-9._-]+)\s*=\s*(.*)$/);if(!D)continue;let F=D[1]?.trim().toLowerCase(),O=D[2]?.trim()||"";if(F==="path")z=C4(O);else if(F==="url")W=O;else if(F==="branch")U=O}return K(),Y}function Mx(Z,Y,Q,J){let q=C4(Y),X=h5(Q),z=J?.name?.trim()||q,W=J?.branch?.trim()||void 0,U=kJ(Z),K=U.get(q);if(K&&K.url.trim()===X&&(K.name||q)===z&&(K.branch?.trim()||void 0)===W)return;U.set(q,{name:z||K?.name||q,path:q,url:X,branch:W});let B=e.join(Z,".gitmodules"),$=Array.from(U.values()).map((V)=>{return`[submodule "${V.name}"]
383
+ path = ${V.path}
384
+ url = ${V.url}`+(V.branch?`
385
+ branch = ${V.branch}`:"")}).join(`
386
+
387
+ `);$4(B,$?`${$}
388
+ `:"","utf-8")}async function jx(Z,Y){let Q=new Map,J="";try{J=(await k`${Z} -C ${Y} ls-files --stage`).stdout}catch{return Q}for(let q of J.split(`
389
+ `)){let X=q.trim();if(!X.startsWith("160000 "))continue;let z=X.match(/^160000\s+([0-9a-f]{40})\s+(\d)\t(.+)$/i);if(!z)continue;if(z[2]!=="0")continue;let W=C4(z[3]);if(!W)continue;Q.set(W,z[1])}return Q}async function _x(Z,Y,Q){let J=h5(Y),q=Q?.branch?.trim(),X=q?`refs/heads/${q}`:"HEAD",z=J.startsWith("file://")?e.resolve(J.replace(/^file:\/\//i,"")):J;if(l(z)){let K=(await G0(Z,z,q||"HEAD")).trim();if(K)return K}let U=(await k`${Z} ls-remote ${J} ${X}`).stdout.trim().split(`
390
+ `).map((K)=>K.trim()).find((K)=>K.length>0)?.split(/\s+/)[0]?.trim()||"";if(!U)throw Error(`Unable to resolve ${X} for submodule source '${J}'.`);return U}async function Nx(Z,Y){let Q=(await G0(Z,Y,["--git-dir"])).trim(),J=e.isAbsolute(Q)?Q:e.resolve(Y,Q);return e.join(J,"modules")}async function kO(Z,Y,Q,J,q){let X=h5(Q),z=e.resolve(Y,J);if(l(z))y6(z,{recursive:!0,force:!0});i0(e.dirname(z),{recursive:!0});let W=await Nx(Z,Y),U=e.join(W,...J.split("/").filter(Boolean));i0(e.dirname(U),{recursive:!0});let K=["-C",Y,"clone","--no-checkout","--separate-git-dir",U];if(q.quiet)K.push("--quiet");if(q.reference)K.push("--reference",q.reference);if(q.singleBranch===!0)K.push("--single-branch");else if(q.singleBranch===!1)K.push("--no-single-branch");if(q.filter)K.push(`--filter=${q.filter}`);if(q.branch)K.push("--branch",q.branch);K.push(X,J);let B=G8(K,q.allowFileProtocol);await k`${Z} ${B}`}async function EO(Z,Y,Q,J,q){let X=Array.isArray(Z)?Z[0]:Z,z=C4(J),W=await TJ(),U=q?.allowFileProtocol!==!1,K=q?.quiet!==!1,B=!!q?.force,$=h5(Q),V=q?.branch?.trim()||void 0,D=q?.name?.trim()||void 0,F=q?.reference?.trim()||void 0;if(!z)throw Error("Submodule path cannot be empty.");if(W==="off"){let A=["-C",Y,"submodule"];if(K)A.push("--quiet");if(A.push("add"),V)A.push("--branch",V);if(B)A.push("--force");if(D)A.push("--name",D);if(F)A.push("--reference",F);A.push("--",$,z),await k`${X} ${G8(A,U)}`,await a4(Z,Y);return}let O=await _x(X,Q,{branch:V});Mx(Y,z,$,{name:D,branch:V});let j=e.resolve(Y,z);if(l(j)){if(l6(j).length>0&&!B)throw Error(`Submodule path '${z}' already exists. Re-run with --force to replace it.`)}let _=e.join(j,".git"),L=l(_)?await f6(_).then((A)=>A.isDirectory()).catch(()=>!1):!1;if(!l(_)||L)await kO(X,Y,$,z,{allowFileProtocol:q?.allowFileProtocol!==!1,quiet:!!q?.quiet,reference:F,branch:V});try{let A=["-C",j,"checkout"];if(K)A.push("--quiet");A.push("--detach",O),await k`${X} ${A}`}catch{let A=["-C",j,"fetch"];if(K)A.push("--quiet");A.push("origin",O),await k`${X} ${G8(A,U)}`;let I=["-C",j,"checkout"];if(K)I.push("--quiet");I.push("--detach",O),await k`${X} ${I}`}if(await k`${X} -C ${Y} add .gitmodules`,await k`${X} -C ${Y} update-index --add --cacheinfo 160000 ${O} ${z}`,await a4(Z,Y),!K)C(`Submodule add: path=${z} url=${$} commit=${O}`)}async function R4(Z,Y){let Q=Array.isArray(Z)?Z[0]:Z,J=await I0(),q=t6(Z,Y),X=A6("git.submodules.paths",q),z=A6("git.submodules.gitlinks",q),W=e.join(Y,".gitmodules"),U=await dZ(W)??null,K=null,B=await J.get(z);try{let $=[],V=await J.get(X);if(V&&V.mtime===U)$=V.paths;else if(U!==null){try{$=(await AJ(Z,"path",{repoPath:Y,filePath:".gitmodules"})).map((A)=>A.value.trim()).filter((A)=>A.length>0)}catch{$=[]}await J.set(X,{mtime:U,paths:$})}else if(V&&V.mtime===null)$=V.paths;let D=[],F=new Map;if(K===null)K=await dZ(await R8(Z,Y,"index"))??null;if(B&&B.mtime===K&&K!==null)D=B.paths;else{try{let A=(await k`${Q} -C ${Y} ls-files --stage`).stdout.split(`
391
+ `).map((I)=>I.trim()).filter((I)=>I.startsWith("160000 ")).map((I)=>{let G=I.match(/^160000 ([0-9a-f]{40}) (\d)\t(.+)$/);return G?{sha:G[1],stage:G[2],path:G[3].trim()}:null}).filter((I)=>!!I).filter((I)=>I.path.length>0);F=new Map(A.map((I)=>[I.path,{sha:I.sha,stage:I.stage}])),D=Array.from(F.keys())}catch{D=[]}await J.set(z,{mtime:K,paths:D})}let O=new Set([...$,...D]);if(O.size===0)return[];let j=Array.from(O);return(await Promise.all(j.map(async(L)=>{let A=F.get(L);if(A&&A.stage!=="0")return{path:L,status:"U"};let I=e.resolve(Y,L),G=e.join(I,".git");if(!l(I)||!l(G))return{path:L,status:"-"};if(!A?.sha)return{path:L,status:" "};let P=(await G0(Q,I,"HEAD")).trim(),T=P&&P!==A.sha?"+":" ";return{path:L,status:T}}))).map((L)=>{return{path:L.path,status:L.status,initialized:L.status!=="-"}})}catch($){return M.debug(u($,{color:!0}),"git"),[]}}async function a4(Z,Y){let Q=await I0(),J=t6(Z,Y);await Q.delete(A6("git.submodules.paths",J)),await Q.delete(A6("git.submodules.gitlinks",J))}async function PO(Z,Y,Q){let J=Array.isArray(Z)?Z[0]:Z,q=[];for(let X of Q){if(X.status==="U"){q.push(X.path);continue}let z=e.resolve(Y,X.path);if(!l(z))continue;let W=e.join(z,".git");if(!l(W)){if(X.status!=="-")try{if(l6(z).length>0)q.push(X.path)}catch{q.push(X.path)}continue}try{if((await k`${J} -C ${z} status --porcelain=v1 --untracked-files=normal`).stdout.trim().length>0)q.push(X.path)}catch{q.push(X.path)}}return q}async function g5(Z,Y,Q){let J=Array.isArray(Z)?Z[0]:Z,q=Q?.force!==!1,X=Q?.quiet!==!1,z=RO(Q?.paths),W=Q?.all===!0||z.length===0;if(await TJ()==="off"){let F=["-C",Y,"submodule"];if(X)F.push("--quiet");if(F.push("deinit"),q)F.push("--force");if(W)F.push("--all");else F.push("--",...z);await k`${J} ${F}`,await a4(Z,Y);return}let K=await R4(Z,Y),B=kJ(Y),$=new Set([...K.map((F)=>C4(F.path)),...Array.from(B.keys())]),V=W?null:new Set(z),D=Array.from($).filter((F)=>F&&TO(F,V));if(D.length===0)return;for(let F of D){if(!F)continue;let O=B.get(F),j=new Set([C4(F),C4(O?.name||"")]);for(let _ of j){if(!_)continue;try{await Fx(Z,Y,`submodule.${_}`)}catch{}}}for(let F of D){if(!F)continue;let O=e.resolve(Y,F);try{if(l(O))y6(O,{recursive:!0,force:!0});i0(O,{recursive:!0})}catch(j){M.debug(`Failed to clean submodule path '${O}'. ${u(j,{color:!0})}`,"git")}}try{let F=(await G0(J,Y,["--git-dir"])).trim(),O=F?e.isAbsolute(F)?F:e.resolve(Y,F):"",j=O?e.join(O,"modules"):"";if(j&&l(j))if(W)y6(j,{recursive:!0,force:!0});else for(let _ of D){let L=e.join(j,..._.split("/").filter(Boolean));if(l(L))y6(L,{recursive:!0,force:!0})}}catch(F){M.debug(`Failed to clean worktree submodule metadata. ${u(F,{color:!0})}`,"git")}if(!X)C(`Submodule deinit: ${D.length} path(s) (${D.join(", ")})`);await a4(Z,Y)}async function m5(Z,Y,Q){let J=Array.isArray(Z)?Z[0]:Z,q=Q?.recursive!==!1,X=Q?.force===!0,z=Q?.init!==!1,W=Q?.remote===!0,U=Q?.noFetch===!0,K=Q?.strategy||"checkout",B=Q?.quiet!==!1,$=Q?.allowFileProtocol!==!1,V=RO(Q?.paths),D=V.length>0?new Set(V):null;if(await TJ()==="off"){let L=["-C",Y,"submodule"];if(B)L.push("--quiet");if(L.push("update"),X)L.push("--force");if(z)L.push("--init");if(Q?.filter)L.push(`--filter=${Q.filter}`);if(W)L.push("--remote");if(U)L.push("--no-fetch");if(K==="merge")L.push("--merge");else if(K==="rebase")L.push("--rebase");else L.push("--checkout");if(Q?.recommendShallow===!0)L.push("--recommend-shallow");else if(Q?.recommendShallow===!1)L.push("--no-recommend-shallow");if(Q?.reference)L.push("--reference",Q.reference);if(q)L.push("--recursive");if(Q?.singleBranch===!0)L.push("--single-branch");else if(Q?.singleBranch===!1)L.push("--no-single-branch");if(V.length>0)L.push("--",...V);await k`${J} ${G8(L,$)}`,await a4(Z,Y);return}if(K!=="checkout"){let L=["-C",Y,"submodule"];if(B)L.push("--quiet");if(L.push("update"),X)L.push("--force");if(z)L.push("--init");if(Q?.filter)L.push(`--filter=${Q.filter}`);if(W)L.push("--remote");if(U)L.push("--no-fetch");if(K==="merge")L.push("--merge");else L.push("--rebase");if(Q?.recommendShallow===!0)L.push("--recommend-shallow");else if(Q?.recommendShallow===!1)L.push("--no-recommend-shallow");if(Q?.reference)L.push("--reference",Q.reference);if(q)L.push("--recursive");if(Q?.singleBranch===!0)L.push("--single-branch");else if(Q?.singleBranch===!1)L.push("--no-single-branch");if(V.length>0)L.push("--",...V);await k`${J} ${G8(L,$)}`,await a4(Z,Y);return}let O=await jx(J,Y);if(O.size===0){await a4(Z,Y);return}let j=kJ(Y),_=[];for(let[L,A]of O.entries()){let I=C4(L);if(!I||!A)continue;if(!TO(I,D))continue;let G=j.get(I);if(!G?.url)continue;let P=e.resolve(Y,I),T=e.join(P,".git"),S=l(T)?await f6(T).then((c)=>c.isDirectory()).catch(()=>!1):!1;if(!l(T)||S){if(!z)continue;await kO(J,Y,G.url,I,{allowFileProtocol:$,quiet:B,reference:Q?.reference,singleBranch:Q?.singleBranch,filter:Q?.filter,branch:W?G.branch:void 0})}let y=A;if(W){let c=G.branch?.trim()||"HEAD";if(!U){let h=["-C",P,"fetch"];if(B)h.push("--quiet");if(h.push("origin"),c!=="HEAD")h.push(c);await k`${J} ${G8(h,$)}`}let v=c==="HEAD"?"origin/HEAD":`origin/${c}`,J0=(await G0(J,P,v)).trim();if(!J0)throw Error(`Unable to resolve remote ref '${v}' for submodule '${I}'.`);y=J0}if(!(await G0(J,P,["-q","--verify",`${y}^{commit}`])).trim()){if(U)throw Error(`Missing commit '${y}' for submodule '${I}' and --no-fetch is set.`);let c=G8(["-C",P,"fetch",...B?["--quiet"]:[],"origin",y],$);await k`${J} ${c}`}let x=["-C",P,"checkout"];if(X)x.push("--force");else if(B)x.push("--quiet");if(x.push("--detach",y),await k`${J} ${x}`,_.push(`${I}@${y}`),q)await m5(Z,P,{...Q,paths:void 0})}if(_.length>0&&!B)C(`Submodule update: ${_.length} path(s) (${_.join(", ")})`);await a4(Z,Y)}async function xO(Z,Y){await m5(Z,Y,{recursive:!0})}function bO(Z){let Y=Ix(Z);if(!Y)return!1;return Y.includes("the previous cherry-pick is now empty")||Y.includes("the previous cherry-pick is empty")||Y.includes("previous cherry-pick is now empty")||Y.includes("previous cherry-pick is empty")||Y.includes("cherry-pick is now empty")||Y.includes("cherry-pick is empty")||Y.includes("the patch is empty")||Y.includes("patch is empty")}function Ix(Z){if(!Z)return"";if(typeof Z==="string")return d8(Z).toLowerCase();let Y=Z,Q=[Y?.stderr,Y?.stdout,Y?.message].map((q)=>Lx(q)).filter((q)=>q.length>0);if(Q.length===0)return"";let J=Q.join(`
392
+ `);return d8(J).toLowerCase()}function Lx(Z){if(!Z)return"";if(typeof Z==="string")return Z;if(Z instanceof Uint8Array)return new TextDecoder().decode(Z);return String(Z)}async function p5(Z,Y){try{return(await k`${Z} -C ${Y} diff --name-only --diff-filter=U`).stdout.split(`
393
+ `).map((J)=>J.trim()).filter((J)=>J.length>0)}catch{return[]}}async function vO(Z,Y){let Q=await p5(Z,Y);if(Q.length===0)return;await E0`${Z} -C ${Y} add -A -- ${Q}`}async function SO(Z,Y){if((await p5(Z,Y)).length>0)return!1;try{if((await k`${Z} -C ${Y} diff --cached --name-only`).stdout.trim().length>0)return!1}catch{return!1}return!0}async function EJ(Z){let{gitExec:Y,repoPath:Q,range:J,maxCount:q,formatTemplate:X,excludeRefs:z}=Z,W="";try{let V=["-C",Q,"log",`--pretty=format:${X||"%h %s"}`,J],D=z?.filter((F)=>F&&F.trim().length>0)??[];if(D.length>0)V.push("--not",...D);W=(await k`${Y} ${V}`).stdout.trim()}catch{W=""}let U=W.split(`
394
+ `).map((V)=>V.trim()).filter((V)=>V.length>0),K=U.length;if(K===0)return{commits:[],totalCount:0,moreCount:0};let B=q&&q>0?U.slice(0,q):U,$=Math.max(K-B.length,0);return{commits:B,totalCount:K,moreCount:$}}async function PJ(Z,Y,Q,J){let q=await I0(),X=`${Z}|${e.resolve(Y)}|${Q}|${J}`,z=A6("git.submoduleBaseSha",X),W=await q.get(z);if(W!==void 0)return W;try{let U=(await k`${Z} -C ${Y} ls-tree ${Q} -- ${J}`).stdout.trim();if(!U)return await q.set(z,null),null;let B=U.match(/^160000\s+commit\s+([0-9a-f]{7,40})\s+/i)?.[1]??null;return await q.set(z,B),B}catch{return await q.set(z,null),null}}function u5(){if(Q6.supportsColor<=0)return[];return["-c","color.ui=always"]}async function T4(Z,Y,Q=0){for(let J=Q;J<Z.length;J++){let q=/^(head|origin)?~(\d+)?$/i.exec(Z[J]);if(!q)continue;let X=0;if(q[2]){if(X=parseInt(q[2],10),isNaN(X)||X<0)return M.error(`Invalid relative ref format: ${Z[J]}`,"reset"),{error:new o(`Invalid relative ref format: ${Z[J]}`)}}try{if(q[1]?.toLowerCase()==="origin"){let z=await GJ(Y);if(!z)return M.error("No upstream configured for current branch.","reset"),{error:new o("No upstream configured for current branch.")};Z[J]=`${z}~${X}`;break}else Z[J]=`HEAD~${X}`}catch(z){return M.error(`Failed to expand relative ref: ${o.from(z)}`,"reset"),{error:o.from(z)}}}return{value:void 0}}function jJ(Z,Y){let Q=Y.replace(/^[/:]+/,"");if(Q=Q.replace(/\.git$/i,""),Q=Q.replace(/\/+$/,""),Z)return`${Z}/${Q}`;return Q}async function yO(Z,Y){for(let Q=1;Q<Z.length;Q++){let J=/^((?:head|origin)?~\d*):(.+)$/i.exec(Z[Q]);if(!J)continue;let q=Z.slice(Q,Q+1);q[0]=J[1];let{error:X}=await T4(q,Y);if(X)return{error:o.from(X)};Z[Q]=`${q[0]}:${J[2]}`}return{}}var _J,_O=360,OJ=360,sP=12,DJ,NO,aP,h1;var e0=N(()=>{z0();W4();$6();J6();v0();w0();R0();m0();_J=RX(jO(),1),DJ=new Map,NO=new Map,aP=new Set(["--git-path"]),h1=new Map});function d5(Z){return Z>=9&&Z<=13||Z===32||Z===160||Z===5760||Z>=8192&&Z<=8202||Z===8232||Z===8233||Z===8239||Z===8287||Z===12288||Z===65279}function wx(Z,Y,Q){if(typeof Z==="string")return{input:Z};let J=Y.map((W)=>String(W)),q=Q.preserveTemplateIndent!==!1,X=[],z="";for(let W=0;W<Z.length;W++)if(z+=Z[W],W<J.length){let U=J[W],K=z.length;if(z+=U,q&&U.includes(`
395
+ `))X.push(K,K+U.length)}return{input:z,skipRanges:X.length===0?void 0:X}}function Ax(Z,Y){let Q=0,J=Z.length,q=0,X=-1;while(q<Z.length&&d5(Z.charCodeAt(q))){if(Z.charCodeAt(q)===10)X=q;q++}if(X!==-1)Q=X+1;q=Z.length-1;let z=-1;while(q>=0&&d5(Z.charCodeAt(q))){if(Z.charCodeAt(q)===10){z=q;break}q--}if(z!==-1)J=z;if(Q>=J)return{input:""};let W=Z.slice(Q,J);if(Y===void 0||Y.length===0)return{input:W};let U=[];for(let K=0;K<Y.length;K+=2){let B=Y[K],$=Y[K+1];if($<=Q||B>=J)continue;U.push(Math.max(B,Q)-Q,Math.min($,J)-Q)}return{input:W,skipRanges:U.length===0?void 0:U}}function Gx(Z){let Y=-1;for(let J=0;J<Z.length;J++)if(!d5(Z.charCodeAt(J))){Y=J;break}if(Y===-1)return 0;let Q=Z.lastIndexOf(`
396
+ `,Y-1)+1;return Y-Q}function Cx(Z,Y,Q,J){if(Y<=0||Z.length===0)return Z;let q=[],X=Z.length,z=0,W=(K)=>{if(J===void 0||J.length===0)return!1;while(z<J.length&&K>=J[z+1])z+=2;return z<J.length&&K>=J[z]},U=0;while(U<=X){let K=Z.indexOf(`
397
+ `,U);if(K===-1)K=X;let B=U,$=0;while(B<K&&$<Y){if(W(B)||!d5(Z.charCodeAt(B)))break;B++,$++}let D=Q==="strict"&&$!==Y?U:B;if(q.push(Z.slice(D,K)),K===X)break;U=K+1}return q.join(`
398
+ `)}function Rx(Z,Y,Q){let J=Y.trimWhitespace===!1?{input:Z,skipRanges:Q}:Ax(Z,Q),q=Gx(J.input),X=Y.dedentMode??"greedy";return Cx(J.input,q,X,J.skipRanges)}function fO(Z){let Y=(Q,...J)=>{let{input:q,skipRanges:X}=wx(Q,J,Z);return Rx(q,Z,X)};return Y.withOptions=(Q)=>{return fO({...Z,...Q})},Y}var Tx,Z0;var s0=N(()=>{Tx=fO({}),Z0=Tx});import hO from"path";import u1 from"fs";import kx from"crypto";async function Ex(Z){try{let Y=await F6(Z),Q=xx(Y);if(!Q)return M.error("No stash drop to pardon.","stash"),1;C(H.cyan+`Restoring ${Q.entries.length} dropped stash(es)...`+H.reset);for(let J of Q.entries)await LO(Z,J.sha,J.message),C(H.green+` + Restored: ${J.message}`+H.reset);return 0}catch(Y){return M.error("Error pardoning stash: "+Y,"stash"),1}}async function gO(Z,Y,Q){let[J,q]=Y[2].split("..").map((z)=>parseInt(z,10));if(isNaN(J)||isNaN(q)||J>q)return M.error(`Invalid stash range: ${Y[2]}`,"stash"),1;let X=[];try{let z=await F6(Z),W=[];for(let U=q;U>=J;U--)W.push(NJ(Z,U));if(X=(await Promise.all(W)).filter((U)=>U!=null),X.length>0)dO(z,{timestamp:Date.now(),entries:X,type:"range"},Q)}catch(z){let W=o.from(z);M.warn(`Could not capture stash entry for undo. (${W.name})`,"stash"),M.debug(W.toString(),"stash")}C(H.cyan+`Dropping stashes from ${H.bright+J+H.reset+H.cyan} to ${H.bright+q+H.reset+H.cyan} (inclusive)`+H.reset);for(let z=q;z>=J;z--)await E0`${Z} stash drop stash@{${z}}`;return 0}async function Px(Z,Y){if(Y[2]==="pardon")return await Ex(Z);let J=(await K0()).get("stash.undoLimit")??10;if(Y[2]&&/\d+\.\.\d+$/.test(Y[2]))return await gO(Z,Y,J);let q=0,X=Y.slice(2).filter((z)=>!z.startsWith("-"));if(X.length>0)if(X[0].includes(".."));else{let z=X[0].match(/stash@\{(\d+)\}/)||X[0].match(/^(\d+)$/);if(z)q=parseInt(z[1],10)}try{let z=await NJ(Z,q);if(z){let W=await F6(Z);dO(W,{timestamp:Date.now(),entries:[z],type:"single"},J)}}catch(z){M.warn(`Could not capture stash entry for undo. (${o.from(z).name})`,"stash")}try{return await E0`${Z} ${Y}`,0}catch{return 1}}function mO(Z){let Y=kx.createHash("sha256").update(Z).digest("hex"),Q=hO.join(K6,"gdx","stash-undo");if(!u1.existsSync(Q))u1.mkdirSync(Q,{recursive:!0});return hO.join(Q,`${Y}.json`)}function pO(Z){let Y=mO(Z);if(!u1.existsSync(Y))return[];try{let Q=u1.readFileSync(Y,"utf-8");return JSON.parse(Q)}catch{return[]}}function uO(Z,Y){let Q=mO(Z);u1.writeFileSync(Q,JSON.stringify(Y,null,2))}function dO(Z,Y,Q=10){let J=pO(Z);if(J.push(Y),J.length>Q)J.splice(0,J.length-Q);uO(Z,J)}function xx(Z){let Y=pO(Z);if(Y.length===0)return null;let Q=Y.pop()||null;return uO(Z,Y),Q}var cO,lO,nO;var c5=N(()=>{z0();m0();R0();H0();H0();v0();e0();$6();w0();S0();s0();cO={dropRange:gO,drop:Px},lO={long:()=>{return t(Z0`
399
399
  ${H.bright+d("STASH DROP",E.Zinc400,E.Zinc100,0.2)+H.reset}
400
400
  Remove a stash entry or a range of stash entries.
401
401
 
402
402
  ${H.bright+d("DESCRIPTION",E.Zinc400,E.Zinc100,0.2)+H.reset}
403
403
  Accepts a single stash index, a range like <start>..<end>, or defaults to the latest stash.
404
404
  Includes safety features:
405
- - **Undoable**: You can restore the last dropped stash(es) with \`${H.cyan}${C} stash drop pardon${H.reset}\`.
405
+ - **Undoable**: You can restore the last dropped stash(es) with \`${H.cyan}${R} stash drop pardon${H.reset}\`.
406
406
 
407
407
  ${H.bright+d("COMMANDS",E.Zinc400,E.Zinc100,0.2)+H.reset}
408
408
  - \`${H.cyan}drop <index>${H.reset}\`: Drop specific stash.
@@ -412,23 +412,23 @@ Arch: ${process.arch}
412
412
  ${H.bright+d("SAFETY",E.Zinc400,E.Zinc100,0.2)+H.reset}
413
413
  Dropped stashes are backed up temporarily. Use \`${H.cyan}pardon${H.reset}\` to bring them back.
414
414
  `,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})},short:"Extends git stash with ability to drop entries and undo support (e.g. 0..3, pardon).",usage:()=>{return t(Z0`
415
- ${H.cyan}${C} stash drop ${H.dim}[<stash> | <range> | pardon]${H.reset}
415
+ ${H.cyan}${R} stash drop ${H.dim}[<stash> | <range> | pardon]${H.reset}
416
416
 
417
417
  Examples:
418
- ${H.cyan}${C} stash drop 0..0 ${H.reset+H.dim}# Drop the most recent stash${H.reset}
419
- ${H.cyan}${C} stash drop pardon ${H.reset+H.dim}# Restore last dropped stash${H.reset}
420
- ${H.cyan}${C} stash l ${H.reset+H.dim}# Show stash list (alias for ${C} stash list).${H.reset}
421
- ${H.cyan}${C} stash d 3 ${H.reset+H.dim}# Drop stash@{3}.${H.reset}
422
- ${H.cyan}${C} stash d 2..5 ${H.reset+H.dim}# Drop stash@{5}, stash@{4}, stash@{3}, stash@{2} (safe ordering).${H.reset}
423
- ${H.cyan}${C} stash p 1 ${H.reset+H.dim}# Pop stash@{1}.${H.reset}
424
- ${H.cyan}${C} stash c ${H.reset+H.dim}# Clear all stashes (maps to ${C} stash clear — destructive).${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},SO={$root:["pardon"]}});function OP(Z){let Y=Z.getFullYear(),Q=String(Z.getMonth()+1).padStart(2,"0"),J=String(Z.getDate()).padStart(2,"0");return`${Y}-${Q}-${J}`}async function m1(Z){let{git$:Y,args:Q}=Z,J=!!Q.popOption("--all")||!!Q.popOption("-a"),q="";if(!J){if(q=Q.popValue("--email")||await s8(Y,"user.email"),q=q?q.trim().replace(/^["']|["']$/g,""):q,!q)return M.error('User email not configured. Please set it using "git config user.email <email>" or provide it with --email option.',"graph"),1}if(!Q.includes("--quiet"))R(J?H.cyan+"Generating commit graph for all authors"+H.reset:H.cyan+"Generating commit graph for user: "+H.yellow+q+H.reset);let z=p.terminalWidth-yO-fO,W=Math.min(Math.floor(z/u5),52),U=w6(E.OceanDeepBlue,E.MidnightBlack,0.86),K=w6(E.OceanDeepBlue,E.MidnightBlack,0.76);if(z<hO)return M.error(`Terminal width too small for graph display. Minimum required width is ${hO+yO+fO} columns.`,"graph"),1;let B=new Date;B.setHours(0,0,0,0);let $=new Date(B),F=$.getDay();$.setDate($.getDate()-F),$.setDate($.getDate()-W*7);let O=(J?await k`
418
+ ${H.cyan}${R} stash drop 0..0 ${H.reset+H.dim}# Drop the most recent stash${H.reset}
419
+ ${H.cyan}${R} stash drop pardon ${H.reset+H.dim}# Restore last dropped stash${H.reset}
420
+ ${H.cyan}${R} stash l ${H.reset+H.dim}# Show stash list (alias for ${R} stash list).${H.reset}
421
+ ${H.cyan}${R} stash d 3 ${H.reset+H.dim}# Drop stash@{3}.${H.reset}
422
+ ${H.cyan}${R} stash d 2..5 ${H.reset+H.dim}# Drop stash@{5}, stash@{4}, stash@{3}, stash@{2} (safe ordering).${H.reset}
423
+ ${H.cyan}${R} stash p 1 ${H.reset+H.dim}# Pop stash@{1}.${H.reset}
424
+ ${H.cyan}${R} stash c ${H.reset+H.dim}# Clear all stashes (maps to ${R} stash clear — destructive).${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},nO={$root:["pardon"]}});function bx(Z){let Y=Z.getFullYear(),Q=String(Z.getMonth()+1).padStart(2,"0"),J=String(Z.getDate()).padStart(2,"0");return`${Y}-${Q}-${J}`}async function d1(Z){let{git$:Y,args:Q}=Z,J=!!Q.popOption("--all")||!!Q.popOption("-a"),q="";if(!J){if(q=Q.popValue("--email")||await t4(Y,"user.email"),q=q?q.trim().replace(/^["']|["']$/g,""):q,!q)return M.error('User email not configured. Please set it using "git config user.email <email>" or provide it with --email option.',"graph"),1}if(!Q.includes("--quiet"))C(J?H.cyan+"Generating commit graph for all authors"+H.reset:H.cyan+"Generating commit graph for user: "+H.yellow+q+H.reset);let z=p.terminalWidth-oO-iO,W=Math.min(Math.floor(z/l5),52),U=O6(E.OceanDeepBlue,E.MidnightBlack,0.86),K=O6(E.OceanDeepBlue,E.MidnightBlack,0.76);if(z<sO)return M.error(`Terminal width too small for graph display. Minimum required width is ${sO+oO+iO} columns.`,"graph"),1;let B=new Date;B.setHours(0,0,0,0);let $=new Date(B),V=$.getDay();$.setDate($.getDate()-V),$.setDate($.getDate()-W*7);let D=(J?await k`
425
425
  ${Y} --no-pager log --all --since=${$.toISOString()} --date=short --format=%ad
426
426
  `:await k`
427
427
  ${Y} --no-pager log --all --author=${q} --since=${$.toISOString()} --date=short --format=%ad
428
- `).stdout.trim(),V={};for(let I of O.split(`
429
- `)){let A=I.trim();if(A)V[A]=(V[A]||0)+1}let D=1;for(let I of Object.values(V))if(I>D)D=I;R(`
430
- `+H.bright+d("Contribution Graph",E.OceanDeepBlue,E.OceanGreen,0.12,0.83)+` (Max: ${D} commits/day)
431
- `);let _=" ",N=0,w=-1;for(let I=0;I<=W;I++){let A=new Date($);A.setDate(A.getDate()+I*7);let x=I*u5;if(A.getMonth()!==w&&x>=N){_+=" ".repeat(x-N);let T=A.toLocaleString("default",{month:"short"});_+=T.padEnd(u5*3," "),N=x+u5*3,w=A.getMonth()}}R(H.bright+_+H.reset);let G=[" ","Mon"," ","Wed"," ","Fri"," "];for(let I=0;I<7;I++){let A=H.bright+G[I]+H.reset+" ";for(let x=0;x<=W;x++){let T=new Date($);if(T.setDate(T.getDate()+x*7+I),T>B){A+=" ";continue}let S=OP(T),y=V[S]||0,g,P="■";if(y===0)g=H.dim+M0(v8(K)),P="▨";else{let c=Z6.clamp(y/D,0.15,1),v=$z(U,E.OceanGreen,c);g=M0(v8(v))}A+=g+P+H.reset+" "}R(" "+A)}return R(""),0}var yO=6,u5=2,fO=4,hO=12,gO,mO;var p1=j(()=>{g0();R0();z0();b0();H0();w0();v0();X6();o0();gO={long:()=>{return t(Z0`
428
+ `).stdout.trim(),F={};for(let I of D.split(`
429
+ `)){let G=I.trim();if(G)F[G]=(F[G]||0)+1}let O=1;for(let I of Object.values(F))if(I>O)O=I;C(`
430
+ `+H.bright+d("Contribution Graph",E.OceanDeepBlue,E.OceanGreen,0.12,0.83)+` (Max: ${O} commits/day)
431
+ `);let j=" ",_=0,L=-1;for(let I=0;I<=W;I++){let G=new Date($);G.setDate(G.getDate()+I*7);let P=I*l5;if(G.getMonth()!==L&&P>=_){j+=" ".repeat(P-_);let T=G.toLocaleString("default",{month:"short"});j+=T.padEnd(l5*3," "),_=P+l5*3,L=G.getMonth()}}C(H.bright+j+H.reset);let A=[" ","Mon"," ","Wed"," ","Fri"," "];for(let I=0;I<7;I++){let G=H.bright+A[I]+H.reset+" ";for(let P=0;P<=W;P++){let T=new Date($);if(T.setDate(T.getDate()+P*7+I),T>B){G+=" ";continue}let S=bx(T),y=F[S]||0,g,x="■";if(y===0)g=H.dim+M0(y4(K)),x="▨";else{let c=o0.clamp(y/O,0.15,1),v=wz(U,E.OceanGreen,c);g=M0(y4(v))}G+=g+x+H.reset+" "}C(" "+G)}return C(""),0}var oO=6,l5=2,iO=4,sO=12,aO,rO;var c1=N(()=>{m0();R0();z0();v0();H0();w0();S0();e0();s0();aO={long:()=>{return t(Z0`
432
432
  ${H.bright+d("GRAPH",E.Zinc400,E.Zinc100,0.2)+H.reset}
433
433
  Render a calendar-style contribution graph for a repository author or the whole repository.
434
434
 
@@ -441,33 +441,33 @@ Arch: ${process.arch}
441
441
  ${H.bright+d("TERMINAL NOTES",E.Zinc400,E.Zinc100,0.2)+H.reset}
442
442
  The graph respects \`${H.cyan}global.terminalWidth${H.reset}\`. If the terminal is too narrow the command will bail with an error message.
443
443
  `,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})},short:"Render a calendar-style contribution graph for an author or all authors.",usage:()=>{return t(Z0`
444
- ${H.cyan}${C} graph ${H.dim}[--email <email>] [--all|-a] [--quiet]${H.reset}
444
+ ${H.cyan}${R} graph ${H.dim}[--email <email>] [--all|-a] [--quiet]${H.reset}
445
445
 
446
446
  Examples:
447
- ${H.cyan}${C} graph ${H.reset+H.dim}# Graph for configured git user${H.reset}
448
- ${H.cyan}${C} graph --email bob@example.com ${H.reset+H.dim}# Graph for specified author${H.reset}
449
- ${H.cyan}${C} graph --all ${H.reset+H.dim}# Graph for all authors${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},mO={$root:["--email","--all","-a","--quiet"]}});function pO(Z,Y){if(!Number.isFinite(Z))return 0;let Q=Math.trunc(Z);if(Q<0){let J=Y+Q;return J<0?0:J}return Q}function uO(Z,Y){if(Z==null)return!1;if(Y.includes(u1))return Z===Y;return Z===Y||Z.startsWith(Y+u1)}function d5(Z){let Y=Z.indexOf(u1);return Y===-1?Z:Z.slice(0,Y)}function A3(Z,Y){let Q=0,J=Z.length;while(Q<J){let q=Q+J>>>1;if(Z[q]<Y)Q=q+1;else J=q}return Q}function NP(Z,Y){if(!Number.isFinite(Z))return 0;if(Z<0){let Q=Y+Z;return Q<0?0:Q}return Z>Y?Y:Z}function dO(Z){if(Z==="--")return!1;if(Z==="-"||!Z.startsWith("-"))return!0;return/^-\d+(\.\d+)?$/.test(Z)}function IP(Z,Y){let Q=Z[Y];if(_P.includes(Q))return{consumed:1,gitArgs:[Q]};for(let J of jP){if(Q===J){if(Y+1>=Z.length)return null;let q=Z[Y+1];if(q==="--")return null;return{consumed:2,gitArgs:[J,q]}}if(Q.startsWith(J+"="))return{consumed:1,gitArgs:[J,Q.slice(J.length+1)]};if(!J.startsWith("--")&&Q.startsWith(J)&&Q.length>J.length)return{consumed:1,gitArgs:[J,Q.slice(J.length)]}}return null}function c5(Z,Y){if(Z[0]&&!Z[0].startsWith("-"))return{args:Z,gitArgs:[],cursorIndex:Y,cursorInGitGlobal:!1};let Q=new Set,J=[],q=0;while(q<Z.length){let W=Z[q];if(W==="--")break;let U=IP(Z,q);if(U){let K=q,B=q+U.consumed-1;if(Y!=null&&Y>=K&&Y<=B)return{args:Z,gitArgs:[],cursorIndex:Y,cursorInGitGlobal:!0};if(Y==null||B<Y){J.push(...U.gitArgs);for(let $=K;$<=B;$++)Q.add($)}q+=U.consumed;continue}if(DP.includes(W)){if(q+1>=Z.length)break;q+=2;continue}if(MP.includes(W)){q+=1;continue}if(W.startsWith("-")){q+=1;continue}break}if(Q.size===0)return{args:Z,gitArgs:J,cursorIndex:Y,cursorInGitGlobal:!1};let X=Z.filter((W,U)=>!Q.has(U)),z=Y;if(Y!=null){let W=0;for(let U of Q)if(U<Y)W+=1;if(z=Math.max(0,Y-W),X.length>0&&z>=X.length)z=X.length-1}return{args:X,gitArgs:J,cursorIndex:z,cursorInGitGlobal:!1}}function cO(Z){let Y=Z.indexOf("=");if(Y!==-1)return Z.substring(Y+1);return null}function G3(Z){return new R8(Z)}var DP,MP,jP,_P,u1="=",R8;var wZ=j(()=>{H0();z0();v0();DP=[...eX],MP=[...Zz],jP=[...Yz],_P=[...Qz];R8=class R8 extends Array{argIndexes=new Map;indexedLength=-1;indexesDirty=!0;constructor(Z){if(Array.isArray(Z))super(...Z);else super(Z);this.reindex()}optionIndexOf(Z,Y=0){let Q=pO(Y,this.length),J=-1;if(p.indexArgs)this.ensureIndexes(),J=this.argIndexes.get("--")?.[0]??-1;else J=super.indexOf("--");if(J!==-1&&J<Q)return-1;let q=J===-1?this.length:J,X=d5(Z);if(p.indexArgs&&X.startsWith("-")){let z=this.argIndexes.get(X);if(z&&z.length>0){let W=0;if(z.length===1){let U=z[0];if(U<Q||U>=q)W=1}else W=A3(z,Q);while(W<z.length){let U=z[W];if(U>=q)break;if(uO(this[U],Z))return U;W+=1}}}for(let z=Q;z<q;z++)if(uO(this[z],Z)){if(p.indexArgs&&X.startsWith("-"))this.reindex();return z}return-1}delete(Z){let Y=this.optionIndexOf(Z);if(Y!==-1)return this.splice(Y,1),!0;return!1}popValue(Z,Y=0,Q=!1){let J=this.optionIndexOf(Z,Y);if(J!==-1){let q=null,X=this[J];if(X.includes(u1))q=cO(X),this.splice(J,1);else if(!Q&&J+1<this.length&&dO(this[J+1]))q=this[J+1],this.splice(J,2);else this.splice(J,1);return q}return null}popAssertValue(Z,Y=0,Q=!1){let J=this.optionIndexOf(Z,Y);if(J!==-1){let q=null,X=this[J];if(X.includes(u1))q=cO(X),this.splice(J,1);else if(!Q&&J+1<this.length&&dO(this[J+1]))q=this[J+1],this.splice(J,2);else throw new o(`Options "${this[J]}" requires a value, but none was provided.`,"MISSING_OPTION_VALUE");return q}return null}popOption(Z,Y=0){let Q=this.optionIndexOf(Z,Y);if(Q!==-1)return this.splice(Q,1)[0];return null}spliceOption(Z,Y,Q=0){let J=this.optionIndexOf(Z,Q);if(J!==-1)return this.splice(J,1,...Y),!0;return!1}hasOption(Z,Y=0){return this.optionIndexOf(Z,Y)!==-1}slice(Z,Y){return new R8(super.slice(Z,Y))}toArray(){return super.slice(0)}splice(Z,Y,...Q){let J=this.length,q=arguments.length===1?super.splice(Z):super.splice(Z,Y,...Q);if(!p.indexArgs)return q;if(this.indexesDirty||this.indexedLength!==J)return this.reindex(),q;let X=NP(Z,J);return this.updateIndexesAfterSplice(X,q.length,Q),q}indexOf(Z,Y=0){if(!p.indexArgs||!Z.startsWith("-"))return super.indexOf(Z,Y);this.ensureIndexes();let Q=pO(Y,this.length);if(Q>=this.length)return-1;let J=this.argIndexes.get(d5(Z));if(J&&J.length>0){let X=0;if(J.length===1){if(J[0]<Q)X=1}else X=A3(J,Q);while(X<J.length){let z=J[X];if(this[z]===Z)return z;X+=1}}let q=super.indexOf(Z,Q);if(q!==-1)this.reindex();return q}push(...Z){let Y=this.length,Q=super.push(...Z);if(!p.indexArgs)return Q;if(this.indexesDirty||this.indexedLength!==Y)return this.reindex(),Q;return this.updateIndexesAfterSplice(Y,0,Z),Q}pop(){if(this.length===0)return;let Z=this.length,Y=super.pop();if(!p.indexArgs)return Y;if(this.indexesDirty||this.indexedLength!==Z)return this.reindex(),Y;return this.updateIndexesAfterSplice(Z-1,1,[]),Y}shift(){if(this.length===0)return;let Z=this.length,Y=super.shift();if(!p.indexArgs)return Y;if(this.indexesDirty||this.indexedLength!==Z)return this.reindex(),Y;return this.updateIndexesAfterSplice(0,1,[]),Y}unshift(...Z){let Y=this.length,Q=super.unshift(...Z);if(!p.indexArgs)return Q;if(this.indexesDirty||this.indexedLength!==Y)return this.reindex(),Q;return this.updateIndexesAfterSplice(0,0,Z),Q}reverse(){return super.reverse(),this.reindex(),this}sort(Z){return super.sort(Z),this.reindex(),this}fill(Z,Y,Q){return super.fill(Z,Y,Q),this.reindex(),this}copyWithin(Z,Y,Q){return super.copyWithin(Z,Y,Q),this.reindex(),this}invalidateIndexes(){this.argIndexes.clear(),this.indexedLength=-1,this.indexesDirty=!0}ensureIndexes(){if(!p.indexArgs)return;if(this.indexesDirty||this.indexedLength!==this.length)this.reindex()}updateIndexesAfterSplice(Z,Y,Q){let J=Z+Y,q=Q.length-Y;for(let[X,z]of this.argIndexes){if(z.length===1){let U=z[0];if(U>=Z&&U<J){this.argIndexes.delete(X);continue}if(U>=J)z[0]=U+q;continue}let W=0;for(let U of z){if(U<Z){z[W]=U,W+=1;continue}if(U>=J)z[W]=U+q,W+=1}if(W===0)this.argIndexes.delete(X);else z.length=W}for(let X=0;X<Q.length;X++){let z=Q[X];if(!z.startsWith("-"))continue;let W=d5(z),U=Z+X,K=this.argIndexes.get(W);if(!K){this.argIndexes.set(W,[U]);continue}if(K.length===1){if(U<=K[0])K.unshift(U);else K.push(U);continue}let B=K[K.length-1];if(U>=B){K.push(U);continue}let $=A3(K,U);K.splice($,0,U)}this.indexedLength=this.length,this.indexesDirty=!1}reindex(){if(!p.indexArgs)return;this.argIndexes.clear();for(let Z=0;Z<this.length;Z++){let Y=this[Z];if(Y===void 0)continue;if(!Y.startsWith("-"))continue;let Q=d5(Y),J=this.argIndexes.get(Q);if(J)J.push(Z);else this.argIndexes.set(Q,[Z])}this.indexedLength=this.length,this.indexesDirty=!1}}});import lO from"path";async function oO(Z){let Y=!!Z?.forceRefresh,Q=Z?.spinner,J=await I0(),q=await J.get(J2),X=TP(q);if(X&&!Y&&!GP(X.lastUpdatedAt))return C3(X);if(!X&&!Y&&Date.now()-nO<LP)return null;try{if(Q)Q.setMessage("Updating language catalog...");let z=await AP(),W=await kP(),U=wP(z,W);return await J.set(J2,U,{maxAgeMinutes:1/0}),C3(U)}catch(z){return nO=Date.now(),M.warn(`Failed to refresh language catalog: ${o.from(z).message}`,"languages"),X?C3(X):null}}function iO(Z,Y){let Q=lO.extname(Y).toLowerCase(),J=lO.basename(Y),q=Z.languages.find((X)=>X.filenames?.includes(J));if(q)return q;if(!Q)return null;return Z.byExtension.get(Q)||null}function wP(Z,Y){let Q=Y.parse(Z),J=[];for(let[q,X]of Object.entries(Q||{})){if(!X||typeof X!=="object")continue;let z=X,W=CP(z.extensions);if(!z.color)continue;if(z.type==="data"&&!q2.includes(z.language_id))continue;if(W.length===0)continue;let U=RP(z.color)??R3;J.push({name:q,extensions:W,color:U,filenames:Array.isArray(z.filenames)?z.filenames.filter((K)=>typeof K==="string"):[],id:z.language_id})}return J=sO(J),J.sort((q,X)=>q.name.localeCompare(X.name)),{lastUpdatedAt:new Date().toISOString(),languages:J}}async function AP(){let Z=new AbortController,Y=setTimeout(()=>Z.abort(),Xz);try{let Q=await fetch(Jz,{signal:Z.signal});if(!Q.ok)throw Error(`HTTP ${Q.status} ${Q.statusText}`);return await Q.text()}finally{clearTimeout(Y)}}function C3(Z){let Y=sO(Z.languages),Q=new Map;for(let J of Y)for(let q of J.extensions)if(!Q.has(q))Q.set(q,J);return{lastUpdatedAt:Z.lastUpdatedAt,languages:Y,byExtension:Q}}function sO(Z){let Y=new Map;for(let J of Z)for(let q of J.extensions)Y.set(q,(Y.get(q)||0)+1);let Q=[];for(let J of Z){if(J.id!==void 0&&q2.includes(J.id)){Q.push(J);continue}let q=J.extensions.filter((X)=>(Y.get(X)||0)===1);if(q.length===0)continue;Q.push({...J,extensions:q})}return Q}function GP(Z){let Y=Date.parse(Z);if(!Number.isFinite(Y))return!0;return Date.now()-Y>=qz}function CP(Z){if(!Array.isArray(Z))return[];let Y=new Set;for(let Q of Z){if(typeof Q!=="string")continue;let J=Q.trim().toLowerCase();if(!J.startsWith("."))continue;if(J.length<=1)continue;Y.add(J)}return Array.from(Y)}function RP(Z){if(typeof Z!=="string")return null;let Y=Z.trim(),Q=Y.match(/^#?([\da-fA-F]{6})$/);if(Q)return parseInt(Q[1],16);let J=Y.match(/^#?([\da-fA-F]{3})$/);if(J){let q=J[1].split("").map((X)=>X+X).join("");return parseInt(q,16)}return null}function TP(Z){try{return _Z(tV,Z)}catch{return null}}async function kP(){if(l5)return l5;try{return l5=await import("yaml"),l5}catch(Z){throw M.error(`Failed to load YAML parser for language catalog: ${o.from(Z).message}`,"languages"),Error("YAML parser unavailable")}}var LP=600000,R3=16777215,nO=0,l5=null;var aO=j(()=>{z0();z8();L5();H0();w0();w8()});function AZ(Z,Y=1,Q=!1){if(Z<1024)return`${Z}B`;return L6(Z,Y,1024,Q)+"iB"}var rO=j(()=>{z0()});import*as T3 from"path";async function k3(Z){let Y=A5(),Q=Y.$,{args:J,git$:q}=Z;if(!await i8(q))return 1;let X=J.hasOption("--all")||J.hasOption("-a");J.popOption("--all"),J.popOption("-a");let z=J.hasOption("--lang-metric"),W=J.popValue("--lang-metric"),U=hP(W,z);if(!U)return M.error("Invalid --lang-metric value. Use one of: auto, net, activity (for example: --lang-metric auto).","stats"),1;let K=gP(U,X),B="",$="Your",F="";if(!X){try{let V=J.popValue("--author");if(V)B=V.trim().replace(/^["']|["']$/g,"");else B=await s8(q,"user.email"),B=B?B.trim().replace(/^["']|["']$/g,""):B}catch(V){return Y.abort(),M.error("Failed to read git config user.email.","stats"),M.error(u(V,{color:!0}),"stats"),1}if(!B)return M.error("No user.email configured in git.","stats"),1;F=B}else $="Project-wide",F="all authors";let O=x0({message:X?"Gathering project-wide stats...":`Gathering stats for ${B}...`});try{let V=Q`${q} rev-list --all --count`,D=Q`${q} fsck --unreachable --no-reflogs --no-progress --full`,_=X?Q`${q} cat-file --batch-all-objects --batch-check=%(objectname):%(objectsize)`:Promise.resolve({stdout:""}),N=Q`${q} log --all --pretty=tformat: --numstat`,w=`%ar ${H.reset+H.dim}[at %h] (on %ad)`+H.reset,G=`%ar ${H.reset+H.dim}[at %h] (on %ad)`+H.reset,I=X?Q`${q} log --all --format=%aN%x09%ae --numstat`:Promise.resolve({stdout:""}),A=X?Promise.resolve({stdout:""}):Q`${q} log --all --author=${B} -1 --format=%aN`,x=(await F6(q)).trim(),[T,S,y,g,P,c,v,J0,h,s,m,n,a,r]=await Promise.all([X?V:Q`${q} rev-list --all --count --author=${B}`,V,D,X?Q`${q} log --all --since=midnight --pretty=tformat:%h`:Q`${q} log --all --author=${B} --since=midnight --pretty=tformat:%h`,X?Promise.resolve({stdout:""}):Q`${q} log --all --author=${B} --pretty=tformat: --numstat`,N,I,A,VO(q),X?Q`${q} rev-list --all --reverse`:Q`${q} rev-list --all --author=${B} --reverse`,X?Q`${q} log --all -1 --format=${G}`:Q`${q} log --all --author=${B} -1 --format=${G}`,P5(q),C8(q,x),_]),V0=null;try{V0=await oO({spinner:O})}catch{V0=null}let _0=x.split(/[\\/]/).pop()||x,Y0=J0.stdout.trim();if(!X&&Y0)$=`${Y0}'s`;let N0=parseInt(T.stdout.trim()),u0=parseInt(S.stdout.trim()),k0=SP(y.stdout,y.stderr),C0=X?yP(r.stdout,k0.objectIds):null,P0=g.stdout.trim()?g.stdout.trim().split(`
450
- `).length:0;O.setMessage("Detecting repository details...");let i0=a.length,G6=i0>0?H.dim+H.white+` (${i0} submodules)`:"",m0=EP(n),E8=m0.repoUrl?`${v6(_0,m0.repoUrl,!1)}${G6}`:`${_0}${G6}`,e8=performance.now(),t0=eO(c.stdout),b6=X?t0:eO(P.stdout),r6=b6.totalAdded,Z4=b6.totalRemoved,JX=AZ(r6*J4.AVG_CHARS_PER_LINE,2),qX=AZ(Z4*J4.AVG_CHARS_PER_LINE,2),XX=L6(r6/J4.AVG_LINES_PER_FUNCTION,1,1000,!1,0),zX=L6(Z4/J4.AVG_LINES_PER_FUNCTION,1,1000,!1,0),HX=L6(r6/J4.AVG_LINES_PER_FILE,1,1000,!1,0),WX=L6(Z4/J4.AVG_LINES_PER_FILE,1,1000,!1,0),N_=t0.totalAdded,I_=t0.totalRemoved,L_=r6+Z4,fQ=N_+I_,w_=fQ>0?f4(L_/fQ*100,2,!0):"0.00",X7=X?xP(v.stdout,fQ):null,UX=X?X7?X7.contributionPct:"0.00":w_,A_=X7?tO(X7.username,m0):"N/A",G_=!X?tO($,m0):$,C_=L6((performance.now()-e8)/1000,2)+"s",hQ=0,KX="N/A";O.setMessage("Analyzing branch activity...");let R_=await Promise.all(h.map(async(N6)=>{let{stdout:P4}=X?await Q`${q} rev-list --count refs/heads/${N6}`:await Q`${q} rev-list --count --author=${B} refs/heads/${N6}`;return{branch:N6,count:parseInt(P4.trim(),10)}}));for(let{branch:N6,count:P4}of R_)if(P4>hQ)hQ=P4,KX=N6;O.setMessage("Resolving commit timestamps...");let BX=s.stdout.split(`
451
- `).map((N6)=>N6.trim()).find((N6)=>N6.length>0),$X="Never";if(BX)$X=(await Q`${q} show -s --format=${w} ${BX}`).stdout.trim()||"Never";let T_=m.stdout.trim()||"Never",k_=Buffer.byteLength(c.stdout)+(X?0:Buffer.byteLength(P.stdout)),E_=t0.totalRecords+(X?0:b6.totalRecords),FX=k0.commit>0?H.red:H.white+H.dim,VX=`${k0.commit} ${H.white+H.dim}orphan${k0.commit===1?"":"s"}`,x_=X?` / ${FX}${VX}${H.reset}`:` / ${H.yellow}${GZ(u0)}${H.reset+H.dim} all${H.reset} / ${FX}${VX}${H.reset}`,P_=X?` Most Active User: ${H.cyan}${A_}${H.reset} (${H.magenta}${UX}%${H.reset} of all lines changed in the project)`:` Contributions: ${H.magenta}${UX}%${H.reset} of all lines changed in the project`,z7=[`${H.dim+H.italic}Showing stats for ${F} in ${_0}${H.reset}`,`${H.dim}Parsed ${AZ(k_)} of ${L6(E_,1,1000,!0)} numstat records in ${C_}${H.reset}`],b_=s0(z7[0]+z7[1])+7<p.terminalWidth?" "+y0(z7,p.terminalWidth-4,{align:"spacebetween"}):z7.map((N6)=>" "+N6).join(`
452
- `),v_=p.terminalWidth>100?`(roughly ${JX}, ${XX} functions or ${HX} source files)`:`(${JX}, ${XX} fns or ${HX} files)`,S_=p.terminalWidth>100?`(roughly ${qX}, ${zX} functions or ${WX} source files)`:`(${qX}, ${zX} fns or ${WX} files)`,OX=X&&C0?` Object Inventory: ${H.cyan}${GZ(C0.totalObjects)}${H.reset} total ${H.dim}(${AZ(C0.totalBytes)})${H.reset} / ${H.yellow}${GZ(C0.garbageObjects)}${H.reset} garbage ${H.dim}(${AZ(C0.garbageBytes)})${H.reset}`:"",y_=OX?`
453
- ${OX}`:"";if(O.stop(),R(`${b_}
454
-
455
- ─── ${G_} Git Stats ───
456
- Project: ${H.cyan}${E8}${H.reset}
457
- Total Commits: ${H.green}${GZ(N0)}${H.reset} (today: ${P0})${x_}${y_}
458
- Total Lines Added: ${H.green}+ ${GZ(r6)} lines ${H.reset}${H.dim}${v_+H.reset}
459
- Total Lines Removed: ${H.red}- ${GZ(Z4)} lines ${H.reset}${H.dim}${S_+H.reset}
460
- ${P_}
461
- Most Active Branch: ${H.cyan}${KX}${H.reset} (${hQ} commits)
462
- First Commit: ${H.yellow}${$X}${H.reset}
463
- Last Commit: ${H.yellow}${T_}${H.reset}`),V0){let N6=K==="net"?"Language Usage:":"Language Activity:",P4=K==="net"?"(Net changes)":"(Aggregated changes)",f_=Z6.clamp(p.terminalWidth-21-2-2,24,56),h_=K==="net"?b6.netFiles.map((Y4)=>({filePath:Y4.filePath,lines:Y4.netLines})):b6.activityFiles.map((Y4)=>({filePath:Y4.filePath,lines:Y4.activityLines})),gQ=fP(V0,h_,f_);if(gQ){let Y4=" "+y0(N6,21,{align:"left",redundancyLv:-1}),g_=" "+y0(P4,21,{align:"left",redundancyLv:-1});R(`${Y4}${gQ.bar}
464
- ${H.dim+g_+H.reset}${gQ.legend}${H.reset}
465
- `)}}return await m1({...Z,args:X?G3(["--quiet","--all"]):G3(["--quiet","--email",B])}),0}catch(V){return O.stop(),Y.abort(),M.error(u(V,{color:!0})),1}}function EP(Z){if(!Z)return{repoUrl:null,host:null,provider:null};let Y=Z.trim();if(!Y)return{repoUrl:null,host:null,provider:null};let Q=Y.indexOf("/"),J=Q===-1?Y:Y.slice(0,Q),q=Q===-1?"":Y.slice(Q+1),z=J.includes(".")||J.includes(":")||J==="localhost"?J:null,W=z&&q?`https://${z}/${q}`:null,U=z?z.toLowerCase():"",K=null;if(U.includes("github"))K="github";else if(U.includes("gitlab"))K="gitlab";else if(U.includes("gitea"))K="gitea";return{repoUrl:W,host:z,provider:K}}function xP(Z,Y){if(!Z.trim())return null;let Q=new Map,J="",q="";for(let U of Z.split(`
466
- `)){let K=U.trim();if(!K)continue;let B=U.split("\t");if(B.length>=3){if(!/^\d+$/.test(B[0])||!/^\d+$/.test(B[1]))continue;if(!J)continue;let F=parseInt(B[0],10)+parseInt(B[1],10);if(F<=0)continue;let O=QD(B.slice(2).join("\t").trim());if(Q2.includes(T3.extname(O).toLowerCase()))continue;let V=PP(q,J),D=Q.get(V);if(D){if(D.lines+=F,!D.name&&q)D.name=q;if(!D.email&&J)D.email=J}else Q.set(V,{name:q,email:J,lines:F});continue}let $=U.lastIndexOf("\t");if($>0)q=U.slice(0,$).trim().replace(/^"|"$/g,"").replace(/^'|'$/g,""),J=U.slice($+1).trim().replace(/^"|"$/g,"").replace(/^'|'$/g,"");else q="",J=K.replace(/^"|"$/g,"").replace(/^'|'$/g,"")}let X="",z="",W=0;for(let[,U]of Q.entries())if(U.lines>W)X=U.email,z=U.name,W=U.lines;if(!X)return null;return{email:X,username:z||X,contributionPct:Y>0?f4(W/Y*100,2,!0):"0.00"}}function PP(Z,Y){let Q=Y.trim().toLowerCase();if(Q)return`email:${Q}`;let J=Z.trim().toLowerCase();if(J)return`name:${J}`;return"unknown"}function tO(Z,Y){let Q=bP(Z),J=vP(Q,Y);if(!J)return Z;return v6(Z,J,!1)}function bP(Z){return Z.trim().replace(/"/g,"").replace(/'s$/i,"")}function vP(Z,Y){if(!Z||!Y.host||!Y.provider)return null;return`https://${Y.host}/${Z}`}function eO(Z){let Y=0,Q=0,J=new Map,q=new Map,X=Z.split(`
467
- `);for(let U of X){let K=U.split("\t");if(K.length<3)continue;let[B,$]=K;if(!/^\d+$/.test(B)||!/^\d+$/.test($))continue;let F=parseInt(B,10),O=parseInt($,10),V=F+O;if(V<=0)continue;let D=QD(K.slice(2).join("\t").trim());if(Q2.includes(T3.extname(D).toLowerCase()))continue;Y+=F,Q+=O,q.set(D,(q.get(D)??0)+V);let _=F-O;if(_===0)continue;J.set(D,(J.get(D)??0)+_)}let z=Array.from(J.entries()).map(([U,K])=>({filePath:U,netLines:K})),W=Array.from(q.entries()).map(([U,K])=>({filePath:U,activityLines:K}));return{totalAdded:Y,totalRemoved:Q,totalRecords:X.length,netFiles:z,activityFiles:W}}function QD(Z){let Y=Z.lastIndexOf("=>");if(Y===-1)return Z;let Q=Z.slice(Y+2).trim();if(Q.startsWith("{"))Q=Q.slice(1);if(Q.endsWith("}"))Q=Q.slice(0,-1);return Q.trim()}function SP(Z,Y){let Q=new Set,J=`${Z}
447
+ ${H.cyan}${R} graph ${H.reset+H.dim}# Graph for configured git user${H.reset}
448
+ ${H.cyan}${R} graph --email bob@example.com ${H.reset+H.dim}# Graph for specified author${H.reset}
449
+ ${H.cyan}${R} graph --all ${H.reset+H.dim}# Graph for all authors${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},rO={$root:["--email","--all","-a","--quiet"]}});function tO(Z,Y){if(!Number.isFinite(Z))return 0;let Q=Math.trunc(Z);if(Q<0){let J=Y+Q;return J<0?0:J}return Q}function eO(Z,Y){if(Z==null)return!1;if(Y.includes(l1))return Z===Y;return Z===Y||Z.startsWith(Y+l1)}function n5(Z){let Y=Z.indexOf(l1);return Y===-1?Z:Z.slice(0,Y)}function xJ(Z,Y){let Q=0,J=Z.length;while(Q<J){let q=Q+J>>>1;if(Z[q]<Y)Q=q+1;else J=q}return Q}function hx(Z,Y){if(!Number.isFinite(Z))return 0;if(Z<0){let Q=Y+Z;return Q<0?0:Q}return Z>Y?Y:Z}function ZD(Z){if(Z==="--")return!1;if(Z==="-"||!Z.startsWith("-"))return!0;return/^-\d+(\.\d+)?$/.test(Z)}function gx(Z,Y){let Q=Z[Y];if(fx.includes(Q))return{consumed:1,gitArgs:[Q]};for(let J of yx){if(Q===J){if(Y+1>=Z.length)return null;let q=Z[Y+1];if(q==="--")return null;return{consumed:2,gitArgs:[J,q]}}if(Q.startsWith(J+"="))return{consumed:1,gitArgs:[J,Q.slice(J.length+1)]};if(!J.startsWith("--")&&Q.startsWith(J)&&Q.length>J.length)return{consumed:1,gitArgs:[J,Q.slice(J.length)]}}return null}function o5(Z,Y){if(Z[0]&&!Z[0].startsWith("-"))return{args:Z,gitArgs:[],cursorIndex:Y,cursorInGitGlobal:!1};let Q=new Set,J=[],q=0;while(q<Z.length){let W=Z[q];if(W==="--")break;let U=gx(Z,q);if(U){let K=q,B=q+U.consumed-1;if(Y!=null&&Y>=K&&Y<=B)return{args:Z,gitArgs:[],cursorIndex:Y,cursorInGitGlobal:!0};if(Y==null||B<Y){J.push(...U.gitArgs);for(let $=K;$<=B;$++)Q.add($)}q+=U.consumed;continue}if(vx.includes(W)){if(q+1>=Z.length)break;q+=2;continue}if(Sx.includes(W)){q+=1;continue}if(W.startsWith("-")){q+=1;continue}break}if(Q.size===0)return{args:Z,gitArgs:J,cursorIndex:Y,cursorInGitGlobal:!1};let X=Z.filter((W,U)=>!Q.has(U)),z=Y;if(Y!=null){let W=0;for(let U of Q)if(U<Y)W+=1;if(z=Math.max(0,Y-W),X.length>0&&z>=X.length)z=X.length-1}return{args:X,gitArgs:J,cursorIndex:z,cursorInGitGlobal:!1}}function YD(Z){let Y=Z.indexOf("=");if(Y!==-1)return Z.substring(Y+1);return null}function bJ(Z){return new k4(Z)}var vx,Sx,yx,fx,l1="=",k4;var GZ=N(()=>{H0();z0();S0();vx=[...Kz],Sx=[...Bz],yx=[...$z],fx=[...Fz];k4=class k4 extends Array{argIndexes=new Map;indexedLength=-1;indexesDirty=!0;constructor(Z){if(Array.isArray(Z))super(...Z);else super(Z);this.reindex()}optionIndexOf(Z,Y=0){let Q=tO(Y,this.length),J=-1;if(p.indexArgs)this.ensureIndexes(),J=this.argIndexes.get("--")?.[0]??-1;else J=super.indexOf("--");if(J!==-1&&J<Q)return-1;let q=J===-1?this.length:J,X=n5(Z);if(p.indexArgs&&X.startsWith("-")){let z=this.argIndexes.get(X);if(z&&z.length>0){let W=0;if(z.length===1){let U=z[0];if(U<Q||U>=q)W=1}else W=xJ(z,Q);while(W<z.length){let U=z[W];if(U>=q)break;if(eO(this[U],Z))return U;W+=1}}}for(let z=Q;z<q;z++)if(eO(this[z],Z)){if(p.indexArgs&&X.startsWith("-"))this.reindex();return z}return-1}delete(Z){let Y=this.optionIndexOf(Z);if(Y!==-1)return this.splice(Y,1),!0;return!1}popValue(Z,Y=0,Q=!1){let J=this.optionIndexOf(Z,Y);if(J!==-1){let q=null,X=this[J];if(X.includes(l1))q=YD(X),this.splice(J,1);else if(!Q&&J+1<this.length&&ZD(this[J+1]))q=this[J+1],this.splice(J,2);else this.splice(J,1);return q}return null}popAssertValue(Z,Y=0,Q=!1){let J=this.optionIndexOf(Z,Y);if(J!==-1){let q=null,X=this[J];if(X.includes(l1))q=YD(X),this.splice(J,1);else if(!Q&&J+1<this.length&&ZD(this[J+1]))q=this[J+1],this.splice(J,2);else throw new o(`Options "${this[J]}" requires a value, but none was provided.`,"MISSING_OPTION_VALUE");return q}return null}popOption(Z,Y=0){let Q=this.optionIndexOf(Z,Y);if(Q!==-1)return this.splice(Q,1)[0];return null}spliceOption(Z,Y,Q=0){let J=this.optionIndexOf(Z,Q);if(J!==-1)return this.splice(J,1,...Y),!0;return!1}hasOption(Z,Y=0){return this.optionIndexOf(Z,Y)!==-1}slice(Z,Y){return new k4(super.slice(Z,Y))}toArray(){return super.slice(0)}splice(Z,Y,...Q){let J=this.length,q=arguments.length===1?super.splice(Z):super.splice(Z,Y,...Q);if(!p.indexArgs)return q;if(this.indexesDirty||this.indexedLength!==J)return this.reindex(),q;let X=hx(Z,J);return this.updateIndexesAfterSplice(X,q.length,Q),q}indexOf(Z,Y=0){if(!p.indexArgs||!Z.startsWith("-"))return super.indexOf(Z,Y);this.ensureIndexes();let Q=tO(Y,this.length);if(Q>=this.length)return-1;let J=this.argIndexes.get(n5(Z));if(J&&J.length>0){let X=0;if(J.length===1){if(J[0]<Q)X=1}else X=xJ(J,Q);while(X<J.length){let z=J[X];if(this[z]===Z)return z;X+=1}}let q=super.indexOf(Z,Q);if(q!==-1)this.reindex();return q}push(...Z){let Y=this.length,Q=super.push(...Z);if(!p.indexArgs)return Q;if(this.indexesDirty||this.indexedLength!==Y)return this.reindex(),Q;return this.updateIndexesAfterSplice(Y,0,Z),Q}pop(){if(this.length===0)return;let Z=this.length,Y=super.pop();if(!p.indexArgs)return Y;if(this.indexesDirty||this.indexedLength!==Z)return this.reindex(),Y;return this.updateIndexesAfterSplice(Z-1,1,[]),Y}shift(){if(this.length===0)return;let Z=this.length,Y=super.shift();if(!p.indexArgs)return Y;if(this.indexesDirty||this.indexedLength!==Z)return this.reindex(),Y;return this.updateIndexesAfterSplice(0,1,[]),Y}unshift(...Z){let Y=this.length,Q=super.unshift(...Z);if(!p.indexArgs)return Q;if(this.indexesDirty||this.indexedLength!==Y)return this.reindex(),Q;return this.updateIndexesAfterSplice(0,0,Z),Q}reverse(){return super.reverse(),this.reindex(),this}sort(Z){return super.sort(Z),this.reindex(),this}fill(Z,Y,Q){return super.fill(Z,Y,Q),this.reindex(),this}copyWithin(Z,Y,Q){return super.copyWithin(Z,Y,Q),this.reindex(),this}invalidateIndexes(){this.argIndexes.clear(),this.indexedLength=-1,this.indexesDirty=!0}ensureIndexes(){if(!p.indexArgs)return;if(this.indexesDirty||this.indexedLength!==this.length)this.reindex()}updateIndexesAfterSplice(Z,Y,Q){let J=Z+Y,q=Q.length-Y;for(let[X,z]of this.argIndexes){if(z.length===1){let U=z[0];if(U>=Z&&U<J){this.argIndexes.delete(X);continue}if(U>=J)z[0]=U+q;continue}let W=0;for(let U of z){if(U<Z){z[W]=U,W+=1;continue}if(U>=J)z[W]=U+q,W+=1}if(W===0)this.argIndexes.delete(X);else z.length=W}for(let X=0;X<Q.length;X++){let z=Q[X];if(!z.startsWith("-"))continue;let W=n5(z),U=Z+X,K=this.argIndexes.get(W);if(!K){this.argIndexes.set(W,[U]);continue}if(K.length===1){if(U<=K[0])K.unshift(U);else K.push(U);continue}let B=K[K.length-1];if(U>=B){K.push(U);continue}let $=xJ(K,U);K.splice($,0,U)}this.indexedLength=this.length,this.indexesDirty=!1}reindex(){if(!p.indexArgs)return;this.argIndexes.clear();for(let Z=0;Z<this.length;Z++){let Y=this[Z];if(Y===void 0)continue;if(!Y.startsWith("-"))continue;let Q=n5(Y),J=this.argIndexes.get(Q);if(J)J.push(Z);else this.argIndexes.set(Q,[Z])}this.indexedLength=this.length,this.indexesDirty=!1}}});import QD from"path";async function qD(Z){let Y=!!Z?.forceRefresh,Q=Z?.spinner,J=await I0(),q=await J.get(K2),X=nx(q);if(X&&!Y&&!dx(X.lastUpdatedAt))return vJ(X);if(!X&&!Y&&Date.now()-JD<mx)return null;try{if(Q)Q.setMessage("Updating language catalog...");let z=await ux(),W=await ox(),U=px(z,W);return await J.set(K2,U,{maxAgeMinutes:1/0}),vJ(U)}catch(z){return JD=Date.now(),M.warn(`Failed to refresh language catalog: ${o.from(z).message}`,"languages"),X?vJ(X):null}}function XD(Z,Y){let Q=QD.extname(Y).toLowerCase(),J=QD.basename(Y),q=Z.languages.find((X)=>X.filenames?.includes(J));if(q)return q;if(!Q)return null;return Z.byExtension.get(Q)||null}function px(Z,Y){let Q=Y.parse(Z),J=[];for(let[q,X]of Object.entries(Q||{})){if(!X||typeof X!=="object")continue;let z=X,W=cx(z.extensions);if(!z.color)continue;if(z.type==="data"&&!B2.includes(z.language_id))continue;if(W.length===0)continue;let U=lx(z.color)??SJ;J.push({name:q,extensions:W,color:U,filenames:Array.isArray(z.filenames)?z.filenames.filter((K)=>typeof K==="string"):[],id:z.language_id})}return J=zD(J),J.sort((q,X)=>q.name.localeCompare(X.name)),{lastUpdatedAt:new Date().toISOString(),languages:J}}async function ux(){let Z=new AbortController,Y=setTimeout(()=>Z.abort(),Dz);try{let Q=await fetch(Vz,{signal:Z.signal});if(!Q.ok)throw Error(`HTTP ${Q.status} ${Q.statusText}`);return await Q.text()}finally{clearTimeout(Y)}}function vJ(Z){let Y=zD(Z.languages),Q=new Map;for(let J of Y)for(let q of J.extensions)if(!Q.has(q))Q.set(q,J);return{lastUpdatedAt:Z.lastUpdatedAt,languages:Y,byExtension:Q}}function zD(Z){let Y=new Map;for(let J of Z)for(let q of J.extensions)Y.set(q,(Y.get(q)||0)+1);let Q=[];for(let J of Z){if(J.id!==void 0&&B2.includes(J.id)){Q.push(J);continue}let q=J.extensions.filter((X)=>(Y.get(X)||0)===1);if(q.length===0)continue;Q.push({...J,extensions:q})}return Q}function dx(Z){let Y=Date.parse(Z);if(!Number.isFinite(Y))return!0;return Date.now()-Y>=Oz}function cx(Z){if(!Array.isArray(Z))return[];let Y=new Set;for(let Q of Z){if(typeof Q!=="string")continue;let J=Q.trim().toLowerCase();if(!J.startsWith("."))continue;if(J.length<=1)continue;Y.add(J)}return Array.from(Y)}function lx(Z){if(typeof Z!=="string")return null;let Y=Z.trim(),Q=Y.match(/^#?([\da-fA-F]{6})$/);if(Q)return parseInt(Q[1],16);let J=Y.match(/^#?([\da-fA-F]{3})$/);if(J){let q=J[1].split("").map((X)=>X+X).join("");return parseInt(q,16)}return null}function nx(Z){try{return LZ(UO,Z)}catch{return null}}async function ox(){if(i5)return i5;try{return i5=await import("yaml"),i5}catch(Z){throw M.error(`Failed to load YAML parser for language catalog: ${o.from(Z).message}`,"languages"),Error("YAML parser unavailable")}}var mx=600000,SJ=16777215,JD=0,i5=null;var HD=N(()=>{z0();W4();G5();H0();w0();A4()});function CZ(Z,Y=1,Q=!1){if(Z<1024)return`${Z}B`;return w6(Z,Y,1024,Q)+"iB"}var WD=N(()=>{z0()});import*as yJ from"path";async function fJ(Z){let Y=R5(),Q=Y.$,{args:J,git$:q}=Z;if(!await r4(q))return 1;let X=J.hasOption("--all")||J.hasOption("-a");J.popOption("--all"),J.popOption("-a");let z=J.hasOption("--lang-metric"),W=J.popValue("--lang-metric"),U=Qb(W,z);if(!U)return M.error("Invalid --lang-metric value. Use one of: auto, net, activity (for example: --lang-metric auto).","stats"),1;let K=Jb(U,X),B="",$="Your",V="";if(!X){try{let F=J.popValue("--author");if(F)B=F.trim().replace(/^["']|["']$/g,"");else B=await t4(q,"user.email"),B=B?B.trim().replace(/^["']|["']$/g,""):B}catch(F){return Y.abort(),M.error("Failed to read git config user.email.","stats"),M.error(u(F,{color:!0}),"stats"),1}if(!B)return M.error("No user.email configured in git.","stats"),1;V=B}else $="Project-wide",V="all authors";let D=P0({message:X?"Gathering project-wide stats...":`Gathering stats for ${B}...`});try{let F=Q`${q} rev-list --all --count`,O=Q`${q} fsck --unreachable --no-reflogs --no-progress --full`,j=X?Q`${q} cat-file --batch-all-objects --batch-check=%(objectname):%(objectsize)`:Promise.resolve({stdout:""}),_=Q`${q} log --all --pretty=tformat: --numstat`,L=`%ar ${H.reset+H.dim}[at %h] (on %ad)`+H.reset,A=`%ar ${H.reset+H.dim}[at %h] (on %ad)`+H.reset,I=X?Q`${q} log --all --format=%aN%x09%ae --numstat`:Promise.resolve({stdout:""}),G=X?Promise.resolve({stdout:""}):Q`${q} log --all --author=${B} -1 --format=%aN`,P=(await F6(q)).trim(),[T,S,y,g,x,c,v,J0,h,s,m,n,a,r]=await Promise.all([X?F:Q`${q} rev-list --all --count --author=${B}`,F,O,X?Q`${q} log --all --since=midnight --pretty=tformat:%h`:Q`${q} log --all --author=${B} --since=midnight --pretty=tformat:%h`,X?Promise.resolve({stdout:""}):Q`${q} log --all --author=${B} --pretty=tformat: --numstat`,_,I,G,AO(q),X?Q`${q} rev-list --all --reverse`:Q`${q} rev-list --all --author=${B} --reverse`,X?Q`${q} log --all -1 --format=${A}`:Q`${q} log --all --author=${B} -1 --format=${A}`,S5(q),R4(q,P),j]),V0=null;try{V0=await qD({spinner:D})}catch{V0=null}let _0=P.split(/[\\/]/).pop()||P,Y0=J0.stdout.trim();if(!X&&Y0)$=`${Y0}'s`;let N0=parseInt(T.stdout.trim()),u0=parseInt(S.stdout.trim()),k0=ex(y.stdout,y.stderr),C0=X?Zb(r.stdout,k0.objectIds):null,x0=g.stdout.trim()?g.stdout.trim().split(`
450
+ `).length:0;D.setMessage("Detecting repository details...");let a0=a.length,C6=a0>0?H.dim+H.white+` (${a0} submodules)`:"",p0=ix(n),x4=p0.repoUrl?`${S6(_0,p0.repoUrl,!1)}${C6}`:`${_0}${C6}`,Q8=performance.now(),Y6=KD(c.stdout),v6=X?Y6:KD(x.stdout),e6=v6.totalAdded,J8=v6.totalRemoved,VX=CZ(e6*z8.AVG_CHARS_PER_LINE,2),OX=CZ(J8*z8.AVG_CHARS_PER_LINE,2),DX=w6(e6/z8.AVG_LINES_PER_FUNCTION,1,1000,!1,0),MX=w6(J8/z8.AVG_LINES_PER_FUNCTION,1,1000,!1,0),jX=w6(e6/z8.AVG_LINES_PER_FILE,1,1000,!1,0),_X=w6(J8/z8.AVG_LINES_PER_FILE,1,1000,!1,0),h_=Y6.totalAdded,g_=Y6.totalRemoved,m_=e6+J8,cQ=h_+g_,p_=cQ>0?m8(m_/cQ*100,2,!0):"0.00",W7=X?sx(v.stdout,cQ):null,NX=X?W7?W7.contributionPct:"0.00":p_,u_=W7?UD(W7.username,p0):"N/A",d_=!X?UD($,p0):$,c_=w6((performance.now()-Q8)/1000,2)+"s",lQ=0,IX="N/A";D.setMessage("Analyzing branch activity...");let l_=await Promise.all(h.map(async(I6)=>{let{stdout:S8}=X?await Q`${q} rev-list --count refs/heads/${I6}`:await Q`${q} rev-list --count --author=${B} refs/heads/${I6}`;return{branch:I6,count:parseInt(S8.trim(),10)}}));for(let{branch:I6,count:S8}of l_)if(S8>lQ)lQ=S8,IX=I6;D.setMessage("Resolving commit timestamps...");let LX=s.stdout.split(`
451
+ `).map((I6)=>I6.trim()).find((I6)=>I6.length>0),wX="Never";if(LX)wX=(await Q`${q} show -s --format=${L} ${LX}`).stdout.trim()||"Never";let n_=m.stdout.trim()||"Never",o_=Buffer.byteLength(c.stdout)+(X?0:Buffer.byteLength(x.stdout)),i_=Y6.totalRecords+(X?0:v6.totalRecords),AX=k0.commit>0?H.red:H.white+H.dim,GX=`${k0.commit} ${H.white+H.dim}orphan${k0.commit===1?"":"s"}`,s_=X?` / ${AX}${GX}${H.reset}`:` / ${H.yellow}${RZ(u0)}${H.reset+H.dim} all${H.reset} / ${AX}${GX}${H.reset}`,a_=X?` Most Active User: ${H.cyan}${u_}${H.reset} (${H.magenta}${NX}%${H.reset} of all lines changed in the project)`:` Contributions: ${H.magenta}${NX}%${H.reset} of all lines changed in the project`,U7=[`${H.dim+H.italic}Showing stats for ${V} in ${_0}${H.reset}`,`${H.dim}Parsed ${CZ(o_)} of ${w6(i_,1,1000,!0)} numstat records in ${c_}${H.reset}`],r_=r0(U7[0]+U7[1])+7<p.terminalWidth?" "+b0(U7,p.terminalWidth-4,{align:"spacebetween"}):U7.map((I6)=>" "+I6).join(`
452
+ `),t_=p.terminalWidth>100?`(roughly ${VX}, ${DX} functions or ${jX} source files)`:`(${VX}, ${DX} fns or ${jX} files)`,e_=p.terminalWidth>100?`(roughly ${OX}, ${MX} functions or ${_X} source files)`:`(${OX}, ${MX} fns or ${_X} files)`,CX=X&&C0?` Object Inventory: ${H.cyan}${RZ(C0.totalObjects)}${H.reset} total ${H.dim}(${CZ(C0.totalBytes)})${H.reset} / ${H.yellow}${RZ(C0.garbageObjects)}${H.reset} garbage ${H.dim}(${CZ(C0.garbageBytes)})${H.reset}`:"",ZN=CX?`
453
+ ${CX}`:"";if(D.stop(),C(`${r_}
454
+
455
+ ─── ${d_} Git Stats ───
456
+ Project: ${H.cyan}${x4}${H.reset}
457
+ Total Commits: ${H.green}${RZ(N0)}${H.reset} (today: ${x0})${s_}${ZN}
458
+ Total Lines Added: ${H.green}+ ${RZ(e6)} lines ${H.reset}${H.dim}${t_+H.reset}
459
+ Total Lines Removed: ${H.red}- ${RZ(J8)} lines ${H.reset}${H.dim}${e_+H.reset}
460
+ ${a_}
461
+ Most Active Branch: ${H.cyan}${IX}${H.reset} (${lQ} commits)
462
+ First Commit: ${H.yellow}${wX}${H.reset}
463
+ Last Commit: ${H.yellow}${n_}${H.reset}`),V0){let I6=K==="net"?"Language Usage:":"Language Activity:",S8=K==="net"?"(Net changes)":"(Aggregated changes)",YN=o0.clamp(p.terminalWidth-21-2-2,24,56),QN=K==="net"?v6.netFiles.map((q8)=>({filePath:q8.filePath,lines:q8.netLines})):v6.activityFiles.map((q8)=>({filePath:q8.filePath,lines:q8.activityLines})),nQ=Yb(V0,QN,YN);if(nQ){let q8=" "+b0(I6,21,{align:"left",redundancyLv:-1}),JN=" "+b0(S8,21,{align:"left",redundancyLv:-1});C(`${q8}${nQ.bar}
464
+ ${H.dim+JN+H.reset}${nQ.legend}${H.reset}
465
+ `)}}return await d1({...Z,args:X?bJ(["--quiet","--all"]):bJ(["--quiet","--email",B])}),0}catch(F){return D.stop(),Y.abort(),M.error(u(F,{color:!0})),1}}function ix(Z){if(!Z)return{repoUrl:null,host:null,provider:null};let Y=Z.trim();if(!Y)return{repoUrl:null,host:null,provider:null};let Q=Y.indexOf("/"),J=Q===-1?Y:Y.slice(0,Q),q=Q===-1?"":Y.slice(Q+1),z=J.includes(".")||J.includes(":")||J==="localhost"?J:null,W=z&&q?`https://${z}/${q}`:null,U=z?z.toLowerCase():"",K=null;if(U.includes("github"))K="github";else if(U.includes("gitlab"))K="gitlab";else if(U.includes("gitea"))K="gitea";return{repoUrl:W,host:z,provider:K}}function sx(Z,Y){if(!Z.trim())return null;let Q=new Map,J="",q="";for(let U of Z.split(`
466
+ `)){let K=U.trim();if(!K)continue;let B=U.split("\t");if(B.length>=3){if(!/^\d+$/.test(B[0])||!/^\d+$/.test(B[1]))continue;if(!J)continue;let V=parseInt(B[0],10)+parseInt(B[1],10);if(V<=0)continue;let D=FD(B.slice(2).join("\t").trim());if(U2.includes(yJ.extname(D).toLowerCase()))continue;let F=ax(q,J),O=Q.get(F);if(O){if(O.lines+=V,!O.name&&q)O.name=q;if(!O.email&&J)O.email=J}else Q.set(F,{name:q,email:J,lines:V});continue}let $=U.lastIndexOf("\t");if($>0)q=U.slice(0,$).trim().replace(/^"|"$/g,"").replace(/^'|'$/g,""),J=U.slice($+1).trim().replace(/^"|"$/g,"").replace(/^'|'$/g,"");else q="",J=K.replace(/^"|"$/g,"").replace(/^'|'$/g,"")}let X="",z="",W=0;for(let[,U]of Q.entries())if(U.lines>W)X=U.email,z=U.name,W=U.lines;if(!X)return null;return{email:X,username:z||X,contributionPct:Y>0?m8(W/Y*100,2,!0):"0.00"}}function ax(Z,Y){let Q=Y.trim().toLowerCase();if(Q)return`email:${Q}`;let J=Z.trim().toLowerCase();if(J)return`name:${J}`;return"unknown"}function UD(Z,Y){let Q=rx(Z),J=tx(Q,Y);if(!J)return Z;return S6(Z,J,!1)}function rx(Z){return Z.trim().replace(/"/g,"").replace(/'s$/i,"")}function tx(Z,Y){if(!Z||!Y.host||!Y.provider)return null;return`https://${Y.host}/${Z}`}function KD(Z){let Y=0,Q=0,J=new Map,q=new Map,X=Z.split(`
467
+ `);for(let U of X){let K=U.split("\t");if(K.length<3)continue;let[B,$]=K;if(!/^\d+$/.test(B)||!/^\d+$/.test($))continue;let V=parseInt(B,10),D=parseInt($,10),F=V+D;if(F<=0)continue;let O=FD(K.slice(2).join("\t").trim());if(U2.includes(yJ.extname(O).toLowerCase()))continue;Y+=V,Q+=D,q.set(O,(q.get(O)??0)+F);let j=V-D;if(j===0)continue;J.set(O,(J.get(O)??0)+j)}let z=Array.from(J.entries()).map(([U,K])=>({filePath:U,netLines:K})),W=Array.from(q.entries()).map(([U,K])=>({filePath:U,activityLines:K}));return{totalAdded:Y,totalRemoved:Q,totalRecords:X.length,netFiles:z,activityFiles:W}}function FD(Z){let Y=Z.lastIndexOf("=>");if(Y===-1)return Z;let Q=Z.slice(Y+2).trim();if(Q.startsWith("{"))Q=Q.slice(1);if(Q.endsWith("}"))Q=Q.slice(0,-1);return Q.trim()}function ex(Z,Y){let Q=new Set,J=`${Z}
468
468
  ${Y}`,q={};for(let X of J.split(`
469
- `)){let z=X.trim().match(/^(?:unreachable|dangling) (\w+) ([0-9a-f]{40})$/i);if(!z)continue;let W=z[2].toLowerCase();if(!Q.has(W)){Q.add(W);let U=z[1].toLowerCase();q[U]=(q[U]||0)+1}}return{total:Q.size,commit:q.commit||0,objectIds:Q}}function yP(Z,Y){let Q=0,J=0,q=0;for(let X of Z.split(`
470
- `)){let z=X.trim().match(/^([0-9a-f]{40}):(\d+)$/i);if(!z)continue;let W=z[1].toLowerCase(),U=parseInt(z[2],10);if(Q+=1,J+=U,Y.has(W))q+=U}return{totalObjects:Q,totalBytes:J,garbageObjects:Y.size,garbageBytes:q}}function GZ(Z){return Math.max(0,Math.trunc(Z)).toLocaleString("en-US")}function fP(Z,Y,Q){if(Q<=0)return null;let J=0,q=new Map;for(let I of Y){let A=iO(Z,I.filePath);if(!A){J+=I.lines;continue}let x=q.get(A.name);if(x)x.lines+=I.lines;else q.set(A.name,{name:A.name,color:A.color,lines:I.lines})}let X=[...q.values()].filter((I)=>I.lines>0),z=Math.max(0,J),W=X.reduce((I,A)=>I+A.lines,0)+z;if(W<=0)return null;let U=[],K=z;for(let I of X){let A=I.lines/W*Q;if(A<1){K+=I.lines;continue}let x=Math.floor(A);U.push({name:I.name,color:I.color,lines:I.lines,cols:x,remainder:A-x,isOthers:!1})}if(K>0){let I=K/W*Q,A=Math.floor(I);U.push({name:"Others",color:R3,lines:K,cols:A,remainder:I-A,isOthers:!0})}if(U.length===0)return null;let B=U.find((I)=>I.isOthers);if(B&&B.cols===0)B.cols=1,B.remainder=0;let $=U.reduce((I,A)=>I+A.cols,0);if($>Q){let I=U.filter((A)=>!A.isOthers).sort((A,x)=>x.cols-A.cols);for(let A of I){while($>Q&&A.cols>1)A.cols-=1,$-=1;if($<=Q)break}}if($>Q&&B&&B.cols>1)while($>Q&&B.cols>1)B.cols-=1,$-=1;let F=Q-$;if(F>0){let I=[...U].sort((x,T)=>T.remainder-x.remainder),A=0;while(F>0&&I.length>0)I[A%I.length].cols+=1,F-=1,A+=1}let O=U.filter((I)=>I.cols>0).sort((I,A)=>A.lines-I.lines),V=W*0.18,[D,_]=gX(O.slice(0,6),(I,A)=>{if(I.lines>=V)return 0;if(A===0)return 0;return 1}),N=D.map((I)=>f4(I.lines/W*100,1,!0)),w=O.map((I)=>`${M0(I.color,"fg")}${"━".repeat(I.cols)}`).join("")+H.reset,G=D.map((I,A)=>`${M0(I.color,"fg")}●${H.reset} ${N[A]}% ${I.name}`).join(" ")+H.dim+" "+(_?_.map((I)=>`${M0(I.color,"fg")}●${H.white} ${I.name}`).join(" "):"");return{bar:w,legend:G}}function hP(Z,Y){if(!Y)return"auto";if(!Z)return null;let Q=Z.trim().toLowerCase();if(Q==="auto"||Q==="net"||Q==="activity")return Q;return null}function gP(Z,Y){if(Z==="auto")return Y?"net":"activity";return Z}var ZD,YD;var n5=j(()=>{z0();g0();R0();p1();wZ();H0();v0();b0();w0();X6();aO();o0();rO();ZD={long:()=>{return t(Z0`
469
+ `)){let z=X.trim().match(/^(?:unreachable|dangling) (\w+) ([0-9a-f]{40})$/i);if(!z)continue;let W=z[2].toLowerCase();if(!Q.has(W)){Q.add(W);let U=z[1].toLowerCase();q[U]=(q[U]||0)+1}}return{total:Q.size,commit:q.commit||0,objectIds:Q}}function Zb(Z,Y){let Q=0,J=0,q=0;for(let X of Z.split(`
470
+ `)){let z=X.trim().match(/^([0-9a-f]{40}):(\d+)$/i);if(!z)continue;let W=z[1].toLowerCase(),U=parseInt(z[2],10);if(Q+=1,J+=U,Y.has(W))q+=U}return{totalObjects:Q,totalBytes:J,garbageObjects:Y.size,garbageBytes:q}}function RZ(Z){return Math.max(0,Math.trunc(Z)).toLocaleString("en-US")}function Yb(Z,Y,Q){if(Q<=0)return null;let J=0,q=new Map;for(let I of Y){let G=XD(Z,I.filePath);if(!G){J+=I.lines;continue}let P=q.get(G.name);if(P)P.lines+=I.lines;else q.set(G.name,{name:G.name,color:G.color,lines:I.lines})}let X=[...q.values()].filter((I)=>I.lines>0),z=Math.max(0,J),W=X.reduce((I,G)=>I+G.lines,0)+z;if(W<=0)return null;let U=[],K=z;for(let I of X){let G=I.lines/W*Q;if(G<1){K+=I.lines;continue}let P=Math.floor(G);U.push({name:I.name,color:I.color,lines:I.lines,cols:P,remainder:G-P,isOthers:!1})}if(K>0){let I=K/W*Q,G=Math.floor(I);U.push({name:"Others",color:SJ,lines:K,cols:G,remainder:I-G,isOthers:!0})}if(U.length===0)return null;let B=U.find((I)=>I.isOthers);if(B&&B.cols===0)B.cols=1,B.remainder=0;let $=U.reduce((I,G)=>I+G.cols,0);if($>Q){let I=U.filter((G)=>!G.isOthers).sort((G,P)=>P.cols-G.cols);for(let G of I){while($>Q&&G.cols>1)G.cols-=1,$-=1;if($<=Q)break}}if($>Q&&B&&B.cols>1)while($>Q&&B.cols>1)B.cols-=1,$-=1;let V=Q-$;if(V>0){let I=[...U].sort((P,T)=>T.remainder-P.remainder),G=0;while(V>0&&I.length>0)I[G%I.length].cols+=1,V-=1,G+=1}let D=U.filter((I)=>I.cols>0).sort((I,G)=>G.lines-I.lines),F=W*0.18,[O,j]=aX(D.slice(0,6),(I,G)=>{if(I.lines>=F)return 0;if(G===0)return 0;return 1}),_=O.map((I)=>m8(I.lines/W*100,1,!0)),L=D.map((I)=>`${M0(I.color,"fg")}${"━".repeat(I.cols)}`).join("")+H.reset,A=O.map((I,G)=>`${M0(I.color,"fg")}●${H.reset} ${_[G]}% ${I.name}`).join(" ")+H.dim+" "+(j?j.map((I)=>`${M0(I.color,"fg")}●${H.white} ${I.name}`).join(" "):"");return{bar:L,legend:A}}function Qb(Z,Y){if(!Y)return"auto";if(!Z)return null;let Q=Z.trim().toLowerCase();if(Q==="auto"||Q==="net"||Q==="activity")return Q;return null}function Jb(Z,Y){if(Z==="auto")return Y?"net":"activity";return Z}var BD,$D;var s5=N(()=>{z0();m0();R0();c1();GZ();H0();S0();v0();w0();e0();HD();s0();WD();BD={long:()=>{return t(Z0`
471
471
  ${H.bright+d("STATS",E.Zinc400,E.Zinc100,0.2)+H.reset}
472
472
  Gather detailed contribution statistics for a git author in this repository.
473
473
 
@@ -480,13 +480,13 @@ ${Y}`,q={};for(let X of J.split(`
480
480
  ${H.bright+d("OPTIONS",E.Zinc400,E.Zinc100,0.2)+H.reset}
481
481
  Use ${H.cyan}--author <email>${H.reset} to target a different author than the configured git user.email. Use ${H.cyan}--all${H.reset} or ${H.cyan}-a${H.reset} for project-wide stats across all authors. Use ${H.cyan}--lang-metric <auto|net|activity>${H.reset} to choose whether the language bar reflects net lines (added - removed), activity (added + removed), or automatic mode (project-wide net, author activity). Output includes a small visual graph invocation via the \`${H.cyan}graph${H.reset}\` command by default.
482
482
  `,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})},short:"Show contribution statistics for an author or the whole project.",usage:()=>{return t(Z0`
483
- ${H.cyan}${C} stats ${H.dim}[--author <email>] [--all|-a] [--lang-metric <auto|net|activity>]${H.reset}
483
+ ${H.cyan}${R} stats ${H.dim}[--author <email>] [--all|-a] [--lang-metric <auto|net|activity>]${H.reset}
484
484
 
485
485
  Examples:
486
- ${H.cyan}${C} stats ${H.reset+H.dim}# Stats for configured git user${H.reset}
487
- ${H.cyan}${C} stats --author alice@example.com ${H.reset+H.dim}# Stats for specified author${H.reset}
488
- ${H.cyan}${C} stats --all ${H.reset+H.dim}# Project-wide stats for all authors${H.reset}
489
- ${H.cyan}${C} stats --lang-metric net ${H.reset+H.dim}# Force net language usage in author scope${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},YD={$root:["--author","--all","-a","--lang-metric"]}});class o5{client;defaultModel;options;constructor(Z,Y,Q="gpt-5-nano",J){this.options={apiKey:Z,baseURL:Y,defaultHeaders:J},this.defaultModel=Q}async initClient(){if(!E3)E3=(await import("openai")).default;this.client=new E3(this.options),this.options=void 0}async generate(Z){if(!this.client)throw new o("OpenAI client not initialized. Call initClient() before using.","DEVELOPER_ERROR");return(await this.client.chat.completions.create({messages:[{role:"user",content:Z.prompt}],model:Z.model||this.defaultModel,temperature:Z.temperature,max_tokens:Z.maxTokens,reasoning_effort:Z.reasoning})).choices[0].message.content||""}async*streamGenerate(Z){try{if(!this.client)throw new o("OpenAI client not initialized. Call initClient() before using.","DEVELOPER_ERROR");let Y=await this.client.chat.completions.create({messages:[{role:"user",content:Z.prompt}],model:Z.model||this.defaultModel,temperature:Z.temperature,max_tokens:Z.maxTokens,stream:!0,reasoning_effort:Z.reasoning});for await(let Q of Y){let J=Q.choices[0]?.delta,q=J?.content,X=J?.reasoning_content||J?.reasoning||J?.reasoning_details?.[0]?.summary;if(q||X)yield{chunk:q??void 0,thinkingChunk:X??void 0,metadata:{model:Q.model,finishReason:Q.choices[0]?.finish_reason??void 0}}}}catch(Y){yield{error:AX(Y)?Y:new o(String(Y),"OPENAI_STREAM_ERROR")}}}}var E3=null;var JD=j(()=>{z0()});function qD(){return globalThis.__GDX_TEST_LLM_HOOKS}class x3{config;constructor(Z={}){this.config=Z;this.config={responseDelayMs:0,streamDelayMs:0,...Z}}async generate(Z){let Y=qD();return Y?.onGenerate?.(Z),Y?.generateResponse??"Mock response from LLM"}async*streamGenerate(Z){let Y=qD();Y?.onStreamGenerate?.(Z);let J=(Y?.streamResponse??"Mock response from LLM").split(" ");if(this.config.responseDelayMs>0)await H7(this.config.responseDelayMs);let q=`I should generate a mock response for prompt with ${J.length} words.`.split(" ");for(let X of q){if(this.config.streamDelayMs>0)await H7(this.config.streamDelayMs);yield{chunk:void 0,thinkingChunk:X+" ",metadata:{}}}for(let X of J){if(this.config.streamDelayMs>0)await H7(this.config.streamDelayMs);yield{chunk:X+" ",thinkingChunk:void 0,metadata:{}}}}}var XD=j(()=>{z0()});async function d1(){let Z=await K0(),Y=Z.get("llm.provider")||"openai";if(Y==="mock")return new x3(Y==="mock"?{responseDelayMs:2300,streamDelayMs:10}:{});let Q=await Z.getSecure("llm.apiKey"),J=Z.get("llm.model");if(!Q)throw new o("No API key found. Please set llm.apiKey with gdx-config command or GDX_LLM_API_KEY env var.","NO_API_KEY");if(Q.startsWith("sk-or-"))Y="openrouter";switch(Y.toLowerCase()){case"openrouter":{let q=new o5(Q,sX,J,{"HTTP-Referer":"https://github.com/Type-Delta/gdx/tree/main","X-Title":"GDX"});return await q.initClient(),q}case"openai":{let q=new o5(Q,void 0,J);return await q.initClient(),q}default:throw new o(`Unsupported LLM provider: ${Y}`,"UNSUPPORTED_LLM_PROVIDER")}}var P3=j(()=>{z0();H0();$6();JD();XD()});function b3(Z,Y){let Q=Y?Z0`
486
+ ${H.cyan}${R} stats ${H.reset+H.dim}# Stats for configured git user${H.reset}
487
+ ${H.cyan}${R} stats --author alice@example.com ${H.reset+H.dim}# Stats for specified author${H.reset}
488
+ ${H.cyan}${R} stats --all ${H.reset+H.dim}# Project-wide stats for all authors${H.reset}
489
+ ${H.cyan}${R} stats --lang-metric net ${H.reset+H.dim}# Force net language usage in author scope${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},$D={$root:["--author","--all","-a","--lang-metric"]}});class a5{client;defaultModel;options;constructor(Z,Y,Q="gpt-5-nano",J){this.options={apiKey:Z,baseURL:Y,defaultHeaders:J},this.defaultModel=Q}async initClient(){if(!hJ)hJ=(await import("openai")).default;this.client=new hJ(this.options),this.options=void 0}async generate(Z){if(!this.client)throw new o("OpenAI client not initialized. Call initClient() before using.","DEVELOPER_ERROR");return(await this.client.chat.completions.create({messages:[{role:"user",content:Z.prompt}],model:Z.model||this.defaultModel,temperature:Z.temperature,max_tokens:Z.maxTokens,reasoning_effort:Z.reasoning})).choices[0].message.content||""}async*streamGenerate(Z){try{if(!this.client)throw new o("OpenAI client not initialized. Call initClient() before using.","DEVELOPER_ERROR");let Y=await this.client.chat.completions.create({messages:[{role:"user",content:Z.prompt}],model:Z.model||this.defaultModel,temperature:Z.temperature,max_tokens:Z.maxTokens,stream:!0,reasoning_effort:Z.reasoning});for await(let Q of Y){let J=Q.choices[0]?.delta,q=J?.content,X=J?.reasoning_content||J?.reasoning||J?.reasoning_details?.[0]?.summary;if(q||X)yield{chunk:q??void 0,thinkingChunk:X??void 0,metadata:{model:Q.model,finishReason:Q.choices[0]?.finish_reason??void 0}}}}catch(Y){yield{error:SX(Y)?Y:new o(String(Y),"OPENAI_STREAM_ERROR")}}}}var hJ=null;var VD=N(()=>{z0()});function OD(){return globalThis.__GDX_TEST_LLM_HOOKS}class gJ{config;constructor(Z={}){this.config=Z;this.config={responseDelayMs:0,streamDelayMs:0,...Z}}async generate(Z){let Y=OD();return Y?.onGenerate?.(Z),Y?.generateResponse??"Mock response from LLM"}async*streamGenerate(Z){let Y=OD();Y?.onStreamGenerate?.(Z);let J=(Y?.streamResponse??"Mock response from LLM").split(" ");if(this.config.responseDelayMs>0)await K7(this.config.responseDelayMs);let q=`I should generate a mock response for prompt with ${J.length} words.`.split(" ");for(let X of q){if(this.config.streamDelayMs>0)await K7(this.config.streamDelayMs);yield{chunk:void 0,thinkingChunk:X+" ",metadata:{}}}for(let X of J){if(this.config.streamDelayMs>0)await K7(this.config.streamDelayMs);yield{chunk:X+" ",thinkingChunk:void 0,metadata:{}}}}}var DD=N(()=>{z0()});async function n1(){let Z=await K0(),Y=Z.get("llm.provider")||"openai";if(Y==="mock")return new gJ(Y==="mock"?{responseDelayMs:2300,streamDelayMs:10}:{});let Q=await Z.getSecure("llm.apiKey"),J=Z.get("llm.model");if(!Q)throw new o("No API key found. Please set llm.apiKey with gdx-config command or GDX_LLM_API_KEY env var.","NO_API_KEY");if(Q.startsWith("sk-or-"))Y="openrouter";switch(Y.toLowerCase()){case"openrouter":{let q=new a5(Q,zz,J,{"HTTP-Referer":"https://github.com/Type-Delta/gdx/tree/main","X-Title":"GDX"});return await q.initClient(),q}case"openai":{let q=new a5(Q,void 0,J);return await q.initClient(),q}default:throw new o(`Unsupported LLM provider: ${Y}`,"UNSUPPORTED_LLM_PROVIDER")}}var mJ=N(()=>{z0();H0();$6();VD();DD()});function pJ(Z,Y){let Q=Y?Z0`
490
490
  <user-change-description>
491
491
  User describes the changes as: ${Y}
492
492
  </user-change-description>`+`
@@ -524,7 +524,7 @@ ${Y}`,q={};for(let X of J.split(`
524
524
  </git-diff>
525
525
 
526
526
  Your commit message:
527
- `}function zD(Z,Y,Q){let J=Q?Z0`
527
+ `}function MD(Z,Y,Q){let J=Q?Z0`
528
528
  <user-change-description>
529
529
  User describes the changes as: ${Q}
530
530
  </user-change-description>`+`
@@ -549,7 +549,7 @@ ${Y}`,q={};for(let X of J.split(`
549
549
  </git-diff>
550
550
 
551
551
  Your commit message:
552
- `}function HD(Z){let Q=Z.map((J,q)=>`Example ${q+1}:
552
+ `}function jD(Z){let Q=Z.map((J,q)=>`Example ${q+1}:
553
553
  ${J}`).join("\x00");return Z0`
554
554
  <instructions>You are analyzing a Git repository's commit message history to identify and document the commit message conventions used by this project. Study the provided examples and extract the underlying patterns, structure, and style rules.</instructions>
555
555
 
@@ -574,7 +574,7 @@ ${J}`).join("\x00");return Z0`
574
574
  - Output ONLY the guideline document, no preamble
575
575
  </task>
576
576
 
577
- Commit Message Guideline:`}function WD(Z){return Z0`
577
+ Commit Message Guideline:`}function _D(Z){return Z0`
578
578
  <instruction>
579
579
  You are an unfiltered Gen-Z dev who speaks like a terminal meme lord.
580
580
  You talk in chaotic, funny, exaggerated internet slang. You sprinkle emojis,
@@ -593,13 +593,13 @@ ${J}`).join("\x00");return Z0`
593
593
  ${Z}
594
594
  </commit>
595
595
 
596
- Your unhinged reaction:`}var v3=j(()=>{o0()});async function S3(Z){let{git$:Y}=Z;try{let Q=await s8(Y,"user.email"),J=(await k`${Y} log -1 --pretty=format:%s\n\n%b --author=${Q} --no-merges`.catch(f6))?.stdout.trim();if(!J||J.length===0)return M.error("Bro, you haven't committed anything yet. \uD83E\uDD23","nocap"),1;let q=J.split(`
597
- `);for(let $ of q)R(`${H.dim}▐ ${H.reset}${$}`);R(`
596
+ Your unhinged reaction:`}var uJ=N(()=>{s0()});async function dJ(Z){let{git$:Y}=Z;try{let Q=await t4(Y,"user.email"),J=(await k`${Y} log -1 --pretty=format:%s\n\n%b --author=${Q} --no-merges`.catch(h6))?.stdout.trim();if(!J||J.length===0)return M.error("Bro, you haven't committed anything yet. \uD83E\uDD23","nocap"),1;let q=J.split(`
597
+ `);for(let $ of q)C(`${H.dim}▐ ${H.reset}${$}`);C(`
598
598
  ${H.cyan}${H.dim}Reviewing your commit message...${H.reset}
599
- `);let X=await d1(),z=x0({message:"cooking up a roast...",animateGradient:!0,gradientColor:E.Teal300,gradientColorBg:E.Fuchsia400}),W=X.streamGenerate({prompt:WD(J),temperature:0.8,maxTokens:269,reasoning:"low"}),U="",K=!1;for await(let $ of W){if($.error)return z.stop(),M.error(`\uD83D\uDE2D ill bro, the server rejected u
599
+ `);let X=await n1(),z=P0({message:"cooking up a roast...",animateGradient:!0,gradientColor:E.Teal300,gradientColorBg:E.Fuchsia400}),W=X.streamGenerate({prompt:_D(J),temperature:0.8,maxTokens:269,reasoning:"low"}),U="",K=!1;for await(let $ of W){if($.error)return z.stop(),M.error(`\uD83D\uDE2D ill bro, the server rejected u
600
600
 
601
- ${u($.error,{color:!0})}`,"nocap"),1;if($.chunk){if(!K)K=!0,z.stop();R($.chunk,""),U+=$.chunk}}if(!U)return R(`
602
- `),M.error("Unable to generate response (empty response).","nocap"),1;let B=U;return U=U.replace(/(^\s*["'`]*|["'`]*\s*$)/g,""),U=t(U,72,{mode:"softboundary",redundancyLv:2}),R5(B,U),R(),0}catch(Q){return M.error(u(Q,{color:!0}),"nocap"),1}}var UD,KD;var i5=j(()=>{z0();g0();R0();P3();w0();v3();H0();v0();b0();X6();o0();UD={long:()=>{return t(Z0`
601
+ ${u($.error,{color:!0})}`,"nocap"),1;if($.chunk){if(!K)K=!0,z.stop();C($.chunk,""),U+=$.chunk}}if(!U)return C(`
602
+ `),M.error("Unable to generate response (empty response).","nocap"),1;let B=U;return U=U.replace(/(^\s*["'`]*|["'`]*\s*$)/g,""),U=t(U,72,{mode:"softboundary",redundancyLv:2}),E5(B,U),C(),0}catch(Q){return M.error(u(Q,{color:!0}),"nocap"),1}}var ND,ID;var r5=N(()=>{z0();m0();R0();mJ();w0();uJ();H0();S0();v0();e0();s0();ND={long:()=>{return t(Z0`
603
603
  ${H.bright+d("NOCAP",E.Zinc400,E.Zinc100,0.2)+H.reset}
604
604
  Generate a playful roast for your latest commit message.
605
605
 
@@ -612,16 +612,18 @@ ${u($.error,{color:!0})}`,"nocap"),1;if($.chunk){if(!K)K=!0,z.stop();R($.chunk,"
612
612
  ${H.bright+d("NOTES",E.Zinc400,E.Zinc100,0.2)+H.reset}
613
613
  The command requires a valid git user.email in repo config and a configured LLM adapter. Network or LLM errors will print a colored error and return a non-zero exit code.
614
614
  `,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})},short:"Create a humorous critique of your latest commit message.",usage:()=>{return t(Z0`
615
- ${H.cyan}${C} nocap${H.reset}
615
+ ${H.cyan}${R} nocap${H.reset}
616
616
 
617
617
  Examples:
618
- ${H.cyan}${C} nocap ${H.reset+H.dim}# Roast the latest commit by the configured git user${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},KD={$root:[]}});function y3(Z){let Y={},Q=Array.from(new Set(Z));for(let J of Q){if(!J)continue;Y[J]={}}return Y}function c1(Z,Y,Q="$allOf"){let J={},q=Array.from(new Set(Z));for(let X of q){if(!X)continue;J[X]={[Q]:Y}}return J}function T8(){if(l1!==null)return l1;return l1=process.stdout.rows||24,l1}function CZ(){if(n1!==null)return n1;return n1=process.stdout.columns||80,n1}function f3(){l1=null,n1=null}class BD{lines=[];wrappedLines=[];options;lastWidth=0;lastHeight=0;redundancyLv=0;constructor(Z,Y={}){this.options={...o1,...Y},this.redundancyLv=Y.redundancyLv??W7(Z),this.lines=Z.split(`
619
- `),this.lastWidth=CZ(),this.lastHeight=T8(),this.updateWrappedLines()}updateWrappedLines(){let Z=this.lastWidth,Y=this.options.showLineNumbers?Z-this.options.lineNumberWidth-1:Z;this.wrappedLines=[];for(let Q=0;Q<this.lines.length;Q++){let J=this.lines[Q];if(this.options.wrapLines&&s0(J,this.redundancyLv)>Y){let X=t(J,Y,{mode:"strict",redundancyLv:Math.max(0,this.redundancyLv)}).split(`
620
- `),z=this.options.showLineNumbers?this.formatLineNumber(Q+1):"",W;for(let U=0;U<X.length;U++){let K=U===0?z:" ".repeat(this.options.lineNumberWidth+1);if(W)X[U]=iZ(W)+X[U];if(this.wrappedLines.push(K+X[U]),U!=X.length-1)W=oZ(X[U])}}else if(this.options.showLineNumbers)this.wrappedLines.push(this.formatLineNumber(Q+1)+J);else this.wrappedLines.push(J)}}formatLineNumber(Z){return String(Z).padStart(this.options.lineNumberWidth)+" "}getLineCount(){return this.wrappedLines.length}getLine(Z){return this.wrappedLines[Z]||""}render(Z,Y,Q){let J=[],q=Y6(this.options.backgroundColor);for(let X=0;X<Y-1;X++){let z=Z+X;if(z<this.wrappedLines.length){let W=this.wrappedLines[z],U=m4(W),K=Math.max(0,Q-s0(U,this.redundancyLv));J.push(`${q}${W}${" ".repeat(K)}${H.reset}`)}else J.push(`${q}${" ".repeat(Q)}${H.reset}`)}return J}onResize(Z,Y){if(Z!==this.lastWidth||Y!==this.lastHeight)this.lastWidth=Z,this.lastHeight=Y,this.updateWrappedLines()}}async function s5(Z,Y={}){let Q=await K0(),J={...o1,...{exitBehavior:Q.get("viewer.exitBehavior")},...Y},q=new BD(Z,J);return h3(q,J)}async function h3(Z,Y={}){let Q=await K0(),J={...o1,...{exitBehavior:Q.get("viewer.exitBehavior")},...Y},q=J.redundancyLv??0;if(!process.stdout.isTTY||!process.stdin.isTTY){for(let N=0;N<Z.getLineCount();N++)process.stdout.write(Z.getLine(N)+`
621
- `);return}process.stdin.setRawMode(!0),process.stdin.resume(),process.stdin.setEncoding("utf-8");let X=0,z=Z.getLineCount(),W=!0,U=null,K=[];process.stdout.write("\x1B[?25l"),process.stdout.write("\x1B[2J\x1B[H");let B=M.logLevel;M.logLevel=-1;function $(){let N=performance.now(),w=T8(),G=CZ(),I=Z.render(X,w,G);process.stdout.write("\x1B[H");for(let A of I)process.stdout.write("\x1B[K"+A+`
622
- `);if(J.showStatus){let A=J.statusFormat(X+1,z,G,{statusText:J.statusText,actions:J.actions,redundancyLv:q}),x=Math.max(0,G-s0(m4(A),q)),T=Y6(J.backgroundColor),S=E0(X0.overlay0);process.stdout.write("\x1B[K"+T+S+A+" ".repeat(x)+H.reset)}if(K.length>30)K.shift();K.push(performance.now()-N)}function F(){if(process.stdin.off("data",_),process.stdout.off("resize",D),process.stdout.write("\x1B[?25h"),J.exitBehavior==="clearScreen")process.stdout.write("\x1B[H"),process.stdout.clearScreenDown();else if(J.exitBehavior==="nextLine"){let w=T8()-1;process.stdout.write(`\x1B[${w}B`)}process.stdin.setRawMode(!1),process.stdin.pause(),M.logLevel=B,M.debug(`Pager performance: ${K.length>0?f4(K.reduce((N,w)=>N+w,0)/K.length,4):"N/A"}ms average over ${K.length} renders`,"pager")}function O(){f3();let N=CZ(),w=T8();if(Z.onResize)Z.onResize(N,w);$()}function V(N){let G=T8()-1,I=Math.max(0,Z.getLineCount()-G),A=J.actions||[];if(A.length>0){for(let x of A)if((Array.isArray(x.key)?x.key:[x.key]).includes(N)){U={action:x.action,key:N},W=!1;return}}switch(N){case"q":case"\x03":case"\x1B":if(A.length>0&&!U)U={action:"abort",key:N};W=!1;break;case"\x1B[A":case"\x1B[A":case"k":X=Math.max(0,X-J.scrollSensitivity);break;case"\x1B[B":case"\x1B[B":case"j":X=Math.min(I,X+J.scrollSensitivity);break;case"\x1B[5~":case"b":{let x=G-1;X=Math.max(0,X-x);break}case"\x1B[6~":case"n":case" ":{let x=G-1;X=Math.min(I,X+x);break}case"g":case"\x1B[1~":case"\x1B[H":X=0;break;case"G":case"\x1B[4~":case"\x1B[F":X=I;break}if(W)$()}let D=()=>O(),_=(N)=>{if(V(N.toString()),!W)F()};return process.stdout.on("resize",D),process.stdin.on("data",_),$(),new Promise((N)=>{let w=setInterval(()=>{if(!W)clearInterval(w),N(U||void 0)},50)})}var o1,l1=null,n1=null;var g3=j(()=>{z0();w0();b0();H0();$6();o1={showLineNumbers:!1,lineNumberWidth:4,wrapLines:!0,showStatus:!0,statusFormat:(Z,Y,Q,J)=>{let q=E0(X0.cyan),X=E0(X0.overlay0),z=Math.min(Z+T8()-2,Y),W=typeof J?.statusText==="function"?J.statusText():J?.statusText,U=J?.actions?J.actions.map((F)=>{let O=Array.isArray(F.key)?F.key:[F.key],V=F.displayKey??O[0]??"";if(!V)return"";return`${H.bright+q}${V}${X+H.normal} ${F.label}`}).filter(Boolean).join(`${H.dim},${H.normal} `):"",K=U?`${H.bright+q}↑ ↓ b n${X+H.normal} navigate${H.dim},${H.normal} ${H.bright+q}q${X+H.normal} quit${H.dim},${H.normal}`:`${H.bright+q}↑ ↓ b n Home End${X+H.normal} to navigate${H.dim},${H.normal} ${H.bright+q}q${X+H.normal} quit`,B=[W,K,U].filter(Boolean).join(" "),$=s0(B,0)>Q*0.6?`ln ${H.bright}${Z}${H.normal} of ${H.bright}${Y}${z===Y?H.red+" EOF"+H.white:""}`:`ln ${H.bright}${Z}-${z}${H.normal} of ${H.bright}${Y}${z===Y?H.red+" (EOF)"+H.white:""}`;return" "+y0([B,$],Q-4,{align:"spacebetween",filler:" ",overflow:"collapse",collapseLocation:"mid",redundancyLv:J?.redundancyLv??0})+" "},backgroundColor:X0.base,scrollSensitivity:3,statusText:"",actions:[],exitBehavior:"none"}});import mP from"os";class $D{requirements=[];maxWorker;workerSemaphore;taskTimeout;workers=new Set;idleWorkers=[];workerWaiters=[];logger=new M("Threaded");dataValue;nextTaskId=1;startingWorkers=0;closed=!1;constructor(Z={}){this.maxWorker=Math.max(1,Z.maxWorker??Math.floor(mP.cpus().length/2)),this.taskTimeout=Z.taskTimeout,this.workerSemaphore=Z.semaphore||null,this.logger.debug(`Threaded pool initialized with options: ${u(Z,{color:!0})}`)}require(Z,Y){if(this.workers.size>0)throw Error("Threaded.require() must be called before the pool creates workers.");if(uP(Y),typeof Z==="string")return this.requirements.push({kind:"import",name:Y,source:Z}),this;if(typeof Z==="function")return this.requirements.push({kind:"function",name:Y,source:Z.toString()}),this;return this.requirements.push({kind:"value",name:Y,source:m3(Z)}),this}data(Z){return this.dataValue=Z,this}async spawn(Z,Y=[]){if(this.closed)throw Error("Threaded pool is closed.");let Q=await this.acquireWorker();try{return await this.runTask(Q,Z,Y)}finally{this.releaseWorker(Q)}}async map(Z,Y){let Q=Y??this.dataValue;if(!Array.isArray(Q))throw Error("Threaded.map() requires array data.");let J=Q;return await Promise.all(J.map((q,X)=>this.spawn(Z,[q,X,J])))}async destroy(){this.closed=!0;let Z=[...this.workers];this.workers.clear(),this.idleWorkers.length=0,this.workerWaiters.length=0,await Promise.all(Z.map((Y)=>Y.worker.terminate()))}async acquireWorker(){let Z=this.idleWorkers.pop();if(Z&&!Z.terminated)return Z.busy=!0,Z.worker.ref(),Z;if(this.workers.size+this.startingWorkers<this.maxWorker){this.startingWorkers++;try{let Y=await this.logger.time("Initialized new worker",this.createWorker.bind(this));return Y.busy=!0,Y.worker.ref(),Y}finally{this.startingWorkers--}}return await new Promise((Y)=>{this.workerWaiters.push((Q)=>{Q.busy=!0,Q.worker.ref(),Y(Q)})})}releaseWorker(Z){if(Z.terminated||!this.workers.has(Z))return;Z.busy=!1;let Y=this.workerWaiters.shift();if(Y){Y(Z);return}Z.worker.unref(),this.idleWorkers.push(Z)}async createWorker(){let{Worker:Z}=await import("node:worker_threads"),Y=new Z(pP,{eval:!0,workerData:{requirements:this.requirements.map(({kind:J,name:q,source:X})=>({kind:J,name:q,source:X}))}}),Q={worker:Y,ready:Promise.resolve(),busy:!1,terminated:!1};return Q.ready=this.waitForReady(Q),this.workers.add(Q),Y.once("exit",()=>this.removeWorker(Q)),await Q.ready,Y.on("error",()=>this.removeWorker(Q)),Q}async waitForReady(Z){await new Promise((Y,Q)=>{let J=(W)=>{if(W.type!=="ready")return;if(z(),W.error){let U=Error(W.error.message);U.stack=W.error.stack,Q(U);return}Y()},q=(W)=>{z(),Q(W)},X=(W)=>{if(W===0)return;z(),Q(Error(`Threaded worker exited with code ${W}.`))},z=()=>{Z.worker.off("message",J),Z.worker.off("error",q),Z.worker.off("exit",X)};Z.worker.on("message",J),Z.worker.once("error",q),Z.worker.once("exit",X)}).catch((Y)=>{throw this.removeWorker(Z),Z.worker.terminate(),Error(`Threaded worker initialization failed: ${o.from(Y)}`)})}async runTask(Z,Y,Q){await Z.ready,await this.workerSemaphore?.acquire();let J=!1;return await new Promise((q,X)=>{let z=this.nextTaskId++,W=!1,U,K=(V)=>{if(W)return;if(W=!0,!J&&this.workerSemaphore)this.workerSemaphore.release();if(U)clearTimeout(U);O(),V()},B=(V)=>{if(V.id!==z)return;K(()=>{if(V.error){let D=Error(V.error.message);D.stack=V.error.stack,X(D);return}q(V.result)})},$=(V)=>{K(()=>{this.removeWorker(Z),X(V)})},F=(V)=>{if(V===0)return;K(()=>{this.removeWorker(Z),X(Error(`Threaded worker exited with code ${V}.`))})},O=()=>{Z.worker.off("message",B),Z.worker.off("error",$),Z.worker.off("exit",F)};if(this.taskTimeout!==void 0)U=setTimeout(()=>{K(()=>{this.removeWorker(Z),Z.worker.terminate(),X(Error(`Threaded task timed out after ${this.taskTimeout}ms.`))})},this.taskTimeout);Z.worker.on("message",B),Z.worker.once("error",$),Z.worker.once("exit",F),Z.worker.postMessage({args:Q,id:z,taskSource:Y.toString()})}).catch((q)=>{if(!J&&this.workerSemaphore)this.workerSemaphore.release();throw Error(`Threaded task failed: ${o.from(q)}`)})}removeWorker(Z){Z.terminated=!0,this.workers.delete(Z);let Y=this.idleWorkers.indexOf(Z);if(Y!==-1)this.idleWorkers.splice(Y,1);this.logger.debug(`Worker terminated. Active workers: ${this.workers.size}.`)}}function uP(Z){if(!/^[A-Za-z_$][\w$]*$/.test(Z))throw Error(`Invalid worker requirement name '${Z}'.`)}function m3(Z,Y=new WeakSet){if(typeof Z==="function")return dP(Z);if(Z===void 0)return"undefined";if(Z===null)return"null";if(typeof Z==="bigint")return`${Z.toString()}n`;if(typeof Z!=="object")return JSON.stringify(Z);if(Y.has(Z))throw Error("Worker requirement values cannot contain circular references.");if(Y.add(Z),Array.isArray(Z)){let J=`[${Z.map((q)=>m3(q,Y)).join(",")}]`;return Y.delete(Z),J}let Q=Object.entries(Z).map(([J,q])=>`${JSON.stringify(J)}:${m3(q,Y)}`).join(",");return Y.delete(Z),`({${Q}})`}function dP(Z){let Y=Z.toString();if(/^(async\s+)?function\b/.test(Y)||/^(async\s*)?\(/.test(Y))return Y;if(/^async\s+[\w$]+\s*\(/.test(Y))return Y.replace(/^async\s+/,"async function ");if(/^[\w$]+\s*\(/.test(Y))return`function ${Y}`;return Y}var pP=`
618
+ ${H.cyan}${R} nocap ${H.reset+H.dim}# Roast the latest commit by the configured git user${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},ID={$root:[]}});function cJ(Z){let Y={},Q=Array.from(new Set(Z));for(let J of Q){if(!J)continue;Y[J]={}}return Y}function o1(Z,Y,Q="$allOf"){let J={},q=Array.from(new Set(Z));for(let X of q){if(!X)continue;J[X]={[Q]:Y}}return J}function E4(){if(i1!==null)return i1;return i1=process.stdout.rows||24,i1}function TZ(){if(s1!==null)return s1;return s1=process.stdout.columns||80,s1}function lJ(){i1=null,s1=null}class LD{lines=[];renderedLines=[];options;lastWidth=0;lastHeight=0;redundancyLv=0;constructor(Z,Y={}){this.options={...a1,...Y},this.redundancyLv=Y.redundancyLv??B7(Z),this.lines=Z.split(`
619
+ `),this.lastWidth=TZ(),this.lastHeight=E4(),this.updateRenderedLines()}updateRenderedLines(){let Z=this.lastWidth,Y=this.options.lineNumberWidth<=5?1:2,Q=O6(X0.mantle,X0.surface0,0.2),J=l0(this.options.backgroundColor),q=this.options.showLineNumbers?Z-this.options.lineNumberWidth:Z;this.renderedLines=[];for(let X=0;X<this.lines.length;X++){let z=this.lines[X];if(this.options.wrapLines&&r0(z,this.redundancyLv)>q){let U=t(z,q,{mode:"strict",redundancyLv:Math.max(0,this.redundancyLv)}).split(`
620
+ `),K=this.options.showLineNumbers?this.formatLineNumber(X+1,Y,Q):"",B;for(let $=0;$<U.length;$++){let V=$===0?K:this.formatLineNumber(-1,Y,Q);if(B)U[$]=aZ(B)+U[$];if(this.renderedLines.push(V+J+U[$]),$!=U.length-1)B=sZ(U[$])}}else if(this.options.showLineNumbers)this.renderedLines.push(this.formatLineNumber(X+1,Y,Q)+J+z);else this.renderedLines.push(J+z)}}formatLineNumber(Z,Y,Q){if(Z===-1)return l0(Q)+" ".repeat(this.options.lineNumberWidth);return T0(X0.overlay1)+l0(Q)+b0(String(Z),this.options.lineNumberWidth-Y,{align:"right"})+" ".repeat(Y)}getLineCount(){return this.renderedLines.length}getLine(Z){return this.renderedLines[Z]||""}render(Z,Y,Q){let J=[],q=l0(this.options.backgroundColor);for(let X=0;X<Y-1;X++){let z=Z+X;if(z<this.renderedLines.length){let W=this.renderedLines[z],U=d8(W),K=Math.max(0,Q-r0(U,this.redundancyLv));J.push(`${q}${W}${" ".repeat(K)}${H.reset}`)}else J.push(`${q}${" ".repeat(Q)}${H.reset}`)}return J}onResize(Z,Y){if(Z!==this.lastWidth||Y!==this.lastHeight)this.lastWidth=Z,this.lastHeight=Y,this.updateRenderedLines()}}async function t5(Z,Y={}){let Q=await K0(),J={...a1,...{exitBehavior:Q.get("viewer.exitBehavior")},...Y},q=new LD(Z,J);return nJ(q,J)}async function nJ(Z,Y={}){let Q=await K0(),J={...a1,...{exitBehavior:Q.get("viewer.exitBehavior")},...Y},q=J.redundancyLv??0;if(!process.stdout.isTTY||!process.stdin.isTTY){for(let _=0;_<Z.getLineCount();_++)process.stdout.write(Z.getLine(_)+`
621
+ `);return}process.stdin.setRawMode(!0),process.stdin.resume(),process.stdin.setEncoding("utf-8");let X=0,z=Z.getLineCount(),W=!0,U=null,K=[];process.stdout.write("\x1B[?25l"),process.stdout.write("\x1B[2J\x1B[H");let B=M.logLevel;M.logLevel=-1;function $(){let _=performance.now(),L=E4(),A=TZ(),I=Z.render(X,L,A);process.stdout.write("\x1B[H");for(let G of I)process.stdout.write("\x1B[K"+G+`
622
+ `);if(J.showStatus){let G=J.statusFormat(X+1,z,A,{statusText:J.statusText,actions:J.actions,redundancyLv:q}),P=Math.max(0,A-r0(d8(G),q)),T=l0(J.backgroundColor),S=T0(X0.overlay0);process.stdout.write("\x1B[K"+T+S+G+" ".repeat(P)+H.reset)}if(K.length>30)K.shift();K.push(performance.now()-_)}function V(){if(process.stdin.off("data",j),process.stdout.off("resize",O),process.stdout.write("\x1B[?25h"),J.exitBehavior==="clearScreen")process.stdout.write("\x1B[H"),process.stdout.clearScreenDown();else if(J.exitBehavior==="nextLine"){let L=E4()-1;process.stdout.write(`\x1B[${L}B`)}process.stdin.setRawMode(!1),M.logLevel=B,M.debug(`Pager performance: ${K.length>0?m8(K.reduce((_,L)=>_+L,0)/K.length,4):"N/A"}ms average over ${K.length} renders`,"pager")}function D(){lJ();let _=TZ(),L=E4();if(Z.onResize)Z.onResize(_,L);$()}function F(_){let A=E4()-1,I=Math.max(0,Z.getLineCount()-A),G=J.actions||[];if(G.length>0){for(let P of G)if((Array.isArray(P.key)?P.key:[P.key]).includes(_)){U={action:P.action,key:_},W=!1;return}}switch(_){case"q":case"\x03":case"\x1B":if(G.length>0&&!U)U={action:"abort",key:_};W=!1;break;case"\x1B[A":case"\x1B[A":case"k":X=Math.max(0,X-J.scrollSensitivity);break;case"\x1B[B":case"\x1B[B":case"j":X=Math.min(I,X+J.scrollSensitivity);break;case"\x1B[5~":case"b":{let P=A-1;X=Math.max(0,X-P);break}case"\x1B[6~":case"n":case" ":{let P=A-1;X=Math.min(I,X+P);break}case"g":case"\x1B[1~":case"\x1B[H":X=0;break;case"G":case"\x1B[4~":case"\x1B[F":X=I;break}if(W)$()}let O=()=>D(),j=(_)=>{if(F(_.toString()),!W)V()};return process.stdout.on("resize",O),process.stdin.on("data",j),$(),new Promise((_)=>{let L=setInterval(()=>{if(!W)clearInterval(L),_(U||void 0)},50)})}var a1,i1=null,s1=null;var oJ=N(()=>{z0();w0();v0();H0();$6();a1={showLineNumbers:!1,lineNumberWidth:5,wrapLines:!0,showStatus:!0,statusFormat:(Z,Y,Q,J)=>{let q=T0(X0.cyan),X=T0(X0.overlay0),z=Math.min(Z+E4()-2,Y),W=typeof J?.statusText==="function"?J.statusText():J?.statusText,U=J?.actions?J.actions.map((V)=>{let D=Array.isArray(V.key)?V.key:[V.key],F=V.displayKey??D[0]??"";if(!F)return"";return`${H.bright+q}${F}${X+H.normal} ${V.label}`}).filter(Boolean).join(`${H.dim},${H.normal} `):"",K=U?`${H.bright+q}↑ ↓ b n${X+H.normal} navigate${H.dim},${H.normal} ${H.bright+q}q${X+H.normal} quit${H.dim},${H.normal}`:`${H.bright+q}↑ ↓ b n Home End${X+H.normal} to navigate${H.dim},${H.normal} ${H.bright+q}q${X+H.normal} quit`,B=[W,K,U].filter(Boolean).join(" "),$=r0(B,0)>Q*0.6?`ln ${H.bright}${Z}${H.normal} of ${H.bright}${Y}${z===Y?H.red+" EOF"+H.white:""}`:`ln ${H.bright}${Z}-${z}${H.normal} of ${H.bright}${Y}${z===Y?H.red+" (EOF)"+H.white:""}`;return" "+b0([B,$],Q-4,{align:"spacebetween",filler:" ",overflow:"collapse",collapseLocation:"mid",redundancyLv:J?.redundancyLv??0})+" "},backgroundColor:X0.base,scrollSensitivity:3,statusText:"",actions:[],exitBehavior:"none"}});import qb from"os";import{createRequire as Xb}from"node:module";import{fileURLToPath as zb,pathToFileURL as Hb}from"node:url";class AD{requirements=[];maxWorker;workerSemaphore;taskTimeout;env;workerSource;workers=new Set;idleWorkers=[];workerWaiters=[];logger=new M("Threaded");dataValue;nextTaskId=1;startingWorkers=0;closed=!1;constructor(Z={}){this.maxWorker=Math.max(1,Z.maxWorker??Math.floor(qb.availableParallelism()/2)),this.taskTimeout=Z.taskTimeout,this.env=Z.env??{},this.workerSource=Z.workerSource??Wb,this.workerSemaphore=Z.semaphore||null,this.logger.debug(`Threaded pool initialized with options: ${u(Z,{color:!0})}`)}require(Z,Y){if(this.workers.size>0)throw Error("Threaded.require() must be called before the pool creates workers.");if(Ub(Y),typeof Z==="string")return this.requirements.push({kind:"import",name:Y,source:Fb(Z)}),this;if(typeof Z==="function")return this.requirements.push({kind:"function",name:Y,source:Z.toString()}),this;return this.requirements.push({kind:"value",name:Y,source:iJ(Z)}),this}data(Z){return this.dataValue=Z,this}async spawn(Z,Y=[]){if(this.closed)throw Error("Threaded pool is closed.");let Q=await this.acquireWorker();try{return await this.runTask(Q,Z,Y)}finally{this.releaseWorker(Q)}}async map(Z,Y){let Q=Y??this.dataValue;if(!Array.isArray(Q))throw Error("Threaded.map() requires array data.");let J=Q;return await Promise.all(J.map((q,X)=>this.spawn(Z,[q,X,J])))}async destroy(){this.closed=!0;let Z=[...this.workers];this.workers.clear(),this.idleWorkers.length=0,this.workerWaiters.length=0,await Promise.all(Z.map((Y)=>Y.worker.terminate()))}async acquireWorker(){let Z=this.idleWorkers.pop();if(Z&&!Z.terminated)return Z.busy=!0,Z.worker.ref(),Z;if(this.workers.size+this.startingWorkers<this.maxWorker){this.startingWorkers++;try{let Y=await this.logger.time("Initialized new worker",this.createWorker.bind(this));return Y.busy=!0,Y.worker.ref(),Y}finally{this.startingWorkers--}}return await new Promise((Y)=>{this.workerWaiters.push((Q)=>{Q.busy=!0,Q.worker.ref(),Y(Q)})})}releaseWorker(Z){if(Z.terminated||!this.workers.has(Z))return;Z.busy=!1;let Y=this.workerWaiters.shift();if(Y){Y(Z);return}Z.worker.unref(),this.idleWorkers.push(Z)}async createWorker(){let{Worker:Z}=await import("node:worker_threads"),Y=Kb(this.workerSource),Q=new Z(Y.source,{eval:Y.eval,workerData:{env:this.env,requirements:this.requirements.map(({kind:q,name:X,source:z})=>({kind:q,name:X,source:z}))}}),J={worker:Q,ready:Promise.resolve(),busy:!1,terminated:!1};return J.ready=this.waitForReady(J),this.workers.add(J),Q.once("exit",()=>this.removeWorker(J)),await J.ready,Q.on("error",()=>this.removeWorker(J)),J}async waitForReady(Z){await new Promise((Y,Q)=>{let J=(W)=>{if(W.type!=="ready")return;if(z(),W.error){let U=Error(W.error.message);U.stack=W.error.stack,Q(U);return}Y()},q=(W)=>{z(),Q(W)},X=(W)=>{if(W===0)return;z(),Q(Error(`Threaded worker exited with code ${W}.`))},z=()=>{Z.worker.off("message",J),Z.worker.off("error",q),Z.worker.off("exit",X)};Z.worker.on("message",J),Z.worker.once("error",q),Z.worker.once("exit",X)}).catch((Y)=>{throw this.removeWorker(Z),Z.worker.terminate(),Error(`Threaded worker initialization failed: ${o.from(Y)}`)})}async runTask(Z,Y,Q){await Z.ready,await this.workerSemaphore?.acquire();let J=!1;return await new Promise((q,X)=>{let z=this.nextTaskId++,W=!1,U,K=(F)=>{if(W)return;if(W=!0,!J&&this.workerSemaphore)this.workerSemaphore.release();if(U)clearTimeout(U);D(),F()},B=(F)=>{if(F.id!==z)return;K(()=>{if(F.error){let O=Error(F.error.message);O.stack=F.error.stack,X(O);return}q(F.result)})},$=(F)=>{K(()=>{this.removeWorker(Z),X(F)})},V=(F)=>{if(F===0)return;K(()=>{this.removeWorker(Z),X(Error(`Threaded worker exited with code ${F}.`))})},D=()=>{Z.worker.off("message",B),Z.worker.off("error",$),Z.worker.off("exit",V)};if(this.taskTimeout!==void 0)U=setTimeout(()=>{K(()=>{this.removeWorker(Z),Z.worker.terminate(),X(Error(`Threaded task timed out after ${this.taskTimeout}ms.`))})},this.taskTimeout);Z.worker.on("message",B),Z.worker.once("error",$),Z.worker.once("exit",V),Z.worker.postMessage({args:Q,id:z,taskSource:Y.toString()})}).catch((q)=>{if(!J&&this.workerSemaphore)this.workerSemaphore.release();throw Error(`Threaded task failed: ${o.from(q)}`)})}removeWorker(Z){Z.terminated=!0,this.workers.delete(Z);let Y=this.idleWorkers.indexOf(Z);if(Y!==-1)this.idleWorkers.splice(Y,1);this.logger.debug(`Worker terminated. Active workers: ${this.workers.size}.`)}}function Ub(Z){if(!/^[A-Za-z_$][\w$]*$/.test(Z))throw Error(`Invalid worker requirement name '${Z}'.`)}function Kb(Z){if(Z instanceof URL)return{source:wD(Z),eval:!1};if(typeof Z==="string")return{source:Z,eval:!0};return{source:Z.source instanceof URL?wD(Z.source):Z.source,eval:Z.eval??typeof Z.source==="string"}}function wD(Z){return Z.protocol==="file:"?zb(Z):Z}function iJ(Z,Y=new WeakSet){if(typeof Z==="function")return Bb(Z);if(Z===void 0)return"undefined";if(Z===null)return"null";if(typeof Z==="bigint")return`${Z.toString()}n`;if(typeof Z!=="object")return JSON.stringify(Z);if(Y.has(Z))throw Error("Worker requirement values cannot contain circular references.");if(Y.add(Z),Array.isArray(Z)){let J=`[${Z.map((q)=>iJ(q,Y)).join(",")}]`;return Y.delete(Z),J}let Q=Object.entries(Z).map(([J,q])=>`${JSON.stringify(J)}:${iJ(q,Y)}`).join(",");return Y.delete(Z),`({${Q}})`}function Bb(Z){let Y=Z.toString();if(/^(async\s+)?function\b/.test(Y)||/^(async\s*)?\(/.test(Y))return Y;if(/^async\s+[\w$]+\s*\(/.test(Y))return Y.replace(/^async\s+/,"async function ");if(/^[\w$]+\s*\(/.test(Y))return`function ${Y}`;return Y}function Fb(Z){if(Z.startsWith("node:"))return Z;if(/^[a-zA-Z][a-zA-Z+.-]*:/.test(Z))return Z;try{return Hb($b.resolve(Z)).href}catch{return Z}}var Wb=`
623
623
  const { parentPort, workerData } = require('node:worker_threads');
624
624
 
625
+ Object.assign(process.env, workerData.env);
626
+
625
627
  function serializeError(error) {
626
628
  return error instanceof Error
627
629
  ? { message: error.message, stack: error.stack }
@@ -651,52 +653,53 @@ function serializeError(error) {
651
653
  })().catch((error) => {
652
654
  parentPort.postMessage({ type: 'ready', error: serializeError(error) });
653
655
  });
654
- `,FD;var VD=j(()=>{z0();w0();FD=$D});class r0{diff(Z,Y,Q={}){let J;if(typeof Q==="function")J=Q,Q={};else if("callback"in Q)J=Q.callback;let q=this.castInput(Z,Q),X=this.castInput(Y,Q),z=this.removeEmpty(this.tokenize(q,Q)),W=this.removeEmpty(this.tokenize(X,Q));return this.diffWithOptionsObj(z,W,Q,J)}diffWithOptionsObj(Z,Y,Q,J){var q;let X=(N)=>{if(N=this.postProcess(N,Q),J){setTimeout(function(){J(N)},0);return}else return N},z=Y.length,W=Z.length,U=1,K=z+W;if(Q.maxEditLength!=null)K=Math.min(K,Q.maxEditLength);let B=(q=Q.timeout)!==null&&q!==void 0?q:1/0,$=Date.now()+B,F=[{oldPos:-1,lastComponent:void 0}],O=this.extractCommon(F[0],Y,Z,0,Q);if(F[0].oldPos+1>=W&&O+1>=z)return X(this.buildValues(F[0].lastComponent,Y,Z));let V=-1/0,D=1/0,_=()=>{for(let N=Math.max(V,-U);N<=Math.min(D,U);N+=2){let w,G=F[N-1],I=F[N+1];if(G)F[N-1]=void 0;let A=!1;if(I){let T=I.oldPos-N;A=I&&0<=T&&T<z}let x=G&&G.oldPos+1<W;if(!A&&!x){F[N]=void 0;continue}if(!x||A&&G.oldPos<I.oldPos)w=this.addToPath(I,!0,!1,0,Q);else w=this.addToPath(G,!1,!0,1,Q);if(O=this.extractCommon(w,Y,Z,N,Q),w.oldPos+1>=W&&O+1>=z)return X(this.buildValues(w.lastComponent,Y,Z))||!0;else{if(F[N]=w,w.oldPos+1>=W)D=Math.min(D,N-1);if(O+1>=z)V=Math.max(V,N+1)}}U++};if(J)(function N(){setTimeout(function(){if(U>K||Date.now()>$)return J(void 0);if(!_())N()},0)})();else while(U<=K&&Date.now()<=$){let N=_();if(N)return N}}addToPath(Z,Y,Q,J,q){let X=Z.lastComponent;if(X&&!q.oneChangePerToken&&X.added===Y&&X.removed===Q)return{oldPos:Z.oldPos+J,lastComponent:{count:X.count+1,added:Y,removed:Q,previousComponent:X.previousComponent}};else return{oldPos:Z.oldPos+J,lastComponent:{count:1,added:Y,removed:Q,previousComponent:X}}}extractCommon(Z,Y,Q,J,q){let X=Y.length,z=Q.length,W=Z.oldPos,U=W-J,K=0;while(U+1<X&&W+1<z&&this.equals(Q[W+1],Y[U+1],q))if(U++,W++,K++,q.oneChangePerToken)Z.lastComponent={count:1,previousComponent:Z.lastComponent,added:!1,removed:!1};if(K&&!q.oneChangePerToken)Z.lastComponent={count:K,previousComponent:Z.lastComponent,added:!1,removed:!1};return Z.oldPos=W,U}equals(Z,Y,Q){if(Q.comparator)return Q.comparator(Z,Y);else return Z===Y||!!Q.ignoreCase&&Z.toLowerCase()===Y.toLowerCase()}removeEmpty(Z){let Y=[];for(let Q=0;Q<Z.length;Q++)if(Z[Q])Y.push(Z[Q]);return Y}castInput(Z,Y){return Z}tokenize(Z,Y){return Array.from(Z)}join(Z){return Z.join("")}postProcess(Z,Y){return Z}get useLongestToken(){return!1}buildValues(Z,Y,Q){let J=[],q;while(Z)J.push(Z),q=Z.previousComponent,delete Z.previousComponent,Z=q;J.reverse();let X=J.length,z=0,W=0,U=0;for(;z<X;z++){let K=J[z];if(!K.removed){if(!K.added&&this.useLongestToken){let B=Y.slice(W,W+K.count);B=B.map(function($,F){let O=Q[U+F];return O.length>$.length?O:$}),K.value=this.join(B)}else K.value=this.join(Y.slice(W,W+K.count));if(W+=K.count,!K.added)U+=K.count}else K.value=this.join(Q.slice(U,U+K.count)),U+=K.count}return J}}function DD(Z,Y,Q){return p3.diff(Z,Y,Q)}var OD,p3;var MD=j(()=>{OD=class OD extends r0{};p3=new OD});function u3(Z,Y){let Q;for(Q=0;Q<Z.length&&Q<Y.length;Q++)if(Z[Q]!=Y[Q])return Z.slice(0,Q);return Z.slice(0,Q)}function d3(Z,Y){let Q;if(!Z||!Y||Z[Z.length-1]!=Y[Y.length-1])return"";for(Q=0;Q<Z.length&&Q<Y.length;Q++)if(Z[Z.length-(Q+1)]!=Y[Y.length-(Q+1)])return Z.slice(-Q);return Z.slice(-Q)}function a5(Z,Y,Q){if(Z.slice(0,Y.length)!=Y)throw Error(`string ${JSON.stringify(Z)} doesn't start with prefix ${JSON.stringify(Y)}; this is a bug`);return Q+Z.slice(Y.length)}function r5(Z,Y,Q){if(!Y)return Z+Q;if(Z.slice(-Y.length)!=Y)throw Error(`string ${JSON.stringify(Z)} doesn't end with suffix ${JSON.stringify(Y)}; this is a bug`);return Z.slice(0,-Y.length)+Q}function RZ(Z,Y){return a5(Z,Y,"")}function i1(Z,Y){return r5(Z,Y,"")}function c3(Z,Y){return Y.slice(0,cP(Z,Y))}function cP(Z,Y){let Q=0;if(Z.length>Y.length)Q=Z.length-Y.length;let J=Y.length;if(Z.length<Y.length)J=Z.length;let q=Array(J),X=0;q[0]=0;for(let z=1;z<J;z++){if(Y[z]==Y[X])q[z]=q[X];else q[z]=X;while(X>0&&Y[z]!=Y[X])X=q[X];if(Y[z]==Y[X])X++}X=0;for(let z=Q;z<Z.length;z++){while(X>0&&Z[z]!=Y[X])X=q[X];if(Z[z]==Y[X])X++}return X}function jD(Z){return Z.includes(`\r
656
+ `,$b,GD;var CD=N(()=>{z0();w0();$b=Xb(import.meta.url);GD=AD});import{existsSync as Vb}from"node:fs";import RD from"node:path";import{pathToFileURL as Ob}from"node:url";function sJ(){if(c6!==void 0)return c6;if(Db())return c6=null,c6;if(import.meta.url.endsWith("/dist/index.js"))return c6=new URL(`./workers/${TD}`,import.meta.url),c6;if(import.meta.url.includes("/src/cli/"))return c6=new URL("../workers/generic.worker.ts",import.meta.url),c6;let Z=RD.join(RD.dirname(process.execPath),"workers",TD);if(Vb(Z))return c6=Ob(Z),c6;return c6=null,c6}function Db(){return Boolean(process.versions.bun)&&!/[\\/]bun(?:\.exe)?$/i.test(process.execPath)}var TD="generic.worker.min.js",c6;var kD=()=>{};class Z6{diff(Z,Y,Q={}){let J;if(typeof Q==="function")J=Q,Q={};else if("callback"in Q)J=Q.callback;let q=this.castInput(Z,Q),X=this.castInput(Y,Q),z=this.removeEmpty(this.tokenize(q,Q)),W=this.removeEmpty(this.tokenize(X,Q));return this.diffWithOptionsObj(z,W,Q,J)}diffWithOptionsObj(Z,Y,Q,J){var q;let X=(_)=>{if(_=this.postProcess(_,Q),J){setTimeout(function(){J(_)},0);return}else return _},z=Y.length,W=Z.length,U=1,K=z+W;if(Q.maxEditLength!=null)K=Math.min(K,Q.maxEditLength);let B=(q=Q.timeout)!==null&&q!==void 0?q:1/0,$=Date.now()+B,V=[{oldPos:-1,lastComponent:void 0}],D=this.extractCommon(V[0],Y,Z,0,Q);if(V[0].oldPos+1>=W&&D+1>=z)return X(this.buildValues(V[0].lastComponent,Y,Z));let F=-1/0,O=1/0,j=()=>{for(let _=Math.max(F,-U);_<=Math.min(O,U);_+=2){let L,A=V[_-1],I=V[_+1];if(A)V[_-1]=void 0;let G=!1;if(I){let T=I.oldPos-_;G=I&&0<=T&&T<z}let P=A&&A.oldPos+1<W;if(!G&&!P){V[_]=void 0;continue}if(!P||G&&A.oldPos<I.oldPos)L=this.addToPath(I,!0,!1,0,Q);else L=this.addToPath(A,!1,!0,1,Q);if(D=this.extractCommon(L,Y,Z,_,Q),L.oldPos+1>=W&&D+1>=z)return X(this.buildValues(L.lastComponent,Y,Z))||!0;else{if(V[_]=L,L.oldPos+1>=W)O=Math.min(O,_-1);if(D+1>=z)F=Math.max(F,_+1)}}U++};if(J)(function _(){setTimeout(function(){if(U>K||Date.now()>$)return J(void 0);if(!j())_()},0)})();else while(U<=K&&Date.now()<=$){let _=j();if(_)return _}}addToPath(Z,Y,Q,J,q){let X=Z.lastComponent;if(X&&!q.oneChangePerToken&&X.added===Y&&X.removed===Q)return{oldPos:Z.oldPos+J,lastComponent:{count:X.count+1,added:Y,removed:Q,previousComponent:X.previousComponent}};else return{oldPos:Z.oldPos+J,lastComponent:{count:1,added:Y,removed:Q,previousComponent:X}}}extractCommon(Z,Y,Q,J,q){let X=Y.length,z=Q.length,W=Z.oldPos,U=W-J,K=0;while(U+1<X&&W+1<z&&this.equals(Q[W+1],Y[U+1],q))if(U++,W++,K++,q.oneChangePerToken)Z.lastComponent={count:1,previousComponent:Z.lastComponent,added:!1,removed:!1};if(K&&!q.oneChangePerToken)Z.lastComponent={count:K,previousComponent:Z.lastComponent,added:!1,removed:!1};return Z.oldPos=W,U}equals(Z,Y,Q){if(Q.comparator)return Q.comparator(Z,Y);else return Z===Y||!!Q.ignoreCase&&Z.toLowerCase()===Y.toLowerCase()}removeEmpty(Z){let Y=[];for(let Q=0;Q<Z.length;Q++)if(Z[Q])Y.push(Z[Q]);return Y}castInput(Z,Y){return Z}tokenize(Z,Y){return Array.from(Z)}join(Z){return Z.join("")}postProcess(Z,Y){return Z}get useLongestToken(){return!1}buildValues(Z,Y,Q){let J=[],q;while(Z)J.push(Z),q=Z.previousComponent,delete Z.previousComponent,Z=q;J.reverse();let X=J.length,z=0,W=0,U=0;for(;z<X;z++){let K=J[z];if(!K.removed){if(!K.added&&this.useLongestToken){let B=Y.slice(W,W+K.count);B=B.map(function($,V){let D=Q[U+V];return D.length>$.length?D:$}),K.value=this.join(B)}else K.value=this.join(Y.slice(W,W+K.count));if(W+=K.count,!K.added)U+=K.count}else K.value=this.join(Q.slice(U,U+K.count)),U+=K.count}return J}}function PD(Z,Y,Q){return aJ.diff(Z,Y,Q)}var ED,aJ;var xD=N(()=>{ED=class ED extends Z6{};aJ=new ED});function rJ(Z,Y){let Q;for(Q=0;Q<Z.length&&Q<Y.length;Q++)if(Z[Q]!=Y[Q])return Z.slice(0,Q);return Z.slice(0,Q)}function tJ(Z,Y){let Q;if(!Z||!Y||Z[Z.length-1]!=Y[Y.length-1])return"";for(Q=0;Q<Z.length&&Q<Y.length;Q++)if(Z[Z.length-(Q+1)]!=Y[Y.length-(Q+1)])return Z.slice(-Q);return Z.slice(-Q)}function e5(Z,Y,Q){if(Z.slice(0,Y.length)!=Y)throw Error(`string ${JSON.stringify(Z)} doesn't start with prefix ${JSON.stringify(Y)}; this is a bug`);return Q+Z.slice(Y.length)}function ZQ(Z,Y,Q){if(!Y)return Z+Q;if(Z.slice(-Y.length)!=Y)throw Error(`string ${JSON.stringify(Z)} doesn't end with suffix ${JSON.stringify(Y)}; this is a bug`);return Z.slice(0,-Y.length)+Q}function kZ(Z,Y){return e5(Z,Y,"")}function r1(Z,Y){return ZQ(Z,Y,"")}function eJ(Z,Y){return Y.slice(0,Mb(Z,Y))}function Mb(Z,Y){let Q=0;if(Z.length>Y.length)Q=Z.length-Y.length;let J=Y.length;if(Z.length<Y.length)J=Z.length;let q=Array(J),X=0;q[0]=0;for(let z=1;z<J;z++){if(Y[z]==Y[X])q[z]=q[X];else q[z]=X;while(X>0&&Y[z]!=Y[X])X=q[X];if(Y[z]==Y[X])X++}X=0;for(let z=Q;z<Z.length;z++){while(X>0&&Z[z]!=Y[X])X=q[X];if(Z[z]==Y[X])X++}return X}function bD(Z){return Z.includes(`\r
655
657
  `)&&!Z.startsWith(`
656
- `)&&!Z.match(/[^\r]\n/)}function _D(Z){return!Z.includes(`\r
658
+ `)&&!Z.match(/[^\r]\n/)}function vD(Z){return!Z.includes(`\r
657
659
  `)&&Z.includes(`
658
- `)}function l3(Z,Y){let Q=[];for(let J of Array.from(Y.segment(Z))){let q=J.segment;if(Q.length&&/\s/.test(Q[Q.length-1])&&/\s/.test(q))Q[Q.length-1]+=q;else Q.push(q)}return Q}function t5(Z,Y){if(Y)return TZ(Z,Y)[1];let Q;for(Q=Z.length-1;Q>=0;Q--)if(!Z[Q].match(/\s/))break;return Z.substring(Q+1)}function G4(Z,Y){if(Y)return TZ(Z,Y)[0];let Q=Z.match(/^\s*/);return Q?Q[0]:""}function TZ(Z,Y){if(!Y)return[G4(Z),t5(Z)];if(Y.resolvedOptions().granularity!="word")throw Error('The segmenter passed must have a granularity of "word"');let Q=l3(Z,Y),J=Q[0],q=Q[Q.length-1],X=/\s/.test(J)?J:"",z=/\s/.test(q)?q:"";return[X,z]}function LD(Z,Y,Q){if((Q===null||Q===void 0?void 0:Q.ignoreWhitespace)!=null&&!Q.ignoreWhitespace)return i3(Z,Y,Q);return n3.diff(Z,Y,Q)}function ND(Z,Y,Q,J,q){if(Y&&Q){let[X,z]=TZ(Y.value,q),[W,U]=TZ(Q.value,q);if(Z){let K=u3(X,W);Z.value=r5(Z.value,W,K),Y.value=RZ(Y.value,K),Q.value=RZ(Q.value,K)}if(J){let K=d3(z,U);J.value=a5(J.value,U,K),Y.value=i1(Y.value,K),Q.value=i1(Q.value,K)}}else if(Q){if(Z){let X=G4(Q.value,q);Q.value=Q.value.substring(X.length)}if(J){let X=G4(J.value,q);J.value=J.value.substring(X.length)}}else if(Z&&J){let X=G4(J.value,q),[z,W]=TZ(Y.value,q),U=u3(X,z);Y.value=RZ(Y.value,U);let K=d3(RZ(X,U),W);Y.value=i1(Y.value,K),J.value=a5(J.value,X,K),Z.value=r5(Z.value,X,X.slice(0,X.length-K.length))}else if(J){let X=G4(J.value,q),z=t5(Y.value,q),W=c3(z,X);Y.value=i1(Y.value,W)}else if(Z){let X=t5(Z.value,q),z=G4(Y.value,q),W=c3(X,z);Y.value=RZ(Y.value,W)}}function i3(Z,Y,Q){return o3.diff(Z,Y,Q)}var e5="a-zA-Z0-9_\\u{AD}\\u{C0}-\\u{D6}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}",lP,ID,n3,wD,o3;var AD=j(()=>{lP=new RegExp(`[${e5}]+|\\s+|[^${e5}]`,"ug");ID=class ID extends r0{equals(Z,Y,Q){if(Q.ignoreCase)Z=Z.toLowerCase(),Y=Y.toLowerCase();return Z.trim()===Y.trim()}tokenize(Z,Y={}){let Q;if(Y.intlSegmenter){let X=Y.intlSegmenter;if(X.resolvedOptions().granularity!="word")throw Error('The segmenter passed must have a granularity of "word"');Q=l3(Z,X)}else Q=Z.match(lP)||[];let J=[],q=null;return Q.forEach((X)=>{if(/\s/.test(X))if(q==null)J.push(X);else J.push(J.pop()+X);else if(q!=null&&/\s/.test(q))if(J[J.length-1]==q)J.push(J.pop()+X);else J.push(q+X);else J.push(X);q=X}),J}join(Z){return Z.map((Y,Q)=>{if(Q==0)return Y;else return Y.replace(/^\s+/,"")}).join("")}postProcess(Z,Y){if(!Z||Y.oneChangePerToken)return Z;let Q=null,J=null,q=null;if(Z.forEach((X)=>{if(X.added)J=X;else if(X.removed)q=X;else{if(J||q)ND(Q,q,J,X,Y.intlSegmenter);Q=X,J=null,q=null}}),J||q)ND(Q,q,J,null,Y.intlSegmenter);return Z}};n3=new ID;wD=class wD extends r0{tokenize(Z){let Y=new RegExp(`(\\r?\\n)|[${e5}]+|[^\\S\\n\\r]+|[^${e5}]`,"ug");return Z.match(Y)||[]}};o3=new wD});function GD(Z,Y){if(typeof Z==="function")Y.callback=Z;else if(Z){for(let Q in Z)if(Object.prototype.hasOwnProperty.call(Z,Q))Y[Q]=Z[Q]}return Y}function s1(Z,Y,Q){return ZQ.diff(Z,Y,Q)}function RD(Z,Y,Q){return Q=GD(Q,{ignoreWhitespace:!0}),ZQ.diff(Z,Y,Q)}function s3(Z,Y){if(Y.stripTrailingCr)Z=Z.replace(/\r\n/g,`
659
- `);let Q=[],J=Z.split(/(\n|\r\n)/);if(!J[J.length-1])J.pop();for(let q=0;q<J.length;q++){let X=J[q];if(q%2&&!Y.newlineIsToken)Q[Q.length-1]+=X;else Q.push(X)}return Q}var CD,ZQ;var YQ=j(()=>{CD=class CD extends r0{constructor(){super(...arguments);this.tokenize=s3}equals(Z,Y,Q){if(Q.ignoreWhitespace){if(!Q.newlineIsToken||!Z.includes(`
660
+ `)}function Zq(Z,Y){let Q=[];for(let J of Array.from(Y.segment(Z))){let q=J.segment;if(Q.length&&/\s/.test(Q[Q.length-1])&&/\s/.test(q))Q[Q.length-1]+=q;else Q.push(q)}return Q}function YQ(Z,Y){if(Y)return EZ(Z,Y)[1];let Q;for(Q=Z.length-1;Q>=0;Q--)if(!Z[Q].match(/\s/))break;return Z.substring(Q+1)}function T8(Z,Y){if(Y)return EZ(Z,Y)[0];let Q=Z.match(/^\s*/);return Q?Q[0]:""}function EZ(Z,Y){if(!Y)return[T8(Z),YQ(Z)];if(Y.resolvedOptions().granularity!="word")throw Error('The segmenter passed must have a granularity of "word"');let Q=Zq(Z,Y),J=Q[0],q=Q[Q.length-1],X=/\s/.test(J)?J:"",z=/\s/.test(q)?q:"";return[X,z]}function fD(Z,Y,Q){if((Q===null||Q===void 0?void 0:Q.ignoreWhitespace)!=null&&!Q.ignoreWhitespace)return Jq(Z,Y,Q);return Yq.diff(Z,Y,Q)}function SD(Z,Y,Q,J,q){if(Y&&Q){let[X,z]=EZ(Y.value,q),[W,U]=EZ(Q.value,q);if(Z){let K=rJ(X,W);Z.value=ZQ(Z.value,W,K),Y.value=kZ(Y.value,K),Q.value=kZ(Q.value,K)}if(J){let K=tJ(z,U);J.value=e5(J.value,U,K),Y.value=r1(Y.value,K),Q.value=r1(Q.value,K)}}else if(Q){if(Z){let X=T8(Q.value,q);Q.value=Q.value.substring(X.length)}if(J){let X=T8(J.value,q);J.value=J.value.substring(X.length)}}else if(Z&&J){let X=T8(J.value,q),[z,W]=EZ(Y.value,q),U=rJ(X,z);Y.value=kZ(Y.value,U);let K=tJ(kZ(X,U),W);Y.value=r1(Y.value,K),J.value=e5(J.value,X,K),Z.value=ZQ(Z.value,X,X.slice(0,X.length-K.length))}else if(J){let X=T8(J.value,q),z=YQ(Y.value,q),W=eJ(z,X);Y.value=r1(Y.value,W)}else if(Z){let X=YQ(Z.value,q),z=T8(Y.value,q),W=eJ(X,z);Y.value=kZ(Y.value,W)}}function Jq(Z,Y,Q){return Qq.diff(Z,Y,Q)}var QQ="a-zA-Z0-9_\\u{AD}\\u{C0}-\\u{D6}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}",jb,yD,Yq,hD,Qq;var gD=N(()=>{jb=new RegExp(`[${QQ}]+|\\s+|[^${QQ}]`,"ug");yD=class yD extends Z6{equals(Z,Y,Q){if(Q.ignoreCase)Z=Z.toLowerCase(),Y=Y.toLowerCase();return Z.trim()===Y.trim()}tokenize(Z,Y={}){let Q;if(Y.intlSegmenter){let X=Y.intlSegmenter;if(X.resolvedOptions().granularity!="word")throw Error('The segmenter passed must have a granularity of "word"');Q=Zq(Z,X)}else Q=Z.match(jb)||[];let J=[],q=null;return Q.forEach((X)=>{if(/\s/.test(X))if(q==null)J.push(X);else J.push(J.pop()+X);else if(q!=null&&/\s/.test(q))if(J[J.length-1]==q)J.push(J.pop()+X);else J.push(q+X);else J.push(X);q=X}),J}join(Z){return Z.map((Y,Q)=>{if(Q==0)return Y;else return Y.replace(/^\s+/,"")}).join("")}postProcess(Z,Y){if(!Z||Y.oneChangePerToken)return Z;let Q=null,J=null,q=null;if(Z.forEach((X)=>{if(X.added)J=X;else if(X.removed)q=X;else{if(J||q)SD(Q,q,J,X,Y.intlSegmenter);Q=X,J=null,q=null}}),J||q)SD(Q,q,J,null,Y.intlSegmenter);return Z}};Yq=new yD;hD=class hD extends Z6{tokenize(Z){let Y=new RegExp(`(\\r?\\n)|[${QQ}]+|[^\\S\\n\\r]+|[^${QQ}]`,"ug");return Z.match(Y)||[]}};Qq=new hD});function mD(Z,Y){if(typeof Z==="function")Y.callback=Z;else if(Z){for(let Q in Z)if(Object.prototype.hasOwnProperty.call(Z,Q))Y[Q]=Z[Q]}return Y}function t1(Z,Y,Q){return JQ.diff(Z,Y,Q)}function uD(Z,Y,Q){return Q=mD(Q,{ignoreWhitespace:!0}),JQ.diff(Z,Y,Q)}function qq(Z,Y){if(Y.stripTrailingCr)Z=Z.replace(/\r\n/g,`
661
+ `);let Q=[],J=Z.split(/(\n|\r\n)/);if(!J[J.length-1])J.pop();for(let q=0;q<J.length;q++){let X=J[q];if(q%2&&!Y.newlineIsToken)Q[Q.length-1]+=X;else Q.push(X)}return Q}var pD,JQ;var qQ=N(()=>{pD=class pD extends Z6{constructor(){super(...arguments);this.tokenize=qq}equals(Z,Y,Q){if(Q.ignoreWhitespace){if(!Q.newlineIsToken||!Z.includes(`
660
662
  `))Z=Z.trim();if(!Q.newlineIsToken||!Y.includes(`
661
663
  `))Y=Y.trim()}else if(Q.ignoreNewlineAtEof&&!Q.newlineIsToken){if(Z.endsWith(`
662
664
  `))Z=Z.slice(0,-1);if(Y.endsWith(`
663
- `))Y=Y.slice(0,-1)}return super.equals(Z,Y,Q)}};ZQ=new CD});function nP(Z){return Z=="."||Z=="!"||Z=="?"}function kD(Z,Y,Q){return a3.diff(Z,Y,Q)}var TD,a3;var ED=j(()=>{TD=class TD extends r0{tokenize(Z){var Y;let Q=[],J=0;for(let q=0;q<Z.length;q++){if(q==Z.length-1){Q.push(Z.slice(J));break}if(nP(Z[q])&&Z[q+1].match(/\s/)){Q.push(Z.slice(J,q+1)),q=J=q+1;while((Y=Z[q+1])===null||Y===void 0?void 0:Y.match(/\s/))q++;Q.push(Z.slice(J,q+1)),J=q+1}}return Q}};a3=new TD});function PD(Z,Y,Q){return r3.diff(Z,Y,Q)}var xD,r3;var bD=j(()=>{xD=class xD extends r0{tokenize(Z){return Z.split(/([{}:;,]|\s+)/)}};r3=new xD});function SD(Z,Y,Q){return t3.diff(Z,Y,Q)}function a1(Z,Y,Q,J,q){if(Y=Y||[],Q=Q||[],J)Z=J(q===void 0?"":q,Z);let X;for(X=0;X<Y.length;X+=1)if(Y[X]===Z)return Q[X];let z;if(Object.prototype.toString.call(Z)==="[object Array]"){Y.push(Z),z=Array(Z.length),Q.push(z);for(X=0;X<Z.length;X+=1)z[X]=a1(Z[X],Y,Q,J,String(X));return Y.pop(),Q.pop(),z}if(Z&&Z.toJSON)Z=Z.toJSON();if(typeof Z==="object"&&Z!==null){Y.push(Z),z={},Q.push(z);let W=[],U;for(U in Z)if(Object.prototype.hasOwnProperty.call(Z,U))W.push(U);W.sort();for(X=0;X<W.length;X+=1)U=W[X],z[U]=a1(Z[U],Y,Q,J,U);Y.pop(),Q.pop()}else z=Z;return z}var vD,t3;var yD=j(()=>{YQ();vD=class vD extends r0{constructor(){super(...arguments);this.tokenize=s3}get useLongestToken(){return!0}castInput(Z,Y){let{undefinedReplacement:Q,stringifyReplacer:J=(q,X)=>typeof X>"u"?Q:X}=Y;return typeof Z==="string"?Z:JSON.stringify(a1(Z,null,null,J),null," ")}equals(Z,Y,Q){return super.equals(Z.replace(/,([\r\n])/g,"$1"),Y.replace(/,([\r\n])/g,"$1"),Q)}};t3=new vD});function hD(Z,Y,Q){return e3.diff(Z,Y,Q)}var fD,e3;var gD=j(()=>{fD=class fD extends r0{tokenize(Z){return Z.slice()}join(Z){return Z}removeEmpty(Z){return Z}};e3=new fD});function Zq(Z){if(Array.isArray(Z))return Z.map((Y)=>Zq(Y));return Object.assign(Object.assign({},Z),{hunks:Z.hunks.map((Y)=>Object.assign(Object.assign({},Y),{lines:Y.lines.map((Q,J)=>{var q;return Q.startsWith("\\")||Q.endsWith("\r")||((q=Y.lines[J+1])===null||q===void 0?void 0:q.startsWith("\\"))?Q:Q+"\r"})}))})}function Yq(Z){if(Array.isArray(Z))return Z.map((Y)=>Yq(Y));return Object.assign(Object.assign({},Z),{hunks:Z.hunks.map((Y)=>Object.assign(Object.assign({},Y),{lines:Y.lines.map((Q)=>Q.endsWith("\r")?Q.substring(0,Q.length-1):Q)}))})}function mD(Z){if(!Array.isArray(Z))Z=[Z];return!Z.some((Y)=>Y.hunks.some((Q)=>Q.lines.some((J)=>!J.startsWith("\\")&&J.endsWith("\r"))))}function pD(Z){if(!Array.isArray(Z))Z=[Z];return Z.some((Y)=>Y.hunks.some((Q)=>Q.lines.some((J)=>J.endsWith("\r"))))&&Z.every((Y)=>Y.hunks.every((Q)=>Q.lines.every((J,q)=>{var X;return J.startsWith("\\")||J.endsWith("\r")||((X=Q.lines[q+1])===null||X===void 0?void 0:X.startsWith("\\"))})))}function r1(Z){let Y=Z.split(/\n/),Q=[],J=0;function q(){let W={};Q.push(W);while(J<Y.length){let U=Y[J];if(/^(---|\+\+\+|@@)\s/.test(U))break;let K=/^(?:Index:|diff(?: -r \w+)+)\s+/.exec(U);if(K)W.index=U.substring(K[0].length).trim();J++}X(W),X(W),W.hunks=[];while(J<Y.length){let U=Y[J];if(/^(Index:\s|diff\s|---\s|\+\+\+\s|===================================================================)/.test(U))break;else if(/^@@/.test(U))W.hunks.push(z());else if(U)throw Error("Unknown line "+(J+1)+" "+JSON.stringify(U));else J++}}function X(W){let U=/^(---|\+\+\+)\s+/.exec(Y[J]);if(U){let K=U[1],B=Y[J].substring(3).trim().split("\t",2),$=(B[1]||"").trim(),F=B[0].replace(/\\\\/g,"\\");if(F.startsWith('"')&&F.endsWith('"'))F=F.substr(1,F.length-2);if(K==="---")W.oldFileName=F,W.oldHeader=$;else W.newFileName=F,W.newHeader=$;J++}}function z(){var W;let U=J,K=Y[J++],B=K.split(/@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/),$={oldStart:+B[1],oldLines:typeof B[2]>"u"?1:+B[2],newStart:+B[3],newLines:typeof B[4]>"u"?1:+B[4],lines:[]};if($.oldLines===0)$.oldStart+=1;if($.newLines===0)$.newStart+=1;let F=0,O=0;for(;J<Y.length&&(O<$.oldLines||F<$.newLines||((W=Y[J])===null||W===void 0?void 0:W.startsWith("\\")));J++){let V=Y[J].length==0&&J!=Y.length-1?" ":Y[J][0];if(V==="+"||V==="-"||V===" "||V==="\\"){if($.lines.push(Y[J]),V==="+")F++;else if(V==="-")O++;else if(V===" ")F++,O++}else throw Error(`Hunk at line ${U+1} contained invalid line ${Y[J]}`)}if(!F&&$.newLines===1)$.newLines=0;if(!O&&$.oldLines===1)$.oldLines=0;if(F!==$.newLines)throw Error("Added line count did not match for hunk at line "+(U+1));if(O!==$.oldLines)throw Error("Removed line count did not match for hunk at line "+(U+1));return $}while(J<Y.length)q();return Q}function Qq(Z,Y,Q){let J=!0,q=!1,X=!1,z=1;return function W(){if(J&&!X){if(q)z++;else J=!1;if(Z+z<=Q)return Z+z;X=!0}if(!q){if(!X)J=!0;if(Y<=Z-z)return Z-z++;return q=!0,W()}return}}function Jq(Z,Y,Q={}){let J;if(typeof Y==="string")J=r1(Y);else if(Array.isArray(Y))J=Y;else J=[Y];if(J.length>1)throw Error("applyPatch only works with a single input.");return oP(Z,J[0],Q)}function oP(Z,Y,Q={}){if(Q.autoConvertLineEndings||Q.autoConvertLineEndings==null){if(jD(Z)&&mD(Y))Y=Zq(Y);else if(_D(Z)&&pD(Y))Y=Yq(Y)}let J=Z.split(`
664
- `),q=Y.hunks,X=Q.compareLine||((V,D,_,N)=>D===N),z=Q.fuzzFactor||0,W=0;if(z<0||!Number.isInteger(z))throw Error("fuzzFactor must be a non-negative integer");if(!q.length)return Z;let U="",K=!1,B=!1;for(let V=0;V<q[q.length-1].lines.length;V++){let D=q[q.length-1].lines[V];if(D[0]=="\\"){if(U[0]=="+")K=!0;else if(U[0]=="-")B=!0}U=D}if(K){if(B){if(!z&&J[J.length-1]=="")return!1}else if(J[J.length-1]=="")J.pop();else if(!z)return!1}else if(B){if(J[J.length-1]!="")J.push("");else if(!z)return!1}function $(V,D,_,N=0,w=!0,G=[],I=0){let A=0,x=!1;for(;N<V.length;N++){let T=V[N],S=T.length>0?T[0]:" ",y=T.length>0?T.substr(1):T;if(S==="-")if(X(D+1,J[D],S,y))D++,A=0;else{if(!_||J[D]==null)return null;return G[I]=J[D],$(V,D+1,_-1,N,!1,G,I+1)}if(S==="+"){if(!w)return null;G[I]=y,I++,A=0,x=!0}if(S===" ")if(A++,G[I]=J[D],X(D+1,J[D],S,y))I++,w=!0,x=!1,D++;else{if(x||!_)return null;return J[D]&&($(V,D+1,_-1,N+1,!1,G,I+1)||$(V,D+1,_-1,N,!1,G,I+1))||$(V,D,_-1,N+1,!1,G,I)}}return I-=A,D-=A,G.length=I,{patchedLines:G,oldLineLastI:D-1}}let F=[],O=0;for(let V=0;V<q.length;V++){let D=q[V],_,N=J.length-D.oldLines+z,w;for(let G=0;G<=z;G++){w=D.oldStart+O-1;let I=Qq(w,W,N);for(;w!==void 0;w=I())if(_=$(D.lines,w,G),_)break;if(_)break}if(!_)return!1;for(let G=W;G<w;G++)F.push(J[G]);for(let G=0;G<_.patchedLines.length;G++){let I=_.patchedLines[G];F.push(I)}W=_.oldLineLastI+1,O=w+1-D.oldStart}for(let V=W;V<J.length;V++)F.push(J[V]);return F.join(`
665
- `)}function uD(Z,Y){let Q=typeof Z==="string"?r1(Z):Z,J=0;function q(){let X=Q[J++];if(!X)return Y.complete();Y.loadFile(X,function(z,W){if(z)return Y.complete(z);let U=Jq(W,X,Y);Y.patched(X,U,function(K){if(K)return Y.complete(K);q()})})}q()}var dD=()=>{};function qq(Z){if(Array.isArray(Z))return Z.map((Y)=>qq(Y)).reverse();return Object.assign(Object.assign({},Z),{oldFileName:Z.newFileName,oldHeader:Z.newHeader,newFileName:Z.oldFileName,newHeader:Z.oldHeader,hunks:Z.hunks.map((Y)=>{return{oldLines:Y.newLines,oldStart:Y.newStart,newLines:Y.oldLines,newStart:Y.oldStart,lines:Y.lines.map((Q)=>{if(Q.startsWith("-"))return`+${Q.slice(1)}`;if(Q.startsWith("+"))return`-${Q.slice(1)}`;return Q})}})})}function QQ(Z,Y,Q,J,q,X,z){let W;if(!z)W={};else if(typeof z==="function")W={callback:z};else W=z;if(typeof W.context>"u")W.context=4;let U=W.context;if(W.newlineIsToken)throw Error("newlineIsToken may not be used with patch-generation functions, only with diffing functions");if(!W.callback)return K(s1(Q,J,W));else{let{callback:B}=W;s1(Q,J,Object.assign(Object.assign({},W),{callback:($)=>{let F=K($);B(F)}}))}function K(B){if(!B)return;B.push({value:"",lines:[]});function $(w){return w.map(function(G){return" "+G})}let F=[],O=0,V=0,D=[],_=1,N=1;for(let w=0;w<B.length;w++){let G=B[w],I=G.lines||iP(G.value);if(G.lines=I,G.added||G.removed){if(!O){let A=B[w-1];if(O=_,V=N,A)D=U>0?$(A.lines.slice(-U)):[],O-=D.length,V-=D.length}for(let A of I)D.push((G.added?"+":"-")+A);if(G.added)N+=I.length;else _+=I.length}else{if(O)if(I.length<=U*2&&w<B.length-2)for(let A of $(I))D.push(A);else{let A=Math.min(I.length,U);for(let T of $(I.slice(0,A)))D.push(T);let x={oldStart:O,oldLines:_-O+A,newStart:V,newLines:N-V+A,lines:D};F.push(x),O=0,V=0,D=[]}_+=I.length,N+=I.length}}for(let w of F)for(let G=0;G<w.lines.length;G++)if(w.lines[G].endsWith(`
666
- `))w.lines[G]=w.lines[G].slice(0,-1);else w.lines.splice(G+1,0,"\"),G++;return{oldFileName:Z,newFileName:Y,oldHeader:q,newHeader:X,hunks:F}}}function t1(Z,Y){if(!Y)Y=Xq;if(Array.isArray(Z)){if(Z.length>1&&!Y.includeFileHeaders)throw Error("Cannot omit file headers on a multi-file patch. (The result would be unparseable; how would a tool trying to apply the patch know which changes are to which file?)");return Z.map((J)=>t1(J,Y)).join(`
667
- `)}let Q=[];if(Y.includeIndex&&Z.oldFileName==Z.newFileName)Q.push("Index: "+Z.oldFileName);if(Y.includeUnderline)Q.push("===================================================================");if(Y.includeFileHeaders)Q.push("--- "+Z.oldFileName+(typeof Z.oldHeader>"u"?"":"\t"+Z.oldHeader)),Q.push("+++ "+Z.newFileName+(typeof Z.newHeader>"u"?"":"\t"+Z.newHeader));for(let J=0;J<Z.hunks.length;J++){let q=Z.hunks[J];if(q.oldLines===0)q.oldStart-=1;if(q.newLines===0)q.newStart-=1;Q.push("@@ -"+q.oldStart+","+q.oldLines+" +"+q.newStart+","+q.newLines+" @@");for(let X of q.lines)Q.push(X)}return Q.join(`
665
+ `))Y=Y.slice(0,-1)}return super.equals(Z,Y,Q)}};JQ=new pD});function _b(Z){return Z=="."||Z=="!"||Z=="?"}function cD(Z,Y,Q){return Xq.diff(Z,Y,Q)}var dD,Xq;var lD=N(()=>{dD=class dD extends Z6{tokenize(Z){var Y;let Q=[],J=0;for(let q=0;q<Z.length;q++){if(q==Z.length-1){Q.push(Z.slice(J));break}if(_b(Z[q])&&Z[q+1].match(/\s/)){Q.push(Z.slice(J,q+1)),q=J=q+1;while((Y=Z[q+1])===null||Y===void 0?void 0:Y.match(/\s/))q++;Q.push(Z.slice(J,q+1)),J=q+1}}return Q}};Xq=new dD});function oD(Z,Y,Q){return zq.diff(Z,Y,Q)}var nD,zq;var iD=N(()=>{nD=class nD extends Z6{tokenize(Z){return Z.split(/([{}:;,]|\s+)/)}};zq=new nD});function aD(Z,Y,Q){return Hq.diff(Z,Y,Q)}function e1(Z,Y,Q,J,q){if(Y=Y||[],Q=Q||[],J)Z=J(q===void 0?"":q,Z);let X;for(X=0;X<Y.length;X+=1)if(Y[X]===Z)return Q[X];let z;if(Object.prototype.toString.call(Z)==="[object Array]"){Y.push(Z),z=Array(Z.length),Q.push(z);for(X=0;X<Z.length;X+=1)z[X]=e1(Z[X],Y,Q,J,String(X));return Y.pop(),Q.pop(),z}if(Z&&Z.toJSON)Z=Z.toJSON();if(typeof Z==="object"&&Z!==null){Y.push(Z),z={},Q.push(z);let W=[],U;for(U in Z)if(Object.prototype.hasOwnProperty.call(Z,U))W.push(U);W.sort();for(X=0;X<W.length;X+=1)U=W[X],z[U]=e1(Z[U],Y,Q,J,U);Y.pop(),Q.pop()}else z=Z;return z}var sD,Hq;var rD=N(()=>{qQ();sD=class sD extends Z6{constructor(){super(...arguments);this.tokenize=qq}get useLongestToken(){return!0}castInput(Z,Y){let{undefinedReplacement:Q,stringifyReplacer:J=(q,X)=>typeof X>"u"?Q:X}=Y;return typeof Z==="string"?Z:JSON.stringify(e1(Z,null,null,J),null," ")}equals(Z,Y,Q){return super.equals(Z.replace(/,([\r\n])/g,"$1"),Y.replace(/,([\r\n])/g,"$1"),Q)}};Hq=new sD});function eD(Z,Y,Q){return Wq.diff(Z,Y,Q)}var tD,Wq;var ZM=N(()=>{tD=class tD extends Z6{tokenize(Z){return Z.slice()}join(Z){return Z}removeEmpty(Z){return Z}};Wq=new tD});function Uq(Z){if(Array.isArray(Z))return Z.map((Y)=>Uq(Y));return Object.assign(Object.assign({},Z),{hunks:Z.hunks.map((Y)=>Object.assign(Object.assign({},Y),{lines:Y.lines.map((Q,J)=>{var q;return Q.startsWith("\\")||Q.endsWith("\r")||((q=Y.lines[J+1])===null||q===void 0?void 0:q.startsWith("\\"))?Q:Q+"\r"})}))})}function Kq(Z){if(Array.isArray(Z))return Z.map((Y)=>Kq(Y));return Object.assign(Object.assign({},Z),{hunks:Z.hunks.map((Y)=>Object.assign(Object.assign({},Y),{lines:Y.lines.map((Q)=>Q.endsWith("\r")?Q.substring(0,Q.length-1):Q)}))})}function YM(Z){if(!Array.isArray(Z))Z=[Z];return!Z.some((Y)=>Y.hunks.some((Q)=>Q.lines.some((J)=>!J.startsWith("\\")&&J.endsWith("\r"))))}function QM(Z){if(!Array.isArray(Z))Z=[Z];return Z.some((Y)=>Y.hunks.some((Q)=>Q.lines.some((J)=>J.endsWith("\r"))))&&Z.every((Y)=>Y.hunks.every((Q)=>Q.lines.every((J,q)=>{var X;return J.startsWith("\\")||J.endsWith("\r")||((X=Q.lines[q+1])===null||X===void 0?void 0:X.startsWith("\\"))})))}function Z7(Z){let Y=Z.split(/\n/),Q=[],J=0;function q(F){return/^diff --git /.test(F)}function X(F){return q(F)||/^Index:\s/.test(F)||/^diff(?: -r \w+)+\s/.test(F)}function z(F){return/^(---|\+\+\+)\s/.test(F)}function W(F){return/^@@\s/.test(F)}function U(){var F;let O={};O.hunks=[],Q.push(O);let j=!1;while(J<Y.length){let _=Y[J];if(z(_)||W(_))break;if(q(_)){if(j)return;j=!0,O.isGit=!0;let L=K(_);if(L)O.oldFileName=L.oldFileName,O.newFileName=L.newFileName;J++;while(J<Y.length){let A=Y[J];if(z(A)||W(A)||X(A))break;let I=/^rename from (.*)/.exec(A);if(I)O.oldFileName="a/"+B(I[1]),O.isRename=!0;let G=/^rename to (.*)/.exec(A);if(G)O.newFileName="b/"+B(G[1]),O.isRename=!0;let P=/^copy from (.*)/.exec(A);if(P)O.oldFileName="a/"+B(P[1]),O.isCopy=!0;let T=/^copy to (.*)/.exec(A);if(T)O.newFileName="b/"+B(T[1]),O.isCopy=!0;let S=/^new file mode (\d+)/.exec(A);if(S)O.isCreate=!0,O.newMode=S[1];let y=/^deleted file mode (\d+)/.exec(A);if(y)O.isDelete=!0,O.oldMode=y[1];let g=/^old mode (\d+)/.exec(A);if(g)O.oldMode=g[1];let x=/^new mode (\d+)/.exec(A);if(x)O.newMode=x[1];if(/^Binary files /.test(A))O.isBinary=!0;J++}continue}else if(X(_)){if(j)return;j=!0;let L=/^(?:Index:|diff(?: -r \w+)+)\s+/.exec(_);if(L)O.index=_.substring(L[0].length).trim()}J++}if(V(O),V(O),O.oldFileName===void 0!==(O.newFileName===void 0))throw Error("Missing "+(O.oldFileName!==void 0?'"+++ ..."':'"--- ..."')+" file header for "+((F=O.oldFileName)!==null&&F!==void 0?F:O.newFileName));while(J<Y.length){let _=Y[J];if(X(_)||z(_)||/^===================================================================/.test(_))break;else if(W(_))O.hunks.push(D());else J++}}function K(F){let O=F.substring(11);if(O.startsWith('"')){let _=$(O);if(_===null)return null;let L=O.substring(_.rawLength+1),A;if(L.startsWith('"')){let I=$(L);if(I===null)return null;A=I.fileName}else A=L;return{oldFileName:_.fileName,newFileName:A}}let j=O.indexOf('"');if(j>0){let _=O.substring(0,j-1),L=$(O.substring(j));if(L===null)return null;return{oldFileName:_,newFileName:L.fileName}}if(O.startsWith("a/")){let _=[],L=0;while(!0){if(L=O.indexOf(" b/",L+1),L===-1)break;_.push(L)}if(_.length>0){let A=_[Math.floor(_.length/2)];return{oldFileName:O.substring(0,A),newFileName:O.substring(A+1)}}}return null}function B(F){if(F.startsWith('"')){let O=$(F);if(O)return O.fileName}return F}function $(F){if(!F.startsWith('"'))return null;let O="",j=1;while(j<F.length){if(F[j]==='"')return{fileName:O,rawLength:j+1};if(F[j]==="\\"&&j+1<F.length)switch(j++,F[j]){case"a":O+="\x07";break;case"b":O+="\b";break;case"f":O+="\f";break;case"n":O+=`
666
+ `;break;case"r":O+="\r";break;case"t":O+="\t";break;case"v":O+="\v";break;case"\\":O+="\\";break;case'"':O+='"';break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":{if(j+2>=F.length||F[j+1]<"0"||F[j+1]>"7"||F[j+2]<"0"||F[j+2]>"7")return null;let _=[parseInt(F.substring(j,j+3),8)];j+=3;while(F[j]==="\\"&&F[j+1]>="0"&&F[j+1]<="7"){if(j+3>=F.length||F[j+2]<"0"||F[j+2]>"7"||F[j+3]<"0"||F[j+3]>"7")return null;_.push(parseInt(F.substring(j+1,j+4),8)),j+=4}O+=new TextDecoder("utf-8").decode(new Uint8Array(_));continue}default:return null}else O+=F[j];j++}return null}function V(F){let O=/^(---|\+\+\+)\s+/.exec(Y[J]);if(O){let j=O[1],_=Y[J].substring(3).trim().split("\t",2),L=(_[1]||"").trim(),A=_[0];if(A.startsWith('"'))A=B(A);else A=A.replace(/\\\\/g,"\\");if(j==="---")F.oldFileName=A,F.oldHeader=L;else F.newFileName=A,F.newHeader=L;J++}}function D(){var F;let O=J,j=Y[J++],_=j.split(/@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/),L={oldStart:+_[1],oldLines:typeof _[2]>"u"?1:+_[2],newStart:+_[3],newLines:typeof _[4]>"u"?1:+_[4],lines:[]};if(L.oldLines===0)L.oldStart+=1;if(L.newLines===0)L.newStart+=1;let A=0,I=0;for(;J<Y.length&&(I<L.oldLines||A<L.newLines||((F=Y[J])===null||F===void 0?void 0:F.startsWith("\\")));J++){let G=Y[J].length==0&&J!=Y.length-1?" ":Y[J][0];if(G==="+"||G==="-"||G===" "||G==="\\"){if(L.lines.push(Y[J]),G==="+")A++;else if(G==="-")I++;else if(G===" ")A++,I++}else throw Error(`Hunk at line ${O+1} contained invalid line ${Y[J]}`)}if(!A&&L.newLines===1)L.newLines=0;if(!I&&L.oldLines===1)L.oldLines=0;if(A!==L.newLines)throw Error("Added line count did not match for hunk at line "+(O+1));if(I!==L.oldLines)throw Error("Removed line count did not match for hunk at line "+(O+1));if(J<Y.length&&Y[J]&&/^[+ -]/.test(Y[J])&&!z(Y[J]))throw Error("Hunk at line "+(O+1)+" has more lines than expected (expected "+L.oldLines+" old lines and "+L.newLines+" new lines)");return L}while(J<Y.length)U();return Q}function Bq(Z,Y,Q){let J=!0,q=!1,X=!1,z=1;return function W(){if(J&&!X){if(q)z++;else J=!1;if(Z+z<=Q)return Z+z;X=!0}if(!q){if(!X)J=!0;if(Y<=Z-z)return Z-z++;return q=!0,W()}return}}function $q(Z,Y,Q={}){let J;if(typeof Y==="string")J=Z7(Y);else if(Array.isArray(Y))J=Y;else J=[Y];if(J.length>1)throw Error("applyPatch only works with a single input.");return Nb(Z,J[0],Q)}function Nb(Z,Y,Q={}){if(Q.autoConvertLineEndings||Q.autoConvertLineEndings==null){if(bD(Z)&&YM(Y))Y=Uq(Y);else if(vD(Z)&&QM(Y))Y=Kq(Y)}let J=Z.split(`
667
+ `),q=Y.hunks,X=Q.compareLine||((F,O,j,_)=>O===_),z=Q.fuzzFactor||0,W=0;if(z<0||!Number.isInteger(z))throw Error("fuzzFactor must be a non-negative integer");if(!q.length)return Z;let U="",K=!1,B=!1;for(let F=0;F<q[q.length-1].lines.length;F++){let O=q[q.length-1].lines[F];if(O[0]=="\\"){if(U[0]=="+")K=!0;else if(U[0]=="-")B=!0}U=O}if(K){if(B){if(!z&&J[J.length-1]=="")return!1}else if(J[J.length-1]=="")J.pop();else if(!z)return!1}else if(B){if(J[J.length-1]!="")J.push("");else if(!z)return!1}function $(F,O,j,_=0,L=!0,A=[],I=0){let G=0,P=!1;for(;_<F.length;_++){let T=F[_],S=T.length>0?T[0]:" ",y=T.length>0?T.substr(1):T;if(S==="-")if(X(O+1,J[O],S,y))O++,G=0;else{if(!j||J[O]==null)return null;return A[I]=J[O],$(F,O+1,j-1,_,!1,A,I+1)}if(S==="+"){if(!L)return null;A[I]=y,I++,G=0,P=!0}if(S===" ")if(G++,A[I]=J[O],X(O+1,J[O],S,y))I++,L=!0,P=!1,O++;else{if(P||!j)return null;return J[O]&&($(F,O+1,j-1,_+1,!1,A,I+1)||$(F,O+1,j-1,_,!1,A,I+1))||$(F,O,j-1,_+1,!1,A,I)}}return I-=G,O-=G,A.length=I,{patchedLines:A,oldLineLastI:O-1}}let V=[],D=0;for(let F=0;F<q.length;F++){let O=q[F],j,_=J.length-O.oldLines+z,L;for(let A=0;A<=z;A++){L=O.oldStart+D-1;let I=Bq(L,W,_);for(;L!==void 0;L=I())if(j=$(O.lines,L,A),j)break;if(j)break}if(!j)return!1;for(let A=W;A<L;A++)V.push(J[A]);for(let A=0;A<j.patchedLines.length;A++){let I=j.patchedLines[A];V.push(I)}W=j.oldLineLastI+1,D=L+1-O.oldStart}for(let F=W;F<J.length;F++)V.push(J[F]);return V.join(`
668
+ `)}function JM(Z,Y){let Q=typeof Z==="string"?Z7(Z):Z,J=0;function q(){let X=Q[J++];if(!X)return Y.complete();Y.loadFile(X,function(z,W){if(z)return Y.complete(z);let U=$q(W,X,Y);Y.patched(X,U,function(K){if(K)return Y.complete(K);q()})})}q()}var qM=()=>{};function XM(Z){if(Z===void 0||Z==="/dev/null")return Z;if(Z.startsWith("a/"))return"b/"+Z.slice(2);if(Z.startsWith("b/"))return"a/"+Z.slice(2);return Z}function Fq(Z){if(Array.isArray(Z))return Z.map((Q)=>Fq(Q)).reverse();let Y=Object.assign(Object.assign({},Z),{oldFileName:Z.isGit?XM(Z.newFileName):Z.newFileName,oldHeader:Z.newHeader,newFileName:Z.isGit?XM(Z.oldFileName):Z.oldFileName,newHeader:Z.oldHeader,oldMode:Z.newMode,newMode:Z.oldMode,isCreate:Z.isDelete,isDelete:Z.isCreate,hunks:Z.hunks.map((Q)=>{return{oldLines:Q.newLines,oldStart:Q.newStart,newLines:Q.oldLines,newStart:Q.oldStart,lines:Q.lines.map((J)=>{if(J.startsWith("-"))return`+${J.slice(1)}`;if(J.startsWith("+"))return`-${J.slice(1)}`;return J})}})});if(Z.isCopy)Y.newFileName="/dev/null",Y.newHeader=void 0,Y.isDelete=!0,delete Y.isCreate,delete Y.isCopy,delete Y.isRename,Y.hunks=[];return Y}function Ib(Z){for(let Y=0;Y<Z.length;Y++)if(Z[Y]<" "||Z[Y]>"~"||Z[Y]==='"'||Z[Y]==="\\")return!0;return!1}function e4(Z){if(!Ib(Z))return Z;let Y='"',Q=new TextEncoder().encode(Z),J=0;while(J<Q.length){let q=Q[J];if(q===7)Y+="\\a";else if(q===8)Y+="\\b";else if(q===9)Y+="\\t";else if(q===10)Y+="\\n";else if(q===11)Y+="\\v";else if(q===12)Y+="\\f";else if(q===13)Y+="\\r";else if(q===34)Y+="\\\"";else if(q===92)Y+="\\\\";else if(q>=32&&q<=126)Y+=String.fromCharCode(q);else Y+="\\"+q.toString(8).padStart(3,"0");J++}return Y+='"',Y}function zQ(Z,Y,Q,J,q,X,z){let W;if(!z)W={};else if(typeof z==="function")W={callback:z};else W=z;if(typeof W.context>"u")W.context=4;let U=W.context;if(W.newlineIsToken)throw Error("newlineIsToken may not be used with patch-generation functions, only with diffing functions");if(!W.callback)return K(t1(Q,J,W));else{let{callback:B}=W;t1(Q,J,Object.assign(Object.assign({},W),{callback:($)=>{let V=K($);B(V)}}))}function K(B){if(!B)return;B.push({value:"",lines:[]});function $(L){return L.map(function(A){return" "+A})}let V=[],D=0,F=0,O=[],j=1,_=1;for(let L=0;L<B.length;L++){let A=B[L],I=A.lines||Lb(A.value);if(A.lines=I,A.added||A.removed){if(!D){let G=B[L-1];if(D=j,F=_,G)O=U>0?$(G.lines.slice(-U)):[],D-=O.length,F-=O.length}for(let G of I)O.push((A.added?"+":"-")+G);if(A.added)_+=I.length;else j+=I.length}else{if(D)if(I.length<=U*2&&L<B.length-2)for(let G of $(I))O.push(G);else{let G=Math.min(I.length,U);for(let T of $(I.slice(0,G)))O.push(T);let P={oldStart:D,oldLines:j-D+G,newStart:F,newLines:_-F+G,lines:O};V.push(P),D=0,F=0,O=[]}j+=I.length,_+=I.length}}for(let L of V)for(let A=0;A<L.lines.length;A++)if(L.lines[A].endsWith(`
669
+ `))L.lines[A]=L.lines[A].slice(0,-1);else L.lines.splice(A+1,0,"\"),A++;return{oldFileName:Z,newFileName:Y,oldHeader:q,newHeader:X,hunks:V}}}function Y7(Z,Y){var Q,J,q,X,z,W;if(!Y)Y=XQ;if(Array.isArray(Z)){if(Z.length>1&&!Y.includeFileHeaders&&!Z.every((B)=>B.isGit))throw Error("Cannot omit file headers on a multi-file patch. (The result would be unparseable; how would a tool trying to apply the patch know which changes are to which file?)");return Z.map((B)=>Y7(B,Y)).join(`
670
+ `)}let U=[];if(Z.isGit){if(Y=XQ,!Z.oldFileName)throw Error("oldFileName must be specified for Git patches");if(!Z.newFileName)throw Error("newFileName must be specified for Git patches");let{oldFileName:B,newFileName:$}=Z;if(Z.isCreate&&B==="/dev/null")B=$.replace(/^b\//,"a/");else if(Z.isDelete&&$==="/dev/null")$=B.replace(/^a\//,"b/");if(U.push("diff --git "+e4(B)+" "+e4($)),Z.isDelete)U.push("deleted file mode "+((Q=Z.oldMode)!==null&&Q!==void 0?Q:"100644"));if(Z.isCreate)U.push("new file mode "+((J=Z.newMode)!==null&&J!==void 0?J:"100644"));if(Z.oldMode&&Z.newMode&&!Z.isDelete&&!Z.isCreate)U.push("old mode "+Z.oldMode),U.push("new mode "+Z.newMode);if(Z.isRename)U.push("rename from "+e4(((q=Z.oldFileName)!==null&&q!==void 0?q:"").replace(/^a\//,""))),U.push("rename to "+e4(((X=Z.newFileName)!==null&&X!==void 0?X:"").replace(/^b\//,"")));if(Z.isCopy)U.push("copy from "+e4(((z=Z.oldFileName)!==null&&z!==void 0?z:"").replace(/^a\//,""))),U.push("copy to "+e4(((W=Z.newFileName)!==null&&W!==void 0?W:"").replace(/^b\//,"")))}else{if(Y.includeIndex&&Z.oldFileName==Z.newFileName&&Z.oldFileName!==void 0)U.push("Index: "+Z.oldFileName);if(Y.includeUnderline)U.push("===================================================================")}let K=Z.hunks.length>0;if(Y.includeFileHeaders&&Z.oldFileName!==void 0&&Z.newFileName!==void 0&&(!Z.isGit||K))U.push("--- "+e4(Z.oldFileName)+(Z.oldHeader?"\t"+Z.oldHeader:"")),U.push("+++ "+e4(Z.newFileName)+(Z.newHeader?"\t"+Z.newHeader:""));for(let B=0;B<Z.hunks.length;B++){let $=Z.hunks[B],V=$.oldLines===0?$.oldStart-1:$.oldStart,D=$.newLines===0?$.newStart-1:$.newStart;U.push("@@ -"+V+","+$.oldLines+" +"+D+","+$.newLines+" @@");for(let F of $.lines)U.push(F)}return U.join(`
668
671
  `)+`
669
- `}function zq(Z,Y,Q,J,q,X,z){if(typeof z==="function")z={callback:z};if(!(z===null||z===void 0?void 0:z.callback)){let W=QQ(Z,Y,Q,J,q,X,z);if(!W)return;return t1(W,z===null||z===void 0?void 0:z.headerOptions)}else{let{callback:W}=z;QQ(Z,Y,Q,J,q,X,Object.assign(Object.assign({},z),{callback:(U)=>{if(!U)W(void 0);else W(t1(U,z.headerOptions))}}))}}function nD(Z,Y,Q,J,q,X){return zq(Z,Z,Y,Q,J,q,X)}function iP(Z){let Y=Z.endsWith(`
672
+ `}function Vq(Z,Y,Q,J,q,X,z){if(typeof z==="function")z={callback:z};if(!(z===null||z===void 0?void 0:z.callback)){let W=zQ(Z,Y,Q,J,q,X,z);if(!W)return;return Y7(W,z===null||z===void 0?void 0:z.headerOptions)}else{let{callback:W}=z;zQ(Z,Y,Q,J,q,X,Object.assign(Object.assign({},z),{callback:(U)=>{if(!U)W(void 0);else W(Y7(U,z.headerOptions))}}))}}function WM(Z,Y,Q,J,q,X){return Vq(Z,Z,Y,Q,J,q,X)}function Lb(Z){let Y=Z.endsWith(`
670
673
  `),Q=Z.split(`
671
674
  `).map((J)=>J+`
672
- `);if(Y)Q.pop();else Q.push(Q.pop().slice(0,-1));return Q}var Xq,cD,lD;var oD=j(()=>{YQ();Xq={includeIndex:!0,includeUnderline:!0,includeFileHeaders:!0},cD={includeIndex:!1,includeUnderline:!1,includeFileHeaders:!0},lD={includeIndex:!1,includeUnderline:!1,includeFileHeaders:!1}});function iD(Z){let Y=[],Q,J;for(let q=0;q<Z.length;q++){if(Q=Z[q],Q.added)J=1;else if(Q.removed)J=-1;else J=0;Y.push([J,Q.value])}return Y}function sD(Z){let Y=[];for(let Q=0;Q<Z.length;Q++){let J=Z[Q];if(J.added)Y.push("<ins>");else if(J.removed)Y.push("<del>");if(Y.push(sP(J.value)),J.added)Y.push("</ins>");else if(J.removed)Y.push("</del>")}return Y.join("")}function sP(Z){let Y=Z;return Y=Y.replace(/&/g,"&amp;"),Y=Y.replace(/</g,"&lt;"),Y=Y.replace(/>/g,"&gt;"),Y=Y.replace(/"/g,"&quot;"),Y}var Hq={};b4(Hq,{wordsWithSpaceDiff:()=>o3,wordDiff:()=>n3,structuredPatch:()=>QQ,sentenceDiff:()=>a3,reversePatch:()=>qq,parsePatch:()=>r1,lineDiff:()=>ZQ,jsonDiff:()=>t3,formatPatch:()=>t1,diffWordsWithSpace:()=>i3,diffWords:()=>LD,diffTrimmedLines:()=>RD,diffSentences:()=>kD,diffLines:()=>s1,diffJson:()=>SD,diffCss:()=>PD,diffChars:()=>DD,diffArrays:()=>hD,cssDiff:()=>r3,createTwoFilesPatch:()=>zq,createPatch:()=>nD,convertChangesToXML:()=>sD,convertChangesToDMP:()=>iD,characterDiff:()=>p3,canonicalize:()=>a1,arrayDiff:()=>e3,applyPatches:()=>uD,applyPatch:()=>Jq,OMIT_HEADERS:()=>lD,INCLUDE_HEADERS:()=>Xq,FILE_HEADERS_ONLY:()=>cD,Diff:()=>r0});var Wq=j(()=>{MD();AD();YQ();ED();bD();yD();gD();dD();oD()});async function aP(){return rD??=import("@shikijs/cli"),await rD}async function zM(){return tD??=Promise.resolve().then(() => (Wq(),Hq)),await tD}function rP(){return eD??=new FD({semaphore:p.threadResources}).require("@shikijs/cli","shikiWorker"),eD}function Kq(Z){let Y=[];for(let Q of Z){if(!Q.value)continue;let J=Y[Y.length-1];if(J&&J.type===Q.type)J.value+=Q.value;else Y.push({...Q})}return Y}function Uq(Z){return Boolean(Z.added||Z.removed)}function tP(Z,Y,Q){let J=Z[Y];if(!J||Uq(J))return!1;let q=Array.from(J.value);if(q.filter((K)=>K===`
675
+ `);if(Y)Q.pop();else Q.push(Q.pop().slice(0,-1));return Q}var XQ,zM,HM;var UM=N(()=>{qQ();XQ={includeIndex:!0,includeUnderline:!0,includeFileHeaders:!0},zM={includeIndex:!1,includeUnderline:!1,includeFileHeaders:!0},HM={includeIndex:!1,includeUnderline:!1,includeFileHeaders:!1}});function KM(Z){let Y=[],Q,J;for(let q=0;q<Z.length;q++){if(Q=Z[q],Q.added)J=1;else if(Q.removed)J=-1;else J=0;Y.push([J,Q.value])}return Y}function BM(Z){let Y=[];for(let Q=0;Q<Z.length;Q++){let J=Z[Q];if(J.added)Y.push("<ins>");else if(J.removed)Y.push("<del>");if(Y.push(wb(J.value)),J.added)Y.push("</ins>");else if(J.removed)Y.push("</del>")}return Y.join("")}function wb(Z){let Y=Z;return Y=Y.replace(/&/g,"&amp;"),Y=Y.replace(/</g,"&lt;"),Y=Y.replace(/>/g,"&gt;"),Y=Y.replace(/"/g,"&quot;"),Y}var Oq={};y8(Oq,{wordsWithSpaceDiff:()=>Qq,wordDiff:()=>Yq,structuredPatch:()=>zQ,sentenceDiff:()=>Xq,reversePatch:()=>Fq,parsePatch:()=>Z7,lineDiff:()=>JQ,jsonDiff:()=>Hq,formatPatch:()=>Y7,diffWordsWithSpace:()=>Jq,diffWords:()=>fD,diffTrimmedLines:()=>uD,diffSentences:()=>cD,diffLines:()=>t1,diffJson:()=>aD,diffCss:()=>oD,diffChars:()=>PD,diffArrays:()=>eD,cssDiff:()=>zq,createTwoFilesPatch:()=>Vq,createPatch:()=>WM,convertChangesToXML:()=>BM,convertChangesToDMP:()=>KM,characterDiff:()=>aJ,canonicalize:()=>e1,arrayDiff:()=>Wq,applyPatches:()=>JM,applyPatch:()=>$q,OMIT_HEADERS:()=>HM,INCLUDE_HEADERS:()=>XQ,FILE_HEADERS_ONLY:()=>zM,Diff:()=>Z6});var Dq=N(()=>{xD();gD();qQ();lD();iD();rD();ZM();qM();UM()});import Mq from"path";function WQ(Z){return Z.replace(/\r/g,"")}async function Ab(){return FM??=import("@shikijs/cli"),await FM}async function LM(){return VM??=Promise.resolve().then(() => (Dq(),Oq)),await VM}function Gb(){let Z=sJ();if(!Z)throw Error("Generic worker file is not available.");return OM??=new GD({env:{FORCE_COLOR:process.env.FORCE_COLOR||"3"},semaphore:p.threadResources,workerSource:Z}).require("@shikijs/cli","shikiWorker"),OM}function wM(){return sJ()!==null}function Iq(Z){let Y=[];for(let Q of Z){if(!Q.value)continue;let J=Y[Y.length-1];if(J&&J.type===Q.type)J.value+=Q.value;else Y.push({...Q})}return Y}function jq(Z){return Boolean(Z.added||Z.removed)}function Cb(Z,Y,Q){let J=Z[Y];if(!J||jq(J))return!1;let q=Array.from(J.value);if(q.filter((K)=>K===`
673
676
  `).length>1)return!1;if(q.filter((K)=>K!==`
674
- `&&K!=="\r").length>=Q)return!1;let W=!1;for(let K=Y-1;K>=0;K--){if(!Z[K]?.value)continue;if(Uq(Z[K]))W=!0;break}if(!W)return!1;let U=!1;for(let K=Y+1;K<Z.length;K++){if(!Z[K]?.value)continue;if(Uq(Z[K]))U=!0;break}return U}function eP(Z){let Y=[],Q=null;for(let J=0;J<Z.length;J++){let q=Z[J],X=q.value.length;if(q.removed){if(Q&&Q.length<X){if(q.value.startsWith(Q)){Y.splice(J-1,1,{type:"same",value:Q},{type:"delete",value:q.value.slice(Q.length)});continue}else if(q.value.endsWith(Q)){Y.splice(J-1,1,{type:"delete",value:q.value.slice(0,X-Q.length)},{type:"same",value:Q});continue}}else if(Q&&Q.length>X){if(Q.startsWith(q.value)){Y.splice(J-1,1,{type:"same",value:q.value},{type:"add",value:Q.slice(X)});continue}else if(Q.endsWith(q.value)){Y.splice(J-1,1,{type:"add",value:Q.slice(0,Q.length-X)},{type:"same",value:q.value});continue}}Q=q.value,Y.push({type:"delete",value:q.value});continue}if(q.added){if(Q&&Q.length<X){if(q.value.startsWith(Q)){Y.splice(J-1,1,{type:"same",value:Q},{type:"add",value:q.value.slice(Q.length)});continue}else if(q.value.endsWith(Q)){Y.splice(J-1,1,{type:"add",value:q.value.slice(0,X-Q.length)},{type:"same",value:Q});continue}}else if(Q&&Q.length>X){if(Q.startsWith(q.value)){Y.splice(J-1,1,{type:"same",value:q.value},{type:"delete",value:Q.slice(X)});continue}else if(Q.endsWith(q.value)){Y.splice(J-1,1,{type:"delete",value:Q.slice(0,Q.length-X)},{type:"same",value:q.value});continue}}Q=q.value,Y.push({type:"add",value:q.value});continue}Y.push({type:"same",value:q.value})}return Kq(Y)}function ZM(Z,Y){let Q=[];for(let J=0;J<Z.length;J++){let q=Z[J];if(Y==="add"&&q.removed)continue;if(Y==="delete"&&q.added)continue;if(q.added)Q.push({type:"add",value:q.value});else if(q.removed)Q.push({type:"delete",value:q.value});else if(tP(Z,J,zz))Q.push({type:Y,value:q.value});else Q.push({type:"same",value:q.value})}return Kq(Q)}function Zb(Z){let Y=0;for(let Q of Z){if(Y>X2)return!0;if(Q.count>Hz){Y=0;continue}if(Q.added)Y++;else if(Q.removed)Y++}return Y>X2}function YM(Z){return Z.map((Y)=>Y.value).join("")}function QM(Z,Y){let Q=Array.from({length:Y},()=>[]);if(Y<=0)return Q;let J=0;for(let q of Z){let X=q.value;while(X.length>0&&J<Y){let z=X.indexOf(`
675
- `);if(z===-1){if(X)Q[J].push({type:q.type,value:X});break}let W=X.slice(0,z);if(W)Q[J].push({type:q.type,value:W});J++,X=X.slice(z+1)}}for(let q=0;q<Q.length;q++)Q[q]=Kq(Q[q]);return Q}function Yb(Z){let Y=[],Q="",J=0,q="";while(J<Z.length){if(Z[J]==="\x1B"){let W=Z.slice(J).match(oX);if(W){q+=W[0],J+=W[0].length;continue}}let X=Z.codePointAt(J);if(X===void 0)break;let z=String.fromCodePoint(X);Y.push({prefix:q,char:z}),q="",J+=z.length}return Q=q,{tokens:Y,trailingAnsi:Q}}function e1(){return process.stdout.isTTY===!0&&process.stdin.isTTY===!0&&e0.supportsColor>=3}function Qb(Z){let Y=Z.split(".").pop()?.toLowerCase()||"";return j7[Y]||"text"}function JM(Z,Y){if(Y===1)return String(Z);return`${Z},${Y}`}function Jb(Z){if(e0.supportsColor<=0)return Z;if(Z.startsWith("@@"))return`${H.cyan}${Z}${H.reset}`;if(Z.startsWith("+"))return`${H.green}${Z}${H.reset}`;if(Z.startsWith("-"))return`${H.red}${Z}${H.reset}`;if(Z.startsWith("\\"))return`${H.dim}${Z}${H.reset}`;return Z}async function qb(Z,Y){let J=(await zM()).structuredPatch;if(!J)throw new o("Diff module does not provide structuredPatch.","DIFF_STRUCTURED_PATCH_UNAVAILABLE");let q=J("a/COMMIT_EDITMSG","b/COMMIT_EDITMSG",Z,Y,"","",{context:3}),X=[];for(let W of q.hunks||[]){let U=JM(W.oldStart,W.oldLines),K=JM(W.newStart,W.newLines),B=W.heading?` ${W.heading}`:"";X.push(`@@ -${U} +${K} @@${B}`),X.push(...W.lines)}let z=X.length>0?`diff --git a/COMMIT_EDITMSG b/COMMIT_EDITMSG
677
+ `&&K!=="\r").length>=Q)return!1;let W=!1;for(let K=Y-1;K>=0;K--){if(!Z[K]?.value)continue;if(jq(Z[K]))W=!0;break}if(!W)return!1;let U=!1;for(let K=Y+1;K<Z.length;K++){if(!Z[K]?.value)continue;if(jq(Z[K]))U=!0;break}return U}function Rb(Z){let Y=[],Q=null;for(let J=0;J<Z.length;J++){let q=Z[J],X=q.value.length;if(q.removed){if(Q&&Q.length<X){if(q.value.startsWith(Q)){Y.splice(J-1,1,{type:"same",value:Q},{type:"delete",value:q.value.slice(Q.length)});continue}else if(q.value.endsWith(Q)){Y.splice(J-1,1,{type:"delete",value:q.value.slice(0,X-Q.length)},{type:"same",value:Q});continue}}else if(Q&&Q.length>X){if(Q.startsWith(q.value)){Y.splice(J-1,1,{type:"same",value:q.value},{type:"add",value:Q.slice(X)});continue}else if(Q.endsWith(q.value)){Y.splice(J-1,1,{type:"add",value:Q.slice(0,Q.length-X)},{type:"same",value:q.value});continue}}Q=q.value,Y.push({type:"delete",value:q.value});continue}if(q.added){if(Q&&Q.length<X){if(q.value.startsWith(Q)){Y.splice(J-1,1,{type:"same",value:Q},{type:"add",value:q.value.slice(Q.length)});continue}else if(q.value.endsWith(Q)){Y.splice(J-1,1,{type:"add",value:q.value.slice(0,X-Q.length)},{type:"same",value:Q});continue}}else if(Q&&Q.length>X){if(Q.startsWith(q.value)){Y.splice(J-1,1,{type:"same",value:q.value},{type:"delete",value:Q.slice(X)});continue}else if(Q.endsWith(q.value)){Y.splice(J-1,1,{type:"delete",value:Q.slice(0,Q.length-X)},{type:"same",value:q.value});continue}}Q=q.value,Y.push({type:"add",value:q.value});continue}Y.push({type:"same",value:q.value})}return Iq(Y)}function DM(Z,Y){let Q=[];for(let J=0;J<Z.length;J++){let q=Z[J];if(Y==="add"&&q.removed)continue;if(Y==="delete"&&q.added)continue;if(q.added)Q.push({type:"add",value:q.value});else if(q.removed)Q.push({type:"delete",value:q.value});else if(Cb(Z,J,Mz))Q.push({type:Y,value:q.value});else Q.push({type:"same",value:q.value})}return Iq(Q)}function Tb(Z){let Y=0;for(let Q of Z){if(Y>$2)return!0;if(Q.count>jz){Y=0;continue}if(Q.added)Y++;else if(Q.removed)Y++}return Y>$2}function MM(Z){return Z.map((Y)=>Y.value).join("")}function jM(Z,Y){let Q=Array.from({length:Y},()=>[]);if(Y<=0)return Q;let J=0;for(let q of Z){let X=q.value;while(X.length>0&&J<Y){let z=X.indexOf(`
678
+ `);if(z===-1){if(X)Q[J].push({type:q.type,value:X});break}let W=X.slice(0,z);if(W)Q[J].push({type:q.type,value:W});J++,X=X.slice(z+1)}}for(let q=0;q<Q.length;q++)Q[q]=Iq(Q[q]);return Q}function kb(Z){let Y=[],Q="",J=0,q="";while(J<Z.length){if(Z[J]==="\x1B"){let W=Z.slice(J).match(qz);if(W){q+=W[0],J+=W[0].length;continue}}let X=Z.codePointAt(J);if(X===void 0)break;let z=String.fromCodePoint(X);Y.push({prefix:q,char:z}),q="",J+=z.length}return Q=q,{tokens:Y,trailingAnsi:Q}}function Q7(){return process.stdout.isTTY===!0&&process.stdin.isTTY===!0&&Q6.supportsColor>=3}function Eb(Z){let Y=Z.split(".").pop()?.toLowerCase()||"";return I7[Y]||"text"}function _M(Z,Y){if(Y===1)return String(Z);return`${Z},${Y}`}function Pb(Z){if(Q6.supportsColor<=0)return Z;if(Z.startsWith("@@"))return`${H.cyan}${Z}${H.reset}`;if(Z.startsWith("+"))return`${H.green}${Z}${H.reset}`;if(Z.startsWith("-"))return`${H.red}${Z}${H.reset}`;if(Z.startsWith("\\"))return`${H.dim}${Z}${H.reset}`;return Z}async function xb(Z,Y){let J=(await LM()).structuredPatch;if(!J)throw new o("Diff module does not provide structuredPatch.","DIFF_STRUCTURED_PATCH_UNAVAILABLE");let q=J("a/COMMIT_EDITMSG","b/COMMIT_EDITMSG",Z,Y,"","",{context:3}),X=[];for(let W of q.hunks||[]){let U=_M(W.oldStart,W.oldLines),K=_M(W.newStart,W.newLines),B=W.heading?` ${W.heading}`:"";X.push(`@@ -${U} +${K} @@${B}`),X.push(...W.lines)}let z=X.length>0?`diff --git a/COMMIT_EDITMSG b/COMMIT_EDITMSG
676
679
  ${X.join(`
677
- `)}`:"diff --git a/COMMIT_EDITMSG b/COMMIT_EDITMSG";return{patchBodyLines:X,rendererDiffText:z}}async function HM(Z,Y){if(Z===Y)return[];let{patchBodyLines:Q,rendererDiffText:J}=await qb(Z,Y);if(Q.length===0)return[];if(e1()){let q=new Bq(J,{showLineNumbers:!1,showStatus:!1,disableSyntaxHighlighting:!0});await q.prepareHighlighting();let X=[];for(let z=0;z<q.getLineCount();z++)X.push(q.getLine(z));return X}return Q.map((q)=>Jb(q))}function kZ(Z){let Y=[],Q=Z.split(`
678
- `),J=null,q=0,X=0,z=!1,W=2;for(let U of Q){if(Y2.test(U)){if(J)Y.push(J);let K=Wb(U);if(K)J={fileName:K.fileName,oldFileName:K.oldFileName,newFileName:K.newFileName,lang:Qb(K.fileName),lines:[]},z=K.isCombined,W=2;else J=null,z=!1,W=2;continue}if(!J)continue;if(U.startsWith("--- ")||U.startsWith("+++ ")){J.lines.push({type:"header",content:U});continue}if(U.startsWith("@@@ ")){let K=U.match(/@@@ -(\d+)(?:,\d+)?/),B=U.match(/\+(\d+)(?:,\d+)? @@@/);if(K)q=parseInt(K[1],10);if(B)X=parseInt(B[1],10);J.lines.push({type:"hunk",content:U}),z=!0;let $=U.match(/-\d+(?:,\d+)?/g);W=Math.max($?.length??2,2);continue}if(U.startsWith("@@ ")){let K=U.match(/@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);if(K)q=parseInt(K[1],10),X=parseInt(K[2],10);J.lines.push({type:"hunk",content:U});continue}if(z){if(U.length>=W){let K=U.slice(0,W);if(/^[ +-]+$/.test(K)){let B=U.slice(W),$=K.includes("+"),F=K.includes("-"),O=$?"add":F?"delete":"context",V={type:O,content:B};if(O==="add")V.newLineNum=X++;else if(O==="delete")V.oldLineNum=q++;else V.oldLineNum=q++,V.newLineNum=X++;J.lines.push(V);continue}}}if(U[0]==="+"){J.lines.push({type:"add",content:U.substring(1),newLineNum:X++});continue}if(U[0]==="-"){J.lines.push({type:"delete",content:U.substring(1),oldLineNum:q++});continue}if(U[0]===" "||U===""){J.lines.push({type:"context",content:U[0]===" "?U.substring(1):"",oldLineNum:q++,newLineNum:X++});continue}if(U.match(/^(new file|deleted file|index|Binary|similarity|rename|old mode|new mode)/))J.lines.push({type:"header",content:U})}if(J)Y.push(J);return Y}async function Xb(Z,Y,Q,J){let q=new Map,X=Z.lines.filter((U)=>U.type==="add"||U.type==="delete"||U.type==="context"||U.type==="modify");if(X.length===0)return q;let z=X.filter((U)=>U.type!=="delete"),W=X.filter((U)=>!(U.type==="add"||U.type==="modify"));try{let U=await aP();if(Q.useAdditionalContext&&J){if((await Promise.all([XM({git$:J,diff:Z,lines:z,lineNumberKey:"newLineNum",path:Z.newFileName,revision:Q.newRevision,maxHunkSize:Q.maxHunkSize,theme:Y,shiki:U,result:q}),XM({git$:J,diff:Z,lines:W,lineNumberKey:"oldLineNum",path:Z.oldFileName,revision:Q.oldRevision,maxHunkSize:Q.maxHunkSize,theme:Y,shiki:U,result:q})])).includes("limited"))q.clear(),await qM({diff:Z,theme:Y,shiki:U,newLines:z,oldLines:W,result:q});return q}await qM({diff:Z,theme:Y,shiki:U,newLines:z,oldLines:W,result:q})}catch(U){M.error(`Error highlighting diff for ${Z.newFileName}: ${o.from(U)}`,"diff-viewer"),X.forEach((K)=>q.set(K,K.content))}return q}async function qM(Z){let{diff:Y,theme:Q,shiki:J,newLines:q,oldLines:X,result:z}=Z;if(q.length>0){let W=q.map((B)=>B.content).join(`
680
+ `)}`:"diff --git a/COMMIT_EDITMSG b/COMMIT_EDITMSG";return{patchBodyLines:X,rendererDiffText:z}}async function AM(Z,Y){if(Z===Y)return[];let{patchBodyLines:Q,rendererDiffText:J}=await xb(Z,Y);if(Q.length===0)return[];if(Q7()){let q=new Lq(J,{showLineNumbers:!1,showStatus:!1,disableSyntaxHighlighting:!0});await q.prepareHighlighting();let X=[];for(let z=0;z<q.getLineCount();z++)X.push(q.getLine(z));return X}return Q.map((q)=>Pb(q))}function PZ(Z){let Y=[],Q=WQ(Z).split(`
681
+ `),J=null,q=0,X=0,z=!1,W=2;for(let U of Q){if(W2.test(U)){if(J)Y.push(J);let K=fb(U);if(K)J={fileName:K.fileName,oldFileName:K.oldFileName,newFileName:K.newFileName,lang:Eb(K.fileName),lines:[]},z=K.isCombined,W=2;else J=null,z=!1,W=2;continue}if(!J)continue;if(U.startsWith("--- ")||U.startsWith("+++ ")){J.lines.push({type:"header",content:U});continue}if(U.startsWith("@@@ ")){let K=U.match(/@@@ -(\d+)(?:,\d+)?/),B=U.match(/\+(\d+)(?:,\d+)? @@@/);if(K)q=parseInt(K[1],10);if(B)X=parseInt(B[1],10);J.lines.push({type:"hunk",content:U}),z=!0;let $=U.match(/-\d+(?:,\d+)?/g);W=Math.max($?.length??2,2);continue}if(U.startsWith("@@ ")){let K=U.match(/@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);if(K)q=parseInt(K[1],10),X=parseInt(K[2],10);J.lines.push({type:"hunk",content:U});continue}if(z){if(U.length>=W){let K=U.slice(0,W);if(/^[ +-]+$/.test(K)){let B=U.slice(W),$=K.includes("+"),V=K.includes("-"),D=$?"add":V?"delete":"context",F={type:D,content:B};if(D==="add")F.newLineNum=X++;else if(D==="delete")F.oldLineNum=q++;else F.oldLineNum=q++,F.newLineNum=X++;J.lines.push(F);continue}}}if(U[0]==="+"){J.lines.push({type:"add",content:U.substring(1),newLineNum:X++});continue}if(U[0]==="-"){J.lines.push({type:"delete",content:U.substring(1),oldLineNum:q++});continue}if(U[0]===" "||U===""){J.lines.push({type:"context",content:U[0]===" "?U.substring(1):"",oldLineNum:q++,newLineNum:X++});continue}if(U.match(/^(new file|deleted file|index|Binary|similarity|rename|old mode|new mode)/))J.lines.push({type:"header",content:U})}if(J)Y.push(J);return Y}async function bb(Z,Y,Q,J,q){let X=new Map,z=Z.lines.filter((K)=>K.type==="add"||K.type==="delete"||K.type==="context"||K.type==="modify");if(z.length===0)return X;let W=z.filter((K)=>K.type!=="delete"),U=z.filter((K)=>!(K.type==="add"||K.type==="modify"));try{let K=await Ab();if(Q.fullfileHighlight&&J){if((await Promise.all([IM({git$:J,diff:Z,lines:W,lineNumberKey:"newLineNum",path:Z.newFileName,revision:Q.newRevision,maxHunkSize:Q.maxHunkSize,theme:Y,shiki:K,result:X},q),IM({git$:J,diff:Z,lines:U,lineNumberKey:"oldLineNum",path:Z.oldFileName,revision:Q.oldRevision,maxHunkSize:Q.maxHunkSize,theme:Y,shiki:K,result:X},q)])).includes("limited"))G6.debug(`Full-file syntax highlighting was skipped for ${Z.newFileName} due to file size. Falling back to context-only highlighting.`),X.clear(),await NM({diff:Z,theme:Y,shiki:K,newLines:W,oldLines:U,result:X});return X}G6.debug(`Full-file syntax highlighting is ${Q.fullfileHighlight?"unavailable":"disabled"} for ${Z.newFileName}. Falling back to context-only highlighting.`),await NM({diff:Z,theme:Y,shiki:K,newLines:W,oldLines:U,result:X})}catch(K){G6.error(`Error highlighting diff for ${Z.newFileName}: ${o.from(K)}`),z.forEach((B)=>X.set(B,B.content))}return X}async function NM(Z){let{diff:Y,theme:Q,shiki:J,newLines:q,oldLines:X,result:z}=Z;if(q.length>0){let W=q.map((B)=>B.content).join(`
679
682
  `),K=(await J.codeToANSI(W,Y.lang,Q)).split(`
680
683
  `);for(let B=0;B<q.length;B++)if(K[B])z.set(q[B],K[B])}if(X.length>0){let W=X.map((B)=>B.content).join(`
681
684
  `),K=(await J.codeToANSI(W,Y.lang,Q)).split(`
682
- `);for(let B=0;B<X.length;B++)if(K[B])z.set(X[B],K[B])}}async function XM(Z){let{git$:Y,diff:Q,lines:J,lineNumberKey:q,path:X,revision:z,maxHunkSize:W,theme:U,shiki:K,result:B}=Z;if(J.length===0)return"unavailable";let $=await zb({git$:Y,path:X,revision:z,lang:Q.lang,theme:U,maxHunkSize:W,shiki:K});if(!$)return"unavailable";if($.contentLength>W)return M.debug(`Skipping syntax highlighting for ${z}:${X}; file size exceeds ${W} chars limit.`,"diff-viewer"),"limited";for(let F of J){let O=F[q];if(O===void 0)continue;let V=$.highlightedLines?.[O-1];if(V!==void 0)B.set(F,V)}return"highlighted"}async function zb(Z){let{git$:Y,path:Q,revision:J,lang:q,theme:X,maxHunkSize:z,shiki:W}=Z,U=await I0(),K=["diffViewer","highlightedFullFile",Array.isArray(Y)&&Y[1]?JQ(Y[1]):"d",JQ(J),JQ(Q),JQ(X)].join("."),B=await U.getOneOff(K);if(B)return B;let $;try{$=(await k`${Y} show ${`${J}:${Q}`}`).stdout}catch{return null}if($.length>z){let V={contentLength:$.length};return await U.setOneOff(K,V),V}let F=await Hb($,q,X,W),O={contentLength:$.length,highlightedLines:F.split(`
683
- `)};return await U.setOneOff(K,O),O}async function Hb(Z,Y,Q,J){return await rP().spawn(async(q,X,z)=>await shikiWorker.codeToANSI(q,X,z),[Z,Y,Q])}function JQ(Z){return Buffer.from(Z).toString("base64url")}class Bq{parsedDiffs=[];renderedLines=[];options;lastWidth=0;lastHeight=0;redundancyLv=0;widthRedundancyLv=0;logger=new M("diff-renderer");ADDED_BG=w6(X0.base,X0.green,0.13);DELETED_BG=w6(X0.base,X0.red,0.13);ADDED_INLINE_BG=w6(X0.base,X0.green,0.28);DELETED_INLINE_BG=w6(X0.base,X0.red,0.28);ADDED_GUTTER_BG=w6(X0.base,X0.green,0.25);DELETED_GUTTER_BG=w6(X0.base,X0.red,0.25);constructor(Z,Y={}){this.options={...o1,showLineNumbers:!0,theme:M7,lineNumberWidth:5,wrapLines:!0,showStatus:!0,preambleLines:[],disableSyntaxHighlighting:!1,git$:void 0,highlighting:{useAdditionalContext:!0,maxHunkSize:200000,oldRevision:"HEAD^",newRevision:"HEAD",...Y.highlighting},...Y},this.options.highlighting={useAdditionalContext:!0,maxHunkSize:200000,oldRevision:"HEAD^",newRevision:"HEAD",...this.options.highlighting},this.logger.debug("Initializing DiffViewerRenderer with options: "+u(this.options)),this.lastWidth=CZ(),this.lastHeight=T8(),this.redundancyLv=Y.redundancyLv??W7(this.options.preambleLines.join("")+Z),this.widthRedundancyLv=Math.max(0,this.redundancyLv),this.logger.debug(`Terminal size: ${this.lastWidth}x${this.lastHeight}, redundancy level: ${this.redundancyLv}, width redundancy level: ${this.widthRedundancyLv}`),this.parsedDiffs=this.logger.time("Parsing diff output",()=>kZ(Z)),this.updateRenderedLines()}async prepareHighlighting(Z){if(await M.time("Preparing inline diffs",()=>this.prepareInlineDiffs()),this.options.disableSyntaxHighlighting){M.time("Post-processing",()=>this.updateRenderedLines());return}let Y=[];for(let Q of this.parsedDiffs){let J=Q.lines.filter((X)=>X.type==="add"||X.type==="delete"||X.type==="context"||X.type==="modify");if(J.length===0)continue;let q=Xb(Q,this.options.theme,this.options.highlighting,this.options.git$).then((X)=>{J.forEach((z)=>{let W=X.get(z);if(W!==void 0)z.highlightedContent=W})});Y.push(q)}Z?.setMessage("Highlighting diffs..."),await Promise.all(Y),M.time("Post-processing after highlighting",()=>this.updateRenderedLines())}async prepareInlineDiffs(){if(!this.parsedDiffs.some((J)=>{for(let q=0;q<J.lines.length;q++){if(J.lines[q].type!=="add"&&J.lines[q].type!=="delete")continue;let X=q;while(q<J.lines.length&&(J.lines[q].type==="add"||J.lines[q].type==="delete"))q++;let z=J.lines.slice(X,q),W=z.some((K)=>K.type==="add"),U=z.some((K)=>K.type==="delete");if(W&&U)return!0;q--}return!1}))return;let Y,Q;try{let J=await zM();Y=J.diffChars,Q=J.diffWordsWithSpace}catch(J){this.logger.warn(`Inline diff module failed to load: ${o.from(J)}`);return}if(!Y){this.logger.warn("Inline diff module loaded without diffChars export");return}for(let J of this.parsedDiffs){let q=0;while(q<J.lines.length){if(J.lines[q].type!=="add"&&J.lines[q].type!=="delete"){q++;continue}let X=q;while(q<J.lines.length&&(J.lines[q].type==="add"||J.lines[q].type==="delete"))q++;let z=q,W=J.lines.slice(X,z),U=W.filter((_)=>_.type==="delete"),K=W.filter((_)=>_.type==="add");if(U.length===0||K.length===0)continue;let B=U.length===1&&K.length===1&&U[0].oldLineNum!==void 0&&K[0].newLineNum!==void 0,$,F,O=null;if(B){let _=U[0],N=K[0];O=Q(_.content,N.content);let w=eP(O);if($=_.content,F=N.content,!Zb(O)){let G={type:"modify",content:N.content,oldLineNum:_.oldLineNum,newLineNum:N.newLineNum,inlineSegments:w};J.lines.splice(X,z-X,G),q=X+1;continue}}if(!O)$=U.map((_)=>_.content).join(`
684
- `),F=K.map((_)=>_.content).join(`
685
- `),O=Y($,F);let V=ZM(O,"add");if(V.length>0&&YM(V)===F){let _=QM(V,K.length);for(let N=0;N<K.length;N++)if(_[N].length>0)K[N].inlineSegments=_[N]}let D=ZM(O,"delete");if(D.length>0&&YM(D)===$){let _=QM(D,U.length);for(let N=0;N<U.length;N++)if(_[N].length>0)U[N].inlineSegments=_[N]}}}}renderLine(Z,Y,Q){let J=[],q=this.options.lineNumberWidth,X=Y-q-4,z=" ",W=Q,U=Q,K=X0.overlay0;switch(Z.type){case"add":z="+",W=this.ADDED_BG,U=this.ADDED_GUTTER_BG,K=X0.green;break;case"modify":z="~",W=this.ADDED_BG,U=this.ADDED_GUTTER_BG,K=X0.green;break;case"delete":z="-",W=this.DELETED_BG,U=this.DELETED_GUTTER_BG,K=X0.red;break;case"context":W=X0.base;break;case"hunk":return J.push(this.renderHunkHeader(Z.content,Y,X)),J;case"header":return J.push(this.renderFileHeader(Z.content,Y)),J;default:return J}let B=Z.inlineSegments?this.renderInlineSegments(Z.inlineSegments,Z.type,W,Z.highlightedContent||Z.content,Z.content):Z.highlightedContent||Z.content,$=Z.newLineNum??Z.oldLineNum,F=$!==void 0?String($).padStart(q):" ".repeat(q),O=`${E0(X0.overlay1)}${F} ${E0(K)}${z} `,V=" ".repeat(q+3);if(this.options.wrapLines&&s0(B,this.widthRedundancyLv)>X){let _=t(B,X,{mode:"strict",redundancyLv:this.widthRedundancyLv}).split(`
686
- `);if(_.length<2)M.warn(`Expected wrapped content to have multiple lines but got a line or less. Original content length: ${B.length}, Wrapped content length: ${_[0]?.length}, ex_length length: ${s0(_[0],this.widthRedundancyLv)}, avaliable space: ${X}`,"diff-renderer");if(s0(_[0],Math.min(this.widthRedundancyLv,0))>X){M.warn(`First line of wrapped content still exceeds available width, countermeasures will be taken. Original content length: ${B.length}, First line length: ${_[0]?.length}, ex_length length: ${s0(_[0],this.widthRedundancyLv)}, avaliable space: ${X}`,"diff-renderer"),_=[];let w=0;while(w<s0(B,this.widthRedundancyLv)){let G=TX(B,w,w+X,this.widthRedundancyLv);_.push(G),w+=s0(G,this.widthRedundancyLv)}}let N;for(let w=0;w<_.length;w++){let G=w===0?O:V;if(N)_[w]=iZ(N)+_[w];if(J.push(this.padLineWithBg(G+Y6(W)+_[w],Y,U)),w!==_.length-1)N=oZ(G+_[w])}}else J.push(this.padLineWithBg(O+Y6(W)+B,Y,U));return J}renderInlineSegments(Z,Y,Q,J,q){let X=[],z=Y6(Q),{tokens:W,trailingAnsi:U}=Yb(J),K=Array.from(q),B=0,$=(F)=>{let O=Array.from(F),V="";for(let D of O){let _=W[B];if(_){V+=`${_.prefix}${_.char}`,B++;continue}let N=K[B]??D;V+=N,B++}return V};for(let F of Z){if(F.type==="same"){X.push($(F.value));continue}if(F.type==="add"){X.push(`${Y6(this.ADDED_INLINE_BG)}${$(F.value)}${z}`);continue}let O=Y==="modify"?F.value:$(F.value),V=Y==="modify",D=V?"\x1B[9m":"",_=V?"\x1B[29m":"";X.push(`${Y6(this.DELETED_INLINE_BG)}${D}${O}${_}${z}`)}if(U)X.push(U);return X.join("")}padLineWithBg(Z,Y,Q){let J=Math.max(0,Y-s0(Z,this.widthRedundancyLv));return`${Y6(Q)}${Z}${" ".repeat(J)}${H.reset}`}renderHunkHeader(Z,Y,Q){let J=w6(X0.crust,X0.surface0,0.3);return Z=K8(Z,Q,"end",this.redundancyLv),this.padLineWithBg(`${H.dim+Y6(X0.cyan)+E0(J)} ↕ ${Y6(J)+E0(X0.cyan)} ${aD.italic(Z)}`,Y,J)}renderFileHeader(Z,Y){let Q=w6(X0.crust,X0.surface0,0.3);return this.padLineWithBg(` ${E0(X0.overlay1)}${Z}`,Y,Q)}renderFileName(Z,Y,Q){let J=w6(X0.crust,X0.surface0,0.3);if(Z===Y)return this.padLineWithBg(` ${E0(X0.lavender)}${aD.bold(Y)}`,Q,J);return this.padLineWithBg(` ${E0(X0.yellow)}${Z} -> ${Y}`,Q,J)}renderPreambleLine(Z,Y,Q,J){if(!Z)return[this.padLineWithBg(" ",Y,Q)];Z=" ".repeat(J)+Z;let q=Y,X=E0(X0.overlay1);if(this.options.wrapLines&&s0(Z,this.widthRedundancyLv)>q)return t(Z,q,{mode:"strict",indent:J,redundancyLv:this.widthRedundancyLv}).split(`
687
- `).map((W)=>this.padLineWithBg(X+W,Y,Q));return[this.padLineWithBg(X+Z,Y,Q)]}updateRenderedLines(){this.renderedLines=[];let Z=this.lastWidth,Y=w6(X0.mantle,X0.surface0,0.2);if(this.options.preambleLines.length>0){for(let Q of this.options.preambleLines)this.renderedLines.push(...this.renderPreambleLine(Q,Z,Y,3));if(this.parsedDiffs.length>0)this.renderedLines.push(this.padLineWithBg(" ",Z,Y))}for(let Q=0;Q<this.parsedDiffs.length;Q++){let J=this.parsedDiffs[Q],q=Y;if(Q!==0)this.renderedLines.push(this.padLineWithBg(" ",Z,q),this.padLineWithBg(" "+E0(X0.surface0)+"─".repeat(Z-12),Z,q),this.padLineWithBg(" ",Z,q));this.renderedLines.push(this.renderFileName(J.oldFileName,J.newFileName,Z));for(let X of J.lines)this.renderedLines.push(...this.renderLine(X,Z,q))}}getLineCount(){return this.renderedLines.length}getLine(Z){return this.renderedLines[Z]||""}render(Z,Y,Q){let J=[],X=`${Y6(this.options.backgroundColor)}${" ".repeat(Q)}${H.reset}`,z=this.renderedLines.length;for(let W=0;W<Y-1;W++){let U=Z+W;J.push(U<z?this.renderedLines[U]:X)}return J}onResize(Z,Y){if(Z!==this.lastWidth||Y!==this.lastHeight)this.lastWidth=Z,this.lastHeight=Y,this.updateRenderedLines()}}async function EZ(Z,Y={}){if(!e1())return M.warn("Diff viewer is not supported in this environment. Falling back to plain output.","diff-viewer"),s5(Z,{...Y,showLineNumbers:!1});let Q=x0({message:Z.length>1e4?"Preparing diff viewer...":void 0,interval:20}),{body:J,preamble:q}=Ub(Z),X=await K0(),z={useAdditionalContext:X.get("viewer.highlighting.useAdditionalContext",!0),maxHunkSize:X.get("viewer.highlighting.maxHunkSize",200000),...Y.highlighting};M.time("Preparing diff highlighting");let W=new Bq(J,{...Y,preambleLines:q,highlighting:z});return await W.prepareHighlighting(Q),f3(),W.onResize(CZ(),T8()),Q.stop(),M.timeEnd("Preparing diff highlighting","diff-viewer"),h3(W,Y)}function qQ(Z){return nX.test(Z)}function Wb(Z){if(Z.startsWith("diff --git ")){let Q=Z.match(/diff --git a\/(.+?) b\/(.+)/);if(!Q)return null;return{fileName:Q[2],oldFileName:Q[1],newFileName:Q[2],isCombined:!1}}let Y=Z.match(/^diff --(?:cc|combined) (.+)$/);if(!Y)return null;return{fileName:Y[1],oldFileName:Y[1],newFileName:Y[1],isCombined:!0}}function Ub(Z){let Y=Z.split(`
688
- `),Q=Y.findIndex((J)=>Y2.test(J));if(Q===-1)return{body:Z,preamble:[]};return{body:Y.slice(Q).join(`
689
- `),preamble:Y.slice(0,Q)}}var aD,rD=null,tD=null,eD=null;var xZ=j(()=>{z0();g3();b0();w0();g0();H0();R0();$6();z8();VD();v0();aD={bold:(Z)=>`\x1B[1m${Z}\x1B[22m`,italic:(Z)=>`\x1B[3m${Z}\x1B[23m`,underline:(Z)=>`\x1B[4m${Z}\x1B[24m`,dim:(Z)=>`\x1B[2m${Z}\x1B[22m`}});function WM(Z){let Y=Z.trim();if(!Y)return()=>!1;if(Y==="*")return()=>!0;let Q=new RegExp(`^${UM(Y,{pathMode:!1})}$`);return(J)=>Q.test(J)}function XQ(Z){let Y=Kb(Z);if(!Y)return null;let Q=new RegExp(`^${UM(Y,{pathMode:!0})}$`);return(J)=>Q.test(Bb(J))}function Kb(Z){let Y=d0(Z.trim());while(Y.startsWith("./"))Y=Y.slice(2);if(Y.startsWith("/"))Y=Y.slice(1);return Y=Y.replace(/\/+$/,""),Y}function Bb(Z){let Y=d0(Z.trim());while(Y.startsWith("./"))Y=Y.slice(2);if(Y.startsWith("/"))Y=Y.slice(1);return Y=Y.replace(/\/+$/,""),Y}function UM(Z,Y){let{pathMode:Q}=Y,J="",q=0;while(q<Z.length){let X=Z[q];if(X==="*"){let z=Z[q+1];if(Q&&z==="*"){if(Z[q+2]==="/"){J+="(?:.*/)?",q+=3;continue}J+=".*",q+=2;continue}J+="[^/]*",q+=1;continue}if(X==="?"){J+=Q?"[^/]":".",q+=1;continue}if(X==="/"){J+="/",q+=1;continue}J+=X.replace(/[.+^${}()|[\]\\]/g,"\\$&"),q+=1}return J}var $q=()=>{};import z6 from"path";async function BM(Z){let Y=[],Q=!1;try{let q=(await K0()).get("parallel.init","submodule,env"),X=KM(q);if(X.invalid.length>0)Y.push(`Unknown parallel.init values: ${X.invalid.join(", ")}. Valid values: submodule, env, pkg.`);let z=KM(Z.noInitList);if(z.invalid.length>0)Y.push(`Unknown --no-init values: ${z.invalid.join(", ")}. Valid values: submodule, env, pkg.`);if(Z.noInitAll||Z.noInitList==="")Q=!0;let W=new Set(z.values),U=X.values.filter((K)=>!W.has(K));if(U.length===0)Q=!0;if(!Q&&U.includes("submodule")){let K=x0({message:"Initializing git submodules..."});try{await LO(Z.git$,Z.worktreePath),K.stop()}catch(B){K.stop(),Y.push(`Submodule init failed. ${u(B,{color:!0})}`)}}if(!Q&&U.includes("env")){let K=await Ob(Z.worktreePath,Z.originPath,Y);Y.push(...K.warnings)}if(!Q&&U.includes("pkg")){let K=await Vb(Z.worktreePath);Y.push(...K.warnings)}}catch(J){Y.push(`Init failed. ${u(J,{color:!0})}`)}Fb(Y)}function Fb(Z){for(let Y of Z)M.warn(Y,"worktree-init")}function KM(Z){let Y=[],Q=[],J=new Set,q=[];if(Array.isArray(Z))q=Z.map((X)=>String(X));else if(typeof Z==="string")q=Z.split(",");else if(Z!=null)q=[String(Z)];for(let X of q){let z=X.trim().toLowerCase();if(!z)continue;if($b.has(z)){let W=z;if(!J.has(W))Y.push(W),J.add(W)}else Q.push(z)}return{values:Y,invalid:Q}}async function Vb(Z){let Y=[],Q=!1,J=Nb(Z,Y);if(J){let q=await wb(J,Z,Y);Q||=q}if(Lb(Z)){let q=await Ab(Z,Y);Q||=q}return{ran:Q,warnings:Y}}async function Ob(Z,Y,Q){let J=[],q=0;try{let X=await K0(),z=Y||Z,{rootFiles:W,envPaths:U}=await Db(z,X,J);if(W.length===0&&U.length===0)return{copied:0,warnings:J};if(W.length>0){let K=W.map(($)=>WM($)),B=await Mb(z,J);for(let $ of B){if(!$)continue;if(K.some((F)=>F($))){if(await $M({sourceRoot:z,targetRoot:Z,relativePath:$,warnings:J}))q++}}}if(U.length>0)q+=await _b({sourceRoot:z,targetRoot:Z,patterns:U,warnings:J})}catch(X){J.push(`Env init failed. ${u(X,{color:!0})}`)}return Q.push(...J),{copied:q,warnings:J}}async function Db(Z,Y,Q){let J=new Set,q=new Set,X=z6.join(Z,".gitignore");if(l(X))try{let U=(await p0(X,"utf-8")).split(/\r?\n/);for(let K of U){let B=K.trim();if(!B||B.startsWith("#"))continue;if(B.startsWith("!"))continue;if(B.endsWith("/"))continue;let $=B.startsWith("/")?B.slice(1):B;if($.includes("/"))continue;J.add($)}}catch(W){Q.push(`Failed to read .gitignore. ${u(W,{color:!0})}`)}let z=Y.get("parallel.envPaths","");if(typeof z==="string"){let W=z.split(":").map((U)=>U.trim()).filter((U)=>U.length>0);for(let U of W)q.add(U)}return{rootFiles:Array.from(J),envPaths:Array.from(q)}}async function Mb(Z,Y){try{return(await g4(Z,{withFileTypes:!0})).filter((J)=>J.isFile()).map((J)=>J.name)}catch(Q){return Y.push(`Failed to list root files. ${u(Q,{color:!0})}`),[]}}async function $M(Z){let{sourceRoot:Y,targetRoot:Q,relativePath:J,warnings:q}=Z;if(z6.resolve(Y)===z6.resolve(Q))return!1;let X=zQ(Y,J),z=zQ(Q,J);if(!l(X))return!1;if(l(z))return!1;try{if(!(await y6(X)).isFile())return!1;await x8(z6.dirname(z),{recursive:!0});let U=await p0(X);return await c0(z,U),!0}catch(W){return q.push(`Failed to copy env file '${J}'. ${u(W,{color:!0})}`),!1}}async function jb(Z){let{sourceRoot:Y,targetRoot:Q,relativePath:J,warnings:q}=Z;if(z6.resolve(Y)===z6.resolve(Q))return!1;let X=zQ(Y,J),z=zQ(Q,J);if(!l(X))return!1;if(l(z))return!1;try{if(!(await y6(X)).isDirectory())return!1;return await FM(X,z,q),!0}catch(W){return q.push(`Failed to copy env directory '${J}'. ${u(W,{color:!0})}`),!1}}async function FM(Z,Y,Q){try{await x8(Y,{recursive:!0});let J=await g4(Z,{withFileTypes:!0});for(let q of J){let X=z6.join(Z,q.name),z=z6.join(Y,q.name);if(q.isDirectory())await FM(X,z,Q);else if(q.isFile()){let W=await p0(X);await c0(z,W)}}}catch(J){Q.push(`Failed to copy env directory. ${u(J,{color:!0})}`)}}async function _b(Z){let{sourceRoot:Y,targetRoot:Q,patterns:J,warnings:q}=Z;if(J.length===0)return 0;let X=J.map((U)=>XQ(U)).filter((U)=>Boolean(U));if(X.length===0)return 0;let z=0,W=async(U,K)=>{let B=[];try{B=await g4(U,{withFileTypes:!0})}catch($){q.push(`Failed to read env paths. ${u($,{color:!0})}`);return}for(let $ of B){let F=K?`${K}/${$.name}`:$.name,O=X.some((V)=>V(F));if(O&&$.isDirectory()){if(await jb({sourceRoot:Y,targetRoot:Q,relativePath:F,warnings:q})){z++;continue}}if(O&&$.isFile()){if(await $M({sourceRoot:Y,targetRoot:Q,relativePath:F,warnings:q}))z++}if($.isDirectory())await W(z6.join(U,$.name),F)}};return await W(Y,""),z}function zQ(Z,Y){let Q=Y.split("/").filter(Boolean);return z6.join(Z,...Q)}function Nb(Z,Y){let Q=z6.join(Z,"package.json"),J=l(Q),q=z6.join(Z,"bun.lockb"),X=z6.join(Z,"bun.lock"),z=z6.join(Z,"pnpm-lock.yaml"),W=z6.join(Z,"package-lock.json"),U=z6.join(Z,"npm-shrinkwrap.json"),K=null;if(J){let B=Ib(Q,Y);if(B)K=B}if(!K){if(l(q)||l(X))K="bun";else if(l(z))K="pnpm";else if(J&&(l(W)||l(U)))K="npm";else if(J)K="npm"}return K}function Ib(Z,Y){try{let Q=t6(Z,"utf-8"),q=JSON.parse(Q).packageManager?.split("@")[0]?.trim().toLowerCase();if(q==="npm"||q==="pnpm"||q==="bun")return q;if(q)Y.push(`Unsupported packageManager '${q}' in package.json. Supported: npm, pnpm, bun.`)}catch(Q){Y.push(`Failed to parse package.json: ${u(Q,{color:!0})}`)}return null}function Lb(Z){let Y=z6.join(Z,"uv.lock"),Q=z6.join(Z,"pyproject.toml");return l(Y)||l(Q)}async function wb(Z,Y,Q){if(!await H8(Z))return Q.push(`Package manager '${Z}' not found in PATH. Skipping install.`),!1;let q=k({cwd:Y,stdout:"inherit",stderr:"inherit"});try{if(Z==="npm")await q`npm install`;else if(Z==="pnpm")await q`pnpm install`;else await q`bun install`;return!0}catch(X){return Q.push(`Package install failed for '${Z}'. ${u(X,{color:!0})}`),!1}}async function Ab(Z,Y){if(!await H8("uv"))return Y.push("Package manager 'uv' not found in PATH. Skipping install."),!1;let J=k({cwd:Z,stdout:"inherit",stderr:"inherit"});try{return await J`uv sync`,!0}catch(q){return Y.push(`Package install failed for 'uv'. ${u(q,{color:!0})}`),!1}}var $b;var VM=j(()=>{z0();U6();g0();w0();$6();X6();$q();$b=new Set(["submodule","pkg","env"])});import Fq from"path";async function Z7(Z){let{git$:Y,args:Q}=Z,J=Q[1]?.toLowerCase(),{match:q}=f0(J,["list","pardon"]),[X,z]=await Promise.all([A0(Y,["--abbrev-ref","HEAD"]).then((A)=>A.trim().replace(/\//g,"-")),F6(Y)]),W=Fq.basename(z),U=K6,K=`${W}_${X}_backup_*.patch`,B=`${W}_${X}_backup_`,$=".patch";if(q==="list"){R(`${H.cyan}Project:${H.reset} ${W}`),R(`${H.cyan}Branch:${H.reset} ${X}`),R(`${H.cyan}Backup location:${H.reset} ${U}`),R(`${H.cyan}Use \`git clear pardon\` to restore the latest backup.${H.reset}
690
- `),R(`${H.cyan}Looking for backup patch files matching:${H.reset} ${K}
691
- `);let A=await OM(U,B,".patch");if(A.length===0)return R(`${H.yellow}No backup patch files found for project '${W}' on branch '${X}'.${H.reset}`),0;let x=new Date;for(let T=0;T<A.length;T++){let S=A[T],y=(x.getTime()-S.stats.mtime.getTime())/dZ,g=S.stats.mtime.toISOString().replace("T"," ").split(".")[0],P=H.dim;if(S.stats.mtime.toDateString()===x.toDateString())P=H.white;else if(y>=6)P=H.red;R(`${P}backup@${T}: ${g} - ${S.name}${H.reset}`)}return 0}let F=await OM(U,B,".patch"),O=new Date;O.setDate(O.getDate()-7);for(let A of F)if(A.stats.mtime<O)try{lQ(A.path),F.splice(F.indexOf(A),1)}catch(x){M.error(`Failed to delete old backup file: ${A.path}
692
- ${u(x,{color:!0})}`,"clear")}if(q==="pardon"){if((await k`${Y} diff --cached --name-only`).stdout.length>0||(await k`${Y} diff --name-only`).stdout.length>0)return M.error("Working Directory is dirty, aborting pardon to prevent unintended data loss. Please clear your workspace first.","clear"),await T0`${Y} status`,1;if(F.length===0)return M.error(`No backup patch file found for branch '${X}'. Pardon failed.`,"clear"),1;let T=F[0],S=new Date;if(S.setDate(S.getDate()-1),T.stats.mtime<S){if(M.warn("Latest backup patch file is older than 1 day. Do you want to proceed with the pardon? (y/n)","clear"),(await b1("Type 'y' to confirm: ")).toLowerCase()!=="y")return M.error("Pardon aborted.","clear"),1}try{await T0`${Y} apply ${T.path}`,lQ(T.path),R(`${H.cyan}Pardon applied successfully from backup: ${H.bright}${T.path}${H.reset}`),await T0`${Y} status`}catch(y){return M.error(`Failed to apply patch. Pardon aborted.
693
- ${u(y,{color:!0})}`,"clear"),1}return 0}let[V,D,_]=await Promise.all([k`${Y} diff --cached --name-only`.then((A)=>A.stdout.length>0),k`${Y} diff --name-only`.then((A)=>A.stdout.length>0),k`${Y} ls-files --others --exclude-standard`.then((A)=>A.stdout.length>0)]);if(!V&&!D&&!_)return R(`${H.cyan}No changes to clear. Working directory is clean.${H.reset}`),await T0`${Y} status`,0;let N=new Date().toISOString().replace(/[-:T.]/g,"").slice(0,14),w=`${W}_${X}_backup_${N}.patch`,G=Fq.join(U,w);await T0`${Y} add -A`;let I=await IZ(Y,["-c","color.ui=never","diff","--cached","--binary","--no-color","--no-ext-diff"],G,">");if(I!==0)return M.error("Failed to create backup patch. Clear aborted.","clear"),I||1;return R(`${H.cyan}Backup of all changes saved to: ${H.bright}${G}${H.reset}
694
- ${H.cyan}(\`git clear pardon\` to undo)${H.reset}`),await T0`${Y} reset --hard HEAD`,await T0`${Y} clean -fd`,await T0`${Y} status`,0}async function OM(Z,Y,Q){let q=d6(Z).filter((z)=>z.startsWith(Y)&&z.endsWith(Q));return(await Promise.all(q.map(async(z)=>{let W=Fq.join(Z,z),U=await y6(W);return{name:z,path:W,stats:U}}))).sort((z,W)=>W.stats.mtime.getTime()-z.stats.mtime.getTime())}var DM,MM;var Y7=j(()=>{U6();z0();g0();R0();H0();w0();H0();b0();v0();X6();o0();DM={long:()=>{return t(Z0`
685
+ `);for(let B=0;B<X.length;B++)if(K[B])z.set(X[B],K[B])}}async function IM(Z,Y){let{git$:Q,diff:J,lines:q,lineNumberKey:X,path:z,revision:W,maxHunkSize:U,theme:K,shiki:B,result:$}=Z;if(q.length===0)return"unavailable";let V=await vb({git$:Q,path:z,revision:W,lang:J.lang,theme:K,maxHunkSize:U,shiki:B});if(Y?.updateProgress(1),!V)return"unavailable";if(V.contentLength>U)return G6.debug(`Skipping syntax highlighting for ${W}:${z}; file size exceeds ${U} chars limit.`),"limited";for(let D of q){let F=D[X];if(F===void 0)continue;let O=V.highlightedLines?.[F-1];if(O!==void 0)$.set(D,O)}return"highlighted"}async function vb(Z){let{git$:Y,path:Q,revision:J,lang:q,theme:X,maxHunkSize:z,shiki:W}=Z,U=J===_q,K=J===Nq,B=await I0(),$=["diffViewer","highlightedFullFile","ansiV2",Array.isArray(Y)&&Y[1]?HQ(Y[1]):"d",HQ(J),HQ(Q),HQ(X)].join("."),V=U||K?null:await B.getOneOff($);if(V)return V;let D;try{if(U)D=await Sb(Y,Q);else if(K)D=(await k`${Y} show ${`:${Q}`}`).stdout;else D=(await k`${Y} show ${`${J}:${Q}`}`).stdout}catch{return null}if(D.length>z){let j={contentLength:D.length};if(!U&&!K)await B.setOneOff($,j);return j}let F=wM()?await yb(D,q,X,W):await W.codeToANSI(D,q,X),O={contentLength:D.length,highlightedLines:F.split(`
686
+ `)};if(!U&&!K)await B.setOneOff($,O);return O}async function Sb(Z,Y){let Q=(await A0(Z,["--show-toplevel"])).trim(),J=Mq.resolve(Q,Y),q=Mq.relative(Q,J);if(q.startsWith("..")||Mq.isAbsolute(q))throw Error(`Diff path escapes repository root: ${Y}`);return await f0(J,"utf-8")}async function yb(Z,Y,Q,J){try{return await Gb().spawn(async(q,X,z)=>await shikiWorker.codeToANSI(q,X,z),[Z,Y,Q])}catch(q){return G6.debug(`Worker syntax highlighting failed; falling back to main thread: ${o.from(q)}`),await J.codeToANSI(Z,Y,Q)}}function HQ(Z){return Buffer.from(Z).toString("base64url")}class Lq{parsedDiffs=[];renderedLines=[];options;lastWidth=0;lastHeight=0;redundancyLv=0;widthRedundancyLv=0;logger=new M("diff-renderer");ADDED_BG=O6(X0.base,X0.green,0.13);DELETED_BG=O6(X0.base,X0.red,0.13);ADDED_INLINE_BG=O6(X0.base,X0.green,0.28);DELETED_INLINE_BG=O6(X0.base,X0.red,0.28);ADDED_GUTTER_BG=O6(X0.base,X0.green,0.25);DELETED_GUTTER_BG=O6(X0.base,X0.red,0.25);constructor(Z,Y={}){Z=WQ(Z),this.options={...a1,showLineNumbers:!0,theme:N7,lineNumberWidth:5,wrapLines:!0,showStatus:!0,preambleLines:[],disableSyntaxHighlighting:!1,git$:void 0,highlighting:{fullfileHighlight:!0,maxHunkSize:200000,oldRevision:"HEAD^",newRevision:"HEAD",...Y.highlighting},...Y},this.options.highlighting={fullfileHighlight:!0,maxHunkSize:200000,oldRevision:"HEAD^",newRevision:"HEAD",...this.options.highlighting},this.logger.debug("Initializing DiffViewerRenderer with options: "+u(this.options)),this.lastWidth=TZ(),this.lastHeight=E4(),this.redundancyLv=Y.redundancyLv??B7(this.options.preambleLines.join("")+Z),this.widthRedundancyLv=Math.max(0,this.redundancyLv),this.logger.debug(`Terminal size: ${this.lastWidth}x${this.lastHeight}, redundancy level: ${this.redundancyLv}, width redundancy level: ${this.widthRedundancyLv}`),this.parsedDiffs=this.logger.time("Parsing diff output",()=>PZ(Z)),this.updateRenderedLines()}async prepareHighlighting(Z){if(await G6.time("Preparing inline diffs",()=>this.prepareInlineDiffs()),this.options.disableSyntaxHighlighting){G6.time("Post-processing",()=>this.updateRenderedLines());return}if(this.options.highlighting.fullfileHighlight&&!wM())G6.debug("Worker threads are not available in this environment. All syntax highlighting will run on the main thread, which may cause UI freezes for large diffs.");let Y=[];for(let Q of this.parsedDiffs){let J=Q.lines.filter((X)=>X.type==="add"||X.type==="delete"||X.type==="context"||X.type==="modify");if(J.length===0)continue;let q=bb(Q,this.options.theme,this.options.highlighting,this.options.git$,Z).then((X)=>{J.forEach((z)=>{let W=X.get(z);if(W!==void 0)z.highlightedContent=W})});Y.push(q)}if(this.options.highlighting.fullfileHighlight&&Z)Z.options.progress={current:0,total:Y.length*2};Z?.setMessage("Highlighting diffs"),await Promise.all(Y),G6.time("Post-processing after highlighting",()=>this.updateRenderedLines())}async prepareInlineDiffs(){if(!this.parsedDiffs.some((J)=>{for(let q=0;q<J.lines.length;q++){if(J.lines[q].type!=="add"&&J.lines[q].type!=="delete")continue;let X=q;while(q<J.lines.length&&(J.lines[q].type==="add"||J.lines[q].type==="delete"))q++;let z=J.lines.slice(X,q),W=z.some((K)=>K.type==="add"),U=z.some((K)=>K.type==="delete");if(W&&U)return!0;q--}return!1}))return;let Y,Q;try{let J=await LM();Y=J.diffChars,Q=J.diffWordsWithSpace}catch(J){this.logger.warn(`Inline diff module failed to load: ${o.from(J)}`);return}if(!Y){this.logger.warn("Inline diff module loaded without diffChars export");return}for(let J of this.parsedDiffs){let q=0;while(q<J.lines.length){if(J.lines[q].type!=="add"&&J.lines[q].type!=="delete"){q++;continue}let X=q;while(q<J.lines.length&&(J.lines[q].type==="add"||J.lines[q].type==="delete"))q++;let z=q,W=J.lines.slice(X,z),U=W.filter((j)=>j.type==="delete"),K=W.filter((j)=>j.type==="add");if(U.length===0||K.length===0)continue;let B=U.length===1&&K.length===1&&U[0].oldLineNum!==void 0&&K[0].newLineNum!==void 0,$,V,D=null;if(B){let j=U[0],_=K[0];D=Q(j.content,_.content);let L=Rb(D);if($=j.content,V=_.content,!Tb(D)){let A={type:"modify",content:_.content,oldLineNum:j.oldLineNum,newLineNum:_.newLineNum,inlineSegments:L};J.lines.splice(X,z-X,A),q=X+1;continue}}if(!D)$=U.map((j)=>j.content).join(`
687
+ `),V=K.map((j)=>j.content).join(`
688
+ `),D=Y($,V);let F=DM(D,"add");if(F.length>0&&MM(F)===V){let j=jM(F,K.length);for(let _=0;_<K.length;_++)if(j[_].length>0)K[_].inlineSegments=j[_]}let O=DM(D,"delete");if(O.length>0&&MM(O)===$){let j=jM(O,U.length);for(let _=0;_<U.length;_++)if(j[_].length>0)U[_].inlineSegments=j[_]}}}}renderLine(Z,Y,Q){let J=[],q=this.options.lineNumberWidth,X=Y-q-4,z=" ",W=Q,U=Q,K=X0.overlay0;switch(Z.type){case"add":z="+",W=this.ADDED_BG,U=this.ADDED_GUTTER_BG,K=X0.green;break;case"modify":z="~",W=this.ADDED_BG,U=this.ADDED_GUTTER_BG,K=X0.green;break;case"delete":z="-",W=this.DELETED_BG,U=this.DELETED_GUTTER_BG,K=X0.red;break;case"context":W=X0.base;break;case"hunk":return J.push(this.renderHunkHeader(Z.content,Y,X)),J;case"header":return J.push(this.renderFileHeader(Z.content,Y)),J;default:return J}let B=Z.inlineSegments?this.renderInlineSegments(Z.inlineSegments,Z.type,W,Z.highlightedContent||Z.content,Z.content):Z.highlightedContent||Z.content,$=Z.newLineNum??Z.oldLineNum,V=$!==void 0?String($).padStart(q):" ".repeat(q),D=`${T0(X0.overlay1)}${V} ${T0(K)}${z} `,F=" ".repeat(q+3);if(this.options.wrapLines&&r0(B,this.widthRedundancyLv)>X){let j=t(B,X,{mode:"strict",redundancyLv:this.widthRedundancyLv}).split(`
689
+ `);if(j.length<2)G6.warn(`Expected wrapped content to have multiple lines but got a line or less. Original content length: ${B.length}, Wrapped content length: ${j[0]?.length}, ex_length length: ${r0(j[0],this.widthRedundancyLv)}, avaliable space: ${X}`);if(r0(j[0],Math.min(this.widthRedundancyLv,0))>X){G6.warn(`First line of wrapped content still exceeds available width, countermeasures will be taken. Original content length: ${B.length}, First line length: ${j[0]?.length}, ex_length length: ${r0(j[0],this.widthRedundancyLv)}, avaliable space: ${X}`),j=[];let L=0;while(L<r0(B,this.widthRedundancyLv)){let A=gX(B,L,L+X,this.widthRedundancyLv);j.push(A),L+=r0(A,this.widthRedundancyLv)}}let _;for(let L=0;L<j.length;L++){let A=L===0?D:F;if(_)j[L]=aZ(_)+j[L];if(J.push(this.padLineWithBg(A+l0(W)+j[L],Y,U)),L!==j.length-1)_=sZ(A+j[L])}}else J.push(this.padLineWithBg(D+l0(W)+B,Y,U));return J}renderInlineSegments(Z,Y,Q,J,q){let X=[],z=l0(Q),{tokens:W,trailingAnsi:U}=kb(J),K=Array.from(q),B=0,$=(V)=>{let D=Array.from(V),F="";for(let O of D){let j=W[B];if(j){F+=`${j.prefix}${j.char}`,B++;continue}let _=K[B]??O;F+=_,B++}return F};for(let V of Z){if(V.type==="same"){X.push($(V.value));continue}if(V.type==="add"){X.push(`${l0(this.ADDED_INLINE_BG)}${$(V.value)}${z}`);continue}let D=Y==="modify"?V.value:$(V.value),F=Y==="modify",O=F?"\x1B[9m":"",j=F?"\x1B[29m":"";X.push(`${l0(this.DELETED_INLINE_BG)}${O}${D}${j}${z}`)}if(U)X.push(U);return X.join("")}padLineWithBg(Z,Y,Q){let J=Math.max(0,Y-r0(Z,this.widthRedundancyLv));return`${l0(Q)}${Z}${" ".repeat(J)}${H.reset}`}renderHunkHeader(Z,Y,Q){let J=O6(X0.crust,X0.surface0,0.3);return Z=B4(Z,Q,"end",this.redundancyLv),this.padLineWithBg(`${H.dim+l0(X0.cyan)+T0(J)} ↕ ${l0(J)+T0(X0.cyan)} ${$M.italic(Z)}`,Y,J)}renderFileHeader(Z,Y){let Q=O6(X0.crust,X0.surface0,0.3);return this.padLineWithBg(` ${T0(X0.overlay1)}${Z}`,Y,Q)}renderFileName(Z,Y,Q){let J=O6(X0.crust,X0.surface0,0.3);if(Z===Y)return this.padLineWithBg(` ${T0(X0.lavender)}${$M.bold(Y)}`,Q,J);return this.padLineWithBg(` ${T0(X0.yellow)}${Z} -> ${Y}`,Q,J)}renderPreambleLine(Z,Y,Q,J){if(!Z)return[this.padLineWithBg(" ",Y,Q)];Z=" ".repeat(J)+Z;let q=Y,X=T0(X0.overlay1);if(this.options.wrapLines&&r0(Z,this.widthRedundancyLv)>q)return t(Z,q,{mode:"strict",indent:J,redundancyLv:this.widthRedundancyLv}).split(`
690
+ `).map((W)=>this.padLineWithBg(X+W,Y,Q));return[this.padLineWithBg(X+Z,Y,Q)]}updateRenderedLines(){this.renderedLines=[];let Z=this.lastWidth,Y=O6(X0.mantle,X0.surface0,0.2);if(this.options.preambleLines.length>0){for(let Q of this.options.preambleLines)this.renderedLines.push(...this.renderPreambleLine(Q,Z,Y,3));if(this.parsedDiffs.length>0)this.renderedLines.push(this.padLineWithBg(" ",Z,Y))}for(let Q=0;Q<this.parsedDiffs.length;Q++){let J=this.parsedDiffs[Q],q=Y;if(Q!==0)this.renderedLines.push(this.padLineWithBg(" ",Z,q),this.padLineWithBg(" "+T0(X0.surface0)+"─".repeat(Z-12),Z,q),this.padLineWithBg(" ",Z,q));this.renderedLines.push(this.renderFileName(J.oldFileName,J.newFileName,Z));for(let X of J.lines)this.renderedLines.push(...this.renderLine(X,Z,q))}}getLineCount(){return this.renderedLines.length}getLine(Z){return this.renderedLines[Z]||""}render(Z,Y,Q){let J=[],X=`${l0(this.options.backgroundColor)}${" ".repeat(Q)}${H.reset}`,z=this.renderedLines.length;for(let W=0;W<Y-1;W++){let U=Z+W;J.push(U<z?this.renderedLines[U]:X)}return J}onResize(Z,Y){if(Z!==this.lastWidth||Y!==this.lastHeight)this.lastWidth=Z,this.lastHeight=Y,this.updateRenderedLines()}}async function xZ(Z,Y={}){if(Z=WQ(Z),!Q7())return G6.warn("Diff viewer is not supported in this environment. Falling back to plain output."),t5(Z,{...Y,showLineNumbers:!1});let Q=P0({message:Z.length>1e4?"Preparing diff viewer...":void 0,interval:20}),{body:J,preamble:q}=hb(Z),X=await K0(),z={fullfileHighlight:X.get("viewer.highlighting.fullfileHighlight",!0),maxHunkSize:X.get("viewer.highlighting.maxHunkSize",200000),...Y.highlighting};G6.time("Preparing diff highlighting");let W=new Lq(J,{...Y,preambleLines:q,highlighting:z});return await W.prepareHighlighting(Q),lJ(),W.onResize(TZ(),E4()),Q.stop(),G6.timeEnd("Preparing diff highlighting"),nJ(W,Y)}function UQ(Z){return Jz.test(Z)}function fb(Z){if(Z.startsWith("diff --git ")){let Q=Z.match(/diff --git a\/(.+?) b\/(.+)/);if(!Q)return null;return{fileName:Q[2],oldFileName:Q[1],newFileName:Q[2],isCombined:!1}}let Y=Z.match(/^diff --(?:cc|combined) (.+)$/);if(!Y)return null;return{fileName:Y[1],oldFileName:Y[1],newFileName:Y[1],isCombined:!0}}function hb(Z){let Y=WQ(Z).split(`
691
+ `),Q=Y.findIndex((J)=>W2.test(J));if(Q===-1){if(Y.some((q)=>/^(?:commit |Commit:\s+)[0-9a-f]{7,40}\b/i.test(q)))return{body:"",preamble:Y};return{body:Z,preamble:[]}}return{body:Y.slice(Q).join(`
692
+ `),preamble:Y.slice(0,Q)}}var $M,_q="__GDX_WORKING_TREE__",Nq="__GDX_INDEX__",FM=null,VM=null,OM=null,G6;var bZ=N(()=>{J6();z0();oJ();v0();w0();m0();H0();R0();$6();W4();CD();S0();kD();e0();$M={bold:(Z)=>`\x1B[1m${Z}\x1B[22m`,italic:(Z)=>`\x1B[3m${Z}\x1B[23m`,underline:(Z)=>`\x1B[4m${Z}\x1B[24m`,dim:(Z)=>`\x1B[2m${Z}\x1B[22m`};G6=new M("diff-viewer")});function GM(Z){let Y=Z.trim();if(!Y)return()=>!1;if(Y==="*")return()=>!0;let Q=new RegExp(`^${CM(Y,{pathMode:!1})}$`);return(J)=>Q.test(J)}function KQ(Z){let Y=gb(Z);if(!Y)return null;let Q=new RegExp(`^${CM(Y,{pathMode:!0})}$`);return(J)=>Q.test(mb(J))}function gb(Z){let Y=d0(Z.trim());while(Y.startsWith("./"))Y=Y.slice(2);if(Y.startsWith("/"))Y=Y.slice(1);return Y=Y.replace(/\/+$/,""),Y}function mb(Z){let Y=d0(Z.trim());while(Y.startsWith("./"))Y=Y.slice(2);if(Y.startsWith("/"))Y=Y.slice(1);return Y=Y.replace(/\/+$/,""),Y}function CM(Z,Y){let{pathMode:Q}=Y,J="",q=0;while(q<Z.length){let X=Z[q];if(X==="*"){let z=Z[q+1];if(Q&&z==="*"){if(Z[q+2]==="/"){J+="(?:.*/)?",q+=3;continue}J+=".*",q+=2;continue}J+="[^/]*",q+=1;continue}if(X==="?"){J+=Q?"[^/]":".",q+=1;continue}if(X==="/"){J+="/",q+=1;continue}J+=X.replace(/[.+^${}()|[\]\\]/g,"\\$&"),q+=1}return J}var wq=()=>{};import H6 from"path";async function TM(Z){let Y=[],Q=!1;try{let q=(await K0()).get("parallel.init","submodule,env"),X=RM(q);if(X.invalid.length>0)Y.push(`Unknown parallel.init values: ${X.invalid.join(", ")}. Valid values: submodule, env, pkg.`);let z=RM(Z.noInitList);if(z.invalid.length>0)Y.push(`Unknown --no-init values: ${z.invalid.join(", ")}. Valid values: submodule, env, pkg.`);if(Z.noInitAll||Z.noInitList==="")Q=!0;let W=new Set(z.values),U=X.values.filter((K)=>!W.has(K));if(U.length===0)Q=!0;if(!Q&&U.includes("submodule")){let K=P0({message:"Initializing git submodules..."});try{await xO(Z.git$,Z.worktreePath),K.stop()}catch(B){K.stop(),Y.push(`Submodule init failed. ${u(B,{color:!0})}`)}}if(!Q&&U.includes("env")){let K=await cb(Z.worktreePath,Z.originPath,Y);Y.push(...K.warnings)}if(!Q&&U.includes("pkg")){let K=await db(Z.worktreePath);Y.push(...K.warnings)}}catch(J){Y.push(`Init failed. ${u(J,{color:!0})}`)}ub(Y)}function ub(Z){for(let Y of Z)M.warn(Y,"worktree-init")}function RM(Z){let Y=[],Q=[],J=new Set,q=[];if(Array.isArray(Z))q=Z.map((X)=>String(X));else if(typeof Z==="string")q=Z.split(",");else if(Z!=null)q=[String(Z)];for(let X of q){let z=X.trim().toLowerCase();if(!z)continue;if(pb.has(z)){let W=z;if(!J.has(W))Y.push(W),J.add(W)}else Q.push(z)}return{values:Y,invalid:Q}}async function db(Z){let Y=[],Q=!1,J=sb(Z,Y);if(J){let q=await tb(J,Z,Y);Q||=q}if(rb(Z)){let q=await eb(Z,Y);Q||=q}return{ran:Q,warnings:Y}}async function cb(Z,Y,Q){let J=[],q=0;try{let X=await K0(),z=Y||Z,{rootFiles:W,envPaths:U}=await lb(z,X,J);if(W.length===0&&U.length===0)return{copied:0,warnings:J};if(W.length>0){let K=W.map(($)=>GM($)),B=await nb(z,J);for(let $ of B){if(!$)continue;if(K.some((V)=>V($))){if(await kM({sourceRoot:z,targetRoot:Z,relativePath:$,warnings:J}))q++}}}if(U.length>0)q+=await ib({sourceRoot:z,targetRoot:Z,patterns:U,warnings:J})}catch(X){J.push(`Env init failed. ${u(X,{color:!0})}`)}return Q.push(...J),{copied:q,warnings:J}}async function lb(Z,Y,Q){let J=new Set,q=new Set,X=H6.join(Z,".gitignore");if(l(X))try{let U=(await f0(X,"utf-8")).split(/\r?\n/);for(let K of U){let B=K.trim();if(!B||B.startsWith("#"))continue;if(B.startsWith("!"))continue;if(B.endsWith("/"))continue;let $=B.startsWith("/")?B.slice(1):B;if($.includes("/"))continue;J.add($)}}catch(W){Q.push(`Failed to read .gitignore. ${u(W,{color:!0})}`)}let z=Y.get("parallel.envPaths","");if(typeof z==="string"){let W=z.split(":").map((U)=>U.trim()).filter((U)=>U.length>0);for(let U of W)q.add(U)}return{rootFiles:Array.from(J),envPaths:Array.from(q)}}async function nb(Z,Y){try{return(await u8(Z,{withFileTypes:!0})).filter((J)=>J.isFile()).map((J)=>J.name)}catch(Q){return Y.push(`Failed to list root files. ${u(Q,{color:!0})}`),[]}}async function kM(Z){let{sourceRoot:Y,targetRoot:Q,relativePath:J,warnings:q}=Z;if(H6.resolve(Y)===H6.resolve(Q))return!1;let X=BQ(Y,J),z=BQ(Q,J);if(!l(X))return!1;if(l(z))return!1;try{if(!(await f6(X)).isFile())return!1;await b4(H6.dirname(z),{recursive:!0});let U=await f0(X);return await c0(z,U),!0}catch(W){return q.push(`Failed to copy env file '${J}'. ${u(W,{color:!0})}`),!1}}async function ob(Z){let{sourceRoot:Y,targetRoot:Q,relativePath:J,warnings:q}=Z;if(H6.resolve(Y)===H6.resolve(Q))return!1;let X=BQ(Y,J),z=BQ(Q,J);if(!l(X))return!1;if(l(z))return!1;try{if(!(await f6(X)).isDirectory())return!1;return await EM(X,z,q),!0}catch(W){return q.push(`Failed to copy env directory '${J}'. ${u(W,{color:!0})}`),!1}}async function EM(Z,Y,Q){try{await b4(Y,{recursive:!0});let J=await u8(Z,{withFileTypes:!0});for(let q of J){let X=H6.join(Z,q.name),z=H6.join(Y,q.name);if(q.isDirectory())await EM(X,z,Q);else if(q.isFile()){let W=await f0(X);await c0(z,W)}}}catch(J){Q.push(`Failed to copy env directory. ${u(J,{color:!0})}`)}}async function ib(Z){let{sourceRoot:Y,targetRoot:Q,patterns:J,warnings:q}=Z;if(J.length===0)return 0;let X=J.map((U)=>KQ(U)).filter((U)=>Boolean(U));if(X.length===0)return 0;let z=0,W=async(U,K)=>{let B=[];try{B=await u8(U,{withFileTypes:!0})}catch($){q.push(`Failed to read env paths. ${u($,{color:!0})}`);return}for(let $ of B){let V=K?`${K}/${$.name}`:$.name,D=X.some((F)=>F(V));if(D&&$.isDirectory()){if(await ob({sourceRoot:Y,targetRoot:Q,relativePath:V,warnings:q})){z++;continue}}if(D&&$.isFile()){if(await kM({sourceRoot:Y,targetRoot:Q,relativePath:V,warnings:q}))z++}if($.isDirectory())await W(H6.join(U,$.name),V)}};return await W(Y,""),z}function BQ(Z,Y){let Q=Y.split("/").filter(Boolean);return H6.join(Z,...Q)}function sb(Z,Y){let Q=H6.join(Z,"package.json"),J=l(Q),q=H6.join(Z,"bun.lockb"),X=H6.join(Z,"bun.lock"),z=H6.join(Z,"pnpm-lock.yaml"),W=H6.join(Z,"package-lock.json"),U=H6.join(Z,"npm-shrinkwrap.json"),K=null;if(J){let B=ab(Q,Y);if(B)K=B}if(!K){if(l(q)||l(X))K="bun";else if(l(z))K="pnpm";else if(J&&(l(W)||l(U)))K="npm";else if(J)K="npm"}return K}function ab(Z,Y){try{let Q=Z4(Z,"utf-8"),q=JSON.parse(Q).packageManager?.split("@")[0]?.trim().toLowerCase();if(q==="npm"||q==="pnpm"||q==="bun")return q;if(q)Y.push(`Unsupported packageManager '${q}' in package.json. Supported: npm, pnpm, bun.`)}catch(Q){Y.push(`Failed to parse package.json: ${u(Q,{color:!0})}`)}return null}function rb(Z){let Y=H6.join(Z,"uv.lock"),Q=H6.join(Z,"pyproject.toml");return l(Y)||l(Q)}async function tb(Z,Y,Q){if(!await s4(Z))return Q.push(`Package manager '${Z}' not found in PATH. Skipping install.`),!1;let q=k({cwd:Y,stdout:"inherit",stderr:"inherit"});try{if(Z==="npm")await q`npm install`;else if(Z==="pnpm")await q`pnpm install`;else await q`bun install`;return!0}catch(X){return Q.push(`Package install failed for '${Z}'. ${u(X,{color:!0})}`),!1}}async function eb(Z,Y){if(!await s4("uv"))return Y.push("Package manager 'uv' not found in PATH. Skipping install."),!1;let J=k({cwd:Z,stdout:"inherit",stderr:"inherit"});try{return await J`uv sync`,!0}catch(q){return Y.push(`Package install failed for 'uv'. ${u(q,{color:!0})}`),!1}}var pb;var PM=N(()=>{z0();J6();m0();w0();$6();e0();wq();pb=new Set(["submodule","pkg","env"])});import Aq from"path";async function J7(Z){let{git$:Y,args:Q}=Z,J=Q[1]?.toLowerCase(),{match:q}=h0(J,["list","pardon"]),[X,z]=await Promise.all([A0(Y,["--abbrev-ref","HEAD"]).then((G)=>G.trim().replace(/\//g,"-")),F6(Y)]),W=Aq.basename(z),U=K6,K=`${W}_${X}_backup_*.patch`,B=`${W}_${X}_backup_`,$=".patch";if(q==="list"){C(`${H.cyan}Project:${H.reset} ${W}`),C(`${H.cyan}Branch:${H.reset} ${X}`),C(`${H.cyan}Backup location:${H.reset} ${U}`),C(`${H.cyan}Use \`git clear pardon\` to restore the latest backup.${H.reset}
693
+ `),C(`${H.cyan}Looking for backup patch files matching:${H.reset} ${K}
694
+ `);let G=await xM(U,B,".patch");if(G.length===0)return C(`${H.yellow}No backup patch files found for project '${W}' on branch '${X}'.${H.reset}`),0;let P=new Date;for(let T=0;T<G.length;T++){let S=G[T],y=(P.getTime()-S.stats.mtime.getTime())/lZ,g=S.stats.mtime.toISOString().replace("T"," ").split(".")[0],x=H.dim;if(S.stats.mtime.toDateString()===P.toDateString())x=H.white;else if(y>=6)x=H.red;C(`${x}backup@${T}: ${g} - ${S.name}${H.reset}`)}return 0}let V=await xM(U,B,".patch"),D=new Date;D.setDate(D.getDate()-7);for(let G of V)if(G.stats.mtime<D)try{tQ(G.path),V.splice(V.indexOf(G),1)}catch(P){M.error(`Failed to delete old backup file: ${G.path}
695
+ ${u(P,{color:!0})}`,"clear")}if(q==="pardon"){if((await k`${Y} diff --cached --name-only`).stdout.length>0||(await k`${Y} diff --name-only`).stdout.length>0)return M.error("Working Directory is dirty, aborting pardon to prevent unintended data loss. Please clear your workspace first.","clear"),await E0`${Y} status`,1;if(V.length===0)return M.error(`No backup patch file found for branch '${X}'. Pardon failed.`,"clear"),1;let T=V[0],S=new Date;if(S.setDate(S.getDate()-1),T.stats.mtime<S){if(M.warn("Latest backup patch file is older than 1 day. Do you want to proceed with the pardon? (y/n)","clear"),(await y1("Type 'y' to confirm: ")).toLowerCase()!=="y")return M.error("Pardon aborted.","clear"),1}try{await E0`${Y} apply ${T.path}`,tQ(T.path),C(`${H.cyan}Pardon applied successfully from backup: ${H.bright}${T.path}${H.reset}`),await E0`${Y} status`}catch(y){return M.error(`Failed to apply patch. Pardon aborted.
696
+ ${u(y,{color:!0})}`,"clear"),1}return 0}let[F,O,j]=await Promise.all([k`${Y} diff --cached --name-only`.then((G)=>G.stdout.length>0),k`${Y} diff --name-only`.then((G)=>G.stdout.length>0),k`${Y} ls-files --others --exclude-standard`.then((G)=>G.stdout.length>0)]);if(!F&&!O&&!j)return C(`${H.cyan}No changes to clear. Working directory is clean.${H.reset}`),await E0`${Y} status`,0;let _=new Date().toISOString().replace(/[-:T.]/g,"").slice(0,14),L=`${W}_${X}_backup_${_}.patch`,A=Aq.join(U,L);await E0`${Y} add -A`;let I=await wZ(Y,["-c","color.ui=never","diff","--cached","--binary","--no-color","--no-ext-diff"],A,">");if(I!==0)return M.error("Failed to create backup patch. Clear aborted.","clear"),I||1;return C(`${H.cyan}Backup of all changes saved to: ${H.bright}${A}${H.reset}
697
+ ${H.cyan}(\`git clear pardon\` to undo)${H.reset}`),await E0`${Y} reset --hard HEAD`,await E0`${Y} clean -fd`,await E0`${Y} status`,0}async function xM(Z,Y,Q){let q=l6(Z).filter((z)=>z.startsWith(Y)&&z.endsWith(Q));return(await Promise.all(q.map(async(z)=>{let W=Aq.join(Z,z),U=await f6(W);return{name:z,path:W,stats:U}}))).sort((z,W)=>W.stats.mtime.getTime()-z.stats.mtime.getTime())}var bM,vM;var q7=N(()=>{J6();z0();m0();R0();H0();w0();H0();v0();S0();e0();s0();bM={long:()=>{return t(Z0`
695
698
  ${H.bright+d("CLEAR",E.Zinc400,E.Zinc100,0.2)+H.reset}
696
699
  Safely backup and clear local working changes.
697
700
 
698
701
  ${H.bright+d("DESCRIPTION",E.Zinc400,E.Zinc100,0.2)+H.reset}
699
- Creates a patch file containing the current unstaged, staged, and untracked changes, stores it in the OS temporary directory and then resets the working tree to a clean HEAD via \`${H.cyan}git reset --hard${H.reset}\` and \`${H.cyan}git clean -fd${H.reset}\`. The latest patch is kept so you can restore it with \`${H.cyan}${C} clear pardon${H.reset}\`.
702
+ Creates a patch file containing the current unstaged, staged, and untracked changes, stores it in the OS temporary directory and then resets the working tree to a clean HEAD via \`${H.cyan}git reset --hard${H.reset}\` and \`${H.cyan}git clean -fd${H.reset}\`. The latest patch is kept so you can restore it with \`${H.cyan}${R} clear pardon${H.reset}\`.
700
703
 
701
704
  ${H.bright+d("SUBCOMMANDS",E.Zinc400,E.Zinc100,0.2)+H.reset}
702
705
  - list: Show available backup patch files for this project/branch.
@@ -705,47 +708,47 @@ ${H.cyan}(\`git clear pardon\` to undo)${H.reset}`),await T0`${Y} reset --hard H
705
708
  ${H.bright+d("SAFETY",E.Zinc400,E.Zinc100,0.2)+H.reset}
706
709
  All files (tracked and untracked) are backed up before clearing. Pardon requires a clean working directory.
707
710
  `,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})},short:"Backup and clear local changes, with a restore (pardon) option.",usage:()=>{return t(Z0`
708
- ${H.cyan}${C} clear ${H.dim}[list|pardon]${H.reset}
711
+ ${H.cyan}${R} clear ${H.dim}[list|pardon]${H.reset}
709
712
 
710
713
  Examples:
711
- ${H.cyan}${C} clear ${H.reset+H.dim}# Create backup patch and clear working tree${H.reset}
712
- ${H.cyan}${C} clear list ${H.reset+H.dim}# Show recent backup patches${H.reset}
713
- ${H.cyan}${C} clear pardon ${H.reset+H.dim}# Restore the latest backup patch${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},MM={$root:["list","pardon"]}});import F0 from"path";async function PZ(Z){let Y=await vZ(Z);if(!Y)return[];return Gb(Y).map((Q)=>Q.alias).sort((Q,J)=>Q.localeCompare(J))}function Gb(Z){if(!l(Z.parallelRoot))return[];let Y=d6(Z.parallelRoot,{withFileTypes:!0}),Q=[];for(let J of Y){if(!J.isDirectory())continue;let q=F0.join(Z.parallelRoot,J.name),X=k4(q);if(!X)continue;Q.push({alias:X.alias||J.name,path:q})}return Q.sort((J,q)=>J.alias.localeCompare(q.alias))}function bZ(Z){if(!Z||Z.trim()==="")return!1;if(/[/\\ ]/.test(Z))return!1;if(/[<>:"|?*\x00-\x1f]/.test(Z))return!1;return!0}function k4(Z){let Y=F0.join(Z,".git-parallel.json");try{let Q=t6(Y,"utf-8"),J=JSON.parse(Q);return M.debug(`Loaded parallel metadata from '${Y}': ${u(J)}`,"parallel"),J}catch{return null}}function k8(Z,Y){let Q=F0.join(Z,".git-parallel.json");B8(Q,JSON.stringify(Y,null,2),"utf-8")}function CM(Z,Y){Z.baseCommit=Y,Z.updatedAt=new Date().toISOString(),Z.joinCursor=void 0,Z.submoduleCursors=void 0}async function Pb(Z){let Q=`${Array.isArray(Z)?Z.join(" "):Z}|${F0.resolve(process.cwd())}`;if(R4&&R4.cacheKey===Q){if(Date.now()<=R4.expiresAt)return R4.value;R4=null}let J=await F6(Z),X=(await A0(Z,"--show-superproject-working-tree")).trim()||null;if(!X){let W={repoRoot:J,superprojectPath:null,submodulePath:null};return R4={cacheKey:Q,value:W,expiresAt:Date.now()+WQ},W}let z={repoRoot:J,superprojectPath:X,submodulePath:d0(F0.relative(X,J))};return R4={cacheKey:Q,value:z,expiresAt:Date.now()+WQ},z}async function BQ(Z){let Y=Array.isArray(Z)?Z[0]:Z,Q=await Pb(Z),J=Q.superprojectPath?[Y,"-C",Q.superprojectPath]:Z,q=await vZ(J);if(!q)throw Error("Not inside a git worktree.");return{gitExec:Y,repoRoot:Q.repoRoot,scopeGit$:J,parallelCtx:q,currentLabel:q.isParallelWorktree?q.alias||"origin":"origin",submodulePath:Q.submodulePath}}function Oq(Z,Y){return Y==="origin"?Z.originPath:F0.join(Z.parallelRoot,Y)}async function bb(Z,Y,Q){if((await k`${Z} -C ${Y} status --porcelain=v1 --untracked-files=normal`).stdout.trim().length===0)return!0;if(!Q)return!1;return await Z7({git$:[Z,"-C",Y],args:new R8(["clear"])})===0}async function vb(Z,Y,Q){let J=["-c","protocol.file.allow=always","-C",Y,"submodule","update"];if(Q)J.push("--force");J.push("--init","--recursive"),await k`${Z} ${J}`}function Sb(Z,Y,Q,J,q){if(q)return q;return Z.joinCursor=Q||J,k8(Y,Z),!1}function jM(Z,Y,Q,J){if(!J)Z.joinCursor=Q,k8(Y,Z);return!0}function _M(Z,Y,Q,J,q){if(!q)Z.submoduleCursors??={},Z.submoduleCursors[Q]=J,k8(Y,Z);return!0}async function RM(Z,Y,Q,J){let[q,X]=await Promise.all([w4(Z,Y,"user.name"),w4(Z,Y,"user.email")]);if(q&&X)return[];let z=await TM(Z,Q,J),W=q||z.authorName,U=X||z.authorEmail;if(!W||!U)return[];return["-c",`user.name=${W}`,"-c",`user.email=${U}`]}async function vZ(Z){let Q=`${Array.isArray(Z)?Z.join(" "):Z}|${F0.resolve(process.cwd())}`;if(C4&&C4.cacheKey===Q){if(Date.now()<=C4.expiresAt)return C4.context;C4=null}try{let J=await F6(Z),q=F0.basename(J),X=Array.isArray(Z)?Z[0]:Z,z;try{z=(await G0(X,J,["--abbrev-ref","HEAD"])).trim()}catch{z="HEAD"}let W=F0.join(K6,"worktrees"),U=xX(W,J),K=q,B=z,$=null,F=J;if(U){let D=k4(J);if(D){if(D.project)q=D.project;if(D.branch)z=D.branch;if(D.originPath)F=F0.resolve(D.originPath);if(D.alias)$=D.alias}else $=F0.basename(J);K=D?.safeProject||K,B=D?.safeBranch||B}K=aQ(K),B=aQ(B);let O=F0.join(W,K,B),V={repoRoot:J,projectName:q,branchName:z,safeProjectName:K,safeBranchName:B,parallelRoot:O,originPath:F,alias:$,isParallelWorktree:U};return C4={cacheKey:Q,context:V,expiresAt:Date.now()+WQ},V}catch(J){return M.error(u(J,{color:!0}),"parallel"),C4={cacheKey:Q,context:null,expiresAt:Date.now()+WQ},null}}async function Dq(Z,Y){let Q=await vZ(Z);if(!Q)return 1;M.debug(`Removing worktree '${Y}'...`,"parallel");let J=F0.join(Q.parallelRoot,Y),q=Array.isArray(Z)?Z[0]:Z,X=x0({message:"Preparing worktree for removal..."});await j3(Z);let z=await _3(Z,J);if(!z&&!l(J))return X.stop(),M.error(`Worktree '${Y}' not found for branch '${Q.branchName}'.`,"parallel"),1;if(z?.locked){let B=z.lockReason?` (${z.lockReason})`:"";return X.stop(),M.error(`Worktree '${Y}' is locked ${B}. Unlock it before removing.`,"parallel"),1}if(!l(J)){if(M.debug(`Worktree path '${J}' is missing on disk. Attempting prune...`,"parallel"),await v5(Z),!await _3(Z,J))return X.stop(),R(`${H.cyan}Removed worktree metadata:${H.reset} ${Y}`),M.debug(`Worktree '${Y}' pruned successfully.`,"parallel"),0;return M.error(`Worktree '${Y}' is missing on disk and could not be pruned.`,"parallel"),1}try{PX(J,nQ.F_OK|nQ.W_OK)}catch{return X.stop(),M.error(`Worktree '${Y}' is not accessible or writable. Cannot remove.`,"parallel"),1}M.debug(`Worktree path '${J}' is accessible.`,"parallel");let W=await DO(Z,J);if(M.debug(`Active operations for worktree '${Y}': ${W.length>0?W.join(", "):"none"}`,"parallel"),W.length>0)return X.stop(),M.error(`Worktree '${Y}' has in-progress operations (${W.join(", ")}). Complete or abort them before removing.`,"parallel"),1;if((await k`${q} -C ${J} status --porcelain=v1 --untracked-files=normal`).stdout.trim().length>0)return X.stop(),M.error(`Worktree '${Y}' has uncommitted changes. Join or clean it before removing.`,"parallel"),1;let K=await C8(Z,J);if(M.debug(`Submodules in worktree '${Y}': ${K.length>0?K.map((B)=>B.path).join(", "):"none"}`,"parallel"),K.length>0){let B=await IO(Z,J,K);if(B.length>0){let $=B.join(", ");return X.stop(),M.error(`Worktree '${Y}' has dirty submodules (${$}). Commit, stash, or clean them before removing.`,"parallel"),1}M.debug(`Deinitializing submodules for worktree '${Y}'...`,"parallel"),X.options.message="Deinitializing submodules...";try{M.debug(`Executing deinit for submodules with ${q} -C ${J}...`,"parallel"),await y5(Z,J)}catch($){if(X.stop(),(await k`${q} -C ${J} status --porcelain=v1 --untracked-files=normal`).stdout.trim().length===0)await v5(Z);return M.error(`Failed to deinit submodules for '${Y}'.
714
- ${u($,{color:!0})}`,"parallel"),1}}X.options={...X.options,frames:["███","██▇","██▆","▇▅▆","▆▅▆","▃▅▅","▄▅▄","▃▃▁","▂▂▂","▁ ▁"," ","░ ","▓░ ","█▓░","██▓"],interval:120,message:`Removing worktree '${Y}'...`};try{M.debug(`Executing git worktree remove for '${Y}'...`,"parallel");let B=await k`${Z} worktree remove ${J}`;X.stop(),R(B.stdout.trim());try{M.debug(`Removing directory '${J}' (if exists)...`,"parallel"),S6(J,{recursive:!0,force:!0})}catch{M.warn(`Failed to remove directory '${J}', ignoring.`,"parallel")}return R(`${H.cyan}Removed worktree:${H.reset} ${Y}`),0}catch(B){if(X.stop(),M.debug(`Error removing worktree '${Y}': ${u(B,{color:!0})}`,"parallel"),(B instanceof m6?`${B.stderr||""} ${B.message||""}`:"").toLowerCase().includes("working trees containing submodules cannot be moved or removed"))return M.error(`Worktree '${Y}' contains submodules that must be deinitialized before removal.`,"parallel"),1;if(B instanceof m6&&B.exitCode===255)M.error(`Folder '${J}' is currently in use or GDX does not have permission to remove it. Please close any applications using it and force remove. (git already removed the connection to the origin worktree, retry may not work)`,"parallel");else M.error(`Failed to remove worktree '${Y}'.
715
- ${u(B,{color:!0})}`,"parallel");let F=await b1("Do you want to force remove the worktree directory? (y/n): ");if(F.toLowerCase()==="y"||F.toLowerCase()==="yes")try{return S6(J,{recursive:!0,force:!0}),await v5(Z),R(`${H.cyan}Force removed worktree directory:${H.reset} ${Y}`),0}catch{return M.error(`Failed to force remove worktree directory '${Y}'.`,"parallel"),1}else return M.warn(`Aborted removing worktree '${Y}'.`,"parallel"),1}finally{X.stop()}}async function yb(Z,Y){let Q;try{Q=await BQ(Z)}catch(v){return M.error(u(v,{color:!0}),"parallel"),1}let{parallelCtx:J,scopeGit$:q}=Q;if(J.isParallelWorktree)return M.error("Run `git parallel fork` from the original worktree, not from a fork.","parallel"),1;if(J.branchName==="HEAD")return M.error("Detached HEAD detected. Switch to a branch before forking.","parallel"),1;if(Y.length<1)return M.error("Missing worktree alias.","parallel"),H6(),1;let X=Y[0];if(!bZ(X))return M.error(`Alias '${X}' contains invalid characters or spaces.`,"parallel"),1;let z=Y.slice(1),W=!1,U=null,K=z.hasOption("-b"),B=z.hasOption("-B");if(K&&B)return M.error("Use either '-b' or '-B' to create a branch, not both.","parallel"),H6(),1;let $=null,F=null;if(K)$=z.popValue("-b"),F="-b";else if(B)$=z.popValue("-B"),F="-B";if((K||B)&&!$)return M.error("Missing branch name for '-b'/'-B'.","parallel"),H6(),1;if(z.hasOption("--no-init")){if(U=z.popValue("--no-init",0,!0),U===null)W=!0}let O=F0.join(J.parallelRoot,X),V=z.includes("--move")||z.includes("-mv"),D=z.includes("--mirror")||z.includes("-mr"),_=z.filter((v)=>!["--move","--mirror","-mv","-mr"].includes(v)),N=_.filter((v)=>v.startsWith("-"));if(N.length>0)return M.error(`Unknown option '${N[0]}'.`,"parallel"),H6(),1;let w=_.filter((v)=>!v.startsWith("-"));if(w.length>1)return M.error("Too many refs provided. Specify a single ref after the alias.","parallel"),H6(),1;let G=w[0]||null;if(l(O)&&d6(O).length>0)return M.error(`Worktree alias '${X}' already exists for this branch.`,"parallel"),1;let I=F0.join(J.repoRoot,".git","info","exclude");try{if(!t6(I,"utf-8").includes(".git-parallel.json"))bX(I,`
714
+ ${H.cyan}${R} clear ${H.reset+H.dim}# Create backup patch and clear working tree${H.reset}
715
+ ${H.cyan}${R} clear list ${H.reset+H.dim}# Show recent backup patches${H.reset}
716
+ ${H.cyan}${R} clear pardon ${H.reset+H.dim}# Restore the latest backup patch${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},vM={$root:["list","pardon"]}});import F0 from"path";async function vZ(Z){let Y=await yZ(Z);if(!Y)return[];return Zv(Y).map((Q)=>Q.alias).sort((Q,J)=>Q.localeCompare(J))}function Zv(Z){if(!l(Z.parallelRoot))return[];let Y=l6(Z.parallelRoot,{withFileTypes:!0}),Q=[];for(let J of Y){if(!J.isDirectory())continue;let q=F0.join(Z.parallelRoot,J.name),X=x8(q);if(!X)continue;Q.push({alias:X.alias||J.name,path:q})}return Q.sort((J,q)=>J.alias.localeCompare(q.alias))}function SZ(Z){if(!Z||Z.trim()==="")return!1;if(/[/\\ ]/.test(Z))return!1;if(/[<>:"|?*\x00-\x1f]/.test(Z))return!1;return!0}function x8(Z){let Y=F0.join(Z,".git-parallel.json");try{let Q=Z4(Y,"utf-8"),J=JSON.parse(Q);return M.debug(`Loaded parallel metadata from '${Y}': ${u(J)}`,"parallel"),J}catch{return null}}function P4(Z,Y){let Q=F0.join(Z,".git-parallel.json");$4(Q,JSON.stringify(Y,null,2),"utf-8")}function dM(Z,Y){Z.baseCommit=Y,Z.updatedAt=new Date().toISOString(),Z.joinCursor=void 0,Z.submoduleCursors=void 0}async function Hv(Z){let Q=`${Array.isArray(Z)?Z.join(" "):Z}|${F0.resolve(process.cwd())}`;if(E8&&E8.cacheKey===Q){if(Date.now()<=E8.expiresAt)return E8.value;E8=null}let J=await F6(Z),X=(await A0(Z,"--show-superproject-working-tree")).trim()||null;if(!X){let W={repoRoot:J,superprojectPath:null,submodulePath:null};return E8={cacheKey:Q,value:W,expiresAt:Date.now()+FQ},W}let z={repoRoot:J,superprojectPath:X,submodulePath:d0(F0.relative(X,J))};return E8={cacheKey:Q,value:z,expiresAt:Date.now()+FQ},z}async function DQ(Z){let Y=Array.isArray(Z)?Z[0]:Z,Q=await Hv(Z),J=Q.superprojectPath?[Y,"-C",Q.superprojectPath]:Z,q=await yZ(J);if(!q)throw Error("Not inside a git worktree.");return{gitExec:Y,repoRoot:Q.repoRoot,scopeGit$:J,parallelCtx:q,currentLabel:q.isParallelWorktree?q.alias||"origin":"origin",submodulePath:Q.submodulePath}}function Cq(Z,Y){return Y==="origin"?Z.originPath:F0.join(Z.parallelRoot,Y)}async function Wv(Z,Y,Q){if((await k`${Z} -C ${Y} status --porcelain=v1 --untracked-files=normal`).stdout.trim().length===0)return!0;if(!Q)return!1;return await J7({git$:[Z,"-C",Y],args:new k4(["clear"])})===0}async function Uv(Z,Y,Q){let J=["-c","protocol.file.allow=always","-C",Y,"submodule","update"];if(Q)J.push("--force");J.push("--init","--recursive"),await k`${Z} ${J}`}function Kv(Z,Y,Q,J,q){if(q)return q;return Z.joinCursor=Q||J,P4(Y,Z),!1}function SM(Z,Y,Q,J){if(!J)Z.joinCursor=Q,P4(Y,Z);return!0}function yM(Z,Y,Q,J,q){if(!q)Z.submoduleCursors??={},Z.submoduleCursors[Q]=J,P4(Y,Z);return!0}async function cM(Z,Y,Q,J){let[q,X]=await Promise.all([C8(Z,Y,"user.name"),C8(Z,Y,"user.email")]);if(q&&X)return[];let z=await lM(Z,Q,J),W=q||z.authorName,U=X||z.authorEmail;if(!W||!U)return[];return["-c",`user.name=${W}`,"-c",`user.email=${U}`]}async function yZ(Z){let Q=`${Array.isArray(Z)?Z.join(" "):Z}|${F0.resolve(process.cwd())}`;if(k8&&k8.cacheKey===Q){if(Date.now()<=k8.expiresAt)return k8.context;k8=null}try{let J=await F6(Z),q=F0.basename(J),X=Array.isArray(Z)?Z[0]:Z,z;try{z=(await G0(X,J,["--abbrev-ref","HEAD"])).trim()}catch{z="HEAD"}let W=F0.join(K6,"worktrees"),U=uX(W,J),K=q,B=z,$=null,V=J;if(U){let O=x8(J);if(O){if(O.project)q=O.project;if(O.branch)z=O.branch;if(O.originPath)V=F0.resolve(O.originPath);if(O.alias)$=O.alias}else $=F0.basename(J);K=O?.safeProject||K,B=O?.safeBranch||B}K=J2(K),B=J2(B);let D=F0.join(W,K,B),F={repoRoot:J,projectName:q,branchName:z,safeProjectName:K,safeBranchName:B,parallelRoot:D,originPath:V,alias:$,isParallelWorktree:U};return k8={cacheKey:Q,context:F,expiresAt:Date.now()+FQ},F}catch(J){return M.error(u(J,{color:!0}),"parallel"),k8={cacheKey:Q,context:null,expiresAt:Date.now()+FQ},null}}async function Rq(Z,Y){let Q=await yZ(Z);if(!Q)return 1;M.debug(`Removing worktree '${Y}'...`,"parallel");let J=F0.join(Q.parallelRoot,Y),q=Array.isArray(Z)?Z[0]:Z,X=P0({message:"Preparing worktree for removal..."});await CJ(Z);let z=await RJ(Z,J);if(!z&&!l(J))return X.stop(),M.error(`Worktree '${Y}' not found for branch '${Q.branchName}'.`,"parallel"),1;if(z?.locked){let B=z.lockReason?` (${z.lockReason})`:"";return X.stop(),M.error(`Worktree '${Y}' is locked ${B}. Unlock it before removing.`,"parallel"),1}if(!l(J)){if(M.debug(`Worktree path '${J}' is missing on disk. Attempting prune...`,"parallel"),await f5(Z),!await RJ(Z,J))return X.stop(),C(`${H.cyan}Removed worktree metadata:${H.reset} ${Y}`),M.debug(`Worktree '${Y}' pruned successfully.`,"parallel"),0;return M.error(`Worktree '${Y}' is missing on disk and could not be pruned.`,"parallel"),1}try{dX(J,eQ.F_OK|eQ.W_OK)}catch{return X.stop(),M.error(`Worktree '${Y}' is not accessible or writable. Cannot remove.`,"parallel"),1}M.debug(`Worktree path '${J}' is accessible.`,"parallel");let W=await CO(Z,J);if(M.debug(`Active operations for worktree '${Y}': ${W.length>0?W.join(", "):"none"}`,"parallel"),W.length>0)return X.stop(),M.error(`Worktree '${Y}' has in-progress operations (${W.join(", ")}). Complete or abort them before removing.`,"parallel"),1;if((await k`${q} -C ${J} status --porcelain=v1 --untracked-files=normal`).stdout.trim().length>0)return X.stop(),M.error(`Worktree '${Y}' has uncommitted changes. Join or clean it before removing.`,"parallel"),1;let K=await R4(Z,J);if(M.debug(`Submodules in worktree '${Y}': ${K.length>0?K.map((B)=>B.path).join(", "):"none"}`,"parallel"),K.length>0){let B=await PO(Z,J,K);if(B.length>0){let $=B.join(", ");return X.stop(),M.error(`Worktree '${Y}' has dirty submodules (${$}). Commit, stash, or clean them before removing.`,"parallel"),1}M.debug(`Deinitializing submodules for worktree '${Y}'...`,"parallel"),X.options.message="Deinitializing submodules...";try{M.debug(`Executing deinit for submodules with ${q} -C ${J}...`,"parallel"),await g5(Z,J)}catch($){if(X.stop(),(await k`${q} -C ${J} status --porcelain=v1 --untracked-files=normal`).stdout.trim().length===0)await f5(Z);return M.error(`Failed to deinit submodules for '${Y}'.
717
+ ${u($,{color:!0})}`,"parallel"),1}}X.options={...X.options,frames:["███","██▇","██▆","▇▅▆","▆▅▆","▃▅▅","▄▅▄","▃▃▁","▂▂▂","▁ ▁"," ","░ ","▓░ ","█▓░","██▓"],interval:120,message:`Removing worktree '${Y}'...`};try{M.debug(`Executing git worktree remove for '${Y}'...`,"parallel");let B=await k`${Z} worktree remove ${J}`;X.stop(),C(B.stdout.trim());try{M.debug(`Removing directory '${J}' (if exists)...`,"parallel"),y6(J,{recursive:!0,force:!0})}catch{M.warn(`Failed to remove directory '${J}', ignoring.`,"parallel")}return C(`${H.cyan}Removed worktree:${H.reset} ${Y}`),0}catch(B){if(X.stop(),M.debug(`Error removing worktree '${Y}': ${u(B,{color:!0})}`,"parallel"),(B instanceof p6?`${B.stderr||""} ${B.message||""}`:"").toLowerCase().includes("working trees containing submodules cannot be moved or removed"))return M.error(`Worktree '${Y}' contains submodules that must be deinitialized before removal.`,"parallel"),1;if(B instanceof p6&&B.exitCode===255)M.error(`Folder '${J}' is currently in use or GDX does not have permission to remove it. Please close any applications using it and force remove. (git already removed the connection to the origin worktree, retry may not work)`,"parallel");else M.error(`Failed to remove worktree '${Y}'.
718
+ ${u(B,{color:!0})}`,"parallel");let V=await y1("Do you want to force remove the worktree directory? (y/n): ");if(V.toLowerCase()==="y"||V.toLowerCase()==="yes")try{return y6(J,{recursive:!0,force:!0}),await f5(Z),C(`${H.cyan}Force removed worktree directory:${H.reset} ${Y}`),0}catch{return M.error(`Failed to force remove worktree directory '${Y}'.`,"parallel"),1}else return M.warn(`Aborted removing worktree '${Y}'.`,"parallel"),1}finally{X.stop()}}async function Bv(Z,Y){let Q;try{Q=await DQ(Z)}catch(v){return M.error(u(v,{color:!0}),"parallel"),1}let{parallelCtx:J,scopeGit$:q}=Q;if(J.isParallelWorktree)return M.error("Run `git parallel fork` from the original worktree, not from a fork.","parallel"),1;if(J.branchName==="HEAD")return M.error("Detached HEAD detected. Switch to a branch before forking.","parallel"),1;if(Y.length<1)return M.error("Missing worktree alias.","parallel"),W6(),1;let X=Y[0];if(!SZ(X))return M.error(`Alias '${X}' contains invalid characters or spaces.`,"parallel"),1;let z=Y.slice(1),W=!1,U=null,K=z.hasOption("-b"),B=z.hasOption("-B");if(K&&B)return M.error("Use either '-b' or '-B' to create a branch, not both.","parallel"),W6(),1;let $=null,V=null;if(K)$=z.popValue("-b"),V="-b";else if(B)$=z.popValue("-B"),V="-B";if((K||B)&&!$)return M.error("Missing branch name for '-b'/'-B'.","parallel"),W6(),1;if(z.hasOption("--no-init")){if(U=z.popValue("--no-init",0,!0),U===null)W=!0}let D=F0.join(J.parallelRoot,X),F=z.includes("--move")||z.includes("-mv"),O=z.includes("--mirror")||z.includes("-mr"),j=z.filter((v)=>!["--move","--mirror","-mv","-mr"].includes(v)),_=j.filter((v)=>v.startsWith("-"));if(_.length>0)return M.error(`Unknown option '${_[0]}'.`,"parallel"),W6(),1;let L=j.filter((v)=>!v.startsWith("-"));if(L.length>1)return M.error("Too many refs provided. Specify a single ref after the alias.","parallel"),W6(),1;let A=L[0]||null;if(l(D)&&l6(D).length>0)return M.error(`Worktree alias '${X}' already exists for this branch.`,"parallel"),1;let I=F0.join(J.repoRoot,".git","info","exclude");try{if(!Z4(I,"utf-8").includes(".git-parallel.json"))cX(I,`
716
719
  .git-parallel.json
717
- `)}catch{B8(I,`.git-parallel.json
718
- `)}n0(J.parallelRoot,{recursive:!0});let A=Q.gitExec,x=(await G0(A,J.repoRoot,"HEAD")).trim();if(G){let v=(await A0(q,G)).trim();if(v)x=v}else if($){let v=(await A0(q,$)).trim();if(v)x=v}let S=(await k`${q} status --porcelain=v1 --untracked-files=normal`).stdout.trim().length>0,y=null,g=null;if(S&&(V||D)){let v=`git-parallel:${X}`;try{if(D){let J0=await k`${q} stash create --include-untracked`;await k`${q} stash store -m ${v} ${J0}`,g="mirrored"}else if(V)await k`${q} stash push --include-untracked -m ${v}`,g="moved";y="stash@{0}"}catch{return M.error("Failed to stash changes before forking.","parallel"),1}}try{let v=G||"HEAD";if($&&F)await T0`${q} worktree add ${F} ${$} ${O} ${v}`;else await T0`${q} worktree add --detach ${O} ${v}`}catch{if(M.error("Failed to create the parallel worktree.","parallel"),y)await k`${q} stash pop ${y}`,R(`${H.yellow}Stashed changes restored to the origin worktree.${H.reset}`);return 1}if(y)try{await k`${q} -C ${O} stash apply --index ${y}`,await k`${q} stash drop ${y}`}catch{return M.error("Failed to move local changes into the new worktree.","parallel"),M.warn(`Your changes remain stashed as '${y}'. Apply them manually when ready.`,"parallel"),M.info(`Worktree path: ${O}`,"parallel"),1}let P=!1;if($)P=!0;let c={alias:X,branch:J.branchName,safeBranch:J.safeBranchName,project:J.projectName,safeProject:J.safeProjectName,originPath:J.repoRoot,baseCommit:x,forkBranch:$||void 0,forkBranchTracked:P||void 0,createdAt:new Date().toISOString()};if(k8(O,c),R(`${H.cyan}Parallel worktree created:${H.reset} ${O}`),g)R(`${H.cyan}Pending changes ${g} to fork '${X}'.${H.reset}`);return await BM({git$:q,worktreePath:O,originPath:J.repoRoot,noInitAll:W,noInitList:U}),0}async function fb(Z,Y){let Q=await vZ(Z);if(!Q)return 1;let J=["-r","--recursive"],q=new Set,X=null;for(let U of Y){let K=U.toLowerCase();if(J.includes(K))q.add(K);else if(!X&&!U.startsWith("-"))X=U;else return M.error(`Unknown option '${U}'.`,"parallel"),H6(),1}let z=q.has("-r")||q.has("--recursive");if(z&&X)return M.error("Recursive remove does not accept an alias. Omit <alias> with -r.","parallel"),H6(),1;if(z&&Q.isParallelWorktree)return M.error("Run recursive remove from the origin worktree, not from a fork.","parallel"),1;if(z)return await hb(Z,Q);if(!X)return M.error("Missing worktree alias to remove.","parallel"),H6(),1;if(!bZ(X))return M.error(`Alias '${X}' contains invalid characters or spaces.`,"parallel"),1;let W=F0.join(Q.parallelRoot,X);if(F0.resolve(Q.repoRoot)===F0.resolve(W))return M.error("Cannot remove the worktree you are currently in. Switch to origin first.","parallel"),1;return await Dq(Z,X)}async function hb(Z,Y){if(!l(Y.parallelRoot))return R(`${H.yellow}No forked worktrees found for this branch.${H.reset}`),0;let J=d6(Y.parallelRoot,{withFileTypes:!0}).filter((q)=>q.isDirectory()).sort((q,X)=>q.name.localeCompare(X.name));if(J.length===0)return R(`${H.yellow}No forked worktrees found for this branch.${H.reset}`),0;for(let q of J){let X=F0.join(Y.parallelRoot,q.name),W=k4(X)?.alias||q.name,U=await Dq(Z,W);if(U!==0)return U}return 0}async function NM(Z,Y,Q=!1){let J=await vZ(Z);if(!J)return 1;if(Y.length<1)return M.error("Missing target worktree alias or 'origin'.","parallel"),H6(),1;let q=Y[0],X;if(q.toLowerCase()==="origin"){if(!l(J.originPath))return M.error(`Origin worktree path not found at '${J.originPath}'.`,"parallel"),1;X=J.originPath}else{if(!bZ(q))return M.error(`Alias '${q}' contains invalid characters or spaces.`,"parallel"),1;if(X=F0.join(J.parallelRoot,q),!l(X))return M.error(`Worktree '${q}' not found for branch '${J.branchName}'.`,"parallel"),1;if(Y.includes("-c")||Y.includes("--copy"))return await G5(X),R(`${H.cyan}Worktree path copied to clipboard!${H.reset}`),0}if(Q)await v1(X);else await JO(X);return 0}async function gb(Z,Y){let Q=await vZ(Z);if(!Q)return 1;let J=Array.isArray(Z)?Z[0]:Z,q=Y.includes("--short")||Y.includes("-s");R(`${H.cyan}Project:${H.reset} ${Q.projectName}`),R(`${H.cyan}Branch:${H.reset} ${Q.branchName}`),R(`${H.cyan}Origin:${H.reset} ${Q.originPath}`);let X=Q.isParallelWorktree?Q.alias:"origin";if(R(`${H.cyan}Current:${H.reset} ${X} ${X!=="origin"?H.dim+'(use "origin" alias to refer to main worktree)'+H.reset:""}
719
- `),!l(Q.parallelRoot))return R(`${H.yellow}No forked worktrees found for this branch.${H.reset}`),0;let W=d6(Q.parallelRoot,{withFileTypes:!0}).filter((K)=>K.isDirectory()).sort((K,B)=>K.name.localeCompare(B.name));if(W.length===0)return R(`${H.yellow}No forked worktrees found for this branch.${H.reset}`),0;let U=!1;for(let K of W){let B=F0.join(Q.parallelRoot,K.name),$=k4(B);if(!$){M.debug(`Skipping worktree at '${B}' due to missing or invalid metadata.`,"parallel");continue}let F=$?.alias||K.name,O=$.baseCommit?.trim(),V=$.joinCursor?.trim();U=!0;let D=O&&await UQ(J,B,O,V)?V:O,_=x0({message:`Gatering information for ${F}...`}),N=(await G0(J,Q.originPath,"HEAD")).trim(),w=N?[N]:[],G=q?3:void 0,[I,A,x,T]=await Promise.all([k`${Z} -C ${B} status --porcelain=v1 --untracked-files=normal`.then((a)=>a.stdout.trim()),Jv(Z,B,Q.originPath,D,N),D?L3({gitExec:J,repoPath:B,range:`${D}..HEAD`,maxCount:G,formatTemplate:`${H.yellow}%h${H.reset} %s`,excludeRefs:w}):Promise.resolve({commits:[],totalCount:0,moreCount:0}),O?qv({git$:Z,gitExec:J,worktreePath:B,originPath:Q.originPath,baseCommit:O,maxCount:G,submoduleCursors:$.submoduleCursors},_):Promise.resolve({groups:[],totalCount:0})]),S=I.length>0,y=D?D.slice(0,7):"unknown",g=A.ahead,P=T.totalCount,c=g>0||P>0,v=P>0?`${g}+${P}`:`${g}`,J0="";if(c&&A.behind>0)J0=`${H.yellow}↑${v} ↓${A.behind}${H.reset}`;else if(c)J0=`${H.green}↑${v}${H.reset}`;else if(A.behind>0)J0=`${H.red}↓${A.behind}${H.reset}`;else J0=`${H.dim}up-to-date${H.reset}`;let h=Q.isParallelWorktree&&F===Q.alias?"●":"○",s=S?`${H.red}dirty${H.reset}`:`${H.green}clean${H.reset}`,m=$.forkBranch?`${H.dim}(branch:${$.forkBranch})${H.reset}`:"",n=B;if(q){let a=h4(B,50,"mid",-1);n=v6(a,`file://${d0(B)}`)}if(_.stop(),R(`${H.dim}${h}${H.reset} ${h4(F,18,"end")} ${y0(s,7,{align:"center"})} ${H.dim}${y}${H.reset} ${dQ(J0,11)} ${n}${m?` ${m}`:""}`),O){if(T.groups.length>0){let a=[{label:`. ${H.dim}[main]${H.reset}`,commits:x.commits,totalCount:x.totalCount,moreCount:x.moreCount},...T.groups];Xv(a)}else if(x.totalCount>0)xM(" ",x.commits,x.moreCount)}}if(!U)R(`${H.yellow}No forked worktrees found for this branch.${H.reset}`);return R(""),0}async function r8(Z,Y,Q,J){try{await k`${Z} -C ${Y} stash pop ${J}`,R(`${H.yellow}Stashed changes restored to fork '${Q}' due to cherry-pick failure.${H.reset}`)}catch(q){R(`${H.yellow}Please restore stash '${J}' manually from fork '${Q}'. Automatic pop failed.${H.reset}`),M.debug(u(q,{color:!0}),"parallel")}}async function mb(Z,Y,Q,J,q){if(R(`${H.yellow}Cherry-pick stopped at commit ${Q}. To resolve conflicts run:${H.reset}`),R(`${H.cyan}${` git -C "${Z}" cherry-pick ${Q}`}${H.reset}`),q.length>0){let z=q.map((W)=>W.includes(" ")?`"${W}"`:W).join(" ");R(`${H.cyan}${` git -C "${Z}" add -- ${z}`}${H.reset}`)}else R(`${H.cyan}${` git -C "${Z}" add -A`}${H.reset}`);if(R(`${H.cyan}${` git -C "${Z}" cherry-pick --continue`}${H.reset}`),R(`${H.cyan}${` ${C} parallel join ${Y}`}${H.reset}`),J)R(`${H.dim}Stashed changes from fork '${Y}' can be applied after join.${H.reset}`)}function pb(Z){if(!Z)return{action:"abort",key:"q"};return Z}async function TM(Z,Y,Q){let J=["%H","%an","%ae","%ad","%B"].join("%n"),X=(await k`${Z} -C ${Y} show -s --date=iso --format=${J} ${Q}`).stdout.split(`
720
+ `)}catch{$4(I,`.git-parallel.json
721
+ `)}i0(J.parallelRoot,{recursive:!0});let G=Q.gitExec,P=(await G0(G,J.repoRoot,"HEAD")).trim();if(A){let v=(await A0(q,A)).trim();if(v)P=v}else if($){let v=(await A0(q,$)).trim();if(v)P=v}let S=(await k`${q} status --porcelain=v1 --untracked-files=normal`).stdout.trim().length>0,y=null,g=null;if(S&&(F||O)){let v=`git-parallel:${X}`;try{if(O){let J0=await k`${q} stash create --include-untracked`;await k`${q} stash store -m ${v} ${J0}`,g="mirrored"}else if(F)await k`${q} stash push --include-untracked -m ${v}`,g="moved";y="stash@{0}"}catch{return M.error("Failed to stash changes before forking.","parallel"),1}}try{let v=A||"HEAD";if($&&V)await E0`${q} worktree add ${V} ${$} ${D} ${v}`;else await E0`${q} worktree add --detach ${D} ${v}`}catch{if(M.error("Failed to create the parallel worktree.","parallel"),y)await k`${q} stash pop ${y}`,C(`${H.yellow}Stashed changes restored to the origin worktree.${H.reset}`);return 1}if(y)try{await k`${q} -C ${D} stash apply --index ${y}`,await k`${q} stash drop ${y}`}catch{return M.error("Failed to move local changes into the new worktree.","parallel"),M.warn(`Your changes remain stashed as '${y}'. Apply them manually when ready.`,"parallel"),M.info(`Worktree path: ${D}`,"parallel"),1}let x=!1;if($)x=!0;let c={alias:X,branch:J.branchName,safeBranch:J.safeBranchName,project:J.projectName,safeProject:J.safeProjectName,originPath:J.repoRoot,baseCommit:P,forkBranch:$||void 0,forkBranchTracked:x||void 0,createdAt:new Date().toISOString()};if(P4(D,c),C(`${H.cyan}Parallel worktree created:${H.reset} ${D}`),g)C(`${H.cyan}Pending changes ${g} to fork '${X}'.${H.reset}`);return await TM({git$:q,worktreePath:D,originPath:J.repoRoot,noInitAll:W,noInitList:U}),0}async function $v(Z,Y){let Q=await yZ(Z);if(!Q)return 1;let J=["-r","--recursive"],q=new Set,X=null;for(let U of Y){let K=U.toLowerCase();if(J.includes(K))q.add(K);else if(!X&&!U.startsWith("-"))X=U;else return M.error(`Unknown option '${U}'.`,"parallel"),W6(),1}let z=q.has("-r")||q.has("--recursive");if(z&&X)return M.error("Recursive remove does not accept an alias. Omit <alias> with -r.","parallel"),W6(),1;if(z&&Q.isParallelWorktree)return M.error("Run recursive remove from the origin worktree, not from a fork.","parallel"),1;if(z)return await Fv(Z,Q);if(!X)return M.error("Missing worktree alias to remove.","parallel"),W6(),1;if(!SZ(X))return M.error(`Alias '${X}' contains invalid characters or spaces.`,"parallel"),1;let W=F0.join(Q.parallelRoot,X);if(F0.resolve(Q.repoRoot)===F0.resolve(W))return M.error("Cannot remove the worktree you are currently in. Switch to origin first.","parallel"),1;return await Rq(Z,X)}async function Fv(Z,Y){if(!l(Y.parallelRoot))return C(`${H.yellow}No forked worktrees found for this branch.${H.reset}`),0;let J=l6(Y.parallelRoot,{withFileTypes:!0}).filter((q)=>q.isDirectory()).sort((q,X)=>q.name.localeCompare(X.name));if(J.length===0)return C(`${H.yellow}No forked worktrees found for this branch.${H.reset}`),0;for(let q of J){let X=F0.join(Y.parallelRoot,q.name),W=x8(X)?.alias||q.name,U=await Rq(Z,W);if(U!==0)return U}return 0}async function fM(Z,Y,Q=!1){let J=await yZ(Z);if(!J)return 1;if(Y.length<1)return M.error("Missing target worktree alias or 'origin'.","parallel"),W6(),1;let q=Y[0],X;if(q.toLowerCase()==="origin"){if(!l(J.originPath))return M.error(`Origin worktree path not found at '${J.originPath}'.`,"parallel"),1;X=J.originPath}else{if(!SZ(q))return M.error(`Alias '${q}' contains invalid characters or spaces.`,"parallel"),1;if(X=F0.join(J.parallelRoot,q),!l(X))return M.error(`Worktree '${q}' not found for branch '${J.branchName}'.`,"parallel"),1;if(Y.includes("-c")||Y.includes("--copy"))return await T5(X),C(`${H.cyan}Worktree path copied to clipboard!${H.reset}`),0}if(Q)await f1(X);else await k5(X);return 0}async function Vv(Z,Y){let Q=await yZ(Z);if(!Q)return 1;let J=Array.isArray(Z)?Z[0]:Z,q=Y.includes("--short")||Y.includes("-s");C(`${H.cyan}Project:${H.reset} ${Q.projectName}`),C(`${H.cyan}Branch:${H.reset} ${Q.branchName}`),C(`${H.cyan}Origin:${H.reset} ${Q.originPath}`);let X=Q.isParallelWorktree?Q.alias:"origin";if(C(`${H.cyan}Current:${H.reset} ${X} ${X!=="origin"?H.dim+'(use "origin" alias to refer to main worktree)'+H.reset:""}
722
+ `),!l(Q.parallelRoot))return C(`${H.yellow}No forked worktrees found for this branch.${H.reset}`),0;let W=l6(Q.parallelRoot,{withFileTypes:!0}).filter((K)=>K.isDirectory()).sort((K,B)=>K.name.localeCompare(B.name));if(W.length===0)return C(`${H.yellow}No forked worktrees found for this branch.${H.reset}`),0;let U=!1;for(let K of W){let B=F0.join(Q.parallelRoot,K.name),$=x8(B);if(!$){M.debug(`Skipping worktree at '${B}' due to missing or invalid metadata.`,"parallel");continue}let V=$?.alias||K.name,D=$.baseCommit?.trim(),F=$.joinCursor?.trim();U=!0;let O=D&&await VQ(J,B,D,F)?F:D,j=P0({message:`Gatering information for ${V}...`}),_=(await G0(J,Q.originPath,"HEAD")).trim(),L=_?[_]:[],A=q?3:void 0,[I,G,P,T]=await Promise.all([k`${Z} -C ${B} status --porcelain=v1 --untracked-files=normal`.then((a)=>a.stdout.trim()),xv(Z,B,Q.originPath,O,_),O?EJ({gitExec:J,repoPath:B,range:`${O}..HEAD`,maxCount:A,formatTemplate:`${H.yellow}%h${H.reset} %s`,excludeRefs:L}):Promise.resolve({commits:[],totalCount:0,moreCount:0}),D?bv({git$:Z,gitExec:J,worktreePath:B,originPath:Q.originPath,baseCommit:D,maxCount:A,submoduleCursors:$.submoduleCursors},j):Promise.resolve({groups:[],totalCount:0})]),S=I.length>0,y=O?O.slice(0,7):"unknown",g=G.ahead,x=T.totalCount,c=g>0||x>0,v=x>0?`${g}+${x}`:`${g}`,J0="";if(c&&G.behind>0)J0=`${H.yellow}↑${v} ↓${G.behind}${H.reset}`;else if(c)J0=`${H.green}↑${v}${H.reset}`;else if(G.behind>0)J0=`${H.red}↓${G.behind}${H.reset}`;else J0=`${H.dim}up-to-date${H.reset}`;let h=Q.isParallelWorktree&&V===Q.alias?"●":"○",s=S?`${H.red}dirty${H.reset}`:`${H.green}clean${H.reset}`,m=$.forkBranch?`${H.dim}(branch:${$.forkBranch})${H.reset}`:"",n=B;if(q){let a=p8(B,50,"mid",-1);n=S6(a,`file://${d0(B)}`)}if(j.stop(),C(`${H.dim}${h}${H.reset} ${p8(V,18,"end")} ${b0(s,7,{align:"center"})} ${H.dim}${y}${H.reset} ${aQ(J0,11)} ${n}${m?` ${m}`:""}`),D){if(T.groups.length>0){let a=[{label:`. ${H.dim}[main]${H.reset}`,commits:P.commits,totalCount:P.totalCount,moreCount:P.moreCount},...T.groups];vv(a)}else if(P.totalCount>0)iM(" ",P.commits,P.moreCount)}}if(!U)C(`${H.yellow}No forked worktrees found for this branch.${H.reset}`);return C(""),0}async function Z8(Z,Y,Q,J){try{await k`${Z} -C ${Y} stash pop ${J}`,C(`${H.yellow}Stashed changes restored to fork '${Q}' due to cherry-pick failure.${H.reset}`)}catch(q){C(`${H.yellow}Please restore stash '${J}' manually from fork '${Q}'. Automatic pop failed.${H.reset}`),M.debug(u(q,{color:!0}),"parallel")}}async function Ov(Z,Y,Q,J,q){if(C(`${H.yellow}Cherry-pick stopped at commit ${Q}. To resolve conflicts run:${H.reset}`),C(`${H.cyan}${` git -C "${Z}" cherry-pick ${Q}`}${H.reset}`),q.length>0){let z=q.map((W)=>W.includes(" ")?`"${W}"`:W).join(" ");C(`${H.cyan}${` git -C "${Z}" add -- ${z}`}${H.reset}`)}else C(`${H.cyan}${` git -C "${Z}" add -A`}${H.reset}`);if(C(`${H.cyan}${` git -C "${Z}" cherry-pick --continue`}${H.reset}`),C(`${H.cyan}${` ${R} parallel join ${Y}`}${H.reset}`),J)C(`${H.dim}Stashed changes from fork '${Y}' can be applied after join.${H.reset}`)}function Dv(Z){if(!Z)return{action:"abort",key:"q"};return Z}async function lM(Z,Y,Q){let J=["%H","%an","%ae","%ad","%B"].join("%n"),X=(await k`${Z} -C ${Y} show -s --date=iso --format=${J} ${Q}`).stdout.split(`
720
723
  `),[z,W,U,K,...B]=X,$=B.join(`
721
- `).trimEnd();return{hash:z?.trim()||Q,authorName:W?.trim()||"unknown",authorEmail:U?.trim()||"unknown",authorDate:K?.trim()||"unknown",message:$.length>0?$:"(no message)"}}async function ub(Z){let{gitExec:Y,originRepoPath:Q,forkRepoPath:J,commit:q,spinner:X}=Z;if(X)X.options.message="Emulating cherry-pick...";let z=(await k`${Y} -C ${J} show --format= --no-color ${q}`).stdout;if(z.trim().length===0)return{diff:"",stat:"",isEmpty:!0,hasConflicts:!1,appliedPatch:!0};let W=F0.join(K6,"parallel-join-preview");n0(W,{recursive:!0});let U=K7(F0.join(W,"index-")),K=F0.join(U,"index"),B={...process.env,GIT_INDEX_FILE:K};try{await k({env:B})`${Y} -C ${Q} read-tree HEAD`;let $=!1,F,O,V;try{await k({env:B,input:z})`${Y} -C ${Q} apply --cached --3way --whitespace=nowarn`,$=!0}catch(x){F=Q7(x)}if(!$)if(O=await nb({gitExec:Y,originRepoPath:Q,patch:z,env:B}),O.applies)try{await k({env:B,input:z})`${Y} -C ${Q} apply --cached --whitespace=nowarn`,$=!0,F=void 0}catch(x){F=HQ(F,Q7(x))}else try{await k({env:B})`${Y} -C ${Q} read-tree HEAD`,await k({env:B,input:z})`${Y} -C ${Q} apply --cached --whitespace=nowarn`,$=!0,F=void 0,O={applies:!0}}catch(x){F=HQ(F,HQ(O.conflictInfo,Q7(x)))}let D=await lb(Y,Q,B),_=HQ(D,F);if(!_&&!$&&O&&!O.applies){let x={...process.env,GIT_INDEX_FILE:F0.join(U,"index-conflict")};if(V=await ob({gitExec:Y,originRepoPath:Q,patch:z,env:x}),V&&V.files.length>0){let T=kM(z).length;_=V.files.length<T?V:void 0}}let N=!1;if(!_?.files?.length&&!$){if(N=await db({gitExec:Y,originRepoPath:Q,forkRepoPath:J,commit:q}),N&&!_)if(V?.files?.length)_=V;else{let x=ib(z);if(x?.files?.length)_=x}}else if(_?.files?.length)N=!0;let w=!1;if(!_?.files?.length&&!$&&!N)w=await cb({gitExec:Y,originRepoPath:Q,forkRepoPath:J,commit:q});let G=Boolean(_?.files?.length)||N||w;if(!$){let x=(await k`${Y} -C ${J} show --format= --no-color ${q}`).stdout,T=(await k`${Y} -C ${J} show --stat --format= --no-color ${q}`).stdout,S=G?"Patch does not apply cleanly to origin HEAD. Preview shows the original commit diff.":void 0;return{diff:x,stat:T,isEmpty:x.trim().length===0,hasConflicts:G,warning:S,appliedPatch:!1,conflictInfo:_}}let I=(await k({env:B})`${Y} -C ${Q} diff --cached --no-color`).stdout,A=(await k({env:B})`${Y} -C ${Q} diff --cached --stat --no-color`).stdout;return{diff:I,stat:A,isEmpty:I.trim().length===0,hasConflicts:G,appliedPatch:$,conflictInfo:_}}finally{S6(U,{recursive:!0,force:!0})}}async function db(Z){let{gitExec:Y,originRepoPath:Q,forkRepoPath:J,commit:q}=Z;try{let X=(await G0(Y,J,`${q}^`)).trim();if(!X)return!1;let z=(await G0(Y,Q,"HEAD")).trim();if(!z)return!1;let W=(await k`${Y} -C ${Q} merge-tree ${X} ${z} ${q}`).stdout;return/^(<{7}| <{7})/m.test(W)}catch{return!1}}async function cb(Z){let{gitExec:Y,originRepoPath:Q,forkRepoPath:J,commit:q}=Z;try{let X=(await G0(Y,J,`${q}^`)).trim();if(!X)return!1;let z=(await G0(Y,Q,"HEAD")).trim();if(!z)return!1;let W=(await k`${Y} -C ${J} show --name-only --format= ${q}`).stdout.trim();if(!W)return!1;let U=new Set(W.split(`
724
+ `).trimEnd();return{hash:z?.trim()||Q,authorName:W?.trim()||"unknown",authorEmail:U?.trim()||"unknown",authorDate:K?.trim()||"unknown",message:$.length>0?$:"(no message)"}}async function Mv(Z){let{gitExec:Y,originRepoPath:Q,forkRepoPath:J,commit:q,spinner:X}=Z;if(X)X.options.message="Emulating cherry-pick...";let z=(await k`${Y} -C ${J} show --format= --no-color ${q}`).stdout;if(z.trim().length===0)return{diff:"",stat:"",isEmpty:!0,hasConflicts:!1,appliedPatch:!0};let W=F0.join(K6,"parallel-join-preview");i0(W,{recursive:!0});let U=F7(F0.join(W,"index-")),K=F0.join(U,"index"),B={...process.env,GIT_INDEX_FILE:K};try{await k({env:B})`${Y} -C ${Q} read-tree HEAD`;let $=!1,V,D,F;try{await k({env:B,input:z})`${Y} -C ${Q} apply --cached --3way --whitespace=nowarn`,$=!0}catch(P){V=X7(P)}if(!$)if(D=await Iv({gitExec:Y,originRepoPath:Q,patch:z,env:B}),D.applies)try{await k({env:B,input:z})`${Y} -C ${Q} apply --cached --whitespace=nowarn`,$=!0,V=void 0}catch(P){V=$Q(V,X7(P))}else try{await k({env:B})`${Y} -C ${Q} read-tree HEAD`,await k({env:B,input:z})`${Y} -C ${Q} apply --cached --whitespace=nowarn`,$=!0,V=void 0,D={applies:!0}}catch(P){V=$Q(V,$Q(D.conflictInfo,X7(P)))}let O=await Nv(Y,Q,B),j=$Q(O,V);if(!j&&!$&&D&&!D.applies){let P={...process.env,GIT_INDEX_FILE:F0.join(U,"index-conflict")};if(F=await Lv({gitExec:Y,originRepoPath:Q,patch:z,env:P}),F&&F.files.length>0){let T=nM(z).length;j=F.files.length<T?F:void 0}}let _=!1;if(!j?.files?.length&&!$){if(_=await jv({gitExec:Y,originRepoPath:Q,forkRepoPath:J,commit:q}),_&&!j)if(F?.files?.length)j=F;else{let P=wv(z);if(P?.files?.length)j=P}}else if(j?.files?.length)_=!0;let L=!1;if(!j?.files?.length&&!$&&!_)L=await _v({gitExec:Y,originRepoPath:Q,forkRepoPath:J,commit:q});let A=Boolean(j?.files?.length)||_||L;if(!$){let P=(await k`${Y} -C ${J} show --format= --no-color ${q}`).stdout,T=(await k`${Y} -C ${J} show --stat --format= --no-color ${q}`).stdout,S=A?"Patch does not apply cleanly to origin HEAD. Preview shows the original commit diff.":void 0;return{diff:P,stat:T,isEmpty:P.trim().length===0,hasConflicts:A,warning:S,appliedPatch:!1,conflictInfo:j}}let I=(await k({env:B})`${Y} -C ${Q} diff --cached --no-color`).stdout,G=(await k({env:B})`${Y} -C ${Q} diff --cached --stat --no-color`).stdout;return{diff:I,stat:G,isEmpty:I.trim().length===0,hasConflicts:A,appliedPatch:$,conflictInfo:j}}finally{y6(U,{recursive:!0,force:!0})}}async function jv(Z){let{gitExec:Y,originRepoPath:Q,forkRepoPath:J,commit:q}=Z;try{let X=(await G0(Y,J,`${q}^`)).trim();if(!X)return!1;let z=(await G0(Y,Q,"HEAD")).trim();if(!z)return!1;let W=(await k`${Y} -C ${Q} merge-tree ${X} ${z} ${q}`).stdout;return/^(<{7}| <{7})/m.test(W)}catch{return!1}}async function _v(Z){let{gitExec:Y,originRepoPath:Q,forkRepoPath:J,commit:q}=Z;try{let X=(await G0(Y,J,`${q}^`)).trim();if(!X)return!1;let z=(await G0(Y,Q,"HEAD")).trim();if(!z)return!1;let W=(await k`${Y} -C ${J} show --name-only --format= ${q}`).stdout.trim();if(!W)return!1;let U=new Set(W.split(`
722
725
  `).map(($)=>$.trim()).filter(($)=>$.length>0)),K=(await k`${Y} -C ${Q} diff --name-only ${X} ${z}`).stdout.trim();if(!K)return!1;return K.split(`
723
- `).map(($)=>$.trim()).filter(($)=>$.length>0).some(($)=>U.has($))}catch{return!1}}async function lb(Z,Y,Q){let J="";try{J=(await k({env:Q})`${Z} -C ${Y} diff --cached --name-only --diff-filter=U`).stdout.trim()}catch{return}let q=J.split(`
724
- `).map((z)=>z.trim()).filter((z)=>z.length>0);if(q.length===0)return;let X;try{let z=(await k({env:Q})`${Z} -C ${Y} diff --cached --cc --no-color`).stdout;X=sb(z)}catch{X=void 0}if(X){if(!q.every((W)=>typeof X?.[W]==="number"))X=void 0}return{files:q,counts:X}}async function nb(Z){let{gitExec:Y,originRepoPath:Q,patch:J,env:q}=Z;try{return await k({env:q,input:J})`${Y} -C ${Q} apply --check --whitespace=nowarn`,{applies:!0}}catch(X){return{applies:!1,conflictInfo:Q7(X)}}}async function ob(Z){let{gitExec:Y,originRepoPath:Q,patch:J,env:q}=Z,X=kM(J);if(X.length===0)return;let z=[],W={};for(let K of X)try{await k({env:q})`${Y} -C ${Q} read-tree HEAD`,await k({env:q,input:K.patch})`${Y} -C ${Q} apply --cached --3way --whitespace=nowarn`}catch(B){if(!z.includes(K.file))z.push(K.file);let F=Q7(B)?.counts?.[K.file];if(typeof F==="number")W[K.file]=F}if(z.length===0)return;let U=z.every((K)=>typeof W[K]==="number");return{files:z,counts:U?W:void 0}}function kM(Z){let Y=[],Q=null,J=Z.split(`
726
+ `).map(($)=>$.trim()).filter(($)=>$.length>0).some(($)=>U.has($))}catch{return!1}}async function Nv(Z,Y,Q){let J="";try{J=(await k({env:Q})`${Z} -C ${Y} diff --cached --name-only --diff-filter=U`).stdout.trim()}catch{return}let q=J.split(`
727
+ `).map((z)=>z.trim()).filter((z)=>z.length>0);if(q.length===0)return;let X;try{let z=(await k({env:Q})`${Z} -C ${Y} diff --cached --cc --no-color`).stdout;X=Av(z)}catch{X=void 0}if(X){if(!q.every((W)=>typeof X?.[W]==="number"))X=void 0}return{files:q,counts:X}}async function Iv(Z){let{gitExec:Y,originRepoPath:Q,patch:J,env:q}=Z;try{return await k({env:q,input:J})`${Y} -C ${Q} apply --check --whitespace=nowarn`,{applies:!0}}catch(X){return{applies:!1,conflictInfo:X7(X)}}}async function Lv(Z){let{gitExec:Y,originRepoPath:Q,patch:J,env:q}=Z,X=nM(J);if(X.length===0)return;let z=[],W={};for(let K of X)try{await k({env:q})`${Y} -C ${Q} read-tree HEAD`,await k({env:q,input:K.patch})`${Y} -C ${Q} apply --cached --3way --whitespace=nowarn`}catch(B){if(!z.includes(K.file))z.push(K.file);let V=X7(B)?.counts?.[K.file];if(typeof V==="number")W[K.file]=V}if(z.length===0)return;let U=z.every((K)=>typeof W[K]==="number");return{files:z,counts:U?W:void 0}}function nM(Z){let Y=[],Q=null,J=Z.split(`
725
728
  `);for(let q of J){if(q.startsWith("diff --git ")){if(Q)Y.push(Q);Q={file:q.match(/diff --git a\/(.+?) b\/(.+)/)?.[2]?.trim()||"unknown",lines:[q]};continue}if(q.startsWith("diff --cc ")||q.startsWith("diff --combined ")){if(Q)Y.push(Q);Q={file:q.replace(/^diff --(?:cc|combined)\s+/,"").trim()||"unknown",lines:[q]};continue}if(Q)Q.lines.push(q)}if(Q)Y.push(Q);return Y.filter((q)=>q.lines.length>0).map((q)=>({file:q.file,patch:q.lines.join(`
726
- `)}))}function Q7(Z){let Y=[];if(typeof Z==="string")Y.push(Z);else if(Z instanceof m6)Y.push(Z.stderr,Z.stdout,Z.message,Z.shortMessage);else if(Z&&typeof Z==="object"){let W=Z;Y.push(W.stderr,W.stdout,W.message)}let Q=Y.map((W)=>PM(W)).filter(Boolean).join(`
729
+ `)}))}function X7(Z){let Y=[];if(typeof Z==="string")Y.push(Z);else if(Z instanceof p6)Y.push(Z.stderr,Z.stdout,Z.message,Z.shortMessage);else if(Z&&typeof Z==="object"){let W=Z;Y.push(W.stderr,W.stdout,W.message)}let Q=Y.map((W)=>sM(W)).filter(Boolean).join(`
727
730
  `);if(!Q)return;let J=[],q={},X=Q.split(`
728
- `);for(let W of X){let U=W.match(/patch failed:\s+(.+?):\d+/i);if(U){let B=U[1].trim();if(!J.includes(B))J.push(B);q[B]=(q[B]||0)+1;continue}let K=W.match(/error:\s+(.+?):\s+patch does not apply/i);if(K){let B=K[1].trim();if(!J.includes(B))J.push(B)}}if(J.length===0)return;let z=J.every((W)=>typeof q[W]==="number"&&q[W]>0);return{files:J,counts:z?q:void 0}}function HQ(Z,Y){if(!Z&&!Y)return;if(!Z)return Y;if(!Y)return Z;let Q=Z.files.length>0?Z.files:Y.files;if(Q.length===0)return Y.files.length>0?Y:void 0;let J=IM(Z,Q),q=IM(Y,Q);return{files:Q,counts:J??q}}function ib(Z){let Y=[],Q=Z.split(`
729
- `);for(let J of Q){if(J.startsWith("diff --git ")){let q=J.match(/diff --git a\/(.+?) b\/(.+)/);if(q){let X=q[2].trim();if(X&&!Y.includes(X))Y.push(X)}continue}if(J.startsWith("diff --cc ")){let q=J.slice(10).trim();if(q&&!Y.includes(q))Y.push(q);continue}if(J.startsWith("diff --combined ")){let q=J.slice(16).trim();if(q&&!Y.includes(q))Y.push(q)}}if(Y.length===0)return;return{files:Y}}function IM(Z,Y){if(!Z?.counts)return;return Y.every((J)=>typeof Z.counts?.[J]==="number")?Z.counts:void 0}function sb(Z){let Y={},Q=null,J=Z.split(`
730
- `);for(let q of J){if(q.startsWith("diff --cc ")){Q=q.slice(10).trim();continue}if(q.startsWith("diff --combined ")){Q=q.slice(16).trim();continue}if(q.startsWith("@@@")&&Q)Y[Q]=(Y[Q]||0)+1}return Y}function ab(Z){let{commitInfo:Y,stat:Q,warning:J,isEmpty:q,isSubmodule:X,submodulePath:z,conflictInfo:W}=Z,U=[];if(U.push(`Commit: ${Y.hash}`),U.push(`Author: ${Y.authorName} <${Y.authorEmail}>`),U.push(`Date: ${Y.authorDate}`),X&&z)U.push(`Scope: submodule ${z}`);U.push(""),U.push(...Y.message.split(`
731
- `).map(($)=>` ${$}`));let K=Q.trimEnd().replace(/(\W)(\++)/g,`$1${H.green}$2${E0(X0.overlay0)}`).replace(/(-+)/g,`${H.red}$1${E0(X0.overlay0)}`);if(K.length>0)U.push(""),U.push(...K.split(`
732
- `).map(($)=>` ${$}`));if(J)U.push(""),U.push(`Warning: ${H.yellow+H.bright}${J}${H.normal+E0(X0.overlay0)}`);let B=tb(W);if(B.length>0)U.push(""),U.push(...B);if(q)U.push(""),U.push(` Note: ${H.blue}No changes against origin. This commit will be skipped unless applied.${H.normal+E0(X0.overlay0)}`);return U}function rb(Z){let{isEmpty:Y,hasConflicts:Q}=Z;if(Y)return H.bgWhite+H.black+H.bright+" EMPTY "+H.reset+E0(X0.overlay0)+Y6(X0.base);if(Q)return H.bgRed+H.white+H.bright+" CONFLICT "+H.reset+E0(X0.overlay0)+Y6(X0.base);return H.green+H.white+H.bright+" CLEAN "+H.reset+E0(X0.overlay0)+Y6(X0.base)}function tb(Z){if(!Z||Z.files.length===0)return[];let Y=["Conflicts:"],{files:Q,counts:J}=Z;if(J&&Q.every((X)=>typeof J?.[X]==="number")&&J){let X=Math.max(...Q.map((z)=>z.length));for(let z of Q){let W=J[z]??0,U=W===1?"conflict":"conflicts";Y.push(` ${dQ(z,X)} | ${W} ${U}`)}return Y}for(let X of Q)Y.push(` ${X}`);return Y}async function LM(Z){let{gitExec:Y,originRepoPath:Q,forkRepoPath:J,commit:q,isSubmodule:X,submodulePath:z}=Z,W=x0({message:"Preparing cherry-pick preview..."}),U=await TM(Y,J,q),K=await ub({gitExec:Y,originRepoPath:Q,forkRepoPath:J,commit:q,spinner:W});W.stop();let B=ab({commitInfo:U,stat:K.stat,warning:K.warning,isEmpty:K.isEmpty,isSubmodule:X,submodulePath:z,conflictInfo:K.conflictInfo}),$=K.isEmpty?[{key:"s",label:"skip",action:"skip"},{key:"u",label:"undo",action:"undo"}]:[{key:"a",label:"apply",action:"apply"},{key:"s",label:"skip",action:"skip"},{key:"u",label:"undo",action:"undo"}],F=rb({isEmpty:K.isEmpty,hasConflicts:K.hasConflicts}),O=K.diff.trimEnd(),V=O.length>0?[...B,"",O].join(`
731
+ `);for(let W of X){let U=W.match(/patch failed:\s+(.+?):\d+/i);if(U){let B=U[1].trim();if(!J.includes(B))J.push(B);q[B]=(q[B]||0)+1;continue}let K=W.match(/error:\s+(.+?):\s+patch does not apply/i);if(K){let B=K[1].trim();if(!J.includes(B))J.push(B)}}if(J.length===0)return;let z=J.every((W)=>typeof q[W]==="number"&&q[W]>0);return{files:J,counts:z?q:void 0}}function $Q(Z,Y){if(!Z&&!Y)return;if(!Z)return Y;if(!Y)return Z;let Q=Z.files.length>0?Z.files:Y.files;if(Q.length===0)return Y.files.length>0?Y:void 0;let J=hM(Z,Q),q=hM(Y,Q);return{files:Q,counts:J??q}}function wv(Z){let Y=[],Q=Z.split(`
732
+ `);for(let J of Q){if(J.startsWith("diff --git ")){let q=J.match(/diff --git a\/(.+?) b\/(.+)/);if(q){let X=q[2].trim();if(X&&!Y.includes(X))Y.push(X)}continue}if(J.startsWith("diff --cc ")){let q=J.slice(10).trim();if(q&&!Y.includes(q))Y.push(q);continue}if(J.startsWith("diff --combined ")){let q=J.slice(16).trim();if(q&&!Y.includes(q))Y.push(q)}}if(Y.length===0)return;return{files:Y}}function hM(Z,Y){if(!Z?.counts)return;return Y.every((J)=>typeof Z.counts?.[J]==="number")?Z.counts:void 0}function Av(Z){let Y={},Q=null,J=Z.split(`
733
+ `);for(let q of J){if(q.startsWith("diff --cc ")){Q=q.slice(10).trim();continue}if(q.startsWith("diff --combined ")){Q=q.slice(16).trim();continue}if(q.startsWith("@@@")&&Q)Y[Q]=(Y[Q]||0)+1}return Y}function Gv(Z){let{commitInfo:Y,stat:Q,warning:J,isEmpty:q,isSubmodule:X,submodulePath:z,conflictInfo:W}=Z,U=[];if(U.push(`Commit: ${Y.hash}`),U.push(`Author: ${Y.authorName} <${Y.authorEmail}>`),U.push(`Date: ${Y.authorDate}`),X&&z)U.push(`Scope: submodule ${z}`);U.push(""),U.push(...Y.message.split(`
734
+ `).map(($)=>` ${$}`));let K=Q.trimEnd().replace(/(\W)(\++)/g,`$1${H.green}$2${T0(X0.overlay0)}`).replace(/(-+)/g,`${H.red}$1${T0(X0.overlay0)}`);if(K.length>0)U.push(""),U.push(...K.split(`
735
+ `).map(($)=>` ${$}`));if(J)U.push(""),U.push(`Warning: ${H.yellow+H.bright}${J}${H.normal+T0(X0.overlay0)}`);let B=Rv(W);if(B.length>0)U.push(""),U.push(...B);if(q)U.push(""),U.push(` Note: ${H.blue}No changes against origin. This commit will be skipped unless applied.${H.normal+T0(X0.overlay0)}`);return U}function Cv(Z){let{isEmpty:Y,hasConflicts:Q}=Z;if(Y)return H.bgWhite+H.black+H.bright+" EMPTY "+H.reset+T0(X0.overlay0)+l0(X0.base);if(Q)return H.bgRed+H.white+H.bright+" CONFLICT "+H.reset+T0(X0.overlay0)+l0(X0.base);return H.green+H.white+H.bright+" CLEAN "+H.reset+T0(X0.overlay0)+l0(X0.base)}function Rv(Z){if(!Z||Z.files.length===0)return[];let Y=["Conflicts:"],{files:Q,counts:J}=Z;if(J&&Q.every((X)=>typeof J?.[X]==="number")&&J){let X=Math.max(...Q.map((z)=>z.length));for(let z of Q){let W=J[z]??0,U=W===1?"conflict":"conflicts";Y.push(` ${aQ(z,X)} | ${W} ${U}`)}return Y}for(let X of Q)Y.push(` ${X}`);return Y}async function gM(Z){let{gitExec:Y,originRepoPath:Q,forkRepoPath:J,commit:q,isSubmodule:X,submodulePath:z}=Z,W=P0({message:"Preparing cherry-pick preview..."}),U=await lM(Y,J,q),K=await Mv({gitExec:Y,originRepoPath:Q,forkRepoPath:J,commit:q,spinner:W});W.stop();let B=Gv({commitInfo:U,stat:K.stat,warning:K.warning,isEmpty:K.isEmpty,isSubmodule:X,submodulePath:z,conflictInfo:K.conflictInfo}),$=K.isEmpty?[{key:"s",label:"skip",action:"skip"},{key:"u",label:"undo",action:"undo"}]:[{key:"a",label:"apply",action:"apply"},{key:"s",label:"skip",action:"skip"},{key:"u",label:"undo",action:"undo"}],V=Cv({isEmpty:K.isEmpty,hasConflicts:K.hasConflicts}),D=K.diff.trimEnd(),F=D.length>0?[...B,"",D].join(`
733
736
  `):B.join(`
734
- `),D=await EZ(V,{statusText:F,actions:$});return pb(D)}async function wM(Z,Y){let Q=Array.isArray(Z)?Z[0]:Z;if(!(await G0(Q,Y,["-q","--verify","HEAD~1"])).trim())return M.error("No commit available to undo.","parallel"),!1;try{return await k`${Q} -C ${Y} reset --hard HEAD~1`,R(`${H.cyan}Undid last cherry-picked commit in ${Y}.${H.reset}`),!0}catch(q){return M.error("Failed to undo last cherry-picked commit.","parallel"),M.debug(u(q,{color:!0}),"parallel"),!1}}async function UQ(Z,Y,Q,J){if(!J)return!1;let q=(await G0(Z,Y,"HEAD")).trim();if(!q)return!1;try{return await k`${Z} -C ${Y} merge-base --is-ancestor ${Q} ${J}`,await k`${Z} -C ${Y} merge-base --is-ancestor ${J} ${q}`,!0}catch{return!1}}async function EM(Z,Y,Q,J){M.debug(`Joining worktree '${Q}'...`,"parallel");let{keep:q,bringAll:X,interactive:z}=J,W=z&&J3();if(z&&!W)M.warn("Interactive join requires a TTY. Proceeding without --interactive.","parallel");let U=k4(Y);if(!U)return M.error(`Missing metadata for worktree '${Q}'. Unable to join automatically.`,"parallel"),1;let K=F0.resolve(U.originPath);if(!l(K))return M.error(`Original worktree path not found. Expected at '${U.originPath}'.`,"parallel"),1;if(U.forkBranch&&U.forkBranchTracked){let m=U.forkBranch.trim();if(m){let n=(await k`${Z} -C ${Y} remote`).stdout.trim(),a=n?n.split(`
735
- `).map((r)=>r.trim()).filter((r)=>r.length>0):[];if(a.length>0)for(let r of a)try{if((await k`${Z} -C ${Y} ls-remote --heads ${r} ${m}`).stdout.trim().length>0)return M.error(`Fork branch '${m}' exists on remote '${r}'. Use standard git commands to merge it.`,"parallel"),1}catch{}}}let B=x0({message:"Checking worktree status"}),$=Array.isArray(Z)?Z[0]:Z,[F,O,V]=await Promise.all([k`${Z} -C ${Y} status --porcelain=v1 --untracked-files=normal`,k`${Z} -C ${K} status --porcelain=v1 --untracked-files=normal`,G0($,Y,"HEAD")]),_=F.stdout.trim().length>0;if(M.debug(`Fork worktree '${Q}' dirty status: ${_?"dirty":"clean"}`,"parallel"),_&&!X&&!q)return B.stop(),M.error(`Fork '${Q}' has uncommitted changes. Re-run with --all to include them or clean the worktree first.`,"parallel"),1;if(O.stdout.trim().length>0&&X&&_)return B.stop(),M.error("Origin worktree has pending changes. Commit or stash them before joining.","parallel"),1;let w=U.baseCommit?.trim(),G=U.joinCursor?.trim();if(!w)return B.stop(),M.error("Fork metadata is missing base commit information. Unable to perform an automatic join.","parallel"),1;let I=await UQ($,Y,w,G),A=I?G:w,x=(await G0($,K,"HEAD")).trim(),T=null;if(_&&X){let m=`git-parallel-join:${Q}`;M.debug(`Stashing uncommitted changes from fork '${Q}' before joining...`,"parallel"),B.options.message="Stashing uncommitted changes";try{await k`${Z} -C ${Y} stash push --include-untracked -m ${m}`,T="stash@{0}"}catch{return M.error("Failed to stash uncommitted changes before joining.","parallel"),1}}let S=V.trim(),y;M.debug(`Enumerating commits from fork '${Q}' since ${I?"join cursor":"base commit"} ${A}...`,"parallel"),B.options.message="Enumerating commits to join";try{let m=["-C",Y,"rev-list","--reverse",`${A}..${S}`];if(x)m.push("--not",x);let n=(await k`${$} ${m}`).stdout.trim();y=n?n.split(`
736
- `).map((a)=>a.trim()).filter((a)=>a):[]}catch(m){if(T)await k`${Z} -C ${Y} stash pop ${T}`;return M.error("Unable to enumerate commits to join.","parallel"),M.debug(u(m,{color:!0}),"parallel"),1}let g=[],P=[],c=[],v=!1,J0=!1;B.stop(),M.debug(`Found ${y.length} commit(s) to cherry-pick into origin.`,"parallel");let h=0;while(h<y.length){let m=y[h];if(!m){h++;continue}try{let n=!1,a=!1;if(W){let r=await LM({git$:Z,gitExec:$,originRepoPath:K,forkRepoPath:Y,commit:m,forkAlias:Q,isSubmodule:!1});if(r.action==="abort"){if(T)await r8(Z,Y,Q,T);return 1}if(r.action==="undo"){if(P.length===0){R(`${H.yellow}No commit to undo yet.${H.reset}`);continue}let V0=P.pop();if(V0===void 0)continue;if(!await wM(Z,K)){if(T)await r8(Z,Y,Q,T);return 1}if(g.length>0)g.pop();let Y0=V0>0?y[V0-1]:A;U.joinCursor=Y0,k8(Y,U),v=!1,h=Math.max(V0,0);continue}if(r.action==="skip")a=!0;else if(r.action==="apply")n=!0}else n=!0;if(n){let r=await AM(Z,{originRepoPath:K,commit:m,contextLabel:"origin worktree",forkAlias:Q,stashRef:T,sourceRepoPath:Y});if(r==="applied")g.push(m),P.push(h);if(r==="skipped"||r==="empty")v=jM(U,Y,m,v),J0=!0;else v=Sb(U,Y,m,A,v)}else if(a)v=jM(U,Y,m,v),J0=!0}catch{if(T)await r8(Z,Y,Q,T);return 1}h++}let s=await C8(Z,Y);for(let m=0;m<s.length;m++){let n=s[m];B.start(),B.options.message=`Enumerating submodule commits ${m+1} of ${s.length}`;let a=F0.resolve(Y,n.path),r=F0.resolve(K,n.path),V0=F0.join(a,".git"),_0=F0.join(r,".git");if(!l(a)||!l(r))continue;if(!l(V0)||!l(_0))continue;let Y0=await w3($,Y,w,n.path);if(!Y0)continue;let N0=U.submoduleCursors?.[n.path]?.trim(),k0=await UQ($,a,Y0,N0)?N0:Y0,C0=[];try{let m0=(await G0($,a,"HEAD")).trim(),E8=(await G0($,r,"HEAD")).trim(),e8=E8?(await G0($,a,["-q","--verify",`${E8}^{commit}`])).trim():"",t0=["-C",a,"rev-list","--reverse",`${k0}..${m0}`];if(e8)t0.push("--not",e8);C0=await k`${$} ${t0}`.then((b6)=>b6.stdout.trim().split(`
737
- `).map((r6)=>r6.trim()).filter((r6)=>!!r6))}catch(m0){if(B.stop(),M.error(`Unable to enumerate submodule commits for '${n.path}'.`,"parallel"),M.debug(u(m0,{color:!0}),"parallel"),T)await r8(Z,Y,Q,T);return 1}if(B.stop(),C0.length===0)continue;M.debug(`Found ${C0.length} commit(s) to cherry-pick for submodule '${n.path}'.`,"parallel");let P0=[],i0=!1,G6=0;while(G6<C0.length){let m0=C0[G6];if(!m0){G6++;continue}try{try{await k`${$} -c protocol.file.allow=always -C ${r} fetch ${a} ${m0}`}catch(t0){if(M.error(`Failed to fetch submodule commit ${m0} from '${n.path}'.`,"parallel"),M.debug(u(t0,{color:!0}),"parallel"),T)await r8(Z,Y,Q,T);return 1}let E8=!1,e8=!1;if(W){let t0=await LM({git$:Z,gitExec:$,originRepoPath:r,forkRepoPath:a,commit:m0,forkAlias:Q,isSubmodule:!0,submodulePath:n.path});if(t0.action==="abort"){if(T)await r8(Z,Y,Q,T);return 1}if(t0.action==="undo"){if(P0.length===0){R(`${H.yellow}No commit to undo yet.${H.reset}`);continue}let b6=P0.pop();if(b6===void 0)continue;if(!await wM(Z,r)){if(T)await r8(Z,Y,Q,T);return 1}if(c.length>0)c.pop();let Z4=b6>0?C0[b6-1]:k0;U.submoduleCursors??={},U.submoduleCursors[n.path]=Z4,k8(Y,U),i0=!1,G6=Math.max(b6,0);continue}if(t0.action==="skip")e8=!0;else if(t0.action==="apply")E8=!0}else E8=!0;if(E8){let t0=await AM(Z,{originRepoPath:r,commit:m0,contextLabel:`submodule ${n.path}`,forkAlias:Q,stashRef:T,sourceRepoPath:a});if(t0==="applied")c.push(m0),P0.push(G6);if(t0==="skipped"||t0==="empty")i0=_M(U,Y,n.path,m0,i0),J0=!0;else if(!i0)U.submoduleCursors??={},U.submoduleCursors[n.path]=m0||k0,k8(Y,U)}else if(e8)i0=_M(U,Y,n.path,m0,i0),J0=!0}catch{if(T)await r8(Z,Y,Q,T);return 1}G6++}}if(T){M.debug(`Applying stashed uncommitted changes from fork '${Q}' to origin...`,"parallel");try{let a=(await k`${Z} -C ${Y} stash list`).stdout.trim().split(`
738
- `)[0]?.split(":")[0]||T;await k`${Z} -C ${K} stash apply --index ${a}`,await k`${Z} -C ${Y} stash drop ${a}`}catch(m){M.error("Failed to apply uncommitted changes to the origin worktree.","parallel"),M.debug(u(m,{color:!0}),"parallel");try{await k`${Z} -C ${Y} stash pop ${T}`,R(`${H.yellow}Stashed changes restored to fork '${Q}' for safety.${H.reset}`)}catch(n){R(`${H.yellow}Please restore stash '${T}' manually from fork '${Q}'. Automatic pop failed.${H.reset}`),M.debug(u(n,{color:!0}),"parallel")}return 1}}if(g.length>0||c.length>0){if(R(`${H.cyan}Cherry-picked ${g.length} commit(s) into origin.${H.reset}`),c.length>0)R(`${H.cyan}Cherry-picked ${c.length} submodule commit(s) into origin.${H.reset}`)}else R(`${H.cyan}No new commits to cherry-pick. Origin was already up to date.${H.reset}`);if(!q&&!J0&&(g.length>0||c.length>0)){if(M.debug(`Removing fork worktree '${Q}' after join...`,"parallel"),await Dq(Z,Q)!==0)return M.warn(`Failed to remove fork '${Q}' after joining. Please remove it manually later.`),1;R(`${H.cyan}Fork '${Q}' merged and removed successfully.${H.reset}`)}else{if(!J0)try{let m=(await G0($,K,"HEAD")).trim();if(m)CM(U,m)}catch{}else U.updatedAt=new Date().toISOString();k8(Y,U),R(`${H.cyan}Fork '${Q}' merged into origin. Worktree kept at:${H.reset} ${Y}`)}return 0}async function eb(Z,Y,Q){if(!l(Y.parallelRoot))return R(`${H.yellow}No forked worktrees found for this branch.${H.reset}`),0;let q=d6(Y.parallelRoot,{withFileTypes:!0}).filter((z)=>z.isDirectory()).sort((z,W)=>z.name.localeCompare(W.name));if(q.length===0)return R(`${H.yellow}No forked worktrees found for this branch.${H.reset}`),0;let X=!1;for(let z of q){let W=F0.join(Y.parallelRoot,z.name),U=k4(W);if(!U)continue;let K=U.alias||z.name;X=!0;let B=await EM(Z,W,K,{keep:Q,bringAll:!1,interactive:!1});if(B!==0)return B}if(!X)R(`${H.yellow}No forked worktrees found for this branch.${H.reset}`);return 0}async function Zv(Z,Y){let Q;try{Q=await BQ(Z)}catch(V){return M.error(u(V,{color:!0}),"parallel"),1}let{parallelCtx:J,scopeGit$:q}=Q,X=["--keep","--all","--interactive","-i","-r","--recursive"],z=new Set,W=null;for(let V of Y){let D=V.toLowerCase();if(X.includes(D))z.add(D);else if(!W&&!V.startsWith("-"))W=V;else return M.error(`Unknown option '${V}'.`,"parallel"),H6(),1}let U=z.has("--keep"),K=z.has("--all"),B=z.has("--interactive")||z.has("-i"),$=z.has("-r")||z.has("--recursive");if($&&K)return M.error("Recursive join does not support --all. Join forks individually.","parallel"),H6(),1;if($&&B)return M.error("Recursive join does not support --interactive. Join forks individually.","parallel"),H6(),1;if($&&W)return M.error("Recursive join does not accept an alias. Omit <alias> with -r.","parallel"),H6(),1;if($&&J.isParallelWorktree)return M.error("Run recursive join from the origin worktree, not from a fork.","parallel"),1;if($)return await eb(q,J,U);let F,O;if(W){if(J.isParallelWorktree&&J.alias===W)return M.error("Cannot join the fork you are currently in. Switch to origin or another fork first.","parallel"),1;if(!bZ(W))return M.error(`Alias '${W}' contains invalid characters or spaces.`,"parallel"),1;if(F=F0.join(J.parallelRoot,W),O=W,!l(F))return M.error(`Worktree '${W}' not found for branch '${J.branchName}'.`,"parallel"),1}else{if(Q.currentLabel==="origin")return M.error("Either run join from inside a forked worktree, or specify which fork to join.","parallel"),M.info("Usage: git parallel join [<alias>] [--keep|--all|--interactive] | git parallel join -r [--keep]","parallel"),1;O=Q.currentLabel,F=Oq(J,O)}return await EM(q,F,O,{keep:U,bringAll:K,interactive:B})}async function Yv(Z,Y){let Q;try{Q=await BQ(Z)}catch(D){return M.error(u(D,{color:!0}),"parallel"),1}let J=["--hard","-h"],q=new Set,X=null;for(let D of Y){let _=D.toLowerCase();if(J.includes(_))q.add(_);else if(!X&&!D.startsWith("-"))X=D;else return M.error(`Unknown option '${D}'.`,"parallel"),H6(),1}let z=q.has("--hard")||q.has("-h"),W=Q.parallelCtx,U,K;if(X){if(X==="origin")return M.error("Origin is already the synchronization source.","parallel"),1;if(!bZ(X))return M.error(`Alias '${X}' contains invalid characters or spaces.`,"parallel"),1;if(U=X,K=Oq(W,U),!l(K))return M.error(`Worktree '${U}' not found for branch '${W.branchName}'.`,"parallel"),1}else{if(Q.currentLabel==="origin")return M.error("Run sync from inside a forked worktree, or specify which fork to sync.","parallel"),1;U=Q.currentLabel,K=W.repoRoot}let B=k4(K);if(!B)return M.error(`Missing metadata for worktree '${U}'.`,"parallel"),1;let $=F0.resolve(B.originPath);if(!l($))return M.error(`Origin worktree path not found at '${$}'.`,"parallel"),1;if(!await bb(Q.gitExec,K,z))return M.error(`Fork '${U}' has uncommitted changes. Re-run with --hard to clear them first.`,"parallel"),1;let O=(await G0(Q.gitExec,$,"HEAD")).trim();if(!O)return M.error("Unable to resolve origin HEAD for sync.","parallel"),1;try{if(B.forkBranch&&B.forkBranchTracked){let D=["-C",K,"merge","--no-edit","-X","theirs",O],_=await k`${Q.gitExec} ${D}`;P6(_)}else{let D=await k`${Q.gitExec} -C ${K} reset --hard ${O}`;P6(D)}}catch(D){P6(T4(D));try{await k`${Q.gitExec} -C ${K} merge --abort`}catch{}return M.error(`Failed to sync fork '${U}' with origin.`,"parallel"),M.debug(u(D,{color:!0}),"parallel"),1}try{await vb(Q.gitExec,K,z)}catch(D){return M.error(`Failed to refresh submodules for '${U}' after sync.`,"parallel"),M.debug(u(D,{color:!0}),"parallel"),1}let V=(await G0(Q.gitExec,K,"HEAD")).trim()||O;return CM(B,V),k8(K,B),R(`${H.cyan}Fork '${U}' synchronized with origin.${H.reset}`),0}async function Qv(Z,Y){let Q;try{Q=await BQ(Z)}catch(B){return M.error(u(B,{color:!0}),"parallel"),1}if(Y.length<2)return M.error("Usage: gdx parallel pick <alias|origin> <commit> [commit...]","parallel"),H6(),1;let J=Y[0],q=Y.slice(1).filter((B)=>B.length>0);if(J!=="origin"&&!bZ(J))return M.error(`Alias '${J}' contains invalid characters or spaces.`,"parallel"),1;let X=Oq(Q.parallelCtx,J),z=Q.parallelCtx.repoRoot;if(!l(X))return M.error(`Worktree '${J}' not found for branch '${Q.parallelCtx.branchName}'.`,"parallel"),1;if(F0.resolve(X)===F0.resolve(z))return M.error("Source and destination worktrees are the same.","parallel"),1;let W=Q.submodulePath?F0.resolve(X,Q.submodulePath):X,U=Q.repoRoot;if(!l(W))return M.error(`Submodule '${Q.submodulePath}' is not available in worktree '${J}'.`,"parallel"),1;let K=[];for(let B of q)try{let $=(await G0(Q.gitExec,W,["-q","--verify",`${B}^{commit}`])).trim();if(!$)return M.error(`Commit '${B}' was not found in '${J}'.`,"parallel"),1;K.push($)}catch{return M.error(`Commit '${B}' was not found in '${J}'.`,"parallel"),1}if(Q.submodulePath)try{await k`${Q.gitExec} -c protocol.file.allow=always -C ${U} fetch ${W} ${K}`}catch(B){return M.error(`Failed to fetch commits from submodule '${Q.submodulePath}' in '${J}'.`,"parallel"),M.debug(u(B,{color:!0}),"parallel"),1}for(let B of K)try{let $=await RM(Q.gitExec,U,W,B),F=await k`${Q.gitExec} ${$} ${g5()} -C ${U} cherry-pick ${B}`;P6(F)}catch($){if(await Vq(Q.gitExec,U,$,"parallel pick"))continue;return P6(T4($)),M.error(`Failed to cherry-pick commit ${B} from '${J}'.`,"parallel"),M.debug(u($,{color:!0}),"parallel"),1}return R(`${H.cyan}Cherry-picked ${K.length} commit(s) from '${J}' into ${Q.currentLabel}.${H.reset}`),0}async function AM(Z,Y){let{originRepoPath:Q,commit:J,contextLabel:q,forkAlias:X,stashRef:z,sourceRepoPath:W}=Y;M.debug(`Cherry-picking commit ${J} into ${q}...`,"parallel");let U=g5(),K=Array.isArray(Z)?Z[0]:Z,B=W?await RM(K,Q,W,J):[];try{let $=await k`${K} ${B} ${U} -C ${Q} cherry-pick ${J}`;return P6($),"applied"}catch($){if(await Vq(Z,Q,$,q))return"empty";if(P6(T4($)),!await h1(Z,Q))throw M.error(`Cherry-pick failed while applying commit ${J}.`,"parallel"),M.debug(u($,{color:!0}),"parallel"),$;if(!J3()){let V=await h5(Z,Q);throw await mb(Q,X,J,z,V),M.debug(u($,{color:!0}),"parallel"),$}R(`${H.yellow}Cherry-pick paused due to conflicts while applying commit ${J}.${H.reset}`),R(`${H.dim}Resolve conflicts in ${q}, then choose to continue or abort.${H.reset}`);while(!0)switch((await b1("Type c to continue, a to abort, s to skip (c|a|s): ")).toLowerCase()){case"s":case"skip":try{return await k`${K} ${B} ${U} -C ${Q} cherry-pick --skip`,M.debug(`Skipped commit ${J} for ${q}.`,"parallel"),"skipped"}catch(D){if(!await h1(Z,Q))return"skipped";P6(T4(D)),M.error(`Failed to skip commit ${J} for ${q}.`,"parallel"),M.debug(u(D,{color:!0}),"parallel");continue}case"c":case"continue":case"y":case"yes":try{await AO(Z,Q);let D=await k`${K} ${B} ${U} -C ${Q} cherry-pick --continue`;return P6(D),"applied"}catch(D){if(await Vq(Z,Q,D,q))return"empty";if(P6(T4(D)),await h1(Z,Q)){R(`${H.yellow}Cherry-pick still has conflicts. Resolve them and try again.${H.reset}`),M.debug(u(D,{color:!0}),"parallel");continue}throw M.error("Cherry-pick no longer in progress. You may need to resolve the state manually before retrying.","parallel"),M.debug(u(D,{color:!0}),"parallel"),D}case"a":case"abort":case"n":case"no":try{let D=await k`${K} ${B} ${U} -C ${Q} cherry-pick --abort`;P6(D)}catch(D){throw P6(T4(D)),M.error("Failed to abort cherry-pick.","parallel"),M.debug(u(D,{color:!0}),"parallel"),D}throw M.error(`Cherry-pick aborted while applying commit ${J}.`,"parallel"),$}}}async function Vq(Z,Y,Q,J){let q=await h1(Z,Y);if(!(wO(Q)||q&&await GO(Z,Y)))return!1;if(!q)return M.debug(`Empty cherry-pick ignored for ${J}.`,"parallel"),!0;try{return await k`${Z} ${g5()} -C ${Y} cherry-pick --skip`,M.debug(`Skipped empty cherry-pick for ${J}.`,"parallel"),!0}catch(z){return P6(T4(z)),M.error(`Failed to skip empty cherry-pick for ${J}.`,"parallel"),M.debug(u(z,{color:!0}),"parallel"),!1}}async function Jv(Z,Y,Q,J,q){let X=Array.isArray(Z)?Z[0]:Z;try{let[z,W]=await Promise.all([G0(X,Y,"HEAD").then(($)=>$.trim()),q!==void 0?Promise.resolve(q.trim()):G0(X,Q,"HEAD").then(($)=>$.trim())]),U=W;if(z===U)return{ahead:0,behind:0};let K=0,B=0;return await Promise.all([(async()=>{try{let F=(await k`${X} -C ${Y} rev-list --count ${J||U}..${z}`).stdout.trim();K=parseInt(F,10)||0}catch{K=0}})(),(async()=>{try{let $=(await k`${X} -C ${Y} rev-list --count ${z}..${U}`).stdout.trim();B=parseInt($,10)||0}catch{B=0}})()]),{ahead:K,behind:B}}catch{return{ahead:0,behind:0}}}async function qv(Z,Y){let{git$:Q,gitExec:J,worktreePath:q,originPath:X,baseCommit:z,maxCount:W,submoduleCursors:U}=Z,K=await C8(Q,q);if(K.length===0)return{groups:[],totalCount:0};let B=[],$=0;for(let F of K){let O=F0.resolve(q,F.path),V=F0.resolve(X,F.path),D=F0.join(O,".git"),_=F0.join(V,".git");if(!l(O)||!l(D))continue;if(Y)Y.options.message=`Collecting submodule '${F.path}'...`;let N=await w3(J,q,z,F.path);if(!N)continue;let w=N,G=U?.[F.path];if(G){if(await UQ(J,O,N,G))w=G}let I=`${w}..HEAD`,A=l(V)&&l(_)?(await G0(J,V,"HEAD")).trim():"",x=await L3({gitExec:J,repoPath:O,range:I,maxCount:W,formatTemplate:`${H.yellow}%h${H.reset} %s`,excludeRefs:A?[A]:void 0});if(x.totalCount===0)continue;let T=`${F.path} ${H.dim}[submodule]${H.reset}`;B.push({label:T,commits:x.commits,totalCount:x.totalCount,moreCount:x.moreCount}),$+=x.totalCount}return{groups:B,totalCount:$}}function xM(Z,Y,Q){let J=[...Y];if(Q>0)J.push(`${H.dim}+${Q} more${H.reset}`);if(J.length===0)return;for(let q=0;q<J.length;q++){let z=q===J.length-1?"└─ ":"├─ ";R(`${H.dim}${Z}${z}${H.reset}${J[q]}`)}}function Xv(Z){if(Z.length===0)return;for(let Y=0;Y<Z.length;Y++){let Q=Z[Y],J=Y===Z.length-1,q=J?" └─ ":" ├─ ";R(`${H.dim}${q}${H.reset}${Q.label}`),xM(J?" ":" │ ",Q.commits,Q.moreCount)}}function PM(Z){if(!Z)return"";if(typeof Z==="string")return Z;if(Z instanceof Uint8Array)return new TextDecoder().decode(Z);return String(Z)}function GM(Z){let Y=PM(Z);if(!Y)return;R(Y,Y.endsWith(`
737
+ `),O=await xZ(F,{statusText:V,actions:$});return Dv(O)}async function mM(Z,Y){let Q=Array.isArray(Z)?Z[0]:Z;if(!(await G0(Q,Y,["-q","--verify","HEAD~1"])).trim())return M.error("No commit available to undo.","parallel"),!1;try{return await k`${Q} -C ${Y} reset --hard HEAD~1`,C(`${H.cyan}Undid last cherry-picked commit in ${Y}.${H.reset}`),!0}catch(q){return M.error("Failed to undo last cherry-picked commit.","parallel"),M.debug(u(q,{color:!0}),"parallel"),!1}}async function VQ(Z,Y,Q,J){if(!J)return!1;let q=(await G0(Z,Y,"HEAD")).trim();if(!q)return!1;try{return await k`${Z} -C ${Y} merge-base --is-ancestor ${Q} ${J}`,await k`${Z} -C ${Y} merge-base --is-ancestor ${J} ${q}`,!0}catch{return!1}}async function oM(Z,Y,Q,J){M.debug(`Joining worktree '${Q}'...`,"parallel");let{keep:q,bringAll:X,interactive:z}=J,W=z&&KJ();if(z&&!W)M.warn("Interactive join requires a TTY. Proceeding without --interactive.","parallel");let U=x8(Y);if(!U)return M.error(`Missing metadata for worktree '${Q}'. Unable to join automatically.`,"parallel"),1;let K=F0.resolve(U.originPath);if(!l(K))return M.error(`Original worktree path not found. Expected at '${U.originPath}'.`,"parallel"),1;if(U.forkBranch&&U.forkBranchTracked){let m=U.forkBranch.trim();if(m){let n=(await k`${Z} -C ${Y} remote`).stdout.trim(),a=n?n.split(`
738
+ `).map((r)=>r.trim()).filter((r)=>r.length>0):[];if(a.length>0)for(let r of a)try{if((await k`${Z} -C ${Y} ls-remote --heads ${r} ${m}`).stdout.trim().length>0)return M.error(`Fork branch '${m}' exists on remote '${r}'. Use standard git commands to merge it.`,"parallel"),1}catch{}}}let B=P0({message:"Checking worktree status"}),$=Array.isArray(Z)?Z[0]:Z,[V,D,F]=await Promise.all([k`${Z} -C ${Y} status --porcelain=v1 --untracked-files=normal`,k`${Z} -C ${K} status --porcelain=v1 --untracked-files=normal`,G0($,Y,"HEAD")]),j=V.stdout.trim().length>0;if(M.debug(`Fork worktree '${Q}' dirty status: ${j?"dirty":"clean"}`,"parallel"),j&&!X&&!q)return B.stop(),M.error(`Fork '${Q}' has uncommitted changes. Re-run with --all to include them or clean the worktree first.`,"parallel"),1;if(D.stdout.trim().length>0&&X&&j)return B.stop(),M.error("Origin worktree has pending changes. Commit or stash them before joining.","parallel"),1;let L=U.baseCommit?.trim(),A=U.joinCursor?.trim();if(!L)return B.stop(),M.error("Fork metadata is missing base commit information. Unable to perform an automatic join.","parallel"),1;let I=await VQ($,Y,L,A),G=I?A:L,P=(await G0($,K,"HEAD")).trim(),T=null;if(j&&X){let m=`git-parallel-join:${Q}`;M.debug(`Stashing uncommitted changes from fork '${Q}' before joining...`,"parallel"),B.options.message="Stashing uncommitted changes";try{await k`${Z} -C ${Y} stash push --include-untracked -m ${m}`,T="stash@{0}"}catch{return M.error("Failed to stash uncommitted changes before joining.","parallel"),1}}let S=F.trim(),y;M.debug(`Enumerating commits from fork '${Q}' since ${I?"join cursor":"base commit"} ${G}...`,"parallel"),B.options.message="Enumerating commits to join";try{let m=["-C",Y,"rev-list","--reverse",`${G}..${S}`];if(P)m.push("--not",P);let n=(await k`${$} ${m}`).stdout.trim();y=n?n.split(`
739
+ `).map((a)=>a.trim()).filter((a)=>a):[]}catch(m){if(T)await k`${Z} -C ${Y} stash pop ${T}`;return M.error("Unable to enumerate commits to join.","parallel"),M.debug(u(m,{color:!0}),"parallel"),1}let g=[],x=[],c=[],v=!1,J0=!1;B.stop(),M.debug(`Found ${y.length} commit(s) to cherry-pick into origin.`,"parallel");let h=0;while(h<y.length){let m=y[h];if(!m){h++;continue}try{let n=!1,a=!1;if(W){let r=await gM({git$:Z,gitExec:$,originRepoPath:K,forkRepoPath:Y,commit:m,forkAlias:Q,isSubmodule:!1});if(r.action==="abort"){if(T)await Z8(Z,Y,Q,T);return 1}if(r.action==="undo"){if(x.length===0){C(`${H.yellow}No commit to undo yet.${H.reset}`);continue}let V0=x.pop();if(V0===void 0)continue;if(!await mM(Z,K)){if(T)await Z8(Z,Y,Q,T);return 1}if(g.length>0)g.pop();let Y0=V0>0?y[V0-1]:G;U.joinCursor=Y0,P4(Y,U),v=!1,h=Math.max(V0,0);continue}if(r.action==="skip")a=!0;else if(r.action==="apply")n=!0}else n=!0;if(n){let r=await pM(Z,{originRepoPath:K,commit:m,contextLabel:"origin worktree",forkAlias:Q,stashRef:T,sourceRepoPath:Y});if(r==="applied")g.push(m),x.push(h);if(r==="skipped"||r==="empty")v=SM(U,Y,m,v),J0=!0;else v=Kv(U,Y,m,G,v)}else if(a)v=SM(U,Y,m,v),J0=!0}catch{if(T)await Z8(Z,Y,Q,T);return 1}h++}let s=await R4(Z,Y);for(let m=0;m<s.length;m++){let n=s[m];B.start(),B.options.message=`Enumerating submodule commits ${m+1} of ${s.length}`;let a=F0.resolve(Y,n.path),r=F0.resolve(K,n.path),V0=F0.join(a,".git"),_0=F0.join(r,".git");if(!l(a)||!l(r))continue;if(!l(V0)||!l(_0))continue;let Y0=await PJ($,Y,L,n.path);if(!Y0)continue;let N0=U.submoduleCursors?.[n.path]?.trim(),k0=await VQ($,a,Y0,N0)?N0:Y0,C0=[];try{let p0=(await G0($,a,"HEAD")).trim(),x4=(await G0($,r,"HEAD")).trim(),Q8=x4?(await G0($,a,["-q","--verify",`${x4}^{commit}`])).trim():"",Y6=["-C",a,"rev-list","--reverse",`${k0}..${p0}`];if(Q8)Y6.push("--not",Q8);C0=await k`${$} ${Y6}`.then((v6)=>v6.stdout.trim().split(`
740
+ `).map((e6)=>e6.trim()).filter((e6)=>!!e6))}catch(p0){if(B.stop(),M.error(`Unable to enumerate submodule commits for '${n.path}'.`,"parallel"),M.debug(u(p0,{color:!0}),"parallel"),T)await Z8(Z,Y,Q,T);return 1}if(B.stop(),C0.length===0)continue;M.debug(`Found ${C0.length} commit(s) to cherry-pick for submodule '${n.path}'.`,"parallel");let x0=[],a0=!1,C6=0;while(C6<C0.length){let p0=C0[C6];if(!p0){C6++;continue}try{try{await k`${$} -c protocol.file.allow=always -C ${r} fetch ${a} ${p0}`}catch(Y6){if(M.error(`Failed to fetch submodule commit ${p0} from '${n.path}'.`,"parallel"),M.debug(u(Y6,{color:!0}),"parallel"),T)await Z8(Z,Y,Q,T);return 1}let x4=!1,Q8=!1;if(W){let Y6=await gM({git$:Z,gitExec:$,originRepoPath:r,forkRepoPath:a,commit:p0,forkAlias:Q,isSubmodule:!0,submodulePath:n.path});if(Y6.action==="abort"){if(T)await Z8(Z,Y,Q,T);return 1}if(Y6.action==="undo"){if(x0.length===0){C(`${H.yellow}No commit to undo yet.${H.reset}`);continue}let v6=x0.pop();if(v6===void 0)continue;if(!await mM(Z,r)){if(T)await Z8(Z,Y,Q,T);return 1}if(c.length>0)c.pop();let J8=v6>0?C0[v6-1]:k0;U.submoduleCursors??={},U.submoduleCursors[n.path]=J8,P4(Y,U),a0=!1,C6=Math.max(v6,0);continue}if(Y6.action==="skip")Q8=!0;else if(Y6.action==="apply")x4=!0}else x4=!0;if(x4){let Y6=await pM(Z,{originRepoPath:r,commit:p0,contextLabel:`submodule ${n.path}`,forkAlias:Q,stashRef:T,sourceRepoPath:a});if(Y6==="applied")c.push(p0),x0.push(C6);if(Y6==="skipped"||Y6==="empty")a0=yM(U,Y,n.path,p0,a0),J0=!0;else if(!a0)U.submoduleCursors??={},U.submoduleCursors[n.path]=p0||k0,P4(Y,U)}else if(Q8)a0=yM(U,Y,n.path,p0,a0),J0=!0}catch{if(T)await Z8(Z,Y,Q,T);return 1}C6++}}if(T){M.debug(`Applying stashed uncommitted changes from fork '${Q}' to origin...`,"parallel");try{let a=(await k`${Z} -C ${Y} stash list`).stdout.trim().split(`
741
+ `)[0]?.split(":")[0]||T;await k`${Z} -C ${K} stash apply --index ${a}`,await k`${Z} -C ${Y} stash drop ${a}`}catch(m){M.error("Failed to apply uncommitted changes to the origin worktree.","parallel"),M.debug(u(m,{color:!0}),"parallel");try{await k`${Z} -C ${Y} stash pop ${T}`,C(`${H.yellow}Stashed changes restored to fork '${Q}' for safety.${H.reset}`)}catch(n){C(`${H.yellow}Please restore stash '${T}' manually from fork '${Q}'. Automatic pop failed.${H.reset}`),M.debug(u(n,{color:!0}),"parallel")}return 1}}if(g.length>0||c.length>0){if(C(`${H.cyan}Cherry-picked ${g.length} commit(s) into origin.${H.reset}`),c.length>0)C(`${H.cyan}Cherry-picked ${c.length} submodule commit(s) into origin.${H.reset}`)}else C(`${H.cyan}No new commits to cherry-pick. Origin was already up to date.${H.reset}`);if(!q&&!J0&&(g.length>0||c.length>0)){if(M.debug(`Removing fork worktree '${Q}' after join...`,"parallel"),await Rq(Z,Q)!==0)return M.warn(`Failed to remove fork '${Q}' after joining. Please remove it manually later.`),1;C(`${H.cyan}Fork '${Q}' merged and removed successfully.${H.reset}`)}else{if(!J0)try{let m=(await G0($,K,"HEAD")).trim();if(m)dM(U,m)}catch{}else U.updatedAt=new Date().toISOString();P4(Y,U),C(`${H.cyan}Fork '${Q}' merged into origin. Worktree kept at:${H.reset} ${Y}`)}return 0}async function Tv(Z,Y,Q){if(!l(Y.parallelRoot))return C(`${H.yellow}No forked worktrees found for this branch.${H.reset}`),0;let q=l6(Y.parallelRoot,{withFileTypes:!0}).filter((z)=>z.isDirectory()).sort((z,W)=>z.name.localeCompare(W.name));if(q.length===0)return C(`${H.yellow}No forked worktrees found for this branch.${H.reset}`),0;let X=!1;for(let z of q){let W=F0.join(Y.parallelRoot,z.name),U=x8(W);if(!U)continue;let K=U.alias||z.name;X=!0;let B=await oM(Z,W,K,{keep:Q,bringAll:!1,interactive:!1});if(B!==0)return B}if(!X)C(`${H.yellow}No forked worktrees found for this branch.${H.reset}`);return 0}async function kv(Z,Y){let Q;try{Q=await DQ(Z)}catch(F){return M.error(u(F,{color:!0}),"parallel"),1}let{parallelCtx:J,scopeGit$:q}=Q,X=["--keep","--all","--interactive","-i","-r","--recursive"],z=new Set,W=null;for(let F of Y){let O=F.toLowerCase();if(X.includes(O))z.add(O);else if(!W&&!F.startsWith("-"))W=F;else return M.error(`Unknown option '${F}'.`,"parallel"),W6(),1}let U=z.has("--keep"),K=z.has("--all"),B=z.has("--interactive")||z.has("-i"),$=z.has("-r")||z.has("--recursive");if($&&K)return M.error("Recursive join does not support --all. Join forks individually.","parallel"),W6(),1;if($&&B)return M.error("Recursive join does not support --interactive. Join forks individually.","parallel"),W6(),1;if($&&W)return M.error("Recursive join does not accept an alias. Omit <alias> with -r.","parallel"),W6(),1;if($&&J.isParallelWorktree)return M.error("Run recursive join from the origin worktree, not from a fork.","parallel"),1;if($)return await Tv(q,J,U);let V,D;if(W){if(J.isParallelWorktree&&J.alias===W)return M.error("Cannot join the fork you are currently in. Switch to origin or another fork first.","parallel"),1;if(!SZ(W))return M.error(`Alias '${W}' contains invalid characters or spaces.`,"parallel"),1;if(V=F0.join(J.parallelRoot,W),D=W,!l(V))return M.error(`Worktree '${W}' not found for branch '${J.branchName}'.`,"parallel"),1}else{if(Q.currentLabel==="origin")return M.error("Either run join from inside a forked worktree, or specify which fork to join.","parallel"),M.info("Usage: git parallel join [<alias>] [--keep|--all|--interactive] | git parallel join -r [--keep]","parallel"),1;D=Q.currentLabel,V=Cq(J,D)}return await oM(q,V,D,{keep:U,bringAll:K,interactive:B})}async function Ev(Z,Y){let Q;try{Q=await DQ(Z)}catch(O){return M.error(u(O,{color:!0}),"parallel"),1}let J=["--hard","-h"],q=new Set,X=null;for(let O of Y){let j=O.toLowerCase();if(J.includes(j))q.add(j);else if(!X&&!O.startsWith("-"))X=O;else return M.error(`Unknown option '${O}'.`,"parallel"),W6(),1}let z=q.has("--hard")||q.has("-h"),W=Q.parallelCtx,U,K;if(X){if(X==="origin")return M.error("Origin is already the synchronization source.","parallel"),1;if(!SZ(X))return M.error(`Alias '${X}' contains invalid characters or spaces.`,"parallel"),1;if(U=X,K=Cq(W,U),!l(K))return M.error(`Worktree '${U}' not found for branch '${W.branchName}'.`,"parallel"),1}else{if(Q.currentLabel==="origin")return M.error("Run sync from inside a forked worktree, or specify which fork to sync.","parallel"),1;U=Q.currentLabel,K=W.repoRoot}let B=x8(K);if(!B)return M.error(`Missing metadata for worktree '${U}'.`,"parallel"),1;let $=F0.resolve(B.originPath);if(!l($))return M.error(`Origin worktree path not found at '${$}'.`,"parallel"),1;if(!await Wv(Q.gitExec,K,z))return M.error(`Fork '${U}' has uncommitted changes. Re-run with --hard to clear them first.`,"parallel"),1;let D=(await G0(Q.gitExec,$,"HEAD")).trim();if(!D)return M.error("Unable to resolve origin HEAD for sync.","parallel"),1;try{if(B.forkBranch&&B.forkBranchTracked){let O=["-C",K,"merge","--no-edit","-X","theirs",D],j=await k`${Q.gitExec} ${O}`;b6(j)}else{let O=await k`${Q.gitExec} -C ${K} reset --hard ${D}`;b6(O)}}catch(O){b6(P8(O));try{await k`${Q.gitExec} -C ${K} merge --abort`}catch{}return M.error(`Failed to sync fork '${U}' with origin.`,"parallel"),M.debug(u(O,{color:!0}),"parallel"),1}try{await Uv(Q.gitExec,K,z)}catch(O){return M.error(`Failed to refresh submodules for '${U}' after sync.`,"parallel"),M.debug(u(O,{color:!0}),"parallel"),1}let F=(await G0(Q.gitExec,K,"HEAD")).trim()||D;return dM(B,F),P4(K,B),C(`${H.cyan}Fork '${U}' synchronized with origin.${H.reset}`),0}async function Pv(Z,Y){let Q;try{Q=await DQ(Z)}catch(B){return M.error(u(B,{color:!0}),"parallel"),1}if(Y.length<2)return M.error("Usage: gdx parallel pick <alias|origin> <commit> [commit...]","parallel"),W6(),1;let J=Y[0],q=Y.slice(1).filter((B)=>B.length>0);if(J!=="origin"&&!SZ(J))return M.error(`Alias '${J}' contains invalid characters or spaces.`,"parallel"),1;let X=Cq(Q.parallelCtx,J),z=Q.parallelCtx.repoRoot;if(!l(X))return M.error(`Worktree '${J}' not found for branch '${Q.parallelCtx.branchName}'.`,"parallel"),1;if(F0.resolve(X)===F0.resolve(z))return M.error("Source and destination worktrees are the same.","parallel"),1;let W=Q.submodulePath?F0.resolve(X,Q.submodulePath):X,U=Q.repoRoot;if(!l(W))return M.error(`Submodule '${Q.submodulePath}' is not available in worktree '${J}'.`,"parallel"),1;let K=[];for(let B of q)try{let $=(await G0(Q.gitExec,W,["-q","--verify",`${B}^{commit}`])).trim();if(!$)return M.error(`Commit '${B}' was not found in '${J}'.`,"parallel"),1;K.push($)}catch{return M.error(`Commit '${B}' was not found in '${J}'.`,"parallel"),1}if(Q.submodulePath)try{await k`${Q.gitExec} -c protocol.file.allow=always -C ${U} fetch ${W} ${K}`}catch(B){return M.error(`Failed to fetch commits from submodule '${Q.submodulePath}' in '${J}'.`,"parallel"),M.debug(u(B,{color:!0}),"parallel"),1}for(let B of K)try{let $=await cM(Q.gitExec,U,W,B),V=await k`${Q.gitExec} ${$} ${u5()} -C ${U} cherry-pick ${B}`;b6(V)}catch($){if(await Gq(Q.gitExec,U,$,"parallel pick"))continue;return b6(P8($)),M.error(`Failed to cherry-pick commit ${B} from '${J}'.`,"parallel"),M.debug(u($,{color:!0}),"parallel"),1}return C(`${H.cyan}Cherry-picked ${K.length} commit(s) from '${J}' into ${Q.currentLabel}.${H.reset}`),0}async function pM(Z,Y){let{originRepoPath:Q,commit:J,contextLabel:q,forkAlias:X,stashRef:z,sourceRepoPath:W}=Y;M.debug(`Cherry-picking commit ${J} into ${q}...`,"parallel");let U=u5(),K=Array.isArray(Z)?Z[0]:Z,B=W?await cM(K,Q,W,J):[];try{let $=await k`${K} ${B} ${U} -C ${Q} cherry-pick ${J}`;return b6($),"applied"}catch($){if(await Gq(Z,Q,$,q))return"empty";if(b6(P8($)),!await p1(Z,Q))throw M.error(`Cherry-pick failed while applying commit ${J}.`,"parallel"),M.debug(u($,{color:!0}),"parallel"),$;if(!KJ()){let F=await p5(Z,Q);throw await Ov(Q,X,J,z,F),M.debug(u($,{color:!0}),"parallel"),$}C(`${H.yellow}Cherry-pick paused due to conflicts while applying commit ${J}.${H.reset}`),C(`${H.dim}Resolve conflicts in ${q}, then choose to continue or abort.${H.reset}`);while(!0)switch((await y1("Type c to continue, a to abort, s to skip (c|a|s): ")).toLowerCase()){case"s":case"skip":try{return await k`${K} ${B} ${U} -C ${Q} cherry-pick --skip`,M.debug(`Skipped commit ${J} for ${q}.`,"parallel"),"skipped"}catch(O){if(!await p1(Z,Q))return"skipped";b6(P8(O)),M.error(`Failed to skip commit ${J} for ${q}.`,"parallel"),M.debug(u(O,{color:!0}),"parallel");continue}case"c":case"continue":case"y":case"yes":try{await vO(Z,Q);let O=await k`${K} ${B} ${U} -C ${Q} cherry-pick --continue`;return b6(O),"applied"}catch(O){if(await Gq(Z,Q,O,q))return"empty";if(b6(P8(O)),await p1(Z,Q)){C(`${H.yellow}Cherry-pick still has conflicts. Resolve them and try again.${H.reset}`),M.debug(u(O,{color:!0}),"parallel");continue}throw M.error("Cherry-pick no longer in progress. You may need to resolve the state manually before retrying.","parallel"),M.debug(u(O,{color:!0}),"parallel"),O}case"a":case"abort":case"n":case"no":try{let O=await k`${K} ${B} ${U} -C ${Q} cherry-pick --abort`;b6(O)}catch(O){throw b6(P8(O)),M.error("Failed to abort cherry-pick.","parallel"),M.debug(u(O,{color:!0}),"parallel"),O}throw M.error(`Cherry-pick aborted while applying commit ${J}.`,"parallel"),$}}}async function Gq(Z,Y,Q,J){let q=await p1(Z,Y);if(!(bO(Q)||q&&await SO(Z,Y)))return!1;if(!q)return M.debug(`Empty cherry-pick ignored for ${J}.`,"parallel"),!0;try{return await k`${Z} ${u5()} -C ${Y} cherry-pick --skip`,M.debug(`Skipped empty cherry-pick for ${J}.`,"parallel"),!0}catch(z){return b6(P8(z)),M.error(`Failed to skip empty cherry-pick for ${J}.`,"parallel"),M.debug(u(z,{color:!0}),"parallel"),!1}}async function xv(Z,Y,Q,J,q){let X=Array.isArray(Z)?Z[0]:Z;try{let[z,W]=await Promise.all([G0(X,Y,"HEAD").then(($)=>$.trim()),q!==void 0?Promise.resolve(q.trim()):G0(X,Q,"HEAD").then(($)=>$.trim())]),U=W;if(z===U)return{ahead:0,behind:0};let K=0,B=0;return await Promise.all([(async()=>{try{let V=(await k`${X} -C ${Y} rev-list --count ${J||U}..${z}`).stdout.trim();K=parseInt(V,10)||0}catch{K=0}})(),(async()=>{try{let $=(await k`${X} -C ${Y} rev-list --count ${z}..${U}`).stdout.trim();B=parseInt($,10)||0}catch{B=0}})()]),{ahead:K,behind:B}}catch{return{ahead:0,behind:0}}}async function bv(Z,Y){let{git$:Q,gitExec:J,worktreePath:q,originPath:X,baseCommit:z,maxCount:W,submoduleCursors:U}=Z,K=await R4(Q,q);if(K.length===0)return{groups:[],totalCount:0};let B=[],$=0;for(let V of K){let D=F0.resolve(q,V.path),F=F0.resolve(X,V.path),O=F0.join(D,".git"),j=F0.join(F,".git");if(!l(D)||!l(O))continue;if(Y)Y.options.message=`Collecting submodule '${V.path}'...`;let _=await PJ(J,q,z,V.path);if(!_)continue;let L=_,A=U?.[V.path];if(A){if(await VQ(J,D,_,A))L=A}let I=`${L}..HEAD`,G=l(F)&&l(j)?(await G0(J,F,"HEAD")).trim():"",P=await EJ({gitExec:J,repoPath:D,range:I,maxCount:W,formatTemplate:`${H.yellow}%h${H.reset} %s`,excludeRefs:G?[G]:void 0});if(P.totalCount===0)continue;let T=`${V.path} ${H.dim}[submodule]${H.reset}`;B.push({label:T,commits:P.commits,totalCount:P.totalCount,moreCount:P.moreCount}),$+=P.totalCount}return{groups:B,totalCount:$}}function iM(Z,Y,Q){let J=[...Y];if(Q>0)J.push(`${H.dim}+${Q} more${H.reset}`);if(J.length===0)return;for(let q=0;q<J.length;q++){let z=q===J.length-1?"└─ ":"├─ ";C(`${H.dim}${Z}${z}${H.reset}${J[q]}`)}}function vv(Z){if(Z.length===0)return;for(let Y=0;Y<Z.length;Y++){let Q=Z[Y],J=Y===Z.length-1,q=J?" └─ ":" ├─ ";C(`${H.dim}${q}${H.reset}${Q.label}`),iM(J?" ":" │ ",Q.commits,Q.moreCount)}}function sM(Z){if(!Z)return"";if(typeof Z==="string")return Z;if(Z instanceof Uint8Array)return new TextDecoder().decode(Z);return String(Z)}function uM(Z){let Y=sM(Z);if(!Y)return;C(Y,Y.endsWith(`
739
742
  `)?"":`
740
- `)}function P6(Z){GM(Z.stdout),GM(Z.stderr)}function T4(Z){if(Z instanceof m6)return{stdout:Z.stdout,stderr:Z.stderr};let Y=Z;return{stdout:Y?.stdout,stderr:Y?.stderr}}async function Mq(Z){let{git$:Y,args:Q}=Z;if(Q.length<2)return H6(),1;let J=Q[1].toLowerCase(),{match:q,candidates:X}=f0(J,["fork","list","open","switch","sync","pick","join","remove","help"]),z=Q.slice(2);switch(q){case"fork":return await yb(Y,z);case"remove":return await fb(Y,z);case"switch":if(!c6)return M.error("'git parallel switch' requires the shell integration. See readme for details."),1;return await NM(Y,z,!0);case"open":return await NM(Y,z);case"list":return await gb(Y,z);case"sync":return await Yv(Y,z);case"pick":return await Qv(Y,z);case"join":return await Zv(Y,z);case"help":return H6(),0;default:if(X&&X.length>0)M.warn(`Ambiguous command '${J}'. Did you mean one of: ${X.join(", ")}?`);else M.warn(`Unknown subcommand '${J}'`);return H6(),1}}function H6(){R(KQ.short+`
741
- `+KQ.usage())}var WQ=1000,C4=null,R4=null,Cb=async({git$:Z})=>{let Y=await PZ(Z);return c1(["origin",...Y],["-c","--copy"])},Rb=async({git$:Z})=>{let Y=await PZ(Z);return c1(["origin",...Y],["-c","--copy"])},Tb=async({git$:Z})=>{let Y=await PZ(Z);return{$allOf:["--keep","--all","-i","--interactive"],"-r":{$allOf:["--keep"]},"--recursive":{$allOf:["--keep"]},...c1(Y,["--keep","--all","-i","--interactive"])}},kb=async({git$:Z})=>{let Y=await PZ(Z);return c1(Y,["--hard","-h"])},Eb=async({git$:Z})=>{let Y=await PZ(Z);return y3(["origin",...Y])},xb=async({git$:Z})=>{let Y=await PZ(Z);return{"-r":{},"--recursive":{},...y3(Y)}},KQ,bM;var $Q=j(()=>{U6();oY();z0();g0();R0();w0();H0();b0();v0();xZ();X6();VM();wZ();Y7();o0();KQ={long:()=>{return t(Z0`
743
+ `)}function b6(Z){uM(Z.stdout),uM(Z.stderr)}function P8(Z){if(Z instanceof p6)return{stdout:Z.stdout,stderr:Z.stderr};let Y=Z;return{stdout:Y?.stdout,stderr:Y?.stderr}}async function Tq(Z){let{git$:Y,args:Q}=Z;if(Q.length<2)return W6(),1;let J=Q[1].toLowerCase(),{match:q,candidates:X}=h0(J,["fork","list","open","switch","sync","pick","join","remove","help"]),z=Q.slice(2);switch(q){case"fork":return await Bv(Y,z);case"remove":return await $v(Y,z);case"switch":if(!n6)return M.error("'git parallel switch' requires the shell integration. See readme for details."),1;return await fM(Y,z,!0);case"open":return await fM(Y,z);case"list":return await Vv(Y,z);case"sync":return await Ev(Y,z);case"pick":return await Pv(Y,z);case"join":return await kv(Y,z);case"help":return W6(),0;default:if(X&&X.length>0)M.warn(`Ambiguous command '${J}'. Did you mean one of: ${X.join(", ")}?`);else M.warn(`Unknown subcommand '${J}'`);return W6(),1}}function W6(){C(OQ.short+`
744
+ `+OQ.usage())}var FQ=1000,k8=null,E8=null,Yv=async({git$:Z})=>{let Y=await vZ(Z);return o1(["origin",...Y],["-c","--copy"])},Qv=async({git$:Z})=>{let Y=await vZ(Z);return o1(["origin",...Y],["-c","--copy"])},Jv=async({git$:Z})=>{let Y=await vZ(Z);return{$allOf:["--keep","--all","-i","--interactive"],"-r":{$allOf:["--keep"]},"--recursive":{$allOf:["--keep"]},...o1(Y,["--keep","--all","-i","--interactive"])}},qv=async({git$:Z})=>{let Y=await vZ(Z);return o1(Y,["--hard","-h"])},Xv=async({git$:Z})=>{let Y=await vZ(Z);return cJ(["origin",...Y])},zv=async({git$:Z})=>{let Y=await vZ(Z);return{"-r":{},"--recursive":{},...cJ(Y)}},OQ,aM;var MQ=N(()=>{J6();aY();z0();m0();R0();w0();H0();v0();S0();bZ();e0();PM();GZ();q7();s0();OQ={long:()=>{return t(Z0`
742
745
  ${H.bright+d("PARALLEL",E.Zinc400,E.Zinc100,0.2)+H.reset}
743
746
  Manage parallel (forked) worktrees for iterative development.
744
747
 
745
748
  ${H.bright+d("OVERVIEW",E.Zinc400,E.Zinc100,0.2)+H.reset}
746
- \`${H.cyan}${C} parallel${H.reset}\` helps you create and manage temporary forked worktrees for the current branch. Forked worktrees live under a temp worktree root and contain a small metadata file (.git-parallel.json) so the tool can later join, list or remove them cleanly.
749
+ \`${H.cyan}${R} parallel${H.reset}\` helps you create and manage temporary forked worktrees for the current branch. Forked worktrees live under a temp worktree root and contain a small metadata file (.git-parallel.json) so the tool can later join, list or remove them cleanly.
747
750
 
748
- Additionally, \`${H.cyan}${C} parallel fork${H.reset}\` can auto-initialize submodules,
751
+ Additionally, \`${H.cyan}${R} parallel fork${H.reset}\` can auto-initialize submodules,
749
752
  copy ignored env files, and install dependencies using detected package managers (currently supports
750
753
  npm, pnpm, bun, and uv) if configured (see \`${H.cyan}parallel.init${H.reset}\` and
751
754
  \`${H.cyan}parallel.envPaths${H.reset}\` config for options), getting the fork ready for work in no time.
@@ -763,77 +766,78 @@ ${u(B,{color:!0})}`,"parallel");let F=await b1("Do you want to force remove the
763
766
  ${H.bright+d("SAFETY AND NOTES",E.Zinc400,E.Zinc100,0.2)+H.reset}
764
767
  Joining cherry-picks commits into origin; conflicts will prompt for resolve/continue in a TTY or print manual steps in non-interactive shells. Removing a fork will also delete the worktree directory when forced.
765
768
  `,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})},short:"Manage temporary forked worktrees: create, list, join, open and remove.",usage:()=>{return t(Z0`
766
- ${H.cyan}${C} parallel fork ${H.dim}<alias> [ref] [-b|-B <branch>] [--move|--mirror] [--no-init[=submodule,env,pkg]]${H.reset}
767
- ${H.cyan}${C} parallel list${H.reset}
768
- ${H.cyan}${C} parallel open ${H.dim}<alias|origin> [-c|--copy]${H.reset}
769
- ${H.cyan}${C} parallel switch ${H.dim}<alias|origin> [-c|--copy]${H.reset}
770
- ${H.cyan}${C} parallel sync ${H.dim}[<alias>] [--hard|-h]${H.reset}
771
- ${H.cyan}${C} parallel pick ${H.dim}<alias|origin> <commit> [commit...]${H.reset}
772
- ${H.cyan}${C} parallel join ${H.dim}<alias> [--keep|--all|-i|--interactive]${H.reset}
773
- ${H.cyan}${C} parallel join ${H.dim}-r|--recursive [--keep]${H.reset}
774
- ${H.cyan}${C} parallel remove ${H.dim}<alias>${H.reset}
775
- ${H.cyan}${C} parallel remove ${H.dim}-r|--recursive${H.reset}
769
+ ${H.cyan}${R} parallel fork ${H.dim}<alias> [ref] [-b|-B <branch>] [--move|--mirror] [--no-init[=submodule,env,pkg]]${H.reset}
770
+ ${H.cyan}${R} parallel list${H.reset}
771
+ ${H.cyan}${R} parallel open ${H.dim}<alias|origin> [-c|--copy]${H.reset}
772
+ ${H.cyan}${R} parallel switch ${H.dim}<alias|origin> [-c|--copy]${H.reset}
773
+ ${H.cyan}${R} parallel sync ${H.dim}[<alias>] [--hard|-h]${H.reset}
774
+ ${H.cyan}${R} parallel pick ${H.dim}<alias|origin> <commit> [commit...]${H.reset}
775
+ ${H.cyan}${R} parallel join ${H.dim}<alias> [--keep|--all|-i|--interactive]${H.reset}
776
+ ${H.cyan}${R} parallel join ${H.dim}-r|--recursive [--keep]${H.reset}
777
+ ${H.cyan}${R} parallel remove ${H.dim}<alias>${H.reset}
778
+ ${H.cyan}${R} parallel remove ${H.dim}-r|--recursive${H.reset}
776
779
 
777
780
  Examples:
778
- ${H.cyan}${C} parallel fork feature-x --move ${H.reset+H.dim}# Create fork and optionally move changes${H.reset}
779
- ${H.cyan}${C} parallel fork feature-x deadbeef ${H.reset+H.dim}# Create fork from a ref${H.reset}
780
- ${H.cyan}${C} parallel fork feature-x -b feature-x ${H.reset+H.dim}# Create fork on a local branch${H.reset}
781
- ${H.cyan}${C} parallel fork feature-x -B feature-x ${H.reset+H.dim}# Recreate the fork branch${H.reset}
782
- ${H.cyan}${C} parallel fork feature-x --no-init ${H.reset+H.dim}# Skip all init behaviors${H.reset}
783
- ${H.cyan}${C} parallel fork feature-x --no-init=pkg ${H.reset+H.dim}# Skip package installs only${H.reset}
784
- ${H.cyan}${C} parallel fork feature-x --no-init=env ${H.reset+H.dim}# Skip env file copy${H.reset}
785
- ${H.cyan}${C} parallel list --short ${H.reset+H.dim}# Compact output with recent commits${H.reset}
786
- ${H.cyan}${C} parallel sync feature-x --hard ${H.reset+H.dim}# Reset a fork to the latest origin state${H.reset}
787
- ${H.cyan}${C} parallel pick origin deadbeef ${H.reset+H.dim}# Cherry-pick from origin into current worktree${H.reset}
788
- ${H.cyan}${C} parallel join feature-x --all ${H.reset+H.dim}# Merge fork back into origin${H.reset}
789
- ${H.cyan}${C} parallel join feature-x -i ${H.reset+H.dim}# Preview and pick commits${H.reset}
790
- ${H.cyan}${C} parallel join -r ${H.reset+H.dim}# Merge all forks back into origin${H.reset}
791
- ${H.cyan}${C} parallel remove -r ${H.reset+H.dim}# Remove all forks for this branch${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},bM={$root:{fork:["--move","--mirror","--no-init","-b","-B"],list:{},open:Cb,switch:Rb,sync:kb,pick:Eb,join:Tb,remove:xb,help:{}}}});async function zv(){let Z=await K0(),Y=yM(N4),Q=[],J="";R(H.dim+`# GDX Configuration
781
+ ${H.cyan}${R} parallel fork feature-x --move ${H.reset+H.dim}# Create fork and optionally move changes${H.reset}
782
+ ${H.cyan}${R} parallel fork feature-x deadbeef ${H.reset+H.dim}# Create fork from a ref${H.reset}
783
+ ${H.cyan}${R} parallel fork feature-x -b feature-x ${H.reset+H.dim}# Create fork on a local branch${H.reset}
784
+ ${H.cyan}${R} parallel fork feature-x -B feature-x ${H.reset+H.dim}# Recreate the fork branch${H.reset}
785
+ ${H.cyan}${R} parallel fork feature-x --no-init ${H.reset+H.dim}# Skip all init behaviors${H.reset}
786
+ ${H.cyan}${R} parallel fork feature-x --no-init=pkg ${H.reset+H.dim}# Skip package installs only${H.reset}
787
+ ${H.cyan}${R} parallel fork feature-x --no-init=env ${H.reset+H.dim}# Skip env file copy${H.reset}
788
+ ${H.cyan}${R} parallel list --short ${H.reset+H.dim}# Compact output with recent commits${H.reset}
789
+ ${H.cyan}${R} parallel sync feature-x --hard ${H.reset+H.dim}# Reset a fork to the latest origin state${H.reset}
790
+ ${H.cyan}${R} parallel pick origin deadbeef ${H.reset+H.dim}# Cherry-pick from origin into current worktree${H.reset}
791
+ ${H.cyan}${R} parallel join feature-x --all ${H.reset+H.dim}# Merge fork back into origin${H.reset}
792
+ ${H.cyan}${R} parallel join feature-x -i ${H.reset+H.dim}# Preview and pick commits${H.reset}
793
+ ${H.cyan}${R} parallel join -r ${H.reset+H.dim}# Merge all forks back into origin${H.reset}
794
+ ${H.cyan}${R} parallel remove -r ${H.reset+H.dim}# Remove all forks for this branch${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},aM={$root:{fork:["--move","--mirror","--no-init","-b","-B"],list:{},open:Yv,switch:Qv,sync:qv,pick:Xv,join:Jv,remove:zv,help:{}}}});async function Sv(){let Z=await K0(),Y=eM(w8),Q=[],J="";C(H.dim+`# GDX Configuration
792
795
  # read from ${Z.getConfigPath()}
793
796
  # (api keys stored separately)
794
797
  `+H.reset);for(let{key:q}of Y){let X=q.split("."),z=X.slice(0,-1).join("."),W=X[X.length-1];if(!Q.includes(z)){if(Q.length>0)J+=`
795
- `;if(z){let _=Z3[z];if(J+=`${H.magenta+H.bright}[${z}]${H.reset}
796
- `,_)J+=`${H.dim}# ${_.split(`
798
+ `;if(z){let j=HJ[z];if(J+=`${H.magenta+H.bright}[${z}]${H.reset}
799
+ `,j)J+=`${H.dim}# ${j.split(`
797
800
  `).join(`
798
801
  # `)}${H.reset}
799
- `}Q.push(z)}let U=Z.get(q);if(U===void 0&&b8.includes(q))U=await Z.getSecure(q);let K=Z.isDefault(q),B=Z3[q]||"",$="",F=!1;switch(typeof U){case"boolean":$=u(U,{color:!0});break;case"number":$=u(U,{color:!0});break;case"string":if(W.toLowerCase().includes("key"))$=u(h4(U,20,"mid",-1),{color:!0});else $=u(U,{color:!0});break;case"undefined":case"object":if(U==null)F=!0,$=u(null,{color:!0});break;default:$=String(U)}let O=K?"":` ${H.reset+H.yellow+H.italic}[Modified]${H.reset+H.dim}`,V=B?` ${H.dim}#${O} ${B}${H.reset}`:"",D=F?`${H.dim}# ${H.cyan+W+H.white} = ${$}${V}${H.reset}
800
- `:`${H.cyan+W+H.reset} = ${$}${V}
801
- `;if(Q[Q.length-1]==="")J=D+`
802
- `+J;else J+=D}return R(J,""),0}async function Hv(Z){let Y=await K0(),Q=Z.args[1];if(!Q)return M.error("Missing configuration key","gdx-config"),1;let J=Y.get(Q);if(J===void 0&&b8.includes(Q))J=await Y.getSecure(Q);if(J===void 0)return M.warn(`Key '${Q}' is not set`,"gdx-config"),1;return R(String(J)),0}async function Wv(Z){let Y=await K0(),Q=Z.args[1],J=Z.args[2];if(!Q||J===void 0)return M.error("Usage: gdx gdx-config <key> <value>","gdx-config"),1;let q=j5(Q,J);if(!q.ok)return M.error("Validation failed: "+q.message,"gdx-config"),1;await Y.set(Q,q.value),await Y.save();let X=Q.toLowerCase().includes("key")?h4(String(q.value),20,"mid",-1):q.value;return R(`${H.green}Configuration updated: ${Q} = ${X}${H.reset}`),0}async function jq(Z){let Y=Z.args[1]?.toLowerCase(),{match:Q}=f0(Y,["list","path"]);if(Q==="list"||!Y)return await zv();else if(Q==="path"){let J=await K0();return R(J.getConfigPath()),0}else if(Z.args.length===2)return await Hv(Z);else if(Z.args.length===3)return await Wv(Z);else return R(Z0(`${H.cyan}Usage:${H.reset}
802
+ `}Q.push(z)}let U=Z.get(q);if(U===void 0&&S4.includes(q))U=await Z.getSecure(q);let K=Z.isDefault(q),B=HJ[q]||"",$="",V=!1;switch(typeof U){case"boolean":$=u(U,{color:!0});break;case"number":$=u(U,{color:!0});break;case"string":if(W.toLowerCase().includes("key"))$=u(p8(U,20,"mid",-1),{color:!0});else $=u(U,{color:!0});break;case"undefined":case"object":if(U==null)V=!0,$=u(null,{color:!0});break;default:$=String(U)}let D=K?"":` ${H.reset+H.yellow+H.italic}[Modified]${H.reset+H.dim}`,F=B?` ${H.dim}#${D} ${B}${H.reset}`:"",O=V?`${H.dim}# ${H.cyan+W+H.white} = ${$}${F}${H.reset}
803
+ `:`${H.cyan+W+H.reset} = ${$}${F}
804
+ `;if(Q[Q.length-1]==="")J=O+`
805
+ `+J;else J+=O}return C(J,""),0}async function yv(Z){let Y=await K0(),Q=Z.args[1];if(!Q)return M.error("Missing configuration key","gdx-config"),1;let J=Y.get(Q);if(J===void 0&&S4.includes(Q))J=await Y.getSecure(Q);if(J===void 0)return M.warn(`Key '${Q}' is not set`,"gdx-config"),1;return C(String(J)),0}async function fv(Z){let Y=await K0(),Q=Z.args[1],J=Z.args[2];if(!Q||J===void 0)return M.error("Usage: gdx gdx-config <key> <value>","gdx-config"),1;let q=I5(Q,J);if(!q.ok)return M.error("Validation failed: "+q.message,"gdx-config"),1;await Y.set(Q,q.value),await Y.save();let X=Q.toLowerCase().includes("key")?p8(String(q.value),20,"mid",-1):q.value;return C(`${H.green}Configuration updated: ${Q} = ${X}${H.reset}`),0}async function kq(Z){let Y=Z.args[1]?.toLowerCase(),{match:Q}=h0(Y,["list","path"]);if(Q==="list"||!Y)return await Sv();else if(Q==="path"){let J=await K0();return C(J.getConfigPath()),0}else if(Z.args.length===2)return await yv(Z);else if(Z.args.length===3)return await fv(Z);else return C(Z0(`${H.cyan}Usage:${H.reset}
803
806
  gdx gdx-config list - List all configuration
804
807
  gdx gdx-config path - Show config file path
805
808
  gdx gdx-config <key> - Get configuration value
806
- gdx gdx-config <key> <value> - Set configuration value`)),0}function yM(Z,Y=""){let Q=[];for(let J in Z){let q=Y?`${Y}.${J}`:J,X=Z[J];if(X!==null&&typeof X==="object"&&!Array.isArray(X))Q.push(...yM(X,q));else Q.push({key:q,value:X})}return Q}var vM,SM;var FQ=j(()=>{z0();$6();E1();o0();R0();w0();H0();v0();b0();w8();vM={long:()=>{return t(`
807
- ${H.bright+d("GDX-CONFIG",E.Zinc400,E.Zinc100,0.2)+H.reset}
808
- View and modify gdx configuration.
809
-
810
- ${H.bright+d("OVERVIEW",E.Zinc400,E.Zinc100,0.2)+H.reset}
811
- Manage gdx settings stored in the configuration file. The command supports listing all config values, getting the path to the currently loaded config file, and getting/setting individual keys. API keys and sensitive values are masked when displayed.
812
-
813
- ${H.bright+d("COMMANDS",E.Zinc400,E.Zinc100,0.2)+H.reset}
814
- - list: Prints flattened configuration with defaults and modified markers.
815
- - path: Prints the path to the active config file used by gdx.
816
- - <key> [value]: Get or set a config key. When setting, types are coerced based on the existing default value where possible.
817
- `,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})},short:"View or modify gdx configuration settings.",usage:()=>{return t(`
818
- ${H.cyan}${C} gdx-config list${H.reset}
819
- ${H.cyan}${C} gdx-config path${H.reset}
820
- ${H.cyan}${C} gdx-config ${H.dim}<key> [value]${H.reset}
809
+ gdx gdx-config <key> <value> - Set configuration value`)),0}function eM(Z,Y=""){let Q=[];for(let J in Z){let q=Y?`${Y}.${J}`:J,X=Z[J];if(X!==null&&typeof X==="object"&&!Array.isArray(X))Q.push(...eM(X,q));else Q.push({key:q,value:X})}return Q}var rM,tM;var jQ=N(()=>{z0();$6();x1();s0();R0();w0();H0();S0();v0();A4();rM={long:()=>{return t(Z0`
810
+ ${H.bright+d("GDX-CONFIG",E.Zinc400,E.Zinc100,0.2)+H.reset}
811
+ View and modify gdx configuration.
821
812
 
822
- Examples:
823
- ${H.cyan}${C} gdx-config list ${H.reset+H.dim}# List all config keys and values${H.reset}
824
- ${H.cyan}${C} gdx-config editor.code true ${H.reset+H.dim}# Set value for a key${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},SM={$root:["list","path"]}});async function pM(Z,Y={}){let Q=Y.normalFileCharCap??Uv,J=Y.noisyFileCharCap??Kv,q=(Y.noisyPatterns||[...eJ]).map((P)=>XQ(P)).filter((P)=>Boolean(P));if(q.length===0)q.push(()=>!1);let[X,z,W,U,K]=await Promise.all([k`${Z} diff --cached --name-status -z -M -C --find-copies-harder`,k`${Z} diff --cached --numstat -z -M -C --find-copies-harder`,k`${Z} -c color.ui=never diff --cached --stat -M -C --find-copies-harder`,k`${Z} diff --cached --shortstat`,k`${Z} -c color.ui=never diff --cached --patch --no-ext-diff -M -C --find-copies-harder`]),B=Bv(X.stdout);if(B.length===0)return{hasChanges:!1,summary:""};let $=new Map;for(let P of B)if(P.oldPath){let c=$.get(P.oldPath);if(c)c.push(P.path);else $.set(P.oldPath,[P.path])}let F=$v(z.stdout,$),O=Fv(W.stdout),V=Vv(K.stdout),D=await wv(),_=Dv(B,F,O,q),N=[],w=[],G=[],I=[],A=[],x=[];for(let P of _){if(P.category==="binary")continue;if(P.category==="rename"||P.category==="copy"){let h=V.get(P.path)||(P.oldPath?V.get(P.oldPath):void 0);if(!Mv(P.status,h))continue;if(!h)continue;let s=Nq(P.path,q)||(P.oldPath?Nq(P.oldPath,q):!1),m=hM(h,D,s?J:Q,s);if(m.whitespaceOnlyFile){A.push(`- ${P.path}: only whitespace-only changes were detected.`);continue}if(m.whitespaceOnlyHunksOmitted>0)x.push(`${P.path}: omitted ${m.whitespaceOnlyHunksOmitted} whitespace-only hunk(s).`);if(m.droppedLowImportanceHunks>0)x.push(`${P.path}: dropped ${m.droppedLowImportanceHunks} low-importance hunk(s) to fit budget.`);if(m.hardTrimmed)x.push(`${P.path}: noisy diff still exceeded budget and was hard-trimmed to ${J} chars.`);if(P.category==="rename")G.push(m.text);else I.push(m.text);continue}let c=V.get(P.path)||(P.oldPath?V.get(P.oldPath):void 0);if(!c)continue;let v=P.category==="noisy",J0=hM(c,D,v?J:Q,v);if(J0.whitespaceOnlyFile){A.push(`- ${P.path}: only whitespace-only changes were detected.`);continue}if(J0.whitespaceOnlyHunksOmitted>0)x.push(`${P.path}: omitted ${J0.whitespaceOnlyHunksOmitted} whitespace-only hunk(s).`);if(J0.droppedLowImportanceHunks>0)x.push(`${P.path}: dropped ${J0.droppedLowImportanceHunks} low-importance hunk(s) to fit budget.`);if(J0.hardTrimmed)x.push(`${P.path}: noisy diff still exceeded budget and was hard-trimmed to ${J} chars.`);if(v)w.push(J0.text);else N.push(J0.text)}let T=U.stdout.trim(),S={normal:_.filter((P)=>P.category==="normal").length,noisy:_.filter((P)=>P.category==="noisy").length,binary:_.filter((P)=>P.category==="binary").length,copy:_.filter((P)=>P.category==="copy").length,rename:_.filter((P)=>P.category==="rename").length},y=_.map((P)=>jv(P)),g=["<summary-help-text>","This summary includes trimmed diffs, file-level stats, and other metadata, constructed by analyzing raw git diff. Changes are classified into the following categories:","- normal: text files with typical changes","- noisy: text files that usually don't contain meaningful changes (e.g. lockfiles, minified files)","- binary: non-text files where content changes cannot be meaningfully summarized in text","- rename: files detected as renames/moves (includes similarity score and drift percentage)","- copy: files detected as copies (includes similarity score and drift percentage)","</summary-help-text>","","<changes-overview>",T?`- shortstat: ${T}`:"- shortstat: (empty)",`- files: total=${_.length}, normal=${S.normal}, noisy=${S.noisy}, binary=${S.binary}, renames=${S.rename}, copies=${S.copy}`,"</changes-overview>","","<file-stats>",...y,"</file-stats>"];if(A.length>0)g.push("","<whitespace-only-changes>",...A,"</whitespace-only-changes>");if(G.length>0)g.push("","<rename-diffs>",...G,"</rename-diffs>");if(I.length>0)g.push("","<copy-diffs>",...I,"</copy-diffs>");if(N.length>0)g.push("","<normal-text-diffs>",...N,"</normal-text-diffs>");if(w.length>0)g.push("","<noisy-text-diffs>",...w,"</noisy-text-diffs>");if(x.length>0)g.push("","<system-notes>",...x.map((P)=>`- ${P}`),"</system-notes>");return{hasChanges:!0,summary:g.join(`
825
- `)}}function Bv(Z){let Y=Z.split("\x00").filter((J)=>J.length>0),Q=[];for(let J=0;J<Y.length;){let q=Y[J++];if(!q)break;if(q.startsWith("R")||q.startsWith("C")){let z=Y[J++],W=Y[J++];if(!z||!W)break;Q.push({status:q,path:W,oldPath:z});continue}let X=Y[J++];if(!X)break;Q.push({status:q,path:X})}return Q}function $v(Z,Y){let Q=Z.split("\x00"),J=new Map;for(let q=0;q<Q.length;q++){let X=Q[q];if(!X)continue;let z=X.match(/^(-|\d+)\t(-|\d+)\t(.+)$/);if(z){let V=z[1],D=z[2],_=z[3];J.set(_,{added:V==="-"?null:parseInt(V,10),deleted:D==="-"?null:parseInt(D,10),isBinary:V==="-"||D==="-"});continue}let W=X.match(/^(-|\d+)\t(-|\d+)\t$/);if(!W)continue;let U=W[1],K=W[2],B=Q[q+1],$=Q[q+2];if(!B||!$)continue;let F=Y.get(B)||[],O=F.includes($)?$:F.length===1?F[0]:$;q+=2,J.set(O,{added:U==="-"?null:parseInt(U,10),deleted:K==="-"?null:parseInt(K,10),isBinary:U==="-"||K==="-"})}return J}function Fv(Z){let Y=new Map,Q=Z.split(/\r?\n/);for(let J of Q){let q=J.match(/^\s*(.+?)\s+\|\s+Bin\s+(\d+)\s+->\s+(\d+)\s+bytes\s*$/);if(!q)continue;let X=q[1].trim(),z=parseInt(q[2],10),W=parseInt(q[3],10),U=uM(X);Y.set(U,{beforeBytes:z,afterBytes:W})}return Y}function uM(Z){if(Z.includes("{")&&Z.includes("=>")&&Z.includes("}")){let Y=Z.indexOf("{"),Q=Z.indexOf("}",Y);if(Q>Y){let J=Z.slice(0,Y),q=Z.slice(Q+1),z=Z.slice(Y+1,Q).split("=>");if(z.length===2){let W=z[1].trim();return`${J}${W}${q}`.trim()}}}if(Z.includes("=>")){let Y=Z.split("=>");return Y[Y.length-1].trim()}return Z}function Vv(Z){let Y=kZ(Z),Q=new Map;for(let J of Y){let q={path:J.newFileName,oldPath:J.oldFileName,headerLines:[],hunks:[]},X=null,z=0,W=0;for(let U of J.lines){if(U.type==="header"){if(q.hunks.length===0)q.headerLines.push(U.content);continue}if(U.type==="hunk"){let K=Ov(U.content);if(!K)continue;X={oldStart:K.oldStart,newStart:K.newStart,lines:[]},q.hunks.push(X),z=K.oldStart,W=K.newStart;continue}if(!X)continue;if(U.type==="context"){X.lines.push({type:"context",content:U.content,oldCursorStart:z,newCursorStart:W}),z+=1,W+=1;continue}if(U.type==="delete"){X.lines.push({type:"delete",content:U.content,oldCursorStart:z,newCursorStart:W}),z+=1;continue}if(U.type==="add")X.lines.push({type:"add",content:U.content,oldCursorStart:z,newCursorStart:W}),W+=1}Q.set(q.path,q)}return Q}function Ov(Z){let Y=Z.match(/^@@\s+-(\d+)(?:,(\d+))?\s+\+(\d+)(?:,(\d+))?\s+@@/);if(!Y)return null;return{oldStart:parseInt(Y[1],10),oldCount:Y[2]?parseInt(Y[2],10):1,newStart:parseInt(Y[3],10),newCount:Y[4]?parseInt(Y[4],10):1}}function Dv(Z,Y,Q,J){return Z.map((q)=>{let X=Y.get(q.path)||(q.oldPath?Y.get(q.oldPath):void 0),z=Q.get(q.path)||(q.oldPath?Q.get(q.oldPath):void 0)||Q.get(uM(q.path)),W=q.status.startsWith("R"),U=q.status.startsWith("C"),K=Boolean(X?.isBinary),B;if(W)B="rename";else if(U)B="copy";else if(K)B="binary";else if(Nq(q.path,J))B="noisy";else B="normal";return{status:q.status,path:q.path,oldPath:q.oldPath,added:X?.added??0,deleted:X?.deleted??0,isBinary:K,binaryStat:z,category:B}})}function dM(Z){if(!Z.startsWith("R")&&!Z.startsWith("C"))return{similarityPercent:null,driftPercent:null};let Y=parseInt(Z.slice(1),10);if(isNaN(Y))return{similarityPercent:null,driftPercent:null};let Q=Math.min(100,Math.max(0,Y));return{similarityPercent:Q,driftPercent:100-Q}}function Mv(Z,Y){let Q=dM(Z);if(Q.driftPercent!=null)return Q.driftPercent>0;if(!Y)return!1;return Y.hunks.some((J)=>J.lines.some((q)=>q.type==="add"||q.type==="delete"))}function jv(Z){if(Z.category==="rename"||Z.category==="copy"){let Q=Z.category,J=dM(Z.status),q=J.driftPercent==null?"(similarity unknown)":J.driftPercent===0?"(identical)":`(drift ~${J.driftPercent}%)`;return`- ${Z.status[0]} [${Q}] ${Z.oldPath||Z.path} -> ${Z.path} ${q}`}if(Z.category==="binary"){let Q=Z.binaryStat?`${L6(Z.binaryStat.beforeBytes,1,1024)} -> ${L6(Z.binaryStat.afterBytes,1,1024)} bytes`:"binary size unavailable";return`- ${Z.status} [binary] ${Z.path} (${Q})`}let Y=Z.added==null||Z.deleted==null?"(line stats unavailable)":`(+${Z.added} -${Z.deleted})`;return`- ${Z.status} [${Z.category}] ${Z.path} ${Y}`}function hM(Z,Y,Q,J){if(Z.hunks.length===0){let $=_q(Z,[]);if(!J||$.length<=Q)return{text:$,whitespaceOnlyFile:!1,whitespaceOnlyHunksOmitted:0,droppedLowImportanceHunks:0,hardTrimmed:!1};return{text:$.slice(0,Q),whitespaceOnlyFile:!1,whitespaceOnlyHunksOmitted:0,droppedLowImportanceHunks:0,hardTrimmed:!0}}let q=[],X=0,z=!1;for(let $ of Z.hunks){let F=_v($.lines,Y),O=F.some((N)=>N.nonWhitespaceChange),V=F.some((N)=>N.whitespaceOnlyChange);if(!O&&V){X+=1;continue}z||=O;let D=Nv(F),_=Iv(D);for(let N of _){if(!N.some((I)=>I.type==="add"||I.type==="delete"))continue;let w=Lv(N),G=N.reduce((I,A)=>{if((A.type==="add"||A.type==="delete")&&A.nonWhitespaceChange)return I+1;return I},0);q.push({text:w,importance:G,size:w.length})}}if(!z)return{text:"",whitespaceOnlyFile:!0,whitespaceOnlyHunksOmitted:X,droppedLowImportanceHunks:0,hardTrimmed:!1};let W=0,U=[...q],K=_q(Z,U.map(($)=>$.text));if(K.length>Q&&U.length>0){let $=[...U].sort((F,O)=>{if(F.importance!==O.importance)return F.importance-O.importance;return O.size-F.size});while(K.length>Q&&U.length>0){let F=$.shift();if(!F)break;let O=U.indexOf(F);if(O===-1)continue;U.splice(O,1),W+=1,K=_q(Z,U.map((V)=>V.text))}}let B=!1;if(J&&K.length>Q)B=!0,K=K.slice(0,Q);return{text:K,whitespaceOnlyFile:!1,whitespaceOnlyHunksOmitted:X,droppedLowImportanceHunks:W,hardTrimmed:B}}function _v(Z,Y){let Q=Z.map((J)=>({...J}));for(let J=0;J<Q.length;J++){if(Q[J].type!=="add"&&Q[J].type!=="delete")continue;let q=J;while(J<Q.length&&(Q[J].type==="add"||Q[J].type==="delete"))J+=1;let X=Q.slice(q,J),z=X.filter((B)=>B.type==="delete"),W=X.filter((B)=>B.type==="add"),U=Math.min(z.length,W.length);for(let B=0;B<U;B++){let $=z[B],F=W[B];if(gM($.content,F.content,Y))$.whitespaceOnlyChange=!0,F.whitespaceOnlyChange=!0;else $.nonWhitespaceChange=!0,F.nonWhitespaceChange=!0}for(let B=U;B<z.length;B++)z[B].nonWhitespaceChange=!0;for(let B=U;B<W.length;B++)W[B].nonWhitespaceChange=!0;if(!X.some((B)=>B.nonWhitespaceChange)){let B=z.map((F)=>F.content).join(`
826
- `),$=W.map((F)=>F.content).join(`
827
- `);if(!gM(B,$,Y)){for(let F of z)F.nonWhitespaceChange=!0,F.whitespaceOnlyChange=!1;for(let F of W)F.nonWhitespaceChange=!0,F.whitespaceOnlyChange=!1}}J-=1}return Q}function gM(Z,Y,Q){if(Z===Y)return!1;if(!Q){let X=Z.replace(/\s+/g,""),z=Y.replace(/\s+/g,"");return X===z}let q=Q(Z,Y).filter((X)=>X.added||X.removed);if(q.length===0)return!1;return q.every((X)=>/^\s*$/.test(X.value))}function Nv(Z){let Y=new Set;for(let J=0;J<Z.length;J++){let q=Z[J];if(q.type==="context"){Y.add(J);continue}if(q.nonWhitespaceChange)Y.add(J)}for(let J=0;J<Z.length;J++){let q=Z[J];if(!(q.type==="add"||q.type==="delete")||!q.whitespaceOnlyChange)continue;let X=J;while(J<Z.length&&(Z[J].type==="add"||Z[J].type==="delete")&&Z[J].whitespaceOnlyChange)J+=1;let z=J-1,W=Z[X-1],U=Z[z+1],K=Boolean(W)&&(W.type==="add"||W.type==="delete")&&Boolean(W.nonWhitespaceChange),B=Boolean(U)&&(U.type==="add"||U.type==="delete")&&Boolean(U.nonWhitespaceChange);if(K)Y.add(X);if(B)Y.add(z);J-=1}let Q=[];for(let J of[...Y].sort((q,X)=>q-X))Q.push(Z[J]);return Q}function Iv(Z){if(Z.length===0)return[];let Y=[],Q=[Z[0]];for(let J=1;J<Z.length;J++){let q=Z[J-1],X=Z[J],z=q.oldCursorStart+(q.type==="add"?0:1),W=q.newCursorStart+(q.type==="delete"?0:1);if(X.oldCursorStart!==z||X.newCursorStart!==W){Y.push(Q),Q=[X];continue}Q.push(X)}if(Q.length>0)Y.push(Q);return Y}function Lv(Z){if(Z.length===0)return"";let Y=Z[0].oldCursorStart,Q=Z[0].newCursorStart,J=Z.reduce((W,U)=>W+(U.type==="add"?0:1),0),q=Z.reduce((W,U)=>W+(U.type==="delete"?0:1),0),X=`@@ -${mM(Y,J)} +${mM(Q,q)} @@`,z=Z.map((W)=>{if(W.type==="context")return` ${W.content}`;if(W.type==="add")return`+${W.content}`;return`-${W.content}`});return[X,...z].join(`
828
- `)}function mM(Z,Y){if(Y===1)return String(Z);return`${Z},${Y}`}function _q(Z,Y){return[...[`diff --git a/${Z.oldPath} b/${Z.path}`,...Z.headerLines],...Y].filter((q)=>q.length>0).join(`
829
- `)}function Nq(Z,Y){return Y.some((Q)=>Q(Z))}async function wv(){return fM??=(async()=>{try{let Z=await Promise.resolve().then(() => (Wq(),Hq));return Z.diffChars||Z.default?.diffChars||null}catch(Z){throw new o(`Failed to load diff module for whitespace-aware commit summary: ${o.from(Z).message}`,"DIFF_MODULE_LOAD_FAILED")}})(),await fM}var Uv=50000,Kv=1000,fM=null;var cM=j(()=>{z0();g0();xZ();$q();E1()});import Av from"path";import Gv from"crypto";function lM(Z){return Gv.createHash("sha256").update(Z).digest("hex").slice(0,16)}function J7(Z){return Z.slice(0,Kz)}function VQ(Z,Y){let Q=J7(Z),J=J7(Y),q=Math.max(Q.length,J.length,1),X=wX.LCSLength_of(Q,J);return q-X}function Cv(Z){if(Z.length===0)return null;if(Z.length===1)return J7(Z[0]);let Y=0,Q=Number.POSITIVE_INFINITY;for(let J=0;J<Z.length;J++){let q=0;for(let z=0;z<Z.length;z++){if(J===z)continue;q+=VQ(Z[J],Z[z])}let X=q/(Z.length-1);if(X<Q)Q=X,Y=J}return J7(Z[Y])}function Rv(Z,Y,Q){if(Z.length===0||Q<=0)return[];let J=Math.min(Q,Z.length),q=[],X=new Set,z=0,W=Number.POSITIVE_INFINITY;for(let K=0;K<Z.length;K++){let B=VQ(Y,Z[K].header);if(B<W)W=B,z=K}q.push(z),X.add(z);let U=new RX(Z.length*4+8,!0);while(U.True&&q.length<J){let K=-1,B=Number.NEGATIVE_INFINITY;for(let $=0;$<Z.length;$++){if(X.has($))continue;let F=Number.POSITIVE_INFINITY;for(let O of q){let V=VQ(Z[$].header,Z[O].header);if(V<F)F=V}if(F>B)B=F,K=$}if(K<0)break;q.push(K),X.add(K)}return q.map((K)=>Z[K])}function Tv(Z){return Z.split("\x1E").map((Y)=>Y.trim()).filter((Y)=>Y.length>0).map((Y)=>{let Q=Y.indexOf("\x00");if(Q===-1)return null;let J=Y.slice(0,Q).trim(),q=Y.slice(Q+1).trim();if(!J||!q)return null;return{hash:J,header:q}}).filter((Y)=>Y!==null)}async function kv(Z){R("");let Y=x0({message:"learning this repo's commit style...",animateGradient:!0});try{let Q=await k`${Z} log --no-merges -n ${Wz} --format=%H%x00%s%x1e`,J=Tv(Q.stdout);if(J.length===0)return Y.stop(),{guideline:null,historyCount:0};let q=J.slice(0,Math.min(Uz,J.length)),X=Cv(q.map((V)=>V.header));if(!X)return Y.stop(),{guideline:null,historyCount:0};let z=Rv(J,X,z2),W=z.map((V)=>V.hash),U=z.reduce((V,D)=>{return V+VQ(X,D.header)},0)/Math.max(z.length,1),K=new Set(z.map((V)=>J7(V.header))).size;if(M.debug(`Commit guideline sampling stats: pool50=${J.length}, medoidPool=${q.length}, selected=${z.length}, uniquePrefix28=${K}, avgDistanceToMedoid=${U.toFixed(2)}`,"commit"),M.debug(`Commit guideline medoid prefix(28): "${X}"`,"commit"),M.debug(`Commit guideline selected examples:
830
- ${z.map((V,D)=>`${D+1}. ${V.hash.slice(0,10)} ${V.header}`).join(`
831
- `)}`,"commit"),W.length===0)return Y.stop(),{guideline:null,historyCount:0};let $=(await k`${Z} show -s --format=%B%x00 ${W}`).stdout.split("\x00").map((V)=>V.trim()).filter((V)=>V.length>0).slice(0,z2);if($.length===0)return Y.stop(),{guideline:null,historyCount:0};let O=await(await d1()).generate({prompt:HD($),temperature:0.2,reasoning:"medium"});return Y.stop(),{guideline:O.trim(),historyCount:$.length}}catch(Q){Y.stop();let J=o.from(Q);return M.warn(`Failed to learn commit guidelines: ${J.message}`,"commit"),M.debug(`LLM error details: ${J}`,"commit"),{guideline:null,historyCount:0}}}async function Ev(Z,Y){let Q=await I0(),J=await b5(Z),q=await P5(Z),X=d0(J),z=Y.get("commit.guidelineCacheDays",30),W=z*24*60,U=q?lM(`remote:${q}`):"",K=lM(`path:${X}`),B=U?`commit.repoGuidelines.${U}`:"",$=`commit.repoGuidelines.${K}`;if(B){let N=await Q.get(B);if(N)return M.debug(`Using cached commit guidelines for remote ${q}`,"commit"),N}let F=await Q.get($);if(F){if(B)await Q.set(B,F,{maxAgeMinutes:W}),M.debug(`Promoted commit guidelines cache to remote ${q}`,"commit");else M.debug(`Using cached commit guidelines for ${X}`,"commit");return F}let{guideline:O,historyCount:V}=await kv(Z);if(!O||V===0)return M.warn("No commit history found in this repository. Falling back to comprehensive format.","commit"),null;if(V<5)M.warn(`Only ${V} commit(s) found in history. The learned guidelines may be less accurate.`,"commit");let D=B||$;await Q.set(D,O,{maxAgeMinutes:W});let _=B?`remote ${q}`:X;return M.debug(`Cached commit guidelines for ${_} (${z} days)`,"commit"),O}async function xv(Z){let{git$:Y,args:Q}=Z,J=Q.slice(2),q=J.popOption("--no-commit")!==null||J.popOption("-nc")!==null,X=J.popOption("--copy")!==null||J.popOption("-cp")!==null,z=J.popOption("--yes")!==null||J.popOption("-y")!==null,W=J.popOption("--preview")!==null,K=(J.popValue("--describe")||J.popValue("-d")||"").trim();if((Q.hasOption("--describe")||Q.hasOption("-d"))&&!K)M.warn("Ignoring --describe/-d because no description text was provided.","commit");let B=await K0(),$=B.get("llm.showThinking",!0),F=B.get("commit.commitPattern","inherit"),O=B.get("commit.noisyFiles",[]),V=Array.isArray(O)?O.filter((w)=>typeof w==="string"):[],D=x0({message:"compiling changes summary..."}),_=await pM(Y,{noisyPatterns:V});if(D.stop(),!_.hasChanges||_.summary.trim().length===0)return R(`${H.red}No staged changes found. Please stage your changes before generating a commit message.${H.reset}`),1;let N;if(F==="inherit"){let w=await Ev(Y,B);if(w)N=zD(_.summary,w,K);else N=b3(_.summary,K)}else N=b3(_.summary,K);if(W)return R(N),0;R(`${H.cyan}Generating commit message based on staged changes...${H.reset}
832
- `);try{let w=await d1(),G=x0({message:"connecting...",animateGradient:!1}),I=w.streamGenerate({prompt:N,temperature:0.14,reasoning:"low"}),A="",x=!1,T=!1,S="";for await(let c of I){if(c.error)return G.stop(),M.error(c.error.message+(c.error.cause?": "+c.error.cause:""),"commit"),M.debug(`LLM error details: ${o.from(c.error)}`,"commit"),1;if(c.thinkingChunk){if(!T){if(T=!0,G.options.animateGradient=!0,!$)G.options.message="reasoning..."}if($)S=(S+c.thinkingChunk.replace(/[\n\r]/g,"")).slice(-32),G.options.message=`reasoning... ${S.trim()}`;continue}if(c.chunk){if(!x)x=!0,G.stop(),R(`${H.cyan}Generated Commit Message:${H.reset}`);R(c.chunk,""),A+=c.chunk}}if(!A)return R(`
833
- `),M.error("Unable to generate commit message (empty response).","commit"),1;let y=A;A=A.replace(/(^\s*["'`]*|["'`]*\s*$)/g,"");let g=A.indexOf(`
834
- `);if(g!==-1){let c=A.slice(0,g),v=A.slice(g+1).trim();A=c+`
835
-
836
- `+t(v,72,{mode:"softboundary",redundancyLv:-1})}if(R5(y,A),R(""),q){if(z)M.warn("Ignoring --yes because --no-commit was requested.","commit");if(X)if(await G5(A))R(`${H.cyan}(message has been copied to clipboard)${H.reset}`);else M.warn("(failed to copy to clipboard)","commit");return 0}if(z){let c=A.split(/\n{2,}/).filter((J0)=>J0.trim().length>0),v=[];for(let J0 of c)v.push("-m",J0);return await T0`${Y} commit ${v} ${J}`.catch(f6),0}let P=Av.join(K6,`gdx_commit_msg_${Date.now()}.txt`);return await c0(P,A,"utf8"),await T0`${Y} commit -F ${P} --edit ${J}`.catch(f6),await $7(P).catch(f6),0}catch(w){return M.error(u(w,{color:!0}),"commit"),1}}var nM,oM;var Iq=j(()=>{U6();z0();g0();R0();P3();w0();v3();H0();b0();v0();$6();z8();X6();cM();o0();nM={auto:xv},oM={long:()=>{return t(Z0`
813
+ ${H.bright+d("OVERVIEW",E.Zinc400,E.Zinc100,0.2)+H.reset}
814
+ Manage gdx settings stored in the configuration file. The command supports listing all config values, getting the path to the currently loaded config file, and getting/setting individual keys. API keys and sensitive values are masked when displayed.
815
+
816
+ ${H.bright+d("COMMANDS",E.Zinc400,E.Zinc100,0.2)+H.reset}
817
+ - list: Prints flattened configuration with defaults and modified markers.
818
+ - path: Prints the path to the active config file used by gdx.
819
+ - <key> [value]: Get or set a config key. When setting, types are coerced based on the existing default value where possible.
820
+ `,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})},short:"View or modify gdx configuration settings.",usage:()=>{return t(Z0`
821
+ ${H.cyan}${R} gdx-config list${H.reset}
822
+ ${H.cyan}${R} gdx-config path${H.reset}
823
+ ${H.cyan}${R} gdx-config ${H.dim}<key> [value]${H.reset}
824
+
825
+ Examples:
826
+ ${H.cyan}${R} gdx-config list ${H.reset+H.dim}# List all config keys and values${H.reset}
827
+ ${H.cyan}${R} gdx-config editor.code true ${H.reset+H.dim}# Set value for a key${H.reset}
828
+ `,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},tM={$root:["list","path"]}});async function qj(Z,Y={}){let Q=Y.normalFileCharCap??hv,J=Y.noisyFileCharCap??gv,q=(Y.noisyPatterns||[...zJ]).map((x)=>KQ(x)).filter((x)=>Boolean(x));if(q.length===0)q.push(()=>!1);let[X,z,W,U,K]=await Promise.all([k`${Z} diff --cached --name-status -z -M -C --find-copies-harder`,k`${Z} diff --cached --numstat -z -M -C --find-copies-harder`,k`${Z} -c color.ui=never diff --cached --stat -M -C --find-copies-harder`,k`${Z} diff --cached --shortstat`,k`${Z} -c color.ui=never diff --cached --patch --no-ext-diff -M -C --find-copies-harder`]),B=mv(X.stdout);if(B.length===0)return{hasChanges:!1,summary:""};let $=new Map;for(let x of B)if(x.oldPath){let c=$.get(x.oldPath);if(c)c.push(x.path);else $.set(x.oldPath,[x.path])}let V=pv(z.stdout,$),D=uv(W.stdout),F=dv(K.stdout),O=await tv(),j=lv(B,V,D,q),_=[],L=[],A=[],I=[],G=[],P=[];for(let x of j){if(x.category==="binary")continue;if(x.category==="rename"||x.category==="copy"){let h=F.get(x.path)||(x.oldPath?F.get(x.oldPath):void 0);if(!nv(x.status,h))continue;if(!h)continue;let s=Pq(x.path,q)||(x.oldPath?Pq(x.oldPath,q):!1),m=Yj(h,O,s?J:Q,s);if(m.whitespaceOnlyFile){G.push(`- ${x.path}: only whitespace-only changes were detected.`);continue}if(m.whitespaceOnlyHunksOmitted>0)P.push(`${x.path}: omitted ${m.whitespaceOnlyHunksOmitted} whitespace-only hunk(s).`);if(m.droppedLowImportanceHunks>0)P.push(`${x.path}: dropped ${m.droppedLowImportanceHunks} low-importance hunk(s) to fit budget.`);if(m.hardTrimmed)P.push(`${x.path}: noisy diff still exceeded budget and was hard-trimmed to ${J} chars.`);if(x.category==="rename")A.push(m.text);else I.push(m.text);continue}let c=F.get(x.path)||(x.oldPath?F.get(x.oldPath):void 0);if(!c)continue;let v=x.category==="noisy",J0=Yj(c,O,v?J:Q,v);if(J0.whitespaceOnlyFile){G.push(`- ${x.path}: only whitespace-only changes were detected.`);continue}if(J0.whitespaceOnlyHunksOmitted>0)P.push(`${x.path}: omitted ${J0.whitespaceOnlyHunksOmitted} whitespace-only hunk(s).`);if(J0.droppedLowImportanceHunks>0)P.push(`${x.path}: dropped ${J0.droppedLowImportanceHunks} low-importance hunk(s) to fit budget.`);if(J0.hardTrimmed)P.push(`${x.path}: noisy diff still exceeded budget and was hard-trimmed to ${J} chars.`);if(v)L.push(J0.text);else _.push(J0.text)}let T=U.stdout.trim(),S={normal:j.filter((x)=>x.category==="normal").length,noisy:j.filter((x)=>x.category==="noisy").length,binary:j.filter((x)=>x.category==="binary").length,copy:j.filter((x)=>x.category==="copy").length,rename:j.filter((x)=>x.category==="rename").length},y=j.map((x)=>ov(x)),g=["<summary-help-text>","This summary includes trimmed diffs, file-level stats, and other metadata, constructed by analyzing raw git diff. Changes are classified into the following categories:","- normal: text files with typical changes","- noisy: text files that usually don't contain meaningful changes (e.g. lockfiles, minified files)","- binary: non-text files where content changes cannot be meaningfully summarized in text","- rename: files detected as renames/moves (includes similarity score and drift percentage)","- copy: files detected as copies (includes similarity score and drift percentage)","</summary-help-text>","","<changes-overview>",T?`- shortstat: ${T}`:"- shortstat: (empty)",`- files: total=${j.length}, normal=${S.normal}, noisy=${S.noisy}, binary=${S.binary}, renames=${S.rename}, copies=${S.copy}`,"</changes-overview>","","<file-stats>",...y,"</file-stats>"];if(G.length>0)g.push("","<whitespace-only-changes>",...G,"</whitespace-only-changes>");if(A.length>0)g.push("","<rename-diffs>",...A,"</rename-diffs>");if(I.length>0)g.push("","<copy-diffs>",...I,"</copy-diffs>");if(_.length>0)g.push("","<normal-text-diffs>",..._,"</normal-text-diffs>");if(L.length>0)g.push("","<noisy-text-diffs>",...L,"</noisy-text-diffs>");if(P.length>0)g.push("","<system-notes>",...P.map((x)=>`- ${x}`),"</system-notes>");return{hasChanges:!0,summary:g.join(`
829
+ `)}}function mv(Z){let Y=Z.split("\x00").filter((J)=>J.length>0),Q=[];for(let J=0;J<Y.length;){let q=Y[J++];if(!q)break;if(q.startsWith("R")||q.startsWith("C")){let z=Y[J++],W=Y[J++];if(!z||!W)break;Q.push({status:q,path:W,oldPath:z});continue}let X=Y[J++];if(!X)break;Q.push({status:q,path:X})}return Q}function pv(Z,Y){let Q=Z.split("\x00"),J=new Map;for(let q=0;q<Q.length;q++){let X=Q[q];if(!X)continue;let z=X.match(/^(-|\d+)\t(-|\d+)\t(.+)$/);if(z){let F=z[1],O=z[2],j=z[3];J.set(j,{added:F==="-"?null:parseInt(F,10),deleted:O==="-"?null:parseInt(O,10),isBinary:F==="-"||O==="-"});continue}let W=X.match(/^(-|\d+)\t(-|\d+)\t$/);if(!W)continue;let U=W[1],K=W[2],B=Q[q+1],$=Q[q+2];if(!B||!$)continue;let V=Y.get(B)||[],D=V.includes($)?$:V.length===1?V[0]:$;q+=2,J.set(D,{added:U==="-"?null:parseInt(U,10),deleted:K==="-"?null:parseInt(K,10),isBinary:U==="-"||K==="-"})}return J}function uv(Z){let Y=new Map,Q=Z.split(/\r?\n/);for(let J of Q){let q=J.match(/^\s*(.+?)\s+\|\s+Bin\s+(\d+)\s+->\s+(\d+)\s+bytes\s*$/);if(!q)continue;let X=q[1].trim(),z=parseInt(q[2],10),W=parseInt(q[3],10),U=Xj(X);Y.set(U,{beforeBytes:z,afterBytes:W})}return Y}function Xj(Z){if(Z.includes("{")&&Z.includes("=>")&&Z.includes("}")){let Y=Z.indexOf("{"),Q=Z.indexOf("}",Y);if(Q>Y){let J=Z.slice(0,Y),q=Z.slice(Q+1),z=Z.slice(Y+1,Q).split("=>");if(z.length===2){let W=z[1].trim();return`${J}${W}${q}`.trim()}}}if(Z.includes("=>")){let Y=Z.split("=>");return Y[Y.length-1].trim()}return Z}function dv(Z){let Y=PZ(Z),Q=new Map;for(let J of Y){let q={path:J.newFileName,oldPath:J.oldFileName,headerLines:[],hunks:[]},X=null,z=0,W=0;for(let U of J.lines){if(U.type==="header"){if(q.hunks.length===0)q.headerLines.push(U.content);continue}if(U.type==="hunk"){let K=cv(U.content);if(!K)continue;X={oldStart:K.oldStart,newStart:K.newStart,lines:[]},q.hunks.push(X),z=K.oldStart,W=K.newStart;continue}if(!X)continue;if(U.type==="context"){X.lines.push({type:"context",content:U.content,oldCursorStart:z,newCursorStart:W}),z+=1,W+=1;continue}if(U.type==="delete"){X.lines.push({type:"delete",content:U.content,oldCursorStart:z,newCursorStart:W}),z+=1;continue}if(U.type==="add")X.lines.push({type:"add",content:U.content,oldCursorStart:z,newCursorStart:W}),W+=1}Q.set(q.path,q)}return Q}function cv(Z){let Y=Z.match(/^@@\s+-(\d+)(?:,(\d+))?\s+\+(\d+)(?:,(\d+))?\s+@@/);if(!Y)return null;return{oldStart:parseInt(Y[1],10),oldCount:Y[2]?parseInt(Y[2],10):1,newStart:parseInt(Y[3],10),newCount:Y[4]?parseInt(Y[4],10):1}}function lv(Z,Y,Q,J){return Z.map((q)=>{let X=Y.get(q.path)||(q.oldPath?Y.get(q.oldPath):void 0),z=Q.get(q.path)||(q.oldPath?Q.get(q.oldPath):void 0)||Q.get(Xj(q.path)),W=q.status.startsWith("R"),U=q.status.startsWith("C"),K=Boolean(X?.isBinary),B;if(W)B="rename";else if(U)B="copy";else if(K)B="binary";else if(Pq(q.path,J))B="noisy";else B="normal";return{status:q.status,path:q.path,oldPath:q.oldPath,added:X?.added??0,deleted:X?.deleted??0,isBinary:K,binaryStat:z,category:B}})}function zj(Z){if(!Z.startsWith("R")&&!Z.startsWith("C"))return{similarityPercent:null,driftPercent:null};let Y=parseInt(Z.slice(1),10);if(isNaN(Y))return{similarityPercent:null,driftPercent:null};let Q=Math.min(100,Math.max(0,Y));return{similarityPercent:Q,driftPercent:100-Q}}function nv(Z,Y){let Q=zj(Z);if(Q.driftPercent!=null)return Q.driftPercent>0;if(!Y)return!1;return Y.hunks.some((J)=>J.lines.some((q)=>q.type==="add"||q.type==="delete"))}function ov(Z){if(Z.category==="rename"||Z.category==="copy"){let Q=Z.category,J=zj(Z.status),q=J.driftPercent==null?"(similarity unknown)":J.driftPercent===0?"(identical)":`(drift ~${J.driftPercent}%)`;return`- ${Z.status[0]} [${Q}] ${Z.oldPath||Z.path} -> ${Z.path} ${q}`}if(Z.category==="binary"){let Q=Z.binaryStat?`${w6(Z.binaryStat.beforeBytes,1,1024)} -> ${w6(Z.binaryStat.afterBytes,1,1024)} bytes`:"binary size unavailable";return`- ${Z.status} [binary] ${Z.path} (${Q})`}let Y=Z.added==null||Z.deleted==null?"(line stats unavailable)":`(+${Z.added} -${Z.deleted})`;return`- ${Z.status} [${Z.category}] ${Z.path} ${Y}`}function Yj(Z,Y,Q,J){if(Z.hunks.length===0){let $=Eq(Z,[]);if(!J||$.length<=Q)return{text:$,whitespaceOnlyFile:!1,whitespaceOnlyHunksOmitted:0,droppedLowImportanceHunks:0,hardTrimmed:!1};return{text:$.slice(0,Q),whitespaceOnlyFile:!1,whitespaceOnlyHunksOmitted:0,droppedLowImportanceHunks:0,hardTrimmed:!0}}let q=[],X=0,z=!1;for(let $ of Z.hunks){let V=iv($.lines,Y),D=V.some((_)=>_.nonWhitespaceChange),F=V.some((_)=>_.whitespaceOnlyChange);if(!D&&F){X+=1;continue}z||=D;let O=sv(V),j=av(O);for(let _ of j){if(!_.some((I)=>I.type==="add"||I.type==="delete"))continue;let L=rv(_),A=_.reduce((I,G)=>{if((G.type==="add"||G.type==="delete")&&G.nonWhitespaceChange)return I+1;return I},0);q.push({text:L,importance:A,size:L.length})}}if(!z)return{text:"",whitespaceOnlyFile:!0,whitespaceOnlyHunksOmitted:X,droppedLowImportanceHunks:0,hardTrimmed:!1};let W=0,U=[...q],K=Eq(Z,U.map(($)=>$.text));if(K.length>Q&&U.length>0){let $=[...U].sort((V,D)=>{if(V.importance!==D.importance)return V.importance-D.importance;return D.size-V.size});while(K.length>Q&&U.length>0){let V=$.shift();if(!V)break;let D=U.indexOf(V);if(D===-1)continue;U.splice(D,1),W+=1,K=Eq(Z,U.map((F)=>F.text))}}let B=!1;if(J&&K.length>Q)B=!0,K=K.slice(0,Q);return{text:K,whitespaceOnlyFile:!1,whitespaceOnlyHunksOmitted:X,droppedLowImportanceHunks:W,hardTrimmed:B}}function iv(Z,Y){let Q=Z.map((J)=>({...J}));for(let J=0;J<Q.length;J++){if(Q[J].type!=="add"&&Q[J].type!=="delete")continue;let q=J;while(J<Q.length&&(Q[J].type==="add"||Q[J].type==="delete"))J+=1;let X=Q.slice(q,J),z=X.filter((B)=>B.type==="delete"),W=X.filter((B)=>B.type==="add"),U=Math.min(z.length,W.length);for(let B=0;B<U;B++){let $=z[B],V=W[B];if(Qj($.content,V.content,Y))$.whitespaceOnlyChange=!0,V.whitespaceOnlyChange=!0;else $.nonWhitespaceChange=!0,V.nonWhitespaceChange=!0}for(let B=U;B<z.length;B++)z[B].nonWhitespaceChange=!0;for(let B=U;B<W.length;B++)W[B].nonWhitespaceChange=!0;if(!X.some((B)=>B.nonWhitespaceChange)){let B=z.map((V)=>V.content).join(`
830
+ `),$=W.map((V)=>V.content).join(`
831
+ `);if(!Qj(B,$,Y)){for(let V of z)V.nonWhitespaceChange=!0,V.whitespaceOnlyChange=!1;for(let V of W)V.nonWhitespaceChange=!0,V.whitespaceOnlyChange=!1}}J-=1}return Q}function Qj(Z,Y,Q){if(Z===Y)return!1;if(!Q){let X=Z.replace(/\s+/g,""),z=Y.replace(/\s+/g,"");return X===z}let q=Q(Z,Y).filter((X)=>X.added||X.removed);if(q.length===0)return!1;return q.every((X)=>/^\s*$/.test(X.value))}function sv(Z){let Y=new Set;for(let J=0;J<Z.length;J++){let q=Z[J];if(q.type==="context"){Y.add(J);continue}if(q.nonWhitespaceChange)Y.add(J)}for(let J=0;J<Z.length;J++){let q=Z[J];if(!(q.type==="add"||q.type==="delete")||!q.whitespaceOnlyChange)continue;let X=J;while(J<Z.length&&(Z[J].type==="add"||Z[J].type==="delete")&&Z[J].whitespaceOnlyChange)J+=1;let z=J-1,W=Z[X-1],U=Z[z+1],K=Boolean(W)&&(W.type==="add"||W.type==="delete")&&Boolean(W.nonWhitespaceChange),B=Boolean(U)&&(U.type==="add"||U.type==="delete")&&Boolean(U.nonWhitespaceChange);if(K)Y.add(X);if(B)Y.add(z);J-=1}let Q=[];for(let J of[...Y].sort((q,X)=>q-X))Q.push(Z[J]);return Q}function av(Z){if(Z.length===0)return[];let Y=[],Q=[Z[0]];for(let J=1;J<Z.length;J++){let q=Z[J-1],X=Z[J],z=q.oldCursorStart+(q.type==="add"?0:1),W=q.newCursorStart+(q.type==="delete"?0:1);if(X.oldCursorStart!==z||X.newCursorStart!==W){Y.push(Q),Q=[X];continue}Q.push(X)}if(Q.length>0)Y.push(Q);return Y}function rv(Z){if(Z.length===0)return"";let Y=Z[0].oldCursorStart,Q=Z[0].newCursorStart,J=Z.reduce((W,U)=>W+(U.type==="add"?0:1),0),q=Z.reduce((W,U)=>W+(U.type==="delete"?0:1),0),X=`@@ -${Jj(Y,J)} +${Jj(Q,q)} @@`,z=Z.map((W)=>{if(W.type==="context")return` ${W.content}`;if(W.type==="add")return`+${W.content}`;return`-${W.content}`});return[X,...z].join(`
832
+ `)}function Jj(Z,Y){if(Y===1)return String(Z);return`${Z},${Y}`}function Eq(Z,Y){return[...[`diff --git a/${Z.oldPath} b/${Z.path}`,...Z.headerLines],...Y].filter((q)=>q.length>0).join(`
833
+ `)}function Pq(Z,Y){return Y.some((Q)=>Q(Z))}async function tv(){return Zj??=(async()=>{try{return(await Promise.resolve().then(() => (Dq(),Oq))).diffChars}catch(Z){throw new o(`Failed to load diff module for whitespace-aware commit summary: ${o.from(Z).message}`,"DIFF_MODULE_LOAD_FAILED")}})(),await Zj}var hv=50000,gv=1000,Zj=null;var Hj=N(()=>{z0();m0();bZ();wq();x1()});import ev from"path";import ZS from"crypto";function Wj(Z){return ZS.createHash("sha256").update(Z).digest("hex").slice(0,16)}function z7(Z){return Z.slice(0,Iz)}function _Q(Z,Y){let Q=z7(Z),J=z7(Y),q=Math.max(Q.length,J.length,1),X=vX.LCSLength_of(Q,J);return q-X}function YS(Z){if(Z.length===0)return null;if(Z.length===1)return z7(Z[0]);let Y=0,Q=Number.POSITIVE_INFINITY;for(let J=0;J<Z.length;J++){let q=0;for(let z=0;z<Z.length;z++){if(J===z)continue;q+=_Q(Z[J],Z[z])}let X=q/(Z.length-1);if(X<Q)Q=X,Y=J}return z7(Z[Y])}function QS(Z,Y,Q){if(Z.length===0||Q<=0)return[];let J=Math.min(Q,Z.length),q=[],X=new Set,z=0,W=Number.POSITIVE_INFINITY;for(let K=0;K<Z.length;K++){let B=_Q(Y,Z[K].header);if(B<W)W=B,z=K}q.push(z),X.add(z);let U=new hX(Z.length*4+8,!0);while(U.True&&q.length<J){let K=-1,B=Number.NEGATIVE_INFINITY;for(let $=0;$<Z.length;$++){if(X.has($))continue;let V=Number.POSITIVE_INFINITY;for(let D of q){let F=_Q(Z[$].header,Z[D].header);if(F<V)V=F}if(V>B)B=V,K=$}if(K<0)break;q.push(K),X.add(K)}return q.map((K)=>Z[K])}function JS(Z){return Z.split("\x1E").map((Y)=>Y.trim()).filter((Y)=>Y.length>0).map((Y)=>{let Q=Y.indexOf("\x00");if(Q===-1)return null;let J=Y.slice(0,Q).trim(),q=Y.slice(Q+1).trim();if(!J||!q)return null;return{hash:J,header:q}}).filter((Y)=>Y!==null)}async function qS(Z){C("");let Y=P0({message:"learning this repo's commit style...",animateGradient:!0});try{let Q=await k`${Z} log --no-merges -n ${_z} --format=%H%x00%s%x1e`,J=JS(Q.stdout);if(J.length===0)return Y.stop(),{guideline:null,historyCount:0};let q=J.slice(0,Math.min(Nz,J.length)),X=YS(q.map((F)=>F.header));if(!X)return Y.stop(),{guideline:null,historyCount:0};let z=QS(J,X,F2),W=z.map((F)=>F.hash),U=z.reduce((F,O)=>{return F+_Q(X,O.header)},0)/Math.max(z.length,1),K=new Set(z.map((F)=>z7(F.header))).size;if(M.debug(`Commit guideline sampling stats: pool50=${J.length}, medoidPool=${q.length}, selected=${z.length}, uniquePrefix28=${K}, avgDistanceToMedoid=${U.toFixed(2)}`,"commit"),M.debug(`Commit guideline medoid prefix(28): "${X}"`,"commit"),M.debug(`Commit guideline selected examples:
834
+ ${z.map((F,O)=>`${O+1}. ${F.hash.slice(0,10)} ${F.header}`).join(`
835
+ `)}`,"commit"),W.length===0)return Y.stop(),{guideline:null,historyCount:0};let $=(await k`${Z} show -s --format=%B%x00 ${W}`).stdout.split("\x00").map((F)=>F.trim()).filter((F)=>F.length>0).slice(0,F2);if($.length===0)return Y.stop(),{guideline:null,historyCount:0};let D=await(await n1()).generate({prompt:jD($),temperature:0.2,reasoning:"medium"});return Y.stop(),{guideline:D.trim(),historyCount:$.length}}catch(Q){Y.stop();let J=o.from(Q);return M.warn(`Failed to learn commit guidelines: ${J.message}`,"commit"),M.debug(`LLM error details: ${J}`,"commit"),{guideline:null,historyCount:0}}}async function XS(Z,Y){let Q=await I0(),J=await y5(Z),q=await S5(Z),X=d0(J),z=Y.get("commit.guidelineCacheDays",30),W=z*24*60,U=q?Wj(`remote:${q}`):"",K=Wj(`path:${X}`),B=U?`commit.repoGuidelines.${U}`:"",$=`commit.repoGuidelines.${K}`;if(B){let _=await Q.get(B);if(_)return M.debug(`Using cached commit guidelines for remote ${q}`,"commit"),_}let V=await Q.get($);if(V){if(B)await Q.set(B,V,{maxAgeMinutes:W}),M.debug(`Promoted commit guidelines cache to remote ${q}`,"commit");else M.debug(`Using cached commit guidelines for ${X}`,"commit");return V}let{guideline:D,historyCount:F}=await qS(Z);if(!D||F===0)return M.warn("No commit history found in this repository. Falling back to comprehensive format.","commit"),null;if(F<5)M.warn(`Only ${F} commit(s) found in history. The learned guidelines may be less accurate.`,"commit");let O=B||$;await Q.set(O,D,{maxAgeMinutes:W});let j=B?`remote ${q}`:X;return M.debug(`Cached commit guidelines for ${j} (${z} days)`,"commit"),D}async function zS(Z){let{git$:Y,args:Q}=Z,J=Q.slice(2),q=J.popOption("--no-commit")!==null||J.popOption("-nc")!==null,X=J.popOption("--copy")!==null||J.popOption("-cp")!==null,z=J.popOption("--yes")!==null||J.popOption("-y")!==null,W=J.popOption("--preview")!==null,K=(J.popValue("--describe")||J.popValue("-d")||"").trim();if((Q.hasOption("--describe")||Q.hasOption("-d"))&&!K)M.warn("Ignoring --describe/-d because no description text was provided.","commit");let B=await K0(),$=B.get("llm.showThinking",!0),V=B.get("commit.commitPattern","inherit"),D=B.get("commit.noisyFiles",[]),F=Array.isArray(D)?D.filter((L)=>typeof L==="string"):[],O=P0({message:"compiling changes summary..."}),j=await qj(Y,{noisyPatterns:F});if(O.stop(),!j.hasChanges||j.summary.trim().length===0)return C(`${H.red}No staged changes found. Please stage your changes before generating a commit message.${H.reset}`),1;let _;if(V==="inherit"){let L=await XS(Y,B);if(L)_=MD(j.summary,L,K);else _=pJ(j.summary,K)}else _=pJ(j.summary,K);if(W)return C(_),0;C(`${H.cyan}Generating commit message based on staged changes...${H.reset}
836
+ `);try{let L=await n1(),A=P0({message:"connecting...",animateGradient:!1}),I=L.streamGenerate({prompt:_,temperature:0.14,reasoning:"low"}),G="",P=!1,T=!1,S="";for await(let c of I){if(c.error)return A.stop(),M.error(c.error.message+(c.error.cause?": "+c.error.cause:""),"commit"),M.debug(`LLM error details: ${o.from(c.error)}`,"commit"),1;if(c.thinkingChunk){if(!T){if(T=!0,A.options.animateGradient=!0,!$)A.options.message="reasoning..."}if($)S=(S+c.thinkingChunk.replace(/[\n\r]/g,"")).slice(-32),A.options.message=`reasoning... ${S.trim()}`;continue}if(c.chunk){if(!P)P=!0,A.stop(),C(`${H.cyan}Generated Commit Message:${H.reset}`);C(c.chunk,""),G+=c.chunk}}if(!G)return C(`
837
+ `),M.error("Unable to generate commit message (empty response).","commit"),1;let y=G;G=G.replace(/(^\s*["'`]*|["'`]*\s*$)/g,"");let g=G.indexOf(`
838
+ `);if(g!==-1){let c=G.slice(0,g),v=G.slice(g+1).trim();G=c+`
839
+
840
+ `+t(v,72,{mode:"softboundary",redundancyLv:-1})}if(E5(y,G),C(""),q){if(z)M.warn("Ignoring --yes because --no-commit was requested.","commit");if(X)if(await T5(G))C(`${H.cyan}(message has been copied to clipboard)${H.reset}`);else M.warn("(failed to copy to clipboard)","commit");return 0}if(z){let c=G.split(/\n{2,}/).filter((J0)=>J0.trim().length>0),v=[];for(let J0 of c)v.push("-m",J0);return await E0`${Y} commit ${v} ${J}`.catch(h6),0}let x=ev.join(K6,`gdx_commit_msg_${Date.now()}.txt`);return await c0(x,G,"utf8"),await E0`${Y} commit -F ${x} --edit ${J}`.catch(h6),await O7(x).catch(h6),0}catch(L){return M.error(u(L,{color:!0}),"commit"),1}}var Uj,Kj;var xq=N(()=>{J6();z0();m0();R0();mJ();w0();uJ();H0();v0();S0();$6();W4();e0();Hj();s0();Uj={auto:zS},Kj={long:()=>{return t(Z0`
837
841
  ${H.bright+d("COMMIT AUTO",E.Zinc400,E.Zinc100,0.2)+H.reset}
838
842
  Generate a commit message from staged changes using an LLM.
839
843
 
@@ -846,16 +850,16 @@ ${z.map((V,D)=>`${D+1}. ${V.hash.slice(0,10)} ${V.header}`).join(`
846
850
  ${H.bright+d("REQUIREMENTS",E.Zinc400,E.Zinc100,0.2)+H.reset}
847
851
  A non-empty staged diff is required; the command will error if there are no staged changes.
848
852
  `,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})},short:"Extends git commit with ability to auto-generate messages using an LLM.",usage:()=>{return t(Z0`
849
- ${H.cyan}${C} commit auto ${H.dim}[--no-commit|-nc] [--copy|-cp] [--yes|-y] [--describe|-d <text>] [--preview]${H.reset}
853
+ ${H.cyan}${R} commit auto ${H.dim}[--no-commit|-nc] [--copy|-cp] [--yes|-y] [--describe|-d <text>] [--preview]${H.reset}
850
854
 
851
855
  Examples:
852
- ${H.cyan}${C} commit auto ${H.reset+H.dim}# Generate and commit using LLM-generated message${H.reset}
853
- ${H.cyan}${C} commit auto --no-commit ${H.reset+H.dim}# Print generated message without committing${H.reset}
854
- ${H.cyan}${C} commit auto --no-commit --copy ${H.reset+H.dim}# Copy generated message to clipboard${H.reset}
855
- ${H.cyan}${C} commit auto --yes ${H.reset+H.dim}# Commit immediately without editing${H.reset}
856
- ${H.cyan}${C} commit auto -d ${'"refactor parser + trim noisy lockfile diffs"'} ${H.reset+H.dim}# Add extra context for the LLM${H.reset}
857
- ${H.cyan}${C} commit auto --preview ${H.reset+H.dim}# Print full LLM prompt and exit${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}}});import Pv from"path";async function Lq(Z){let Y=Z.args[1]?.toLowerCase(),{match:Q,candidates:J}=f0(Y,["list","prune","reset","delete","disable","enable"]);switch(Q){case"list":return await vv();case"prune":return await bv();case"reset":return await Sv();case"delete":return await yv(Z.args.slice(2));case"disable":return await iM(!1);case"enable":return await iM(!0);default:if(J&&J.length>0)M.warn(`Ambiguous command '${Y}'. Did you mean one of: ${J.join(", ")}?`);return R(Aq.usage()),0}}async function bv(){let Z=null;try{Z=await wq()}catch(q){return M.error(u(q,{color:!0}),"cache"),1}if(!Z)return R(`${H.yellow}No valid cache found. Nothing to prune.${H.reset}`),0;let Y=Date.now(),Q=Object.entries(Z.entryMeta).filter(([,q])=>Y>q.expiresAt).map(([q])=>q),J=0;for(let q of Q)if(fv(Z,q))J++;if(Z.meta.lastPruneAt=Y,J>0)Z.meta.updatedAt=Y;if(await sM(Z),w5(),J>0)R(`${H.green}Pruned ${J} expired cache entries.${H.reset}`);else R(`${H.cyan}No expired cache entries found.${H.reset}`);return 0}async function vv(){let Z=null;try{Z=await wq()}catch(Q){return M.error(u(Q,{color:!0}),"cache"),1}if(!Z)return R(`${H.yellow}No valid cache found. Nothing to list.${H.reset}`),0;let Y=Object.keys(Z.entryMeta).sort((Q,J)=>{let q=Z.entryMeta[Q],X=Z.entryMeta[J];return(q?.expiresAt??0)-(X?.expiresAt??0)||Q.localeCompare(J)});if(Y.length===0)return R(`${H.yellow}No cache keys found.${H.reset}`),0;R(`${H.cyan}Cache:${H.reset} ${h6} ${H.dim}(${Y.length} keys)${H.reset}
858
- `);for(let Q of Y){let J=Z.entryMeta[Q];if(!J)continue;let q=J.expiresAt-Date.now(),X=q<=0?"expired":J.expiresAt>=Number.MAX_SAFE_INTEGER?"N/A":y4.getTimeFromMS(q).modern(),z=H.green;if(q<=0)z=H.dim;else if(q<3600000)z=H.red;else if(q<43200000)z=H.yellow;let W=hv(Z.data,Q),U=gv(W);R(`${H.cyan}${y0(Q,24,{align:"left",redundancyLv:-1,overflow:"collapse"})}${H.reset} ttl=${z}${y0(X,12,{align:"left",redundancyLv:-1,overflow:"visible"})}${H.reset} ${H.dim}preview=${U}${H.reset}`)}return 0}async function Sv(){try{let Z=l(h6);if(await j6(h6,{force:!0,recursive:!0}),w5(),!Z)return R(`${H.yellow}No valid cache found. Nothing to delete.${H.reset}`),0;let Y=l(h6)?`${H.yellow}Cache file not removed: ${h6}${H.reset}`:`${H.green}Cache file deleted: ${h6}${H.reset}`;return R(Y),0}catch(Z){return M.error(u(Z,{color:!0}),"cache"),1}}async function yv(Z){if(Z.length===0)return M.error("Usage: gdx cache delete <key|prefix> [more...]","cache"),1;let Y=null;try{Y=await wq()}catch(z){return M.error(u(z,{color:!0}),"cache"),1}if(!Y)return R(`${H.yellow}No valid cache found. Nothing to delete.${H.reset}`),0;let Q=Object.keys(Y.entryMeta),J=new Set;for(let z of Z){let W=z.trim();if(!W)continue;let U=W.endsWith(".")?W.slice(0,-1):W,K=U.length>0?`${U}.`:"";for(let B of Q)if(B===U||K&&B.startsWith(K))J.add(B)}if(J.size===0)return R(`${H.yellow}No matching cache keys found.${H.reset}`),0;let q=Date.now(),X=0;for(let z of J){let W=Y.entryMeta[z];if(!W)continue;W.expiresAt=q-1,W.updatedAt=q,X++}if(X>0)return Y.meta.updatedAt=q,await sM(Y),w5(),R(`${H.green}Marked ${X} cache entries as expired.${H.reset}`),0;return R(`${H.yellow}No matching cache keys found.${H.reset}`),0}async function iM(Z){let Y=await K0();await Y.set("cache.enabled",Z),await Y.save();let Q=Z?"enabled":"disabled";return R(`${H.green}Cache ${Q}.${H.reset}`),0}async function wq(){try{let Z=await p0(h6,"utf-8"),Y=JSON.parse(Z);try{_Z(I5,Y)}catch{return null}if(!Y.meta.lastPruneAt)Y.meta.lastPruneAt=Y.meta.updatedAt||Date.now();return Y}catch(Z){if(o.from(Z).code==="ENOENT")return null;throw Z}}async function sM(Z){let Y=Pv.dirname(h6);n0(Y,{recursive:!0}),await c0(h6,JSON.stringify(Z),"utf-8")}function fv(Z,Y){if(!Z.entryMeta[Y])return!1;delete Z.entryMeta[Y];let Q=Y.split("."),J=[],q=Z.data;for(let X of Q)if(q&&typeof q==="object"&&X in q)J.push({obj:q,key:X}),q=q[X];else return!1;if(J.length>0){let X=J[J.length-1];delete X.obj[X.key]}for(let X=J.length-2;X>=0;X--){let{obj:z,key:W}=J[X],U=z[W];if(U&&typeof U==="object"&&Object.keys(U).length===0)delete z[W];else break}return!0}function hv(Z,Y){let Q=Y.split("."),J=Z;for(let q of Q)if(J&&typeof J==="object"&&q in J)J=J[q];else return;return J}function gv(Z){if(typeof Z==="string")return`'${K8(Z.replace(/\s+/g," "),60,"mid",-1)}'`;if(typeof Z==="number"||typeof Z==="boolean"||Z==null)return String(Z);if(Array.isArray(Z)){let Y=K8(u(Z,{color:!1}),60,"mid",-1);return`[${Z.length}] ${Y}`}if(typeof Z==="object")return`{...} ${K8(u(Z,{color:!1}),60,"mid",-1)}`;return K8(String(Z),60,"mid",-1)}var Aq,aM;var OQ=j(()=>{z0();z8();$6();H0();v0();b0();U6();w0();R0();L5();o0();w8();Aq={long:()=>{return t(Z0`
856
+ ${H.cyan}${R} commit auto ${H.reset+H.dim}# Generate and commit using LLM-generated message${H.reset}
857
+ ${H.cyan}${R} commit auto --no-commit ${H.reset+H.dim}# Print generated message without committing${H.reset}
858
+ ${H.cyan}${R} commit auto --no-commit --copy ${H.reset+H.dim}# Copy generated message to clipboard${H.reset}
859
+ ${H.cyan}${R} commit auto --yes ${H.reset+H.dim}# Commit immediately without editing${H.reset}
860
+ ${H.cyan}${R} commit auto -d ${'"refactor parser + trim noisy lockfile diffs"'} ${H.reset+H.dim}# Add extra context for the LLM${H.reset}
861
+ ${H.cyan}${R} commit auto --preview ${H.reset+H.dim}# Print full LLM prompt and exit${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}}});import HS from"path";async function bq(Z){let Y=Z.args[1]?.toLowerCase(),{match:Q,candidates:J}=h0(Y,["list","prune","reset","delete","disable","enable"]);switch(Q){case"list":return await US();case"prune":return await WS();case"reset":return await KS();case"delete":return await BS(Z.args.slice(2));case"disable":return await Bj(!1);case"enable":return await Bj(!0);default:if(J&&J.length>0)M.warn(`Ambiguous command '${Y}'. Did you mean one of: ${J.join(", ")}?`);return C(Sq.usage()),0}}async function WS(){let Z=null;try{Z=await vq()}catch(q){return M.error(u(q,{color:!0}),"cache"),1}if(!Z)return C(`${H.yellow}No valid cache found. Nothing to prune.${H.reset}`),0;let Y=Date.now(),Q=Object.entries(Z.entryMeta).filter(([,q])=>Y>q.expiresAt).map(([q])=>q),J=0;for(let q of Q)if($S(Z,q))J++;if(Z.meta.lastPruneAt=Y,J>0)Z.meta.updatedAt=Y;if(await $j(Z),C5(),J>0)C(`${H.green}Pruned ${J} expired cache entries.${H.reset}`);else C(`${H.cyan}No expired cache entries found.${H.reset}`);return 0}async function US(){let Z=null;try{Z=await vq()}catch(Q){return M.error(u(Q,{color:!0}),"cache"),1}if(!Z)return C(`${H.yellow}No valid cache found. Nothing to list.${H.reset}`),0;let Y=Object.keys(Z.entryMeta).sort((Q,J)=>{let q=Z.entryMeta[Q],X=Z.entryMeta[J];return(q?.expiresAt??0)-(X?.expiresAt??0)||Q.localeCompare(J)});if(Y.length===0)return C(`${H.yellow}No cache keys found.${H.reset}`),0;C(`${H.cyan}Cache:${H.reset} ${g6} ${H.dim}(${Y.length} keys)${H.reset}
862
+ `);for(let Q of Y){let J=Z.entryMeta[Q];if(!J)continue;let q=J.expiresAt-Date.now(),X=q<=0?"expired":J.expiresAt>=Number.MAX_SAFE_INTEGER?"N/A":g8.getTimeFromMS(q).modern(),z=H.green;if(q<=0)z=H.dim;else if(q<3600000)z=H.red;else if(q<43200000)z=H.yellow;let W=FS(Z.data,Q),U=VS(W);C(`${H.cyan}${b0(Q,24,{align:"left",redundancyLv:-1,overflow:"collapse"})}${H.reset} ttl=${z}${b0(X,12,{align:"left",redundancyLv:-1,overflow:"visible"})}${H.reset} ${H.dim}preview=${U}${H.reset}`)}return 0}async function KS(){try{let Z=l(g6);if(await _6(g6,{force:!0,recursive:!0}),C5(),!Z)return C(`${H.yellow}No valid cache found. Nothing to delete.${H.reset}`),0;let Y=l(g6)?`${H.yellow}Cache file not removed: ${g6}${H.reset}`:`${H.green}Cache file deleted: ${g6}${H.reset}`;return C(Y),0}catch(Z){return M.error(u(Z,{color:!0}),"cache"),1}}async function BS(Z){if(Z.length===0)return M.error("Usage: gdx cache delete <key|prefix> [more...]","cache"),1;let Y=null;try{Y=await vq()}catch(z){return M.error(u(z,{color:!0}),"cache"),1}if(!Y)return C(`${H.yellow}No valid cache found. Nothing to delete.${H.reset}`),0;let Q=Object.keys(Y.entryMeta),J=new Set;for(let z of Z){let W=z.trim();if(!W)continue;let U=W.endsWith(".")?W.slice(0,-1):W,K=U.length>0?`${U}.`:"";for(let B of Q)if(B===U||K&&B.startsWith(K))J.add(B)}if(J.size===0)return C(`${H.yellow}No matching cache keys found.${H.reset}`),0;let q=Date.now(),X=0;for(let z of J){let W=Y.entryMeta[z];if(!W)continue;W.expiresAt=q-1,W.updatedAt=q,X++}if(X>0)return Y.meta.updatedAt=q,await $j(Y),C5(),C(`${H.green}Marked ${X} cache entries as expired.${H.reset}`),0;return C(`${H.yellow}No matching cache keys found.${H.reset}`),0}async function Bj(Z){let Y=await K0();await Y.set("cache.enabled",Z),await Y.save();let Q=Z?"enabled":"disabled";return C(`${H.green}Cache ${Q}.${H.reset}`),0}async function vq(){try{let Z=await f0(g6,"utf-8"),Y=JSON.parse(Z);try{LZ(A5,Y)}catch{return null}if(!Y.meta.lastPruneAt)Y.meta.lastPruneAt=Y.meta.updatedAt||Date.now();return Y}catch(Z){if(o.from(Z).code==="ENOENT")return null;throw Z}}async function $j(Z){let Y=HS.dirname(g6);i0(Y,{recursive:!0}),await c0(g6,JSON.stringify(Z),"utf-8")}function $S(Z,Y){if(!Z.entryMeta[Y])return!1;delete Z.entryMeta[Y];let Q=Y.split("."),J=[],q=Z.data;for(let X of Q)if(q&&typeof q==="object"&&X in q)J.push({obj:q,key:X}),q=q[X];else return!1;if(J.length>0){let X=J[J.length-1];delete X.obj[X.key]}for(let X=J.length-2;X>=0;X--){let{obj:z,key:W}=J[X],U=z[W];if(U&&typeof U==="object"&&Object.keys(U).length===0)delete z[W];else break}return!0}function FS(Z,Y){let Q=Y.split("."),J=Z;for(let q of Q)if(J&&typeof J==="object"&&q in J)J=J[q];else return;return J}function VS(Z){if(typeof Z==="string")return`'${B4(Z.replace(/\s+/g," "),60,"mid",-1)}'`;if(typeof Z==="number"||typeof Z==="boolean"||Z==null)return String(Z);if(Array.isArray(Z)){let Y=B4(u(Z,{color:!1}),60,"mid",-1);return`[${Z.length}] ${Y}`}if(typeof Z==="object")return`{...} ${B4(u(Z,{color:!1}),60,"mid",-1)}`;return B4(String(Z),60,"mid",-1)}var Sq,Fj;var NQ=N(()=>{z0();W4();$6();H0();S0();v0();J6();w0();R0();G5();s0();A4();Sq={long:()=>{return t(Z0`
859
863
  ${H.bright+d("CACHE",E.Zinc400,E.Zinc100,0.2)+H.reset}
860
864
  Manually manage gdx cache entries and settings.
861
865
 
@@ -866,20 +870,20 @@ ${z.map((V,D)=>`${D+1}. ${V.hash.slice(0,10)} ${V.header}`).join(`
866
870
  - delete: Mark cache entries as expired by key or prefix.
867
871
  - enable/disable: Toggle cache.enabled in gdx config.
868
872
  `,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})},short:"Manually manage gdx cache entries and settings.",usage:()=>{return t(Z0`
869
- ${H.cyan}${C} cache prune${H.reset}
870
- ${H.cyan}${C} cache reset${H.reset}
871
- ${H.cyan}${C} cache list${H.reset}
872
- ${H.cyan}${C} cache delete ${H.dim}<key|prefix> [more...]${H.reset}
873
- ${H.cyan}${C} cache enable${H.reset}
874
- ${H.cyan}${C} cache disable${H.reset}
873
+ ${H.cyan}${R} cache prune${H.reset}
874
+ ${H.cyan}${R} cache reset${H.reset}
875
+ ${H.cyan}${R} cache list${H.reset}
876
+ ${H.cyan}${R} cache delete ${H.dim}<key|prefix> [more...]${H.reset}
877
+ ${H.cyan}${R} cache enable${H.reset}
878
+ ${H.cyan}${R} cache disable${H.reset}
875
879
 
876
880
  Examples:
877
- ${H.cyan}${C} cache list ${H.reset+H.dim}# List cached keys with TTL${H.reset}
878
- ${H.cyan}${C} cache prune ${H.reset+H.dim}# Remove expired cache entries${H.reset}
879
- ${H.cyan}${C} cache reset ${H.reset+H.dim}# Delete cache file entirely${H.reset}
880
- ${H.cyan}${C} cache delete git git.config ${H.reset+H.dim}# Expire by key/prefix${H.reset}
881
- ${H.cyan}${C} cache disable ${H.reset+H.dim}# Turn caching off${H.reset}
882
- `,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},aM={$root:["list","prune","reset","delete","enable","disable"]}});var Zj={};b4(Zj,{spellCheckDocument:()=>mv,prettyFormatIssues:()=>uv,getBundledDictionaryNames:()=>pv});async function eM(){return rM??=import("cspell-lib"),await rM}async function mv(...Z){return await(await eM()).spellCheckDocument(...Z)}async function pv(){return tM??=(async()=>{let Y=await(await eM()).getDefaultBundledSettingsAsync(),Q=new Set,J=[],q=(X)=>{if(!X||Q.has(X))return;Q.add(X),J.push(X)};return Y.dictionaryDefinitions?.forEach((X)=>q(X.name)),Y.dictionaries?.forEach((X)=>q(X)),J})(),tM}function uv(Z,Y){if(Z.issues.length===0)return H.green+"✓ No spelling issues found!"+H.reset;let Q=H.yellow+`✗ Found ${Z.issues.length} spelling issue${Z.issues.length===1?"":"s"}:
881
+ ${H.cyan}${R} cache list ${H.reset+H.dim}# List cached keys with TTL${H.reset}
882
+ ${H.cyan}${R} cache prune ${H.reset+H.dim}# Remove expired cache entries${H.reset}
883
+ ${H.cyan}${R} cache reset ${H.reset+H.dim}# Delete cache file entirely${H.reset}
884
+ ${H.cyan}${R} cache delete git git.config ${H.reset+H.dim}# Expire by key/prefix${H.reset}
885
+ ${H.cyan}${R} cache disable ${H.reset+H.dim}# Turn caching off${H.reset}
886
+ `,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},Fj={$root:["list","prune","reset","delete","enable","disable"]}});var Mj={};y8(Mj,{spellCheckDocument:()=>OS,prettyFormatIssues:()=>MS,getBundledDictionaryNames:()=>DS});async function Dj(){return Vj??=import("cspell-lib"),await Vj}async function OS(...Z){return await(await Dj()).spellCheckDocument(...Z)}async function DS(){return Oj??=(async()=>{let Y=await(await Dj()).getDefaultBundledSettingsAsync(),Q=new Set,J=[],q=(X)=>{if(!X||Q.has(X))return;Q.add(X),J.push(X)};return Y.dictionaryDefinitions?.forEach((X)=>q(X.name)),Y.dictionaries?.forEach((X)=>q(X)),J})(),Oj}function MS(Z,Y){if(Z.issues.length===0)return H.green+"✓ No spelling issues found!"+H.reset;let Q=H.yellow+`✗ Found ${Z.issues.length} spelling issue${Z.issues.length===1?"":"s"}:
883
887
  `+H.reset;return Q+=H.dim+"─".repeat(60)+`
884
888
 
885
889
  `+H.reset,Z.issues.forEach((J,q)=>{let X=Y.substring(0,J.line.offset),z=X.length-X.replace(/\n/g,"").length,W=J.offset-J.line.offset;Q+=`${H.dim}${q+1}.${H.reset} ${H.cyan}Line ${z+1}${H.reset}, ${H.magenta}Col ${W+1}${H.reset}: ${H.red+H.bright}"${J.text}"${H.reset}
@@ -887,17 +891,17 @@ ${z.map((V,D)=>`${D+1}. ${V.hash.slice(0,10)} ${V.header}`).join(`
887
891
  `}if(J.suggestions?.length){let K=J.suggestions.slice(0,5).join(", ");Q+=` ${H.cyan}Suggestions:${H.reset} ${K}
888
892
  `}if(q<Z.issues.length-1)Q+=`
889
893
  `}),Q+=H.dim+"─".repeat(60)+H.reset+`
890
- `,Q}var rM=null,tM=null;var Yj=j(()=>{H0()});async function Gq(Z){let Q=A5().$,{git$:J}=Z;if(!await i8(J))return 1;let q=x0({message:"Initializing library..."}),{spellCheckDocument:X,prettyFormatIssues:z,getBundledDictionaryNames:W}=await Promise.resolve().then(() => (Yj(),Zj)),K=(await K0()).get("lint.maxFileSizeKb")||1024;q.options.message="Scanning commits...";let B=await M3(J)||"",$="";if(B)$=`${B}..HEAD`;else q.stop(),M.warn("No upstream configured. Checking last commit only.","lint"),$="HEAD^..HEAD",q.start();let F=0,O=0,[V,D,_]=await Promise.all([Q`${J} log --pretty=format:"%s\n%b$$\$___SEP___\$$$" ${$}`.then((N)=>N.stdout).catch(()=>""),Q`${J} diff ${$}`.then((N)=>N.stdout).catch(()=>""),Q`${J} diff --name-only ${$}`.then((N)=>N.stdout).catch(()=>"")]);if(V){q.options.message="Checking commit message spelling...";let N=await W(),w=V.split("$$$___SEP___$$$").filter((G)=>G.trim());for(let[G,I]of w.entries()){q.start(!1);let A=await X({uri:"commit-message",text:I,languageId:"plaintext",locale:"en"},{generateSuggestions:!0,noConfigSearch:!0,unknownWords:"report-common-typos"},{dictionaries:N});if(A.issues.length===0)continue;q.stop(),O+=A.issues.length,Qj("Spelling",`At HEAD~${G} found ${A.issues.length} potential spelling issue(s) in commit messages.
894
+ `,Q}var Vj=null,Oj=null;var jj=N(()=>{H0()});async function yq(Z){let Q=R5().$,{git$:J}=Z;if(!await r4(J))return 1;let q=P0({message:"Initializing library..."}),{spellCheckDocument:X,prettyFormatIssues:z,getBundledDictionaryNames:W}=await Promise.resolve().then(() => (jj(),Mj)),K=(await K0()).get("lint.maxFileSizeKb")||1024;q.options.message="Scanning commits...";let B=await GJ(J)||"",$="";if(B)$=`${B}..HEAD`;else q.stop(),M.warn("No upstream configured. Checking last commit only.","lint"),$="HEAD^..HEAD",q.start();let V=0,D=0,[F,O,j]=await Promise.all([Q`${J} log --pretty=format:"%s\n%b$$\$___SEP___\$$$" ${$}`.then((_)=>_.stdout).catch(()=>""),Q`${J} diff ${$}`.then((_)=>_.stdout).catch(()=>""),Q`${J} diff --name-only ${$}`.then((_)=>_.stdout).catch(()=>"")]);if(F){q.options.message="Checking commit message spelling...";let _=await W(),L=F.split("$$$___SEP___$$$").filter((A)=>A.trim());for(let[A,I]of L.entries()){q.start(!1);let G=await X({uri:"commit-message",text:I,languageId:"plaintext",locale:"en"},{generateSuggestions:!0,noConfigSearch:!0,unknownWords:"report-common-typos"},{dictionaries:_});if(G.issues.length===0)continue;q.stop(),D+=G.issues.length,_j("Spelling",`At HEAD~${A} found ${G.issues.length} potential spelling issue(s) in commit messages.
891
895
 
892
- `+z(A,I))}}if(q.stop(),D){let N="",w=D.split(/^diff --git a\/.+$/m);for(let G of w){let I=G.split(`
893
- `).filter((A)=>A.trim());if(N=I.slice(2,4).find((A)=>A.startsWith("+++ b/"))?.split(" b/")[1]||"unknown",/\n?\+?<{7}(?:[^\n]*\n)*\+?={7}(?:[^\n]*\n)*\+?>{7}/.test(D))Jj("Conflict Markers",`File: ${N}
894
- Please resolve merge conflict markers.`),F++;for(let A=3;A<I.length;A++){let x=I[A];if(x.startsWith("+")){let T=x.substring(1);for(let S of lX)if(S.test(T))Jj("Sensitive Content",`File: ${N}
896
+ `+z(G,I))}}if(q.stop(),O){let _="",L=O.split(/^diff --git a\/.+$/m);for(let A of L){let I=A.split(`
897
+ `).filter((G)=>G.trim());if(_=I.slice(2,4).find((G)=>G.startsWith("+++ b/"))?.split(" b/")[1]||"unknown",/\n?\+?<{7}(?:[^\n]*\n)*\+?={7}(?:[^\n]*\n)*\+?>{7}/.test(O))Nj("Conflict Markers",`File: ${_}
898
+ Please resolve merge conflict markers.`),V++;for(let G=3;G<I.length;G++){let P=I[G];if(P.startsWith("+")){let T=P.substring(1);for(let S of Qz)if(S.test(T))Nj("Sensitive Content",`File: ${_}
895
899
  Matched Pattern: ${S}
896
- Content: ${T}`),F++}}}}if(_){let w=_.split(`
897
- `).filter((I)=>I.trim()).map(async(I)=>{try{let{stdout:A}=await Q`${J} cat-file -s HEAD:${I}`,x=parseInt(A.trim(),10);return{file:I,sizeBytes:x}}catch{return null}}),G=await Promise.all(w);for(let I of G){if(!I)continue;let{file:A,sizeBytes:x}=I;if(x/1024>K)Qj("Size",`File: ${A}
898
- File size ${L6(x,2,1024)}B exceeds limit of ${K}KiB`),O++}}if(F>0)return M.error(`Lint failed with ${F} errors and ${O} warnings.`,"lint"),1;else if(O>0)return R(H.yellow+`
899
- Lint passed with ${O} warnings.`+H.reset),0;else return R(H.green+`
900
- No problems found.`+H.reset),0}function Qj(Z,Y){Y=t(Y,100,{indent:" "}),R(H.bgYellow+H.bright+H.black+" LWARN "+H.reset+H.invert+` ${Z} ${H.reset+H.yellow} ${Y}`+H.reset)}function Jj(Z,Y){Y=t(Y,100,{indent:" "}),R(H.bgRed+H.bright+H.white+" LERROR "+H.reset+H.invert+` ${Z} ${H.reset+H.red} ${Y}`+H.reset)}var qj,Xj;var DQ=j(()=>{z0();g0();R0();$6();X6();H0();w0();v0();b0();o0();qj={long:()=>{return t(Z0`
900
+ Content: ${T}`),V++}}}}if(j){let L=j.split(`
901
+ `).filter((I)=>I.trim()).map(async(I)=>{try{let{stdout:G}=await Q`${J} cat-file -s HEAD:${I}`,P=parseInt(G.trim(),10);return{file:I,sizeBytes:P}}catch{return null}}),A=await Promise.all(L);for(let I of A){if(!I)continue;let{file:G,sizeBytes:P}=I;if(P/1024>K)_j("Size",`File: ${G}
902
+ File size ${w6(P,2,1024)}B exceeds limit of ${K}KiB`),D++}}if(V>0)return M.error(`Lint failed with ${V} errors and ${D} warnings.`,"lint"),1;else if(D>0)return C(H.yellow+`
903
+ Lint passed with ${D} warnings.`+H.reset),0;else return C(H.green+`
904
+ No problems found.`+H.reset),0}function _j(Z,Y){Y=t(Y,100,{indent:" "}),C(H.bgYellow+H.bright+H.black+" LWARN "+H.reset+H.invert+` ${Z} ${H.reset+H.yellow} ${Y}`+H.reset)}function Nj(Z,Y){Y=t(Y,100,{indent:" "}),C(H.bgRed+H.bright+H.white+" LERROR "+H.reset+H.invert+` ${Z} ${H.reset+H.red} ${Y}`+H.reset)}var Ij,Lj;var IQ=N(()=>{z0();m0();R0();$6();e0();H0();w0();S0();v0();s0();Ij={long:()=>{return t(Z0`
901
905
  ${H.bright+d("LINT",E.Zinc400,E.Zinc100,0.2)+H.reset}
902
906
  Runs a set of linting checks on your outgoing commits (or the last commit if no upstream is configured).
903
907
 
@@ -908,28 +912,28 @@ No problems found.`+H.reset),0}function Qj(Z,Y){Y=t(Y,100,{indent:" "}),R(H.bgY
908
912
  - File Size: Warns if files exceed the configured size limit (default 1MB).
909
913
 
910
914
  ${H.bright+d("CONFIGURATION",E.Zinc400,E.Zinc100,0.2)+H.reset}
911
- You can configure the behavior in your ~/.gdx/.gdxrc.toml file or \`${H.cyan}${C} gdx-config${H.reset}\`:
915
+ You can configure the behavior in your ~/.gdx/.gdxrc.toml file or \`${H.cyan}${R} gdx-config${H.reset}\`:
912
916
  [lint]
913
917
  onPushBehavior = "off" | "error" | "warning" # Default: "off"
914
918
  maxFileSizeKb = 1024 # Default: 1024 KB
915
919
  `,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})},short:"Lint outgoing commits for format, spelling, sensitive data, and more.",usage:()=>{return t(Z0`
916
- ${H.cyan}${C} lint${H.reset}
920
+ ${H.cyan}${R} lint${H.reset}
917
921
 
918
922
  Examples:
919
- ${H.cyan}${C} lint ${H.reset+H.dim}# Run lint checks on outgoing commits${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},Xj={$root:[]}});import Cq from"path";async function dv(Z){try{let Y=await D3(Z,"^submodule\\..*\\.path$",{filePath:".gitmodules"});if(Y.length===0)return[];let Q=[];for(let J of Y){let q=J.value.trim();if(!q)continue;Q.push({path:q,status:" "})}return Q}catch{return[]}}async function cv(Z,Y,Q){try{return(await k`${Z} -C ${Y} ${lv(Q)}`).stdout}catch(J){let q=o.from(J);return M.warn(`Failed to get status for submodule ${Y}.
923
+ ${H.cyan}${R} lint ${H.reset+H.dim}# Run lint checks on outgoing commits${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},Lj={$root:[]}});import fq from"path";async function jS(Z){try{let Y=await AJ(Z,"^submodule\\..*\\.path$",{filePath:".gitmodules"});if(Y.length===0)return[];let Q=[];for(let J of Y){let q=J.value.trim();if(!q)continue;Q.push({path:q,status:" "})}return Q}catch{return[]}}async function _S(Z,Y,Q){try{return(await k`${Z} -C ${Y} ${NS(Q)}`).stdout}catch(J){let q=o.from(J);return M.warn(`Failed to get status for submodule ${Y}.
920
924
  Error: ${q.message}`,"status"),M.debug(`Failed to get status for submodule ${Y}.
921
- ${q.toString({color:!0})}`,"status"),null}}function lv(Z){let Y=["status",...Z];if(e0.supportsColor<=0)return Y;if(nv(Z)||ov(Z)||iv(Z))return Y;return["-c","color.ui=always",...Y]}function nv(Z){return Z.some((Y)=>Y==="--no-color"||Y==="--color=never")}function ov(Z){return Z.some((Y)=>Y==="--porcelain"||Y.startsWith("--porcelain="))}function iv(Z){return Z.some((Y)=>Y==="--color"||Y.startsWith("--color="))}async function Rq(Z){let{git$:Y,args:Q}=Z,J=Q.slice(1),q=!1;while(J.popOption("-r"))q=!0;while(J.popOption("--recursive"))q=!0;if(!q)return await T0`${Y} status ${J}`.then((X)=>X.exitCode??0);try{let X=await F6(Y),z=process.cwd();R(`${H.cyan}${H.bright}━━━ Repository Root${H.reset}${H.dim} (${Cq.relative(z,X)||"."})${H.reset}
922
- `),await T0`${Y} status ${J}`;let W=await dv(Y);if(W.length===0)return R(`
923
- ${H.dim}No submodules found.${H.reset}`),0;for(let U of W){let K=Cq.resolve(X,U.path),B=Cq.relative(z,K);R(`
925
+ ${q.toString({color:!0})}`,"status"),null}}function NS(Z){let Y=["status",...Z];if(Q6.supportsColor<=0)return Y;if(IS(Z)||LS(Z)||wS(Z))return Y;return["-c","color.ui=always",...Y]}function IS(Z){return Z.some((Y)=>Y==="--no-color"||Y==="--color=never")}function LS(Z){return Z.some((Y)=>Y==="--porcelain"||Y.startsWith("--porcelain="))}function wS(Z){return Z.some((Y)=>Y==="--color"||Y.startsWith("--color="))}async function hq(Z){let{git$:Y,args:Q}=Z,J=Q.slice(1),q=!1;while(J.popOption("-r"))q=!0;while(J.popOption("--recursive"))q=!0;if(!q)return await E0`${Y} status ${J}`.then((X)=>X.exitCode??0);try{let X=await F6(Y),z=process.cwd();C(`${H.cyan}${H.bright}━━━ Repository Root${H.reset}${H.dim} (${fq.relative(z,X)||"."})${H.reset}
926
+ `),await E0`${Y} status ${J}`;let W=await jS(Y);if(W.length===0)return C(`
927
+ ${H.dim}No submodules found.${H.reset}`),0;for(let U of W){let K=fq.resolve(X,U.path),B=fq.relative(z,K);C(`
924
928
  ${H.cyan}${H.bright}━━━ Submodule: ${U.path}${H.reset}${H.dim} (${B})${H.reset}
925
- `);let $=await cv(Y,K,J);if($===null){R(`${H.dim}Unable to get status for this submodule.${H.reset}
926
- `);continue}if($)R($)}return 0}catch(X){return M.error(`Failed to get recursive status.
927
- ${X}`,"status"),1}}var zj,Hj;var MQ=j(()=>{z0();g0();R0();H0();b0();w0();v0();X6();o0();zj={long:()=>{return t(Z0`
929
+ `);let $=await _S(Y,K,J);if($===null){C(`${H.dim}Unable to get status for this submodule.${H.reset}
930
+ `);continue}if($)C($)}return 0}catch(X){return M.error(`Failed to get recursive status.
931
+ ${X}`,"status"),1}}var wj,Aj;var LQ=N(()=>{z0();m0();R0();H0();v0();w0();S0();e0();s0();wj={long:()=>{return t(Z0`
928
932
  ${H.bright+d("STATUS",E.Zinc400,E.Zinc100,0.2)+H.reset}
929
933
  Show the working tree status for the repository and optionally all submodules.
930
934
 
931
935
  ${H.bright+d("OVERVIEW",E.Zinc400,E.Zinc100,0.2)+H.reset}
932
- \`${H.cyan}${C} status${H.reset}\` is a wrapper around \`${H.cyan}git status${H.reset}\` with added support for recursive submodule status checking. When the \`${H.cyan}--recursive${H.reset}\` or \`${H.cyan}-r${H.reset}\` flag is used, it will show the status of the main repository followed by the status of each submodule.
936
+ \`${H.cyan}${R} status${H.reset}\` is a wrapper around \`${H.cyan}git status${H.reset}\` with added support for recursive submodule status checking. When the \`${H.cyan}--recursive${H.reset}\` or \`${H.cyan}-r${H.reset}\` flag is used, it will show the status of the main repository followed by the status of each submodule.
933
937
 
934
938
  ${H.bright+d("RECURSIVE MODE",E.Zinc400,E.Zinc100,0.2)+H.reset}
935
939
  When \`${H.cyan}--recursive${H.reset}\` or \`${H.cyan}-r${H.reset}\` is specified:
@@ -939,39 +943,39 @@ ${X}`,"status"),1}}var zj,Hj;var MQ=j(()=>{z0();g0();R0();H0();b0();w0();v0();X6
939
943
  - All other \`${H.cyan}git status${H.reset}\` flags are passed through to each status check
940
944
 
941
945
  ${H.bright+d("EXAMPLES",E.Zinc400,E.Zinc100,0.2)+H.reset}
942
- ${H.cyan}${C} status --recursive${H.reset}
946
+ ${H.cyan}${R} status --recursive${H.reset}
943
947
  Show status for repository and all submodules
944
948
 
945
- ${H.cyan}${C} s -r${H.reset}
949
+ ${H.cyan}${R} s -r${H.reset}
946
950
  Same as above using shorthand
947
951
 
948
- ${H.cyan}${C} status -r --short${H.reset}
952
+ ${H.cyan}${R} status -r --short${H.reset}
949
953
  Show short format status recursively
950
954
 
951
- ${H.cyan}${C} status --recursive --porcelain${H.reset}
955
+ ${H.cyan}${R} status --recursive --porcelain${H.reset}
952
956
  Show porcelain format status recursively
953
957
  `,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})},short:"Show working tree status with optional recursive submodule support",usage:()=>{return t(Z0`
954
- ${H.cyan}${C} status ${H.dim}[--recursive|-r] [<git-status-options>]${H.reset}
955
- ${H.cyan}${C} s ${H.dim}[--recursive|-r] [<git-status-options>]${H.reset}
958
+ ${H.cyan}${R} status ${H.dim}[--recursive|-r] [<git-status-options>]${H.reset}
959
+ ${H.cyan}${R} s ${H.dim}[--recursive|-r] [<git-status-options>]${H.reset}
956
960
 
957
961
  Examples:
958
- ${H.cyan}${C} status --recursive ${H.reset+H.dim}# Show status for repo and all submodules${H.reset}
959
- ${H.cyan}${C} s -r --short ${H.reset+H.dim}# Short format with submodules${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},Hj={$root:{$allOf:["-r","--recursive","--short","--porcelain","--branch","--long"]}}});import Tq from"fs";import E4 from"path";async function kq(){let Z,Y=!1,Q=process.argv[0].endsWith("node")||process.argv[0].endsWith("node.exe"),J=process.argv[0].endsWith("bun")||process.argv[0].endsWith("bun.exe"),q=process.execPath.toLowerCase()!==process.argv[0].toLowerCase();if(!q){let U=process.argv[1],K=E4.dirname(U),B=[E4.join(K,"native/install.json"),E4.join(K,"../dist/native/install.json"),E4.join(K,"../native/install.json")];for(let $ of B)if(Tq.existsSync($)){Z=$;break}if(!Z)Z=E4.join(K,"native/install.json")}else Z=E4.join(E4.dirname(process.execPath),"install.json");let X=null;if(Tq.existsSync(Z))try{let U=JSON.parse(Tq.readFileSync(Z,"utf8"));X=u(U,{color:!0})}catch(U){let K=o.from(U);M.error(`Error reading install.json: ${K.message}`,"doctor"),M.debug(K.toString(),"doctor"),Y=!0}else if(q)M.warn(`No native install info found at ${Z}`,"doctor"),Y=!0;R(`Version: ${H.cyan+l6+H.reset}`),R(`Platform: ${H.magenta+process.platform} (${process.arch})`+H.reset),R(`Runtime: ${H.magenta+(J?"Bun":Q?"Node":"Unknown")+(q?" (Native)":"")+H.reset}`),R(`Terminal color support index: ${H.cyan+e0.supportsColor+H.reset+H.dim} ${e0.supportsColor===0?"(No color)":e0.supportsColor===1?"(16 colors)":e0.supportsColor===2?"(8bit color)":e0.supportsColor===3?"(24bit True color)":""}`+H.reset),R(`TTY mode: ${H.cyan+(process.stdout.isTTY?"Yes":"No")+H.reset}`);try{let U=await q8("bun",["--version"]);R(`Bun: ${H.cyan+U.stdout.trim()+H.reset}`+(!J?H.dim+" (inactive)"+H.reset:""))}catch{R("Bun: Not found")}try{let U=await q8("node",["--version"]);R(`Node: ${H.cyan+U.stdout.trim()+H.reset}`+(!Q?H.dim+" (inactive)"+H.reset:""))}catch{R("Node: Not found")}R(`Installation mode: ${q?H.green+"Native"+H.reset:H.yellow+"Interpreted"+H.reset}`),R(`Shell Integration: ${c6?H.green+"Yes"+H.reset:H.red+"No"+H.reset}`),R(`Executable path: ${H.cyan+process.execPath+H.reset}`),R(`Log file path: ${H.cyan+v6(M.logFile,M.logFile)+H.reset}`);let z=await I0();R(`Cache file path: ${H.cyan+v6(z.cachePath,z.cachePath)+H.reset}`);try{let U=await q8("git",["--version"]);R(`Git: ${H.cyan+U.stdout.trim()+H.reset}`);let K=process.platform==="win32"?"where":"which",$=(await q8(K,["git"])).stdout.trim().replaceAll(`
962
+ ${H.cyan}${R} status --recursive ${H.reset+H.dim}# Show status for repo and all submodules${H.reset}
963
+ ${H.cyan}${R} s -r --short ${H.reset+H.dim}# Short format with submodules${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},Aj={$root:{$allOf:["-r","--recursive","--short","--porcelain","--branch","--long"]}}});import gq from"fs";import b8 from"path";import mq from"os";async function pq(){let Z,Y=!1,Q=process.argv[0].endsWith("node")||process.argv[0].endsWith("node.exe"),J=process.argv[0].endsWith("bun")||process.argv[0].endsWith("bun.exe"),q=process.execPath.toLowerCase()!==process.argv[0].toLowerCase();if(!q){let U=process.argv[1],K=b8.dirname(U),B=[b8.join(K,"native/install.json"),b8.join(K,"../dist/native/install.json"),b8.join(K,"../native/install.json")];for(let $ of B)if(gq.existsSync($)){Z=$;break}if(!Z)Z=b8.join(K,"native/install.json")}else Z=b8.join(b8.dirname(process.execPath),"install.json");let X=null;if(gq.existsSync(Z))try{let U=JSON.parse(gq.readFileSync(Z,"utf8"));X=u(U,{color:!0})}catch(U){let K=o.from(U);M.error(`Error reading install.json: ${K.message}`,"doctor"),M.debug(K.toString(),"doctor"),Y=!0}else if(q)M.warn(`No native install info found at ${Z}`,"doctor"),Y=!0;C(`Version: ${H.cyan+o6+H.reset}`),C(`Platform: ${H.magenta+process.platform} (${process.arch})`+H.reset),C(`Processor: ${H.cyan+(mq.cpus()[0]?.model||"N/A")+H.reset} ${mq.availableParallelism()}/${mq.cpus().length} logical cores`),C(`Runtime: ${H.magenta+(J?"Bun":Q?"Node":"Unknown")+(q?" (Native)":"")+H.reset}`),C(`Terminal color support index: ${H.cyan+Q6.supportsColor+H.reset+H.dim} ${Q6.supportsColor===0?"(No color)":Q6.supportsColor===1?"(16 colors)":Q6.supportsColor===2?"(8bit color)":Q6.supportsColor===3?"(24bit True color)":""}`+H.reset),C(`TTY mode: ${H.cyan+(process.stdout.isTTY?"Yes":"No")+H.reset}`);try{let U=await z4("bun",["--version"]);C(`Bun: ${H.cyan+U.stdout.trim()+H.reset}`+(!J?H.dim+" (inactive)"+H.reset:""))}catch{C("Bun: Not found")}try{let U=await z4("node",["--version"]);C(`Node: ${H.cyan+U.stdout.trim()+H.reset}`+(!Q?H.dim+" (inactive)"+H.reset:""))}catch{C("Node: Not found")}C(`Installation mode: ${q?H.green+"Native"+H.reset:H.yellow+"Interpreted"+H.reset}`),C(`Shell Integration: ${n6?H.green+"Yes"+H.reset:H.red+"No"+H.reset}`),C(`Executable path: ${H.cyan+process.execPath+H.reset}`),C(`Log file path: ${H.cyan+S6(M.logFile,M.logFile)+H.reset}`);let z=await I0();C(`Cache file path: ${H.cyan+S6(z.cachePath,z.cachePath)+H.reset}`);try{let U=await z4("git",["--version"]);C(`Git: ${H.cyan+U.stdout.trim()+H.reset}`);let K=process.platform==="win32"?"where":"which",$=(await z4(K,["git"])).stdout.trim().replaceAll(`
960
964
  `,`
961
- - `);R(`Git path: ${$?H.green+`
962
- - `+$+H.reset:"Not found in PATH"}`)}catch{R(H.red+"Git: Not found or error checking"+H.reset),Y=!0}let W=GX(process.env,(U)=>U.startsWith("GDX_")?null:void 0);if(R("Process argv: "+NX(process.argv,{color:!0,indent:2,maxCol:80})),R("GDX Environment Variables: "+u(W,{color:!0})),X)R(`
963
- Native Install Info: ${H.green+X+H.reset}`);else{if(R(H.bright+`
964
- Actionable next steps:`+H.reset),process.platform==="win32"&&process.arch==="x64")R("To use prebuilt binary:"),R(" GDX_USE_PREBUILT=1 npm i -g gdx");else R(`Prebuilt binary not supported for ${process.platform}/${process.arch}.`);R("To build locally (requires Bun):"),R(" GDX_BUILD_NATIVE=1 npm i -g gdx")}return Y?1:0}var Wj,Uj;var jQ=j(()=>{oY();z0();R0();w0();H0();v0();H0();b0();z8();o0();Wj={long:()=>{return t(Z0`
965
+ - `);C(`Git path: ${$?H.green+`
966
+ - `+$+H.reset:"Not found in PATH"}`)}catch{C(H.red+"Git: Not found or error checking"+H.reset),Y=!0}let W=yX(process.env,(U)=>U.startsWith("GDX_")?null:void 0);if(C("Process argv: "+PX(process.argv,{color:!0,indent:2,maxCol:80})),C("GDX Environment Variables: "+u(W,{color:!0})),X)C(`
967
+ Native Install Info: ${H.green+X+H.reset}`);else{if(C(H.bright+`
968
+ Actionable next steps:`+H.reset),process.platform==="win32"&&process.arch==="x64")C("To use prebuilt binary:"),C(" GDX_USE_PREBUILT=1 npm i -g gdx");else C(`Prebuilt binary not supported for ${process.platform}/${process.arch}.`);C("To build locally (requires Bun):"),C(" GDX_BUILD_NATIVE=1 npm i -g gdx")}return Y?1:0}var Gj,Cj;var wQ=N(()=>{aY();z0();R0();w0();H0();S0();H0();v0();W4();s0();Gj={long:()=>{return t(Z0`
965
969
  ${H.bright+d("DOCTOR",E.Zinc400,E.Zinc100,0.2)+H.reset}
966
970
  Diagnose installation and environment.
967
971
 
968
972
  ${H.bright+d("DESCRIPTION",E.Zinc400,E.Zinc100,0.2)+H.reset}
969
973
  Checks for native binary, runtimes, and provides installation guidance.
970
974
  `,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})},short:"Run a diagnostic check on gdx installation and environment.",usage:()=>{return t(Z0`
971
- ${H.cyan}${C} doctor${H.reset}
975
+ ${H.cyan}${R} doctor${H.reset}
972
976
 
973
977
  Examples:
974
- ${H.cyan}${C} doctor ${H.reset+H.dim}# Diagnose installation and environment${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},Uj={$root:[]}});import sv from"path";async function av(Z){let Q=Z.args[2];if(!c6)return M.error("'git submodule switch' requires the shell integration. See readme for details."),1;if(!Q)return M.error("Missing submodule path to switch into.","submodule"),1;let J=await b5(Z.git$),q=d0(Q).replace(/^\.\/+/,"").replace(/\/+$/,"");if(q==="main")return await v1(J),0;let X=await C8(Z.git$,J);if(X.length===0)return M.error("No submodules found in this repository.","submodule"),1;let z=X.map((K)=>d0(K.path).replace(/\/+$/,"")),W=null;if(q&&!q.includes("/")){let K=z.filter((B)=>{let $=B.split("/");return $[$.length-1]===q});if(K.length===1)W=K[0];else if(K.length>1)return M.error(`Ambiguous submodule '${Q}'. Matches: ${K.join(", ")}.`,"submodule"),1}if(!W){let{match:K,candidates:B}=f0(q,z);if(K)W=K;else if(B&&B.length>1)return M.error(`Ambiguous submodule '${Q}'. Matches: ${B.join(", ")}.`,"submodule"),1}if(!W)return M.error(`Submodule '${Q}' not found. Available: ${z.join(", ")}.`,"submodule"),1;let U=sv.resolve(J,W);if(!l(U))return M.error(`Submodule '${W}' is not initialized. Run 'git submodule update --init ${W}'.`,"submodule"),1;return await v1(U),0}function rv(Z){let J=Z.replace(/\\/g,"/").replace(/\/+$/,"").replace(/\.git$/i,"").match(/([^/:]+)$/)?.[1]?.trim()||"";if(!J)throw Error(`Unable to derive submodule path from repository '${Z}'.`);return J}function Eq(Z){let Y=Z.indexOf("--");if(Y===-1)return{head:Z.slice(),tail:[]};return{head:Z.slice(0,Y),tail:Z.slice(Y+1).toArray()}}function xq(Z,Y){let Q=Z.find((J)=>J.startsWith("-"));if(Q)throw Error(`Unsupported option for 'submodule ${Y}': ${Q}`)}function tv(Z,Y){let{head:Q,tail:J}=Eq(Z),q={quiet:Y};if(Q.popOption("-q")||Q.popOption("--quiet"))q.quiet=!0;if(Q.popOption("-f")||Q.popOption("--force"))q.force=!0;let X=Q.popAssertValue("--branch")||Q.popAssertValue("-b");if(X)q.branch=X;let z=Q.popAssertValue("--name");if(z)q.name=z;let W=Q.popAssertValue("--reference");if(W)q.reference=W;xq(Q,"add");let U=[...Q.toArray(),...J];if(U.length===0)throw Error("'submodule add' requires <repository> [path].");if(U.length>2)throw Error("'submodule add' accepts at most two positional arguments.");let K=U[0],B=U[1]||rv(K);return{submoduleUrl:K,submodulePath:B,options:q}}function ev(Z,Y){let{head:Q,tail:J}=Eq(Z),q={quiet:Y,init:!1,recursive:!1,strategy:"checkout"};if(Q.popOption("-q")||Q.popOption("--quiet"))q.quiet=!0;if(Q.popOption("--init"))q.init=!0;if(Q.popOption("--remote"))q.remote=!0;if(Q.popOption("-N")||Q.popOption("--no-fetch"))q.noFetch=!0;if(Q.popOption("-f")||Q.popOption("--force"))q.force=!0;if(Q.popOption("--checkout"))q.strategy="checkout";if(Q.popOption("--merge"))q.strategy="merge";if(Q.popOption("--rebase"))q.strategy="rebase";if(Q.popOption("--recommend-shallow"))q.recommendShallow=!0;if(Q.popOption("--no-recommend-shallow"))q.recommendShallow=!1;let X=Q.popAssertValue("--reference");if(X)q.reference=X;if(Q.popOption("--recursive"))q.recursive=!0;if(Q.popOption("--single-branch"))q.singleBranch=!0;if(Q.popOption("--no-single-branch"))q.singleBranch=!1;let z=Q.popAssertValue("--filter");if(z)q.filter=z;xq(Q,"update");let W=[...Q.toArray(),...J];if(W.length>0)q.paths=W;return q}function ZS(Z,Y){let{head:Q,tail:J}=Eq(Z),q={quiet:Y,force:!1,all:!1};if(Q.popOption("-q")||Q.popOption("--quiet"))q.quiet=!0;if(Q.popOption("-f")||Q.popOption("--force"))q.force=!0;if(Q.popOption("--all"))q.all=!0;xq(Q,"deinit");let X=[...Q.toArray(),...J];if(q.all&&X.length>0)throw Error("'submodule deinit' does not allow paths together with '--all'.");if(!q.all&&X.length===0)throw Error("'submodule deinit' requires '--all' or at least one path.");if(X.length>0)q.paths=X;return q}async function YS(){let Y=(await K0()).get("useInlineSubmodule","internal");if(Y==="off"||Y==="internal"||Y==="all")return Y;return"internal"}async function QS(Z,Y,Q){if(await YS()!=="all")return null;let q=await F6(Z.git$),X=Y[0];Y=Y.slice(1);try{if(X==="add"){let z=tv(Y,Q);return await NO(Z.git$,q,z.submoduleUrl,z.submodulePath,z.options),0}if(X==="update"){let z=ev(Y,Q);return await f5(Z.git$,q,z),0}if(X==="deinit"){let z=ZS(Y,Q);return await y5(Z.git$,q,z),0}}catch(z){return M.error(z.message,"submodule"),1}return null}var Kj,Bj,$j;var _Q=j(()=>{z0();$6();H0();U6();X6();b0();g0();w0();R0();v0();o0();Kj={long:()=>{let Z=Math.min(100,p.terminalWidth-4),Y=Dz([[H.cyan+"switch <path|name|main>",H.reset+"Switch to a submodule by path, unique name, or back to main repo."],[H.cyan+"add [options] <repository> [path]",H.reset+"Add a new submodule with optional inline mode."],[H.cyan+"update [options] [--] [<path>...]",H.reset+"Update submodules with optional inline mode."],[H.cyan+"deinit [options] (--all | -- <path>...)",H.reset+"Deinitialize submodules with optional inline mode."]],{padding:[0,1,0,0],borderStyle:"none",columnWidth:[Math.floor(Z*0.32),Math.floor(Z*0.6)],redundancyLv:0});return t(Z0`
978
+ ${H.cyan}${R} doctor ${H.reset+H.dim}# Diagnose installation and environment${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},Cj={$root:[]}});import AS from"path";async function GS(Z){let Q=Z.args[2];if(!n6)return M.error("'git submodule switch' requires the shell integration. See readme for details."),1;if(!Q)return M.error("Missing submodule path to switch into.","submodule"),1;let J=await y5(Z.git$),q=d0(Q).replace(/^\.\/+/,"").replace(/\/+$/,"");if(q==="main")return await f1(J),0;let X=await R4(Z.git$,J);if(X.length===0)return M.error("No submodules found in this repository.","submodule"),1;let z=X.map((K)=>d0(K.path).replace(/\/+$/,"")),W=null;if(q&&!q.includes("/")){let K=z.filter((B)=>{let $=B.split("/");return $[$.length-1]===q});if(K.length===1)W=K[0];else if(K.length>1)return M.error(`Ambiguous submodule '${Q}'. Matches: ${K.join(", ")}.`,"submodule"),1}if(!W){let{match:K,candidates:B}=h0(q,z);if(K)W=K;else if(B&&B.length>1)return M.error(`Ambiguous submodule '${Q}'. Matches: ${B.join(", ")}.`,"submodule"),1}if(!W)return M.error(`Submodule '${Q}' not found. Available: ${z.join(", ")}.`,"submodule"),1;let U=AS.resolve(J,W);if(!l(U))return M.error(`Submodule '${W}' is not initialized. Run 'git submodule update --init ${W}'.`,"submodule"),1;return await f1(U),0}function CS(Z){let J=Z.replace(/\\/g,"/").replace(/\/+$/,"").replace(/\.git$/i,"").match(/([^/:]+)$/)?.[1]?.trim()||"";if(!J)throw Error(`Unable to derive submodule path from repository '${Z}'.`);return J}function uq(Z){let Y=Z.indexOf("--");if(Y===-1)return{head:Z.slice(),tail:[]};return{head:Z.slice(0,Y),tail:Z.slice(Y+1).toArray()}}function dq(Z,Y){let Q=Z.find((J)=>J.startsWith("-"));if(Q)throw Error(`Unsupported option for 'submodule ${Y}': ${Q}`)}function RS(Z,Y){let{head:Q,tail:J}=uq(Z),q={quiet:Y};if(Q.popOption("-q")||Q.popOption("--quiet"))q.quiet=!0;if(Q.popOption("-f")||Q.popOption("--force"))q.force=!0;let X=Q.popAssertValue("--branch")||Q.popAssertValue("-b");if(X)q.branch=X;let z=Q.popAssertValue("--name");if(z)q.name=z;let W=Q.popAssertValue("--reference");if(W)q.reference=W;dq(Q,"add");let U=[...Q.toArray(),...J];if(U.length===0)throw Error("'submodule add' requires <repository> [path].");if(U.length>2)throw Error("'submodule add' accepts at most two positional arguments.");let K=U[0],B=U[1]||CS(K);return{submoduleUrl:K,submodulePath:B,options:q}}function TS(Z,Y){let{head:Q,tail:J}=uq(Z),q={quiet:Y,init:!1,recursive:!1,strategy:"checkout"};if(Q.popOption("-q")||Q.popOption("--quiet"))q.quiet=!0;if(Q.popOption("--init"))q.init=!0;if(Q.popOption("--remote"))q.remote=!0;if(Q.popOption("-N")||Q.popOption("--no-fetch"))q.noFetch=!0;if(Q.popOption("-f")||Q.popOption("--force"))q.force=!0;if(Q.popOption("--checkout"))q.strategy="checkout";if(Q.popOption("--merge"))q.strategy="merge";if(Q.popOption("--rebase"))q.strategy="rebase";if(Q.popOption("--recommend-shallow"))q.recommendShallow=!0;if(Q.popOption("--no-recommend-shallow"))q.recommendShallow=!1;let X=Q.popAssertValue("--reference");if(X)q.reference=X;if(Q.popOption("--recursive"))q.recursive=!0;if(Q.popOption("--single-branch"))q.singleBranch=!0;if(Q.popOption("--no-single-branch"))q.singleBranch=!1;let z=Q.popAssertValue("--filter");if(z)q.filter=z;dq(Q,"update");let W=[...Q.toArray(),...J];if(W.length>0)q.paths=W;return q}function kS(Z,Y){let{head:Q,tail:J}=uq(Z),q={quiet:Y,force:!1,all:!1};if(Q.popOption("-q")||Q.popOption("--quiet"))q.quiet=!0;if(Q.popOption("-f")||Q.popOption("--force"))q.force=!0;if(Q.popOption("--all"))q.all=!0;dq(Q,"deinit");let X=[...Q.toArray(),...J];if(q.all&&X.length>0)throw Error("'submodule deinit' does not allow paths together with '--all'.");if(!q.all&&X.length===0)throw Error("'submodule deinit' requires '--all' or at least one path.");if(X.length>0)q.paths=X;return q}async function ES(){let Y=(await K0()).get("useInlineSubmodule","internal");if(Y==="off"||Y==="internal"||Y==="all")return Y;return"internal"}async function PS(Z,Y,Q){if(await ES()!=="all")return null;let q=await F6(Z.git$),X=Y[0];Y=Y.slice(1);try{if(X==="add"){let z=RS(Y,Q);return await EO(Z.git$,q,z.submoduleUrl,z.submodulePath,z.options),0}if(X==="update"){let z=TS(Y,Q);return await m5(Z.git$,q,z),0}if(X==="deinit"){let z=kS(Y,Q);return await g5(Z.git$,q,z),0}}catch(z){return M.error(z.message,"submodule"),1}return null}var Rj,Tj,kj;var AQ=N(()=>{z0();$6();H0();J6();e0();v0();m0();w0();R0();S0();s0();Rj={long:()=>{let Z=Math.min(100,p.terminalWidth-4),Y=Rz([[H.cyan+"switch <path|name|main>",H.reset+"Switch to a submodule by path, unique name, or back to main repo."],[H.cyan+"add [options] <repository> [path]",H.reset+"Add a new submodule with optional inline mode."],[H.cyan+"update [options] [--] [<path>...]",H.reset+"Update submodules with optional inline mode."],[H.cyan+"deinit [options] (--all | -- <path>...)",H.reset+"Deinitialize submodules with optional inline mode."]],{padding:[0,1,0,0],borderStyle:"none",columnWidth:[Math.floor(Z*0.32),Math.floor(Z*0.6)],redundancyLv:0});return t(Z0`
975
979
  ${H.bright+d("SUBMODULE EXTENSIONS",E.Zinc400,E.Zinc100,0.2)+H.reset}
976
980
  Extends git submodule with additional features and inline mode for add/update/deinit.
977
981
 
@@ -986,16 +990,16 @@ Actionable next steps:`+H.reset),process.platform==="win32"&&process.arch==="x64
986
990
  Inline mode for add/update/deinit is enabled when the config value 'useInlineSubmodule' is set to 'all'. In this mode, the command will parse the arguments of these submodule commands and execute them internally, allowing for faster execution. If the config value is 'off' or 'internal', all commands will be delegated to git and no internal parsing will occur.
987
991
 
988
992
  ${H.bright+d("REQUIREMENTS",E.Zinc400,E.Zinc100,0.2)+H.reset}
989
- For switch command: shell integration must be enabled, see ${v6("README.md",O7)} for details.
993
+ For switch command: shell integration must be enabled, see ${S6("README.md",j7)} for details.
990
994
  Submodules must be initialized (use ${H.cyan}git submodule update --init${H.reset}).
991
995
  `,Z,{firstIndent:" ",mode:"softboundary",indent:" "})},short:"Extends git submodule with ability to switch between submodules. (requires shell integration) And speedup submodule add/update/deinit operations with inline mode.",usage:()=>{return t(Z0`
992
- ${H.cyan}${C} submodule switch ${H.dim}<path|name|main>${H.reset}
996
+ ${H.cyan}${R} submodule switch ${H.dim}<path|name|main>${H.reset}
993
997
 
994
998
  Examples:
995
- ${H.cyan}${C}submodule switch vendor/sdk ${H.reset+H.dim}# Switch by full path${H.reset}
996
- ${H.cyan}${C}submodule switch sdk ${H.reset+H.dim}# Switch by unique name${H.reset}
997
- ${H.cyan}${C}submodule switch main ${H.reset+H.dim}# Back to parent repo${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},Bj={$root:{switch:{}}},$j={switch:av,handleUserCommand:QS}});import Fj from"path";async function Vj(Z,Y){let{stdout:Q}=await k`${Z} rev-list --parents -n 1 ${Y}`;return Q.trim().split(/\s+/).filter(Boolean).slice(1)}async function NQ(Z,Y){let{stdout:Q}=await k`${Z} show -s --format=%T ${Y}`;return Q.trim()}async function Oj(Z,Y){let{stdout:J}=await k`${Z} show -s --format=${"%an%x00%ae%x00%aI"} ${Y}`,[q="",X="",z=""]=J.trimEnd().split("\x00");return{name:q,email:X,date:z}}async function JS(Z,Y){let Q=C5(Y),J=Q.shift();if(!J)throw new o("Editor is not configured.","EDITOR_NOT_CONFIGURED");let q=await H8(J);if(!q)throw new o(`Editor "${J}" not found in PATH.`,"EDITOR_NOT_FOUND");await T0`${q} ${Q} ${Z}`}async function qS(){let Z=await K0(),Y=Z.get("reword.editor",null),Q=Z.getAll().defaultEditor;if(Y&&Y.trim().length>0)return Y.trim();if(Q&&Q.trim().length>0)return Q.trim();throw new o("No editor configured.","EDITOR_NOT_CONFIGURED")}async function Dj(Z){let{git$:Y,treeSha:Q,parents:J,messageFile:q,author:X}=Z,z=["commit-tree",Q,...J.flatMap((B)=>["-p",B]),"-F",q],W=k({env:{GIT_AUTHOR_NAME:X.name,GIT_AUTHOR_EMAIL:X.email,GIT_AUTHOR_DATE:X.date}}),{stdout:U}=await W`${Y} ${z}`,K=U.trim();if(!K)throw new o("Failed to create rewritten commit.","REWORD_COMMIT_TREE_FAILED");return K}async function Mj(Z){return await k`${Z} symbolic-ref -q HEAD`.then((Q)=>Q.stdout.trim()).catch(()=>"")||"HEAD"}async function XS(Z,Y,Q){let J=`${Y}..${Q}`,{stdout:q}=await k`${Z} rev-list --reverse ${J}`;return q.trim().split(`
998
- `).map((X)=>X.trim()).filter(Boolean)}function zS(Z){if(Array.isArray(Z))return Z[0];return Z}async function HS(Z,Y,Q){let[J,q,X]=await Promise.all([NQ(Z,Y),Vj(Z,Y),Oj(Z,Y)]),z=await Dj({git$:Z,treeSha:J,parents:q,messageFile:Q,author:X}),W=await Mj(Z);return await k`${Z} update-ref ${W} ${z} ${Y}`,z}async function WS(Z,Y,Q,J){await x8(K6,{recursive:!0});let q=Fj.join(K6,`gdx_reword_worktree_${Date.now()}_${Math.random().toString(16).slice(2,10)}`),X=!1,z={},W=/\[detached HEAD ([\da-f]+)\]/,U=null;try{await k`${Z} worktree add --detach ${q} ${Q}`,X=!0;let K=[zS(Z),"-C",q],[B,$,F]=await Promise.all([NQ(Z,Y),Vj(Z,Y),Oj(Z,Y)]),O=await Dj({git$:K,treeSha:B,parents:$,messageFile:J,author:F});await k`${K} checkout --detach ${O}`;let V=await XS(Z,Y,Q);U=V.length>50?x0({message:`Replaying commits... (0/${V.length})`}):null;let D=0;for(let I of V){let A=await k`${K} cherry-pick ${I}`;z[I]=W.exec(A.stdout)?.[1]||"unknown",U?.setMessage(`Replaying commits... (${++D}/${V.length})`)}U?.setMessage("Repositioning HEAD...");let _=(await A0(K,"HEAD")).trim(),[N,w]=await Promise.all([NQ(Z,Q),NQ(K,_)]);if(N!==w)throw U?.stop(),new o("Reword aborted because rewritten history changed the HEAD tree.","REWORD_TREE_MISMATCH");let G=await Mj(Z);await k`${Z} update-ref ${G} ${_} ${Q}`}finally{if(U?.stop(),X)await k`${Z} worktree remove --force ${q}`.catch(f6);await j6(q,{recursive:!0,force:!0}).catch(f6)}return z}async function Pq(Z){let{git$:Y,args:Q}=Z;if(!await i8(Y))return 1;let{error:J}=await a8(Q,Y,1);if(J)return 1;if(Q.length>2)return M.error(`Usage: ${C} reword [<commit>]`,"reword"),1;let q=Q[1]||"HEAD",X=await LZ(Y,q,{type:"commit"});if(!X)return M.error(`Invalid commit reference: ${q}`,"reword"),1;let z=(await A0(Y,"HEAD")).trim(),W=z===X;if(!W){if(!await k`${Y} merge-base --is-ancestor ${X} HEAD`.then(()=>!0).catch(()=>!1))return M.error("Target commit is not an ancestor of HEAD.","reword"),1}let U=Fj.join(K6,`gdx_reword_${Date.now()}.txt`);try{let K=(await k`${Y} log -1 --format=%B ${X}`).stdout;await c0(U,K,"utf8");let B=await qS();await JS(U,B);let $=await p0(U,"utf8");if(!$.trim())return M.error("Commit message is empty. Aborting reword.","reword"),1;if($.trim()===K.trim())return R("Commit message unchanged. No reword needed."),0;let F=HM(K,$).catch((D)=>{return M.warn(`Failed to render commit message diff: ${o.from(D).message}`,"reword"),[]}),O=[];if(W){let D=await HS(Y,z,U);O.push(`Rewrote ${z.slice(0,7)} (HEAD) to ${D.slice(0,7)} (new HEAD)`)}else{let D=await WS(Y,X,z,U);O.push(`Rewrote ${Object.keys(D).length} commits:`);for(let[_,N]of Object.entries(D))O.push(` ${_.slice(0,7)} -> ${N.slice(0,7)}${_===z?" (new HEAD)":""}${_===X?" [target]":""}`)}let V=await F;for(let D of V)R(D);R();for(let D of O)R(D);return 0}catch(K){return M.error(u(K,{color:!0}),"reword"),1}finally{await $7(U).catch(f6)}}var jj,_j;var IQ=j(()=>{z0();U6();g0();$6();X6();R0();w0();H0();b0();v0();o0();xZ();jj={long:()=>{return t(Z0`
999
+ ${H.cyan}${R}submodule switch vendor/sdk ${H.reset+H.dim}# Switch by full path${H.reset}
1000
+ ${H.cyan}${R}submodule switch sdk ${H.reset+H.dim}# Switch by unique name${H.reset}
1001
+ ${H.cyan}${R}submodule switch main ${H.reset+H.dim}# Back to parent repo${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},Tj={$root:{switch:{}}},kj={switch:GS,handleUserCommand:PS}});import Ej from"path";async function Pj(Z,Y){let{stdout:Q}=await k`${Z} rev-list --parents -n 1 ${Y}`;return Q.trim().split(/\s+/).filter(Boolean).slice(1)}async function GQ(Z,Y){let{stdout:Q}=await k`${Z} show -s --format=%T ${Y}`;return Q.trim()}async function xj(Z,Y){let{stdout:J}=await k`${Z} show -s --format=${"%an%x00%ae%x00%aI"} ${Y}`,[q="",X="",z=""]=J.trimEnd().split("\x00");return{name:q,email:X,date:z}}async function xS(){let Z=await K0(),Y=Z.get("reword.editor",null),Q=Z.getAll().defaultEditor;if(Y&&Y.trim().length>0)return Y.trim();if(Q&&Q.trim().length>0)return Q.trim();throw new o("No editor configured.","EDITOR_NOT_CONFIGURED")}async function bj(Z){let{git$:Y,treeSha:Q,parents:J,messageFile:q,author:X}=Z,z=["commit-tree",Q,...J.flatMap((B)=>["-p",B]),"-F",q],W=k({env:{GIT_AUTHOR_NAME:X.name,GIT_AUTHOR_EMAIL:X.email,GIT_AUTHOR_DATE:X.date}}),{stdout:U}=await W`${Y} ${z}`,K=U.trim();if(!K)throw new o("Failed to create rewritten commit.","REWORD_COMMIT_TREE_FAILED");return K}async function vj(Z){return await k`${Z} symbolic-ref -q HEAD`.then((Q)=>Q.stdout.trim()).catch(()=>"")||"HEAD"}async function bS(Z,Y,Q){let J=`${Y}..${Q}`,{stdout:q}=await k`${Z} rev-list --reverse ${J}`;return q.trim().split(`
1002
+ `).map((X)=>X.trim()).filter(Boolean)}function vS(Z){if(Array.isArray(Z))return Z[0];return Z}async function SS(Z,Y,Q){let[J,q,X]=await Promise.all([GQ(Z,Y),Pj(Z,Y),xj(Z,Y)]),z=await bj({git$:Z,treeSha:J,parents:q,messageFile:Q,author:X}),W=await vj(Z);return await k`${Z} update-ref ${W} ${z} ${Y}`,z}async function yS(Z,Y,Q,J){await b4(K6,{recursive:!0});let q=Ej.join(K6,`gdx_reword_worktree_${Date.now()}_${Math.random().toString(16).slice(2,10)}`),X=!1,z={},W=/\[detached HEAD ([\da-f]+)\]/,U=null;try{await k`${Z} worktree add --detach ${q} ${Q}`,X=!0;let K=[vS(Z),"-C",q],[B,$,V]=await Promise.all([GQ(Z,Y),Pj(Z,Y),xj(Z,Y)]),D=await bj({git$:K,treeSha:B,parents:$,messageFile:J,author:V});await k`${K} checkout --detach ${D}`;let F=await bS(Z,Y,Q);U=F.length>50?P0({message:`Replaying commits... (0/${F.length})`}):null;let O=0;for(let I of F){let G=await k`${K} cherry-pick ${I}`;z[I]=W.exec(G.stdout)?.[1]||"unknown",U?.setMessage(`Replaying commits... (${++O}/${F.length})`)}U?.setMessage("Repositioning HEAD...");let j=(await A0(K,"HEAD")).trim(),[_,L]=await Promise.all([GQ(Z,Q),GQ(K,j)]);if(_!==L)throw U?.stop(),new o("Reword aborted because rewritten history changed the HEAD tree.","REWORD_TREE_MISMATCH");let A=await vj(Z);await k`${Z} update-ref ${A} ${j} ${Q}`}finally{if(U?.stop(),X)await k`${Z} worktree remove --force ${q}`.catch(h6);await _6(q,{recursive:!0,force:!0}).catch(h6)}return z}async function cq(Z){let{git$:Y,args:Q}=Z;if(!await r4(Y))return 1;let{error:J}=await T4(Q,Y,1);if(J)return 1;if(Q.length>2)return M.error(`Usage: ${R} reword [<commit>]`,"reword"),1;let q=Q[1]||"HEAD",X=await AZ(Y,q,{type:"commit"});if(!X)return M.error(`Invalid commit reference: ${q}`,"reword"),1;let z=(await A0(Y,"HEAD")).trim(),W=z===X;if(!W){if(!await k`${Y} merge-base --is-ancestor ${X} HEAD`.then(()=>!0).catch(()=>!1))return M.error("Target commit is not an ancestor of HEAD.","reword"),1}let U=Ej.join(K6,`gdx_reword_${Date.now()}.txt`);try{let K=(await k`${Y} log -1 --format=%B ${X}`).stdout;await c0(U,K,"utf8");let B=await xS();C("hint: waiting for your editor to close the file...",""),await k5(U,B),C("\x1B[1G\x1B[K","");let $=await f0(U,"utf8");if(!$.trim())return M.error("Commit message is empty. Aborting reword.","reword"),1;if($.trim()===K.trim())return C("Commit message unchanged. No reword needed."),0;let V=AM(K,$).catch((O)=>{return M.warn(`Failed to render commit message diff: ${o.from(O).message}`,"reword"),[]}),D=[];if(W){let O=await SS(Y,z,U);D.push(`Rewrote ${z.slice(0,7)} (HEAD) to ${O.slice(0,7)} (new HEAD)`)}else{let O=await yS(Y,X,z,U);D.push(`Rewrote ${Object.keys(O).length} commits:`);for(let[j,_]of Object.entries(O))D.push(` ${j.slice(0,7)} -> ${_.slice(0,7)}${j===z?" (new HEAD)":""}${j===X?" [target]":""}`)}let F=await V;for(let O of F)C(O);C();for(let O of D)C(O);return 0}catch(K){return M.error(u(K,{color:!0}),"reword"),1}finally{await O7(U).catch(h6)}}var Sj,yj;var CQ=N(()=>{z0();J6();m0();$6();e0();R0();w0();H0();v0();S0();s0();bZ();Sj={long:()=>{return t(Z0`
999
1003
  ${H.bright+d("REWORD",E.Zinc400,E.Zinc100,0.2)+H.reset}
1000
1004
  Update a commit message without rebase, no clean working directory required, and with safety checks to prevent history corruption. Ideal for quick fixes to recent commits.
1001
1005
 
@@ -1009,29 +1013,31 @@ Actionable next steps:`+H.reset),process.platform==="win32"&&process.arch==="x64
1009
1013
  Rewording rewrites commit history. Ensure you coordinate with collaborators before rewriting shared commits.
1010
1014
  If the commit you are rewording or later commits exist on a remote, you will need to force push after rewording. Always double-check the rewritten history before pushing.
1011
1015
  `,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})},short:"Reword a commit message (defaults to HEAD).",usage:()=>{return t(Z0`
1012
- ${H.cyan}${C} reword ${H.dim}[<commit>]${H.reset}
1016
+ ${H.cyan}${R} reword ${H.dim}[<commit>]${H.reset}
1013
1017
 
1014
1018
  Examples:
1015
- ${H.cyan}${C} reword${H.reset+H.dim} # Reword the latest commit${H.reset}
1016
- ${H.cyan}${C} reword ~2${H.reset+H.dim} # Reword HEAD~2${H.reset}
1017
- ${H.cyan}${C} reword deadbeef${H.reset+H.dim} # Reword a specific commit${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},_j={$root:[]}});function Nj(Z,Y,Q){let J=Z.slice();if(Y.targetIndex===null){let q=J.indexOf("--");return J.splice(q===-1?0:q,0,Q),J}return J[Y.targetIndex]=Q,J}function FS(Z){let Y=Z.indexOf("--"),Q=Y===-1?Z.length:Y,J=null;for(let U=0;U<Q;U++){let K=Z[U];if(!K)continue;if(Lj(K)&&U+1<Q){U++;continue}if(K.startsWith("-"))continue;J=U;break}let q=J===null?"HEAD":Z[J],X=Z.filter((U,K)=>K!==J),z=X.indexOf("--"),W=z===-1?X.length:z;return X.splice(W,0,"HEAD"),{targetRef:q,targetIndex:J,navigationArgs:X}}function Ij(Z){let Y=Z.indexOf("--"),Q=Y===-1?Z.length:Y;for(let J=0;J<Q;J++){let q=Z[J];if(!q)continue;if(Lj(q)&&J+1<Q){J++;continue}if(q.startsWith("-"))continue;let X=q.indexOf(":");if(X<=0||X===q.length-1)return null;let z=q.slice(0,X),W=q.slice(X+1),U=Z.filter((K,B)=>B!==J&&B<Q);return U.push("HEAD","--",W),{targetRef:z,targetIndex:J,navigationArgs:U,path:W}}return null}function VS(Z,Y,Q){let J=Z.slice();if(Y.targetIndex!==null)J[Y.targetIndex]=`${Q}:${Y.path}`;return J}function Lj(Z){if(Z.includes("="))return!1;if($S.has(Z))return!0;if(/^-n\d+$/.test(Z))return!1;return!1}function wj(){if(!process.stdout.isTTY)return;process.stdout.write("\x1B[2J\x1B[H")}async function Aj(Z,Y){return A0(Z,["--verify",`${Y}^{commit}`])}async function OS(Z,Y,Q,J){return(await k`${Z} -c color.ui=never show --stat --format= ${Nj(Y,Q,J)}`).stdout.trimEnd().replace(/(\W)(\++)/g,`$1${H.green}$2${E0(X0.overlay0)}`).replace(/(-+)/g,`${H.red}$1${E0(X0.overlay0)}`)}function DS(Z){let Y=Z.split(`
1018
- `),Q=Y.findIndex((J)=>US.test(J));if(Q===-1)return{body:Z,preamble:[]};return{body:Y.slice(Q).join(`
1019
- `),preamble:Y.slice(0,Q)}}function MS(Z){let{relativeRef:Y,stat:Q}=Z,J=Z.preamble.slice(),q=J.findIndex((z)=>/^commit [0-9a-f]{7,40}\b/i.test(z));if(Y&&q!==-1&&!J[q].includes(Y))J[q]=`Commit:${J[q].slice(6)} (${Y})`;while(J.length>0&&J[J.length-1]==="")J.pop();let X=Q?.trimEnd();if(X)J.push(""),J.push(...X.split(`
1020
- `));return J}function jS(Z,Y){let{body:Q,preamble:J}=DS(Z);if(J.length===0)return Z;return[...MS({preamble:J,relativeRef:Y.relativeRef,stat:Y.stat}),"",Q].join(`
1021
- `)}async function Gj(Z,Y,Q,J){return(await yq(Z,Y,Q))[J]}async function yq(Z,Y,Q){let q=(await k`${Z} log --format=%H ${Q.navigationArgs}`).stdout.split(`
1022
- `).map((z)=>z.trim()).filter(Boolean),X=q.indexOf(Y);if(X===-1)return{previous:null,next:null};return{previous:q[X+1]??null,next:q[X-1]??null}}function Cj(Z){let Y=[];if(Z.previous)Y.push({key:KS,displayKey:"←",label:"previous",action:q7});if(Z.next)Y.push({key:BS,displayKey:"→",label:"next",action:Sq});return Y}async function _S(Z,Y){let Q=Y.split(".").pop()?.toLowerCase()||"",J=j7[Q]||"text";try{return await(await import("@shikijs/cli")).codeToANSI(Z,J,M7)}catch{return Z}}async function bq(Z,Y,Q,J,q,X){if(q)wj();let z=q||X===void 0?x0({message:"Loading file..."}):void 0;try{let W=X??(await k`${Z.git$} -c color.ui=never show ${VS(Y,Q,J)}`).stdout,[U,K,B]=await Promise.all([F3(Z.git$,J,!1),_S(W,Q.path),yq(Z.git$,J,Q)]);return z?.stop(),await s5(K,{showLineNumbers:!0,lineNumberWidth:Math.max(4,String(W.split(`
1023
- `).length).length),statusText:`${K8(Q.path,40,"mid",-1)}@${U||J.slice(0,7)}`,actions:Cj(B)})}catch(W){throw z?.stop(),W}}async function vq(Z,Y,Q,J,q,X){if(q)wj();let z=q&&X===void 0?x0({message:"Loading commit..."}):void 0;try{let W=X??(await k`${Z.git$} -c color.ui=never show ${Nj(Y,Q,J)}`).stdout,[U,K,B]=await Promise.all([F3(Z.git$,J,!1),OS(Z.git$,Y,Q,J),yq(Z.git$,J,Q)]);if(z?.stop(),!W||!qQ(W))return;return await EZ(jS(W,{relativeRef:U,stat:K}),{actions:Cj(B),git$:Z.git$,highlighting:{oldRevision:`${J}^`,newRevision:J}})}catch(W){throw z?.stop(),W}}async function Rj(Z,Y,Q){let J=FS(Y),q=await Aj(Z.git$,J.targetRef),X=await vq(Z,Y,J,q,!1,Q);while(X?.action===q7||X?.action===Sq){process.stdout.write("\x1B[H"),process.stdout.clearScreenDown();let z=X.action===q7?"previous":"next",W=await Gj(Z.git$,q,J,z);if(!W){M.warn("Attempted to navigate beyond available commits, but no adjacent commit was found. This is unexpected since navigation actions should have been disabled. Reloading current commit as fallback.","show-navigation"),X=await vq(Z,Y,J,q,!0);continue}q=W,X=await vq(Z,Y,J,q,!0)}}async function Tj(Z,Y,Q,J){let q=await Aj(Z.git$,Q.targetRef),X=await bq(Z,Y,Q,q,!1,J);while(X?.action===q7||X?.action===Sq){process.stdout.write("\x1B[H"),process.stdout.clearScreenDown();let z=X.action===q7?"previous":"next",W=await Gj(Z.git$,q,Q,z);if(!W){M.warn("Attempted to navigate beyond available commits, but no adjacent commit was found. This is unexpected since navigation actions should have been disabled. Reloading current commit as fallback.","show-navigation"),X=await bq(Z,Y,Q,q,!0);continue}q=W,X=await bq(Z,Y,Q,q,!0)}}var US,q7="previousCommit",Sq="nextCommit",KS="\x1B[D",BS="\x1B[C",$S;var kj=j(()=>{z0();H0();xZ();g3();g0();b0();X6();w0();US=/^diff --(git|cc|combined)\b/,$S=new Set(["--author","--committer","--grep","--grep-reflog","--since","--after","--until","--before","--max-count","--skip","--diff-filter","--branches","--tags","--remotes","--glob","--exclude","--date","--decorate","--encoding","--notes","--pretty","--format","-n"])});var Ej={};b4(Ej,{dispatch:()=>fq});async function fq(Z,Y={inMacro:!1}){let Q=Z.args,J=Q.slice(0);if(!Y.inMacro){let W=await LQ();if(Q[0]&&Q[0]in W){let U=Q[0],K=W[U],B=Q.slice(1);R(H.dim+H.magenta+`※ ${H.white+H.bright} Executing macro '${U}'...`+H.reset);let{executeMacro:$}=await Promise.resolve().then(() => (wQ(),xj));return await $(Z.git$,K,B)}}else{let W=await LQ();if(Q[0]&&Q[0]in W)return M.error(`Macro '${Q[0]}' cannot be invoked from inside a macro. Macro composition is not allowed.`,"macro"),1}let q=null,X=">",z=!Q.popOption("--no-enhance");Z:if(Q[0]){let{match:W,candidates:U}=f0(Q[0],cZ);if(W)Q[0]=W;switch(Q[0]){case"s":Q[0]="status";case"status":if(Q.includes("-r")||Q.includes("--recursive"))return await S0.status(Z);break;case"submodule":{let K=["switch","update","status","add","sync","summary","deinit","foreach"],B=f0(Q[1]||"",K,!0);switch(B.match){case"switch":return await S0.submodule.switch(Z);case"update":case"add":case"deinit":{let $=!!Q.popOption("--quiet");Q[1]=B.match;let F=await S0.submodule.handleUserCommand(Z,Q.slice(1),$);if(typeof F==="number")return F}default:if(B.match)Q[1]=B.match}break}case"tag":{let K=["move","mv"],B=f0(Q[1]||"",K,!0);if(B.match)Q[1]=B.match;if(Q[1]==="mv")Q[1]="move";if(Q[1]==="move")return await S0.tag.move(Z);break}case"co":Q[0]="checkout";break;case"br":Q[0]="branch";break;case"cmi":Q[0]="commit";case"commit":if(Q[1]==="auto")return await S0.commit.auto(Z);break;case"mg":Q[0]="merge";break;case"pl":case"pu":Q[0]="pull";case"pull":for(let K=1;K<Q.length;K++)if(Q[K]==="-au"){Q[K]="--allow-unrelated-histories";break}break;case"lint":return await S0.lint(Z);case"diff":{let{error:K}=await a8(Q,Z.git$);if(K)return 1;let B=await K0();if(z&&B.get("enhancedOutput")&&e1()&&!Q.includes("--stat")&&!Q.includes("-h")&&!Q.includes("--help")&&!Q.includes("--numstat")&&!Q.includes("--name-only")&&!Q.includes("--name-status")){let $=Q.slice(1),F=$.popOption("--json");try{let O=await k`${Z.git$} -c color.ui=never diff ${$}`;if(O.stdout){if(F){let V=kZ(O.stdout);return R(JSON.stringify(V,null,2)),0}return await EZ(O.stdout),0}}catch(O){M.info("Failed to get or parse diff output for enhanced diff-view, ignoring: "+o.from(O))}}break}case"show":{let{error:K}=await a8(Q,Z.git$);if(K)return 1;let B=await K0();if(z&&B.get("enhancedOutput")&&e1()&&!Q.includes("--stat")&&!Q.includes("-h")&&!Q.includes("--help")&&!Q.includes("--numstat")&&!Q.includes("--name-only")&&!Q.includes("--name-status")&&!Q.hasOption("--format")){let $=Q.slice(1),F=$.popOption("--json");try{let O=await k`${Z.git$} -c color.ui=never show ${$}`;if(O.stdout&&qQ(O.stdout)){if(F){let D=kZ(O.stdout);return R(JSON.stringify(D,null,2)),0}return await Rj(Z,$,O.stdout),0}let V=Ij($);if(V&&!F)return await Tj(Z,$,V,O.stdout),0}catch(O){M.info("Failed to get show output for enhanced diff-view, ignoring: "+o.from(O))}}break}case"ps":Q[0]="push";case"push":{if(!Q.popOption("--no-lint")){let B=(await K0()).get("lint.onPushBehavior")||"off";if(B==="error"||B==="warning"){if(await S0.lint(Z)!==0)if(B==="error")return M.error("Lint failed. Push aborted.","lint"),1;else R(H.yellow+"Lint failed, but proceeding with push (warning mode)."+H.reset)}}Q.spliceOption("-fl",["--force-with-lease"],1);break}case"ad":Q[0]="add";break;case"rv":Q[0]="revert";break;case"rb":Q[0]="rebase";break;case"reset":{Q[0]="reset";for(let B=1;B<Q.length;B++){if(Q[B]==="-h"){Q[B]="--hard";break}if(Q[B]==="-s"){Q[B]="--soft";break}}let{error:K}=await a8(Q,Z.git$);if(K)return 1;break}case"log":case"lg":if(Q[0]==="lg"&&Q.length===1)Q.push("--oneline","--graph","--decorate","--all");else if(Q.popOption("export")){let K='--date=format:"%Y-%m-%d %H:%M"';if(!Q.hasOption("--author",1)){let O=Array.isArray(Z.git$)?Z.git$[0]:Z.git$;Q.push("--author="+await s8(O,"user.email"))}let $=Q.indexOf("--relative");if($>=0)Q.splice($,1),K='--date=format:"%Y-%m-%d %H:%M" (%ar)';let F=["--all",`--pretty=format:## Commit %h on [%p] - %ad%d
1019
+ ${H.cyan}${R} reword${H.reset+H.dim} # Reword the latest commit${H.reset}
1020
+ ${H.cyan}${R} reword ~2${H.reset+H.dim} # Reword HEAD~2${H.reset}
1021
+ ${H.cyan}${R} reword deadbeef${H.reset+H.dim} # Reword a specific commit${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},yj={$root:[]}});function hj(Z,Y,Q){let J=Z.slice();if(Y.targetIndex===null){let q=J.indexOf("--");return J.splice(q===-1?0:q,0,Q),J}return J[Y.targetIndex]=Q,J}function uS(Z){let Y=Z.indexOf("--"),Q=Y===-1?Z.length:Y,J=null;for(let U=0;U<Q;U++){let K=Z[U];if(!K)continue;if(mj(K)&&U+1<Q){U++;continue}if(K.startsWith("-"))continue;J=U;break}let q=J===null?"HEAD":Z[J],X=Z.filter((U,K)=>K!==J),z=X.indexOf("--"),W=z===-1?X.length:z;return X.splice(W,0,"HEAD"),{targetRef:q,targetIndex:J,navigationArgs:X}}function gj(Z){let Y=Z.indexOf("--"),Q=Y===-1?Z.length:Y;for(let J=0;J<Q;J++){let q=Z[J];if(!q)continue;if(mj(q)&&J+1<Q){J++;continue}if(q.startsWith("-"))continue;if(q.startsWith(":")){let K=q.match(/^:(?:[0-3]:)?(.+)$/);if(!K)return null;return{targetRef:"",targetIndex:J,navigationArgs:[],path:K[1],isIndexStage:!0}}let X=q.indexOf(":");if(X<=0||X===q.length-1)return null;let z=q.slice(0,X),W=q.slice(X+1),U=Z.filter((K,B)=>B!==J&&B<Q);return U.push("HEAD","--",W),{targetRef:z,targetIndex:J,navigationArgs:U,path:W,isIndexStage:!1}}return null}function dS(Z,Y,Q){let J=Z.slice();if(Y.isIndexStage)return J;if(Y.targetIndex!==null)J[Y.targetIndex]=`${Q}:${Y.path}`;return J}function cS(Z){return Z.some((Y)=>Y==="-L"||Y.startsWith("-L:")||Y.startsWith("-L/"))}function mj(Z){if(Z.includes("="))return!1;if(pS.has(Z))return!0;if(/^-n\d+$/.test(Z))return!1;return!1}function pj(){if(!process.stdout.isTTY)return;process.stdout.write("\x1B[2J\x1B[H")}async function uj(Z,Y){return A0(Z,["--verify",`${Y}^{commit}`])}async function lS(Z,Y,Q,J){if(cS(Y))return"";return(await k`${Z} -c color.ui=never show --stat --format= ${hj(Y,Q,J)}`).stdout.trimEnd().replace(/(\W)(\++)/g,`$1${H.green}$2${T0(X0.overlay0)}`).replace(/(\W|\d{1,3}m)(-+)/g,`$1${H.red}$2${T0(X0.overlay0)}`)}function nS(Z){let Y=Z.split(`
1022
+ `),Q=Y.findIndex((J)=>fS.test(J));if(Q===-1){if(TQ(Z))return{body:"",preamble:Y};return{body:Z,preamble:[]}}return{body:Y.slice(Q).join(`
1023
+ `),preamble:Y.slice(0,Q)}}function TQ(Z){return Z.split(`
1024
+ `).some((Y)=>hS.test(Y))}function oS(Z){let{relativeRef:Y,stat:Q}=Z,J=Z.preamble.slice(),q=J.findIndex((z)=>/^commit [0-9a-f]{7,40}\b/i.test(z));if(Y&&q!==-1&&!J[q].includes(Y))J[q]=`Commit:${J[q].slice(6)} (${Y})`;while(J.length>0&&J[J.length-1]==="")J.pop();let X=Q?.trimEnd();if(X)J.push(""),J.push(...X.split(`
1025
+ `));return J}function iS(Z,Y){let{body:Q,preamble:J}=nS(Z);if(J.length===0)return Z;return[...oS({preamble:J,relativeRef:Y.relativeRef,stat:Y.stat}),"",Q].join(`
1026
+ `)}async function dj(Z,Y,Q,J){return(await oq(Z,Y,Q))[J]}async function oq(Z,Y,Q){let q=(await k`${Z} log --format=%H ${Q.navigationArgs}`).stdout.split(`
1027
+ `).map((j)=>j.trim()).filter(Boolean),X=q.indexOf(Y);if(X!==-1)return{previous:q[X+1]??null,next:q[X-1]??null};let z=Q.navigationArgs.indexOf("--");if(z===-1)return{previous:null,next:null};let W=Q.navigationArgs.slice(0,z),K=(await k`${Z} log --format=%H ${W}`).stdout.split(`
1028
+ `).map((j)=>j.trim()).filter(Boolean),B=K.indexOf(Y);if(B===-1)return{previous:null,next:null};let $=new Map(K.map((j,_)=>[j,_])),V=null,D=null,F=Number.POSITIVE_INFINITY,O=Number.POSITIVE_INFINITY;for(let j of q){let _=$.get(j);if(_===void 0)continue;if(_>B&&_-B<F)V=j,F=_-B;if(_<B&&B-_<O)D=j,O=B-_}return{previous:V,next:D}}function cj(Z){let Y=[];if(Z.previous)Y.push({key:gS,displayKey:"←",label:"previous",action:H7});if(Z.next)Y.push({key:mS,displayKey:"→",label:"next",action:nq});return Y}async function fj(Z,Y){let Q=Y.split(".").pop()?.toLowerCase()||"",J=I7[Q]||"text";try{return await(await import("@shikijs/cli")).codeToANSI(Z,J,N7)}catch{return Z}}async function RQ(Z,Y,Q,J,q,X){if(q)pj();let z=q||X===void 0?P0({message:"Loading file..."}):void 0;try{let W=X??(await k`${Z.git$} -c color.ui=never show ${dS(Y,Q,J)}`).stdout,[U,K,B]=Q.isIndexStage?["index",await fj(W,Q.path),{previous:null,next:null}]:await Promise.all([IJ(Z.git$,J,!1),fj(W,Q.path),oq(Z.git$,J,Q)]);return z?.stop(),await t5(K,{showLineNumbers:!0,lineNumberWidth:Math.max(4,String(W.split(`
1029
+ `).length).length)+2,statusText:`${B4(Q.path,40,"mid",-1)}@${U||J.slice(0,7)}`,actions:cj(B)})}catch(W){throw z?.stop(),W}}async function lq(Z,Y,Q,J,q,X){if(q)pj();let z=q&&X===void 0?P0({message:"Loading commit..."}):void 0;try{let W=X??(await k`${Z.git$} -c color.ui=never show ${hj(Y,Q,J)}`).stdout,[U,K,B]=await Promise.all([IJ(Z.git$,J,!1),lS(Z.git$,Y,Q,J),oq(Z.git$,J,Q)]);if(z?.stop(),!W||!UQ(W)&&!TQ(W))return;return await xZ(iS(W,{relativeRef:U,stat:K}),{actions:cj(B),git$:Z.git$,highlighting:{oldRevision:`${J}^`,newRevision:J}})}catch(W){throw z?.stop(),W}}async function lj(Z,Y,Q){let J=uS(Y),q=await uj(Z.git$,J.targetRef),X=await lq(Z,Y,J,q,!1,Q);while(X?.action===H7||X?.action===nq){process.stdout.write("\x1B[H"),process.stdout.clearScreenDown();let z=X.action===H7?"previous":"next",W=await dj(Z.git$,q,J,z);if(!W){M.warn("Attempted to navigate beyond available commits, but no adjacent commit was found. This is unexpected since navigation actions should have been disabled. Reloading current commit as fallback.","show-navigation"),X=await lq(Z,Y,J,q,!0);continue}q=W,X=await lq(Z,Y,J,q,!0)}}async function nj(Z,Y,Q,J){if(Q.isIndexStage){await RQ(Z,Y,Q,"",!1,J);return}let q=await uj(Z.git$,Q.targetRef),X=await RQ(Z,Y,Q,q,!1,J);while(X?.action===H7||X?.action===nq){process.stdout.write("\x1B[H"),process.stdout.clearScreenDown();let z=X.action===H7?"previous":"next",W=await dj(Z.git$,q,Q,z);if(!W){M.warn("Attempted to navigate beyond available commits, but no adjacent commit was found. This is unexpected since navigation actions should have been disabled. Reloading current commit as fallback.","show-navigation"),X=await RQ(Z,Y,Q,q,!0);continue}q=W,X=await RQ(Z,Y,Q,q,!0)}}var fS,hS,H7="previousCommit",nq="nextCommit",gS="\x1B[D",mS="\x1B[C",pS;var oj=N(()=>{z0();H0();bZ();oJ();m0();v0();e0();w0();fS=/^diff --(git|cc|combined)\b/,hS=/^commit [0-9a-f]{7,40}\b/i,pS=new Set(["--author","--committer","--grep","--grep-reflog","--since","--after","--until","--before","--max-count","--skip","--diff-filter","--branches","--tags","--remotes","--glob","--exclude","--date","--decorate","--encoding","--notes","--pretty","--format","-n","-L"])});var ij={};y8(ij,{dispatch:()=>iq});async function iq(Z,Y={inMacro:!1}){let Q=Z.args,J=Q.slice(0);if(!Y.inMacro){let W=await kQ();if(Q[0]&&Q[0]in W){let U=Q[0],K=W[U],B=Q.slice(1);C(H.dim+H.magenta+`※ ${H.white+H.bright} Executing macro '${U}'...`+H.reset);let{executeMacro:$}=await Promise.resolve().then(() => (EQ(),sj));return await $(Z.git$,K,B)}}else{let W=await kQ();if(Q[0]&&Q[0]in W)return M.error(`Macro '${Q[0]}' cannot be invoked from inside a macro. Macro composition is not allowed.`,"macro"),1}let q=null,X=">",z=!Q.popOption("--no-enhance");Z:if(Q[0]){let{match:W,candidates:U}=h0(Q[0],nZ);if(W)Q[0]=W;switch(Q[0]){case"s":Q[0]="status";case"status":if(Q.includes("-r")||Q.includes("--recursive"))return await y0.status(Z);break;case"submodule":{let K=["switch","update","status","add","sync","summary","deinit","foreach"],B=h0(Q[1]||"",K,!0);switch(B.match){case"switch":return await y0.submodule.switch(Z);case"update":case"add":case"deinit":{let $=!!Q.popOption("--quiet");Q[1]=B.match;let V=await y0.submodule.handleUserCommand(Z,Q.slice(1),$);if(typeof V==="number")return V}default:if(B.match)Q[1]=B.match}break}case"tag":{let K=["move","mv"],B=h0(Q[1]||"",K,!0);if(B.match)Q[1]=B.match;if(Q[1]==="mv")Q[1]="move";if(Q[1]==="move")return await y0.tag.move(Z);break}case"co":Q[0]="checkout";break;case"br":Q[0]="branch";break;case"cmi":Q[0]="commit";case"commit":if(Q[1]==="auto")return await y0.commit.auto(Z);break;case"mg":Q[0]="merge";break;case"pl":case"pu":Q[0]="pull";case"pull":for(let K=1;K<Q.length;K++)if(Q[K]==="-au"){Q[K]="--allow-unrelated-histories";break}break;case"lint":return await y0.lint(Z);case"diff":{let{error:K}=await T4(Q,Z.git$);if(K)return 1;let B=await K0();if(z&&B.get("enhancedOutput")&&Q7()&&!Q.includes("--stat")&&!Q.includes("-h")&&!Q.includes("--help")&&!Q.includes("--numstat")&&!Q.includes("--name-only")&&!Q.includes("--name-status")){let $=Q.slice(1),V=$.popOption("--json");try{let D=await k`${Z.git$} -c color.ui=never diff ${$}`;if(D.stdout){if(V){let j=PZ(D.stdout);return C(JSON.stringify(j,null,2)),0}let F=$.hasOption("--cached")||$.hasOption("--staged"),O=!$.hasOption("--no-index");return await xZ(D.stdout,O?{git$:Z.git$,highlighting:{oldRevision:"HEAD",newRevision:F?Nq:_q}}:void 0),0}}catch(D){M.info("Failed to get or parse diff output for enhanced diff-view, ignoring: "+o.from(D))}}break}case"show":{let{error:K}=await T4(Q,Z.git$);if(K)return 1;let{error:B}=await yO(Q,Z.git$);if(B)return 1;let $=await K0();if(z&&$.get("enhancedOutput")&&Q7()&&!Q.includes("--stat")&&!Q.includes("-h")&&!Q.includes("--help")&&!Q.includes("--numstat")&&!Q.includes("--name-only")&&!Q.includes("--name-status")&&!Q.hasOption("--format")){let V=Q.slice(1),D=V.popOption("--json");try{let F=await k`${Z.git$} -c color.ui=never show ${V}`;if(F.stdout&&(UQ(F.stdout)||TQ(F.stdout))){if(D){let j=PZ(F.stdout);return C(JSON.stringify(j,null,2)),0}return await lj(Z,V,F.stdout),0}let O=gj(V);if(O&&!D)return await nj(Z,V,O,F.stdout),0}catch(F){M.info("Failed to get show output for enhanced diff-view, ignoring: "+o.from(F))}}break}case"ps":Q[0]="push";case"push":{if(!Q.popOption("--no-lint")){let B=(await K0()).get("lint.onPushBehavior")||"off";if(B==="error"||B==="warning"){if(await y0.lint(Z)!==0)if(B==="error")return M.error("Lint failed. Push aborted.","lint"),1;else C(H.yellow+"Lint failed, but proceeding with push (warning mode)."+H.reset)}}Q.spliceOption("-fl",["--force-with-lease"],1);break}case"ad":Q[0]="add";break;case"rv":Q[0]="revert";break;case"rb":Q[0]="rebase";break;case"reset":{Q[0]="reset";for(let B=1;B<Q.length;B++){if(Q[B]==="-h"){Q[B]="--hard";break}if(Q[B]==="-s"){Q[B]="--soft";break}}let{error:K}=await T4(Q,Z.git$);if(K)return 1;break}case"log":case"lg":if(Q[0]==="lg"&&Q.length===1)Q.push("--oneline","--graph","--decorate","--all");else if(Q.popOption("export")){let K='--date=format:"%Y-%m-%d %H:%M"';if(!Q.hasOption("--author",1)){let D=Array.isArray(Z.git$)?Z.git$[0]:Z.git$;Q.push("--author="+await t4(D,"user.email"))}let $=Q.indexOf("--relative");if($>=0)Q.splice($,1),K='--date=format:"%Y-%m-%d %H:%M" (%ar)';let V=["--all",`--pretty=format:## Commit %h on [%p] - %ad%d
1024
1030
  %s
1025
1031
 
1026
1032
  %b
1027
1033
  ---
1028
- `,K].filter((O)=>!Q.hasOption(O,1));Q.push(...F),q="gitlog_export.md",X=">"}Q[0]="log";break;case"sta":Q[0]="stash";case"stash":{let K=["apply","pop","list","drop","clear","show","push","save","create","store"],B=f0(Q[1]||"",K,!0);if(B.match)Q[1]=B.match;else{let $=Q.indexOf("--");$=$>=0?$:Q.length;let F=!1;for(let O=1;O<$;O++)if(K.includes(Q[O])||Q[O]==="-h"||Q[O]==="--help"){F=!0;break}if(!F){let O=Array.isArray(Z.git$)?Z.git$[0]:Z.git$,D=hX(await OO(O),"2.15.0")>=0?"push":"save";Q.splice(1,0,D)}}if(Q[1]==="drop"){let $=Array.isArray(Z.git$)?Z.git$[0]:Z.git$;return await S0.stash.drop($,Q)}break}case"graph":return S0.graph(Z);case"stats":return S0.stats(Z);case"clear":return S0.clear(Z);case"cache":return S0.cache(Z);case"gdx-config":return S0.gdxConfig(Z);case"gdx-help":case"ghelp":return S0.help(Q[1]);case"nocap":return S0.nocap(Z);case"parallel":return S0.parallel(Z);case"doctor":return S0.doctor();case"macro":return S0.macro(Z);case"reword":return S0.reword(Z);case"snap":return S0.snap(Z);default:if(U&&U.length>1){M.warn(`Ambiguous command '${J[0]}'. Did you mean one of: ${U.join(", ")}?`);break Z}}}if(Y.inMacro||J.some((W,U)=>Q[U]!==W)){let W=Vz((Q.length%6+1)/8.6,0.64,0.5);R(H.dim+M0(v8(W),"fg")+`$ ${H.white+H.bright}git ${F7(Q).join(" ")}`+H.reset)}return IZ(Z.git$,Q,q,X)}var hq=j(()=>{z0();gq();H0();g0();R0();$6();w0();wQ();b0();X6();xZ();kj()});var xj={};b4(xj,{writeMacrosToFile:()=>AQ,syncMacrosToCache:()=>pq,substitutePlaceholders:()=>bj,readMacrosFromFile:()=>t8,isFilePath:()=>uq,getMacrosCachedOrLoad:()=>LQ,executeMacro:()=>IS});import NS from"path";async function t8(){try{if(!l(q4))return{};let Z=await p0(q4,"utf-8"),Y=JSON.parse(Z);if(typeof Y!=="object"||Y===null||Array.isArray(Y))return M.warn(`Invalid macro.json format at ${q4}`,"macro"),{};return Y}catch(Z){return M.warn(`Failed to read macro.json: ${o.from(Z).message}`,"macro"),{}}}async function AQ(Z){try{let Y=NS.dirname(q4);if(!l(Y))n0(Y,{recursive:!0});let Q=JSON.stringify(Z,null,2);await c0(q4,Q,"utf-8"),M.debug(`Macros written to ${q4}`,"macro")}catch(Y){throw new o(`Failed to write macro.json: ${o.from(Y).message}`,"MACRO_WRITE_FAILED")}}async function pq(){let Z=await t8(),Y=await I0();if(Y.isDisabled)throw new o("Cache is disabled. Cannot sync macros to cache.","CACHE_DISABLED");await Y.set(mq,Z,{maxAgeMinutes:Pj}),M.debug(`Synced ${Object.keys(Z).length} macros to cache`,"macro")}async function LQ(){let Z=await I0();if(Z.isDisabled)return await t8();let Y=await Z.get(mq);if(Y)return M.debug("Using cached macros","macro"),Y;let Q=await t8();return await Z.set(mq,Q,{maxAgeMinutes:Pj}),M.debug("Loaded macros from file and cached","macro"),Q}async function IS(Z,Y,Q){let J=Y.split(";").map((X)=>X.trim()).filter((X)=>X.length>0);if(J.length===0)return M.error("Macro script is empty.","macro"),1;let{dispatch:q}=await Promise.resolve().then(() => (hq(),Ej));for(let X=0;X<J.length;X++){let z=X===J.length-1,W=C5(J[X]),{substituted:U,notUsedArgs:K}=bj(W,Q);if(z)U.push(...K);if(U.length===0)continue;R(H.dim+H.cyan+`▶ Executing: ${H.white+H.bright}gdx ${F7(U).join(" ")}`+H.reset);let B={git$:Z,args:new R8(U)},$=await q(B,{inMacro:!0});if($!==0)return M.error(`Macro command failed with exit code ${$}`,"macro"),$}return 0}function uq(Z){if(Z.startsWith("./")||Z.startsWith("/"))return!0;if(Z.startsWith(".\\"))return!0;if(/^[a-zA-Z]:[/\\]/.test(Z))return!0;return!1}function bj(Z,Y){let Q=-1,J=new Set(Y),q=Z.map((X,z)=>{return X.replace(/\$(\*|\d+)/g,(W,U)=>{if(U==="*")return Q=z,J.clear(),"";let K=parseInt(U,10)-1;if(K>=0&&K<Y.length)return J.delete(Y[K]),Y[K];return W})});if(Q!==-1)q.splice(Q,1,...Y);return{substituted:q,notUsedArgs:Array.from(J)}}var mq="macro.all",Pj=1440;var wQ=j(()=>{U6();H0();z8();z0();w0();g0();R0();wZ()});async function LS(Z){let{args:Y}=Z,Q=Y[1]?.toLowerCase(),{match:J,candidates:q}=f0(Q,["set","list","drop","sync"]);switch(J){case"set":return await AS(Z);case"list":return await GS();case"drop":return await CS(Z);case"sync":return await RS();default:if(q&&q.length>0)M.warn(`Ambiguous command '${Q}'. Did you mean one of: ${q.join(", ")}?`);else M.warn(`Unknown macro subcommand '${Q}'`);return M.info("Available subcommands: set, list, drop, sync","macro"),1}}async function wS(){return new Promise((Z,Y)=>{let Q="";if(process.stdin.setEncoding("utf-8"),process.stdin.on("data",(J)=>{Q+=J}),process.stdin.on("end",()=>{Z(Q.trim())}),process.stdin.on("error",(J)=>{Y(J)}),process.stdin.isTTY)Z("")})}async function AS(Z){let{args:Y}=Z,Q=Y[2],J=Y.slice(3);if(!Q)return M.error("Macro name is required. Usage: gdx macro set <name> <script>","macro"),1;let q;if(J.length===0)try{if(q=await wS(),!q)return M.error("Macro script or file path is required. Use: gdx macro set <name> <script> or gdx macro set <name> < file.txt","macro"),1;M.debug("Loaded macro script from stdin","macro")}catch(X){let z=o.from(X);return M.error(`Failed to read from stdin: ${z.message}`,"macro"),M.debug(z.toString(),"macro"),1}else if(J.length===1&&uq(J[0])){let X=J[0];try{if(!l(X))return M.error(`File not found: ${X}`,"macro"),1;q=(await p0(X,"utf-8")).trim(),M.debug(`Loaded macro script from file: ${X}`,"macro")}catch(z){let W=o.from(z);return M.error(`Failed to read file: ${W.message}`,"macro"),M.debug(W.toString(),"macro"),1}}else q=J.join(" ");if(!q)return M.error("Macro script cannot be empty.","macro"),1;try{let X=await t8(),z=Q in X;if(X[Q]=q,await AQ(X),await(await I0()).set("macro.all",X,{maxAgeMinutes:1440}),z)R(H.yellow+`Macro '${Q}' updated.`+H.reset);else R(H.green+`Macro '${Q}' created.`+H.reset);return 0}catch(X){let z=o.from(X);return M.error(`Failed to set macro: ${z.message}`,"macro"),M.debug(z.toString(),"macro"),1}}async function GS(){try{let Z=await t8();await(await I0()).set("macro.all",Z,{maxAgeMinutes:1440});let Q=Object.keys(Z);if(Q.length===0)return R(H.dim+"No macros defined."+H.reset),0;R(H.cyan+H.bright+"Macros:"+H.reset);for(let J of Q.sort()){let q=Z[J],z=(q.length>80?q.substring(0,77)+"...":q).replace(/\s+/g," ");R(` ${H.green}${J}${H.reset}: ${H.dim}${z}${H.reset}`)}return 0}catch(Z){let Y=o.from(Z);return M.error(`Failed to list macros: ${Y.message}`,"macro"),M.debug(Y.toString(),"macro"),1}}async function CS(Z){let{args:Y}=Z,Q=Y[2];if(!Q)return M.error("Macro name is required. Usage: gdx macro drop <name>","macro"),1;try{let J=await t8();if(!(Q in J))return M.error(`Macro '${Q}' not found.`,"macro"),1;return delete J[Q],await AQ(J),await(await I0()).set("macro.all",J,{maxAgeMinutes:1440}),R(H.yellow+`Macro '${Q}' deleted.`+H.reset),0}catch(J){let q=o.from(J);return M.error(`Failed to drop macro: ${q.message}`,"macro"),M.debug(q.toString(),"macro"),1}}async function RS(){try{return await pq(),R(H.green+"Macros synced to cache."+H.reset),0}catch(Z){let Y=o.from(Z);if(Y.code==="CACHE_DISABLED")M.error("Cache is disabled. Cannot sync macros.","macro");else M.error(`Failed to sync macros: ${Y.message}`,"macro");return M.debug(Y.toString(),"macro"),1}}var yj,vj,Sj;var GQ=j(()=>{wQ();z0();w0();R0();z8();U6();H0();b0();v0();o0();yj=LS,vj={long:()=>{return t(Z0`
1034
+ `,K].filter((D)=>!Q.hasOption(D,1));Q.push(...V),q="gitlog_export.md",X=">"}Q[0]="log";break;case"sta":Q[0]="stash";case"stash":{let K=["apply","pop","list","drop","clear","show","push","save","create","store"],B=h0(Q[1]||"",K,!0);if(B.match)Q[1]=B.match;else{let $=Q.indexOf("--");$=$>=0?$:Q.length;let V=!1;for(let D=1;D<$;D++)if(K.includes(Q[D])||Q[D]==="-h"||Q[D]==="--help"){V=!0;break}if(!V){let D=Array.isArray(Z.git$)?Z.git$[0]:Z.git$,O=sX(await GO(D),"2.15.0")>=0?"push":"save";Q.splice(1,0,O)}}if(Q[1]==="drop"){let $=Array.isArray(Z.git$)?Z.git$[0]:Z.git$;return await y0.stash.drop($,Q)}break}case"graph":return y0.graph(Z);case"stats":return y0.stats(Z);case"clear":return y0.clear(Z);case"cache":return y0.cache(Z);case"gdx-config":return y0.gdxConfig(Z);case"gdx-help":case"ghelp":return y0.help(Q[1]);case"nocap":return y0.nocap(Z);case"parallel":return y0.parallel(Z);case"doctor":return y0.doctor();case"macro":return y0.macro(Z);case"reword":return y0.reword(Z);case"snap":return y0.snap(Z);default:if(U&&U.length>1){M.warn(`Ambiguous command '${J[0]}'. Did you mean one of: ${U.join(", ")}?`);break Z}}}if(Y.inMacro||J.some((W,U)=>Q[U]!==W)){let W=Gz((Q.length%6+1)/8.6,0.64,0.5);C(H.dim+M0(y4(W),"fg")+`$ ${H.white+H.bright}git ${D7(Q).join(" ")}`+H.reset)}return wZ(Z.git$,Q,q,X)}var sq=N(()=>{z0();aq();H0();m0();R0();$6();w0();EQ();v0();e0();bZ();oj()});var sj={};y8(sj,{writeMacrosToFile:()=>PQ,syncMacrosToCache:()=>tq,substitutePlaceholders:()=>rj,readMacrosFromFile:()=>Y8,isFilePath:()=>eq,getMacrosCachedOrLoad:()=>kQ,executeMacro:()=>aS});import sS from"path";async function Y8(){try{if(!l(H8))return{};let Z=await f0(H8,"utf-8"),Y=JSON.parse(Z);if(typeof Y!=="object"||Y===null||Array.isArray(Y))return M.warn(`Invalid macro.json format at ${H8}`,"macro"),{};return Y}catch(Z){return M.warn(`Failed to read macro.json: ${o.from(Z).message}`,"macro"),{}}}async function PQ(Z){try{let Y=sS.dirname(H8);if(!l(Y))i0(Y,{recursive:!0});let Q=JSON.stringify(Z,null,2);await c0(H8,Q,"utf-8"),M.debug(`Macros written to ${H8}`,"macro")}catch(Y){throw new o(`Failed to write macro.json: ${o.from(Y).message}`,"MACRO_WRITE_FAILED")}}async function tq(){let Z=await Y8(),Y=await I0();if(Y.isDisabled)throw new o("Cache is disabled. Cannot sync macros to cache.","CACHE_DISABLED");await Y.set(rq,Z,{maxAgeMinutes:aj}),M.debug(`Synced ${Object.keys(Z).length} macros to cache`,"macro")}async function kQ(){let Z=await I0();if(Z.isDisabled)return await Y8();let Y=await Z.get(rq);if(Y)return M.debug("Using cached macros","macro"),Y;let Q=await Y8();return await Z.set(rq,Q,{maxAgeMinutes:aj}),M.debug("Loaded macros from file and cached","macro"),Q}async function aS(Z,Y,Q){let J=Y.split(";").map((X)=>X.trim()).filter((X)=>X.length>0);if(J.length===0)return M.error("Macro script is empty.","macro"),1;let{dispatch:q}=await Promise.resolve().then(() => (sq(),ij));for(let X=0;X<J.length;X++){let z=X===J.length-1,W=BJ(J[X]),{substituted:U,notUsedArgs:K}=rj(W,Q);if(z)U.push(...K);if(U.length===0)continue;C(H.dim+H.cyan+`▶ Executing: ${H.white+H.bright}gdx ${D7(U).join(" ")}`+H.reset);let B={git$:Z,args:new k4(U)},$=await q(B,{inMacro:!0});if($!==0)return M.error(`Macro command failed with exit code ${$}`,"macro"),$}return 0}function eq(Z){if(Z.startsWith("./")||Z.startsWith("/"))return!0;if(Z.startsWith(".\\"))return!0;if(/^[a-zA-Z]:[/\\]/.test(Z))return!0;return!1}function rj(Z,Y){let Q=-1,J=new Set(Y),q=Z.map((X,z)=>{return X.replace(/\$(\*|\d+)/g,(W,U)=>{if(U==="*")return Q=z,J.clear(),"";let K=parseInt(U,10)-1;if(K>=0&&K<Y.length)return J.delete(Y[K]),Y[K];return W})});if(Q!==-1)q.splice(Q,1,...Y);return{substituted:q,notUsedArgs:Array.from(J)}}var rq="macro.all",aj=1440;var EQ=N(()=>{J6();H0();W4();z0();w0();m0();R0();GZ()});async function rS(Z){let{args:Y}=Z,Q=Y[1]?.toLowerCase(),{match:J,candidates:q}=h0(Q,["set","list","drop","sync"]);switch(J){case"set":return await eS(Z);case"list":return await Zy();case"drop":return await Yy(Z);case"sync":return await Qy();default:if(q&&q.length>0)M.warn(`Ambiguous command '${Q}'. Did you mean one of: ${q.join(", ")}?`);else M.warn(`Unknown macro subcommand '${Q}'`);return M.info("Available subcommands: set, list, drop, sync","macro"),1}}async function tS(){return new Promise((Z,Y)=>{let Q="";if(process.stdin.setEncoding("utf-8"),process.stdin.on("data",(J)=>{Q+=J}),process.stdin.on("end",()=>{Z(Q.trim())}),process.stdin.on("error",(J)=>{Y(J)}),process.stdin.isTTY)Z("")})}async function eS(Z){let{args:Y}=Z,Q=Y[2],J=Y.slice(3);if(!Q)return M.error("Macro name is required. Usage: gdx macro set <name> <script>","macro"),1;let q;if(J.length===0)try{if(q=await tS(),!q)return M.error("Macro script or file path is required. Use: gdx macro set <name> <script> or gdx macro set <name> < file.txt","macro"),1;M.debug("Loaded macro script from stdin","macro")}catch(X){let z=o.from(X);return M.error(`Failed to read from stdin: ${z.message}`,"macro"),M.debug(z.toString(),"macro"),1}else if(J.length===1&&eq(J[0])){let X=J[0];try{if(!l(X))return M.error(`File not found: ${X}`,"macro"),1;q=(await f0(X,"utf-8")).trim(),M.debug(`Loaded macro script from file: ${X}`,"macro")}catch(z){let W=o.from(z);return M.error(`Failed to read file: ${W.message}`,"macro"),M.debug(W.toString(),"macro"),1}}else q=J.join(" ");if(!q)return M.error("Macro script cannot be empty.","macro"),1;try{let X=await Y8(),z=Q in X;if(X[Q]=q,await PQ(X),await(await I0()).set("macro.all",X,{maxAgeMinutes:1440}),z)C(H.yellow+`Macro '${Q}' updated.`+H.reset);else C(H.green+`Macro '${Q}' created.`+H.reset);return 0}catch(X){let z=o.from(X);return M.error(`Failed to set macro: ${z.message}`,"macro"),M.debug(z.toString(),"macro"),1}}async function Zy(){try{let Z=await Y8();await(await I0()).set("macro.all",Z,{maxAgeMinutes:1440});let Q=Object.keys(Z);if(Q.length===0)return C(H.dim+"No macros defined."+H.reset),0;C(H.cyan+H.bright+"Macros:"+H.reset);for(let J of Q.sort()){let q=Z[J],z=(q.length>80?q.substring(0,77)+"...":q).replace(/\s+/g," ");C(` ${H.green}${J}${H.reset}: ${H.dim}${z}${H.reset}`)}return 0}catch(Z){let Y=o.from(Z);return M.error(`Failed to list macros: ${Y.message}`,"macro"),M.debug(Y.toString(),"macro"),1}}async function Yy(Z){let{args:Y}=Z,Q=Y[2];if(!Q)return M.error("Macro name is required. Usage: gdx macro drop <name>","macro"),1;try{let J=await Y8();if(!(Q in J))return M.error(`Macro '${Q}' not found.`,"macro"),1;return delete J[Q],await PQ(J),await(await I0()).set("macro.all",J,{maxAgeMinutes:1440}),C(H.yellow+`Macro '${Q}' deleted.`+H.reset),0}catch(J){let q=o.from(J);return M.error(`Failed to drop macro: ${q.message}`,"macro"),M.debug(q.toString(),"macro"),1}}async function Qy(){try{return await tq(),C(H.green+"Macros synced to cache."+H.reset),0}catch(Z){let Y=o.from(Z);if(Y.code==="CACHE_DISABLED")M.error("Cache is disabled. Cannot sync macros.","macro");else M.error(`Failed to sync macros: ${Y.message}`,"macro");return M.debug(Y.toString(),"macro"),1}}var Z_,tj,ej;var xQ=N(()=>{EQ();z0();w0();R0();W4();J6();H0();v0();S0();s0();Z_=rS,tj={long:()=>{return t(Z0`
1029
1035
  ${H.bright+d("MACRO",E.Zinc400,E.Zinc100,0.2)+H.reset}
1030
1036
  Define reusable gdx command sequences.
1031
1037
 
1032
1038
  ${H.bright+d("OVERVIEW",E.Zinc400,E.Zinc100,0.2)+H.reset}
1033
1039
  Macros are stored and executed by name:
1034
- ${H.cyan}${C} <name> [args]${H.reset}.
1040
+ ${H.cyan}${R} <name> [args]${H.reset}.
1035
1041
  They run through the gdx dispatcher, so both gdx custom commands and git commands work.
1036
1042
 
1037
1043
  ${H.bright+d("PLACEHOLDERS",E.Zinc400,E.Zinc100,0.2)+H.reset}
@@ -1046,22 +1052,22 @@ Actionable next steps:`+H.reset),process.platform==="win32"&&process.arch==="x64
1046
1052
 
1047
1053
  ${H.bright+d("NOTES",E.Zinc400,E.Zinc100,0.2)+H.reset}
1048
1054
  - Use semicolons to chain commands.
1049
- - You can read the script from stdin: ${H.cyan}${C} macro set <name> < file.txt${H.reset}.
1055
+ - You can read the script from stdin: ${H.cyan}${R} macro set <name> < file.txt${H.reset}.
1050
1056
  - Macros cannot invoke other macros.
1051
1057
  `,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})},short:"Create and manage reusable command macros.",usage:()=>{return t(Z0`
1052
- ${H.cyan}${C} macro set ${H.dim}<name> <script|file>${H.reset}
1053
- ${H.cyan}${C} macro set ${H.dim}<name> < <file>${H.reset}
1054
- ${H.cyan}${C} macro list${H.reset}
1055
- ${H.cyan}${C} macro drop ${H.dim}<name>${H.reset}
1056
- ${H.cyan}${C} macro sync${H.reset}
1058
+ ${H.cyan}${R} macro set ${H.dim}<name> <script|file>${H.reset}
1059
+ ${H.cyan}${R} macro set ${H.dim}<name> < <file>${H.reset}
1060
+ ${H.cyan}${R} macro list${H.reset}
1061
+ ${H.cyan}${R} macro drop ${H.dim}<name>${H.reset}
1062
+ ${H.cyan}${R} macro sync${H.reset}
1057
1063
 
1058
1064
  Examples:
1059
- ${H.cyan}${C} macro set qc 'ad . ; cmi -m "$1"' ${H.reset+H.dim}# Save a macro with args${H.reset}
1060
- ${H.cyan}${C} qc "ship it" ${H.reset+H.dim}# Run macro by name${H.reset}
1061
- ${H.cyan}${C} macro set build ./script.txt ${H.reset+H.dim}# Load from file${H.reset}
1062
- `,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},Sj={$root:{set:{},list:{},drop:{},sync:{}}}});async function TS(Z,Y){try{let{stdout:Q}=await k`${Z} cat-file -t ${Y}`;return Q.trim()}catch{return null}}function kS(Z,Y){let Q=Z.split(`
1065
+ ${H.cyan}${R} macro set qc 'ad . ; cmi -m "$1"' ${H.reset+H.dim}# Save a macro with args${H.reset}
1066
+ ${H.cyan}${R} qc "ship it" ${H.reset+H.dim}# Run macro by name${H.reset}
1067
+ ${H.cyan}${R} macro set build ./script.txt ${H.reset+H.dim}# Load from file${H.reset}
1068
+ `,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},ej={$root:{set:{},list:{},drop:{},sync:{}}}});async function Jy(Z,Y){try{let{stdout:Q}=await k`${Z} cat-file -t ${Y}`;return Q.trim()}catch{return null}}function qy(Z,Y){let Q=Z.split(`
1063
1069
  `);if(!Q[0]?.startsWith("object "))throw new o("Invalid annotated tag object payload.","INVALID_TAG_OBJECT");return Q[0]=`object ${Y}`,Q.join(`
1064
- `)}async function ES(Z){let{git$:Y,args:Q}=Z;if(!await i8(Y))return 1;if(Q.length!==4)return M.error(`Usage: ${C} tag [move|mv] <tag-name> <target-ref>`,"tag"),1;let{error:J}=await a8(Q,Y,3);if(J)return 1;let q=Q[2],X=Q[3],z=`refs/tags/${q}`;try{let W=await LZ(Y,X,{type:"commit"});if(!W)return M.error(`Invalid target commit reference: ${X}`,"tag"),1;let U=await TS(Y,z);if(!U)return M.error(`Tag '${q}' does not exist.`,"tag"),1;if(U==="tag"){let K=await LZ(Y,z,{type:"tag"});if(!K)return M.error(`Failed to resolve current tag object for '${q}'.`,"tag"),1;let B=(await k`${Y} cat-file tag ${z}`).stdout,$=kS(B,W),F=(await k({input:$})`${Y} mktag`).stdout.trim();if(!F)return M.error(`Failed to create new tag object for '${q}'.`,"tag"),1;await k`${Y} update-ref ${z} ${F} ${K}`}else{let K=await LZ(Y,z);if(!K)return M.error(`Failed to resolve current ref for '${q}'.`,"tag"),1;await k`${Y} update-ref ${z} ${W} ${K}`}return R(H.green+`Moved tag '${q}' to ${H.bright+W.slice(0,12)+H.green}.`+H.reset),0}catch(W){return M.error(u(o.from(W),{color:!0}),"tag"),1}}var fj,hj,gj;var CQ=j(()=>{z0();g0();X6();H0();b0();w0();R0();v0();o0();fj={move:ES},hj={long:()=>{return t(Z0`
1070
+ `)}async function Xy(Z){let{git$:Y,args:Q}=Z;if(!await r4(Y))return 1;if(Q.length!==4)return M.error(`Usage: ${R} tag [move|mv] <tag-name> <target-ref>`,"tag"),1;let{error:J}=await T4(Q,Y,3);if(J)return 1;let q=Q[2],X=Q[3],z=`refs/tags/${q}`;try{let W=await AZ(Y,X,{type:"commit"});if(!W)return M.error(`Invalid target commit reference: ${X}`,"tag"),1;let U=await Jy(Y,z);if(!U)return M.error(`Tag '${q}' does not exist.`,"tag"),1;if(U==="tag"){let K=await AZ(Y,z,{type:"tag"});if(!K)return M.error(`Failed to resolve current tag object for '${q}'.`,"tag"),1;let B=(await k`${Y} cat-file tag ${z}`).stdout,$=qy(B,W),V=(await k({input:$})`${Y} mktag`).stdout.trim();if(!V)return M.error(`Failed to create new tag object for '${q}'.`,"tag"),1;await k`${Y} update-ref ${z} ${V} ${K}`}else{let K=await AZ(Y,z);if(!K)return M.error(`Failed to resolve current ref for '${q}'.`,"tag"),1;await k`${Y} update-ref ${z} ${W} ${K}`}return C(H.green+`Moved tag '${q}' to ${H.bright+W.slice(0,12)+H.green}.`+H.reset),0}catch(W){return M.error(u(o.from(W),{color:!0}),"tag"),1}}var Y_,Q_,J_;var bQ=N(()=>{z0();m0();e0();H0();v0();w0();R0();S0();s0();Y_={move:Xy},Q_={long:()=>{return t(Z0`
1065
1071
  ${H.bright+d("TAG MOVE",E.Zinc400,E.Zinc100,0.2)+H.reset}
1066
1072
  Move a tag to another commit.
1067
1073
 
@@ -1074,101 +1080,101 @@ Actionable next steps:`+H.reset),process.platform==="win32"&&process.arch==="x64
1074
1080
  - Supports relative refs such as ${H.cyan}~3${H.reset} via GDX ref expansion.
1075
1081
  - Supports both annotated and lightweight tags.
1076
1082
  `,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})},short:"Extends git tag with ability to move tags.",usage:()=>{return t(Z0`
1077
- ${H.cyan}${C} tag move ${H.dim}<tag-name> <target-ref>${H.reset}
1078
- ${H.cyan}${C} tag mv ${H.dim}<tag-name> <target-ref>${H.reset}
1083
+ ${H.cyan}${R} tag move ${H.dim}<tag-name> <target-ref>${H.reset}
1084
+ ${H.cyan}${R} tag mv ${H.dim}<tag-name> <target-ref>${H.reset}
1079
1085
 
1080
1086
  Example:
1081
- ${H.cyan}${C} tag mv my-tag ~3 ${H.reset+H.dim}# Move my-tag to HEAD~3${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},gj={$root:{move:{},mv:{}}}});import dj from"crypto";import B0 from"path";async function cj(Z){let[Y,Q,J,q,X]=await Promise.all([lq(Z),x4(Z,["-c","color.ui=never","diff","--cached","--binary","--no-color","--no-ext-diff"]),x4(Z,["-c","color.ui=never","diff","--binary","--no-color","--no-ext-diff"]),x4(Z,["diff","--cached","--name-status","-z"]).then(cS),x4(Z,["-c","core.quotePath=false","ls-files","--others","--exclude-standard","-z"])]),z=Y.repoRoot,W=new TextEncoder,U=[{path:"worktree/staged.patch",data:W.encode(uj(Q)),kind:"file"},{path:"worktree/unstaged.patch",data:W.encode(uj(J)),kind:"file"},{path:"worktree/staged-status.json",data:W.encode(bQ(q)),kind:"file"}];for(let K of dS(X)){let B=SZ(K),$=B0.join(z,...B.split("/")),F=t6($);U.push({path:`worktree/untracked/${B}`,data:iq(F),kind:"file"})}return await rj("worktree",Y,U)}async function lj(Z){let Y=x0({message:"Collecting repository info..."}),Q=await lq(Z),J=Q.repoRoot,q=(await A0(Z,["--git-common-dir"])).trim();if(!q)throw Y.stop(),Error("Unable to resolve the git common directory for this repository.");let X=B0.isAbsolute(q)?q:B0.resolve(J,q);await fZ();let z=K7(B0.join(PQ(),"full-")),W=B0.join(z,"git");try{vX(X,W,{recursive:!0}),Y.setMessage("Creating snapshot archive..."),await pS(W);let U=J_(Z);await k`${U} --git-dir ${W} reflog expire --expire-unreachable=now --all`,await k`${U} --git-dir ${W} gc --prune=now`;let K=await mS(W,"full/git");return Y.setMessage("Finalizing snapshot..."),await rj("full",Q,K)}finally{Y.stop(),S6(z,{recursive:!0,force:!0})}}async function RQ(Z){let[Y,Q]=await Promise.all([nq(Z),yZ()]);if(!Y)return Q;return Q.filter((J)=>oq(J.meta,Y))}async function nj(Z,Y,Q=!1){let J=await TQ(Z,Y),q=await kQ(J.archivePath);if(q.meta.type==="worktree")await ej(Z,q,Q);else await Z_(Z,q,Q);return J}async function oj(Z,Y,Q=!1){let J=await TQ(Z,Y),q=await kQ(J.archivePath);if(q.meta.type==="worktree")await ej(Z,q,Q);else await Z_(Z,q,Q);return await j6(J.archivePath,{force:!0}),await yZ(),J}async function ij(Z,Y){let Q=await vS(Z,Y);for(let J of Q)await j6(J.archivePath,{force:!0});return await yZ(),Q}async function sj(Z){let Y=B0.resolve(Z);if(!Y.endsWith($8))throw Error(`Snapshot file must use the ${$8} extension.`);if(!l(Y))throw Error(`Snapshot file '${Z}' does not exist.`);if(!(await y6(Y)).isFile())throw Error(`Snapshot path '${Z}' is not a file.`);let J=await kQ(Y),q=xS(J),X=B0.join(xQ(),`${q}${$8}`);if(await fZ(),mZ(Y)!==mZ(X))await iQ(Y,X);let W=(await yZ()).find((U)=>U.hash===q);if(!W)throw Error(`Imported snapshot '${Z}' could not be indexed.`);return W}async function aj(Z,Y,Q){if(!Q.trim())throw Error("Missing export destination. Usage: gdx snap export <hash> <dest>.");let J=await TQ(Z,Y),q=B0.resolve(Q),X=`${J.meta.repoLabel}-${J.hash.slice(0,n6)}${$8}`,z=q.endsWith($8)?q:B0.join(q,X),W=B0.dirname(z);if(!l(W))await x8(W,{recursive:!0});return await iQ(J.archivePath,z),{snapshot:J,destinationPath:z}}async function rj(Z,Y,Q){await fZ();let J=new Date().toISOString(),q={version:N7,type:Z,createdAt:J,repoRoot:Y.repoRoot,repoLabel:Y.repoLabel,repoIdentity:Y.repoIdentity,rootCommit:Y.rootCommit,headCommit:Y.headCommit,headRef:Y.headRef,branchName:Y.branchName,originUrl:Y.originUrl},X=tj(Y,Z,Q),z=B0.join(xQ(),`${X}${$8}`),W=l(z);if(!W)await PS(z,q,Q);let K=(await yZ()).find((B)=>B.hash===X);return{hash:X,archivePath:z,existed:W,meta:K?.meta||q}}function tj(Z,Y,Q){let J={version:N7,type:Y,repoRoot:Z.repoRoot,repoLabel:Z.repoLabel,repoIdentity:Z.repoIdentity,rootCommit:Z.rootCommit,headCommit:Z.headCommit,headRef:Z.headRef,branchName:Z.branchName,originUrl:Z.originUrl},q=dj.createHash("sha256"),X=new TextEncoder;q.update(X.encode("gdxsnap/v1\x00")),q.update(X.encode(bQ(J)));for(let z of Y_(Q))q.update(X.encode(`\x00${z.kind}\x00${z.path}\x00${z.data.length}\x00`)),q.update(z.data);return q.digest("hex").slice(0,Bz)}function xS(Z){let Y=[];for(let[Q,J]of Z.entries.entries()){if(Q===lZ)continue;Y.push({path:Q,data:J,kind:"file"})}return tj(Z.meta,Z.meta.type,Y)}async function PS(Z,Y,Q){let J=await q_(),q={[lZ]:J.strToU8(bQ(Y))};for(let z of Y_(Q))q[z.path]=z.data;let X=J.zipSync(q,{level:9});await c0(Z,Buffer.from(X))}async function bS(Z){let Y=Z.trim().toLowerCase();if(!Y)throw Error("Missing snapshot hash. Usage: gdx snap apply <hash>.");let J=(await yZ()).filter((q)=>q.hash.startsWith(Y));if(J.length===0)throw Error(`No snapshot found for hash prefix '${Z}'.`);if(J.length>1){let q=J.map((X)=>X.hash.slice(0,n6)).join(", ");throw Error(`Snapshot hash prefix '${Z}' is ambiguous: ${q}.`)}return J[0]}async function TQ(Z,Y){let Q=Y.trim(),J=Q.match(/^~(\d*)$/);if(!J)return await bS(Q);let q=J[1]?Number(J[1]):0;return await SS(Z,q)}async function vS(Z,Y){let Q=[],J=new Set;for(let q of Y){let X=q.includes("..")?await yS(Z,q):[await TQ(Z,q)];for(let z of X){if(J.has(z.hash))continue;J.add(z.hash),Q.push(z)}}return Q}async function SS(Z,Y){if(!Number.isInteger(Y)||Y<0)throw Error(`Invalid snapshot index '${Y}'.`);let J=(await RQ(Z))[Y];if(!J)throw Error(`No snapshot found at index ${Y}.`);return J}async function yS(Z,Y){let Q=await RQ(Z),[J,q]=Y.split("..").map((X,z)=>X===""?z?Q.length-1:0:parseInt(X,10));if(isNaN(J)||isNaN(q)||J>q)throw Error(`Invalid snapshot range '${Y}'.`);if(!Number.isInteger(J)||!Number.isInteger(q)||J<0||q<J)throw Error(`Invalid snapshot range '${Y}'.`);if(J>=Q.length||q>=Q.length)throw Error(`Snapshot range '${Y}' is outside the list bounds.`);return Q.slice(J,q+1)}async function kQ(Z){let[Y,Q]=await Promise.all([q_(),p0(Z)]),J=Y.unzipSync(iq(Q)),q=J[lZ];if(!q)throw Error(`Snapshot archive '${Z}' is missing ${lZ}.`);let X=JSON.parse(Y.strFromU8(q)),z=new Map;for(let[W,U]of Object.entries(J))z.set(W,U);return{archivePath:Z,hash:B0.basename(Z,$8),meta:X,entries:z}}async function ej(Z,Y,Q){let J=await nq(Z);if(!J)throw Error("Worktree snapshots can only be applied inside a compatible git repository.");if(!oq(Y.meta,J))throw Error("This worktree snapshot belongs to a different repository or root commit.");if(!(await A0(Z,["--verify",`${Y.meta.headCommit}^{commit}`])).trim())throw Error("The commit referenced by this worktree snapshot is no longer available.");if(!Q&&await uS(Z))throw Error("Working tree is dirty. Re-run with --force to apply this snapshot.");if(Q)await k`${Z} reset --hard HEAD`,await k`${Z} clean -fd`;if(Y.meta.branchName&&Y.meta.headRef)await k`${Z} checkout -B ${Y.meta.branchName} ${Y.meta.headCommit}`;else await k`${Z} checkout --detach ${Y.meta.headCommit}`;await k`${Z} reset --hard ${Y.meta.headCommit}`,await k`${Z} clean -fd`,await fZ();let X=await oQ(B0.join(PQ(),"apply-worktree-"));try{let z=Y.entries.get("worktree/staged.patch"),W=Y.entries.get("worktree/staged-status.json"),U=Y.entries.get("worktree/unstaged.patch"),K=B0.join(X,"staged.patch"),B=B0.join(X,"unstaged.patch"),$=W?JSON.parse(new TextDecoder().decode(W)):[];if(z&&z.length>0){await c0(K,Buffer.from(z)),await k`${Z} apply --cached --binary --whitespace=nowarn ${K}`;for(let F of $){let O=B0.join(J.repoRoot,...F.path.split("/"));if(F.status==="D"){await j6(O,{force:!0,recursive:!0});continue}if((F.status==="R"||F.status==="C")&&F.oldPath){let V=B0.join(J.repoRoot,...F.oldPath.split("/"));await j6(V,{force:!0,recursive:!0})}await k`${Z} checkout -- ${F.path}`}}if(U&&U.length>0)await c0(B,Buffer.from(U)),await k`${Z} apply --binary --whitespace=nowarn ${B}`;for(let[F,O]of Y.entries.entries()){if(!F.startsWith("worktree/untracked/"))continue;let V=F.slice(19),D=Q_(V),_=B0.join(J.repoRoot,...D.split("/")),N=B0.dirname(_);if(!l(N))n0(N,{recursive:!0});B8(_,Buffer.from(O))}}finally{S6(X,{recursive:!0,force:!0})}}async function Z_(Z,Y,Q){let J=await nq(Z);if(J){if(!oq(Y.meta,J))throw Error("This full snapshot belongs to a different repository or root commit.");if(!Q)throw Error("Applying a full snapshot inside an existing repository requires --force.");let U=(await A0(Z,["--git-common-dir"])).trim();if(!U)throw Error("Unable to resolve the current repository git common directory.");let K=J.repoRoot,B=B0.isAbsolute(U)?U:B0.resolve(K,U);await fZ();let $=await oQ(B0.join(PQ(),"apply-full-")),F=B0.join($,".git"),O=`${B}.gdx-snap-backup-${Date.now()}`;try{if(await mj(Y,F),l(O))await j6(O,{recursive:!0,force:!0});await B7(B,O);try{await B7(F,B)}catch(V){throw await B7(O,B),V}await k`${Z} reset --hard HEAD`,await k`${Z} clean -fd`,await j6(O,{recursive:!0,force:!0})}finally{await j6($,{recursive:!0,force:!0})}return}let q=lS(Z),X=B0.join(q,Y.meta.repoLabel);if(l(X)){if(!Q)throw Error(`Target directory '${X}' already exists. Use --force to replace it.`);await j6(X,{recursive:!0,force:!0})}n0(X,{recursive:!0});let z=B0.join(X,".git");await mj(Y,z);let W=J_(Z);await k`${W} -C ${X} reset --hard HEAD`,await k`${W} -C ${X} clean -fd`}async function mj(Z,Y){let Q=0;for(let[J,q]of Z.entries.entries()){if(!J.startsWith("full/git/"))continue;let X=J.slice(9),z=Q_(X),W=B0.join(Y,...z.split("/")),U=B0.dirname(W);if(!l(U))n0(U,{recursive:!0});await c0(W,Buffer.from(q)),Q+=1}if(Q===0)throw Error("This Snapshot archive does not contain any full git backup entries.");for(let J of["branches","hooks","info","objects","objects/info","objects/pack","refs","refs/heads","refs/remotes","refs/tags","logs","logs/refs","logs/refs/heads","logs/refs/remotes"]){let q=B0.join(Y,...J.split("/"));if(!l(q))n0(q,{recursive:!0})}}async function yZ(){await fZ();let Z=await fS();return await c0(hS(),bQ(Z),"utf-8"),Z}async function fS(){let Z=xQ();if(!l(Z))return[];let Y=(await g4(Z)).filter((J)=>J.endsWith($8)).sort((J,q)=>J.localeCompare(q));return(await Promise.all(Y.map(async(J)=>{let q=B0.join(Z,J),X=await kQ(q);return{hash:X.hash,archivePath:q,meta:X.meta}}))).sort((J,q)=>Date.parse(q.meta.createdAt)-Date.parse(J.meta.createdAt)||J.hash.localeCompare(q.hash))}async function lq(Z){let Y=F6(Z),[Q,J,q,X,z,W]=await Promise.all([Y,x4(Z,["rev-list","--max-parents=0","HEAD"]),A0(Z,["HEAD"]),x4(Z,["symbolic-ref","-q","HEAD"]).then((_)=>_.trim()||null).catch(()=>null),A0(Z,["--abbrev-ref","HEAD"]),Y.then((_)=>w4(Z,"remote.origin.url",_))]),K=J.trim().split(/\r?\n/).filter(Boolean)[0]||"",B=q.trim();if(!Q||!K||!B)throw Error("Snapshots require a repository with at least one commit.");let $=z.trim(),F=$&&$!=="HEAD"?$:null,O=W.trim()||null,V=B0.basename(Q),D=dj.createHash("sha1").update(`${K}\x00${O||""}`).digest("hex");return{version:N7,type:"worktree",repoRoot:Q,repoLabel:V,repoIdentity:D,rootCommit:K,headCommit:B,headRef:X,branchName:F,originUrl:O}}async function nq(Z){try{if(!(await A0(Z,["--show-toplevel"])).trim())return null;return await lq(Z)}catch{return null}}function oq(Z,Y){if(Z.rootCommit!==Y.rootCommit)return!1;if(Z.originUrl&&Y.originUrl)return Z.originUrl===Y.originUrl;return Z.repoIdentity===Y.repoIdentity||Z.rootCommit===Y.rootCommit}async function fZ(){await Promise.all([EQ(),xQ(),PQ()].map(async(Z)=>{if(!l(Z))await x8(Z,{recursive:!0})}))}function EQ(){return B0.join(gS(),"gdx","snap")}function xQ(){return B0.join(EQ(),"objects")}function hS(){return B0.join(EQ(),"index.json")}function PQ(){return B0.join(EQ(),"tmp")}function gS(){let Z=process.env.GDX_TEMP_DIR;if(Z){let Y=B0.join(Z,"tmp");return Z}return K6}function pj(){return process.env.GDX_CURRENT_DIR||mX||process.cwd()}async function mS(Z,Y){let Q=[];return await U7(Z,async(J)=>{let q=SZ(B0.relative(Z,J)),X=await p0(J);Q.push({path:`${Y}/${q}`,data:iq(X),kind:"file"})}),Q}async function pS(Z){let Y=B0.join(Z,"worktrees");if(l(Y))await j6(Y,{recursive:!0,force:!0});await U7(Z,async(Q)=>{let J=B0.basename(Q);if(J.endsWith(".lock")||J==="gc.log")await j6(Q,{force:!0})})}async function uS(Z){return(await x4(Z,["status","--porcelain=v1","--untracked-files=normal"])).trim().length>0}async function x4(Z,Y){return(await k`${Z} ${Y}`).stdout}function Y_(Z){return[...Z].sort((Y,Q)=>Y.path.localeCompare(Q.path))}function SZ(Z){return d0(Z).replace(/^\.\//,"").replace(/^\/+/,"")}function Q_(Z){let Y=SZ(Z);if(!Y)throw Error("Snapshot archive contains an empty path entry.");if(B0.posix.isAbsolute(Y)||B0.win32.isAbsolute(Z))throw Error(`Snapshot archive contains an absolute path '${Z}'.`);if(/^[A-Za-z]:([\\/]|$)/.test(Z))throw Error(`Snapshot archive contains a drive-qualified path '${Z}'.`);if(Y.split("/").some((J)=>!J||J==="."||J===".."))throw Error(`Snapshot archive contains an unsafe path '${Z}'.`);return Y}function dS(Z){return Z.split("\x00").map((Y)=>Y.trim()).filter(Boolean)}function uj(Z){if(!Z)return Z;return Z.endsWith(`
1087
+ ${H.cyan}${R} tag mv my-tag ~3 ${H.reset+H.dim}# Move my-tag to HEAD~3${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",mode:"softboundary",indent:" "})}},J_={$root:{move:{},mv:{}}}});import H_ from"crypto";import B0 from"path";async function W_(Z){let[Y,Q,J,q,X]=await Promise.all([QX(Z),v8(Z,["-c","color.ui=never","diff","--cached","--binary","--no-color","--no-ext-diff"]),v8(Z,["-c","color.ui=never","diff","--binary","--no-color","--no-ext-diff"]),v8(Z,["diff","--cached","--name-status","-z"]).then(_y),v8(Z,["-c","core.quotePath=false","ls-files","--others","--exclude-standard","-z"])]),z=Y.repoRoot,W=new TextEncoder,U=[{path:"worktree/staged.patch",data:W.encode(z_(Q)),kind:"file"},{path:"worktree/unstaged.patch",data:W.encode(z_(J)),kind:"file"},{path:"worktree/staged-status.json",data:W.encode(mQ(q)),kind:"file"}];for(let K of jy(X)){let B=fZ(K),$=B0.join(z,...B.split("/")),V=Z4($);U.push({path:`worktree/untracked/${B}`,data:XX(V),kind:"file"})}return await O_("worktree",Y,U)}async function U_(Z){let Y=P0({message:"Collecting repository info..."}),Q=await QX(Z),J=Q.repoRoot,q=(await A0(Z,["--git-common-dir"])).trim();if(!q)throw Y.stop(),Error("Unable to resolve the git common directory for this repository.");let X=B0.isAbsolute(q)?q:B0.resolve(J,q);await gZ();let z=F7(B0.join(gQ(),"full-")),W=B0.join(z,"git");try{lX(X,W,{recursive:!0}),Y.setMessage("Creating snapshot archive..."),await Dy(W);let U=I_(Z);await k`${U} --git-dir ${W} reflog expire --expire-unreachable=now --all`,await k`${U} --git-dir ${W} gc --prune=now`;let K=await Oy(W,"full/git");return Y.setMessage("Finalizing snapshot..."),await O_("full",Q,K)}finally{Y.stop(),y6(z,{recursive:!0,force:!0})}}async function vQ(Z){let[Y,Q]=await Promise.all([JX(Z),hZ()]);if(!Y)return Q;return Q.filter((J)=>qX(J.meta,Y))}async function K_(Z,Y,Q=!1){let J=await SQ(Z,Y),q=await yQ(J.archivePath);if(q.meta.type==="worktree")await M_(Z,q,Q);else await j_(Z,q,Q);return J}async function B_(Z,Y,Q=!1){let J=await SQ(Z,Y),q=await yQ(J.archivePath);if(q.meta.type==="worktree")await M_(Z,q,Q);else await j_(Z,q,Q);return await _6(J.archivePath,{force:!0}),await hZ(),J}async function $_(Z,Y){let Q=await Uy(Z,Y);for(let J of Q)await _6(J.archivePath,{force:!0});return await hZ(),Q}async function F_(Z){let Y=B0.resolve(Z);if(!Y.endsWith(F4))throw Error(`Snapshot file must use the ${F4} extension.`);if(!l(Y))throw Error(`Snapshot file '${Z}' does not exist.`);if(!(await f6(Y)).isFile())throw Error(`Snapshot path '${Z}' is not a file.`);let J=await yQ(Y),q=zy(J),X=B0.join(hQ(),`${q}${F4}`);if(await gZ(),uZ(Y)!==uZ(X))await Y2(Y,X);let W=(await hZ()).find((U)=>U.hash===q);if(!W)throw Error(`Imported snapshot '${Z}' could not be indexed.`);return W}async function V_(Z,Y,Q){if(!Q.trim())throw Error("Missing export destination. Usage: gdx snap export <hash> <dest>.");let J=await SQ(Z,Y),q=B0.resolve(Q),X=`${J.meta.repoLabel}-${J.hash.slice(0,i6)}${F4}`,z=q.endsWith(F4)?q:B0.join(q,X),W=B0.dirname(z);if(!l(W))await b4(W,{recursive:!0});return await Y2(J.archivePath,z),{snapshot:J,destinationPath:z}}async function O_(Z,Y,Q){await gZ();let J=new Date().toISOString(),q={version:w7,type:Z,createdAt:J,repoRoot:Y.repoRoot,repoLabel:Y.repoLabel,repoIdentity:Y.repoIdentity,rootCommit:Y.rootCommit,headCommit:Y.headCommit,headRef:Y.headRef,branchName:Y.branchName,originUrl:Y.originUrl},X=D_(Y,Z,Q),z=B0.join(hQ(),`${X}${F4}`),W=l(z);if(!W)await Hy(z,q,Q);let K=(await hZ()).find((B)=>B.hash===X);return{hash:X,archivePath:z,existed:W,meta:K?.meta||q}}function D_(Z,Y,Q){let J={version:w7,type:Y,repoRoot:Z.repoRoot,repoLabel:Z.repoLabel,repoIdentity:Z.repoIdentity,rootCommit:Z.rootCommit,headCommit:Z.headCommit,headRef:Z.headRef,branchName:Z.branchName,originUrl:Z.originUrl},q=H_.createHash("sha256"),X=new TextEncoder;q.update(X.encode("gdxsnap/v1\x00")),q.update(X.encode(mQ(J)));for(let z of __(Q))q.update(X.encode(`\x00${z.kind}\x00${z.path}\x00${z.data.length}\x00`)),q.update(z.data);return q.digest("hex").slice(0,Lz)}function zy(Z){let Y=[];for(let[Q,J]of Z.entries.entries()){if(Q===oZ)continue;Y.push({path:Q,data:J,kind:"file"})}return D_(Z.meta,Z.meta.type,Y)}async function Hy(Z,Y,Q){let J=await L_(),q={[oZ]:J.strToU8(mQ(Y))};for(let z of __(Q))q[z.path]=z.data;let X=J.zipSync(q,{level:9});await c0(Z,Buffer.from(X))}async function Wy(Z){let Y=Z.trim().toLowerCase();if(!Y)throw Error("Missing snapshot hash. Usage: gdx snap apply <hash>.");let J=(await hZ()).filter((q)=>q.hash.startsWith(Y));if(J.length===0)throw Error(`No snapshot found for hash prefix '${Z}'.`);if(J.length>1){let q=J.map((X)=>X.hash.slice(0,i6)).join(", ");throw Error(`Snapshot hash prefix '${Z}' is ambiguous: ${q}.`)}return J[0]}async function SQ(Z,Y){let Q=Y.trim(),J=Q.match(/^~(\d*)$/);if(!J)return await Wy(Q);let q=J[1]?Number(J[1]):0;return await Ky(Z,q)}async function Uy(Z,Y){let Q=[],J=new Set;for(let q of Y){let X=q.includes("..")?await By(Z,q):[await SQ(Z,q)];for(let z of X){if(J.has(z.hash))continue;J.add(z.hash),Q.push(z)}}return Q}async function Ky(Z,Y){if(!Number.isInteger(Y)||Y<0)throw Error(`Invalid snapshot index '${Y}'.`);let J=(await vQ(Z))[Y];if(!J)throw Error(`No snapshot found at index ${Y}.`);return J}async function By(Z,Y){let Q=await vQ(Z),[J,q]=Y.split("..").map((X,z)=>X===""?z?Q.length-1:0:parseInt(X,10));if(isNaN(J)||isNaN(q)||J>q)throw Error(`Invalid snapshot range '${Y}'.`);if(!Number.isInteger(J)||!Number.isInteger(q)||J<0||q<J)throw Error(`Invalid snapshot range '${Y}'.`);if(J>=Q.length||q>=Q.length)throw Error(`Snapshot range '${Y}' is outside the list bounds.`);return Q.slice(J,q+1)}async function yQ(Z){let[Y,Q]=await Promise.all([L_(),f0(Z)]),J=Y.unzipSync(XX(Q)),q=J[oZ];if(!q)throw Error(`Snapshot archive '${Z}' is missing ${oZ}.`);let X=JSON.parse(Y.strFromU8(q)),z=new Map;for(let[W,U]of Object.entries(J))z.set(W,U);return{archivePath:Z,hash:B0.basename(Z,F4),meta:X,entries:z}}async function M_(Z,Y,Q){let J=await JX(Z);if(!J)throw Error("Worktree snapshots can only be applied inside a compatible git repository.");if(!qX(Y.meta,J))throw Error("This worktree snapshot belongs to a different repository or root commit.");if(!(await A0(Z,["--verify",`${Y.meta.headCommit}^{commit}`])).trim())throw Error("The commit referenced by this worktree snapshot is no longer available.");if(!Q&&await My(Z))throw Error("Working tree is dirty. Re-run with --force to apply this snapshot.");if(Q)await k`${Z} reset --hard HEAD`,await k`${Z} clean -fd`;if(Y.meta.branchName&&Y.meta.headRef)await k`${Z} checkout -B ${Y.meta.branchName} ${Y.meta.headCommit}`;else await k`${Z} checkout --detach ${Y.meta.headCommit}`;await k`${Z} reset --hard ${Y.meta.headCommit}`,await k`${Z} clean -fd`,await gZ();let X=await Z2(B0.join(gQ(),"apply-worktree-"));try{let z=Y.entries.get("worktree/staged.patch"),W=Y.entries.get("worktree/staged-status.json"),U=Y.entries.get("worktree/unstaged.patch"),K=B0.join(X,"staged.patch"),B=B0.join(X,"unstaged.patch"),$=W?JSON.parse(new TextDecoder().decode(W)):[];if(z&&z.length>0){await c0(K,Buffer.from(z)),await k`${Z} apply --cached --binary --whitespace=nowarn ${K}`;for(let V of $){let D=B0.join(J.repoRoot,...V.path.split("/"));if(V.status==="D"){await _6(D,{force:!0,recursive:!0});continue}if((V.status==="R"||V.status==="C")&&V.oldPath){let F=B0.join(J.repoRoot,...V.oldPath.split("/"));await _6(F,{force:!0,recursive:!0})}await k`${Z} checkout -- ${V.path}`}}if(U&&U.length>0)await c0(B,Buffer.from(U)),await k`${Z} apply --binary --whitespace=nowarn ${B}`;for(let[V,D]of Y.entries.entries()){if(!V.startsWith("worktree/untracked/"))continue;let F=V.slice(19),O=N_(F),j=B0.join(J.repoRoot,...O.split("/")),_=B0.dirname(j);if(!l(_))i0(_,{recursive:!0});$4(j,Buffer.from(D))}}finally{y6(X,{recursive:!0,force:!0})}}async function j_(Z,Y,Q){let J=await JX(Z);if(J){if(!qX(Y.meta,J))throw Error("This full snapshot belongs to a different repository or root commit.");if(!Q)throw Error("Applying a full snapshot inside an existing repository requires --force.");let U=(await A0(Z,["--git-common-dir"])).trim();if(!U)throw Error("Unable to resolve the current repository git common directory.");let K=J.repoRoot,B=B0.isAbsolute(U)?U:B0.resolve(K,U);await gZ();let $=await Z2(B0.join(gQ(),"apply-full-")),V=B0.join($,".git"),D=`${B}.gdx-snap-backup-${Date.now()}`;try{if(await q_(Y,V),l(D))await _6(D,{recursive:!0,force:!0});await V7(B,D);try{await V7(V,B)}catch(F){throw await V7(D,B),F}await k`${Z} reset --hard HEAD`,await k`${Z} clean -fd`,await _6(D,{recursive:!0,force:!0})}finally{await _6($,{recursive:!0,force:!0})}return}let q=Ny(Z),X=B0.join(q,Y.meta.repoLabel);if(l(X)){if(!Q)throw Error(`Target directory '${X}' already exists. Use --force to replace it.`);await _6(X,{recursive:!0,force:!0})}i0(X,{recursive:!0});let z=B0.join(X,".git");await q_(Y,z);let W=I_(Z);await k`${W} -C ${X} reset --hard HEAD`,await k`${W} -C ${X} clean -fd`}async function q_(Z,Y){let Q=0;for(let[J,q]of Z.entries.entries()){if(!J.startsWith("full/git/"))continue;let X=J.slice(9),z=N_(X),W=B0.join(Y,...z.split("/")),U=B0.dirname(W);if(!l(U))i0(U,{recursive:!0});await c0(W,Buffer.from(q)),Q+=1}if(Q===0)throw Error("This Snapshot archive does not contain any full git backup entries.");for(let J of["branches","hooks","info","objects","objects/info","objects/pack","refs","refs/heads","refs/remotes","refs/tags","logs","logs/refs","logs/refs/heads","logs/refs/remotes"]){let q=B0.join(Y,...J.split("/"));if(!l(q))i0(q,{recursive:!0})}}async function hZ(){await gZ();let Z=await $y();return await c0(Fy(),mQ(Z),"utf-8"),Z}async function $y(){let Z=hQ();if(!l(Z))return[];let Y=(await u8(Z)).filter((J)=>J.endsWith(F4)).sort((J,q)=>J.localeCompare(q));return(await Promise.all(Y.map(async(J)=>{let q=B0.join(Z,J),X=await yQ(q);return{hash:X.hash,archivePath:q,meta:X.meta}}))).sort((J,q)=>Date.parse(q.meta.createdAt)-Date.parse(J.meta.createdAt)||J.hash.localeCompare(q.hash))}async function QX(Z){let Y=F6(Z),[Q,J,q,X,z,W]=await Promise.all([Y,v8(Z,["rev-list","--max-parents=0","HEAD"]),A0(Z,["HEAD"]),v8(Z,["symbolic-ref","-q","HEAD"]).then((j)=>j.trim()||null).catch(()=>null),A0(Z,["--abbrev-ref","HEAD"]),Y.then((j)=>C8(Z,"remote.origin.url",j))]),K=J.trim().split(/\r?\n/).filter(Boolean)[0]||"",B=q.trim();if(!Q||!K||!B)throw Error("Snapshots require a repository with at least one commit.");let $=z.trim(),V=$&&$!=="HEAD"?$:null,D=W.trim()||null,F=B0.basename(Q),O=H_.createHash("sha1").update(`${K}\x00${D||""}`).digest("hex");return{version:w7,type:"worktree",repoRoot:Q,repoLabel:F,repoIdentity:O,rootCommit:K,headCommit:B,headRef:X,branchName:V,originUrl:D}}async function JX(Z){try{if(!(await A0(Z,["--show-toplevel"])).trim())return null;return await QX(Z)}catch{return null}}function qX(Z,Y){if(Z.rootCommit!==Y.rootCommit)return!1;if(Z.originUrl&&Y.originUrl)return Z.originUrl===Y.originUrl;return Z.repoIdentity===Y.repoIdentity||Z.rootCommit===Y.rootCommit}async function gZ(){await Promise.all([fQ(),hQ(),gQ()].map(async(Z)=>{if(!l(Z))await b4(Z,{recursive:!0})}))}function fQ(){return B0.join(Vy(),"gdx","snap")}function hQ(){return B0.join(fQ(),"objects")}function Fy(){return B0.join(fQ(),"index.json")}function gQ(){return B0.join(fQ(),"tmp")}function Vy(){let Z=process.env.GDX_TEMP_DIR;if(Z){let Y=B0.join(Z,"tmp");return Z}return K6}function X_(){return process.env.GDX_CURRENT_DIR||rX||process.cwd()}async function Oy(Z,Y){let Q=[];return await $7(Z,async(J)=>{let q=fZ(B0.relative(Z,J)),X=await f0(J);Q.push({path:`${Y}/${q}`,data:XX(X),kind:"file"})}),Q}async function Dy(Z){let Y=B0.join(Z,"worktrees");if(l(Y))await _6(Y,{recursive:!0,force:!0});await $7(Z,async(Q)=>{let J=B0.basename(Q);if(J.endsWith(".lock")||J==="gc.log")await _6(Q,{force:!0})})}async function My(Z){return(await v8(Z,["status","--porcelain=v1","--untracked-files=normal"])).trim().length>0}async function v8(Z,Y){return(await k`${Z} ${Y}`).stdout}function __(Z){return[...Z].sort((Y,Q)=>Y.path.localeCompare(Q.path))}function fZ(Z){return d0(Z).replace(/^\.\//,"").replace(/^\/+/,"")}function N_(Z){let Y=fZ(Z);if(!Y)throw Error("Snapshot archive contains an empty path entry.");if(B0.posix.isAbsolute(Y)||B0.win32.isAbsolute(Z))throw Error(`Snapshot archive contains an absolute path '${Z}'.`);if(/^[A-Za-z]:([\\/]|$)/.test(Z))throw Error(`Snapshot archive contains a drive-qualified path '${Z}'.`);if(Y.split("/").some((J)=>!J||J==="."||J===".."))throw Error(`Snapshot archive contains an unsafe path '${Z}'.`);return Y}function jy(Z){return Z.split("\x00").map((Y)=>Y.trim()).filter(Boolean)}function z_(Z){if(!Z)return Z;return Z.endsWith(`
1082
1088
  `)?Z:`${Z}
1083
- `}function cS(Z){let Y=Z.split("\x00").filter(Boolean),Q=[];for(let J=0;J<Y.length;){let X=(Y[J++]||"")[0]||"";if(!X)continue;if(X==="R"||X==="C"){let W=Y[J++],U=Y[J++];if(W&&U)Q.push({status:X,oldPath:SZ(W),path:SZ(U)});continue}let z=Y[J++];if(!z)continue;Q.push({status:X,path:SZ(z)})}return Q}function J_(Z){return Array.isArray(Z)?Z[0]:Z}function lS(Z){if(!Array.isArray(Z))return pj();for(let Y=Z.length-2;Y>=0;Y--)if(Z[Y]==="-C"&&Z[Y+1])return B0.resolve(Z[Y+1]);return pj()}function iq(Z){return Z instanceof Uint8Array?Z:new Uint8Array(Z)}function bQ(Z){return JSON.stringify(cq(Z))}function cq(Z){if(Array.isArray(Z))return Z.map((Y)=>cq(Y));if(Z&&typeof Z==="object"){let Y=Object.entries(Z).sort(([Q],[J])=>Q.localeCompare(J)).map(([Q,J])=>[Q,cq(J)]);return Object.fromEntries(Y)}return Z}async function q_(){if(!dq)dq=import("fflate");return await dq}var dq=null;var X_=j(()=>{U6();H0();X6();g0();U6()});async function sq(Z){let Y=Z.args.slice(0),Q=Y[1]?.toLowerCase()||"",{match:J,candidates:q}=f0(Q,nS);try{switch(J){case null:if(Q!==""&&!Q.startsWith("-"))return R(vQ.usage()),0;case"worktree":{if(!await oS(Z.git$))return M.warn("Worktree snapshots require running inside a git repository.","snap"),0;let X=await cj(Z.git$);return z_(X.hash,X.meta.type,X.meta.createdAt,X.existed),0}case"full":{let X=await lj(Z.git$);return z_(X.hash,X.meta.type,X.meta.createdAt,X.existed),0}case"list":{let X=await RQ(Z.git$);if(X.length===0)return R(`${H.yellow}No snapshots found.${H.reset}`),0;let z=n6+2,W=Math.max(4,String(X.length-1).length+2);R(`${H.bright}${y0("#",W,{align:"left",overflow:"visible",redundancyLv:0})}${y0("Hash",z,{align:"left",overflow:"visible",redundancyLv:0})}${y0("Type",11,{align:"left",overflow:"visible",redundancyLv:0})}${y0("Created",23,{align:"left",overflow:"visible",redundancyLv:0})}Repo${H.reset}`);for(let[U,K]of X.entries())R(`${y0(String(U),W,{align:"left",overflow:"visible",redundancyLv:0})}${H.cyan}${y0(K.hash.slice(0,n6),z,{align:"left",overflow:"visible",redundancyLv:0})}${H.reset}${y0(K.meta.type,11,{align:"left",overflow:"visible",redundancyLv:0})}${y0(H_(K.meta.createdAt),23,{align:"left",overflow:"visible",redundancyLv:0})}${K.meta.repoLabel}`);return 0}case"apply":{let X=!!Y.popOption("--force",2),z=Y.slice(2).filter(Boolean);if(z.length!==1)return M.error("Usage: gdx snap apply <hash> [--force]","snap"),1;let W=await nj(Z.git$,z[0],X);return R(`${H.green}Applied snapshot ${W.hash.slice(0,n6)}${H.reset} ${H.dim}(${W.meta.type})${H.reset}`),0}case"pop":{let X=!!Y.popOption("--force",2),z=Y.slice(2).filter(Boolean);if(z.length!==1)return M.error("Usage: gdx snap pop <hash> [--force]","snap"),1;let W=await oj(Z.git$,z[0],X);return R(`${H.green}Popped snapshot ${W.hash.slice(0,n6)}${H.reset} ${H.dim}(${W.meta.type})${H.reset}`),0}case"drop":{let X=Y.slice(2).filter(Boolean);if(X.length===0)return M.error("Usage: gdx snap drop <hash|~index|range> [...<hash|~index|range>]","snap"),1;let z=await ij(Z.git$,X),W=z.length===1?"":"s";return R(`${H.green}Dropped ${z.length} snapshot${W}${H.reset}`),0}case"import":{let X=Y.slice(2).filter(Boolean);if(X.length!==1)return M.error("Usage: gdx snap import <snapshot-path>","snap"),1;let z=await sj(X[0]);return R(`${H.green}Imported snapshot ${z.hash.slice(0,n6)}${H.reset} ${H.dim}(${z.meta.type})${H.reset}`),0}case"export":{let X=Y.slice(2).filter(Boolean);if(X.length!==2)return M.error("Usage: gdx snap export <hash> <dest>","snap"),1;let z=await aj(Z.git$,X[0],X[1]);return R(`${H.green}Exported snapshot ${z.snapshot.hash.slice(0,n6)}${H.reset} ${H.dim}(${z.destinationPath})${H.reset}`),0}default:if(q&&q.length>0)M.warn(`Ambiguous command '${Q}'. Did you mean one of: ${q.join(", ")}?`,"snap");return R(vQ.usage()),0}}catch(X){return M.error(X instanceof Error?X.message:String(X),"snap"),1}}function z_(Z,Y,Q,J){let q=Z.slice(0,n6),X=J?"Reused":"Created";R(`${H.green}${X}${H.reset} ${Y} snapshot ${H.cyan}${q}${H.reset} ${H.dim}(${H_(Q)})${H.reset}`)}function H_(Z){return Z.replace("T"," ").replace(/\.\d+Z$/,"Z")}async function oS(Z){try{return(await A0(Z,["--is-inside-work-tree"])).trim()==="true"}catch{return!1}}var nS,vQ,W_;var SQ=j(()=>{z0();H0();v0();X6();b0();X_();w0();o0();R0();nS=["worktree","full","list","apply","pop","drop","import","export"];vQ={long:()=>{return t(Z0`
1089
+ `}function _y(Z){let Y=Z.split("\x00").filter(Boolean),Q=[];for(let J=0;J<Y.length;){let X=(Y[J++]||"")[0]||"";if(!X)continue;if(X==="R"||X==="C"){let W=Y[J++],U=Y[J++];if(W&&U)Q.push({status:X,oldPath:fZ(W),path:fZ(U)});continue}let z=Y[J++];if(!z)continue;Q.push({status:X,path:fZ(z)})}return Q}function I_(Z){return Array.isArray(Z)?Z[0]:Z}function Ny(Z){if(!Array.isArray(Z))return X_();for(let Y=Z.length-2;Y>=0;Y--)if(Z[Y]==="-C"&&Z[Y+1])return B0.resolve(Z[Y+1]);return X_()}function XX(Z){return Z instanceof Uint8Array?Z:new Uint8Array(Z)}function mQ(Z){return JSON.stringify(YX(Z))}function YX(Z){if(Array.isArray(Z))return Z.map((Y)=>YX(Y));if(Z&&typeof Z==="object"){let Y=Object.entries(Z).sort(([Q],[J])=>Q.localeCompare(J)).map(([Q,J])=>[Q,YX(J)]);return Object.fromEntries(Y)}return Z}async function L_(){if(!ZX)ZX=import("fflate");return await ZX}var ZX=null;var w_=N(()=>{J6();H0();e0();m0();J6()});async function zX(Z){let Y=Z.args.slice(0),Q=Y[1]?.toLowerCase()||"",{match:J,candidates:q}=h0(Q,Iy);try{switch(J){case null:if(Q!==""&&!Q.startsWith("-"))return C(pQ.usage()),0;case"worktree":{if(!await Ly(Z.git$))return M.warn("Worktree snapshots require running inside a git repository.","snap"),0;let X=await W_(Z.git$);return A_(X.hash,X.meta.type,X.meta.createdAt,X.existed),0}case"full":{let X=await U_(Z.git$);return A_(X.hash,X.meta.type,X.meta.createdAt,X.existed),0}case"list":{let X=await vQ(Z.git$);if(X.length===0)return C(`${H.yellow}No snapshots found.${H.reset}`),0;let z=i6+2,W=Math.max(4,String(X.length-1).length+2);C(`${H.bright}${b0("#",W,{align:"left",overflow:"visible",redundancyLv:0})}${b0("Hash",z,{align:"left",overflow:"visible",redundancyLv:0})}${b0("Type",11,{align:"left",overflow:"visible",redundancyLv:0})}${b0("Created",23,{align:"left",overflow:"visible",redundancyLv:0})}Repo${H.reset}`);for(let[U,K]of X.entries())C(`${b0(String(U),W,{align:"left",overflow:"visible",redundancyLv:0})}${H.cyan}${b0(K.hash.slice(0,i6),z,{align:"left",overflow:"visible",redundancyLv:0})}${H.reset}${b0(K.meta.type,11,{align:"left",overflow:"visible",redundancyLv:0})}${b0(G_(K.meta.createdAt),23,{align:"left",overflow:"visible",redundancyLv:0})}${K.meta.repoLabel}`);return 0}case"apply":{let X=!!Y.popOption("--force",2),z=Y.slice(2).filter(Boolean);if(z.length!==1)return M.error("Usage: gdx snap apply <hash> [--force]","snap"),1;let W=await K_(Z.git$,z[0],X);return C(`${H.green}Applied snapshot ${W.hash.slice(0,i6)}${H.reset} ${H.dim}(${W.meta.type})${H.reset}`),0}case"pop":{let X=!!Y.popOption("--force",2),z=Y.slice(2).filter(Boolean);if(z.length!==1)return M.error("Usage: gdx snap pop <hash> [--force]","snap"),1;let W=await B_(Z.git$,z[0],X);return C(`${H.green}Popped snapshot ${W.hash.slice(0,i6)}${H.reset} ${H.dim}(${W.meta.type})${H.reset}`),0}case"drop":{let X=Y.slice(2).filter(Boolean);if(X.length===0)return M.error("Usage: gdx snap drop <hash|~index|range> [...<hash|~index|range>]","snap"),1;let z=await $_(Z.git$,X),W=z.length===1?"":"s";return C(`${H.green}Dropped ${z.length} snapshot${W}${H.reset}`),0}case"import":{let X=Y.slice(2).filter(Boolean);if(X.length!==1)return M.error("Usage: gdx snap import <snapshot-path>","snap"),1;let z=await F_(X[0]);return C(`${H.green}Imported snapshot ${z.hash.slice(0,i6)}${H.reset} ${H.dim}(${z.meta.type})${H.reset}`),0}case"export":{let X=Y.slice(2).filter(Boolean);if(X.length!==2)return M.error("Usage: gdx snap export <hash> <dest>","snap"),1;let z=await V_(Z.git$,X[0],X[1]);return C(`${H.green}Exported snapshot ${z.snapshot.hash.slice(0,i6)}${H.reset} ${H.dim}(${z.destinationPath})${H.reset}`),0}default:if(q&&q.length>0)M.warn(`Ambiguous command '${Q}'. Did you mean one of: ${q.join(", ")}?`,"snap");return C(pQ.usage()),0}}catch(X){return M.error(X instanceof Error?X.message:String(X),"snap"),1}}function A_(Z,Y,Q,J){let q=Z.slice(0,i6),X=J?"Reused":"Created";C(`${H.green}${X}${H.reset} ${Y} snapshot ${H.cyan}${q}${H.reset} ${H.dim}(${G_(Q)})${H.reset}`)}function G_(Z){return Z.replace("T"," ").replace(/\.\d+Z$/,"Z")}async function Ly(Z){try{return(await A0(Z,["--is-inside-work-tree"])).trim()==="true"}catch{return!1}}var Iy,pQ,C_;var uQ=N(()=>{z0();H0();S0();e0();v0();w_();w0();s0();R0();Iy=["worktree","full","list","apply","pop","drop","import","export"];pQ={long:()=>{return t(Z0`
1084
1090
  ${H.bright+d("SNAP",E.Zinc400,E.Zinc100,0.2)+H.reset}
1085
1091
  Create, list, apply, remove, import, and export portable repository snapshots.
1086
1092
 
1087
1093
  ${H.bright+d("DESCRIPTION",E.Zinc400,E.Zinc100,0.2)+H.reset}
1088
- ${H.cyan}${C} snap worktree${H.reset} stores the current HEAD, staged changes, unstaged changes,
1094
+ ${H.cyan}${R} snap worktree${H.reset} stores the current HEAD, staged changes, unstaged changes,
1089
1095
  and untracked non-ignored files in a single archive.
1090
1096
 
1091
- ${H.cyan}${C} snap full${H.reset} stores a full backup of the repository git data in a single archive.
1097
+ ${H.cyan}${R} snap full${H.reset} stores a full backup of the repository git data in a single archive.
1092
1098
 
1093
- ${H.cyan}${C} snap list${H.reset} lists snapshots for the current repository, or every snapshot when
1099
+ ${H.cyan}${R} snap list${H.reset} lists snapshots for the current repository, or every snapshot when
1094
1100
  invoked outside a repository.
1095
1101
 
1096
- ${H.cyan}${C} snap apply <hash|~index>${H.reset} restores a snapshot by hash prefix or list index.
1097
- ${H.cyan}${C} snap pop <hash|~index>${H.reset} restores a snapshot and removes it after a successful apply.
1102
+ ${H.cyan}${R} snap apply <hash|~index>${H.reset} restores a snapshot by hash prefix or list index.
1103
+ ${H.cyan}${R} snap pop <hash|~index>${H.reset} restores a snapshot and removes it after a successful apply.
1098
1104
  Applying or popping over a dirty worktree requires ${H.cyan}--force${H.reset}. Full snapshots require
1099
1105
  ${H.cyan}--force${H.reset} when replacing an existing repository.
1100
1106
 
1101
- ${H.cyan}${C} snap drop <hash|~index|range> [...<hash|~index|range>]${H.reset} removes snapshots. Ranges are inclusive
1107
+ ${H.cyan}${R} snap drop <hash|~index|range> [...<hash|~index|range>]${H.reset} removes snapshots. Ranges are inclusive
1102
1108
  list indexes, such as ${H.cyan}2..6${H.reset} or ${H.cyan}3..${H.reset}.
1103
1109
 
1104
- ${H.cyan}${C} snap import <snapshot-path>${H.reset} copies a .gdxsnap archive into local snapshot storage.
1110
+ ${H.cyan}${R} snap import <snapshot-path>${H.reset} copies a .gdxsnap archive into local snapshot storage.
1105
1111
 
1106
- ${H.cyan}${C} snap export <hash|~index> <dest>${H.reset} copies a snapshot to a directory or explicit .gdxsnap path.
1112
+ ${H.cyan}${R} snap export <hash|~index> <dest>${H.reset} copies a snapshot to a directory or explicit .gdxsnap path.
1107
1113
  `,Math.min(100,p.terminalWidth-4),{firstIndent:" ",indent:" ",mode:"softboundary"})},short:"Create, list, apply, remove, import, and export portable repository snapshots.",usage:()=>{return t(Z0`
1108
- ${H.cyan}${C} snap [worktree]${H.reset}
1109
- ${H.cyan}${C} snap full${H.reset}
1110
- ${H.cyan}${C} snap list${H.reset}
1111
- ${H.cyan}${C} snap apply <hash|~index> ${H.dim}[--force]${H.reset}
1112
- ${H.cyan}${C} snap pop <hash|~index> ${H.dim}[--force]${H.reset}
1113
- ${H.cyan}${C} snap drop <hash|~index|range> ${H.dim}[...targets]${H.reset}
1114
- ${H.cyan}${C} snap import <snapshot-path>${H.reset}
1115
- ${H.cyan}${C} snap export <hash|~index> <dest>${H.reset}
1114
+ ${H.cyan}${R} snap [worktree]${H.reset}
1115
+ ${H.cyan}${R} snap full${H.reset}
1116
+ ${H.cyan}${R} snap list${H.reset}
1117
+ ${H.cyan}${R} snap apply <hash|~index> ${H.dim}[--force]${H.reset}
1118
+ ${H.cyan}${R} snap pop <hash|~index> ${H.dim}[--force]${H.reset}
1119
+ ${H.cyan}${R} snap drop <hash|~index|range> ${H.dim}[...targets]${H.reset}
1120
+ ${H.cyan}${R} snap import <snapshot-path>${H.reset}
1121
+ ${H.cyan}${R} snap export <hash|~index> <dest>${H.reset}
1116
1122
 
1117
1123
  Examples:
1118
- ${H.cyan}${C} snap worktree${H.reset+H.dim} # Save current staged/unstaged/untracked state${H.reset}
1119
- ${H.cyan}${C} snap full${H.reset+H.dim} # Save a full git-data backup${H.reset}
1120
- ${H.cyan}${C} snap list${H.reset+H.dim} # Show available snapshots${H.reset}
1121
- ${H.cyan}${C} snap apply a1b2c3d --force${H.reset+H.dim} # Restore a snapshot${H.reset}
1122
- ${H.cyan}${C} snap apply ~ --force${H.reset+H.dim} # Restore newest listed snapshot${H.reset}
1123
- ${H.cyan}${C} snap pop a1b2c3d --force${H.reset+H.dim} # Restore and remove a snapshot${H.reset}
1124
- ${H.cyan}${C} snap drop 2..6 ~0${H.reset+H.dim} # Remove snapshots by index range and selector${H.reset}
1125
- ${H.cyan}${C} snap export a1b2c3d ./snapshots${H.reset+H.dim} # Copy out a snapshot archive${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",indent:" ",mode:"softboundary"})}},W_={$root:{worktree:{},full:{},list:{},apply:{$allOf:["--force"]},pop:{$allOf:["--force"]},drop:{},import:{},export:{}}}});function yQ(Z){if(!Z)return R(t(`
1124
+ ${H.cyan}${R} snap worktree${H.reset+H.dim} # Save current staged/unstaged/untracked state${H.reset}
1125
+ ${H.cyan}${R} snap full${H.reset+H.dim} # Save a full git-data backup${H.reset}
1126
+ ${H.cyan}${R} snap list${H.reset+H.dim} # Show available snapshots${H.reset}
1127
+ ${H.cyan}${R} snap apply a1b2c3d --force${H.reset+H.dim} # Restore a snapshot${H.reset}
1128
+ ${H.cyan}${R} snap apply ~ --force${H.reset+H.dim} # Restore newest listed snapshot${H.reset}
1129
+ ${H.cyan}${R} snap pop a1b2c3d --force${H.reset+H.dim} # Restore and remove a snapshot${H.reset}
1130
+ ${H.cyan}${R} snap drop 2..6 ~0${H.reset+H.dim} # Remove snapshots by index range and selector${H.reset}
1131
+ ${H.cyan}${R} snap export a1b2c3d ./snapshots${H.reset+H.dim} # Copy out a snapshot archive${H.reset}`,Math.min(100,p.terminalWidth-4),{firstIndent:" ",indent:" ",mode:"softboundary"})}},C_={$root:{worktree:{},full:{},list:{},apply:{$allOf:["--force"]},pop:{$allOf:["--force"]},drop:{},import:{},export:{}}}});function dQ(Z){if(!Z)return C(t(`
1126
1132
  ──────────────────────────────
1127
1133
  ${H.bright+d("GDX (Git Developer eXperience)",E.OceanDeepBlue,E.OceanGreen,0.32,1)+H.reset}
1128
- Version: ${H.cyan+l6+H.reset}
1134
+ Version: ${H.cyan+o6+H.reset}
1129
1135
  ──────────────────────────────
1130
1136
 
1131
1137
  Git, but with better DX. The raw power of Git,
1132
1138
  aligned with human workflows.
1133
1139
 
1134
1140
  ${H.bright+d("DESCRIPTION",E.Zinc400,E.Zinc100,0.2)+H.reset}
1135
- ${C} (wrapper) — shorthand-friendly wrapper for git (executable) with common shortcuts,
1141
+ ${R} (wrapper) — shorthand-friendly wrapper for git (executable) with common shortcuts,
1136
1142
  stash-range support, and convenience expansions.
1137
1143
  It forwards unrecognized commands/args to git (executable) unchanged.
1138
1144
 
1139
1145
  ${H.bright+d("SYNOPSIS",E.Zinc400,E.Zinc100,0.2)+H.reset}
1140
- ${C} <command> [<args>]
1146
+ ${R} <command> [<args>]
1141
1147
  Examples:
1142
- ${H.cyan}${C} st ${H.reset+H.dim}# shorthand for ${C} stash${H.reset}
1143
- ${H.cyan}${C} lg ${H.reset+H.dim}# shorthand for ${C} log --oneline --graph --all --decorate${H.reset}
1144
- ${H.cyan}${C} stash d 2..6 ${H.reset+H.dim}# drop stashes 2 through 6 (safe: drops high->low)${H.reset}
1145
- ${H.cyan}${C} clear ${H.reset+H.dim}# backup changes to a temp patch file and reset working directory
1146
- # (use \`${H.cyan}${C} clear pardon${H.white}\` to restore)${H.reset}
1147
- ${H.cyan}${C} cmi auto ${H.reset+H.dim}# generate commit message based on staged changes using LLM${H.reset}
1148
+ ${H.cyan}${R} st ${H.reset+H.dim}# shorthand for ${R} stash${H.reset}
1149
+ ${H.cyan}${R} lg ${H.reset+H.dim}# shorthand for ${R} log --oneline --graph --all --decorate${H.reset}
1150
+ ${H.cyan}${R} stash d 2..6 ${H.reset+H.dim}# drop stashes 2 through 6 (safe: drops high->low)${H.reset}
1151
+ ${H.cyan}${R} clear ${H.reset+H.dim}# backup changes to a temp patch file and reset working directory
1152
+ # (use \`${H.cyan}${R} clear pardon${H.white}\` to restore)${H.reset}
1153
+ ${H.cyan}${R} cmi auto ${H.reset+H.dim}# generate commit message based on staged changes using LLM${H.reset}
1148
1154
 
1149
1155
  ${H.bright+d("KEY FEATURES",E.Zinc400,E.Zinc100,0.2)+H.reset}
1150
1156
  - Many short aliases for common commands (commit, branch, checkout, etc.).
1151
1157
  - Smart expansions:
1152
- - log: ${H.cyan}${C} lg ${H.reset+H.dim}-> ${H.reset+H.cyan}${C} log --oneline --graph --all --decorate${H.reset}
1153
- - log export: ${H.cyan}${C} lg export [extra args] ${H.reset+H.dim}creates a nicely formatted
1158
+ - log: ${H.cyan}${R} lg ${H.reset+H.dim}-> ${H.reset+H.cyan}${R} log --oneline --graph --all --decorate${H.reset}
1159
+ - log export: ${H.cyan}${R} lg export [extra args] ${H.reset+H.dim}creates a nicely formatted
1154
1160
  export (adds --author if missing).${H.reset}
1155
- - pull: ${H.cyan}${C} pl -au ${H.reset+H.dim}-> expands -au to --allow-unrelated-histories.${H.reset}
1156
- - push: ${H.cyan}${C} ps -fl ${H.reset+H.dim}-> expands -fl to --force-with-lease.${H.reset}
1157
- - reset: ${H.cyan}${C} res -h ${H.reset+H.dim}-> ${H.reset+H.cyan}${C} reset --hard${H.reset+H.dim}; ${H.reset+H.cyan}${C} res ~3 ${H.reset+H.dim}-> ${H.reset+H.cyan}${C} reset HEAD~3${H.reset}
1161
+ - pull: ${H.cyan}${R} pl -au ${H.reset+H.dim}-> expands -au to --allow-unrelated-histories.${H.reset}
1162
+ - push: ${H.cyan}${R} ps -fl ${H.reset+H.dim}-> expands -fl to --force-with-lease.${H.reset}
1163
+ - reset: ${H.cyan}${R} res -h ${H.reset+H.dim}-> ${H.reset+H.cyan}${R} reset --hard${H.reset+H.dim}; ${H.reset+H.cyan}${R} res ~3 ${H.reset+H.dim}-> ${H.reset+H.cyan}${R} reset HEAD~3${H.reset}
1158
1164
  ${H.dim}(also supports ${H.cyan}origin~N${H.reset+H.dim} for upstream-relative resets)${H.reset}
1159
1165
  - Clear convenience:
1160
- - ${H.cyan}${C} clear ${H.reset+H.dim}->${H.reset} creates a timestamped patch backup
1166
+ - ${H.cyan}${R} clear ${H.reset+H.dim}->${H.reset} creates a timestamped patch backup
1161
1167
  in the system temp folder, then resets the working directory
1162
- (${H.cyan}${C} reset --hard ${H.reset+H.dim}+ ${H.reset+H.cyan}${C} clean -fd${H.reset}).
1163
- - Use \`${H.cyan}${C} clear pardon${H.reset}\` to apply the latest backup patch
1168
+ (${H.cyan}${R} reset --hard ${H.reset+H.dim}+ ${H.reset+H.cyan}${R} clean -fd${H.reset}).
1169
+ - Use \`${H.cyan}${R} clear pardon${H.reset}\` to apply the latest backup patch
1164
1170
  and restore changes. Add \`${H.cyan}-f${H.reset}\`/\`${H.cyan}--force${H.reset}\` to bypass dirty-working-directory prompts.
1165
1171
  - Stash convenience:
1166
- - Short forms: ${H.cyan}${C} sta / ${C} st${H.reset} for stash; ${H.cyan}${C} sta l${H.reset} -> stash list.
1167
- - ${H.cyan}${C} stash d 2..6${H.reset} — drops stash@{6}..stash@{2} (drops high→low to
1172
+ - Short forms: ${H.cyan}${R} sta / ${R} st${H.reset} for stash; ${H.cyan}${R} sta l${H.reset} -> stash list.
1173
+ - ${H.cyan}${R} stash d 2..6${H.reset} — drops stash@{6}..stash@{2} (drops high→low to
1168
1174
  avoid index shift).
1169
1175
  - Supports apply, pop, drop, list, show, clear via short forms.
1170
1176
  - Quick worktrees:
1171
- - ${H.cyan}${C} parallel fork/remove/join/switch/open/list${H.reset} for temp-backed worktree workflows.
1177
+ - ${H.cyan}${R} parallel fork/remove/join/switch/open/list${H.reset} for temp-backed worktree workflows.
1172
1178
 
1173
1179
  ${H.bright+d("SHORTHAND LIST (common)",E.Zinc400,E.Zinc100,0.2)+H.reset}
1174
1180
  ${H.cyan}ad ${H.reset+H.dim}-> ${H.reset}add
@@ -1191,12 +1197,12 @@ ${H.cyan}s, stat ${H.reset+H.dim}-> ${H.reset}status
1191
1197
  ${H.cyan}swit, sw ${H.reset+H.dim}-> ${H.reset}switch
1192
1198
 
1193
1199
  ${H.bright+d("CUSTOM COMMANDS",E.Zinc400,E.Zinc100,0.2)+H.reset}
1194
- ${K_(rq,{cyan:H.cyan,reset:H.reset})}
1200
+ ${T_(WX,{cyan:H.cyan,reset:H.reset})}
1195
1201
 
1196
1202
  ${H.bright+d("GIT COMMAND EXTENSIONS",E.Zinc400,E.Zinc100,0.2)+H.reset}
1197
- ${K_(aq,{cyan:H.cyan,reset:H.reset})}
1203
+ ${T_(HX,{cyan:H.cyan,reset:H.reset})}
1198
1204
 
1199
- Run \`${H.cyan}${C} ghelp <command>${H.reset}\` for detailed help on a specific command.
1205
+ Run \`${H.cyan}${R} ghelp <command>${H.reset}\` for detailed help on a specific command.
1200
1206
 
1201
1207
  ${H.bright+d("OPTIONS",E.Zinc400,E.Zinc100,0.2)+H.reset}
1202
1208
  ${H.cyan}--init <shell> ${H.reset}Output shell initialization script for given shell.
@@ -1205,12 +1211,12 @@ ${H.cyan}--no-enhance ${H.reset}Bypass gdx enhanced Git's output.
1205
1211
  ${H.cyan}--loglevel <level> ${H.reset}Set log level (error, warning, info, debug).
1206
1212
  ${H.cyan}--ghelp, ${H.reset}Show GDX help message. ${H.dim}(use \`${H.cyan}ghelp <command>${H.reset}\`
1207
1213
  ${H.cyan} --gdx-help, -gh ${H.reset+H.dim}for command-specific help)${H.reset}
1208
- ${H.cyan}-r, --recursive ${H.yellow}[For '${C} status']${H.reset} Recursively show git status of submodules.
1209
- ${H.cyan}-au ${H.yellow}[For '${C} pull']${H.reset} Shorthand for ${H.cyan}--allow-unrelated-histories${H.reset}.
1210
- ${H.cyan}--no-lint ${H.yellow}[For '${C} push']${H.reset} Skip linting for this push${H.reset}.
1211
- ${H.cyan}-fl ${H.yellow}[For '${C} push']${H.reset} Shorthand for ${H.cyan}--force-with-lease${H.reset}.
1212
- ${H.cyan}-h ${H.yellow}[For '${C} reset']${H.reset} Shorthand for ${H.cyan}--hard${H.reset}.
1213
- ${H.cyan}-s ${H.yellow}[For '${C} reset']${H.reset} Shorthand for ${H.cyan}--soft${H.reset}.
1214
+ ${H.cyan}-r, --recursive ${H.yellow}[For '${R} status']${H.reset} Recursively show git status of submodules.
1215
+ ${H.cyan}-au ${H.yellow}[For '${R} pull']${H.reset} Shorthand for ${H.cyan}--allow-unrelated-histories${H.reset}.
1216
+ ${H.cyan}--no-lint ${H.yellow}[For '${R} push']${H.reset} Skip linting for this push${H.reset}.
1217
+ ${H.cyan}-fl ${H.yellow}[For '${R} push']${H.reset} Shorthand for ${H.cyan}--force-with-lease${H.reset}.
1218
+ ${H.cyan}-h ${H.yellow}[For '${R} reset']${H.reset} Shorthand for ${H.cyan}--hard${H.reset}.
1219
+ ${H.cyan}-s ${H.yellow}[For '${R} reset']${H.reset} Shorthand for ${H.cyan}--soft${H.reset}.
1214
1220
 
1215
1221
  ${H.bright+d("RELATIVE REF EXPANSION",E.Zinc400,E.Zinc100,0.2)+H.reset}
1216
1222
  Expansions are triggered by specific shorthand patterns in the arguments. When detected, they are expanded to their full form before being passed to git.
@@ -1222,33 +1228,33 @@ Syntax:
1222
1228
  - [head] and <number> can be omitted, they will default to HEAD and 0 respectively (e.g. ${H.cyan}origin~${H.reset} -> upstream, ${H.cyan}~${H.reset} -> HEAD).
1223
1229
 
1224
1230
  Examples:
1225
- - ${H.cyan}${C} reset ~3${H.reset} expands to ${H.cyan}${C} reset HEAD~3${H.reset}.
1226
- - ${H.cyan}${C} reset -h${H.reset} expands to ${H.cyan}${C} reset --hard${H.reset}.
1227
- - ${H.cyan}${C} show origin ~2${H.reset} expands to ${H.cyan}${C} show <upstream>~2${H.reset}.
1228
- - ${H.cyan}${C} diff origin ~2${H.reset} expands to ${H.cyan}${C} diff <upstream>~2${H.reset}.
1231
+ - ${H.cyan}${R} reset ~3${H.reset} expands to ${H.cyan}${R} reset HEAD~3${H.reset}.
1232
+ - ${H.cyan}${R} reset -h${H.reset} expands to ${H.cyan}${R} reset --hard${H.reset}.
1233
+ - ${H.cyan}${R} show origin ~2${H.reset} expands to ${H.cyan}${R} show <upstream>~2${H.reset}.
1234
+ - ${H.cyan}${R} diff origin ~2${H.reset} expands to ${H.cyan}${R} diff <upstream>~2${H.reset}.
1229
1235
 
1230
1236
  ${H.bright+d("NOTES & SAFETY",E.Zinc400,E.Zinc100,0.2)+H.reset}
1231
1237
  - Help message for individual custom commands is available via
1232
- ${H.cyan}${C} ghelp <command>${H.reset} (e.g. ${H.cyan}${C} ghelp stash${H.reset}).
1238
+ ${H.cyan}${R} ghelp <command>${H.reset} (e.g. ${H.cyan}${R} ghelp stash${H.reset}).
1233
1239
  - Range notation must be numeric and in the form start..end (e.g. 2..6).
1234
1240
  - The wrapper prints an auto-expansion message when it expands a shorthand.
1235
- - If you rely on advanced argument parsing or unusual ${C} flags, you can
1241
+ - If you rely on advanced argument parsing or unusual ${R} flags, you can
1236
1242
  bypass expansions by using the full command name
1237
1243
  so they are not recognized as shorthand triggers.
1238
- - For more infomation, see ${v6("README.md",O7)}.`,Math.min(100,p.terminalWidth-4),{mode:"softboundary",indent:2})),0;let Y=Z.replace(/^\/+/,"");if(Y==="help")return yQ();let Q=rq[Y]||aq[Y],J="";if(Q&&Q.long)J=Q.long();if(J&&Q.usage)J+=`
1244
+ - For more infomation, see ${S6("README.md",j7)}.`,Math.min(100,p.terminalWidth-4),{mode:"softboundary",indent:2})),0;let Y=Z.replace(/^\/+/,"");if(Y==="help")return dQ();let Q=WX[Y]||HX[Y],J="";if(Q&&Q.long)J=Q.long();if(J&&Q.usage)J+=`
1239
1245
 
1240
1246
  `+H.bright+d("USAGE",E.Zinc400,E.Zinc100,0.2)+H.reset+`
1241
- `+Q.usage();if(J)return R(J),0;return R(`No help found for '${Y}'.`),1}function K_(Z,Y){let Q=[];for(let[J,q]of Object.entries(Z))Q.push(Y.cyan+y0(J,U_,{overflow:"visible",align:"left",redundancyLv:0})+Y.reset+t(q.short,60,{indent:U_,firstIndent:0,redundancyLv:0,mode:"softboundary"}));return Q.join(`
1242
- `)}var aq,rq,U_=23,B_;var tq=j(()=>{z0();H0();R0();b0();v0();p5();n5();p1();i5();$Q();FQ();Iq();Y7();OQ();DQ();MQ();jQ();_Q();IQ();GQ();CQ();SQ();aq={tag:hj,stash:vO,commit:oM,submodule:Kj,status:zj},rq={cache:Aq,stats:ZD,graph:gO,nocap:UD,parallel:KQ,"gdx-config":vM,clear:DM,lint:qj,doctor:Wj,reword:jj,macro:vj,snap:vQ};B_={$root:Object.keys(rq).concat(Object.keys(aq))}});function iS(Z){if(!Z||typeof Z!=="object"||Array.isArray(Z))return!1;return!0}async function eq(Z,Y){let Q=Z,J=0;while(typeof Q==="function"&&J<3){try{Q=await Q(Y)}catch{return{}}J+=1}if(Array.isArray(Q)||iS(Q))return Q;return{}}async function $_(Z,Y){if(!Z)return[];let Q=Z,J=0;while(typeof Q==="function"&&J<3){try{Q=await Q(Y)}catch{return[]}J+=1}return Array.isArray(Q)?Q:[]}async function F_(Z,Y){if(Array.isArray(Z))return{children:{},anyOf:new Set(Z),allOf:new Set};let Q={},J=new Set(await $_(Z.$anyOf,Y)),q=new Set(await $_(Z.$allOf,Y));for(let[X,z]of Object.entries(Z)){if(X==="$allOf"||X==="$anyOf"||!z)continue;Q[X]=z}return{children:Q,anyOf:J,allOf:q}}function ZX(Z,Y,Q=!1){let J=Array.from(new Set(Y)),{match:q,candidates:X}=f0(Z,J,Q);if(q)return{match:q,isAmbiguous:!1};if(Z&&X&&X.length>1)return{match:null,isAmbiguous:!0};return{match:null,isAmbiguous:!1}}async function V_(Z,Y,Q,J){let q=Q.$root,X=new Set,z=new Set,W=[...Z],U=!1,K=Y,B=(_,N)=>({git$:J.git$,args:W,index:_,cursorIndex:K,mode:N});for(let _=0;_<Y;_++){let N=W[_];if(!N)continue;q=await eq(q,B(_,"history"));let w=await F_(q,B(_,"history")),G=Object.keys(w.children),I=ZX(N,G);if(I.isAmbiguous)return{completions:[]};if(I.match){for(let y of w.allOf)X.add(y);q=await eq(w.children[I.match],B(_,"history")),W[_]=I.match,U=!1;continue}let A=ZX(N,w.anyOf);if(A.isAmbiguous)return{completions:[]};if(A.match){if(U)return{completions:[]};U=!0,W[_]=A.match;continue}let x=new Set([...w.allOf,...X]),T=ZX(N,x);if(T.isAmbiguous)return{completions:[]};if(T.match){if(z.has(T.match))return{completions:[]};z.add(T.match),W[_]=T.match;continue}if(N.startsWith("-"))return{completions:[]}}q=await eq(q,B(Y,"suggest"));let $=await F_(q,B(Y,"suggest")),F=new Set;for(let _ of Object.keys($.children))F.add(_);if(!U)for(let _ of $.anyOf)F.add(_);let O=new Set([...$.allOf,...X]);for(let _ of O)if(!z.has(_))F.add(_);let V=W[Y]||"";return{completions:Array.from(F).filter((_)=>_.startsWith(V)&&_!==V.trim()).sort((_,N)=>_.length-N.length||_.localeCompare(N))}}var O_=j(()=>{R0()});var sS,YX;var D_=j(()=>{OQ();Y7();jQ();FQ();p1();tq();DQ();i5();$Q();p5();n5();MQ();GQ();_Q();IQ();CQ();SQ();sS={commit:{$root:{auto:{$anyOf:["--no-commit","--copy","--yes","--describe","-d","--preview"]}}},push:{$root:{$anyOf:["-fl","--no-lint"]}},pull:{$root:{$anyOf:["-au"]}},status:{$root:{$anyOf:["--recursive","-r"]}},log:{$root:{$anyOf:["--author","--relative"]}},diff:{$root:{$anyOf:["--json"]}},show:{$root:{$anyOf:["--json"]}}},YX={...sS,cache:aM,clear:MM,doctor:Uj,"gdx-config":SM,graph:mO,help:B_,lint:Xj,nocap:KD,parallel:bM,stash:SO,stats:YD,status:Hj,macro:Sj,submodule:Bj,reword:_j,tag:gj,snap:W_}});function M_(Z){let Y=process.env.GDX_CMP_IDX,Q=Number.parseInt(Y||"",10);if(!Number.isInteger(Q)||Q<0)Q=Math.max(0,Z-1);if(Z>0&&Q>=Z)Q=Z-1;return Q}async function QX(Z){let Y=p.logLevel;p.logLevel="off";try{let Q=[...Z.args],{args:J,cursorIndex:q,cursorInGitGlobal:X}=c5(Q,M_(Q.length));if(J[0]==="__completion")J.shift();let z=q??M_(J.length);if(M.debug(`Completion invoked with args: ${J.join(" ")} (idx=${z})`,"completion"),X)return 0;if(J.length===0||z===0){let F=J[0]||"",O=new Set;for(let D of Object.keys(YX))O.add(D);for(let D of rX)O.add(D);for(let D of tX)O.add(D);for(let D of cZ)O.add(D);let V=Array.from(O).filter((D)=>D.startsWith(F)).sort((D,_)=>D.length-_.length||D.localeCompare(_));M.debug(`Completion root-level matches: ${V.join(", ")}`,"completion");for(let D of V)process.stdout.write(`${D}
1243
- `);return 0}let W=J[0],{match:U}=f0(W,cZ),K=U||aS[W]||W,B=J.slice(1),$=YX[K];if($){let F=z-1;if(F>=0&&F<B.length){let{completions:O}=await V_(B,F,$,{git$:Z.git$});M.debug(`Completion matches for command '${K}': ${O.join(", ")}`,"completion");for(let V of O)process.stdout.write(`${V}
1244
- `);return 0}}return M.debug(`No completion structure for command '${K}', or index out of range`,"completion"),0}finally{p.logLevel=Y}}var aS;var j_=j(()=>{O_();wZ();v0();H0();w0();R0();D_();aS={s:"status",co:"checkout",br:"branch",cmi:"commit",mg:"merge",pl:"pull",pu:"pull",ps:"push",ad:"add",rv:"revert",rb:"rebase",lg:"log",sta:"stash"}});var S0;var gq=j(()=>{tq();p5();p1();n5();Y7();OQ();Iq();FQ();i5();$Q();DQ();jQ();MQ();GQ();_Q();IQ();CQ();j_();SQ();S0={__completion:QX,help:yQ,stash:bO,graph:m1,stats:k3,clear:Z7,cache:Lq,commit:nM,gdxConfig:jq,nocap:S3,parallel:Mq,lint:Gq,doctor:kq,status:Rq,macro:yj,submodule:$j,reword:Pq,tag:fj,snap:sq}});z0();gq();g0();R0();wZ();H0();o0();var rS=(Z="gdx")=>{return Z0`
1247
+ `+Q.usage();if(J)return C(J),0;return C(`No help found for '${Y}'.`),1}function T_(Z,Y){let Q=[];for(let[J,q]of Object.entries(Z))Q.push(Y.cyan+b0(J,R_,{overflow:"visible",align:"left",redundancyLv:0})+Y.reset+t(q.short,60,{indent:R_,firstIndent:0,redundancyLv:0,mode:"softboundary"}));return Q.join(`
1248
+ `)}var HX,WX,R_=23,k_;var UX=N(()=>{z0();H0();R0();v0();S0();c5();s5();c1();r5();MQ();jQ();xq();q7();NQ();IQ();LQ();wQ();AQ();CQ();xQ();bQ();uQ();HX={tag:Q_,stash:lO,commit:Kj,submodule:Rj,status:wj},WX={cache:Sq,stats:BD,graph:aO,nocap:ND,parallel:OQ,"gdx-config":rM,clear:bM,lint:Ij,doctor:Gj,reword:Sj,macro:tj,snap:pQ};k_={$root:Object.keys(WX).concat(Object.keys(HX))}});function wy(Z){if(!Z||typeof Z!=="object"||Array.isArray(Z))return!1;return!0}async function KX(Z,Y){let Q=Z,J=0;while(typeof Q==="function"&&J<3){try{Q=await Q(Y)}catch{return{}}J+=1}if(Array.isArray(Q)||wy(Q))return Q;return{}}async function E_(Z,Y){if(!Z)return[];let Q=Z,J=0;while(typeof Q==="function"&&J<3){try{Q=await Q(Y)}catch{return[]}J+=1}return Array.isArray(Q)?Q:[]}async function P_(Z,Y){if(Array.isArray(Z))return{children:{},anyOf:new Set(Z),allOf:new Set};let Q={},J=new Set(await E_(Z.$anyOf,Y)),q=new Set(await E_(Z.$allOf,Y));for(let[X,z]of Object.entries(Z)){if(X==="$allOf"||X==="$anyOf"||!z)continue;Q[X]=z}return{children:Q,anyOf:J,allOf:q}}function BX(Z,Y,Q=!1){let J=Array.from(new Set(Y)),{match:q,candidates:X}=h0(Z,J,Q);if(q)return{match:q,isAmbiguous:!1};if(Z&&X&&X.length>1)return{match:null,isAmbiguous:!0};return{match:null,isAmbiguous:!1}}async function x_(Z,Y,Q,J){let q=Q.$root,X=new Set,z=new Set,W=[...Z],U=!1,K=Y,B=(j,_)=>({git$:J.git$,args:W,index:j,cursorIndex:K,mode:_});for(let j=0;j<Y;j++){let _=W[j];if(!_)continue;q=await KX(q,B(j,"history"));let L=await P_(q,B(j,"history")),A=Object.keys(L.children),I=BX(_,A);if(I.isAmbiguous)return{completions:[]};if(I.match){for(let y of L.allOf)X.add(y);q=await KX(L.children[I.match],B(j,"history")),W[j]=I.match,U=!1;continue}let G=BX(_,L.anyOf);if(G.isAmbiguous)return{completions:[]};if(G.match){if(U)return{completions:[]};U=!0,W[j]=G.match;continue}let P=new Set([...L.allOf,...X]),T=BX(_,P);if(T.isAmbiguous)return{completions:[]};if(T.match){if(z.has(T.match))return{completions:[]};z.add(T.match),W[j]=T.match;continue}if(_.startsWith("-"))return{completions:[]}}q=await KX(q,B(Y,"suggest"));let $=await P_(q,B(Y,"suggest")),V=new Set;for(let j of Object.keys($.children))V.add(j);if(!U)for(let j of $.anyOf)V.add(j);let D=new Set([...$.allOf,...X]);for(let j of D)if(!z.has(j))V.add(j);let F=W[Y]||"";return{completions:Array.from(V).filter((j)=>j.startsWith(F)&&j!==F.trim()).sort((j,_)=>j.length-_.length||j.localeCompare(_))}}var b_=N(()=>{R0()});var Ay,$X;var v_=N(()=>{NQ();q7();wQ();jQ();c1();UX();IQ();r5();MQ();c5();s5();LQ();xQ();AQ();CQ();bQ();uQ();Ay={commit:{$root:{auto:{$anyOf:["--no-commit","--copy","--yes","--describe","-d","--preview"]}}},push:{$root:{$anyOf:["-fl","--no-lint"]}},pull:{$root:{$anyOf:["-au"]}},status:{$root:{$anyOf:["--recursive","-r"]}},log:{$root:{$anyOf:["--author","--relative"]}},diff:{$root:{$anyOf:["--json"]}},show:{$root:{$anyOf:["--json"]}}},$X={...Ay,cache:Fj,clear:vM,doctor:Cj,"gdx-config":tM,graph:rO,help:k_,lint:Lj,nocap:ID,parallel:aM,stash:nO,stats:$D,status:Aj,macro:ej,submodule:Tj,reword:yj,tag:J_,snap:C_}});function S_(Z){let Y=process.env.GDX_CMP_IDX,Q=Number.parseInt(Y||"",10);if(!Number.isInteger(Q)||Q<0)Q=Math.max(0,Z-1);if(Z>0&&Q>=Z)Q=Z-1;return Q}async function FX(Z){let Y=p.logLevel;p.logLevel="off";try{let Q=[...Z.args],{args:J,cursorIndex:q,cursorInGitGlobal:X}=o5(Q,S_(Q.length));if(J[0]==="__completion")J.shift();let z=q??S_(J.length);if(M.debug(`Completion invoked with args: ${J.join(" ")} (idx=${z})`,"completion"),X)return 0;if(J.length===0||z===0){let V=J[0]||"",D=new Set;for(let O of Object.keys($X))D.add(O);for(let O of Wz)D.add(O);for(let O of Uz)D.add(O);for(let O of nZ)D.add(O);let F=Array.from(D).filter((O)=>O.startsWith(V)).sort((O,j)=>O.length-j.length||O.localeCompare(j));M.debug(`Completion root-level matches: ${F.join(", ")}`,"completion");for(let O of F)process.stdout.write(`${O}
1249
+ `);return 0}let W=J[0],{match:U}=h0(W,nZ),K=U||Gy[W]||W,B=J.slice(1),$=$X[K];if($){let V=z-1;if(V>=0&&V<B.length){let{completions:D}=await x_(B,V,$,{git$:Z.git$});M.debug(`Completion matches for command '${K}': ${D.join(", ")}`,"completion");for(let F of D)process.stdout.write(`${F}
1250
+ `);return 0}}return M.debug(`No completion structure for command '${K}', or index out of range`,"completion"),0}finally{p.logLevel=Y}}var Gy;var y_=N(()=>{b_();GZ();S0();H0();w0();R0();v_();Gy={s:"status",co:"checkout",br:"branch",cmi:"commit",mg:"merge",pl:"pull",pu:"pull",ps:"push",ad:"add",rv:"revert",rb:"rebase",lg:"log",sta:"stash"}});var y0;var aq=N(()=>{UX();c5();c1();s5();q7();NQ();xq();jQ();r5();MQ();IQ();wQ();LQ();xQ();AQ();CQ();bQ();y_();uQ();y0={__completion:FX,help:dQ,stash:cO,graph:d1,stats:fJ,clear:J7,cache:bq,commit:Uj,gdxConfig:kq,nocap:dJ,parallel:Tq,lint:yq,doctor:pq,status:hq,macro:Z_,submodule:kj,reword:cq,tag:Y_,snap:zX}});z0();aq();m0();R0();GZ();H0();s0();var Cy=(Z="gdx")=>{return Z0`
1245
1251
  # gdx shell integration
1246
1252
  ${Z}() {
1247
1253
  local tmp
1248
1254
  tmp="$(mktemp)"
1249
1255
  GDX_RESULT="$tmp" command gdx "$@"
1250
1256
  local ret=$?
1251
- if [ $ret -eq ${Q4} ]; then
1257
+ if [ $ret -eq ${X8} ]; then
1252
1258
  if [ -f "$tmp" ]; then
1253
1259
  cd "$(cat "$tmp")"
1254
1260
  fi
@@ -1297,14 +1303,14 @@ ${H.bright+d("NOTES & SAFETY",E.Zinc400,E.Zinc100,0.2)+H.reset}
1297
1303
  }
1298
1304
 
1299
1305
  complete -o bashdefault -o default -F __gdx_complete_bash ${Z}
1300
- `},tS=(Z="gdx")=>{return Z0`
1306
+ `},Ry=(Z="gdx")=>{return Z0`
1301
1307
  # gdx shell integration
1302
1308
  ${Z}() {
1303
1309
  local tmp
1304
1310
  tmp="$(mktemp)"
1305
1311
  GDX_RESULT="$tmp" command gdx "$@"
1306
1312
  local ret=$?
1307
- if [ $ret -eq ${Q4} ]; then
1313
+ if [ $ret -eq ${X8} ]; then
1308
1314
  if [ -f "$tmp" ]; then
1309
1315
  cd "$(cat "$tmp")"
1310
1316
  fi
@@ -1353,14 +1359,14 @@ ${H.bright+d("NOTES & SAFETY",E.Zinc400,E.Zinc100,0.2)+H.reset}
1353
1359
  fi
1354
1360
 
1355
1361
  compdef __gdx_complete_zsh ${Z}
1356
- `},eS=(Z="gdx")=>{return Z0`
1362
+ `},Ty=(Z="gdx")=>{return Z0`
1357
1363
  # gdx shell integration
1358
1364
  function ${Z}
1359
1365
  set -l tmp (mktemp)
1360
1366
  set -x GDX_RESULT "$tmp"
1361
1367
  command gdx $argv
1362
1368
  set -l ret $status
1363
- if test $ret -eq ${Q4}
1369
+ if test $ret -eq ${X8}
1364
1370
  if test -f "$tmp"
1365
1371
  cd (cat "$tmp")
1366
1372
  end
@@ -1401,7 +1407,7 @@ ${H.bright+d("NOTES & SAFETY",E.Zinc400,E.Zinc100,0.2)+H.reset}
1401
1407
 
1402
1408
  # Then add gdx-specific completions (they take precedence)
1403
1409
  complete -c ${Z} -f -a "(__gdx_complete_fish)"
1404
- `},Zy=(Z="gdx")=>{return Z0`
1410
+ `},ky=(Z="gdx")=>{return Z0`
1405
1411
  # gdx shell integration
1406
1412
  function ${Z} {
1407
1413
  $tmp = [System.IO.Path]::GetTempFileName()
@@ -1413,7 +1419,7 @@ ${H.bright+d("NOTES & SAFETY",E.Zinc400,E.Zinc100,0.2)+H.reset}
1413
1419
  }
1414
1420
  if ($command) {
1415
1421
  & $command @args
1416
- if ($LASTEXITCODE -eq ${Q4}) {
1422
+ if ($LASTEXITCODE -eq ${X8}) {
1417
1423
  if (Test-Path $tmp) {
1418
1424
  $target = Get-Content $tmp -Raw
1419
1425
  if ($target) {
@@ -1483,4 +1489,4 @@ ${H.bright+d("NOTES & SAFETY",E.Zinc400,E.Zinc100,0.2)+H.reset}
1483
1489
  }
1484
1490
 
1485
1491
  Register-ArgumentCompleter -Native -CommandName ${Z} -ScriptBlock $__gdxCompleter
1486
- `},__=(Z,Y)=>{switch(Z.toLowerCase()){case"bash":return rS(Y);case"zsh":return tS(Y);case"fish":return eS(Y);case"powershell":case"pwsh":return Zy(Y);default:throw Error("Unsupported shell: ${shell}`")}};v0();w0();hq();$6();var Yy=process.argv.slice(2);M.debug(`Raw arguments: ${u(process.argv)}`,"gdx");async function Qy(){let Z=c5(Yy),Y={args:new R8(Z.args),git$:""},Q=Y.args;if(M.debug(`Parsed arguments: ${u(Q.toArray())}`,"gdx"),Q[0]==="--init"){let z=Q.popValue("--shell")||Q.popValue("--init"),W=Q.popValue("--cmd");if(z)try{let U=__(z,W||void 0);return R(U),0}catch(U){return M.error(u(U,{color:!0})),1}else return M.error("<shell-name> is not specified. --init <shell-name> is required for initialization."),1}if(Q[0]==="__completion")return await S0.__completion({...Y,git$:"git"});let J=await H8("git");if(!J)throw new o("Git is not installed or not found in PATH.","GIT_NOT_FOUND");if(Y.git$=Z.gitArgs.length?[J,...Z.gitArgs]:J,Q[0]==="--bypass")return IZ(J,Q.slice(1));let q=Q.popValue("--loglevel");if(q){let z=["fatal","error","warn","info","debug"];if(z.includes(q))p.logLevel=q;else return M.error(`Invalid log level '${q}'. Expected: ${z.join(", ")}`),1}if(Q.includes("--ghelp")||Q.includes("-gh")||Q.includes("--gdx-help")||Q.length===0)return S0.help(),0;let X=await K0();return p.threadResources.setMax(X.get("maxThreadWorkers")||1),fq(Y)}(async()=>{try{let Z=await Qy();if(p.finalStringOutput)R(p.finalStringOutput);process.exit(p.exitCodeOverride>=0?p.exitCodeOverride:Z)}catch(Z){M.error(u(Z,{color:!0})),process.exit(1)}})();
1492
+ `},f_=(Z,Y)=>{switch(Z.toLowerCase()){case"bash":return Cy(Y);case"zsh":return Ry(Y);case"fish":return Ty(Y);case"powershell":case"pwsh":return ky(Y);default:throw Error("Unsupported shell: ${shell}`")}};S0();w0();sq();$6();var Ey=process.argv.slice(2);M.debug(`Raw arguments: ${u(process.argv)}`,"gdx");async function Py(){let Z=o5(Ey),Y={args:new k4(Z.args),git$:""},Q=Y.args;if(M.debug(`Parsed arguments: ${u(Q.toArray())}`,"gdx"),Q[0]==="--init"){let z=Q.popValue("--shell")||Q.popValue("--init"),W=Q.popValue("--cmd");if(z)try{let U=f_(z,W||void 0);return C(U),0}catch(U){return M.error(u(U,{color:!0})),1}else return M.error("<shell-name> is not specified. --init <shell-name> is required for initialization."),1}if(Q[0]==="__completion")return await y0.__completion({...Y,git$:"git"});let J=await s4("git");if(!J)throw new o("Git is not installed or not found in PATH.","GIT_NOT_FOUND");if(Y.git$=Z.gitArgs.length?[J,...Z.gitArgs]:J,Q[0]==="--bypass")return wZ(J,Q.slice(1));let q=Q.popValue("--loglevel");if(q){let z=["fatal","error","warn","info","debug"];if(z.includes(q))p.logLevel=q;else return M.error(`Invalid log level '${q}'. Expected: ${z.join(", ")}`),1}if(Q.includes("--ghelp")||Q.includes("-gh")||Q.includes("--gdx-help")||Q.length===0)return y0.help(),0;let X=await K0();return p.threadResources.setMax(X.get("maxThreadWorkers")||1),iq(Y)}(async()=>{try{let Z=await Py();if(p.finalStringOutput)C(p.finalStringOutput);process.exit(p.exitCodeOverride>=0?p.exitCodeOverride:Z)}catch(Z){M.error(u(Z,{color:!0})),process.exit(1)}})();