/* THIS IS A GENERATED/BUNDLED FILE BY ESBUILD if you want to view the source visit the plugins github repository (https://github.com/denolehov/obsidian-git) */ "use strict";var E$=Object.create;var gc=Object.defineProperty;var S$=Object.getOwnPropertyDescriptor;var k$=Object.getOwnPropertyNames;var C$=Object.getPrototypeOf,A$=Object.prototype.hasOwnProperty;var Eb=t=>{throw TypeError(t)};var T$=(t,e,r)=>e in t?gc(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var P$=(t,e,r)=>()=>{if(r)throw r[0];try{return t&&(e=t(t=0)),e}catch(i){throw r=[i],i}};var U=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(r){throw e=0,r}},R$=(t,e)=>{for(var r in e)gc(t,r,{get:e[r],enumerable:!0})},Sb=(t,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of k$(e))!A$.call(t,n)&&n!==r&&gc(t,n,{get:()=>e[n],enumerable:!(i=S$(e,n))||i.enumerable});return t};var ft=(t,e,r)=>(r=t!=null?E$(C$(t)):{},Sb(e||!t||!t.__esModule?gc(r,"default",{value:t,enumerable:!0}):r,t)),$$=t=>Sb(gc({},"__esModule",{value:!0}),t);var He=(t,e,r)=>T$(t,typeof e!="symbol"?e+"":e,r),tm=(t,e,r)=>e.has(t)||Eb("Cannot "+r);var $=(t,e,r)=>(tm(t,e,"read from private field"),r?r.call(t):e.get(t)),me=(t,e,r)=>e.has(t)?Eb("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),fe=(t,e,r,i)=>(tm(t,e,"write to private field"),i?i.call(t,r):e.set(t,r),r),Ee=(t,e,r)=>(tm(t,e,"access private method"),r);var Ab=U(Rf=>{"use strict";m();Rf.byteLength=I$;Rf.toByteArray=D$;Rf.fromByteArray=N$;var ln=[],pi=[],F$=typeof Uint8Array!="undefined"?Uint8Array:Array,rm="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(ia=0,kb=rm.length;ia0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");r===-1&&(r=e);var i=r===e?0:4-r%4;return[r,i]}function I$(t){var e=Cb(t),r=e[0],i=e[1];return(r+i)*3/4-i}function M$(t,e,r){return(e+r)*3/4-r}function D$(t){var e,r=Cb(t),i=r[0],n=r[1],s=new F$(M$(t,i,n)),a=0,o=n>0?i-4:i,l;for(l=0;l>16&255,s[a++]=e>>8&255,s[a++]=e&255;return n===2&&(e=pi[t.charCodeAt(l)]<<2|pi[t.charCodeAt(l+1)]>>4,s[a++]=e&255),n===1&&(e=pi[t.charCodeAt(l)]<<10|pi[t.charCodeAt(l+1)]<<4|pi[t.charCodeAt(l+2)]>>2,s[a++]=e>>8&255,s[a++]=e&255),s}function O$(t){return ln[t>>18&63]+ln[t>>12&63]+ln[t>>6&63]+ln[t&63]}function L$(t,e,r){for(var i,n=[],s=e;so?o:a+s));return i===1?(e=t[r-1],n.push(ln[e>>2]+ln[e<<4&63]+"==")):i===2&&(e=(t[r-2]<<8)+t[r-1],n.push(ln[e>>10]+ln[e>>4&63]+ln[e<<2&63]+"=")),n.join("")}});var Tb=U(im=>{m();im.read=function(t,e,r,i,n){var s,a,o=n*8-i-1,l=(1<>1,u=-7,f=r?n-1:0,d=r?-1:1,h=t[e+f];for(f+=d,s=h&(1<<-u)-1,h>>=-u,u+=o;u>0;s=s*256+t[e+f],f+=d,u-=8);for(a=s&(1<<-u)-1,s>>=-u,u+=i;u>0;a=a*256+t[e+f],f+=d,u-=8);if(s===0)s=1-c;else{if(s===l)return a?NaN:(h?-1:1)*(1/0);a=a+Math.pow(2,i),s=s-c}return(h?-1:1)*a*Math.pow(2,s-i)};im.write=function(t,e,r,i,n,s){var a,o,l,c=s*8-n-1,u=(1<>1,d=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,h=i?0:s-1,p=i?1:-1,g=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,a=u):(a=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-a))<1&&(a--,l*=2),a+f>=1?e+=d/l:e+=d*Math.pow(2,1-f),e*l>=2&&(a++,l/=2),a+f>=u?(o=0,a=u):a+f>=1?(o=(e*l-1)*Math.pow(2,n),a=a+f):(o=e*Math.pow(2,f-1)*Math.pow(2,n),a=0));n>=8;t[r+h]=o&255,h+=p,o/=256,n-=8);for(a=a<0;t[r+h]=a&255,h+=p,a/=256,c-=8);t[r+h-p]|=g*128}});var dm=U(Eo=>{"use strict";m();var nm=Ab(),yo=Tb(),Pb=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Eo.Buffer=M;Eo.SlowBuffer=V$;Eo.INSPECT_MAX_BYTES=50;var $f=2147483647;Eo.kMaxLength=$f;M.TYPED_ARRAY_SUPPORT=B$();!M.TYPED_ARRAY_SUPPORT&&typeof console!="undefined"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function B$(){try{let t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),t.foo()===42}catch(t){return!1}}Object.defineProperty(M.prototype,"parent",{enumerable:!0,get:function(){if(M.isBuffer(this))return this.buffer}});Object.defineProperty(M.prototype,"offset",{enumerable:!0,get:function(){if(M.isBuffer(this))return this.byteOffset}});function Gn(t){if(t>$f)throw new RangeError('The value "'+t+'" is invalid for option "size"');let e=new Uint8Array(t);return Object.setPrototypeOf(e,M.prototype),e}function M(t,e,r){if(typeof t=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return lm(t)}return Ib(t,e,r)}M.poolSize=8192;function Ib(t,e,r){if(typeof t=="string")return U$(t,e);if(ArrayBuffer.isView(t))return G$(t);if(t==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(cn(t,ArrayBuffer)||t&&cn(t.buffer,ArrayBuffer)||typeof SharedArrayBuffer!="undefined"&&(cn(t,SharedArrayBuffer)||t&&cn(t.buffer,SharedArrayBuffer)))return am(t,e,r);if(typeof t=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let i=t.valueOf&&t.valueOf();if(i!=null&&i!==t)return M.from(i,e,r);let n=j$(t);if(n)return n;if(typeof Symbol!="undefined"&&Symbol.toPrimitive!=null&&typeof t[Symbol.toPrimitive]=="function")return M.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}M.from=function(t,e,r){return Ib(t,e,r)};Object.setPrototypeOf(M.prototype,Uint8Array.prototype);Object.setPrototypeOf(M,Uint8Array);function Mb(t){if(typeof t!="number")throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function H$(t,e,r){return Mb(t),t<=0?Gn(t):e!==void 0?typeof r=="string"?Gn(t).fill(e,r):Gn(t).fill(e):Gn(t)}M.alloc=function(t,e,r){return H$(t,e,r)};function lm(t){return Mb(t),Gn(t<0?0:cm(t)|0)}M.allocUnsafe=function(t){return lm(t)};M.allocUnsafeSlow=function(t){return lm(t)};function U$(t,e){if((typeof e!="string"||e==="")&&(e="utf8"),!M.isEncoding(e))throw new TypeError("Unknown encoding: "+e);let r=Db(t,e)|0,i=Gn(r),n=i.write(t,e);return n!==r&&(i=i.slice(0,n)),i}function sm(t){let e=t.length<0?0:cm(t.length)|0,r=Gn(e);for(let i=0;i=$f)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+$f.toString(16)+" bytes");return t|0}function V$(t){return+t!=t&&(t=0),M.alloc(+t)}M.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==M.prototype};M.compare=function(e,r){if(cn(e,Uint8Array)&&(e=M.from(e,e.offset,e.byteLength)),cn(r,Uint8Array)&&(r=M.from(r,r.offset,r.byteLength)),!M.isBuffer(e)||!M.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===r)return 0;let i=e.length,n=r.length;for(let s=0,a=Math.min(i,n);sn.length?(M.isBuffer(a)||(a=M.from(a)),a.copy(n,s)):Uint8Array.prototype.set.call(n,a,s);else if(M.isBuffer(a))a.copy(n,s);else throw new TypeError('"list" argument must be an Array of Buffers');s+=a.length}return n};function Db(t,e){if(M.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||cn(t,ArrayBuffer))return t.byteLength;if(typeof t!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);let r=t.length,i=arguments.length>2&&arguments[2]===!0;if(!i&&r===0)return 0;let n=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return om(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return Vb(t).length;default:if(n)return i?-1:om(t).length;e=(""+e).toLowerCase(),n=!0}}M.byteLength=Db;function z$(t,e,r){let i=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,e>>>=0,r<=e))return"";for(t||(t="utf8");;)switch(t){case"hex":return tF(this,e,r);case"utf8":case"utf-8":return Lb(this,e,r);case"ascii":return J$(this,e,r);case"latin1":case"binary":return eF(this,e,r);case"base64":return X$(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return rF(this,e,r);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}M.prototype._isBuffer=!0;function na(t,e,r){let i=t[e];t[e]=t[r],t[r]=i}M.prototype.swap16=function(){let e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;rr&&(e+=" ... "),""};Pb&&(M.prototype[Pb]=M.prototype.inspect);M.prototype.compare=function(e,r,i,n,s){if(cn(e,Uint8Array)&&(e=M.from(e,e.offset,e.byteLength)),!M.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(r===void 0&&(r=0),i===void 0&&(i=e?e.length:0),n===void 0&&(n=0),s===void 0&&(s=this.length),r<0||i>e.length||n<0||s>this.length)throw new RangeError("out of range index");if(n>=s&&r>=i)return 0;if(n>=s)return-1;if(r>=i)return 1;if(r>>>=0,i>>>=0,n>>>=0,s>>>=0,this===e)return 0;let a=s-n,o=i-r,l=Math.min(a,o),c=this.slice(n,s),u=e.slice(r,i);for(let f=0;f2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,fm(r)&&(r=n?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(n)return-1;r=t.length-1}else if(r<0)if(n)r=0;else return-1;if(typeof e=="string"&&(e=M.from(e,i)),M.isBuffer(e))return e.length===0?-1:Rb(t,e,r,i,n);if(typeof e=="number")return e=e&255,typeof Uint8Array.prototype.indexOf=="function"?n?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):Rb(t,[e],r,i,n);throw new TypeError("val must be string, number or Buffer")}function Rb(t,e,r,i,n){let s=1,a=t.length,o=e.length;if(i!==void 0&&(i=String(i).toLowerCase(),i==="ucs2"||i==="ucs-2"||i==="utf16le"||i==="utf-16le")){if(t.length<2||e.length<2)return-1;s=2,a/=2,o/=2,r/=2}function l(u,f){return s===1?u[f]:u.readUInt16BE(f*s)}let c;if(n){let u=-1;for(c=r;ca&&(r=a-o),c=r;c>=0;c--){let u=!0;for(let f=0;fn&&(i=n)):i=n;let s=e.length;i>s/2&&(i=s/2);let a;for(a=0;a>>0,isFinite(i)?(i=i>>>0,n===void 0&&(n="utf8")):(n=i,i=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let s=this.length-r;if((i===void 0||i>s)&&(i=s),e.length>0&&(i<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let a=!1;for(;;)switch(n){case"hex":return W$(this,e,r,i);case"utf8":case"utf-8":return q$(this,e,r,i);case"ascii":case"latin1":case"binary":return Y$(this,e,r,i);case"base64":return Z$(this,e,r,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return K$(this,e,r,i);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}};M.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function X$(t,e,r){return e===0&&r===t.length?nm.fromByteArray(t):nm.fromByteArray(t.slice(e,r))}function Lb(t,e,r){r=Math.min(t.length,r);let i=[],n=e;for(;n239?4:s>223?3:s>191?2:1;if(n+o<=r){let l,c,u,f;switch(o){case 1:s<128&&(a=s);break;case 2:l=t[n+1],(l&192)===128&&(f=(s&31)<<6|l&63,f>127&&(a=f));break;case 3:l=t[n+1],c=t[n+2],(l&192)===128&&(c&192)===128&&(f=(s&15)<<12|(l&63)<<6|c&63,f>2047&&(f<55296||f>57343)&&(a=f));break;case 4:l=t[n+1],c=t[n+2],u=t[n+3],(l&192)===128&&(c&192)===128&&(u&192)===128&&(f=(s&15)<<18|(l&63)<<12|(c&63)<<6|u&63,f>65535&&f<1114112&&(a=f))}}a===null?(a=65533,o=1):a>65535&&(a-=65536,i.push(a>>>10&1023|55296),a=56320|a&1023),i.push(a),n+=o}return Q$(i)}var $b=4096;function Q$(t){let e=t.length;if(e<=$b)return String.fromCharCode.apply(String,t);let r="",i=0;for(;ii)&&(r=i);let n="";for(let s=e;si&&(e=i),r<0?(r+=i,r<0&&(r=0)):r>i&&(r=i),rr)throw new RangeError("Trying to access beyond buffer length")}M.prototype.readUintLE=M.prototype.readUIntLE=function(e,r,i){e=e>>>0,r=r>>>0,i||jt(e,r,this.length);let n=this[e],s=1,a=0;for(;++a>>0,r=r>>>0,i||jt(e,r,this.length);let n=this[e+--r],s=1;for(;r>0&&(s*=256);)n+=this[e+--r]*s;return n};M.prototype.readUint8=M.prototype.readUInt8=function(e,r){return e=e>>>0,r||jt(e,1,this.length),this[e]};M.prototype.readUint16LE=M.prototype.readUInt16LE=function(e,r){return e=e>>>0,r||jt(e,2,this.length),this[e]|this[e+1]<<8};M.prototype.readUint16BE=M.prototype.readUInt16BE=function(e,r){return e=e>>>0,r||jt(e,2,this.length),this[e]<<8|this[e+1]};M.prototype.readUint32LE=M.prototype.readUInt32LE=function(e,r){return e=e>>>0,r||jt(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};M.prototype.readUint32BE=M.prototype.readUInt32BE=function(e,r){return e=e>>>0,r||jt(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};M.prototype.readBigUInt64LE=ys(function(e){e=e>>>0,xo(e,"offset");let r=this[e],i=this[e+7];(r===void 0||i===void 0)&&vc(e,this.length-8);let n=r+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,s=this[++e]+this[++e]*2**8+this[++e]*2**16+i*2**24;return BigInt(n)+(BigInt(s)<>>0,xo(e,"offset");let r=this[e],i=this[e+7];(r===void 0||i===void 0)&&vc(e,this.length-8);let n=r*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],s=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+i;return(BigInt(n)<>>0,r=r>>>0,i||jt(e,r,this.length);let n=this[e],s=1,a=0;for(;++a=s&&(n-=Math.pow(2,8*r)),n};M.prototype.readIntBE=function(e,r,i){e=e>>>0,r=r>>>0,i||jt(e,r,this.length);let n=r,s=1,a=this[e+--n];for(;n>0&&(s*=256);)a+=this[e+--n]*s;return s*=128,a>=s&&(a-=Math.pow(2,8*r)),a};M.prototype.readInt8=function(e,r){return e=e>>>0,r||jt(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};M.prototype.readInt16LE=function(e,r){e=e>>>0,r||jt(e,2,this.length);let i=this[e]|this[e+1]<<8;return i&32768?i|4294901760:i};M.prototype.readInt16BE=function(e,r){e=e>>>0,r||jt(e,2,this.length);let i=this[e+1]|this[e]<<8;return i&32768?i|4294901760:i};M.prototype.readInt32LE=function(e,r){return e=e>>>0,r||jt(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};M.prototype.readInt32BE=function(e,r){return e=e>>>0,r||jt(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};M.prototype.readBigInt64LE=ys(function(e){e=e>>>0,xo(e,"offset");let r=this[e],i=this[e+7];(r===void 0||i===void 0)&&vc(e,this.length-8);let n=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(i<<24);return(BigInt(n)<>>0,xo(e,"offset");let r=this[e],i=this[e+7];(r===void 0||i===void 0)&&vc(e,this.length-8);let n=(r<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(n)<>>0,r||jt(e,4,this.length),yo.read(this,e,!0,23,4)};M.prototype.readFloatBE=function(e,r){return e=e>>>0,r||jt(e,4,this.length),yo.read(this,e,!1,23,4)};M.prototype.readDoubleLE=function(e,r){return e=e>>>0,r||jt(e,8,this.length),yo.read(this,e,!0,52,8)};M.prototype.readDoubleBE=function(e,r){return e=e>>>0,r||jt(e,8,this.length),yo.read(this,e,!1,52,8)};function Rr(t,e,r,i,n,s){if(!M.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>n||et.length)throw new RangeError("Index out of range")}M.prototype.writeUintLE=M.prototype.writeUIntLE=function(e,r,i,n){if(e=+e,r=r>>>0,i=i>>>0,!n){let o=Math.pow(2,8*i)-1;Rr(this,e,r,i,o,0)}let s=1,a=0;for(this[r]=e&255;++a>>0,i=i>>>0,!n){let o=Math.pow(2,8*i)-1;Rr(this,e,r,i,o,0)}let s=i-1,a=1;for(this[r+s]=e&255;--s>=0&&(a*=256);)this[r+s]=e/a&255;return r+i};M.prototype.writeUint8=M.prototype.writeUInt8=function(e,r,i){return e=+e,r=r>>>0,i||Rr(this,e,r,1,255,0),this[r]=e&255,r+1};M.prototype.writeUint16LE=M.prototype.writeUInt16LE=function(e,r,i){return e=+e,r=r>>>0,i||Rr(this,e,r,2,65535,0),this[r]=e&255,this[r+1]=e>>>8,r+2};M.prototype.writeUint16BE=M.prototype.writeUInt16BE=function(e,r,i){return e=+e,r=r>>>0,i||Rr(this,e,r,2,65535,0),this[r]=e>>>8,this[r+1]=e&255,r+2};M.prototype.writeUint32LE=M.prototype.writeUInt32LE=function(e,r,i){return e=+e,r=r>>>0,i||Rr(this,e,r,4,4294967295,0),this[r+3]=e>>>24,this[r+2]=e>>>16,this[r+1]=e>>>8,this[r]=e&255,r+4};M.prototype.writeUint32BE=M.prototype.writeUInt32BE=function(e,r,i){return e=+e,r=r>>>0,i||Rr(this,e,r,4,4294967295,0),this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=e&255,r+4};function Nb(t,e,r,i,n){jb(e,i,n,t,r,7);let s=Number(e&BigInt(4294967295));t[r++]=s,s=s>>8,t[r++]=s,s=s>>8,t[r++]=s,s=s>>8,t[r++]=s;let a=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=a,a=a>>8,t[r++]=a,a=a>>8,t[r++]=a,a=a>>8,t[r++]=a,r}function Bb(t,e,r,i,n){jb(e,i,n,t,r,7);let s=Number(e&BigInt(4294967295));t[r+7]=s,s=s>>8,t[r+6]=s,s=s>>8,t[r+5]=s,s=s>>8,t[r+4]=s;let a=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=a,a=a>>8,t[r+2]=a,a=a>>8,t[r+1]=a,a=a>>8,t[r]=a,r+8}M.prototype.writeBigUInt64LE=ys(function(e,r=0){return Nb(this,e,r,BigInt(0),BigInt("0xffffffffffffffff"))});M.prototype.writeBigUInt64BE=ys(function(e,r=0){return Bb(this,e,r,BigInt(0),BigInt("0xffffffffffffffff"))});M.prototype.writeIntLE=function(e,r,i,n){if(e=+e,r=r>>>0,!n){let l=Math.pow(2,8*i-1);Rr(this,e,r,i,l-1,-l)}let s=0,a=1,o=0;for(this[r]=e&255;++s>0)-o&255;return r+i};M.prototype.writeIntBE=function(e,r,i,n){if(e=+e,r=r>>>0,!n){let l=Math.pow(2,8*i-1);Rr(this,e,r,i,l-1,-l)}let s=i-1,a=1,o=0;for(this[r+s]=e&255;--s>=0&&(a*=256);)e<0&&o===0&&this[r+s+1]!==0&&(o=1),this[r+s]=(e/a>>0)-o&255;return r+i};M.prototype.writeInt8=function(e,r,i){return e=+e,r=r>>>0,i||Rr(this,e,r,1,127,-128),e<0&&(e=255+e+1),this[r]=e&255,r+1};M.prototype.writeInt16LE=function(e,r,i){return e=+e,r=r>>>0,i||Rr(this,e,r,2,32767,-32768),this[r]=e&255,this[r+1]=e>>>8,r+2};M.prototype.writeInt16BE=function(e,r,i){return e=+e,r=r>>>0,i||Rr(this,e,r,2,32767,-32768),this[r]=e>>>8,this[r+1]=e&255,r+2};M.prototype.writeInt32LE=function(e,r,i){return e=+e,r=r>>>0,i||Rr(this,e,r,4,2147483647,-2147483648),this[r]=e&255,this[r+1]=e>>>8,this[r+2]=e>>>16,this[r+3]=e>>>24,r+4};M.prototype.writeInt32BE=function(e,r,i){return e=+e,r=r>>>0,i||Rr(this,e,r,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=e&255,r+4};M.prototype.writeBigInt64LE=ys(function(e,r=0){return Nb(this,e,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});M.prototype.writeBigInt64BE=ys(function(e,r=0){return Bb(this,e,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Hb(t,e,r,i,n,s){if(r+i>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Ub(t,e,r,i,n){return e=+e,r=r>>>0,n||Hb(t,e,r,4,34028234663852886e22,-34028234663852886e22),yo.write(t,e,r,i,23,4),r+4}M.prototype.writeFloatLE=function(e,r,i){return Ub(this,e,r,!0,i)};M.prototype.writeFloatBE=function(e,r,i){return Ub(this,e,r,!1,i)};function Gb(t,e,r,i,n){return e=+e,r=r>>>0,n||Hb(t,e,r,8,17976931348623157e292,-17976931348623157e292),yo.write(t,e,r,i,52,8),r+8}M.prototype.writeDoubleLE=function(e,r,i){return Gb(this,e,r,!0,i)};M.prototype.writeDoubleBE=function(e,r,i){return Gb(this,e,r,!1,i)};M.prototype.copy=function(e,r,i,n){if(!M.isBuffer(e))throw new TypeError("argument should be a Buffer");if(i||(i=0),!n&&n!==0&&(n=this.length),r>=e.length&&(r=e.length),r||(r=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-r>>0,i=i===void 0?this.length:i>>>0,e||(e=0);let s;if(typeof e=="number")for(s=r;s2**32?n=Fb(String(r)):typeof r=="bigint"&&(n=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(n=Fb(n)),n+="n"),i+=` It must be ${e}. Received ${n}`,i},RangeError);function Fb(t){let e="",r=t.length,i=t[0]==="-"?1:0;for(;r>=i+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}function iF(t,e,r){xo(e,"offset"),(t[e]===void 0||t[e+r]===void 0)&&vc(e,t.length-(r+1))}function jb(t,e,r,i,n,s){if(t>r||t3?e===0||e===BigInt(0)?o=`>= 0${a} and < 2${a} ** ${(s+1)*8}${a}`:o=`>= -(2${a} ** ${(s+1)*8-1}${a}) and < 2 ** ${(s+1)*8-1}${a}`:o=`>= ${e}${a} and <= ${r}${a}`,new _o.ERR_OUT_OF_RANGE("value",o,t)}iF(i,n,s)}function xo(t,e){if(typeof t!="number")throw new _o.ERR_INVALID_ARG_TYPE(e,"number",t)}function vc(t,e,r){throw Math.floor(t)!==t?(xo(t,r),new _o.ERR_OUT_OF_RANGE(r||"offset","an integer",t)):e<0?new _o.ERR_BUFFER_OUT_OF_BOUNDS:new _o.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${e}`,t)}var nF=/[^+/0-9A-Za-z-_]/g;function sF(t){if(t=t.split("=")[0],t=t.trim().replace(nF,""),t.length<2)return"";for(;t.length%4!==0;)t=t+"=";return t}function om(t,e){e=e||1/0;let r,i=t.length,n=null,s=[];for(let a=0;a55295&&r<57344){if(!n){if(r>56319){(e-=3)>-1&&s.push(239,191,189);continue}else if(a+1===i){(e-=3)>-1&&s.push(239,191,189);continue}n=r;continue}if(r<56320){(e-=3)>-1&&s.push(239,191,189),n=r;continue}r=(n-55296<<10|r-56320)+65536}else n&&(e-=3)>-1&&s.push(239,191,189);if(n=null,r<128){if((e-=1)<0)break;s.push(r)}else if(r<2048){if((e-=2)<0)break;s.push(r>>6|192,r&63|128)}else if(r<65536){if((e-=3)<0)break;s.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((e-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return s}function aF(t){let e=[];for(let r=0;r>8,n=r%256,s.push(n),s.push(i);return s}function Vb(t){return nm.toByteArray(sF(t))}function Ff(t,e,r,i){let n;for(n=0;n=e.length||n>=t.length);++n)e[n+r]=t[n];return n}function cn(t,e){return t instanceof e||t!=null&&t.constructor!=null&&t.constructor.name!=null&&t.constructor.name===e.name}function fm(t){return t!==t}var lF=(function(){let t="0123456789abcdef",e=new Array(256);for(let r=0;r<16;++r){let i=r*16;for(let n=0;n<16;++n)e[i+n]=t[r]+t[n]}return e})();function ys(t){return typeof BigInt=="undefined"?cF:t}function cF(){throw new Error("BigInt not supported")}});var zb,hm,k,m=P$(()=>{"use strict";zb=require("obsidian");zb.Platform.isMobileApp?hm=dm().Buffer:hm=global.Buffer;k=hm});var qb=U((OG,Wb)=>{"use strict";m();var Xr=function(t){if(t=t||{},this.Promise=t.Promise||Promise,this.queues=Object.create(null),this.domainReentrant=t.domainReentrant||!1,this.domainReentrant){if(typeof process=="undefined"||typeof process.domain=="undefined")throw new Error("Domain-reentrant locks require `process.domain` to exist. Please flip `opts.domainReentrant = false`, use a NodeJS version that still implements Domain, or install a browser polyfill.");this.domains=Object.create(null)}this.timeout=t.timeout||Xr.DEFAULT_TIMEOUT,this.maxOccupationTime=t.maxOccupationTime||Xr.DEFAULT_MAX_OCCUPATION_TIME,this.maxExecutionTime=t.maxExecutionTime||Xr.DEFAULT_MAX_EXECUTION_TIME,t.maxPending===1/0||Number.isInteger(t.maxPending)&&t.maxPending>=0?this.maxPending=t.maxPending:this.maxPending=Xr.DEFAULT_MAX_PENDING};Xr.DEFAULT_TIMEOUT=0;Xr.DEFAULT_MAX_OCCUPATION_TIME=0;Xr.DEFAULT_MAX_EXECUTION_TIME=0;Xr.DEFAULT_MAX_PENDING=1e3;Xr.prototype.acquire=function(t,e,r,i){if(Array.isArray(t))return this._acquireBatch(t,e,r,i);if(typeof e!="function")throw new Error("You must pass a function to execute");var n=null,s=null,a=null;typeof r!="function"&&(i=r,r=null,a=new this.Promise(function(_,C){n=_,s=C})),i=i||{};var o=!1,l=null,c=null,u=null,f=this,d=function(_,C,x){c&&(clearTimeout(c),c=null),u&&(clearTimeout(u),u=null),_&&(f.queues[t]&&f.queues[t].length===0&&delete f.queues[t],f.domainReentrant&&delete f.domains[t]),o||(a?C?s(C):n(x):typeof r=="function"&&r(C,x),o=!0),_&&f.queues[t]&&f.queues[t].length>0&&f.queues[t].shift()()},h=function(_){if(o)return d(_);l&&(clearTimeout(l),l=null),f.domainReentrant&&_&&(f.domains[t]=process.domain);var C=i.maxExecutionTime||f.maxExecutionTime;if(C&&(u=setTimeout(function(){f.queues[t]&&d(_,new Error("Maximum execution time is exceeded "+t))},C)),e.length===1){var x=!1;try{e(function(S,A){x||(x=!0,d(_,S,A))})}catch(S){x||(x=!0,d(_,S))}}else f._promiseTry(function(){return e()}).then(function(S){d(_,void 0,S)},function(S){d(_,S)})};f.domainReentrant&&process.domain&&(h=process.domain.bind(h));var p=i.maxPending||f.maxPending;if(!f.queues[t])f.queues[t]=[],h(!0);else if(f.domainReentrant&&process.domain&&process.domain===f.domains[t])h(!1);else if(f.queues[t].length>=p)d(!1,new Error("Too many pending tasks in queue "+t));else{var g=function(){h(!0)};i.skipQueue?f.queues[t].unshift(g):f.queues[t].push(g);var v=i.timeout||f.timeout;v&&(l=setTimeout(function(){l=null,d(!1,new Error("async-lock timed out in queue "+t))},v))}var b=i.maxOccupationTime||f.maxOccupationTime;if(b&&(c=setTimeout(function(){f.queues[t]&&d(!1,new Error("Maximum occupation time is exceeded in queue "+t))},b)),a)return a};Xr.prototype._acquireBatch=function(t,e,r,i){typeof r!="function"&&(i=r,r=null);var n=this,s=function(o,l){return function(c){n.acquire(o,l,c,i)}},a=t.reduceRight(function(o,l){return s(l,o)},e);if(typeof r=="function")a(r);else return new this.Promise(function(o,l){a.length===1?a(function(c,u){c?l(c):o(u)}):o(a())})};Xr.prototype.isBusy=function(t){return t?!!this.queues[t]:Object.keys(this.queues).length>0};Xr.prototype._promiseTry=function(t){try{return this.Promise.resolve(t())}catch(e){return this.Promise.reject(e)}};Wb.exports=Xr});var Zb=U((NG,Yb)=>{"use strict";m();Yb.exports=qb()});var Kb=U((HG,pm)=>{m();typeof Object.create=="function"?pm.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:pm.exports=function(e,r){if(r){e.super_=r;var i=function(){};i.prototype=r.prototype,e.prototype=new i,e.prototype.constructor=e}}});var Mf=U((mm,Qb)=>{m();var If=dm(),un=If.Buffer;function Xb(t,e){for(var r in t)e[r]=t[r]}un.from&&un.alloc&&un.allocUnsafe&&un.allocUnsafeSlow?Qb.exports=If:(Xb(If,mm),mm.Buffer=sa);function sa(t,e,r){return un(t,e,r)}sa.prototype=Object.create(un.prototype);Xb(un,sa);sa.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return un(t,e,r)};sa.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var i=un(t);return e!==void 0?typeof r=="string"?i.fill(e,r):i.fill(e):i.fill(0),i};sa.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return un(t)};sa.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return If.SlowBuffer(t)}});var e_=U((jG,Jb)=>{m();var uF={}.toString;Jb.exports=Array.isArray||function(t){return uF.call(t)=="[object Array]"}});var So=U((zG,t_)=>{"use strict";m();t_.exports=TypeError});var gm=U((qG,r_)=>{"use strict";m();r_.exports=Object});var n_=U((ZG,i_)=>{"use strict";m();i_.exports=Error});var a_=U((XG,s_)=>{"use strict";m();s_.exports=EvalError});var l_=U((JG,o_)=>{"use strict";m();o_.exports=RangeError});var u_=U((tj,c_)=>{"use strict";m();c_.exports=ReferenceError});var vm=U((ij,f_)=>{"use strict";m();f_.exports=SyntaxError});var h_=U((sj,d_)=>{"use strict";m();d_.exports=URIError});var m_=U((oj,p_)=>{"use strict";m();p_.exports=Math.abs});var v_=U((cj,g_)=>{"use strict";m();g_.exports=Math.floor});var b_=U((fj,w_)=>{"use strict";m();w_.exports=Math.max});var y_=U((hj,__)=>{"use strict";m();__.exports=Math.min});var E_=U((mj,x_)=>{"use strict";m();x_.exports=Math.pow});var k_=U((vj,S_)=>{"use strict";m();S_.exports=Math.round});var A_=U((bj,C_)=>{"use strict";m();C_.exports=Number.isNaN||function(e){return e!==e}});var P_=U((yj,T_)=>{"use strict";m();var fF=A_();T_.exports=function(e){return fF(e)||e===0?e:e<0?-1:1}});var $_=U((Ej,R_)=>{"use strict";m();R_.exports=Object.getOwnPropertyDescriptor});var ko=U((kj,F_)=>{"use strict";m();var Df=$_();if(Df)try{Df([],"length")}catch(t){Df=null}F_.exports=Df});var wc=U((Aj,I_)=>{"use strict";m();var Of=Object.defineProperty||!1;if(Of)try{Of({},"a",{value:1})}catch(t){Of=!1}I_.exports=Of});var wm=U((Pj,M_)=>{"use strict";m();M_.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var e={},r=Symbol("test"),i=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(i)!=="[object Symbol]")return!1;var n=42;e[r]=n;for(var s in e)return!1;if(typeof Object.keys=="function"&&Object.keys(e).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(e).length!==0)return!1;var a=Object.getOwnPropertySymbols(e);if(a.length!==1||a[0]!==r||!Object.prototype.propertyIsEnumerable.call(e,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var o=Object.getOwnPropertyDescriptor(e,r);if(o.value!==n||o.enumerable!==!0)return!1}return!0}});var L_=U(($j,O_)=>{"use strict";m();var D_=typeof Symbol!="undefined"&&Symbol,dF=wm();O_.exports=function(){return typeof D_!="function"||typeof Symbol!="function"||typeof D_("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:dF()}});var bm=U((Ij,N_)=>{"use strict";m();N_.exports=typeof Reflect!="undefined"&&Reflect.getPrototypeOf||null});var _m=U((Dj,B_)=>{"use strict";m();var hF=gm();B_.exports=hF.getPrototypeOf||null});var G_=U((Lj,U_)=>{"use strict";m();var pF="Function.prototype.bind called on incompatible ",mF=Object.prototype.toString,gF=Math.max,vF="[object Function]",H_=function(e,r){for(var i=[],n=0;n{"use strict";m();var _F=G_();j_.exports=Function.prototype.bind||_F});var Lf=U((Uj,V_)=>{"use strict";m();V_.exports=Function.prototype.call});var Nf=U((jj,z_)=>{"use strict";m();z_.exports=Function.prototype.apply});var q_=U((zj,W_)=>{"use strict";m();W_.exports=typeof Reflect!="undefined"&&Reflect&&Reflect.apply});var ym=U((qj,Y_)=>{"use strict";m();var yF=Co(),xF=Nf(),EF=Lf(),SF=q_();Y_.exports=SF||yF.call(EF,xF)});var Bf=U((Zj,Z_)=>{"use strict";m();var kF=Co(),CF=So(),AF=Lf(),TF=ym();Z_.exports=function(e){if(e.length<1||typeof e[0]!="function")throw new CF("a function is required");return TF(kF,AF,e)}});var ty=U((Xj,ey)=>{"use strict";m();var PF=Bf(),K_=ko(),Q_;try{Q_=[].__proto__===Array.prototype}catch(t){if(!t||typeof t!="object"||!("code"in t)||t.code!=="ERR_PROTO_ACCESS")throw t}var xm=!!Q_&&K_&&K_(Object.prototype,"__proto__"),J_=Object,X_=J_.getPrototypeOf;ey.exports=xm&&typeof xm.get=="function"?PF([xm.get]):typeof X_=="function"?function(e){return X_(e==null?e:J_(e))}:!1});var Em=U((Jj,sy)=>{"use strict";m();var ry=bm(),iy=_m(),ny=ty();sy.exports=ry?function(e){return ry(e)}:iy?function(e){if(!e||typeof e!="object"&&typeof e!="function")throw new TypeError("getProto: not an object");return iy(e)}:ny?function(e){return ny(e)}:null});var oy=U((tV,ay)=>{"use strict";m();var RF=Function.prototype.call,$F=Object.prototype.hasOwnProperty,FF=Co();ay.exports=FF.call(RF,$F)});var Cm=U((iV,hy)=>{"use strict";m();var Ae,IF=gm(),MF=n_(),DF=a_(),OF=l_(),LF=u_(),Ro=vm(),Po=So(),NF=h_(),BF=m_(),HF=v_(),UF=b_(),GF=y_(),jF=E_(),VF=k_(),zF=P_(),fy=Function,Sm=function(t){try{return fy('"use strict"; return ('+t+").constructor;")()}catch(e){}},bc=ko(),WF=wc(),km=function(){throw new Po},qF=bc?(function(){try{return arguments.callee,km}catch(t){try{return bc(arguments,"callee").get}catch(e){return km}}})():km,Ao=L_()(),Vt=Em(),YF=_m(),ZF=bm(),dy=Nf(),_c=Lf(),To={},KF=typeof Uint8Array=="undefined"||!Vt?Ae:Vt(Uint8Array),aa={__proto__:null,"%AggregateError%":typeof AggregateError=="undefined"?Ae:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer=="undefined"?Ae:ArrayBuffer,"%ArrayIteratorPrototype%":Ao&&Vt?Vt([][Symbol.iterator]()):Ae,"%AsyncFromSyncIteratorPrototype%":Ae,"%AsyncFunction%":To,"%AsyncGenerator%":To,"%AsyncGeneratorFunction%":To,"%AsyncIteratorPrototype%":To,"%Atomics%":typeof Atomics=="undefined"?Ae:Atomics,"%BigInt%":typeof BigInt=="undefined"?Ae:BigInt,"%BigInt64Array%":typeof BigInt64Array=="undefined"?Ae:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array=="undefined"?Ae:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView=="undefined"?Ae:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":MF,"%eval%":eval,"%EvalError%":DF,"%Float16Array%":typeof Float16Array=="undefined"?Ae:Float16Array,"%Float32Array%":typeof Float32Array=="undefined"?Ae:Float32Array,"%Float64Array%":typeof Float64Array=="undefined"?Ae:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry=="undefined"?Ae:FinalizationRegistry,"%Function%":fy,"%GeneratorFunction%":To,"%Int8Array%":typeof Int8Array=="undefined"?Ae:Int8Array,"%Int16Array%":typeof Int16Array=="undefined"?Ae:Int16Array,"%Int32Array%":typeof Int32Array=="undefined"?Ae:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":Ao&&Vt?Vt(Vt([][Symbol.iterator]())):Ae,"%JSON%":typeof JSON=="object"?JSON:Ae,"%Map%":typeof Map=="undefined"?Ae:Map,"%MapIteratorPrototype%":typeof Map=="undefined"||!Ao||!Vt?Ae:Vt(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":IF,"%Object.getOwnPropertyDescriptor%":bc,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise=="undefined"?Ae:Promise,"%Proxy%":typeof Proxy=="undefined"?Ae:Proxy,"%RangeError%":OF,"%ReferenceError%":LF,"%Reflect%":typeof Reflect=="undefined"?Ae:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set=="undefined"?Ae:Set,"%SetIteratorPrototype%":typeof Set=="undefined"||!Ao||!Vt?Ae:Vt(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer=="undefined"?Ae:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":Ao&&Vt?Vt(""[Symbol.iterator]()):Ae,"%Symbol%":Ao?Symbol:Ae,"%SyntaxError%":Ro,"%ThrowTypeError%":qF,"%TypedArray%":KF,"%TypeError%":Po,"%Uint8Array%":typeof Uint8Array=="undefined"?Ae:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray=="undefined"?Ae:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array=="undefined"?Ae:Uint16Array,"%Uint32Array%":typeof Uint32Array=="undefined"?Ae:Uint32Array,"%URIError%":NF,"%WeakMap%":typeof WeakMap=="undefined"?Ae:WeakMap,"%WeakRef%":typeof WeakRef=="undefined"?Ae:WeakRef,"%WeakSet%":typeof WeakSet=="undefined"?Ae:WeakSet,"%Function.prototype.call%":_c,"%Function.prototype.apply%":dy,"%Object.defineProperty%":WF,"%Object.getPrototypeOf%":YF,"%Math.abs%":BF,"%Math.floor%":HF,"%Math.max%":UF,"%Math.min%":GF,"%Math.pow%":jF,"%Math.round%":VF,"%Math.sign%":zF,"%Reflect.getPrototypeOf%":ZF};if(Vt)try{null.error}catch(t){ly=Vt(Vt(t)),aa["%Error.prototype%"]=ly}var ly,XF=function t(e){var r;if(e==="%AsyncFunction%")r=Sm("async function () {}");else if(e==="%GeneratorFunction%")r=Sm("function* () {}");else if(e==="%AsyncGeneratorFunction%")r=Sm("async function* () {}");else if(e==="%AsyncGenerator%"){var i=t("%AsyncGeneratorFunction%");i&&(r=i.prototype)}else if(e==="%AsyncIteratorPrototype%"){var n=t("%AsyncGenerator%");n&&Vt&&(r=Vt(n.prototype))}return aa[e]=r,r},cy={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},yc=Co(),Hf=oy(),QF=yc.call(_c,Array.prototype.concat),JF=yc.call(dy,Array.prototype.splice),uy=yc.call(_c,String.prototype.replace),Uf=yc.call(_c,String.prototype.slice),eI=yc.call(_c,RegExp.prototype.exec),tI=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,rI=/\\(\\)?/g,iI=function(e){var r=Uf(e,0,1),i=Uf(e,-1);if(r==="%"&&i!=="%")throw new Ro("invalid intrinsic syntax, expected closing `%`");if(i==="%"&&r!=="%")throw new Ro("invalid intrinsic syntax, expected opening `%`");var n=[];return uy(e,tI,function(s,a,o,l){n[n.length]=o?uy(l,rI,"$1"):a||s}),n},nI=function(e,r){var i=e,n;if(Hf(cy,i)&&(n=cy[i],i="%"+n[0]+"%"),Hf(aa,i)){var s=aa[i];if(s===To&&(s=XF(i)),typeof s=="undefined"&&!r)throw new Po("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:n,name:i,value:s}}throw new Ro("intrinsic "+e+" does not exist!")};hy.exports=function(e,r){if(typeof e!="string"||e.length===0)throw new Po("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof r!="boolean")throw new Po('"allowMissing" argument must be a boolean');if(eI(/^%?[^%]*%?$/,e)===null)throw new Ro("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var i=iI(e),n=i.length>0?i[0]:"",s=nI("%"+n+"%",r),a=s.name,o=s.value,l=!1,c=s.alias;c&&(n=c[0],JF(i,QF([0,1],c)));for(var u=1,f=!0;u=i.length){var g=bc(o,d);f=!!g,f&&"get"in g&&!("originalValue"in g.get)?o=g.get:o=o[d]}else f=Hf(o,d),o=o[d];f&&!l&&(aa[a]=o)}}return o}});var Am=U((sV,gy)=>{"use strict";m();var py=Cm(),my=Bf(),sI=my([py("%String.prototype.indexOf%")]);gy.exports=function(e,r){var i=py(e,!!r);return typeof i=="function"&&sI(e,".prototype.")>-1?my([i]):i}});var _y=U((oV,by)=>{"use strict";m();var wy=Function.prototype.toString,$o=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply,Pm,Gf;if(typeof $o=="function"&&typeof Object.defineProperty=="function")try{Pm=Object.defineProperty({},"length",{get:function(){throw Gf}}),Gf={},$o(function(){throw 42},null,Pm)}catch(t){t!==Gf&&($o=null)}else $o=null;var aI=/^\s*class\b/,Rm=function(e){try{var r=wy.call(e);return aI.test(r)}catch(i){return!1}},Tm=function(e){try{return Rm(e)?!1:(wy.call(e),!0)}catch(r){return!1}},jf=Object.prototype.toString,oI="[object Object]",lI="[object Function]",cI="[object GeneratorFunction]",uI="[object HTMLAllCollection]",fI="[object HTML document.all class]",dI="[object HTMLCollection]",hI=typeof Symbol=="function"&&!!Symbol.toStringTag,pI=!(0 in[,]),$m=function(){return!1};typeof document=="object"&&(vy=document.all,jf.call(vy)===jf.call(document.all)&&($m=function(e){if((pI||!e)&&(typeof e=="undefined"||typeof e=="object"))try{var r=jf.call(e);return(r===uI||r===fI||r===dI||r===oI)&&e("")==null}catch(i){}return!1}));var vy;by.exports=$o?function(e){if($m(e))return!0;if(!e||typeof e!="function"&&typeof e!="object")return!1;try{$o(e,null,Pm)}catch(r){if(r!==Gf)return!1}return!Rm(e)&&Tm(e)}:function(e){if($m(e))return!0;if(!e||typeof e!="function"&&typeof e!="object")return!1;if(hI)return Tm(e);if(Rm(e))return!1;var r=jf.call(e);return r!==lI&&r!==cI&&!/^\[object HTML/.test(r)?!1:Tm(e)}});var Ey=U((cV,xy)=>{"use strict";m();var mI=_y(),gI=Object.prototype.toString,yy=Object.prototype.hasOwnProperty,vI=function(e,r,i){for(var n=0,s=e.length;n=3&&(n=i),_I(e)?vI(e,r,n):typeof e=="string"?wI(e,r,n):bI(e,r,n)}});var ky=U((fV,Sy)=>{"use strict";m();Sy.exports=["Float16Array","Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array"]});var Ay=U((hV,Cy)=>{"use strict";m();var Fm=ky(),yI=typeof globalThis=="undefined"?global:globalThis;Cy.exports=function(){for(var e=[],r=0;r{"use strict";m();var Ty=wc(),xI=vm(),Fo=So(),Py=ko();Ry.exports=function(e,r,i){if(!e||typeof e!="object"&&typeof e!="function")throw new Fo("`obj` must be an object or a function`");if(typeof r!="string"&&typeof r!="symbol")throw new Fo("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new Fo("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new Fo("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new Fo("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new Fo("`loose`, if provided, must be a boolean");var n=arguments.length>3?arguments[3]:null,s=arguments.length>4?arguments[4]:null,a=arguments.length>5?arguments[5]:null,o=arguments.length>6?arguments[6]:!1,l=!!Py&&Py(e,r);if(Ty)Ty(e,r,{configurable:a===null&&l?l.configurable:!a,enumerable:n===null&&l?l.enumerable:!n,value:i,writable:s===null&&l?l.writable:!s});else if(o||!n&&!s&&!a)e[r]=i;else throw new xI("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")}});var My=U((vV,Iy)=>{"use strict";m();var Im=wc(),Fy=function(){return!!Im};Fy.hasArrayLengthDefineBug=function(){if(!Im)return null;try{return Im([],"length",{value:1}).length!==1}catch(e){return!0}};Iy.exports=Fy});var By=U((bV,Ny)=>{"use strict";m();var EI=Cm(),Dy=$y(),SI=My()(),Oy=ko(),Ly=So(),kI=EI("%Math.floor%");Ny.exports=function(e,r){if(typeof e!="function")throw new Ly("`fn` is not a function");if(typeof r!="number"||r<0||r>4294967295||kI(r)!==r)throw new Ly("`length` must be a positive 32-bit integer");var i=arguments.length>2&&!!arguments[2],n=!0,s=!0;if("length"in e&&Oy){var a=Oy(e,"length");a&&!a.configurable&&(n=!1),a&&!a.writable&&(s=!1)}return(n||s||!i)&&(SI?Dy(e,"length",r,!0,!0):Dy(e,"length",r)),e}});var Uy=U((yV,Hy)=>{"use strict";m();var CI=Co(),AI=Nf(),TI=ym();Hy.exports=function(){return TI(CI,AI,arguments)}});var Vy=U((EV,Vf)=>{"use strict";m();var PI=By(),Gy=wc(),RI=Bf(),jy=Uy();Vf.exports=function(e){var r=RI(arguments),i=1+e.length-(arguments.length-1);return PI(r,i>0?i:0,!0)};Gy?Gy(Vf.exports,"apply",{value:jy}):Vf.exports.apply=jy});var Wy=U((kV,zy)=>{"use strict";m();var $I=wm();zy.exports=function(){return $I()&&!!Symbol.toStringTag}});var Xy=U((AV,Ky)=>{"use strict";m();var qf=Ey(),FI=Ay(),qy=Vy(),Dm=Am(),Wf=ko(),zf=Em(),II=Dm("Object.prototype.toString"),Zy=Wy()(),Yy=typeof globalThis=="undefined"?global:globalThis,Mm=FI(),Om=Dm("String.prototype.slice"),MI=Dm("Array.prototype.indexOf",!0)||function(e,r){for(var i=0;i-1}Ky.exports=function(e){if(!e||typeof e!="object")return!1;if(!Zy){var r=Om(II(e),8,-1);return LI(r)?r:r!=="Object"?!1:OI(e)}return Wf?DI(e):null}});var Jy=U((PV,Qy)=>{"use strict";m();var NI=Xy();Qy.exports=function(e){return!!NI(e)}});var tx=U(($V,ex)=>{"use strict";m();var BI=So(),HI=Am(),UI=HI("TypedArray.prototype.buffer",!0),GI=Jy();ex.exports=UI||function(e){if(!GI(e))throw new BI("Not a Typed Array");return e.buffer}});var nx=U((IV,ix)=>{"use strict";m();var Ni=Mf().Buffer,jI=e_(),VI=tx(),zI=ArrayBuffer.isView||function(e){try{return VI(e),!0}catch(r){return!1}},WI=typeof Uint8Array!="undefined",rx=typeof ArrayBuffer!="undefined"&&typeof Uint8Array!="undefined",qI=rx&&(Ni.prototype instanceof Uint8Array||Ni.TYPED_ARRAY_SUPPORT);ix.exports=function(e,r){if(Ni.isBuffer(e))return e.constructor&&!("isBuffer"in e)?Ni.from(e):e;if(typeof e=="string")return Ni.from(e,r);if(rx&&zI(e)){if(e.byteLength===0)return Ni.alloc(0);if(qI){var i=Ni.from(e.buffer,e.byteOffset,e.byteLength);if(i.byteLength===e.byteLength)return i}var n=e instanceof Uint8Array?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),s=Ni.from(n);if(s.length===e.byteLength)return s}if(WI&&e instanceof Uint8Array)return Ni.from(e);var a=jI(e);if(a)for(var o=0;o255||~~l!==l)throw new RangeError("Array items must be numbers in the range 0-255.")}if(a||Ni.isBuffer(e)&&e.constructor&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e))return Ni.from(e);throw new TypeError('The "data" argument must be a string, an Array, a Buffer, a Uint8Array, or a DataView.')}});var ax=U((DV,sx)=>{"use strict";m();var YI=Mf().Buffer,ZI=nx();function Zf(t,e){this._block=YI.alloc(t),this._finalSize=e,this._blockSize=t,this._len=0}Zf.prototype.update=function(t,e){t=ZI(t,e||"utf8");for(var r=this._block,i=this._blockSize,n=t.length,s=this._len,a=0;a=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=this._len*8;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var i=(r&4294967295)>>>0,n=(r-i)/4294967296;this._block.writeUInt32BE(n,this._blockSize-8),this._block.writeUInt32BE(i,this._blockSize-4)}this._update(this._block);var s=this._hash();return t?s.toString(t):s};Zf.prototype._update=function(){throw new Error("_update must be implemented by subclass")};sx.exports=Zf});var cx=U((LV,lx)=>{"use strict";m();var KI=Kb(),ox=ax(),XI=Mf().Buffer,QI=[1518500249,1859775393,-1894007588,-899497514],JI=new Array(80);function xc(){this.init(),this._w=JI,ox.call(this,64,56)}KI(xc,ox);xc.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function eM(t){return t<<1|t>>>31}function tM(t){return t<<5|t>>>27}function rM(t){return t<<30|t>>>2}function iM(t,e,r,i){return t===0?e&r|~e&i:t===2?e&r|e&i|r&i:e^r^i}xc.prototype._update=function(t){for(var e=this._w,r=this._a|0,i=this._b|0,n=this._c|0,s=this._d|0,a=this._e|0,o=0;o<16;++o)e[o]=t.readInt32BE(o*4);for(;o<80;++o)e[o]=eM(e[o-3]^e[o-8]^e[o-14]^e[o-16]);for(var l=0;l<80;++l){var c=~~(l/20),u=tM(r)+iM(c,i,n,s)+a+e[l]+QI[c]|0;a=s,s=n,n=rM(i),i=r,r=u}this._a=r+this._a|0,this._b=i+this._b|0,this._c=n+this._c|0,this._d=s+this._d|0,this._e=a+this._e|0};xc.prototype._hash=function(){var t=XI.allocUnsafe(20);return t.writeInt32BE(this._a|0,0),t.writeInt32BE(this._b|0,4),t.writeInt32BE(this._c|0,8),t.writeInt32BE(this._d|0,12),t.writeInt32BE(this._e|0,16),t};lx.exports=xc});var fx=U(Lm=>{m();var ux;(function(t){typeof DO_NOT_EXPORT_CRC=="undefined"?typeof Lm=="object"?t(Lm):typeof define=="function"&&define.amd?define(function(){var e={};return t(e),e}):t(ux={}):t(ux={})})(function(t){t.version="1.2.2";function e(){for(var w=0,E=new Array(256),y=0;y!=256;++y)w=y,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,E[y]=w;return typeof Int32Array!="undefined"?new Int32Array(E):E}var r=e();function i(w){var E=0,y=0,P=0,T=typeof Int32Array!="undefined"?new Int32Array(4096):new Array(4096);for(P=0;P!=256;++P)T[P]=w[P];for(P=0;P!=256;++P)for(y=w[P],E=256+P;E<4096;E+=256)y=T[E]=y>>>8^w[y&255];var I=[];for(P=1;P!=16;++P)I[P-1]=typeof Int32Array!="undefined"?T.subarray(P*256,P*256+256):T.slice(P*256,P*256+256);return I}var n=i(r),s=n[0],a=n[1],o=n[2],l=n[3],c=n[4],u=n[5],f=n[6],d=n[7],h=n[8],p=n[9],g=n[10],v=n[11],b=n[12],_=n[13],C=n[14];function x(w,E){for(var y=E^-1,P=0,T=w.length;P>>8^r[(y^w.charCodeAt(P++))&255];return~y}function S(w,E){for(var y=E^-1,P=w.length-15,T=0;T>8&255]^b[w[T++]^y>>16&255]^v[w[T++]^y>>>24]^g[w[T++]]^p[w[T++]]^h[w[T++]]^d[w[T++]]^f[w[T++]]^u[w[T++]]^c[w[T++]]^l[w[T++]]^o[w[T++]]^a[w[T++]]^s[w[T++]]^r[w[T++]];for(P+=15;T>>8^r[(y^w[T++])&255];return~y}function A(w,E){for(var y=E^-1,P=0,T=w.length,I=0,L=0;P>>8^r[(y^I)&255]:I<2048?(y=y>>>8^r[(y^(192|I>>6&31))&255],y=y>>>8^r[(y^(128|I&63))&255]):I>=55296&&I<57344?(I=(I&1023)+64,L=w.charCodeAt(P++)&1023,y=y>>>8^r[(y^(240|I>>8&7))&255],y=y>>>8^r[(y^(128|I>>2&63))&255],y=y>>>8^r[(y^(128|L>>6&15|(I&3)<<4))&255],y=y>>>8^r[(y^(128|L&63))&255]):(y=y>>>8^r[(y^(224|I>>12&15))&255],y=y>>>8^r[(y^(128|I>>6&63))&255],y=y>>>8^r[(y^(128|I&63))&255]);return~y}t.table=r,t.bstr=x,t.buf=S,t.str=A})});var jn=U(vr=>{"use strict";m();var nM=typeof Uint8Array!="undefined"&&typeof Uint16Array!="undefined"&&typeof Int32Array!="undefined";function sM(t,e){return Object.prototype.hasOwnProperty.call(t,e)}vr.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var r=e.shift();if(r){if(typeof r!="object")throw new TypeError(r+"must be non-object");for(var i in r)sM(r,i)&&(t[i]=r[i])}}return t};vr.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var aM={arraySet:function(t,e,r,i,n){if(e.subarray&&t.subarray){t.set(e.subarray(r,r+i),n);return}for(var s=0;s{"use strict";m();var lM=jn(),cM=4,dx=0,hx=1,uM=2;function Mo(t){for(var e=t.length;--e>=0;)t[e]=0}var fM=0,bx=1,dM=2,hM=3,pM=258,Vm=29,Tc=256,Sc=Tc+1+Vm,Io=30,zm=19,_x=2*Sc+1,oa=15,Nm=16,mM=7,Wm=256,yx=16,xx=17,Ex=18,Gm=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Kf=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],gM=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Sx=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],vM=512,Vn=new Array((Sc+2)*2);Mo(Vn);var Ec=new Array(Io*2);Mo(Ec);var kc=new Array(vM);Mo(kc);var Cc=new Array(pM-hM+1);Mo(Cc);var qm=new Array(Vm);Mo(qm);var Xf=new Array(Io);Mo(Xf);function Bm(t,e,r,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}var kx,Cx,Ax;function Hm(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function Tx(t){return t<256?kc[t]:kc[256+(t>>>7)]}function Ac(t,e){t.pending_buf[t.pending++]=e&255,t.pending_buf[t.pending++]=e>>>8&255}function $r(t,e,r){t.bi_valid>Nm-r?(t.bi_buf|=e<>Nm-t.bi_valid,t.bi_valid+=r-Nm):(t.bi_buf|=e<>>=1,r<<=1;while(--e>0);return r>>>1}function wM(t){t.bi_valid===16?(Ac(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=t.bi_buf&255,t.bi_buf>>=8,t.bi_valid-=8)}function bM(t,e){var r=e.dyn_tree,i=e.max_code,n=e.stat_desc.static_tree,s=e.stat_desc.has_stree,a=e.stat_desc.extra_bits,o=e.stat_desc.extra_base,l=e.stat_desc.max_length,c,u,f,d,h,p,g=0;for(d=0;d<=oa;d++)t.bl_count[d]=0;for(r[t.heap[t.heap_max]*2+1]=0,c=t.heap_max+1;c<_x;c++)u=t.heap[c],d=r[r[u*2+1]*2+1]+1,d>l&&(d=l,g++),r[u*2+1]=d,!(u>i)&&(t.bl_count[d]++,h=0,u>=o&&(h=a[u-o]),p=r[u*2],t.opt_len+=p*(d+h),s&&(t.static_len+=p*(n[u*2+1]+h)));if(g!==0){do{for(d=l-1;t.bl_count[d]===0;)d--;t.bl_count[d]--,t.bl_count[d+1]+=2,t.bl_count[l]--,g-=2}while(g>0);for(d=l;d!==0;d--)for(u=t.bl_count[d];u!==0;)f=t.heap[--c],!(f>i)&&(r[f*2+1]!==d&&(t.opt_len+=(d-r[f*2+1])*r[f*2],r[f*2+1]=d),u--)}}function Rx(t,e,r){var i=new Array(oa+1),n=0,s,a;for(s=1;s<=oa;s++)i[s]=n=n+r[s-1]<<1;for(a=0;a<=e;a++){var o=t[a*2+1];o!==0&&(t[a*2]=Px(i[o]++,o))}}function _M(){var t,e,r,i,n,s=new Array(oa+1);for(r=0,i=0;i>=7;i8?Ac(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function yM(t,e,r,i){Fx(t),i&&(Ac(t,r),Ac(t,~r)),lM.arraySet(t.pending_buf,t.window,e,r,t.pending),t.pending+=r}function px(t,e,r,i){var n=e*2,s=r*2;return t[n]>1;a>=1;a--)Um(t,r,a);c=s;do a=t.heap[1],t.heap[1]=t.heap[t.heap_len--],Um(t,r,1),o=t.heap[1],t.heap[--t.heap_max]=a,t.heap[--t.heap_max]=o,r[c*2]=r[a*2]+r[o*2],t.depth[c]=(t.depth[a]>=t.depth[o]?t.depth[a]:t.depth[o])+1,r[a*2+1]=r[o*2+1]=c,t.heap[1]=c++,Um(t,r,1);while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],bM(t,e),Rx(r,l,t.bl_count)}function gx(t,e,r){var i,n=-1,s,a=e[1],o=0,l=7,c=4;for(a===0&&(l=138,c=3),e[(r+1)*2+1]=65535,i=0;i<=r;i++)s=a,a=e[(i+1)*2+1],!(++o=3&&t.bl_tree[Sx[e]*2+1]===0;e--);return t.opt_len+=3*(e+1)+5+5+4,e}function EM(t,e,r,i){var n;for($r(t,e-257,5),$r(t,r-1,5),$r(t,i-4,4),n=0;n>>=1)if(e&1&&t.dyn_ltree[r*2]!==0)return dx;if(t.dyn_ltree[18]!==0||t.dyn_ltree[20]!==0||t.dyn_ltree[26]!==0)return hx;for(r=32;r0?(t.strm.data_type===uM&&(t.strm.data_type=SM(t)),jm(t,t.l_desc),jm(t,t.d_desc),a=xM(t),n=t.opt_len+3+7>>>3,s=t.static_len+3+7>>>3,s<=n&&(n=s)):n=s=r+5,r+4<=n&&e!==-1?Ix(t,e,r,i):t.strategy===cM||s===n?($r(t,(bx<<1)+(i?1:0),3),mx(t,Vn,Ec)):($r(t,(dM<<1)+(i?1:0),3),EM(t,t.l_desc.max_code+1,t.d_desc.max_code+1,a+1),mx(t,t.dyn_ltree,t.dyn_dtree)),$x(t),i&&Fx(t)}function TM(t,e,r){return t.pending_buf[t.d_buf+t.last_lit*2]=e>>>8&255,t.pending_buf[t.d_buf+t.last_lit*2+1]=e&255,t.pending_buf[t.l_buf+t.last_lit]=r&255,t.last_lit++,e===0?t.dyn_ltree[r*2]++:(t.matches++,e--,t.dyn_ltree[(Cc[r]+Tc+1)*2]++,t.dyn_dtree[Tx(e)*2]++),t.last_lit===t.lit_bufsize-1}Do._tr_init=kM;Do._tr_stored_block=Ix;Do._tr_flush_block=AM;Do._tr_tally=TM;Do._tr_align=CM});var Ym=U((zV,Dx)=>{"use strict";m();function PM(t,e,r,i){for(var n=t&65535|0,s=t>>>16&65535|0,a=0;r!==0;){a=r>2e3?2e3:r,r-=a;do n=n+e[i++]|0,s=s+n|0;while(--a);n%=65521,s%=65521}return n|s<<16|0}Dx.exports=PM});var Zm=U((qV,Ox)=>{"use strict";m();function RM(){for(var t,e=[],r=0;r<256;r++){t=r;for(var i=0;i<8;i++)t=t&1?3988292384^t>>>1:t>>>1;e[r]=t}return e}var $M=RM();function FM(t,e,r,i){var n=$M,s=i+r;t^=-1;for(var a=i;a>>8^n[(t^e[a])&255];return t^-1}Ox.exports=FM});var Qf=U((ZV,Lx)=>{"use strict";m();Lx.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}});var Wx=U(pn=>{"use strict";m();var wr=jn(),mi=Mx(),Ux=Ym(),xs=Zm(),IM=Qf(),fa=0,MM=1,DM=3,As=4,Nx=5,hn=0,Bx=1,gi=-2,OM=-3,Km=-5,LM=-1,NM=1,Jf=2,BM=3,HM=4,UM=0,GM=2,nd=8,jM=9,VM=15,zM=8,WM=29,qM=256,Qm=qM+1+WM,YM=30,ZM=19,KM=2*Qm+1,XM=15,Pe=3,ks=258,Bi=ks+Pe+1,QM=32,sd=42,Jm=69,td=73,rd=91,id=103,la=113,Rc=666,Ft=1,$c=2,ca=3,No=4,JM=3;function Cs(t,e){return t.msg=IM[e],e}function Hx(t){return(t<<1)-(t>4?9:0)}function Ss(t){for(var e=t.length;--e>=0;)t[e]=0}function Es(t){var e=t.state,r=e.pending;r>t.avail_out&&(r=t.avail_out),r!==0&&(wr.arraySet(t.output,e.pending_buf,e.pending_out,r,t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,e.pending===0&&(e.pending_out=0))}function Zt(t,e){mi._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,Es(t.strm)}function Me(t,e){t.pending_buf[t.pending++]=e}function Pc(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=e&255}function eD(t,e,r,i){var n=t.avail_in;return n>i&&(n=i),n===0?0:(t.avail_in-=n,wr.arraySet(e,t.input,t.next_in,n,r),t.state.wrap===1?t.adler=Ux(t.adler,e,n,r):t.state.wrap===2&&(t.adler=xs(t.adler,e,n,r)),t.next_in+=n,t.total_in+=n,n)}function Gx(t,e){var r=t.max_chain_length,i=t.strstart,n,s,a=t.prev_length,o=t.nice_match,l=t.strstart>t.w_size-Bi?t.strstart-(t.w_size-Bi):0,c=t.window,u=t.w_mask,f=t.prev,d=t.strstart+ks,h=c[i+a-1],p=c[i+a];t.prev_length>=t.good_match&&(r>>=2),o>t.lookahead&&(o=t.lookahead);do if(n=e,!(c[n+a]!==p||c[n+a-1]!==h||c[n]!==c[i]||c[++n]!==c[i+1])){i+=2,n++;do;while(c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&ia){if(t.match_start=e,a=s,s>=o)break;h=c[i+a-1],p=c[i+a]}}while((e=f[e&u])>l&&--r!==0);return a<=t.lookahead?a:t.lookahead}function ua(t){var e=t.w_size,r,i,n,s,a;do{if(s=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-Bi)){wr.arraySet(t.window,t.window,e,e,0),t.match_start-=e,t.strstart-=e,t.block_start-=e,i=t.hash_size,r=i;do n=t.head[--r],t.head[r]=n>=e?n-e:0;while(--i);i=e,r=i;do n=t.prev[--r],t.prev[r]=n>=e?n-e:0;while(--i);s+=e}if(t.strm.avail_in===0)break;if(i=eD(t.strm,t.window,t.strstart+t.lookahead,s),t.lookahead+=i,t.lookahead+t.insert>=Pe)for(a=t.strstart-t.insert,t.ins_h=t.window[a],t.ins_h=(t.ins_h<t.pending_buf_size-5&&(r=t.pending_buf_size-5);;){if(t.lookahead<=1){if(ua(t),t.lookahead===0&&e===fa)return Ft;if(t.lookahead===0)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+r;if((t.strstart===0||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,Zt(t,!1),t.strm.avail_out===0)||t.strstart-t.block_start>=t.w_size-Bi&&(Zt(t,!1),t.strm.avail_out===0))return Ft}return t.insert=0,e===As?(Zt(t,!0),t.strm.avail_out===0?ca:No):(t.strstart>t.block_start&&(Zt(t,!1),t.strm.avail_out===0),Ft)}function Xm(t,e){for(var r,i;;){if(t.lookahead=Pe&&(t.ins_h=(t.ins_h<=Pe)if(i=mi._tr_tally(t,t.strstart-t.match_start,t.match_length-Pe),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=Pe){t.match_length--;do t.strstart++,t.ins_h=(t.ins_h<=Pe&&(t.ins_h=(t.ins_h<4096)&&(t.match_length=Pe-1)),t.prev_length>=Pe&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-Pe,i=mi._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-Pe),t.lookahead-=t.prev_length-1,t.prev_length-=2;do++t.strstart<=n&&(t.ins_h=(t.ins_h<=Pe&&t.strstart>0&&(n=t.strstart-1,i=a[n],i===a[++n]&&i===a[++n]&&i===a[++n])){s=t.strstart+ks;do;while(i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&nt.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=Pe?(r=mi._tr_tally(t,1,t.match_length-Pe),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=mi._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(Zt(t,!1),t.strm.avail_out===0))return Ft}return t.insert=0,e===As?(Zt(t,!0),t.strm.avail_out===0?ca:No):t.last_lit&&(Zt(t,!1),t.strm.avail_out===0)?Ft:$c}function iD(t,e){for(var r;;){if(t.lookahead===0&&(ua(t),t.lookahead===0)){if(e===fa)return Ft;break}if(t.match_length=0,r=mi._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(Zt(t,!1),t.strm.avail_out===0))return Ft}return t.insert=0,e===As?(Zt(t,!0),t.strm.avail_out===0?ca:No):t.last_lit&&(Zt(t,!1),t.strm.avail_out===0)?Ft:$c}function dn(t,e,r,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=i,this.func=n}var Lo;Lo=[new dn(0,0,0,0,tD),new dn(4,4,8,4,Xm),new dn(4,5,16,8,Xm),new dn(4,6,32,32,Xm),new dn(4,4,16,16,Oo),new dn(8,16,32,32,Oo),new dn(8,16,128,128,Oo),new dn(8,32,128,256,Oo),new dn(32,128,258,1024,Oo),new dn(32,258,258,4096,Oo)];function nD(t){t.window_size=2*t.w_size,Ss(t.head),t.max_lazy_match=Lo[t.level].max_lazy,t.good_match=Lo[t.level].good_length,t.nice_match=Lo[t.level].nice_length,t.max_chain_length=Lo[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=Pe-1,t.match_available=0,t.ins_h=0}function sD(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=nd,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new wr.Buf16(KM*2),this.dyn_dtree=new wr.Buf16((2*YM+1)*2),this.bl_tree=new wr.Buf16((2*ZM+1)*2),Ss(this.dyn_ltree),Ss(this.dyn_dtree),Ss(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new wr.Buf16(XM+1),this.heap=new wr.Buf16(2*Qm+1),Ss(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new wr.Buf16(2*Qm+1),Ss(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function jx(t){var e;return!t||!t.state?Cs(t,gi):(t.total_in=t.total_out=0,t.data_type=GM,e=t.state,e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?sd:la,t.adler=e.wrap===2?0:1,e.last_flush=fa,mi._tr_init(e),hn)}function Vx(t){var e=jx(t);return e===hn&&nD(t.state),e}function aD(t,e){return!t||!t.state||t.state.wrap!==2?gi:(t.state.gzhead=e,hn)}function zx(t,e,r,i,n,s){if(!t)return gi;var a=1;if(e===LM&&(e=6),i<0?(a=0,i=-i):i>15&&(a=2,i-=16),n<1||n>jM||r!==nd||i<8||i>15||e<0||e>9||s<0||s>HM)return Cs(t,gi);i===8&&(i=9);var o=new sD;return t.state=o,o.strm=t,o.wrap=a,o.gzhead=null,o.w_bits=i,o.w_size=1<Nx||e<0)return t?Cs(t,gi):gi;if(i=t.state,!t.output||!t.input&&t.avail_in!==0||i.status===Rc&&e!==As)return Cs(t,t.avail_out===0?Km:gi);if(i.strm=t,r=i.last_flush,i.last_flush=e,i.status===sd)if(i.wrap===2)t.adler=0,Me(i,31),Me(i,139),Me(i,8),i.gzhead?(Me(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),Me(i,i.gzhead.time&255),Me(i,i.gzhead.time>>8&255),Me(i,i.gzhead.time>>16&255),Me(i,i.gzhead.time>>24&255),Me(i,i.level===9?2:i.strategy>=Jf||i.level<2?4:0),Me(i,i.gzhead.os&255),i.gzhead.extra&&i.gzhead.extra.length&&(Me(i,i.gzhead.extra.length&255),Me(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(t.adler=xs(t.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=Jm):(Me(i,0),Me(i,0),Me(i,0),Me(i,0),Me(i,0),Me(i,i.level===9?2:i.strategy>=Jf||i.level<2?4:0),Me(i,JM),i.status=la);else{var a=nd+(i.w_bits-8<<4)<<8,o=-1;i.strategy>=Jf||i.level<2?o=0:i.level<6?o=1:i.level===6?o=2:o=3,a|=o<<6,i.strstart!==0&&(a|=QM),a+=31-a%31,i.status=la,Pc(i,a),i.strstart!==0&&(Pc(i,t.adler>>>16),Pc(i,t.adler&65535)),t.adler=1}if(i.status===Jm)if(i.gzhead.extra){for(n=i.pending;i.gzindex<(i.gzhead.extra.length&65535)&&!(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=xs(t.adler,i.pending_buf,i.pending-n,n)),Es(t),n=i.pending,i.pending===i.pending_buf_size));)Me(i,i.gzhead.extra[i.gzindex]&255),i.gzindex++;i.gzhead.hcrc&&i.pending>n&&(t.adler=xs(t.adler,i.pending_buf,i.pending-n,n)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=td)}else i.status=td;if(i.status===td)if(i.gzhead.name){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=xs(t.adler,i.pending_buf,i.pending-n,n)),Es(t),n=i.pending,i.pending===i.pending_buf_size)){s=1;break}i.gzindexn&&(t.adler=xs(t.adler,i.pending_buf,i.pending-n,n)),s===0&&(i.gzindex=0,i.status=rd)}else i.status=rd;if(i.status===rd)if(i.gzhead.comment){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=xs(t.adler,i.pending_buf,i.pending-n,n)),Es(t),n=i.pending,i.pending===i.pending_buf_size)){s=1;break}i.gzindexn&&(t.adler=xs(t.adler,i.pending_buf,i.pending-n,n)),s===0&&(i.status=id)}else i.status=id;if(i.status===id&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&Es(t),i.pending+2<=i.pending_buf_size&&(Me(i,t.adler&255),Me(i,t.adler>>8&255),t.adler=0,i.status=la)):i.status=la),i.pending!==0){if(Es(t),t.avail_out===0)return i.last_flush=-1,hn}else if(t.avail_in===0&&Hx(e)<=Hx(r)&&e!==As)return Cs(t,Km);if(i.status===Rc&&t.avail_in!==0)return Cs(t,Km);if(t.avail_in!==0||i.lookahead!==0||e!==fa&&i.status!==Rc){var l=i.strategy===Jf?iD(i,e):i.strategy===BM?rD(i,e):Lo[i.level].func(i,e);if((l===ca||l===No)&&(i.status=Rc),l===Ft||l===ca)return t.avail_out===0&&(i.last_flush=-1),hn;if(l===$c&&(e===MM?mi._tr_align(i):e!==Nx&&(mi._tr_stored_block(i,0,0,!1),e===DM&&(Ss(i.head),i.lookahead===0&&(i.strstart=0,i.block_start=0,i.insert=0))),Es(t),t.avail_out===0))return i.last_flush=-1,hn}return e!==As?hn:i.wrap<=0?Bx:(i.wrap===2?(Me(i,t.adler&255),Me(i,t.adler>>8&255),Me(i,t.adler>>16&255),Me(i,t.adler>>24&255),Me(i,t.total_in&255),Me(i,t.total_in>>8&255),Me(i,t.total_in>>16&255),Me(i,t.total_in>>24&255)):(Pc(i,t.adler>>>16),Pc(i,t.adler&65535)),Es(t),i.wrap>0&&(i.wrap=-i.wrap),i.pending!==0?hn:Bx)}function cD(t){var e;return!t||!t.state?gi:(e=t.state.status,e!==sd&&e!==Jm&&e!==td&&e!==rd&&e!==id&&e!==la&&e!==Rc?Cs(t,gi):(t.state=null,e===la?Cs(t,OM):hn))}function uD(t,e){var r=e.length,i,n,s,a,o,l,c,u;if(!t||!t.state||(i=t.state,a=i.wrap,a===2||a===1&&i.status!==sd||i.lookahead))return gi;for(a===1&&(t.adler=Ux(t.adler,e,r,0)),i.wrap=0,r>=i.w_size&&(a===0&&(Ss(i.head),i.strstart=0,i.block_start=0,i.insert=0),u=new wr.Buf8(i.w_size),wr.arraySet(u,e,r-i.w_size,i.w_size,0),e=u,r=i.w_size),o=t.avail_in,l=t.next_in,c=t.input,t.avail_in=r,t.next_in=0,t.input=e,ua(i);i.lookahead>=Pe;){n=i.strstart,s=i.lookahead-(Pe-1);do i.ins_h=(i.ins_h<{"use strict";m();var ad=jn(),qx=!0,Yx=!0;try{String.fromCharCode.apply(null,[0])}catch(t){qx=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){Yx=!1}var Fc=new ad.Buf8(256);for(zn=0;zn<256;zn++)Fc[zn]=zn>=252?6:zn>=248?5:zn>=240?4:zn>=224?3:zn>=192?2:1;var zn;Fc[254]=Fc[254]=1;Bo.string2buf=function(t){var e,r,i,n,s,a=t.length,o=0;for(n=0;n>>6,e[s++]=128|r&63):r<65536?(e[s++]=224|r>>>12,e[s++]=128|r>>>6&63,e[s++]=128|r&63):(e[s++]=240|r>>>18,e[s++]=128|r>>>12&63,e[s++]=128|r>>>6&63,e[s++]=128|r&63);return e};function Zx(t,e){if(e<65534&&(t.subarray&&Yx||!t.subarray&&qx))return String.fromCharCode.apply(null,ad.shrinkBuf(t,e));for(var r="",i=0;i4){o[i++]=65533,r+=s-1;continue}for(n&=s===2?31:s===3?15:7;s>1&&r1){o[i++]=65533;continue}n<65536?o[i++]=n:(n-=65536,o[i++]=55296|n>>10&1023,o[i++]=56320|n&1023)}return Zx(o,i)};Bo.utf8border=function(t,e){var r;for(e=e||t.length,e>t.length&&(e=t.length),r=e-1;r>=0&&(t[r]&192)===128;)r--;return r<0||r===0?e:r+Fc[t[r]]>e?r:e}});var tg=U((tz,Kx)=>{"use strict";m();function fD(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}Kx.exports=fD});var e1=U(Dc=>{"use strict";m();var Ic=Wx(),Mc=jn(),ig=eg(),ng=Qf(),dD=tg(),Jx=Object.prototype.toString,hD=0,rg=4,Ho=0,Xx=1,Qx=2,pD=-1,mD=0,gD=8;function da(t){if(!(this instanceof da))return new da(t);this.options=Mc.assign({level:pD,method:gD,chunkSize:16384,windowBits:15,memLevel:8,strategy:mD,to:""},t||{});var e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new dD,this.strm.avail_out=0;var r=Ic.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(r!==Ho)throw new Error(ng[r]);if(e.header&&Ic.deflateSetHeader(this.strm,e.header),e.dictionary){var i;if(typeof e.dictionary=="string"?i=ig.string2buf(e.dictionary):Jx.call(e.dictionary)==="[object ArrayBuffer]"?i=new Uint8Array(e.dictionary):i=e.dictionary,r=Ic.deflateSetDictionary(this.strm,i),r!==Ho)throw new Error(ng[r]);this._dict_set=!0}}da.prototype.push=function(t,e){var r=this.strm,i=this.options.chunkSize,n,s;if(this.ended)return!1;s=e===~~e?e:e===!0?rg:hD,typeof t=="string"?r.input=ig.string2buf(t):Jx.call(t)==="[object ArrayBuffer]"?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;do{if(r.avail_out===0&&(r.output=new Mc.Buf8(i),r.next_out=0,r.avail_out=i),n=Ic.deflate(r,s),n!==Xx&&n!==Ho)return this.onEnd(n),this.ended=!0,!1;(r.avail_out===0||r.avail_in===0&&(s===rg||s===Qx))&&(this.options.to==="string"?this.onData(ig.buf2binstring(Mc.shrinkBuf(r.output,r.next_out))):this.onData(Mc.shrinkBuf(r.output,r.next_out)))}while((r.avail_in>0||r.avail_out===0)&&n!==Xx);return s===rg?(n=Ic.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===Ho):(s===Qx&&(this.onEnd(Ho),r.avail_out=0),!0)};da.prototype.onData=function(t){this.chunks.push(t)};da.prototype.onEnd=function(t){t===Ho&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Mc.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};function sg(t,e){var r=new da(e);if(r.push(t,!0),r.err)throw r.msg||ng[r.err];return r.result}function vD(t,e){return e=e||{},e.raw=!0,sg(t,e)}function wD(t,e){return e=e||{},e.gzip=!0,sg(t,e)}Dc.Deflate=da;Dc.deflate=sg;Dc.deflateRaw=vD;Dc.gzip=wD});var r1=U((sz,t1)=>{"use strict";m();var od=30,bD=12;t1.exports=function(e,r){var i,n,s,a,o,l,c,u,f,d,h,p,g,v,b,_,C,x,S,A,w,E,y,P,T;i=e.state,n=e.next_in,P=e.input,s=n+(e.avail_in-5),a=e.next_out,T=e.output,o=a-(r-e.avail_out),l=a+(e.avail_out-257),c=i.dmax,u=i.wsize,f=i.whave,d=i.wnext,h=i.window,p=i.hold,g=i.bits,v=i.lencode,b=i.distcode,_=(1<>>24,p>>>=S,g-=S,S=x>>>16&255,S===0)T[a++]=x&65535;else if(S&16){A=x&65535,S&=15,S&&(g>>=S,g-=S),g<15&&(p+=P[n++]<>>24,p>>>=S,g-=S,S=x>>>16&255,S&16){if(w=x&65535,S&=15,gc){e.msg="invalid distance too far back",i.mode=od;break e}if(p>>>=S,g-=S,S=a-o,w>S){if(S=w-S,S>f&&i.sane){e.msg="invalid distance too far back",i.mode=od;break e}if(E=0,y=h,d===0){if(E+=u-S,S2;)T[a++]=y[E++],T[a++]=y[E++],T[a++]=y[E++],A-=3;A&&(T[a++]=y[E++],A>1&&(T[a++]=y[E++]))}else{E=a-w;do T[a++]=T[E++],T[a++]=T[E++],T[a++]=T[E++],A-=3;while(A>2);A&&(T[a++]=T[E++],A>1&&(T[a++]=T[E++]))}}else if((S&64)===0){x=b[(x&65535)+(p&(1<>3,n-=A,g-=A<<3,p&=(1<{"use strict";m();var i1=jn(),Uo=15,n1=852,s1=592,a1=0,ag=1,o1=2,_D=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],yD=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],xD=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],ED=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];l1.exports=function(e,r,i,n,s,a,o,l){var c=l.bits,u=0,f=0,d=0,h=0,p=0,g=0,v=0,b=0,_=0,C=0,x,S,A,w,E,y=null,P=0,T,I=new i1.Buf16(Uo+1),L=new i1.Buf16(Uo+1),H=null,te=0,xe,Z,K;for(u=0;u<=Uo;u++)I[u]=0;for(f=0;f=1&&I[h]===0;h--);if(p>h&&(p=h),h===0)return s[a++]=1<<24|64<<16|0,s[a++]=1<<24|64<<16|0,l.bits=1,0;for(d=1;d0&&(e===a1||h!==1))return-1;for(L[1]=0,u=1;un1||e===o1&&_>s1)return 1;for(;;){xe=u-v,o[f]T?(Z=H[te+o[f]],K=y[P+o[f]]):(Z=96,K=0),x=1<>v)+S]=xe<<24|Z<<16|K|0;while(S!==0);for(x=1<>=1;if(x!==0?(C&=x-1,C+=x):C=0,f++,--I[u]===0){if(u===h)break;u=r[i+o[f]]}if(u>p&&(C&w)!==A){for(v===0&&(v=p),E+=d,g=u-v,b=1<n1||e===o1&&_>s1)return 1;A=C&w,s[A]=p<<24|g<<16|E-a|0}}return C!==0&&(s[E+C]=u-v<<24|64<<16|0),l.bits=p,0}});var V1=U(Hi=>{"use strict";m();var Qr=jn(),dg=Ym(),mn=Zm(),SD=r1(),Oc=c1(),kD=0,D1=1,O1=2,u1=4,CD=5,ld=6,ha=0,AD=1,TD=2,vi=-2,L1=-3,hg=-4,PD=-5,f1=8,N1=1,d1=2,h1=3,p1=4,m1=5,g1=6,v1=7,w1=8,b1=9,_1=10,fd=11,Wn=12,og=13,y1=14,lg=15,x1=16,E1=17,S1=18,k1=19,cd=20,ud=21,C1=22,A1=23,T1=24,P1=25,R1=26,cg=27,$1=28,F1=29,it=30,pg=31,RD=32,$D=852,FD=592,ID=15,MD=ID;function I1(t){return(t>>>24&255)+(t>>>8&65280)+((t&65280)<<8)+((t&255)<<24)}function DD(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Qr.Buf16(320),this.work=new Qr.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function B1(t){var e;return!t||!t.state?vi:(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=e.wrap&1),e.mode=N1,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Qr.Buf32($D),e.distcode=e.distdyn=new Qr.Buf32(FD),e.sane=1,e.back=-1,ha)}function H1(t){var e;return!t||!t.state?vi:(e=t.state,e.wsize=0,e.whave=0,e.wnext=0,B1(t))}function U1(t,e){var r,i;return!t||!t.state||(i=t.state,e<0?(r=0,e=-e):(r=(e>>4)+1,e<48&&(e&=15)),e&&(e<8||e>15))?vi:(i.window!==null&&i.wbits!==e&&(i.window=null),i.wrap=r,i.wbits=e,H1(t))}function G1(t,e){var r,i;return t?(i=new DD,t.state=i,i.window=null,r=U1(t,e),r!==ha&&(t.state=null),r):vi}function OD(t){return G1(t,MD)}var M1=!0,ug,fg;function LD(t){if(M1){var e;for(ug=new Qr.Buf32(512),fg=new Qr.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(Oc(D1,t.lens,0,288,ug,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;Oc(O1,t.lens,0,32,fg,0,t.work,{bits:5}),M1=!1}t.lencode=ug,t.lenbits=9,t.distcode=fg,t.distbits=5}function j1(t,e,r,i){var n,s=t.state;return s.window===null&&(s.wsize=1<=s.wsize?(Qr.arraySet(s.window,e,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n=s.wsize-s.wnext,n>i&&(n=i),Qr.arraySet(s.window,e,r-i,n,s.wnext),i-=n,i?(Qr.arraySet(s.window,e,r-i,i,0),s.wnext=i,s.whave=s.wsize):(s.wnext+=n,s.wnext===s.wsize&&(s.wnext=0),s.whave>>8&255,r.check=mn(r.check,y,2,0),c=0,u=0,r.mode=d1;break}if(r.flags=0,r.head&&(r.head.done=!1),!(r.wrap&1)||(((c&255)<<8)+(c>>8))%31){t.msg="incorrect header check",r.mode=it;break}if((c&15)!==f1){t.msg="unknown compression method",r.mode=it;break}if(c>>>=4,u-=4,w=(c&15)+8,r.wbits===0)r.wbits=w;else if(w>r.wbits){t.msg="invalid window size",r.mode=it;break}r.dmax=1<>8&1),r.flags&512&&(y[0]=c&255,y[1]=c>>>8&255,r.check=mn(r.check,y,2,0)),c=0,u=0,r.mode=h1;case h1:for(;u<32;){if(o===0)break e;o--,c+=i[s++]<>>8&255,y[2]=c>>>16&255,y[3]=c>>>24&255,r.check=mn(r.check,y,4,0)),c=0,u=0,r.mode=p1;case p1:for(;u<16;){if(o===0)break e;o--,c+=i[s++]<>8),r.flags&512&&(y[0]=c&255,y[1]=c>>>8&255,r.check=mn(r.check,y,2,0)),c=0,u=0,r.mode=m1;case m1:if(r.flags&1024){for(;u<16;){if(o===0)break e;o--,c+=i[s++]<>>8&255,r.check=mn(r.check,y,2,0)),c=0,u=0}else r.head&&(r.head.extra=null);r.mode=g1;case g1:if(r.flags&1024&&(h=r.length,h>o&&(h=o),h&&(r.head&&(w=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),Qr.arraySet(r.head.extra,i,s,h,w)),r.flags&512&&(r.check=mn(r.check,i,h,s)),o-=h,s+=h,r.length-=h),r.length))break e;r.length=0,r.mode=v1;case v1:if(r.flags&2048){if(o===0)break e;h=0;do w=i[s+h++],r.head&&w&&r.length<65536&&(r.head.name+=String.fromCharCode(w));while(w&&h>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=Wn;break;case _1:for(;u<32;){if(o===0)break e;o--,c+=i[s++]<>>=u&7,u-=u&7,r.mode=cg;break}for(;u<3;){if(o===0)break e;o--,c+=i[s++]<>>=1,u-=1,c&3){case 0:r.mode=y1;break;case 1:if(LD(r),r.mode=cd,e===ld){c>>>=2,u-=2;break e}break;case 2:r.mode=E1;break;case 3:t.msg="invalid block type",r.mode=it}c>>>=2,u-=2;break;case y1:for(c>>>=u&7,u-=u&7;u<32;){if(o===0)break e;o--,c+=i[s++]<>>16^65535)){t.msg="invalid stored block lengths",r.mode=it;break}if(r.length=c&65535,c=0,u=0,r.mode=lg,e===ld)break e;case lg:r.mode=x1;case x1:if(h=r.length,h){if(h>o&&(h=o),h>l&&(h=l),h===0)break e;Qr.arraySet(n,i,s,h,a),o-=h,s+=h,l-=h,a+=h,r.length-=h;break}r.mode=Wn;break;case E1:for(;u<14;){if(o===0)break e;o--,c+=i[s++]<>>=5,u-=5,r.ndist=(c&31)+1,c>>>=5,u-=5,r.ncode=(c&15)+4,c>>>=4,u-=4,r.nlen>286||r.ndist>30){t.msg="too many length or distance symbols",r.mode=it;break}r.have=0,r.mode=S1;case S1:for(;r.have>>=3,u-=3}for(;r.have<19;)r.lens[I[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,P={bits:r.lenbits},E=Oc(kD,r.lens,0,19,r.lencode,0,r.work,P),r.lenbits=P.bits,E){t.msg="invalid code lengths set",r.mode=it;break}r.have=0,r.mode=k1;case k1:for(;r.have>>24,_=v>>>16&255,C=v&65535,!(b<=u);){if(o===0)break e;o--,c+=i[s++]<>>=b,u-=b,r.lens[r.have++]=C;else{if(C===16){for(T=b+2;u>>=b,u-=b,r.have===0){t.msg="invalid bit length repeat",r.mode=it;break}w=r.lens[r.have-1],h=3+(c&3),c>>>=2,u-=2}else if(C===17){for(T=b+3;u>>=b,u-=b,w=0,h=3+(c&7),c>>>=3,u-=3}else{for(T=b+7;u>>=b,u-=b,w=0,h=11+(c&127),c>>>=7,u-=7}if(r.have+h>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=it;break}for(;h--;)r.lens[r.have++]=w}}if(r.mode===it)break;if(r.lens[256]===0){t.msg="invalid code -- missing end-of-block",r.mode=it;break}if(r.lenbits=9,P={bits:r.lenbits},E=Oc(D1,r.lens,0,r.nlen,r.lencode,0,r.work,P),r.lenbits=P.bits,E){t.msg="invalid literal/lengths set",r.mode=it;break}if(r.distbits=6,r.distcode=r.distdyn,P={bits:r.distbits},E=Oc(O1,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,P),r.distbits=P.bits,E){t.msg="invalid distances set",r.mode=it;break}if(r.mode=cd,e===ld)break e;case cd:r.mode=ud;case ud:if(o>=6&&l>=258){t.next_out=a,t.avail_out=l,t.next_in=s,t.avail_in=o,r.hold=c,r.bits=u,SD(t,d),a=t.next_out,n=t.output,l=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,c=r.hold,u=r.bits,r.mode===Wn&&(r.back=-1);break}for(r.back=0;v=r.lencode[c&(1<>>24,_=v>>>16&255,C=v&65535,!(b<=u);){if(o===0)break e;o--,c+=i[s++]<>x)],b=v>>>24,_=v>>>16&255,C=v&65535,!(x+b<=u);){if(o===0)break e;o--,c+=i[s++]<>>=x,u-=x,r.back+=x}if(c>>>=b,u-=b,r.back+=b,r.length=C,_===0){r.mode=R1;break}if(_&32){r.back=-1,r.mode=Wn;break}if(_&64){t.msg="invalid literal/length code",r.mode=it;break}r.extra=_&15,r.mode=C1;case C1:if(r.extra){for(T=r.extra;u>>=r.extra,u-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=A1;case A1:for(;v=r.distcode[c&(1<>>24,_=v>>>16&255,C=v&65535,!(b<=u);){if(o===0)break e;o--,c+=i[s++]<>x)],b=v>>>24,_=v>>>16&255,C=v&65535,!(x+b<=u);){if(o===0)break e;o--,c+=i[s++]<>>=x,u-=x,r.back+=x}if(c>>>=b,u-=b,r.back+=b,_&64){t.msg="invalid distance code",r.mode=it;break}r.offset=C,r.extra=_&15,r.mode=T1;case T1:if(r.extra){for(T=r.extra;u>>=r.extra,u-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=it;break}r.mode=P1;case P1:if(l===0)break e;if(h=d-l,r.offset>h){if(h=r.offset-h,h>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=it;break}h>r.wnext?(h-=r.wnext,p=r.wsize-h):p=r.wnext-h,h>r.length&&(h=r.length),g=r.window}else g=n,p=a-r.offset,h=r.length;h>l&&(h=l),l-=h,r.length-=h;do n[a++]=g[p++];while(--h);r.length===0&&(r.mode=ud);break;case R1:if(l===0)break e;n[a++]=r.length,l--,r.mode=ud;break;case cg:if(r.wrap){for(;u<32;){if(o===0)break e;o--,c|=i[s++]<{"use strict";m();z1.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}});var q1=U((hz,W1)=>{"use strict";m();function GD(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}W1.exports=GD});var Z1=U(Nc=>{"use strict";m();var Go=V1(),Lc=jn(),dd=eg(),bt=mg(),gg=Qf(),jD=tg(),VD=q1(),Y1=Object.prototype.toString;function pa(t){if(!(this instanceof pa))return new pa(t);this.options=Lc.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,e.windowBits===0&&(e.windowBits=-15)),e.windowBits>=0&&e.windowBits<16&&!(t&&t.windowBits)&&(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&(e.windowBits&15)===0&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new jD,this.strm.avail_out=0;var r=Go.inflateInit2(this.strm,e.windowBits);if(r!==bt.Z_OK)throw new Error(gg[r]);if(this.header=new VD,Go.inflateGetHeader(this.strm,this.header),e.dictionary&&(typeof e.dictionary=="string"?e.dictionary=dd.string2buf(e.dictionary):Y1.call(e.dictionary)==="[object ArrayBuffer]"&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(r=Go.inflateSetDictionary(this.strm,e.dictionary),r!==bt.Z_OK)))throw new Error(gg[r])}pa.prototype.push=function(t,e){var r=this.strm,i=this.options.chunkSize,n=this.options.dictionary,s,a,o,l,c,u=!1;if(this.ended)return!1;a=e===~~e?e:e===!0?bt.Z_FINISH:bt.Z_NO_FLUSH,typeof t=="string"?r.input=dd.binstring2buf(t):Y1.call(t)==="[object ArrayBuffer]"?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;do{if(r.avail_out===0&&(r.output=new Lc.Buf8(i),r.next_out=0,r.avail_out=i),s=Go.inflate(r,bt.Z_NO_FLUSH),s===bt.Z_NEED_DICT&&n&&(s=Go.inflateSetDictionary(this.strm,n)),s===bt.Z_BUF_ERROR&&u===!0&&(s=bt.Z_OK,u=!1),s!==bt.Z_STREAM_END&&s!==bt.Z_OK)return this.onEnd(s),this.ended=!0,!1;r.next_out&&(r.avail_out===0||s===bt.Z_STREAM_END||r.avail_in===0&&(a===bt.Z_FINISH||a===bt.Z_SYNC_FLUSH))&&(this.options.to==="string"?(o=dd.utf8border(r.output,r.next_out),l=r.next_out-o,c=dd.buf2string(r.output,o),r.next_out=l,r.avail_out=i-l,l&&Lc.arraySet(r.output,r.output,o,l,0),this.onData(c)):this.onData(Lc.shrinkBuf(r.output,r.next_out))),r.avail_in===0&&r.avail_out===0&&(u=!0)}while((r.avail_in>0||r.avail_out===0)&&s!==bt.Z_STREAM_END);return s===bt.Z_STREAM_END&&(a=bt.Z_FINISH),a===bt.Z_FINISH?(s=Go.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,s===bt.Z_OK):(a===bt.Z_SYNC_FLUSH&&(this.onEnd(bt.Z_OK),r.avail_out=0),!0)};pa.prototype.onData=function(t){this.chunks.push(t)};pa.prototype.onEnd=function(t){t===bt.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Lc.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};function vg(t,e){var r=new pa(e);if(r.push(t,!0),r.err)throw r.msg||gg[r.err];return r.result}function zD(t,e){return e=e||{},e.raw=!0,vg(t,e)}Nc.Inflate=pa;Nc.inflate=vg;Nc.inflateRaw=zD;Nc.ungzip=vg});var Q1=U((vz,X1)=>{"use strict";m();var WD=jn().assign,qD=e1(),YD=Z1(),ZD=mg(),K1={};WD(K1,qD,YD,ZD);X1.exports=K1});var tE=U((bz,eE)=>{"use strict";m();var J1=(t,e)=>function(...r){let i=e.promiseModule;return new i((n,s)=>{e.multiArgs?r.push((...a)=>{e.errorFirst?a[0]?s(a):(a.shift(),n(a)):n(a)}):e.errorFirst?r.push((a,o)=>{a?s(a):n(o)}):r.push(n),t.apply(this,r)})};eE.exports=(t,e)=>{e=Object.assign({exclude:[/.+(Sync|Stream)$/],errorFirst:!0,promiseModule:Promise},e);let r=typeof t;if(!(t!==null&&(r==="object"||r==="function")))throw new TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${t===null?"null":r}\``);let i=s=>{let a=o=>typeof o=="string"?s===o:o.test(s);return e.include?e.include.some(a):!e.exclude.some(a)},n;r==="function"?n=function(...s){return e.excludeMain?t(...s):J1(t,e).apply(this,s)}:n=Object.create(Object.getPrototypeOf(t));for(let s in t){let a=t[s];n[s]=typeof a=="function"&&i(s)?J1(a,e):a}return n}});var uE=U((yz,cE)=>{m();function rE(t){return Array.isArray(t)?t:[t]}var _g="",iE=" ",wg="\\",KD=/^\s+$/,XD=/(?:[^\\]|^)\\$/,QD=/^\\!/,JD=/^\\#/,eO=/\r?\n/g,tO=/^\.*\/|^\.+$/,bg="/",aE="node-ignore";typeof Symbol!="undefined"&&(aE=Symbol.for("node-ignore"));var nE=aE,rO=(t,e,r)=>Object.defineProperty(t,e,{value:r}),iO=/([0-z])-([0-z])/g,oE=()=>!1,nO=t=>t.replace(iO,(e,r,i)=>r.charCodeAt(0)<=i.charCodeAt(0)?e:_g),sO=t=>{let{length:e}=t;return t.slice(0,e-e%2)},aO=[[/^\uFEFF/,()=>_g],[/((?:\\\\)*?)(\\?\s+)$/,(t,e,r)=>e+(r.indexOf("\\")===0?iE:_g)],[/(\\+?)\s/g,(t,e)=>{let{length:r}=e;return e.slice(0,r-r%2)+iE}],[/[\\$.|*+(){^]/g,t=>`\\${t}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(t,e,r)=>e+6{let i=r.replace(/\\\*/g,"[^\\/]*");return e+i}],[/\\\\\\(?=[$.|*+(){^])/g,()=>wg],[/\\\\/g,()=>wg],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(t,e,r,i,n)=>e===wg?`\\[${r}${sO(i)}${n}`:n==="]"&&i.length%2===0?`[${nO(r)}${i}]`:"[]"],[/(?:[^*])$/,t=>/\/$/.test(t)?`${t}$`:`${t}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(t,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`]],sE=Object.create(null),oO=(t,e)=>{let r=sE[t];return r||(r=aO.reduce((i,[n,s])=>i.replace(n,s.bind(t)),t),sE[t]=r),e?new RegExp(r,"i"):new RegExp(r)},Eg=t=>typeof t=="string",lO=t=>t&&Eg(t)&&!KD.test(t)&&!XD.test(t)&&t.indexOf("#")!==0,cO=t=>t.split(eO),yg=class{constructor(e,r,i,n){this.origin=e,this.pattern=r,this.negative=i,this.regex=n}},uO=(t,e)=>{let r=t,i=!1;t.indexOf("!")===0&&(i=!0,t=t.substr(1)),t=t.replace(QD,"!").replace(JD,"#");let n=oO(t,e);return new yg(r,t,i,n)},fO=(t,e)=>{throw new e(t)},qn=(t,e,r)=>Eg(t)?t?qn.isNotRelative(t)?r(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:r("path must not be empty",TypeError):r(`path must be a string, but got \`${e}\``,TypeError),lE=t=>tO.test(t);qn.isNotRelative=lE;qn.convert=t=>t;var xg=class{constructor({ignorecase:e=!0,ignoreCase:r=e,allowRelativePaths:i=!1}={}){rO(this,nE,!0),this._rules=[],this._ignoreCase=r,this._allowRelativePaths=i,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[nE]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(lO(e)){let r=uO(e,this._ignoreCase);this._added=!0,this._rules.push(r)}}add(e){return this._added=!1,rE(Eg(e)?cO(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,r){let i=!1,n=!1;return this._rules.forEach(s=>{let{negative:a}=s;if(n===a&&i!==n||a&&!i&&!n&&!r)return;s.regex.test(e)&&(i=!a,n=a)}),{ignored:i,unignored:n}}_test(e,r,i,n){let s=e&&qn.convert(e);return qn(s,e,this._allowRelativePaths?oE:fO),this._t(s,r,i,n)}_t(e,r,i,n){if(e in r)return r[e];if(n||(n=e.split(bg)),n.pop(),!n.length)return r[e]=this._testOne(e,i);let s=this._t(n.join(bg)+bg,r,i,n);return r[e]=s.ignored?s:this._testOne(e,i)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return rE(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},hd=t=>new xg(t),dO=t=>qn(t&&qn.convert(t),t,oE);hd.isPathValid=dO;hd.default=hd;cE.exports=hd;if(typeof process!="undefined"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let t=r=>/^\\\\\?\\/.test(r)||/["<>|\u0000-\u001F]+/u.test(r)?r:r.replace(/\\/g,"/");qn.convert=t;let e=/^[a-z]:\//i;qn.isNotRelative=r=>e.test(r)||lE(r)}});var dE=U((Ez,fE)=>{"use strict";m();function hO(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function gn(t,e,r){return e=e instanceof RegExp?e:new RegExp(hO(e),"g"),t.replace(e,r)}var pO={clean:function(e){if(typeof e!="string")throw new Error("Expected a string, received: "+e);return e=gn(e,"./","/"),e=gn(e,"..","."),e=gn(e," ","-"),e=gn(e,/^[~^:?*\\\-]/g,""),e=gn(e,/[~^:?*\\]/g,"-"),e=gn(e,/[~^:?*\\\-]$/g,""),e=gn(e,"@{","-"),e=gn(e,/\.$/g,""),e=gn(e,/\/$/g,""),e=gn(e,/\.lock$/g,""),e}};fE.exports=pO});var pE=U((kz,hE)=>{m();hE.exports=function(t,e){var r=t,i=e,n=r.length,s=i.length,a=!1,o=null,l=n+1,c=[],u=[],f=[],d="",h=-1,p=0,g=1,v,b,_=function(){n>=s&&(v=r,b=n,r=i,i=v,n=s,s=b,a=!0,l=n+1)},C=function(w,E,y){return{x:w,y:E,k:y}},x=function(w,E){return{elem:w,t:E}},S=function(w,E,y){var P,T,I;for(E>y?P=c[w-1+l]:P=c[w+1+l],I=Math.max(E,y),T=I-w;T=0;--I)for(;PT-P?(a?f[f.length]=new x(i[T],h):f[f.length]=new x(i[T],g),++y,++T):w[I].y-w[I].x=w+1;--H)y[H+l]=S(H,y[H-1+l]+1,y[H+1+l]);y[w+l]=S(w,y[w-1+l]+1,y[w+1+l])}while(y[w+l]!==s);for(o=w+2*P,T=c[w+l],I=[];T!==-1;)I[I.length]=new C(u[T].x,u[T].y,null),T=u[T].k;A(I)}}}});var vE=U((Az,gE)=>{m();var mO=pE();function gO(t,e){var r=new mO(t,e);r.compose();for(var i=r.getses(),n,s,a=t.length-1,o=e.length-1,l=i.length-1;l>=0;--l)i[l].t===r.SES_COMMON?(s?(s.chain={file1index:a,file2index:o,chain:null},s=s.chain):(n={file1index:a,file2index:o,chain:null},s=n),a--,o--):i[l].t===r.SES_DELETE?a--:i[l].t===r.SES_ADD&&o--;var c={file1index:-1,file2index:-1,chain:null};return s?(s.chain=c,n):c}function mE(t,e){for(var r=[],i=t.length,n=e.length,s=gO(t,e);s!==null;s=s.chain){var a=i-s.file1index-1,o=n-s.file2index-1;i=s.file1index,n=s.file2index,(a||o)&&r.push({file1:[i+1,a],file2:[n+1,o]})}return r.reverse(),r}function vO(t,e,r){var i,n=mE(e,t),s=mE(e,r),a=[];function o(L,H){a.push([L.file1[0],H,L.file1[1],L.file2[0],L.file2[1]])}for(i=0;ic&&(l.push([1,c,L-c]),c=L)}for(var f=0;fg)break;g=Math.max(g,b+v[2]),f++}if(u(p),d==f)h[4]>0&&l.push([h[1],h[3],h[4]]);else{var _={0:[t.length,-1,e.length,-1],2:[r.length,-1,e.length,-1]};for(i=d;i<=f;i++){h=a[i];var C=h[1],x=_[C],S=h[0],A=S+h[2],w=h[3],E=w+h[4];x[0]=Math.min(w,x[0]),x[1]=Math.max(E,x[1]),x[2]=Math.min(S,x[2]),x[3]=Math.max(A,x[3])}var y=_[0][0]+(p-_[0][2]),P=_[0][1]+(g-_[0][3]),T=_[2][0]+(p-_[2][2]),I=_[2][1]+(g-_[2][3]);l.push([-1,y,P-y,p,g-p,T,I-T])}c=g}return u(e.length),l}function wO(t,e,r){var i=[],n=[t,e,r],s=vO(t,e,r),a=[];function o(){a.length&&i.push({ok:a}),a=[]}function l(h){for(var p=0;p{"use strict";m();LS.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var HS=U((s9,BS)=>{m();var sv={px:{px:1,cm:37.79527559055118,mm:3.7795275590551185,in:96,pt:1.3333333333333333,pc:16},cm:{px:.026458333333333334,cm:1,mm:.1,in:2.54,pt:.035277777777777776,pc:.42333333333333334},mm:{px:.26458333333333334,cm:10,mm:1,in:25.4,pt:.35277777777777775,pc:4.233333333333333},in:{px:.010416666666666666,cm:.39370078740157477,mm:.03937007874015748,in:1,pt:.013888888888888888,pc:.16666666666666666},pt:{px:.75,cm:28.346456692913385,mm:2.834645669291339,in:72,pt:1,pc:12},pc:{px:.0625,cm:2.3622047244094486,mm:.2362204724409449,in:6,pt:.08333333333333333,pc:1},deg:{deg:1,grad:.9,rad:180/Math.PI,turn:360},grad:{deg:1.1111111111111112,grad:1,rad:200/Math.PI,turn:400},rad:{deg:Math.PI/180,grad:Math.PI/200,rad:1,turn:Math.PI*2},turn:{deg:.002777777777777778,grad:.0025,rad:.5/Math.PI,turn:1},s:{s:1,ms:.001},ms:{s:1e3,ms:1},Hz:{Hz:1,kHz:1e3},kHz:{Hz:.001,kHz:1},dpi:{dpi:1,dpcm:.39370078740157477,dppx:.010416666666666666},dpcm:{dpi:2.54,dpcm:1,dppx:.026458333333333334},dppx:{dpi:96,dpcm:37.79527559055118,dppx:1}};BS.exports=function(t,e,r,i){if(!sv.hasOwnProperty(r))throw new Error("Cannot convert to "+r);if(!sv[r].hasOwnProperty(e))throw new Error("Cannot convert from "+e+" to "+r);var n=sv[r][e]*t;return i!==!1?(i=Math.pow(10,parseInt(i)||5),Math.round(n*i)/i):n}});var ek=U(Kn=>{"use strict";m();Object.defineProperty(Kn,"__esModule",{value:!0});Kn.fromRgba=sl;Kn.fromRgb=av;Kn.fromHsla=Ld;Kn.fromHsl=QS;Kn.fromString=JS;Kn.default=void 0;var US=VS(NS()),HB=VS(HS());function VS(t){return t&&t.__esModule?t:{default:t}}function UB(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function GS(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,i=new Array(e);r-1}function qB(t,e,r){var i=t/255,n=e/255,s=r/255,a=Math.max(i,n,s),o=Math.min(i,n,s),l=a-o,c=(a+o)/2;if(l===0)return[0,0,c*100];var u=l/(1-Math.abs(2*c-1)),f=(function(){switch(a){case i:return(n-s)/l%6;case n:return(s-i)/l+2;default:return(i-n)/l+4}})();return[f*60,u*100,c*100]}function YB(t,e,r){var i=t/60,n=e/100,s=r/100,a=(1-Math.abs(2*s-1))*n,o=a*(1-Math.abs(i%2-1)),l=s-a/2,c=(function(){return i<1?[a,o,0]:i<2?[o,a,0]:i<3?[0,a,o]:i<4?[0,o,a]:i<5?[o,0,a]:[a,0,o]})(),u=_r(c,3),f=u[0],d=u[1],h=u[2];return[(f+l)*255,(d+l)*255,(h+l)*255]}var ZB=(function(){function t(e){var r=_r(e,4),i=r[0],n=r[1],s=r[2],a=r[3];UB(this,t),this.values=[Math.max(Math.min(parseInt(i,10),255),0),Math.max(Math.min(parseInt(n,10),255),0),Math.max(Math.min(parseInt(s,10),255),0),a==null?1:Math.max(Math.min(parseFloat(a),255),0)]}return GB(t,[{key:"toRgbString",value:function(){var r=_r(this.values,4),i=r[0],n=r[1],s=r[2],a=r[3];return a===1?"rgb(".concat(i,", ").concat(n,", ").concat(s,")"):"rgba(".concat(i,", ").concat(n,", ").concat(s,", ").concat(a,")")}},{key:"toHslString",value:function(){var r=this.toHslaArray(),i=_r(r,4),n=i[0],s=i[1],a=i[2],o=i[3];return o===1?"hsl(".concat(n,", ").concat(s,"%, ").concat(a,"%)"):"hsla(".concat(n,", ").concat(s,"%, ").concat(a,"%, ").concat(o,")")}},{key:"toHexString",value:function(){var r=_r(this.values,4),i=r[0],n=r[1],s=r[2],a=r[3];return i=Number(i).toString(16).padStart(2,"0"),n=Number(n).toString(16).padStart(2,"0"),s=Number(s).toString(16).padStart(2,"0"),a=a<1?parseInt(a*255,10).toString(16).padStart(2,"0"):"","#".concat(i).concat(n).concat(s).concat(a)}},{key:"toRgbaArray",value:function(){return this.values}},{key:"toHslaArray",value:function(){var r=_r(this.values,4),i=r[0],n=r[1],s=r[2],a=r[3],o=qB(i,n,s),l=_r(o,3),c=l[0],u=l[1],f=l[2];return[c,u,f,a]}}]),t})();function sl(t){var e=_r(t,4),r=e[0],i=e[1],n=e[2],s=e[3];return new ZB([r,i,n,s])}function av(t){var e=_r(t,3),r=e[0],i=e[1],n=e[2];return sl([r,i,n,1])}function Ld(t){var e=_r(t,4),r=e[0],i=e[1],n=e[2],s=e[3],a=YB(r,i,n),o=_r(a,3),l=o[0],c=o[1],u=o[2];return sl([l,c,u,s])}function QS(t){var e=_r(t,3),r=e[0],i=e[1],n=e[2];return Ld([r,i,n,1])}function KB(t){var e=zS.exec(t)||WS.exec(t),r=_r(e,5),i=r[1],n=r[2],s=r[3],a=r[4];return i=parseInt(i.length<2?i.repeat(2):i,16),n=parseInt(n.length<2?n.repeat(2):n,16),s=parseInt(s.length<2?s.repeat(2):s,16),a=a&&(parseInt(a.length<2?a.repeat(2):a,16)/255).toPrecision(1)||1,sl([i,n,s,a])}function XB(t){var e=qS.exec(t)||ZS.exec(t)||YS.exec(t)||KS.exec(t),r=_r(e,5),i=r[1],n=r[2],s=r[3],a=r[4];return i=vu(i,"%")?parseInt(i,10)*255/100:parseInt(i,10),n=vu(n,"%")?parseInt(n,10)*255/100:parseInt(n,10),s=vu(s,"%")>0?parseInt(s,10)*255/100:parseInt(s,10),a=a===void 0?1:parseFloat(a)/(vu(a,"%")?100:1),sl([i,n,s,a])}function QB(t){var e=XS.exec(t),r=_r(e,6),i=r[1],n=r[2],s=r[3],a=r[4],o=r[5];return n=n||"deg",i=(0,HB.default)(parseFloat(i),n,"deg"),s=parseFloat(s),a=parseFloat(a),o=o===void 0?1:parseFloat(o)/(vu(o,"%")?100:1),Ld([i,s,a,o])}function JS(t){return US.default[t]?av(US.default[t]):zS.test(t)||WS.test(t)?KB(t):qS.test(t)||ZS.test(t)||YS.test(t)||KS.test(t)?XB(t):XS.test(t)?QB(t):null}var JB={fromString:JS,fromRgb:av,fromRgba:sl,fromHsl:QS,fromHsla:Ld};Kn.default=JB});var dk=U((v9,fk)=>{m();fk.exports=function(t,e){var r=t,i=e,n=r.length,s=i.length,a=!1,o=n+1,l=[],c=[],u,f,d=function(){n>=s&&(u=r,f=n,r=i,i=u,n=s,s=f,a=!0,o=n+1)},h=function(g,v,b,_,C){return{startX:g,startY:v,endX:b,endY:_,r:C}},p=function(g,v,b){var _,C,x,S,A;for(v>b?_=l[g-1+o]:_=l[g+1+o],A=x=Math.max(v,b),S=C=x-g;C=g+1;--S)b[S+o]=p(S,b[S-1+o]+1,b[S+1+o]);b[g+o]=p(g,b[g-1+o]+1,b[g+1+o])}while(b[g+o]!==s);for(ed=g+2*_,C=l[g+o],A=n,w=s,E=[];C!==-1;){let y=c[C];(n!=y.endX||s!=y.endY)&&E.push({file1:[a?y.endY:y.endX,a?w-y.endY:A-y.endX],file2:[a?y.endX:y.endY,a?A-y.endX:w-y.endY]}),A=y.startX,w=y.startY,C=c[C].r}return(A!=0||w!=0)&&E.push({file1:[0,a?w:A],file2:[0,a?A:w]}),E.reverse(),E}}}});var mk=U((b9,pk)=>{m();var hk=dk();function r3(t,e,r){var i,n=new hk(e,t).compose(),s=new hk(e,r).compose(),a=[];function o(L,H){a.push([L.file1[0],H,L.file1[1],L.file2[0],L.file2[1]])}for(i=0;ic&&(l.push([1,c,L-c]),c=L)}for(var f=0;fg)break;g=Math.max(g,b+v[2]),f++}if(u(p),d==f)h[4]>0&&l.push([h[1],h[3],h[4]]);else{var _={0:[t.length,-1,e.length,-1],2:[r.length,-1,e.length,-1]};for(i=d;i<=f;i++){h=a[i];var C=h[1],x=_[C],S=h[0],A=S+h[2],w=h[3],E=w+h[4];x[0]=Math.min(w,x[0]),x[1]=Math.max(E,x[1]),x[2]=Math.min(S,x[2]),x[3]=Math.max(A,x[3])}var y=_[0][0]+(p-_[0][2]),P=_[0][1]+(g-_[0][3]),T=_[2][0]+(p-_[2][2]),I=_[2][1]+(g-_[2][3]);l.push([-1,y,P-y,p,g-p,T,I-T])}c=g}return u(e.length),l}function i3(t,e,r){var i=[],n=[t,e,r],s=r3(t,e,r),a=[];function o(){a.length&&i.push({ok:a}),a=[]}function l(h){for(var p=0;p{m();var ul=1e3,fl=ul*60,dl=fl*60,Ca=dl*24,o3=Ca*7,l3=Ca*365.25;vk.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return c3(t);if(r==="number"&&isFinite(t))return e.long?f3(t):u3(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function c3(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),i=(e[2]||"ms").toLowerCase();switch(i){case"years":case"year":case"yrs":case"yr":case"y":return r*l3;case"weeks":case"week":case"w":return r*o3;case"days":case"day":case"d":return r*Ca;case"hours":case"hour":case"hrs":case"hr":case"h":return r*dl;case"minutes":case"minute":case"mins":case"min":case"m":return r*fl;case"seconds":case"second":case"secs":case"sec":case"s":return r*ul;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function u3(t){var e=Math.abs(t);return e>=Ca?Math.round(t/Ca)+"d":e>=dl?Math.round(t/dl)+"h":e>=fl?Math.round(t/fl)+"m":e>=ul?Math.round(t/ul)+"s":t+"ms"}function f3(t){var e=Math.abs(t);return e>=Ca?Gd(t,e,Ca,"day"):e>=dl?Gd(t,e,dl,"hour"):e>=fl?Gd(t,e,fl,"minute"):e>=ul?Gd(t,e,ul,"second"):t+" ms"}function Gd(t,e,r,i){var n=e>=r*1.5;return Math.round(t/r)+" "+i+(n?"s":"")}});var _k=U((F9,bk)=>{m();function d3(t){r.debug=r,r.default=r,r.coerce=l,r.disable=a,r.enable=n,r.enabled=o,r.humanize=wk(),r.destroy=c,Object.keys(t).forEach(u=>{r[u]=t[u]}),r.names=[],r.skips=[],r.formatters={};function e(u){let f=0;for(let d=0;d{if(A==="%%")return"%";x++;let E=r.formatters[w];if(typeof E=="function"){let y=v[x];A=E.call(b,y),v.splice(x,1),x--}return A}),r.formatArgs.call(b,v),(b.log||r.log).apply(b,v)}return g.namespace=u,g.useColors=r.useColors(),g.color=r.selectColor(u),g.extend=i,g.destroy=r.destroy,Object.defineProperty(g,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(h!==r.namespaces&&(h=r.namespaces,p=r.enabled(u)),p),set:v=>{d=v}}),typeof r.init=="function"&&r.init(g),g}function i(u,f){let d=r(this.namespace+(typeof f=="undefined"?":":f)+u);return d.log=this.log,d}function n(u){r.save(u),r.namespaces=u,r.names=[],r.skips=[];let f=(typeof u=="string"?u:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let d of f)d[0]==="-"?r.skips.push(d.slice(1)):r.names.push(d)}function s(u,f){let d=0,h=0,p=-1,g=0;for(;d"-"+f)].join(",");return r.enable(""),u}function o(u){for(let f of r.skips)if(s(u,f))return!1;for(let f of r.names)if(s(u,f))return!0;return!1}function l(u){return u instanceof Error?u.stack||u.message:u}function c(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}bk.exports=d3});var Vd=U((Lr,jd)=>{m();Lr.formatArgs=p3;Lr.save=m3;Lr.load=g3;Lr.useColors=h3;Lr.storage=v3();Lr.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Lr.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function h3(){if(typeof window!="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return typeof document!="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!="undefined"&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function p3(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+jd.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,i=0;t[0].replace(/%[a-zA-Z%]/g,n=>{n!=="%%"&&(r++,n==="%c"&&(i=r))}),t.splice(i,0,e)}Lr.log=console.debug||console.log||(()=>{});function m3(t){try{t?Lr.storage.setItem("debug",t):Lr.storage.removeItem("debug")}catch(e){}}function g3(){let t;try{t=Lr.storage.getItem("debug")||Lr.storage.getItem("DEBUG")}catch(e){}return!t&&typeof process!="undefined"&&"env"in process&&(t=process.env.DEBUG),t}function v3(){try{return localStorage}catch(t){}}jd.exports=_k()(Lr);var{formatters:w3}=jd.exports;w3.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var yk=U(ei=>{"use strict";m();var b3=ei&&ei.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ei,"__esModule",{value:!0});var _3=require("fs"),y3=b3(Vd()),hl=y3.default("@kwsites/file-exists");function x3(t,e,r){hl("checking %s",t);try{let i=_3.statSync(t);return i.isFile()&&e?(hl("[OK] path represents a file"),!0):i.isDirectory()&&r?(hl("[OK] path represents a directory"),!0):(hl("[FAIL] path represents something other than a file or directory"),!1)}catch(i){if(i.code==="ENOENT")return hl("[FAIL] path is not accessible: %o",i),!1;throw hl("[FATAL] %o",i),i}}function E3(t,e=ei.READABLE){return x3(t,(e&ei.FILE)>0,(e&ei.FOLDER)>0)}ei.exists=E3;ei.FILE=1;ei.FOLDER=2;ei.READABLE=ei.FILE+ei.FOLDER});var xk=U(zd=>{"use strict";m();function S3(t){for(var e in t)zd.hasOwnProperty(e)||(zd[e]=t[e])}Object.defineProperty(zd,"__esModule",{value:!0});S3(yk())});var hv=U(Aa=>{"use strict";m();Object.defineProperty(Aa,"__esModule",{value:!0});Aa.createDeferred=Aa.deferred=void 0;function dv(){let t,e,r="pending";return{promise:new Promise((n,s)=>{t=n,e=s}),done(n){r==="pending"&&(r="resolved",t(n))},fail(n){r==="pending"&&(r="rejected",e(n))},get fulfilled(){return r!=="pending"},get status(){return r}}}Aa.deferred=dv;Aa.createDeferred=dv;Aa.default=dv});var Y2=U(Vw=>{m();(function(t){var e=/\S/,r=/\"/g,i=/\n/g,n=/\r/g,s=/\\/g,a=/\u2028/,o=/\u2029/;t.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},t.scan=function(E,y){var P=E.length,T=0,I=1,L=2,H=T,te=null,xe=null,Z="",K=[],ce=!1,pe=0,W=0,X="{{",G="}}";function Be(){Z.length>0&&(K.push({tag:"_t",text:new String(Z)}),Z="")}function pr(){for(var Rt=!0,$t=W;$t"&&(ee.indent=K[Xe].text.toString()),K.splice(Xe,1));else $t||K.push({tag:` `});ce=!1,W=K.length}function Ie(Rt,$t){var Xe="="+G,ee=Rt.indexOf(Xe,$t),N=c(Rt.substring(Rt.indexOf("=",$t)+1,ee)).split(" ");return X=N[0],G=N[N.length-1],ee+Xe.length-1}for(y&&(y=y.split(" "),X=y[0],G=y[1]),pe=0;pe0;){if(H=w.shift(),L&&L.tag=="<"&&!(H.tag in f))throw new Error("Illegal content in < super tag.");if(t.tags[H.tag]<=t.tags.$||h(H,P))y.push(H),H.nodes=d(w,H.tag,y,P);else if(H.tag=="/"){if(y.length===0)throw new Error("Closing tag without opener: /"+H.n);if(I=y.pop(),H.n!=I.n&&!p(H.n,I.n,P))throw new Error("Nesting error: "+I.n+" vs. "+H.n);return I.end=H.i,T}else H.tag==` `&&(H.last=w.length==0||w[0].tag==` `);T.push(H)}if(y.length>0)throw new Error("missing closing tag: "+y.pop().n);return T}function h(w,E){for(var y=0,P=E.length;y":x,"<":function(w,E){var y={partials:{},code:"",subs:{},inPartial:!0};t.walk(w.nodes,y);var P=E.partials[x(w,E)];P.subs=y.subs,P.partials=y.partials},$:function(w,E){var y={subs:{},code:"",partials:E.partials,prefix:w.n};t.walk(w.nodes,y),E.subs[w.n]=y.code,E.inPartial||(E.code+='t.sub("'+_(w.n)+'",c,p,i);')},"\n":function(w,E){E.code+=A('"\\n"'+(w.last?"":" + i"))},_v:function(w,E){E.code+="t.b(t.v(t."+C(w.n)+'("'+_(w.n)+'",c,p,0)));'},_t:function(w,E){E.code+=A('"'+_(w.text)+'"')},"{":S,"&":S};function S(w,E){E.code+="t.b(t.t(t."+C(w.n)+'("'+_(w.n)+'",c,p,0)));'}function A(w){return"t.b("+w+");"}t.walk=function(w,E){for(var y,P=0,T=w.length;P{m();var b5={};(function(t){t.Template=function(d,h,p,g){d=d||{},this.r=d.code||this.r,this.c=p,this.options=g||{},this.text=h||"",this.partials=d.partials||{},this.subs=d.subs||{},this.buf=""},t.Template.prototype={r:function(d,h,p){return""},v:u,t:c,render:function(h,p,g){return this.ri([h],p||{},g)},ri:function(d,h,p){return this.r(d,h,p)},ep:function(d,h){var p=this.partials[d],g=h[p.name];if(p.instance&&p.base==g)return p.instance;if(typeof g=="string"){if(!this.c)throw new Error("No compiler available.");g=this.c.compile(g,this.options)}if(!g)return null;if(this.partials[d].base=g,p.subs){h.stackText||(h.stackText={});for(key in p.subs)h.stackText[key]||(h.stackText[key]=this.activeSub!==void 0&&h.stackText[this.activeSub]?h.stackText[this.activeSub]:this.text);g=r(g,p.subs,p.partials,this.stackSubs,this.stackPartials,h.stackText)}return this.partials[d].instance=g,g},rp:function(d,h,p,g){var v=this.ep(d,p);return v?v.ri(h,p,g):""},rs:function(d,h,p){var g=d[d.length-1];if(!f(g)){p(d,h,this);return}for(var v=0;v=0;x--)if(b=h[x],v=e(d,b,C),v!==void 0){_=!0;break}return _?(!g&&typeof v=="function"&&(v=this.mv(v,h,p)),v):g?!1:""},ls:function(d,h,p,g,v,b){var _=this.options.delimiters;return this.options.delimiters=b,this.b(this.ct(c(d.call(h,v,p)),h,g)),this.options.delimiters=_,!1},ct:function(d,h,p){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(d,this.options).render(h,p)},b:function(d){this.buf+=d},fl:function(){var d=this.buf;return this.buf="",d},ms:function(d,h,p,g,v,b,_){var C,x=h[h.length-1],S=d.call(x);return typeof S=="function"?g?!0:(C=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(S,x,h,p,C.substring(v,b),_)):S},mv:function(d,h,p){var g=h[h.length-1],v=d.call(g);return typeof v=="function"?this.ct(c(v.call(g)),g,p):v},sub:function(d,h,p,g){var v=this.subs[d];v&&(this.activeSub=d,v(h,p,this,g),this.activeSub=!1)}};function e(d,h,p){var g;return h&&typeof h=="object"&&(h[d]!==void 0?g=h[d]:p&&h.get&&typeof h.get=="function"&&(g=h.get(d))),g}function r(d,h,p,g,v,b){function _(){}_.prototype=d;function C(){}C.prototype=d.subs;var x,S=new _;S.subs=new C,S.subsText={},S.buf="",g=g||{},S.stackSubs=g,S.subsText=b;for(x in h)g[x]||(g[x]=h[x]);for(x in g)S.subs[x]=g[x];v=v||{},S.stackPartials=v;for(x in p)v[x]||(v[x]=p[x]);for(x in v)S.partials[x]=v[x];return S}var i=/&/g,n=//g,a=/\'/g,o=/\"/g,l=/[&<>\"\']/;function c(d){return String(d==null?"":d)}function u(d){return d=c(d),l.test(d)?d.replace(i,"&").replace(n,"<").replace(s,">").replace(a,"'").replace(o,"""):d}var f=Array.isArray||function(d){return Object.prototype.toString.call(d)==="[object Array]"}})(typeof zw!="undefined"?zw:b5)});var Ww=U((xY,K2)=>{m();var Vh=Y2();Vh.Template=Z2().Template;Vh.template=Vh.Template;K2.exports=Vh});var J2=U(Ai=>{"use strict";m();Object.defineProperty(Ai,"__esModule",{value:!0});Ai.ColorSchemeType=Ai.DiffStyleType=Ai.LineMatchingType=Ai.OutputFormatType=Ai.LineType=void 0;var X2;(function(t){t.INSERT="insert",t.DELETE="delete",t.CONTEXT="context"})(X2||(Ai.LineType=X2={}));Ai.OutputFormatType={LINE_BY_LINE:"line-by-line",SIDE_BY_SIDE:"side-by-side"};Ai.LineMatchingType={LINES:"lines",WORDS:"words",NONE:"none"};Ai.DiffStyleType={WORD:"word",CHAR:"char"};var Q2;(function(t){t.AUTO="auto",t.DARK="dark",t.LIGHT="light"})(Q2||(Ai.ColorSchemeType=Q2={}))});var CG={};R$(CG,{default:()=>Xp});module.exports=$$(CG);m();m();var Vo=ft(Zb(),1),Yg=ft(cx(),1),UE=ft(fx(),1),Ad=ft(Q1(),1),Hc=ft(tE(),1),GE=ft(uE(),1),zo=ft(dE(),1),jE=ft(vE(),1),Te=class t extends Error{constructor(e){super(e),this.caller=""}toJSON(){return{code:this.code,data:this.data,caller:this.caller,message:this.message,stack:this.stack}}fromJSON(e){let r=new t(e.message);return r.code=e.code,r.data=e.data,r.caller=e.caller,r.stack=e.stack,r}get isIsomorphicGitError(){return!0}},Uc=class t extends Te{constructor(e){super(`Modifying the index is not possible because you have unmerged files: ${e.toString}. Fix them up in the work tree, and then use 'git add/rm as appropriate to mark resolution and make a commit.`),this.code=this.name=t.code,this.data={filepaths:e}}};Uc.code="UnmergedPathsError";var he=class t extends Te{constructor(e){super(`An internal error caused this command to fail. If you're using an application that depends on isomorphic-git, please report this error to that application's developers. If you're a developer and you believe this is a bug in isomorphic-git, please file an issue at https://github.com/isomorphic-git/isomorphic-git/issues with a minimal reproduction, version and environment details, and this error message: ${e}`),this.code=this.name=t.code,this.data={message:e}}};he.code="InternalError";var va=class t extends Te{constructor(e){super(`The filepath "${e}" contains unsafe character sequences`),this.code=this.name=t.code,this.data={filepath:e}}};va.code="UnsafeFilepathError";var Ui=class{constructor(e){this.buffer=e,this._start=0}eof(){return this._start>=this.buffer.length}tell(){return this._start}seek(e){this._start=e}slice(e){let r=this.buffer.slice(this._start,this._start+e);return this._start+=e,r}toString(e,r){let i=this.buffer.toString(e,this._start,this._start+r);return this._start+=r,i}write(e,r,i){let n=this.buffer.write(e,this._start,r,i);return this._start+=r,n}copy(e,r,i){let n=e.copy(this.buffer,this._start,r,i);return this._start+=n,n}readUInt8(){let e=this.buffer.readUInt8(this._start);return this._start+=1,e}writeUInt8(e){let r=this.buffer.writeUInt8(e,this._start);return this._start+=1,r}readUInt16BE(){let e=this.buffer.readUInt16BE(this._start);return this._start+=2,e}writeUInt16BE(e){let r=this.buffer.writeUInt16BE(e,this._start);return this._start+=2,r}readUInt32BE(){let e=this.buffer.readUInt32BE(this._start);return this._start+=4,e}writeUInt32BE(e){let r=this.buffer.writeUInt32BE(e,this._start);return this._start+=4,r}};function Td(t,e){return-(te)}function VE(t,e){return Td(t.path,e.path)}function zE(t){let e=t>0?t>>12:0;e!==4&&e!==8&&e!==10&&e!==14&&(e=8);let r=t&511;return r&73?r=493:r=420,e!==8&&(r=0),(e<<12)+r}var vn=2**32;function wE(t,e,r,i){if(t!==void 0&&e!==void 0)return[t,e];r===void 0&&(r=i.valueOf());let n=Math.floor(r/1e3),s=(r-n*1e3)*1e6;return[n,s]}function Wo(t){let[e,r]=wE(t.ctimeSeconds,t.ctimeNanoseconds,t.ctimeMs,t.ctime),[i,n]=wE(t.mtimeSeconds,t.mtimeNanoseconds,t.mtimeMs,t.mtime);return{ctimeSeconds:e%vn,ctimeNanoseconds:r%vn,mtimeSeconds:i%vn,mtimeNanoseconds:n%vn,dev:t.dev%vn,ino:t.ino%vn,mode:zE(t.mode%vn),uid:t.uid%vn,gid:t.gid%vn,size:t.size>-1?t.size%vn:0}}function bO(t){let e="";for(let r of new Uint8Array(t))r<16&&(e+="0"),e+=r.toString(16);return e}var Sg=null;async function bn(t){return Sg===null&&(Sg=await yO()),Sg?WE(t):_O(t)}function _O(t){return new Yg.default().update(t).digest("hex")}async function WE(t){let e=await crypto.subtle.digest("SHA-1",t);return bO(e)}async function yO(){try{return await WE(new Uint8Array([]))==="da39a3ee5e6b4b0d3255bfef95601890afd80709"}catch(t){}return!1}function xO(t){return{assumeValid:!!(t&32768),extended:!!(t&16384),stage:(t&12288)>>12,nameLength:t&4095}}function EO(t){let e=t.flags;return e.extended=!1,e.nameLength=Math.min(k.from(t.path).length,4095),(e.assumeValid?32768:0)+(e.extended?16384:0)+((e.stage&3)<<12)+(e.nameLength&4095)}var Og=class t{constructor(e,r){this._dirty=!1,this._unmergedPaths=r||new Set,this._entries=e||new Map}_addEntry(e){if(e.flags.stage===0)e.stages=[e],this._entries.set(e.path,e),this._unmergedPaths.delete(e.path);else{let r=this._entries.get(e.path);r||(this._entries.set(e.path,e),r=e),r.stages[e.flags.stage]=e,this._unmergedPaths.add(e.path)}}static async from(e){if(k.isBuffer(e))return t.fromBuffer(e);if(e===null)return new t(null);throw new he("invalid type passed to GitIndex.from")}static async fromBuffer(e){if(e.length===0)throw new he("Index file is empty (.git/index)");let r=new t,i=new Ui(e),n=i.toString("utf8",4);if(n!=="DIRC")throw new he(`Invalid dircache magic file number: ${n}`);let s=await bn(e.slice(0,-20)),a=e.slice(-20).toString("hex");if(a!==s)throw new he(`Invalid checksum in GitIndex buffer: expected ${a} but saw ${s}`);let o=i.readUInt32BE();if(o!==2)throw new he(`Unsupported dircache version: ${o}`);let l=i.readUInt32BE(),c=0;for(;!i.eof()&&ce.stages.length>1?e.stages.filter(r=>r):e)}*[Symbol.iterator](){for(let e of this.entries)yield e}insert({filepath:e,stats:r,oid:i,stage:n=0}){r||(r={ctimeSeconds:0,ctimeNanoseconds:0,mtimeSeconds:0,mtimeNanoseconds:0,dev:0,ino:0,mode:0,uid:0,gid:0,size:0}),r=Wo(r);let s=k.from(e),a={ctimeSeconds:r.ctimeSeconds,ctimeNanoseconds:r.ctimeNanoseconds,mtimeSeconds:r.mtimeSeconds,mtimeNanoseconds:r.mtimeNanoseconds,dev:r.dev,ino:r.ino,mode:r.mode||33188,uid:r.uid,gid:r.gid,size:r.size,path:e,oid:i,flags:{assumeValid:!1,extended:!1,stage:n,nameLength:s.length<4095?s.length:4095},stages:[]};this._addEntry(a),this._dirty=!0}delete({filepath:e}){if(this._entries.has(e))this._entries.delete(e);else for(let r of this._entries.keys())r.startsWith(e+"/")&&this._entries.delete(r);this._unmergedPaths.has(e)&&this._unmergedPaths.delete(e),this._dirty=!0}clear(){this._entries.clear(),this._dirty=!0}has({filepath:e}){return this._entries.has(e)}render(){return this.entries.map(e=>`${e.mode.toString(8)} ${e.oid} ${e.path}`).join(` `)}static async _entryToBuffer(e){let r=k.from(e.path),i=Math.ceil((62+r.length+1)/8)*8,n=k.alloc(i),s=new Ui(n),a=Wo(e);return s.writeUInt32BE(a.ctimeSeconds),s.writeUInt32BE(a.ctimeNanoseconds),s.writeUInt32BE(a.mtimeSeconds),s.writeUInt32BE(a.mtimeNanoseconds),s.writeUInt32BE(a.dev),s.writeUInt32BE(a.ino),s.writeUInt32BE(a.mode),s.writeUInt32BE(a.uid),s.writeUInt32BE(a.gid),s.writeUInt32BE(a.size),s.write(e.oid,20,"hex"),s.writeUInt16BE(EO(e)),s.write(e.path,r.length,"utf8"),n}async toObject(){let e=k.alloc(12),r=new Ui(e);r.write("DIRC",4,"utf8"),r.writeUInt32BE(2),r.writeUInt32BE(this.entriesFlat.length);let i=[];for(let o of this.entries)if(i.push(t._entryToBuffer(o)),o.stages.length>1)for(let l of o.stages)l&&l!==o&&i.push(t._entryToBuffer(l));i=await Promise.all(i);let n=k.concat(i),s=k.concat([e,n]),a=await bn(s);return k.concat([s,k.from(a,"hex")])}};function gd(t,e,r=!0,i=!0){let n=Wo(t),s=Wo(e);return r&&n.mode!==s.mode||n.mtimeSeconds!==s.mtimeSeconds||n.ctimeSeconds!==s.ctimeSeconds||n.uid!==s.uid||n.gid!==s.gid||i&&n.ino!==s.ino||n.size!==s.size}var kg=null,Cg=Symbol("IndexCache");function SO(){return{map:new Map,stats:new Map}}async function kO(t,e,r){let[i,n]=await Promise.all([t.lstat(e),t.read(e)]),s=await Og.from(n);r.map.set(e,s),r.stats.set(e,i)}async function CO(t,e,r){let i=r.stats.get(e);if(i===void 0)return!0;if(i===null)return!1;let n=await t.lstat(e);return n===null?!1:gd(i,n)}var dt=class{static async acquire({fs:e,gitdir:r,cache:i,allowUnmerged:n=!0},s){i[Cg]||(i[Cg]=SO());let a=`${r}/index`;kg===null&&(kg=new Vo.default({maxPending:1/0}));let o,l=[];return await kg.acquire(a,async()=>{let c=i[Cg];await CO(e,a,c)&&await kO(e,a,c);let u=c.map.get(a);if(l=u.unmergedPaths,l.length&&!n)throw new Uc(l);if(o=await s(u),u._dirty){let f=await u.toObject();await e.write(a,f),c.stats.set(a,await e.lstat(a)),u._dirty=!1}}),o}};function vd(t){let e=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return e>-1&&(t=t.slice(e+1)),t}function wa(t){let e=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return e===-1?".":e===0?"/":t.slice(0,e)}function qE(t){let e=new Map,r=function(n){if(!e.has(n)){let s={type:"tree",fullpath:n,basename:vd(n),metadata:{},children:[]};e.set(n,s),s.parent=r(wa(n)),s.parent&&s.parent!==s&&s.parent.children.push(s)}return e.get(n)},i=function(n,s){if(!e.has(n)){let a={type:"blob",fullpath:n,basename:vd(n),metadata:s,parent:r(wa(n)),children:[]};a.parent&&a.parent.children.push(a),e.set(n,a)}return e.get(n)};r(".");for(let n of t)i(n.path,n);return e}function AO(t){switch(t){case 16384:return"tree";case 33188:return"blob";case 33261:return"blob";case 40960:return"blob";case 57344:return"commit"}throw new he(`Unexpected GitTree entry mode: ${t.toString(8)}`)}var Lg=class{constructor({fs:e,gitdir:r,cache:i}){this.treePromise=dt.acquire({fs:e,gitdir:r,cache:i},async function(s){return qE(s.entries)});let n=this;this.ConstructEntry=class{constructor(a){this._fullpath=a,this._type=!1,this._mode=!1,this._stat=!1,this._oid=!1}async type(){return n.type(this)}async mode(){return n.mode(this)}async stat(){return n.stat(this)}async content(){return n.content(this)}async oid(){return n.oid(this)}}}async readdir(e){let r=e._fullpath,n=(await this.treePromise).get(r);if(!n||n.type==="blob")return null;if(n.type!=="tree")throw new Error(`ENOTDIR: not a directory, scandir '${r}'`);let s=n.children.map(a=>a.fullpath);return s.sort(Td),s}async type(e){return e._type===!1&&await e.stat(),e._type}async mode(e){return e._mode===!1&&await e.stat(),e._mode}async stat(e){if(e._stat===!1){let i=(await this.treePromise).get(e._fullpath);if(!i)throw new Error(`ENOENT: no such file or directory, lstat '${e._fullpath}'`);let n=i.type==="tree"?{}:Wo(i.metadata);e._type=i.type==="tree"?"tree":AO(n.mode),e._mode=n.mode,i.type==="tree"?e._stat=void 0:e._stat=n}return e._stat}async content(e){}async oid(e){if(e._oid===!1){let i=(await this.treePromise).get(e._fullpath);e._oid=i.metadata.oid}return e._oid}},Pd=Symbol("GitWalkSymbol");function tl(){let t=Object.create(null);return Object.defineProperty(t,Pd,{value:function({fs:e,gitdir:r,cache:i}){return new Lg({fs:e,gitdir:r,cache:i})}}),Object.freeze(t),t}var Ve=class t extends Te{constructor(e){super(`Could not find ${e}.`),this.code=this.name=t.code,this.data={what:e}}};Ve.code="NotFoundError";var br=class t extends Te{constructor(e,r,i,n){super(`Object ${e} ${n?`at ${n}`:""}was anticipated to be a ${i} but it is a ${r}.`),this.code=this.name=t.code,this.data={oid:e,actual:r,expected:i,filepath:n}}};br.code="ObjectTypeError";var Rs=class t extends Te{constructor(e){super(`Expected a 40-char hex object id but saw "${e}".`),this.code=this.name=t.code,this.data={value:e}}};Rs.code="InvalidOidError";var Gc=class t extends Te{constructor(e){super(`Could not find a fetch refspec for remote "${e}". Make sure the config file has an entry like the following: [remote "${e}"] fetch = +refs/heads/*:refs/remotes/origin/* `),this.code=this.name=t.code,this.data={remote:e}}};Gc.code="NoRefspecError";var wd=class t{constructor(e){if(this.refs=new Map,this.parsedConfig=[],e){let r=null;this.parsedConfig=e.trim().split(` `).map(i=>{if(/^\s*#/.test(i))return{line:i,comment:!0};let n=i.indexOf(" ");if(i.startsWith("^")){let s=i.slice(1);return this.refs.set(r+"^{}",s),{line:i,ref:r,peeled:s}}else{let s=i.slice(0,n);return r=i.slice(n+1),this.refs.set(r,s),{line:i,ref:r,oid:s}}})}return this}static from(e){return new t(e)}delete(e){this.parsedConfig=this.parsedConfig.filter(r=>r.ref!==e),this.refs.delete(e)}toString(){return this.parsedConfig.map(({line:e})=>e).join(` `)+` `}},bd=class t{constructor({remotePath:e,localPath:r,force:i,matchPrefix:n}){Object.assign(this,{remotePath:e,localPath:r,force:i,matchPrefix:n})}static from(e){let[r,i,n,s,a]=e.match(/^(\+?)(.*?)(\*?):(.*?)(\*?)$/).slice(1),o=r==="+",l=n==="*";if(l!==(a==="*"))throw new he("Invalid refspec");return new t({remotePath:i,localPath:s,force:o,matchPrefix:l})}translate(e){if(this.matchPrefix){if(e.startsWith(this.remotePath))return this.localPath+e.replace(this.remotePath,"")}else if(e===this.remotePath)return this.localPath;return null}reverseTranslate(e){if(this.matchPrefix){if(e.startsWith(this.localPath))return this.remotePath+e.replace(this.localPath,"")}else if(e===this.localPath)return this.remotePath;return null}},Ng=class t{constructor(e=[]){this.rules=e}static from(e){let r=[];for(let i of e)r.push(bd.from(i));return new t(r)}add(e){let r=bd.from(e);this.rules.push(r)}translate(e){let r=[];for(let i of this.rules)for(let n of e){let s=i.translate(n);s&&r.push([n,s])}return r}translateOne(e){let r=null;for(let i of this.rules){let n=i.translate(e);n&&(r=n)}return r}localNamespaces(){return this.rules.filter(e=>e.matchPrefix).map(e=>e.localPath.replace(/\/$/,""))}};function TO(t,e){let r=t.replace(/\^\{\}$/,""),i=e.replace(/\^\{\}$/,""),n=-(ri);return n===0?t.endsWith("^{}")?1:-1:n}function PO(t,e){let r="",i=0,n=-1,s=0,a="\0";for(let o=0;o<=t.length;++o){if(o2){let l=r.lastIndexOf("/");l===-1?(r="",i=0):(r=r.slice(0,l),i=r.length-1-r.lastIndexOf("/")),n=o,s=0;continue}else if(r.length!==0){r="",i=0,n=o,s=0;continue}}e&&(r+=r.length>0?"/..":"..",i=2)}else r.length>0?r+="/"+t.slice(n+1,o):r=t.slice(n+1,o),i=o-n-1;n=o,s=0}else a==="."&&s!==-1?++s:s=-1}return r}function RO(t){return t.length>=2&&/^[a-zA-Z]:/.test(t)?t.slice(0,2):null}function $O(t){if(!t.length)return".";t=t.replace(/\\/g,"/");let e=RO(t),r=t[0]==="/"||e!==null&&t[2]==="/",i=t.at(-1)==="/",n=e?t.slice(2):t,s=PO(n,!r);if(!s.length){let a=e?r?e+"/":e:r?"/":".";return i&&!r?a+"/":a}return i&&(s+="/"),e?r?`${e}/${s}`:`${e}${s}`:r?`/${s}`:s}function B(...t){if(t.length===0)return".";let e;for(let r=0;r{if(typeof t=="number")return t;t=t.toLowerCase();let e=parseInt(t);return t.endsWith("k")&&(e*=1024),t.endsWith("m")&&(e*=1024*1024),t.endsWith("g")&&(e*=1024*1024*1024),e},Bc=t=>{if(typeof t=="boolean")return t;if(t=t.trim().toLowerCase(),t==="true"||t==="yes"||t==="on")return!0;if(t==="false"||t==="no"||t==="off")return!1;throw Error(`Expected 'true', 'false', 'yes', 'no', 'on', or 'off', but got ${t}`)},bE={core:{filemode:Bc,bare:Bc,logallrefupdates:Bc,symlinks:Bc,ignorecase:Bc,bigFileThreshold:FO}},IO=/^\[([A-Za-z0-9-.]+)(?: "(.*)")?\]$/,MO=/^[A-Za-z0-9-.]+$/,DO=/^([A-Za-z][A-Za-z-]*)(?: *= *(.*))?$/,OO=/^[A-Za-z][A-Za-z-]*$/,LO=/^(.*?)( *[#;].*)$/,NO=t=>{let e=IO.exec(t);if(e!=null){let[r,i]=e.slice(1);return[r,i]}return null},BO=t=>{let e=DO.exec(t);if(e!=null){let[r,i="true"]=e.slice(1),n=HO(i),s=UO(n);return[r,s]}return null},HO=t=>{let e=LO.exec(t);if(e==null)return t;let[r,i]=e.slice(1);return _E(r)&&_E(i)?`${r}${i}`:r},_E=t=>(t.match(/(?:^|[^\\])"/g)||[]).length%2!==0,UO=t=>t.split("").reduce((e,r,i,n)=>{let s=r==='"'&&n[i-1]!=="\\",a=r==="\\"&&n[i+1]==='"';return s||a?e:e+r},""),yE=t=>t!=null?t.toLowerCase():null,Bg=(t,e,r)=>[yE(t),e,yE(r)].filter(i=>i!=null).join("."),xE=t=>{let e=t.split("."),r=e.shift(),i=e.pop(),n=e.length?e.join("."):void 0;return{section:r,subsection:n,name:i,path:Bg(r,n,i),sectionPath:Bg(r,n,null),isSection:!!r}},GO=(t,e)=>t.reduce((r,i,n)=>e(i)?n:r,-1),Hg=class t{constructor(e){let r=null,i=null;this.parsedConfig=e?e.split(` `).map(n=>{let s=null,a=null,o=n.trim(),l=NO(o),c=l!=null;if(c)[r,i]=l;else{let f=BO(o);f!=null&&([s,a]=f)}let u=Bg(r,i,s);return{line:n,isSection:c,section:r,subsection:i,name:s,value:a,path:u}}):[]}static from(e){return new t(e)}async get(e,r=!1){let i=xE(e).path,n=this.parsedConfig.filter(s=>s.path===i).map(({section:s,name:a,value:o})=>{let l=bE[s]&&bE[s][a];return l?l(o):o});return r?n:n.pop()}async getall(e){return this.get(e,!0)}async getSubsections(e){return this.parsedConfig.filter(r=>r.isSection&&r.section===e).map(r=>r.subsection)}async deleteSection(e,r){this.parsedConfig=this.parsedConfig.filter(i=>!(i.section===e&&i.subsection===r))}async append(e,r){return this.set(e,r,!0)}async set(e,r,i=!1){let{section:n,subsection:s,name:a,path:o,sectionPath:l,isSection:c}=xE(e),u=GO(this.parsedConfig,f=>f.path===o);if(r==null)u!==-1&&this.parsedConfig.splice(u,1);else if(u!==-1){let f=this.parsedConfig[u],d=Object.assign({},f,{name:a,value:r,modified:!0});i?this.parsedConfig.splice(u+1,0,d):this.parsedConfig[u]=d}else{let f=this.parsedConfig.findIndex(h=>h.path===l),d={section:n,subsection:s,name:a,value:r,modified:!0,path:o};if(MO.test(n)&&OO.test(a))if(f>=0)this.parsedConfig.splice(f+1,0,d);else{let h={isSection:c,section:n,subsection:s,modified:!0,path:l};this.parsedConfig.push(h,d)}}}toString(){return this.parsedConfig.map(({line:e,section:r,subsection:i,name:n,value:s,modified:a=!1})=>a?n!=null&&s!=null?typeof s=="string"&&/[#;]/.test(s)?` ${n} = "${s}"`:` ${n} = ${s}`:i!=null?`[${r} "${i}"]`:`[${r}]`:e).join(` `)}},ht=class{static async get({fs:e,gitdir:r}){let i=await e.read(`${r}/config`,{encoding:"utf8"});return Hg.from(i)}static async save({fs:e,gitdir:r,config:i}){await e.write(`${r}/config`,i.toString(),{encoding:"utf8"})}},pd=t=>[`${t}`,`refs/${t}`,`refs/tags/${t}`,`refs/heads/${t}`,`refs/remotes/${t}`,`refs/remotes/${t}/HEAD`],jO=["config","description","index","shallow","commondir"],Ag;async function Ts(t,e){return Ag===void 0&&(Ag=new Vo.default),Ag.acquire(t,e)}var q=class t{static async updateRemoteRefs({fs:e,gitdir:r,remote:i,refs:n,symrefs:s,tags:a,refspecs:o=void 0,prune:l=!1,pruneTags:c=!1}){for(let v of n.values())if(!v.match(/[0-9a-f]{40}/))throw new Rs(v);let u=await ht.get({fs:e,gitdir:r});if(!o){if(o=await u.getall(`remote.${i}.fetch`),o.length===0)throw new Gc(i);o.unshift(`+HEAD:refs/remotes/${i}/HEAD`)}let f=Ng.from(o),d=new Map;if(c){let v=await t.listRefs({fs:e,gitdir:r,filepath:"refs/tags"});await t.deleteRefs({fs:e,gitdir:r,refs:v.map(b=>`refs/tags/${b}`)})}if(a){for(let v of n.keys())if(v.startsWith("refs/tags")&&!v.endsWith("^{}")&&!await t.exists({fs:e,gitdir:r,ref:v})){let b=n.get(v);d.set(v,b)}}let h=f.translate([...n.keys()]);for(let[v,b]of h){let _=n.get(v);d.set(b,_)}let p=f.translate([...s.keys()]);for(let[v,b]of p){let _=s.get(v),C=f.translateOne(_);C&&d.set(b,`ref: ${C}`)}let g=[];if(l){for(let v of f.localNamespaces()){let b=(await t.listRefs({fs:e,gitdir:r,filepath:v})).map(_=>`${v}/${_}`);for(let _ of b)d.has(_)||g.push(_)}g.length>0&&await t.deleteRefs({fs:e,gitdir:r,refs:g})}for(let[v,b]of d)await Ts(v,async()=>e.write(B(r,v),`${b.trim()} `,"utf8"));return{pruned:g}}static async writeRef({fs:e,gitdir:r,ref:i,value:n}){if(!n.match(/[0-9a-f]{40}/))throw new Rs(n);await Ts(i,async()=>e.write(B(r,i),`${n.trim()} `,"utf8"))}static async writeSymbolicRef({fs:e,gitdir:r,ref:i,value:n}){await Ts(i,async()=>e.write(B(r,i),`ref: ${n.trim()} `,"utf8"))}static async deleteRef({fs:e,gitdir:r,ref:i}){return t.deleteRefs({fs:e,gitdir:r,refs:[i]})}static async deleteRefs({fs:e,gitdir:r,refs:i}){await Promise.all(i.map(o=>e.rm(B(r,o))));let n=await Ts("packed-refs",async()=>e.read(`${r}/packed-refs`,{encoding:"utf8"})),s=wd.from(n),a=s.refs.size;for(let o of i)s.refs.has(o)&&s.delete(o);s.refs.sizee.write(`${r}/packed-refs`,n,{encoding:"utf8"})))}static async resolve({fs:e,gitdir:r,ref:i,depth:n=void 0,visited:s=new Set}){if(n!==void 0&&(n--,n===-1))return i;if(i.startsWith("ref: "))return i=i.slice(5),t.resolve({fs:e,gitdir:r,ref:i,depth:n,visited:s});if(i.length===40&&/[0-9a-f]{40}/.test(i))return i;let a=await t.packedRefs({fs:e,gitdir:r}),o=pd(i).filter(l=>!jO.includes(l));for(let l of o){let c=await Ts(l,async()=>await e.read(`${r}/${l}`,{encoding:"utf8"})||a.get(l));if(c){if(s.has(l))throw new he(`Circular reference detected while resolving ref "${l}"`);return s.add(l),t.resolve({fs:e,gitdir:r,ref:c.trim(),depth:n,visited:s})}}throw new Ve(i)}static async exists({fs:e,gitdir:r,ref:i}){try{return await t.expand({fs:e,gitdir:r,ref:i}),!0}catch(n){return!1}}static async expand({fs:e,gitdir:r,ref:i}){if(i.length===40&&/[0-9a-f]{40}/.test(i))return i;let n=await t.packedRefs({fs:e,gitdir:r}),s=pd(i);for(let a of s)if(await Ts(a,async()=>e.exists(`${r}/${a}`))||n.has(a))return a;throw new Ve(i)}static async expandAgainstMap({ref:e,map:r}){let i=pd(e);for(let n of i)if(await r.has(n))return n;throw new Ve(e)}static resolveAgainstMap({ref:e,fullref:r=e,depth:i=void 0,map:n}){if(i!==void 0&&(i--,i===-1))return{fullref:r,oid:e};if(e.startsWith("ref: "))return e=e.slice(5),t.resolveAgainstMap({ref:e,fullref:r,depth:i,map:n});if(e.length===40&&/[0-9a-f]{40}/.test(e))return{fullref:r,oid:e};let s=pd(e);for(let a of s){let o=n.get(a);if(o)return t.resolveAgainstMap({ref:o.trim(),fullref:a,depth:i,map:n})}throw new Ve(e)}static async packedRefs({fs:e,gitdir:r}){let i=await Ts("packed-refs",async()=>e.read(`${r}/packed-refs`,{encoding:"utf8"}));return wd.from(i).refs}static async listRefs({fs:e,gitdir:r,filepath:i}){let n=t.packedRefs({fs:e,gitdir:r}),s=null;try{s=await e.readdirDeep(`${r}/${i}`),s=s.map(a=>a.replace(`${r}/${i}/`,""))}catch(a){s=[]}for(let a of(await n).keys())a.startsWith(i)&&(a=a.replace(i+"/",""),s.includes(a)||s.push(a));return s.sort(TO),s}static async listBranches({fs:e,gitdir:r,remote:i}){return i?t.listRefs({fs:e,gitdir:r,filepath:`refs/remotes/${i}`}):t.listRefs({fs:e,gitdir:r,filepath:"refs/heads"})}static async listTags({fs:e,gitdir:r}){return(await t.listRefs({fs:e,gitdir:r,filepath:"refs/tags"})).filter(n=>!n.endsWith("^{}"))}};function VO(t,e){return Td(EE(t),EE(e))}function EE(t){return t.mode==="040000"?t.path+"/":t.path}function YE(t){switch(t){case"040000":return"tree";case"100644":return"blob";case"100755":return"blob";case"120000":return"blob";case"160000":return"commit"}throw new he(`Unexpected GitTree entry mode: ${t}`)}function zO(t){let e=[],r=0;for(;r`${e.mode} ${e.type} ${e.oid} ${e.path}`).join(` `)}toObject(){let e=[...this._entries];return e.sort(VO),k.concat(e.map(r=>{let i=k.from(r.mode.replace(/^0/,"")),n=k.from(" "),s=k.from(r.path,"utf8"),a=k.from([0]),o=k.from(r.oid,"hex");return k.concat([i,n,s,a,o])}))}entries(){return this._entries}*[Symbol.iterator](){for(let e of this._entries)yield e}},$s=class{static wrap({type:e,object:r}){let i=`${e} ${r.length}\0`,n=i.length,s=n+r.length,a=new Uint8Array(s);for(let o=0;o>=1,n+=8;return i}function CE(t,e){let r=t.readUInt8(),i=128,n=15,s=112;if(r&i){let a=kE(t,r&n,4),o=kE(t,(r&s)>>4,3);return o===0&&(o=65536),e.slice(a,a+o)}else return t.slice(r)}function ZO(t){let e=[t];return{next(){return Promise.resolve({done:e.length===0,value:e.pop()})},return(){return e=[],{}},[Symbol.asyncIterator](){return this}}}function KE(t){return t[Symbol.asyncIterator]?t[Symbol.asyncIterator]():t[Symbol.iterator]?t[Symbol.iterator]():t.next?t:ZO(t)}var _d=class{constructor(e){if(typeof k=="undefined")throw new Error("Missing Buffer dependency");this.stream=KE(e),this.buffer=null,this.cursor=0,this.undoCursor=0,this.started=!1,this._ended=!1,this._discardedBytes=0}eof(){return this._ended&&this.cursor===this.buffer.length}tell(){return this._discardedBytes+this.cursor}async byte(){if(!this.eof()&&(this.started||await this._init(),!(this.cursor===this.buffer.length&&(await this._loadnext(),this._ended))))return this._moveCursor(1),this.buffer[this.undoCursor]}async chunk(){if(!this.eof()&&(this.started||await this._init(),!(this.cursor===this.buffer.length&&(await this._loadnext(),this._ended))))return this._moveCursor(this.buffer.length),this.buffer.slice(this.undoCursor,this.cursor)}async read(e){if(!this.eof())return this.started||await this._init(),this.cursor+e>this.buffer.length&&(this._trim(),await this._accumulate(e)),this._moveCursor(e),this.buffer.slice(this.undoCursor,this.cursor)}async skip(e){this.eof()||(this.started||await this._init(),this.cursor+e>this.buffer.length&&(this._trim(),await this._accumulate(e)),this._moveCursor(e))}async undo(){this.cursor=this.undoCursor}async _next(){this.started=!0;let{done:e,value:r}=await this.stream.next();return e&&(this._ended=!0,!r)?k.alloc(0):(r&&(r=k.from(r)),r)}_trim(){this.buffer=this.buffer.slice(this.undoCursor),this.cursor-=this.undoCursor,this._discardedBytes+=this.undoCursor,this.undoCursor=0}_moveCursor(e){this.undoCursor=this.cursor,this.cursor+=e,this.cursor>this.buffer.length&&(this.cursor=this.buffer.length)}async _accumulate(e){if(this._ended)return;let r=[this.buffer];for(;this.cursor+e>KO(r);){let i=await this._next();if(this._ended)break;r.push(i)}this.buffer=k.concat(r)}async _loadnext(){this._discardedBytes+=this.buffer.length,this.undoCursor=0,this.cursor=0,this.buffer=await this._next()}async _init(){this.buffer=await this._next()}};function KO(t){return t.reduce((e,r)=>e+r.length,0)}async function XO(t,e){let r=new _d(t),i=await r.read(4);if(i=i.toString("utf8"),i!=="PACK")throw new he(`Invalid PACK header '${i}'`);let n=await r.read(4);if(n=n.readUInt32BE(0),n!==2)throw new he(`Invalid packfile version: ${n}`);let s=await r.read(4);if(s=s.readUInt32BE(0),!(s<1))for(;!r.eof()&&s--;){let a=r.tell(),{type:o,length:l,ofs:c,reference:u}=await QO(r),f=new Ad.default.Inflate;for(;!f.result;){let d=await r.chunk();if(!d)break;if(f.push(d,!1),f.err)throw new he(`Pako error: ${f.msg}`);if(f.result){if(f.result.length!==l)throw new he("Inflated object size is different from that stated in packfile.");await r.undo(),await r.read(d.length-f.strm.avail_in);let h=r.tell();await e({data:f.result,type:o,num:s,offset:a,end:h,reference:u,ofs:c})}}}}async function QO(t){let e=await t.byte(),r=e>>4&7,i=e&15;if(e&128){let a=4;do e=await t.byte(),i|=(e&127)<n+1<<7|s,-1)}function rL(t,e){let r=e,i=4,n=null;do n=t.readUInt8(),r|=(n&127)<2048*1024*1024)throw new he("To keep implementation simple, I haven't implemented the layer 5 feature needed to support packfiles > 2GB in size.");i.seek(i.tell()+1020);let a=i.readUInt32BE(),o=[];for(let u=0;u{u===null&&(u=x);let S=Math.floor((u-x)*100/u);S!==f&&i&&await i({phase:"Receiving objects",loaded:u-x,total:u}),f=S,b=n[b],["commit","tree","blob","tag"].includes(b)?s[C]={type:b,offset:C}:b==="ofs-delta"?s[C]={type:b,offset:C}:b==="ref-delta"&&(s[C]={type:b,offset:C})});let d=Object.keys(s).map(Number);for(let[v,b]of d.entries()){let _=v+1===d.length?e.byteLength-20:d[v+1],C=s[b],x=UE.default.buf(e.slice(b,_))>>>0;C.end=_,C.crc=x}let h=new t({pack:Promise.resolve(e),packfileSha:a,crcs:l,hashes:o,offsets:c,getExternalRefDelta:r});f=null;let p=0,g=[0,0,0,0,0,0,0,0,0,0,0,0];for(let v in s){v=Number(v);let b=Math.floor(p*100/u);b!==f&&i&&await i({phase:"Resolving deltas",loaded:p,total:u}),p++,f=b;let _=s[v];if(!_.oid)try{h.readDepth=0,h.externalReadDepth=0;let{type:C,object:x}=await h.readSlice({start:v});g[h.readDepth]+=1;let S=await bn($s.wrap({type:C,object:x}));_.oid=S,o.push(S),c.set(S,v),l[S]=_.crc}catch(C){continue}}return o.sort(),h}async toBuffer(){let e=[],r=(c,u)=>{e.push(k.from(c,u))};r("ff744f63","hex"),r("00000002","hex");let i=new Ui(k.alloc(256*4));for(let c=0;c<256;c++){let u=0;for(let f of this.hashes)parseInt(f.slice(0,2),16)<=c&&u++;i.writeUInt32BE(u)}e.push(i.buffer);for(let c of this.hashes)r(c,"hex");let n=new Ui(k.alloc(this.hashes.length*4));for(let c of this.hashes)n.writeUInt32BE(this.crcs[c]);e.push(n.buffer);let s=new Ui(k.alloc(this.hashes.length*4));for(let c of this.hashes)s.writeUInt32BE(this.offsets.get(c));e.push(s.buffer),r(this.packfileSha,"hex");let a=k.concat(e),o=await bn(a),l=k.alloc(20);return l.write(o,"hex"),k.concat([a,l])}async load({pack:e}){this.pack=e}async unload(){this.pack=null}async read({oid:e}){if(!this.offsets.get(e)){if(this.getExternalRefDelta)return this.externalReadDepth++,this.getExternalRefDelta(e);throw new he(`Could not read object ${e} from packfile`)}let r=this.offsets.get(e);return this.readSlice({start:r})}async readSlice({start:e}){if(this.offsetCache[e])return Object.assign({},this.offsetCache[e]);this.readDepth++;let r={16:"commit",32:"tree",48:"blob",64:"tag",96:"ofs_delta",112:"ref_delta"},i=await this.pack;if(!i)throw new he("Could not read packfile data. The packfile may be missing, corrupted, or too large to read into memory.");let n=i.slice(e),s=new Ui(n),a=s.readUInt8(),o=a&112,l=r[o];if(l===void 0)throw new he("Unrecognized type: 0b"+o.toString(2));let c=a&15,u=c;a&128&&(u=rL(s,c));let d=null,h=null;if(l==="ofs_delta"){let g=tL(s),v=e-g;({object:d,type:l}=await this.readSlice({start:v}))}if(l==="ref_delta"){let g=s.slice(20).toString("hex");({object:d,type:l}=await this.read({oid:g}))}let p=n.slice(s.tell());if(h=k.from(await XE(p)),h.byteLength!==u)throw new he(`Packfile told us object would have length ${u} but it had length ${h.byteLength}`);return d&&(h=k.from(YO(h,d))),this.readDepth>3&&(this.offsetCache[e]={type:l,object:h}),{type:l,format:"content",object:h}}},md=Symbol("PackfileCache");async function iL({fs:t,filename:e,getExternalRefDelta:r,emitter:i,emitterPrefix:n}){let s=await t.read(e);return jc.fromIdx({idx:s,getExternalRefDelta:r})}function Zg({fs:t,cache:e,filename:r,getExternalRefDelta:i,emitter:n,emitterPrefix:s}){e[md]||(e[md]=new Map);let a=e[md].get(r);return a||(a=iL({fs:t,filename:r,getExternalRefDelta:i,emitter:n,emitterPrefix:s}),e[md].set(r,a)),a}async function nL(t,{start:e=0,end:r=t.length}={}){return bn(t.subarray(e,r))}async function sL({fs:t,cache:e,gitdir:r,oid:i,format:n="content",getExternalRefDelta:s}){let a=await t.readdir(B(r,"objects/pack"));a=a.filter(o=>o.endsWith(".idx"));for(let o of a){let l=`${r}/objects/pack/${o}`,c=await Zg({fs:t,cache:e,filename:l,getExternalRefDelta:s});if(c.error)throw new he(c.error);if(c.offsets.has(i)){let u=l.replace(/idx$/,"pack");c.pack||(c.pack=t.read(u));let f=await c.pack;if(!f)throw c.pack=null,new he(`Could not read packfile at ${u}. The file may be missing, corrupted, or too large to read into memory.`);if(!c._checksumVerified){let h=c.packfileSha,p=f.subarray(-20),g=Array.from(p).map(b=>b.toString(16).padStart(2,"0")).join("");if(g!==h)throw new he(`Packfile trailer mismatch: expected ${h}, got ${g}. The packfile may be corrupted.`);let v=await nL(f,{start:0,end:f.length-20});if(v!==h)throw new he(`Packfile payload corrupted: calculated ${v} but expected ${h}. The packfile may have been tampered with.`);c._checksumVerified=!0}let d=await c.read({oid:i,getExternalRefDelta:s});return d.format="content",d.source=`objects/pack/${o.replace(/idx$/,"pack")}`,d}}return null}async function tt({fs:t,cache:e,gitdir:r,oid:i,format:n="content"}){let s=u=>tt({fs:t,cache:e,gitdir:r,oid:u}),a;if(i==="4b825dc642cb6eb9a060e54bf8d69288fbee4904"&&(a={format:"wrapped",object:k.from("tree 0\0")}),a||(a=await ZE({fs:t,gitdir:r,oid:i})),!a){if(a=await sL({fs:t,cache:e,gitdir:r,oid:i,getExternalRefDelta:s}),!a)throw new Ve(i);return a}if(n==="deflated"||(a.format==="deflated"&&(a.object=k.from(await XE(a.object)),a.format="wrapped"),n==="wrapped"))return a;let o=await bn(a.object);if(o!==i)throw new he(`SHA check failed! Expected ${i}, computed ${o}`);let{object:l,type:c}=$s.unwrap(a.object);if(a.type=c,a.object=l,a.format="content",n==="content")return a;throw new he(`invalid requested format "${n}"`)}var Gi=class t extends Te{constructor(e,r,i=!0){super(`Failed to create ${e} at ${r} because it already exists.${i?` (Hint: use 'force: true' parameter to overwrite existing ${e}.)`:""}`),this.code=this.name=t.code,this.data={noun:e,where:r,canForce:i}}};Gi.code="AlreadyExistsError";var Vc=class t extends Te{constructor(e,r,i){super(`Found multiple ${e} matching "${r}" (${i.join(", ")}). Use a longer abbreviation length to disambiguate them.`),this.code=this.name=t.code,this.data={nouns:e,short:r,matches:i}}};Vc.code="AmbiguousError";var zc=class t extends Te{constructor(e){super(`Your local changes to the following files would be overwritten by checkout: ${e.join(", ")}`),this.code=this.name=t.code,this.data={filepaths:e}}};zc.code="CheckoutConflictError";var Wc=class t extends Te{constructor(e,r){super(`Cannot cherry-pick merge commit ${e}. Merge commits have ${r} parents and require specifying which parent to use as the base.`),this.code=this.name=t.code,this.data={oid:e,parentCount:r}}};Wc.code="CherryPickMergeCommitError";var qc=class t extends Te{constructor(e){super(`Cannot cherry-pick root commit ${e}. Root commits have no parents.`),this.code=this.name=t.code,this.data={oid:e}}};qc.code="CherryPickRootCommitError";var Yc=class t extends Te{constructor(e,r){super(`Failed to checkout "${e}" because commit ${r} is not available locally. Do a git fetch to make the branch available locally.`),this.code=this.name=t.code,this.data={ref:e,oid:r}}};Yc.code="CommitNotFetchedError";var Zc=class t extends Te{constructor(){super("Cannot create an empty commit when disallowEmpty is true."),this.code=this.name=t.code,this.data={}}};Zc.code="EmptyCommitError";var Kc=class t extends Te{constructor(){super("Empty response from git server."),this.code=this.name=t.code,this.data={}}};Kc.code="EmptyServerResponseError";var Xc=class t extends Te{constructor(){super("A simple fast-forward merge was not possible."),this.code=this.name=t.code,this.data={}}};Xc.code="FastForwardError";var Qc=class t extends Te{constructor(e,r){super(`One or more branches were not updated: ${e}`),this.code=this.name=t.code,this.data={prettyDetails:e,result:r}}};Qc.code="GitPushError";var qo=class t extends Te{constructor(e,r,i){super(`HTTP Error: ${e} ${r}`),this.code=this.name=t.code,this.data={statusCode:e,statusMessage:r,response:i}}};qo.code="HttpError";var Fs=class t extends Te{constructor(e){let r="invalid filepath";e==="leading-slash"||e==="trailing-slash"?r='"filepath" parameter should not include leading or trailing directory separators because these can cause problems on some platforms.':e==="directory"&&(r='"filepath" should not be a directory.'),super(r),this.code=this.name=t.code,this.data={reason:e}}};Fs.code="InvalidFilepathError";var ji=class t extends Te{constructor(e,r){super(`"${e}" would be an invalid git reference. (Hint: a valid alternative would be "${r}".)`),this.code=this.name=t.code,this.data={ref:e,suggestion:r}}};ji.code="InvalidRefNameError";var Jc=class t extends Te{constructor(e){super(`Maximum search depth of ${e} exceeded.`),this.code=this.name=t.code,this.data={depth:e}}};Jc.code="MaxDepthError";var Yo=class t extends Te{constructor(){super("Merges with conflicts are not supported yet."),this.code=this.name=t.code,this.data={}}};Yo.code="MergeNotSupportedError";var ba=class t extends Te{constructor(e,r,i,n){super(`Automatic merge failed with one or more merge conflicts in the following files: ${e.toString()}. Fix conflicts then commit the result.`),this.code=this.name=t.code,this.data={filepaths:e,bothModified:r,deleteByUs:i,deleteByTheirs:n}}};ba.code="MergeConflictError";var Kt=class t extends Te{constructor(e){super(`No name was provided for ${e} in the argument or in the .git/config file.`),this.code=this.name=t.code,this.data={role:e}}};Kt.code="MissingNameError";var Ir=class t extends Te{constructor(e){super(`The function requires a "${e}" parameter but none was provided.`),this.code=this.name=t.code,this.data={parameter:e}}};Ir.code="MissingParameterError";var _a=class t extends Te{constructor(e){super('There are multiple errors that were thrown by the method. Please refer to the "errors" property to see more'),this.code=this.name=t.code,this.data={errors:e},this.errors=e}};_a.code="MultipleGitError";var ya=class t extends Te{constructor(e,r){super(`Expected "${e}" but received "${r}".`),this.code=this.name=t.code,this.data={expected:e,actual:r}}};ya.code="ParseError";var Zo=class t extends Te{constructor(e){let r="";e==="not-fast-forward"?r=" because it was not a simple fast-forward":e==="tag-exists"&&(r=" because tag already exists"),super(`Push rejected${r}. Use "force: true" to override.`),this.code=this.name=t.code,this.data={reason:e}}};Zo.code="PushRejectedError";var Ps=class t extends Te{constructor(e,r){super(`Remote does not support the "${e}" so the "${r}" parameter cannot be used.`),this.code=this.name=t.code,this.data={capability:e,parameter:r}}};Ps.code="RemoteCapabilityError";var eu=class t extends Te{constructor(e,r){super(`Remote did not reply using the "smart" HTTP protocol. Expected "001e# service=git-upload-pack" but received: ${e}`),this.code=this.name=t.code,this.data={preview:e,response:r}}};eu.code="SmartHttpError";var tu=class t extends Te{constructor(e,r,i){super(`Git remote "${e}" uses an unrecognized transport protocol: "${r}"`),this.code=this.name=t.code,this.data={url:e,transport:r,suggestion:i}}};tu.code="UnknownTransportError";var ru=class t extends Te{constructor(e){super(`Cannot parse remote URL: "${e}"`),this.code=this.name=t.code,this.data={url:e}}};ru.code="UrlParseError";var Ko=class t extends Te{constructor(){super("The operation was canceled."),this.code=this.name=t.code,this.data={}}};Ko.code="UserCanceledError";var iu=class t extends Te{constructor(e){super(`Could not merge index: Entry for '${e}' is not up to date. Either reset the index entry to HEAD, or stage your unstaged changes.`),this.code=this.name=t.code,this.data={filepath:e}}};iu.code="IndexResetError";var nu=class t extends Te{constructor(e){super(`"${e}" does not point to any commit. You're maybe working on a repository with no commits yet. `),this.code=this.name=t.code,this.data={ref:e}}};nu.code="NoCommitError";var lu=Object.freeze({__proto__:null,AlreadyExistsError:Gi,AmbiguousError:Vc,CheckoutConflictError:zc,CherryPickMergeCommitError:Wc,CherryPickRootCommitError:qc,CommitNotFetchedError:Yc,EmptyCommitError:Zc,EmptyServerResponseError:Kc,FastForwardError:Xc,GitPushError:Qc,HttpError:qo,InternalError:he,InvalidFilepathError:Fs,InvalidOidError:Rs,InvalidRefNameError:ji,MaxDepthError:Jc,MergeNotSupportedError:Yo,MergeConflictError:ba,MissingNameError:Kt,MissingParameterError:Ir,MultipleGitError:_a,NoRefspecError:Gc,NotFoundError:Ve,ObjectTypeError:br,ParseError:ya,PushRejectedError:Zo,RemoteCapabilityError:Ps,SmartHttpError:eu,UnknownTransportError:tu,UnsafeFilepathError:va,UrlParseError:ru,UserCanceledError:Ko,UnmergedPathsError:Uc,IndexResetError:iu,NoCommitError:nu});function Ug({name:t,email:e,timestamp:r,timezoneOffset:i}){return i=aL(i),`${t} <${e}> ${r} ${i}`}function aL(t){let e=oL(lL(t));t=Math.abs(t);let r=Math.floor(t/60);t-=r*60;let i=String(r),n=String(t);return i.length<2&&(i="0"+i),n.length<2&&(n="0"+n),(e===-1?"-":"+")+i+n}function oL(t){return Math.sign(t)||(Object.is(t,-0)?-1:1)}function lL(t){return t===0?t:-t}function Yn(t){return t=t.replace(/\r/g,""),t=t.replace(/^\n+/,""),t=t.replace(/\n+$/,"")+` `,t}function yd(t){let[,e,r,i,n]=t.match(/^(.*) <(.*)> (.*) (.*)$/);return{name:e,email:r,timestamp:Number(i),timezoneOffset:cL(n)}}function cL(t){let[,e,r,i]=t.match(/(\+|-)(\d\d)(\d\d)/);return i=(e==="+"?1:-1)*(Number(r)*60+Number(i)),uL(i)}function uL(t){return t===0?t:-t}var Jr=class t{constructor(e){if(typeof e=="string")this._tag=e;else if(k.isBuffer(e))this._tag=e.toString("utf8");else if(typeof e=="object")this._tag=t.render(e);else throw new he("invalid type passed to GitAnnotatedTag constructor")}static from(e){return new t(e)}static render(e){return`object ${e.object} type ${e.type} tag ${e.tag} tagger ${Ug(e.tagger)} ${e.message} ${e.gpgsig?e.gpgsig:""}`}justHeaders(){return this._tag.slice(0,this._tag.indexOf(` `))}message(){let e=this.withoutSignature();return e.slice(e.indexOf(` `)+2)}parse(){return Object.assign(this.headers(),{message:this.message(),gpgsig:this.gpgsig()})}render(){return this._tag}headers(){let e=this.justHeaders().split(` `),r=[];for(let n of e)n[0]===" "?r[r.length-1]+=` `+n.slice(1):r.push(n);let i={};for(let n of r){let s=n.slice(0,n.indexOf(" ")),a=n.slice(n.indexOf(" ")+1);Array.isArray(i[s])?i[s].push(a):i[s]=a}return i.tagger&&(i.tagger=yd(i.tagger)),i.committer&&(i.committer=yd(i.committer)),i}withoutSignature(){let e=Yn(this._tag);return e.indexOf(` -----BEGIN PGP SIGNATURE-----`)===-1?e:e.slice(0,e.lastIndexOf(` -----BEGIN PGP SIGNATURE-----`))}gpgsig(){if(this._tag.indexOf(` -----BEGIN PGP SIGNATURE-----`)===-1)return;let e=this._tag.slice(this._tag.indexOf("-----BEGIN PGP SIGNATURE-----"),this._tag.indexOf("-----END PGP SIGNATURE-----")+27);return Yn(e)}payload(){return this.withoutSignature()+` `}toObject(){return k.from(this._tag,"utf8")}static async sign(e,r,i){let n=e.payload(),{signature:s}=await r({payload:n,secretKey:i});s=Yn(s);let a=n+s;return t.from(a)}};function Pg(t){return t.trim().split(` `).map(e=>" "+e).join(` `)+` `}function fL(t){return t.split(` `).map(e=>e.replace(/^ /,"")).join(` `)}var Dr=class t{constructor(e){if(typeof e=="string")this._commit=e;else if(k.isBuffer(e))this._commit=e.toString("utf8");else if(typeof e=="object")this._commit=t.render(e);else throw new he("invalid type passed to GitCommit constructor")}static fromPayloadSignature({payload:e,signature:r}){let i=t.justHeaders(e),n=t.justMessage(e),s=Yn(i+` gpgsig`+Pg(r)+` `+n);return new t(s)}static from(e){return new t(e)}toObject(){return k.from(this._commit,"utf8")}headers(){return this.parseHeaders()}message(){return t.justMessage(this._commit)}parse(){return Object.assign({message:this.message()},this.headers())}static justMessage(e){return Yn(e.slice(e.indexOf(` `)+2))}static justHeaders(e){return e.slice(0,e.indexOf(` `))}parseHeaders(){let e=t.justHeaders(this._commit).split(` `),r=[];for(let n of e)n[0]===" "?r[r.length-1]+=` `+n.slice(1):r.push(n);let i={parent:[]};for(let n of r){let s=n.slice(0,n.indexOf(" ")),a=n.slice(n.indexOf(" ")+1);Array.isArray(i[s])?i[s].push(a):i[s]=a}return i.author&&(i.author=yd(i.author)),i.committer&&(i.committer=yd(i.committer)),i}static renderHeaders(e){let r="";if(e.tree?r+=`tree ${e.tree} `:r+=`tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904 `,e.parent){if(e.parent.length===void 0)throw new he("commit 'parent' property should be an array");for(let s of e.parent)r+=`parent ${s} `}let i=e.author;r+=`author ${Ug(i)} `;let n=e.committer||e.author;return r+=`committer ${Ug(n)} `,e.gpgsig&&(r+="gpgsig"+Pg(e.gpgsig)),r}static render(e){return t.renderHeaders(e)+` `+Yn(e.message)}render(){return this._commit}withoutSignature(){let e=Yn(this._commit);if(e.indexOf(` gpgsig`)===-1)return e;let r=e.slice(0,e.indexOf(` gpgsig`)),i=e.slice(e.indexOf(`-----END PGP SIGNATURE----- `)+28);return Yn(r+` `+i)}isolateSignature(){let e=this._commit.slice(this._commit.indexOf("-----BEGIN PGP SIGNATURE-----"),this._commit.indexOf("-----END PGP SIGNATURE-----")+27);return fL(e)}static async sign(e,r,i){let n=e.withoutSignature(),s=t.justMessage(e._commit),{signature:a}=await r({payload:n,secretKey:i});a=Yn(a);let l=t.justHeaders(e._commit)+` gpgsig`+Pg(a)+` `+s;return t.from(l)}};async function Xo({fs:t,cache:e,gitdir:r,oid:i}){if(i==="4b825dc642cb6eb9a060e54bf8d69288fbee4904")return{tree:Mr.from([]),oid:i};let{type:n,object:s}=await tt({fs:t,cache:e,gitdir:r,oid:i});if(n==="tag")return i=Jr.from(s).parse().object,Xo({fs:t,cache:e,gitdir:r,oid:i});if(n==="commit")return i=Dr.from(s).parse().tree,Xo({fs:t,cache:e,gitdir:r,oid:i});if(n!=="tree")throw new br(i,n,"tree");return{tree:Mr.from(s),oid:i}}var Gg=class{constructor({fs:e,gitdir:r,ref:i,cache:n}){this.fs=e,this.cache=n,this.gitdir=r,this.mapPromise=(async()=>{let a=new Map,o;try{o=await q.resolve({fs:e,gitdir:r,ref:i})}catch(c){c instanceof Ve&&(o="4b825dc642cb6eb9a060e54bf8d69288fbee4904")}let l=await Xo({fs:e,cache:this.cache,gitdir:r,oid:o});return l.type="tree",l.mode="40000",a.set(".",l),a})();let s=this;this.ConstructEntry=class{constructor(o){this._fullpath=o,this._type=!1,this._mode=!1,this._stat=!1,this._content=!1,this._oid=!1}async type(){return s.type(this)}async mode(){return s.mode(this)}async stat(){return s.stat(this)}async content(){return s.content(this)}async oid(){return s.oid(this)}}}async readdir(e){let r=e._fullpath,{fs:i,cache:n,gitdir:s}=this,a=await this.mapPromise,o=a.get(r);if(!o)throw new Error(`No obj for ${r}`);let l=o.oid;if(!l)throw new Error(`No oid for obj ${JSON.stringify(o)}`);if(o.type!=="tree")return null;let{type:c,object:u}=await tt({fs:i,cache:n,gitdir:s,oid:l});if(c!==o.type)throw new br(l,c,o.type);let f=Mr.from(u);for(let d of f)a.set(B(r,d.path),d);return f.entries().map(d=>B(r,d.path))}async type(e){if(e._type===!1){let r=await this.mapPromise,{type:i}=r.get(e._fullpath);e._type=i}return e._type}async mode(e){if(e._mode===!1){let r=await this.mapPromise,{mode:i}=r.get(e._fullpath);e._mode=zE(parseInt(i,8))}return e._mode}async stat(e){}async content(e){if(e._content===!1){let r=await this.mapPromise,{fs:i,cache:n,gitdir:s}=this,o=r.get(e._fullpath).oid,{type:l,object:c}=await tt({fs:i,cache:n,gitdir:s,oid:o});l!=="blob"?e._content=void 0:e._content=new Uint8Array(c)}return e._content}async oid(e){if(e._oid===!1){let i=(await this.mapPromise).get(e._fullpath);e._oid=i.oid}return e._oid}};function Fr({ref:t="HEAD"}={}){let e=Object.create(null);return Object.defineProperty(e,Pd,{value:function({fs:r,gitdir:i,cache:n}){return new Gg({fs:r,gitdir:i,ref:t,cache:n})}}),Object.freeze(e),e}var jg=class{constructor({fs:e,dir:r,gitdir:i,cache:n,refresh:s=!0}){this.fs=e,this.cache=n,this.dir=r,this.gitdir=i,this.refresh=s,this.config=null;let a=this;this.ConstructEntry=class{constructor(l){this._fullpath=l,this._type=!1,this._mode=!1,this._stat=!1,this._content=!1,this._oid=!1}async type(){return a.type(this)}async mode(){return a.mode(this)}async stat(){return a.stat(this)}async content(){return a.content(this)}async oid(){return a.oid(this)}}}async readdir(e){if(await e.type()!=="tree")return null;let r=e._fullpath,{fs:i,dir:n}=this,s=await i.readdir(B(n,r));return s===null?null:s.map(a=>B(r,a))}async type(e){return e._type===!1&&await e.stat(),e._type}async mode(e){return e._mode===!1&&await e.stat(),e._mode}async stat(e){if(e._stat===!1){let{fs:r,dir:i}=this,n=await r.lstat(`${i}/${e._fullpath}`);if(!n)throw new Error(`ENOENT: no such file or directory, lstat '${e._fullpath}'`);let s=n.isDirectory()?"tree":"blob";s==="blob"&&!n.isFile()&&!n.isSymbolicLink()&&(s="special"),e._type=s,n=Wo(n),e._mode=n.mode,n.size===-1&&e._actualSize&&(n.size=e._actualSize),e._stat=n}return e._stat}async content(e){if(e._content===!1){let{fs:r,dir:i,gitdir:n}=this;if(await e.type()==="tree")e._content=void 0;else{let s;if(await e.mode()>>12===10)s=await r.readlink(`${i}/${e._fullpath}`);else{let o=await(await this._getGitConfig(r,n)).get("core.autocrlf");s=await r.read(`${i}/${e._fullpath}`,{autocrlf:o})}e._actualSize=s.length,e._stat&&e._stat.size===-1&&(e._stat.size=e._actualSize),e._content=new Uint8Array(s)}}return e._content}async oid(e){if(e._oid===!1){let r=this,{fs:i,gitdir:n,cache:s}=this,a;await dt.acquire({fs:i,gitdir:n,cache:s},async function(o){let l=o.entriesMap.get(e._fullpath),c=await e.stat(),f=await(await r._getGitConfig(i,n)).get("core.filemode"),d=typeof process!="undefined"?process.platform!=="win32":!0;if(!l||gd(c,l,f,d)){let h=await e.content();h===void 0?a=void 0:(a=await bn($s.wrap({type:"blob",object:h})),r.refresh&&l&&a===l.oid&&(!f||c.mode===l.mode)&&gd(c,l,f,d)&&o.insert({filepath:e._fullpath,stats:c,oid:a}))}else a=l.oid}),e._oid=a}return e._oid}async _getGitConfig(e,r){return this.config?this.config:(this.config=await ht.get({fs:e,gitdir:r}),this.config)}};function cu({refresh:t=!0}={}){let e=Object.create(null);return Object.defineProperty(e,Pd,{value:function({fs:r,dir:i,gitdir:n,cache:s}){return new jg({fs:r,dir:i,gitdir:n,cache:s,refresh:t})}}),Object.freeze(e),e}function dL(t,e){let r=e-t;return Array.from({length:r},(i,n)=>t+n)}var QE=typeof Array.prototype.flat=="undefined"?t=>t.reduce((e,r)=>e.concat(r),[]):t=>t.flat(),Vg=class{constructor(){this.value=null}consider(e){e!=null&&(this.value===null?this.value=e:ec,reduce:a=async(l,c)=>{let u=QE(c);return l!==void 0&&u.unshift(l),u},iterate:o=(l,c)=>Promise.all([...c].map(l))}){let l=n.map(h=>h[Pd]({fs:t,dir:r,gitdir:i,cache:e})),c=new Array(l.length).fill("."),u=dL(0,l.length),f=async h=>{u.forEach(v=>{let b=h[v];h[v]=b&&new l[v].ConstructEntry(b)});let g=(await Promise.all(u.map(v=>{let b=h[v];return b?l[v].readdir(b):[]}))).map(v=>(v===null?[]:v)[Symbol.iterator]());return{entries:h,children:hL(g)}},d=async h=>{let{entries:p,children:g}=await f(h),v=p.find(_=>_&&_._fullpath)._fullpath,b=await s(v,p);if(b!==null){let _=await o(d,g);return _=_.filter(C=>C!==void 0),a(b,_)}};return d(c)}async function zg(t,e){let r=await t.readdir(e);r==null?await t.rm(e):r.length?await Promise.all(r.map(i=>{let n=B(e,i);return t.lstat(n).then(s=>{if(s)return s.isDirectory()?zg(t,n):t.rm(n)})})).then(()=>t.rmdir(e)):await t.rmdir(e)}function pL(t){return mL(t)&&AE(t.then)&&AE(t.catch)}function mL(t){return t&&typeof t=="object"}function AE(t){return typeof t=="function"}function TE(t){return pL((r=>{try{return r.readFile().catch(i=>i)}catch(i){return i}})(t))}var PE=["readFile","writeFile","mkdir","rmdir","unlink","stat","lstat","readdir","readlink","symlink"];function RE(t,e){if(TE(e))for(let r of PE)t[`_${r}`]=e[r].bind(e);else for(let r of PE)t[`_${r}`]=(0,Hc.default)(e[r].bind(e));TE(e)?(e.cp&&(t._cp=e.cp.bind(e)),e.rm?t._rm=e.rm.bind(e):e.rmdir.length>1?t._rm=e.rmdir.bind(e):t._rm=zg.bind(null,t)):(e.cp&&(t._cp=(0,Hc.default)(e.cp.bind(e))),e.rm?t._rm=(0,Hc.default)(e.rm.bind(e)):e.rmdir.length>2?t._rm=(0,Hc.default)(e.rmdir.bind(e)):t._rm=zg.bind(null,t))}var J=class{constructor(e){if(typeof e._original_unwrapped_fs!="undefined")return e;let r=Object.getOwnPropertyDescriptor(e,"promises");r&&r.enumerable?RE(this,e.promises):RE(this,e),this._original_unwrapped_fs=e}async exists(e,r={}){try{return await this._stat(e),!0}catch(i){if(i.code==="ENOENT"||i.code==="ENOTDIR"||(i.code||"").includes("ENS"))return!1;throw console.log('Unhandled error in "FileSystem.exists()" function',i),i}}async read(e,r={}){try{let i=await this._readFile(e,r);if(r.autocrlf==="true")try{i=new TextDecoder("utf8",{fatal:!0}).decode(i),i=i.replace(/\r\n/g,` `),i=new TextEncoder().encode(i)}catch(n){}return typeof i!="string"&&(i=k.from(i)),i}catch(i){return null}}async write(e,r,i={}){try{await this._writeFile(e,r,i)}catch(n){await this.mkdir(wa(e)),await this._writeFile(e,r,i)}}async mkdir(e,r=!1){try{await this._mkdir(e)}catch(i){if(i===null||i.code==="EEXIST")return;if(r)throw i;if(i.code==="ENOENT"){let n=wa(e);if(n==="."||n==="/"||n===e)throw i;await this.mkdir(n),await this.mkdir(e,!0)}}}async rm(e){try{await this._unlink(e)}catch(r){if(r.code!=="ENOENT")throw r}}async rmdir(e,r){try{r&&r.recursive?await this._rm(e,r):await this._rmdir(e)}catch(i){if(i.code!=="ENOENT")throw i}}async readdir(e){try{let r=await this._readdir(e);return r.sort(Td),r}catch(r){return r.code==="ENOTDIR"?null:[]}}async readdirDeep(e){let r=await this._readdir(e);return(await Promise.all(r.map(async n=>{let s=e+"/"+n;return(await this._stat(s)).isDirectory()?this.readdirDeep(s):s}))).reduce((n,s)=>n.concat(s),[])}async lstat(e){try{return await this._lstat(e)}catch(r){if(r.code==="ENOENT"||(r.code||"").includes("ENS"))return null;throw r}}async readlink(e,r={encoding:"buffer"}){try{let i=await this._readlink(e,r);return k.isBuffer(i)?i:k.from(i)}catch(i){if(i.code==="ENOENT"||(i.code||"").includes("ENS"))return null;throw i}}async writelink(e,r){return this._symlink(r.toString("utf8"),e)}};function R(t,e){if(e===void 0)throw new Ir(t)}function gL(t){return t.startsWith("/")||/^[a-zA-Z]:[\\/]/.test(t)}async function re({fsp:t,dotgit:e}){R("fsp",t),R("dotgit",e);let r=await t._stat(e).catch(()=>({isFile:()=>!1,isDirectory:()=>!1}));return r.isDirectory()?e:r.isFile()?t._readFile(e,"utf8").then(i=>i.trimRight().substr(8)).then(i=>gL(i)?i:B(wa(e),i)):e}async function xd(t,e){return!t&&!e?!1:t&&!e||!t&&e?!0:!(await t.type()==="tree"&&await e.type()==="tree"||await t.type()===await e.type()&&await t.mode()===await e.mode()&&await t.oid()===await e.oid())}async function vL({fs:t,dir:e,gitdir:r=B(e,".git"),commit:i="HEAD",cache:n={}}){try{R("fs",t),R("dir",e),R("gitdir",r);let s=new J(t),a=[Fr({ref:i}),cu(),tl()],o=[],l=await re({fsp:s,dotgit:r});await dt.acquire({fs:s,gitdir:l,cache:n},async function(u){o=u.unmergedPaths});let c=await Zn({fs:s,cache:n,dir:e,gitdir:l,trees:a,map:async function(u,[f,d,h]){let p=!await xd(d,h),g=o.includes(u),v=!await xd(h,f);if(p||g)return f?{path:u,mode:await f.mode(),oid:await f.oid(),type:await f.type(),content:await f.content()}:void 0;if(v)return!1;throw new iu(u)}});await dt.acquire({fs:s,gitdir:l,cache:n},async function(u){for(let f of c)if(f!==!1){if(!f){await s.rmdir(`${e}/${f.path}`,{recursive:!0}),u.delete({filepath:f.path});continue}if(f.type==="blob"){let d=new TextDecoder().decode(f.content);await s.write(`${e}/${f.path}`,d,{mode:f.mode}),u.insert({filepath:f.path,oid:f.oid,stage:0})}}})}catch(s){throw s.caller="git.abortMerge",s}}var Is=class{static async isIgnored({fs:e,dir:r,gitdir:i=B(r,".git"),filepath:n}){if(vd(n)===".git")return!0;if(n===".")return!1;let s="",a=B(i,"info","exclude");await e.exists(a)&&(s=await e.read(a,"utf8"));let o=[{gitignore:B(r,".gitignore"),filepath:n}],l=n.split("/").filter(Boolean);for(let u=1;u{let f=await(await ht.get({fs:o,gitdir:l})).get("core.autocrlf");return Wg({dir:e,gitdir:l,fs:o,filepath:i,index:c,force:s,parallel:a,autocrlf:f})})}catch(o){throw o.caller="git.add",o}}async function Wg({dir:t,gitdir:e,fs:r,filepath:i,index:n,force:s,parallel:a,autocrlf:o}){i=Array.isArray(i)?i:[i];let l=i.map(async d=>{if(!s&&await Is.isIgnored({fs:r,dir:t,gitdir:e,filepath:d}))return;let h=await r.lstat(B(t,d));if(!h)throw new Ve(d);if(h.isDirectory()){let p=await r.readdir(B(t,d));if(a){let g=p.map(v=>Wg({dir:t,gitdir:e,fs:r,filepath:[B(d,v)],index:n,force:s,parallel:a,autocrlf:o}));await Promise.all(g)}else for(let g of p)await Wg({dir:t,gitdir:e,fs:r,filepath:[B(d,g)],index:n,force:s,parallel:a,autocrlf:o})}else{let p=h.isSymbolicLink()?await r.readlink(B(t,d)).then(eS):await r.read(B(t,d),{autocrlf:o});if(p===null)throw new Ve(d);let g=await Or({fs:r,gitdir:e,type:"blob",object:p});n.insert({filepath:d,stats:h,oid:g})}}),c=await Promise.allSettled(l),u=c.filter(d=>d.status==="rejected").map(d=>d.reason);if(u.length>1)throw new _a(u);if(u.length===1)throw u[0];return c.filter(d=>d.status==="fulfilled"&&d.value).map(d=>d.value)}async function su({fs:t,gitdir:e,path:r}){return(await ht.get({fs:t,gitdir:e})).get(r)}function tS(t,...e){for(let r of e)if(r)for(let i of Object.keys(r)){let n=r[i];n!==void 0&&(t[i]=n)}return t}async function Ms({fs:t,gitdir:e,author:r,commit:i}){let n=Math.floor(Date.now()/1e3),s={name:await su({fs:t,gitdir:e,path:"user.name"}),email:await su({fs:t,gitdir:e,path:"user.email"})||"",timestamp:n,timezoneOffset:new Date(n*1e3).getTimezoneOffset()},a=tS({},s,i?i.author:void 0,r);if(a.name!==void 0)return a}async function xa({fs:t,gitdir:e,author:r,committer:i,commit:n}){let s=Math.floor(Date.now()/1e3),a={name:await su({fs:t,gitdir:e,path:"user.name"}),email:await su({fs:t,gitdir:e,path:"user.email"})||"",timestamp:s,timezoneOffset:new Date(s*1e3).getTimezoneOffset()},o=tS({},a,n?n.committer:void 0,r,i);if(o.name!==void 0)return o}async function rS({fs:t,cache:e,gitdir:r,oid:i}){let{type:n,object:s}=await tt({fs:t,cache:e,gitdir:r,oid:i});if(n==="tag")return i=Jr.from(s).parse().object,rS({fs:t,cache:e,gitdir:r,oid:i});if(n!=="commit")throw new br(i,n,"commit");return{commit:Dr.from(s),oid:i}}async function wn({fs:t,cache:e,gitdir:r,oid:i}){let{commit:n,oid:s}=await rS({fs:t,cache:e,gitdir:r,oid:i});return{oid:s,commit:n.parse(),payload:n.withoutSignature()}}var xL="4b825dc642cb6eb9a060e54bf8d69288fbee4904";async function uu({fs:t,cache:e,onSign:r,gitdir:i,message:n,author:s,committer:a,signingKey:o,amend:l=!1,dryRun:c=!1,noUpdateBranch:u=!1,disallowEmpty:f=!1,ref:d,parent:h,tree:p}){let g=!1,v=!1;d||(v=!(await t.read(`${i}/HEAD`,{encoding:"utf8"})).startsWith("ref:"),d=await q.resolve({fs:t,gitdir:i,ref:"HEAD",depth:2}));let b,_;try{b=await q.resolve({fs:t,gitdir:i,ref:d}),_=await wn({fs:t,gitdir:i,oid:b,cache:{}})}catch(S){g=!0}if(l&&g)throw new nu(d);let C=l?await Ms({fs:t,gitdir:i,author:s,commit:_.commit}):await Ms({fs:t,gitdir:i,author:s});if(!C)throw new Kt("author");let x=l?await xa({fs:t,gitdir:i,author:C,committer:a,commit:_.commit}):await xa({fs:t,gitdir:i,author:C,committer:a});if(!x)throw new Kt("committer");return dt.acquire({fs:t,gitdir:i,cache:e,allowUnmerged:!1},async function(S){let w=qE(S.entries).get(".");if(p||(p=await iS({fs:t,gitdir:i,inode:w,dryRun:c})),h?h=await Promise.all(h.map(P=>q.resolve({fs:t,gitdir:i,ref:P}))):l?h=_.commit.parent:h=b?[b]:[],f&&!l&&(g&&p===xL||!g&&p===_.commit.tree))throw new Zc;if(!n)if(l)n=_.commit.message;else throw new Ir("message");let E=Dr.from({tree:p,parent:h,author:C,committer:x,message:n});o&&(E=await Dr.sign(E,r,o));let y=await Or({fs:t,gitdir:i,type:"commit",object:E.toObject(),dryRun:c});return!u&&!c&&await q.writeRef({fs:t,gitdir:i,ref:v?"HEAD":d,value:y}),y})}async function iS({fs:t,gitdir:e,inode:r,dryRun:i}){let n=r.children;for(let l of n)l.type==="tree"&&(l.metadata.mode="040000",l.metadata.oid=await iS({fs:t,gitdir:e,inode:l,dryRun:i}));let s=n.map(l=>({mode:l.metadata.mode,path:l.basename,oid:l.metadata.oid,type:l.type})),a=Mr.from(s);return await Or({fs:t,gitdir:e,type:"tree",object:a.toObject(),dryRun:i})}async function fu({fs:t,cache:e,gitdir:r,oid:i,filepath:n}){if(n.startsWith("/"))throw new Fs("leading-slash");if(n.endsWith("/"))throw new Fs("trailing-slash");let s=i,a=await Xo({fs:t,cache:e,gitdir:r,oid:i}),o=a.tree;if(n==="")i=a.oid;else{let l=n.split("/");i=await nS({fs:t,cache:e,gitdir:r,tree:o,pathArray:l,oid:s,filepath:n})}return i}async function nS({fs:t,cache:e,gitdir:r,tree:i,pathArray:n,oid:s,filepath:a}){let o=n.shift();for(let l of i)if(l.path===o){if(n.length===0)return l.oid;{let{type:c,object:u}=await tt({fs:t,cache:e,gitdir:r,oid:l.oid});if(c!=="tree")throw new br(s,c,"tree",a);return i=Mr.from(u),nS({fs:t,cache:e,gitdir:r,tree:i,pathArray:n,oid:s,filepath:a})}}throw new Ve(`file or directory found at "${s}:${a}"`)}async function rl({fs:t,cache:e,gitdir:r,oid:i,filepath:n=void 0}){n!==void 0&&(i=await fu({fs:t,cache:e,gitdir:r,oid:i,filepath:n}));let{tree:s,oid:a}=await Xo({fs:t,cache:e,gitdir:r,oid:i});return{oid:a,tree:s.entries()}}async function du({fs:t,gitdir:e,tree:r}){let i=Mr.from(r).toObject();return await Or({fs:t,gitdir:e,type:"tree",object:i,format:"content"})}async function EL({fs:t,cache:e,onSign:r,gitdir:i,ref:n,oid:s,note:a,force:o,author:l,committer:c,signingKey:u}){let f;try{f=await q.resolve({gitdir:i,fs:t,ref:n})}catch(b){if(!(b instanceof Ve))throw b}let h=(await rl({fs:t,cache:e,gitdir:i,oid:f||"4b825dc642cb6eb9a060e54bf8d69288fbee4904"})).tree;if(o)h=h.filter(b=>b.path!==s);else for(let b of h)if(b.path===s)throw new Gi("note",s);typeof a=="string"&&(a=k.from(a,"utf8"));let p=await Or({fs:t,gitdir:i,type:"blob",object:a,format:"content"});h.push({mode:"100644",path:s,oid:p,type:"blob"});let g=await du({fs:t,gitdir:i,tree:h});return await uu({fs:t,cache:e,onSign:r,gitdir:i,ref:n,tree:g,parent:f&&[f],message:`Note added by 'isomorphic-git addNote' `,author:l,committer:c,signingKey:u})}async function SL({fs:t,onSign:e,dir:r,gitdir:i=B(r,".git"),ref:n="refs/notes/commits",oid:s,note:a,force:o,author:l,committer:c,signingKey:u,cache:f={}}){try{R("fs",t),R("gitdir",i),R("oid",s),R("note",a),u&&R("onSign",e);let d=new J(t),h=await Ms({fs:d,gitdir:i,author:l});if(!h)throw new Kt("author");let p=await xa({fs:d,gitdir:i,author:h,committer:c});if(!p)throw new Kt("committer");let g=await re({fsp:d,dotgit:i});return await EL({fs:d,cache:f,onSign:e,gitdir:g,ref:n,oid:s,note:a,force:o,author:h,committer:p,signingKey:u})}catch(d){throw d.caller="git.addNote",d}}var kL=/(^|[/.])([/.]|$)|^@$|@{|[\x00-\x20\x7f~^:?*[\\]|\.lock(\/|$)/;function au(t,e){if(typeof t!="string")throw new TypeError("Reference name must be a string");return!kL.test(t)&&(!!e||t.includes("/"))}async function sS({fs:t,gitdir:e,remote:r,url:i,force:n}){if(!au(r,!0))throw new ji(r,zo.default.clean(r));let s=await ht.get({fs:t,gitdir:e});if(!n&&(await s.getSubsections("remote")).includes(r)&&i!==await s.get(`remote.${r}.url`))throw new Gi("remote",r);await s.set(`remote.${r}.url`,i),await s.set(`remote.${r}.fetch`,`+refs/heads/*:refs/remotes/${r}/*`),await ht.save({fs:t,gitdir:e,config:s})}async function CL({fs:t,dir:e,gitdir:r=B(e,".git"),remote:i,url:n,force:s=!1}){try{R("fs",t),R("gitdir",r),R("remote",i),R("url",n);let a=new J(t),o=await re({fsp:a,dotgit:r});return await sS({fs:a,gitdir:o,remote:i,url:n,force:s})}catch(a){throw a.caller="git.addRemote",a}}async function AL({fs:t,cache:e,onSign:r,gitdir:i,ref:n,tagger:s,message:a=n,gpgsig:o,object:l,signingKey:c,force:u=!1}){if(n=n.startsWith("refs/tags/")?n:`refs/tags/${n}`,!u&&await q.exists({fs:t,gitdir:i,ref:n}))throw new Gi("tag",n);let f=await q.resolve({fs:t,gitdir:i,ref:l||"HEAD"}),{type:d}=await tt({fs:t,cache:e,gitdir:i,oid:f}),h=Jr.from({object:f,type:d,tag:n.replace("refs/tags/",""),tagger:s,message:a,gpgsig:o});c&&(h=await Jr.sign(h,r,c));let p=await Or({fs:t,gitdir:i,type:"tag",object:h.toObject()});await q.writeRef({fs:t,gitdir:i,ref:n,value:p})}async function TL({fs:t,onSign:e,dir:r,gitdir:i=B(r,".git"),ref:n,tagger:s,message:a=n,gpgsig:o,object:l,signingKey:c,force:u=!1,cache:f={}}){try{R("fs",t),R("gitdir",i),R("ref",n),c&&R("onSign",e);let d=new J(t),h=await re({fsp:d,dotgit:i}),p=await Ms({fs:d,gitdir:h,author:s});if(!p)throw new Kt("tagger");return await AL({fs:d,cache:f,onSign:e,gitdir:h,ref:n,tagger:p,message:a,gpgsig:o,object:l,signingKey:c,force:u})}catch(d){throw d.caller="git.annotatedTag",d}}async function PL({fs:t,gitdir:e,ref:r,object:i,checkout:n=!1,force:s=!1}){if(!au(r,!0))throw new ji(r,zo.default.clean(r));let a=`refs/heads/${r}`;if(!s&&await q.exists({fs:t,gitdir:e,ref:a}))throw new Gi("branch",r,!1);let o;try{o=await q.resolve({fs:t,gitdir:e,ref:i||"HEAD"})}catch(l){}o&&await q.writeRef({fs:t,gitdir:e,ref:a,value:o}),n&&await q.writeSymbolicRef({fs:t,gitdir:e,ref:"HEAD",value:a})}async function RL({fs:t,dir:e,gitdir:r=B(e,".git"),ref:i,object:n,checkout:s=!1,force:a=!1}){try{R("fs",t),R("gitdir",r),R("ref",i);let o=new J(t),l=await re({fsp:o,dotgit:r});return await PL({fs:o,gitdir:l,ref:i,object:n,checkout:s,force:a})}catch(o){throw o.caller="git.branch",o}}async function ou(t,e,r){let i=r.split("/");i.pop();let n=e;for(let s of i){if(s===""||s===".")continue;n=`${n}/${s}`;let a=await t.lstat(n);if(a&&a.isSymbolicLink())throw new va(r)}}var aS=(t,e)=>t==="."||e==null||e.length===0||e==="."?!0:e.length>=t.length?e.startsWith(t):t.startsWith(e);async function Kg({fs:t,cache:e,onProgress:r,onPostCheckout:i,dir:n,gitdir:s,remote:a,ref:o,filepaths:l,noCheckout:c,noUpdateHead:u,dryRun:f,force:d,track:h=!0,nonBlocking:p=!1,batchSize:g=100}){let v;if(i)try{v=await q.resolve({fs:t,gitdir:s,ref:"HEAD"})}catch(_){v="0000000000000000000000000000000000000000"}let b;try{b=await q.resolve({fs:t,gitdir:s,ref:o})}catch(_){if(o==="HEAD")throw _;let C=`${a}/${o}`;if(b=await q.resolve({fs:t,gitdir:s,ref:C}),h){let x=await ht.get({fs:t,gitdir:s});await x.set(`branch.${o}.remote`,a),await x.set(`branch.${o}.merge`,`refs/heads/${o}`),await ht.save({fs:t,gitdir:s,config:x})}await q.writeRef({fs:t,gitdir:s,ref:`refs/heads/${o}`,value:b})}if(!c){let _;try{_=await $L({fs:t,cache:e,onProgress:r,dir:n,gitdir:s,ref:o,force:d,filepaths:l})}catch(w){throw w instanceof Ve&&w.data.what===b?new Yc(o,b):w}let C=_.filter(([w])=>w==="conflict").map(([w,E])=>E);if(C.length>0)throw new zc(C);let x=_.filter(([w])=>w==="error").map(([w,E])=>E);if(x.length>0)throw new he(x.join(", "));if(f){i&&await i({previousHead:v,newHead:b,type:l!=null&&l.length>0?"file":"branch"});return}let S=0,A=_.length;if(await dt.acquire({fs:t,gitdir:s,cache:e},async function(w){await Promise.all(_.filter(([E])=>E==="delete"||E==="delete-index").map(async function([E,y]){let P=`${n}/${y}`;E==="delete"&&await t.rm(P),w.delete({filepath:y}),r&&await r({phase:"Updating workdir",loaded:++S,total:A})}))}),await dt.acquire({fs:t,gitdir:s,cache:e},async function(w){for(let[E,y]of _)if(E==="rmdir"||E==="rmdir-index"){let P=`${n}/${y}`;try{E==="rmdir"&&await t.rmdir(P),w.delete({filepath:y}),r&&await r({phase:"Updating workdir",loaded:++S,total:A})}catch(T){if(T.code==="ENOTEMPTY")console.log(`Did not delete ${y} because directory is not empty`);else throw T}}}),await Promise.all(_.filter(([w])=>w==="mkdir"||w==="mkdir-index").map(async function([w,E]){let y=`${n}/${E}`;await ou(t,n,E),await t.mkdir(y),r&&await r({phase:"Updating workdir",loaded:++S,total:A})})),p){let w=_.filter(([y])=>y==="create"||y==="create-index"||y==="update"||y==="mkdir-index"),E=await $E("Update Working Dir",w.map(([y,P,T,I,L])=>()=>IL({fs:t,cache:e,gitdir:s,dir:n},[y,P,T,I,L])),r,g);await dt.acquire({fs:t,gitdir:s,cache:e,allowUnmerged:!0},async function(y){await $E("Update Index",E.map(([P,T,I])=>()=>FL({index:y,fullpath:P,oid:T,stats:I})),r,g)})}else await dt.acquire({fs:t,gitdir:s,cache:e,allowUnmerged:!0},async function(w){var P,T;let E=await Promise.allSettled(_.filter(([I])=>I==="create"||I==="create-index"||I==="update"||I==="mkdir-index").map(async function([I,L,H,te,xe]){let Z=`${n}/${L}`;if(I!=="create-index"&&I!=="mkdir-index"){await ou(t,n,L);let{object:ce}=await tt({fs:t,cache:e,gitdir:s,oid:H});if(xe&&await t.rm(Z),te===33188)await t.write(Z,ce);else if(te===33261)await t.write(Z,ce,{mode:511});else if(te===40960)await t.writelink(Z,ce);else throw new he(`Invalid mode 0o${te.toString(8)} detected in blob ${H}`)}let K=await t.lstat(Z);te===33261&&(K.mode=493),I==="mkdir-index"&&(K.mode=57344),w.insert({filepath:L,stats:K,oid:H}),r&&await r({phase:"Updating workdir",loaded:++S,total:A})})),y=[];for(let I of E)I.status==="rejected"&&(y.push(I.reason),console.error("[isomorphic-git checkout] task rejected:",(T=(P=I.reason)==null?void 0:P.stack)!=null?T:I.reason));if(y.length>0)throw new _a(y)});i&&await i({previousHead:v,newHead:b,type:l!=null&&l.length>0?"file":"branch"})}if(!u){let _=await q.expand({fs:t,gitdir:s,ref:o});_.startsWith("refs/heads")?await q.writeSymbolicRef({fs:t,gitdir:s,ref:"HEAD",value:_}):await q.writeRef({fs:t,gitdir:s,ref:"HEAD",value:b})}}async function $L({fs:t,cache:e,onProgress:r,dir:i,gitdir:n,ref:s,force:a,filepaths:o}){let l=0;return Zn({fs:t,cache:e,dir:i,gitdir:n,trees:[Fr({ref:s}),cu(),tl()],map:async function(c,[u,f,d]){if(c===".")return;if(o&&!o.some(p=>aS(c,p)))return null;switch(r&&await r({phase:"Analyzing workdir",loaded:++l}),[!!d,!!u,!!f].map(Number).join("")){case"000":return;case"001":return a&&o&&o.includes(c)?["delete",c]:void 0;case"010":switch(await u.type()){case"tree":return["mkdir",c];case"blob":return["create",c,await u.oid(),await u.mode()];case"commit":return["mkdir-index",c,await u.oid(),await u.mode()];default:return["error",`new entry Unhandled type ${await u.type()}`]}case"011":switch(`${await u.type()}-${await f.type()}`){case"tree-tree":return;case"tree-blob":case"blob-tree":return["conflict",c];case"blob-blob":return await u.oid()!==await f.oid()?a?["update",c,await u.oid(),await u.mode(),await u.mode()!==await f.mode()]:["conflict",c]:await u.mode()!==await f.mode()?a?["update",c,await u.oid(),await u.mode(),!0]:["conflict",c]:["create-index",c,await u.oid(),await u.mode()];case"commit-tree":return;case"commit-blob":return["conflict",c];default:return["error",`new entry Unhandled type ${u.type}`]}case"100":return["delete-index",c];case"101":switch(await d.type()){case"tree":return["rmdir-index",c];case"blob":return await d.oid()!==await f.oid()?a?["delete",c]:["conflict",c]:["delete",c];case"commit":return["rmdir-index",c];default:return["error",`delete entry Unhandled type ${await d.type()}`]}case"110":case"111":switch(`${await d.type()}-${await u.type()}`){case"tree-tree":return;case"blob-blob":{if(await d.oid()===await u.oid()&&await d.mode()===await u.mode()&&!a)return;if(f){if(await f.oid()!==await d.oid()&&await f.oid()!==await u.oid())return a?["update",c,await u.oid(),await u.mode(),await u.mode()!==await f.mode()]:["conflict",c]}else if(a)return["update",c,await u.oid(),await u.mode(),await u.mode()!==await d.mode()];return await u.mode()!==await d.mode()?["update",c,await u.oid(),await u.mode(),!0]:await u.oid()!==await d.oid()?["update",c,await u.oid(),await u.mode(),!1]:void 0}case"tree-blob":return["update-dir-to-blob",c,await u.oid()];case"blob-tree":return["update-blob-to-tree",c];case"commit-commit":return["mkdir-index",c,await u.oid(),await u.mode()];default:return["error",`update entry Unhandled type ${await d.type()}-${await u.type()}`]}}},reduce:async function(c,u){return u=QE(u),c?c&&c[0]==="rmdir"?(u.push(c),u):(u.unshift(c),u):u}})}async function FL({index:t,fullpath:e,stats:r,oid:i}){try{t.insert({filepath:e,stats:r,oid:i})}catch(n){console.warn(`Error inserting ${e} into index:`,n)}}async function IL({fs:t,cache:e,gitdir:r,dir:i},[n,s,a,o,l]){let c=`${i}/${s}`;if(n!=="create-index"&&n!=="mkdir-index"){await ou(t,i,s);let{object:f}=await tt({fs:t,cache:e,gitdir:r,oid:a});if(l&&await t.rm(c),o===33188)await t.write(c,f);else if(o===33261)await t.write(c,f,{mode:511});else if(o===40960)await t.writelink(c,f);else throw new he(`Invalid mode 0o${o.toString(8)} detected in blob ${a}`)}let u=await t.lstat(c);return o===33261&&(u.mode=493),n==="mkdir-index"&&(u.mode=57344),[s,a,u]}async function $E(t,e,r,i){let n=[],s=[];for(let a=0;ac());(await Promise.allSettled(o)).forEach(c=>{var u,f;c.status==="fulfilled"?n.push(c.value):(s.push(c.reason),console.error(`[isomorphic-git ${t}] task rejected:`,(f=(u=c.reason)==null?void 0:u.stack)!=null?f:c.reason))}),r&&await r({phase:"Updating workdir",loaded:a+o.length,total:e.length})}if(s.length>0)throw new _a(s);return n}async function oS({fs:t,onProgress:e,onPostCheckout:r,dir:i,gitdir:n=B(i,".git"),remote:s="origin",ref:a,filepaths:o,noCheckout:l=!1,noUpdateHead:c=a===void 0,dryRun:u=!1,force:f=!1,track:d=!0,cache:h={},nonBlocking:p=!1,batchSize:g=100}){try{R("fs",t),R("dir",i),R("gitdir",n);let v=a||"HEAD",b=new J(t),_=await re({fsp:b,dotgit:n});return await Kg({fs:b,cache:h,onProgress:e,onPostCheckout:r,dir:i,gitdir:_,remote:s,ref:v,filepaths:o,noCheckout:l,noUpdateHead:c,dryRun:u,force:f,track:d,nonBlocking:p,batchSize:g})}catch(v){throw v.caller="git.checkout",v}}var $g=/^.*(\r?\n|$)/gm;function ML({branches:t,contents:e}){let r=t[1],i=t[2],n=e[0],s=e[1],a=e[2],o=s.match($g),l=n.match($g),c=a.match($g),u=(0,jE.default)(o,l,c),f=7,d="",h=!0;for(let p of u)p.ok&&(d+=p.ok.join("")),p.conflict&&(h=!1,d+=`${"<".repeat(f)} ${r} `,d+=p.conflict.a.join(""),d+=`${"=".repeat(f)} `,d+=p.conflict.b.join(""),d+=`${">".repeat(f)} ${i} `);return{cleanMerge:h,mergedText:d}}async function lS({fs:t,cache:e,dir:r,gitdir:i=B(r,".git"),index:n,ourOid:s,baseOid:a,theirOid:o,ourName:l="ours",baseName:c="base",theirName:u="theirs",dryRun:f=!1,abortOnConflict:d=!0,mergeDriver:h}){let p=Fr({ref:s}),g=Fr({ref:a}),v=Fr({ref:o}),b=[],_=[],C=[],x=[],S=await Zn({fs:t,cache:e,dir:r,gitdir:i,trees:[p,g,v],map:async function(A,[w,E,y]){let P=vd(A),T=await xd(w,E),I=await xd(y,E);switch(`${T}-${I}`){case"false-false":return{mode:await E.mode(),path:P,oid:await E.oid(),type:await E.type()};case"false-true":return!y&&await w.type()==="tree"?{mode:await w.mode(),path:P,oid:await w.oid(),type:await w.type()}:y?{mode:await y.mode(),path:P,oid:await y.oid(),type:await y.type()}:void 0;case"true-false":return!w&&await y.type()==="tree"?{mode:await y.mode(),path:P,oid:await y.oid(),type:await y.type()}:w?{mode:await w.mode(),path:P,oid:await w.oid(),type:await w.type()}:void 0;case"true-true":{if(w&&y&&await w.type()==="tree"&&await y.type()==="tree")return{mode:await w.mode(),path:P,oid:await w.oid(),type:"tree"};if(w&&y&&await w.type()==="blob"&&await y.type()==="blob")return DL({fs:t,gitdir:i,path:P,ours:w,base:E,theirs:y,ourName:l,baseName:c,theirName:u,mergeDriver:h}).then(async L=>{if(L.cleanMerge)d||n.insert({filepath:A,oid:L.mergeResult.oid,stage:0});else if(b.push(A),_.push(A),!d){let H="";E&&await E.type()==="blob"&&(H=await E.oid());let te=await w.oid(),xe=await y.oid();n.delete({filepath:A}),H&&n.insert({filepath:A,oid:H,stage:1}),n.insert({filepath:A,oid:te,stage:2}),n.insert({filepath:A,oid:xe,stage:3})}return L.mergeResult});if(E&&!w&&y&&await E.type()==="blob"&&await y.type()==="blob"){if(b.push(A),C.push(A),!d){let L=await E.oid(),H=await y.oid();n.delete({filepath:A}),n.insert({filepath:A,oid:L,stage:1}),n.insert({filepath:A,oid:H,stage:3})}return{mode:await y.mode(),oid:await y.oid(),type:"blob",path:P}}if(E&&w&&!y&&await E.type()==="blob"&&await w.type()==="blob"){if(b.push(A),x.push(A),!d){let L=await E.oid(),H=await w.oid();n.delete({filepath:A}),n.insert({filepath:A,oid:L,stage:1}),n.insert({filepath:A,oid:H,stage:2})}return{mode:await w.mode(),oid:await w.oid(),type:"blob",path:P}}if(E&&!w&&!y&&(await E.type()==="blob"||await E.type()==="tree"))return;throw new Yo}}},reduce:b.length!==0&&(!r||d)?void 0:async(A,w)=>{let E=w.filter(Boolean);if(A&&!(A&&A.type==="tree"&&E.length===0&&A.path!==".")){if(E.length>0||A.path==="."&&E.length===0){let P=new Mr(E).toObject(),T=await Or({fs:t,gitdir:i,type:"tree",object:P,dryRun:f});A.oid=T}return A}}});return b.length!==0?(r&&!d&&await Zn({fs:t,cache:e,dir:r,gitdir:i,trees:[Fr({ref:S.oid})],map:async function(A,[w]){let E=`${r}/${A}`;if(await w.type()==="blob"){let y=await w.mode(),P=await w.content();await t.write(E,P,{mode:y})}return!0}}),new ba(b,_,C,x)):S.oid}async function DL({fs:t,gitdir:e,path:r,ours:i,base:n,theirs:s,ourName:a,theirName:o,baseName:l,dryRun:c,mergeDriver:u=ML}){let f="blob",d="100755",h="",p="";n&&await n.type()==="blob"&&(d=await n.mode(),h=await n.oid(),p=k.from(await n.content()).toString("utf8"));let g=d===await i.mode()?await s.mode():await i.mode();if(await i.oid()===await s.oid())return{cleanMerge:!0,mergeResult:{mode:g,path:r,oid:await i.oid(),type:f}};if(await i.oid()===h)return{cleanMerge:!0,mergeResult:{mode:g,path:r,oid:await s.oid(),type:f}};if(await s.oid()===h)return{cleanMerge:!0,mergeResult:{mode:g,path:r,oid:await i.oid(),type:f}};let v=k.from(await i.content()).toString("utf8"),b=k.from(await s.content()).toString("utf8"),{mergedText:_,cleanMerge:C}=await u({branches:[l,a,o],contents:[p,v,b],path:r}),x=await Or({fs:t,gitdir:e,type:"blob",object:k.from(_,"utf8"),dryRun:c});return{cleanMerge:C,mergeResult:{mode:g,path:r,oid:x,type:f}}}var OL={stage:tl,workdir:cu},Fg;async function Qo(t,e){return Fg===void 0&&(Fg=new Vo.default),Fg.acquire(t,e)}async function LL(t,e,r,i,n=null){let s=B(r,i),a=await t.lstat(s);if(!a)throw new Ve(s);if(a.isDirectory())throw new he(`${s}: file expected, but found directory`);let o=n?await ZE({fs:t,gitdir:e,oid:n}):void 0,l=o?n:void 0;return o||await Qo({fs:t,gitdir:e,currentFilepath:s},async()=>{let c=a.isSymbolicLink()?await t.readlink(s).then(eS):await t.read(s);if(c===null)throw new Ve(s);l=await Or({fs:t,gitdir:e,type:"blob",object:c})}),l}async function NL({fs:t,dir:e,gitdir:r,entries:i}){async function n(s){if(s.type==="tree"){if(!s.oid){let a=await Promise.all(s.children.map(n));s.oid=await du({fs:t,gitdir:r,tree:a}),s.mode=16384}}else s.type==="blob"&&(s.oid=await LL(t,r,e,s.path,s.oid),s.mode=33188);return s.path=s.path.split("/").pop(),s}return Promise.all(i.map(n))}async function FE({fs:t,dir:e,gitdir:r,treePair:i}){let n=i[1]==="stage",s=i.map(h=>typeof h=="string"?OL[h]():h),a=[],u=await Zn({fs:t,cache:{},dir:e,gitdir:r,trees:s,map:async(h,[p,g])=>{if(!(h==="."||await Is.isIgnored({fs:t,dir:e,gitdir:r,filepath:h}))&&g)return(!p||await p.oid()!==await g.oid()&&await g.oid()!==void 0)&&a.push([p,g]),{mode:await g.mode(),path:h,oid:await g.oid(),type:await g.type()}},reduce:async(h,p)=>(p=p.filter(Boolean),h?(h.children=p,h):p.length>0?p:void 0),iterate:async(h,p)=>{let g=[];for(let v of p){let[b,_]=v;n?_&&(await t.exists(`${e}/${_.toString()}`)?g.push(v):a.push([null,_])):b&&(_?g.push(v):a.push([b,null]))}return g.length?Promise.all(g.map(h)):[]}});if(a.length===0||u.length===0)return null;let d=(await NL({fs:t,dir:e,gitdir:r,entries:u})).filter(Boolean).map(h=>({mode:h.mode,path:h.path,oid:h.oid,type:h.type}));return du({fs:t,gitdir:r,tree:d})}async function cS({fs:t,dir:e,gitdir:r,stashCommit:i,parentCommit:n,wasStaged:s}){let a=[],o=[],l=await Zn({fs:t,cache:{},dir:e,gitdir:r,trees:[Fr({ref:n}),Fr({ref:i})],map:async(c,[u,f])=>{if(c==="."||await Is.isIgnored({fs:t,dir:e,gitdir:r,filepath:c}))return;let d=f?await f.type():await u.type();if(d!=="tree"&&d!=="blob")return;if(!f&&u){let p=d==="tree"?"rmdir":"rm";return d==="tree"&&a.push(c),d==="blob"&&s&&o.push({filepath:c,oid:await u.oid()}),{method:p,filepath:c}}let h=await f.oid();if(!u||await u.oid()!==h)return d==="tree"?{method:"mkdir",filepath:c}:(s&&o.push({filepath:c,oid:h,stats:await t.lstat(B(e,c))}),{method:"write",filepath:c,oid:h})}});await Qo({fs:t,gitdir:r,dirRemoved:a,ops:l},async()=>{for(let c of l){let u=B(e,c.filepath);switch(c.method){case"rmdir":await t.rmdir(u);break;case"mkdir":await ou(t,e,c.filepath),await t.mkdir(u);break;case"rm":await t.rm(u);break;case"write":if(!a.some(f=>u.startsWith(f))){await ou(t,e,c.filepath);let{object:f}=await tt({fs:t,cache:{},gitdir:r,oid:c.oid});await t.exists(u)&&await t.rm(u),await t.write(u,f)}break}}}),await dt.acquire({fs:t,gitdir:r,cache:{}},async c=>{o.forEach(({filepath:u,stats:f,oid:d})=>{c.insert({filepath:u,stats:f,oid:d})})})}async function IE({fs:t,cache:e,dir:r,gitdir:i,oid:n,dryRun:s=!1,noUpdateBranch:a=!1,abortOnConflict:o=!0,committer:l,mergeDriver:c}){let{commit:u,oid:f}=await wn({fs:t,cache:e,gitdir:i,oid:n});if(u.parent.length>1)throw new Wc(f,u.parent.length);if(u.parent.length===0)throw new qc(f);let d=await q.resolve({fs:t,gitdir:i,ref:"HEAD"}),{commit:h}=await wn({fs:t,cache:e,gitdir:i,oid:d}),p=u.parent[0],{commit:g}=await wn({fs:t,cache:e,gitdir:i,oid:p}),v=await dt.acquire({fs:t,gitdir:i,cache:e,allowUnmerged:!1},async _=>lS({fs:t,cache:e,dir:r,gitdir:i,index:_,ourOid:h.tree,baseOid:g.tree,theirOid:u.tree,ourName:"HEAD",baseName:`parent of ${f.slice(0,7)}`,theirName:f.slice(0,7),dryRun:s,abortOnConflict:o,mergeDriver:c}));if(v instanceof ba)throw v;let b=await uu({fs:t,cache:e,gitdir:i,message:u.message,tree:v,parent:[d],author:u.author,committer:l,dryRun:s,noUpdateBranch:a});return r&&!s&&!a&&await cS({fs:t,dir:r,gitdir:i,stashCommit:b,parentCommit:d,wasStaged:!0}),b}async function BL({fs:t,dir:e,gitdir:r=B(e,".git"),oid:i,cache:n={},committer:s,dryRun:a=!1,noUpdateBranch:o=!1,abortOnConflict:l=!0,mergeDriver:c}){try{R("fs",t),R("gitdir",r),R("oid",i);let u=new J(t),f=await re({fsp:u,dotgit:r}),{commit:d}=await wn({fs:u,cache:n,gitdir:f,oid:i});if(d.parent&&d.parent.length>1)return await IE({fs:u,cache:n,dir:e,gitdir:f,oid:i,dryRun:a,noUpdateBranch:o,abortOnConflict:l,committer:void 0,mergeDriver:c});let h=await xa({fs:u,gitdir:f,committer:s});if(!h)throw new Kt("committer");return await IE({fs:u,cache:n,dir:e,gitdir:f,oid:i,dryRun:a,noUpdateBranch:o,abortOnConflict:l,committer:h,mergeDriver:c})}catch(u){throw u.caller="git.cherryPick",u}}var HL=/^refs\/(heads\/|tags\/|remotes\/)?(.*)/;function ga(t){let e=HL.exec(t);return e?e[1]==="remotes/"&&t.endsWith("/HEAD")?e[2].slice(0,-5):e[2]:t}async function Ds({fs:t,gitdir:e,fullname:r=!1,test:i=!1}){let n=await q.resolve({fs:t,gitdir:e,ref:"HEAD",depth:2});if(i)try{await q.resolve({fs:t,gitdir:e,ref:n})}catch(s){return}if(n.startsWith("refs/"))return r?n:ga(n)}function UL(t){return t=t.replace(/^git@([^:]+):/,"https://$1/"),t=t.replace(/^ssh:\/\//,"https://"),t}function uS({username:t="",password:e=""}){return`Basic ${k.from(`${t}:${e}`).toString("base64")}`}async function hu(t,e){let r=KE(t);for(;;){let{value:i,done:n}=await r.next();if(i&&await e(i),n)break}r.return&&r.return()}async function Ed(t){let e=0,r=[];await hu(t,s=>{r.push(s),e+=s.byteLength});let i=new Uint8Array(e),n=0;for(let s of r)i.set(s,n),n+=s.byteLength;return i}function ME(t){let e=t.match(/^https?:\/\/([^/]+)@/);if(e==null)return{url:t,auth:{}};e=e[1];let[r,i]=e.split(":");return t=t.replace(`${e}@`,""),{url:t,auth:{username:r,password:i}}}function qg(t,e){let r=e.toString(16);return"0".repeat(t-r.length)+r}var ot=class{static flush(){return k.from("0000","utf8")}static delim(){return k.from("0001","utf8")}static encode(e){typeof e=="string"&&(e=k.from(e));let r=e.length+4,i=qg(4,r);return k.concat([k.from(i,"utf8"),e])}static streamReader(e){let r=new _d(e);return async function(){try{let n=await r.read(4);if(n==null)return!0;if(n=parseInt(n.toString("utf8"),16),n===0||n===1)return null;let s=await r.read(n-4);return s==null?!0:s}catch(n){return e.error=n,!0}}}};async function DE(t){let e={},r;for(;r=await t(),r!==!0;){if(r===null)continue;r=r.toString("utf8").replace(/\n$/,"");let i=r.indexOf("=");if(i>-1){let n=r.slice(0,i),s=r.slice(i+1);e[n]=s}else e[r]=!0}return{protocolVersion:2,capabilities2:e}}async function OE(t,{service:e}){let r=new Set,i=new Map,n=new Map,s=ot.streamReader(t),a=await s();for(;a===null;)a=await s();if(a===!0)throw new Kc;if(a.includes("version 2"))return DE(s);if(a.toString("utf8").replace(/\n$/,"")!==`# service=${e}`)throw new ya(`# service=${e}\\n`,a.toString("utf8"));let o=await s();for(;o===null;)o=await s();if(o===!0)return{capabilities:r,refs:i,symrefs:n};if(o=o.toString("utf8"),o.includes("version 2"))return DE(s);let[l,c]=Ig(o,"\0","\\x00");if(c.split(" ").map(u=>r.add(u)),l!=="0000000000000000000000000000000000000000 capabilities^{}"){let[u,f]=Ig(l," "," ");for(i.set(f,u);;){let d=await s();if(d===!0)break;if(d!==null){let[h,p]=Ig(d.toString("utf8")," "," ");i.set(p,h)}}}for(let u of r)if(u.startsWith("symref=")){let f=u.match(/symref=([^:]+):(.*)/);f.length===3&&n.set(f[1],f[2])}return{protocolVersion:1,capabilities:r,refs:i,symrefs:n}}function Ig(t,e,r){let i=t.trim().split(e);if(i.length!==2)throw new ya(`Two strings separated by '${r}'`,t.toString("utf8"));return i}var LE=(t,e)=>t.endsWith("?")?`${t}${e}`:`${t}/${e.replace(/^https?:\/\//,"")}`,NE=(t,e)=>{(e.username||e.password)&&(t.Authorization=uS(e)),e.headers&&Object.assign(t,e.headers)},Mg=async t=>{try{let e=k.from(await Ed(t.body)),r=e.toString("utf8");return{preview:r.length<256?r:r.slice(0,256)+"...",response:r,data:e}}catch(e){return{}}},Jo=class{static async capabilities(){return["discover","connect"]}static async discover({http:e,onProgress:r,onAuth:i,onAuthSuccess:n,onAuthFailure:s,corsProxy:a,service:o,url:l,headers:c,protocolVersion:u}){let{url:f,auth:d}=ME(l),h=a?LE(a,f):f;(d.username||d.password)&&(c.Authorization=uS(d)),u===2&&(c["Git-Protocol"]="version=2");let p,g,v=!1;do if(p=await e.request({onProgress:r,method:"GET",url:`${h}/info/refs?service=${o}`,headers:c}),g=!1,p.statusCode===401||p.statusCode===203){let b=v?s:i;if(b){if(d=await b(f,{...d,headers:{...c}}),d&&d.cancel)throw new Ko;d&&(NE(c,d),v=!0,g=!0)}}else p.statusCode===200&&v&&n&&await n(f,d);while(g);if(p.statusCode!==200){let{response:b}=await Mg(p);throw new qo(p.statusCode,p.statusMessage,b)}if(p.headers["content-type"]===`application/x-${o}-advertisement`){let b=await OE(p.body,{service:o});return b.auth=d,b}else{let{preview:b,response:_,data:C}=await Mg(p);try{let x=await OE([C],{service:o});return x.auth=d,x}catch(x){throw new eu(b,_)}}}static async connect({http:e,onProgress:r,corsProxy:i,service:n,url:s,auth:a,body:o,headers:l}){let c=ME(s);c&&(s=c.url),i&&(s=LE(i,s)),l["content-type"]=`application/x-${n}-request`,l.accept=`application/x-${n}-result`,NE(l,a);let u=await e.request({onProgress:r,method:"POST",url:`${s}/${n}`,body:o,headers:l});if(u.statusCode!==200){let{response:f}=Mg(u);throw new qo(u.statusCode,u.statusMessage,f)}return u}},el=class{static getRemoteHelperFor({url:e}){let r=new Map;r.set("http",Jo),r.set("https",Jo);let i=GL({url:e});if(!i)throw new ru(e);if(r.has(i.transport))return r.get(i.transport);throw new tu(e,i.transport,i.transport==="ssh"?UL(e):void 0)}};function GL({url:t}){if(t.startsWith("git@"))return{transport:"ssh",address:t};let e=t.match(/(\w+)(:\/\/|::)(.*)/);if(e!==null){if(e[2]==="://")return{transport:e[1],address:e[0]};if(e[2]==="::")return{transport:e[1],address:e[3]}}}var ma=null,Ea=class{static async read({fs:e,gitdir:r}){ma===null&&(ma=new Vo.default);let i=B(r,"shallow"),n=new Set;return await ma.acquire(i,async function(){let s=await e.read(i,{encoding:"utf8"});if(s===null||s.trim()==="")return n;s.trim().split(` `).map(a=>n.add(a))}),n}static async write({fs:e,gitdir:r,oids:i}){ma===null&&(ma=new Vo.default);let n=B(r,"shallow");if(i.size>0){let s=[...i].join(` `)+` `;await ma.acquire(n,async function(){await e.write(n,s,{encoding:"utf8"})})}else await ma.acquire(n,async function(){await e.rm(n)})}};async function jL({fs:t,gitdir:e,oid:r}){let i=`objects/${r.slice(0,2)}/${r.slice(2)}`;return t.exists(`${e}/${i}`)}async function VL({fs:t,cache:e,gitdir:r,oid:i,getExternalRefDelta:n}){let s=await t.readdir(B(r,"objects/pack"));s=s.filter(a=>a.endsWith(".idx"));for(let a of s){let o=`${r}/objects/pack/${a}`,l=await Zg({fs:t,cache:e,filename:o,getExternalRefDelta:n});if(l.error)throw new he(l.error);if(l.offsets.has(i))return!0}return!1}async function BE({fs:t,cache:e,gitdir:r,oid:i,format:n="content"}){let s=o=>tt({fs:t,cache:e,gitdir:r,oid:o}),a=await jL({fs:t,gitdir:r,oid:i});return a||(a=await VL({fs:t,cache:e,gitdir:r,oid:i,getExternalRefDelta:s})),a}function Sd({config:t,onAuth:e}){return e&&(async(r,i)=>{let n=i.username||await t.get(`credential.${r}.username`);return e(r,n?{...i,username:n}:i)})}function zL(t){let n="5041434b"+"00000002"+"00000000";return t.slice(0,12).toString("hex")===n}function fS(t,e){let r=t.map(i=>i.split("=",1)[0]);return e.filter(i=>{let n=i.split("=",1)[0];return r.includes(n)})}var Rd={name:"isomorphic-git",version:"1.40.0",agent:"git/isomorphic-git@1.40.0"},jo=class{constructor(){this._queue=[]}write(e){if(this._ended)throw Error("You cannot write to a FIFO that has already been ended!");if(this._waiting){let r=this._waiting;this._waiting=null,r({value:e})}else this._queue.push(e)}end(){if(this._ended=!0,this._waiting){let e=this._waiting;this._waiting=null,e({done:!0})}}destroy(e){this.error=e,this.end()}async next(){if(this._queue.length>0)return{value:this._queue.shift()};if(this._ended)return{done:!0};if(this._waiting)throw Error("You cannot call read until the previous call to read has returned!");return new Promise(e=>{this._waiting=e})}};function WL(t){let e=t.indexOf("\r"),r=t.indexOf(` `);return e===-1&&r===-1?-1:e===-1?r+1:r===-1?e+1:r===e+1?r+1:Math.min(e,r)+1}function dS(t){let e=new jo,r="";return(async()=>(await hu(t,i=>{for(i=i.toString("utf8"),r+=i;;){let n=WL(r);if(n===-1)break;e.write(r.slice(0,n)),r=r.slice(n)}}),r.length>0&&e.write(r),e.end()))(),e}var kd=class{static demux(e){let r=ot.streamReader(e),i=new jo,n=new jo,s=new jo,a=async function(){let o=await r();if(o===null)return a();if(o===!0){i.end(),s.end(),e.error?n.destroy(e.error):n.end();return}switch(o[0]){case 1:{n.write(o.slice(1));break}case 2:{s.write(o.slice(1));break}case 3:{let l=o.slice(1);s.write(l),i.end(),s.end(),n.destroy(new Error(l.toString("utf8")));return}default:i.write(o)}a()};return a(),{packetlines:i,packfile:n,progress:s}}};async function qL(t){let{packetlines:e,packfile:r,progress:i}=kd.demux(t),n=[],s=[],a=[],o=!1,l=!1;return new Promise((c,u)=>{hu(e,f=>{let d=f.toString("utf8").trim();if(d.startsWith("shallow")){let h=d.slice(-41).trim();h.length!==40&&u(new Rs(h)),n.push(h)}else if(d.startsWith("unshallow")){let h=d.slice(-41).trim();h.length!==40&&u(new Rs(h)),s.push(h)}else if(d.startsWith("ACK")){let[,h,p]=d.split(" ");a.push({oid:h,status:p}),p||(l=!0)}else d.startsWith("NAK")?(o=!0,l=!0):(l=!0,o=!0);l&&(t.error?u(t.error):c({shallows:n,unshallows:s,acks:a,nak:o,packfile:r,progress:i}))}).finally(()=>{l||(t.error?u(t.error):c({shallows:n,unshallows:s,acks:a,nak:o,packfile:r,progress:i}))})})}function YL({capabilities:t=[],wants:e=[],haves:r=[],shallows:i=[],depth:n=null,since:s=null,exclude:a=[]}){let o=[];e=[...new Set(e)];let l=` ${t.join(" ")}`;for(let c of e)o.push(ot.encode(`want ${c}${l} `)),l="";for(let c of i)o.push(ot.encode(`shallow ${c} `));n!==null&&o.push(ot.encode(`deepen ${n} `)),s!==null&&o.push(ot.encode(`deepen-since ${Math.floor(s.valueOf()/1e3)} `));for(let c of a)o.push(ot.encode(`deepen-not ${c} `));o.push(ot.flush());for(let c of r)o.push(ot.encode(`have ${c} `));return o.push(ot.encode(`done `)),o}async function Xg({fs:t,cache:e,http:r,onProgress:i,onMessage:n,onAuth:s,onAuthSuccess:a,onAuthFailure:o,gitdir:l,ref:c,remoteRef:u,remote:f,url:d,corsProxy:h,depth:p=null,since:g=null,exclude:v=[],relative:b=!1,tags:_=!1,singleBranch:C=!1,headers:x={},prune:S=!1,pruneTags:A=!1}){let w=c||await Ds({fs:t,gitdir:l,test:!0}),E=await ht.get({fs:t,gitdir:l}),y=f||w&&await E.get(`branch.${w}.remote`)||"origin",P=d||await E.get(`remote.${y}.url`);if(typeof P=="undefined")throw new Ir("remote OR url");let T=u||w&&await E.get(`branch.${w}.merge`)||c||"HEAD";h===void 0&&(h=await E.get("http.corsProxy"));let I=el.getRemoteHelperFor({url:P}),L=await I.discover({http:r,onAuth:Sd({config:E,onAuth:s}),onAuthSuccess:a,onAuthFailure:Sd({config:E,onAuth:o}),corsProxy:h,service:"git-upload-pack",url:P,headers:x,protocolVersion:1}),H=L.auth,te=L.refs;if(te.size===0)return{defaultBranch:null,fetchHead:null,fetchHeadDescription:null};if(p!==null&&!L.capabilities.has("shallow"))throw new Ps("shallow","depth");if(g!==null&&!L.capabilities.has("deepen-since"))throw new Ps("deepen-since","since");if(v.length>0&&!L.capabilities.has("deepen-not"))throw new Ps("deepen-not","exclude");if(b===!0&&!L.capabilities.has("deepen-relative"))throw new Ps("deepen-relative","relative");let{oid:xe,fullref:Z}=q.resolveAgainstMap({ref:T,map:te});for(let N of te.keys())N===Z||N==="HEAD"||N.startsWith("refs/heads/")||_&&N.startsWith("refs/tags/")||te.delete(N);let K=fS([...L.capabilities],["multi_ack_detailed","no-done","side-band-64k","ofs-delta",`agent=${Rd.agent}`]);b&&K.push("deepen-relative");let ce=C?[xe]:te.values(),pe=C?[w]:await q.listRefs({fs:t,gitdir:l,filepath:"refs"}),W=[];for(let N of pe)try{N=await q.expand({fs:t,gitdir:l,ref:N});let O=await q.resolve({fs:t,gitdir:l,ref:N});await BE({fs:t,cache:e,gitdir:l,oid:O})&&W.push(O)}catch(O){}W=[...new Set(W)];let X=await Ea.read({fs:t,gitdir:l}),G=L.capabilities.has("shallow")?[...X]:[],Be=YL({capabilities:K,wants:ce,haves:W,shallows:G,depth:p,since:g,exclude:v}),pr=k.from(await Ed(Be)),Ut=await I.connect({http:r,onProgress:i,corsProxy:h,service:"git-upload-pack",url:P,auth:H,body:[pr],headers:x}),Ie=await qL(Ut.body);Ut.headers&&(Ie.headers=Ut.headers);for(let N of Ie.shallows)if(!X.has(N))try{let{object:O}=await tt({fs:t,cache:e,gitdir:l,oid:N}),ue=new Dr(O),$e=await Promise.all(ue.headers().parent.map(Tr=>BE({fs:t,cache:e,gitdir:l,oid:Tr})));$e.length===0||$e.every(Tr=>Tr)||X.add(N)}catch(O){X.add(N)}for(let N of Ie.unshallows)X.delete(N);if(await Ea.write({fs:t,gitdir:l,oids:X}),C){let N=new Map([[Z,xe]]),O=new Map,ue=10,$e=Z;for(;ue--;){let go=L.symrefs.get($e);if(go===void 0)break;O.set($e,go),$e=go}let Gt=te.get($e);Gt&&N.set($e,Gt);let{pruned:Tr}=await q.updateRemoteRefs({fs:t,gitdir:l,remote:y,refs:N,symrefs:O,tags:_,prune:S});S&&(Ie.pruned=Tr)}else{let{pruned:N}=await q.updateRemoteRefs({fs:t,gitdir:l,remote:y,refs:te,symrefs:L.symrefs,tags:_,prune:S,pruneTags:A});S&&(Ie.pruned=N)}if(Ie.HEAD=L.symrefs.get("HEAD"),Ie.HEAD===void 0){let{oid:N}=q.resolveAgainstMap({ref:"HEAD",map:te});for(let[O,ue]of te.entries())if(O!=="HEAD"&&ue===N){Ie.HEAD=O;break}}let Rt=Z.startsWith("refs/tags")?"tag":"branch";if(Ie.FETCH_HEAD={oid:xe,description:`${Rt} '${ga(Z)}' of ${P}`},i||n){let N=dS(Ie.progress);hu(N,async O=>{if(n&&await n(O),i){let ue=O.match(/([^:]*).*\((\d+?)\/(\d+?)\)/);ue&&await i({phase:ue[1].trim(),loaded:parseInt(ue[2],10),total:parseInt(ue[3],10)})}})}let $t=k.from(await Ed(Ie.packfile));if(Ut.body.error)throw Ut.body.error;let Xe=$t.slice(-20).toString("hex"),ee={defaultBranch:Ie.HEAD,fetchHead:Ie.FETCH_HEAD.oid,fetchHeadDescription:Ie.FETCH_HEAD.description};if(Ie.headers&&(ee.headers=Ie.headers),S&&(ee.pruned=Ie.pruned),Xe!==""&&!zL($t)){ee.packfile=`objects/pack/pack-${Xe}.pack`;let N=B(l,ee.packfile);await t.write(N,$t);let O=$e=>tt({fs:t,cache:e,gitdir:l,oid:$e}),ue=await jc.fromPack({pack:$t,getExternalRefDelta:O,onProgress:i});await t.write(N.replace(/\.pack$/,".idx"),await ue.toBuffer())}return ee}async function hS({fs:t,bare:e=!1,dir:r,gitdir:i=e?r:B(r,".git"),defaultBranch:n="master"}){if(await t.exists(i+"/config"))return;let s=["hooks","info","objects/info","objects/pack","refs/heads","refs/tags"];s=s.map(a=>i+"/"+a);for(let a of s)await t.mkdir(a);await t.write(i+"/config",`[core] repositoryformatversion = 0 filemode = false bare = ${e} `+(e?"":` logallrefupdates = true `)+` symlinks = false ignorecase = true `),await t.write(i+"/HEAD",`ref: refs/heads/${n} `)}async function ZL({fs:t,cache:e,http:r,onProgress:i,onMessage:n,onAuth:s,onAuthSuccess:a,onAuthFailure:o,onPostCheckout:l,dir:c,gitdir:u,url:f,corsProxy:d,ref:h,remote:p,depth:g,since:v,exclude:b,relative:_,singleBranch:C,noCheckout:x,noTags:S,headers:A,nonBlocking:w,batchSize:E=100}){try{if(await hS({fs:t,gitdir:u}),await sS({fs:t,gitdir:u,remote:p,url:f,force:!1}),d){let T=await ht.get({fs:t,gitdir:u});await T.set("http.corsProxy",d),await ht.save({fs:t,gitdir:u,config:T})}let{defaultBranch:y,fetchHead:P}=await Xg({fs:t,cache:e,http:r,onProgress:i,onMessage:n,onAuth:s,onAuthSuccess:a,onAuthFailure:o,gitdir:u,ref:h,remote:p,corsProxy:d,depth:g,since:v,exclude:b,relative:_,singleBranch:C,headers:A,tags:!S});if(P===null)return;h=h||y,h=h.replace("refs/heads/",""),await Kg({fs:t,cache:e,onProgress:i,onPostCheckout:l,dir:c,gitdir:u,ref:h,remote:p,noCheckout:x,nonBlocking:w,batchSize:E})}catch(y){throw await t.rmdir(u,{recursive:!0,maxRetries:10}).catch(()=>{}),y}}async function KL({fs:t,http:e,onProgress:r,onMessage:i,onAuth:n,onAuthSuccess:s,onAuthFailure:a,onPostCheckout:o,dir:l,gitdir:c=B(l,".git"),url:u,corsProxy:f=void 0,ref:d=void 0,remote:h="origin",depth:p=void 0,since:g=void 0,exclude:v=[],relative:b=!1,singleBranch:_=!1,noCheckout:C=!1,noTags:x=!1,headers:S={},cache:A={},nonBlocking:w=!1,batchSize:E=100}){try{R("fs",t),R("http",e),R("gitdir",c),C||R("dir",l),R("url",u);let y=new J(t),P=await re({fsp:y,dotgit:c});return await ZL({fs:y,cache:A,http:e,onProgress:r,onMessage:i,onAuth:n,onAuthSuccess:s,onAuthFailure:a,onPostCheckout:o,dir:l,gitdir:P,url:u,corsProxy:f,ref:d,remote:h,depth:p,since:g,exclude:v,relative:b,singleBranch:_,noCheckout:C,noTags:x,headers:S,nonBlocking:w,batchSize:E})}catch(y){throw y.caller="git.clone",y}}async function XL({fs:t,onSign:e,dir:r,gitdir:i=B(r,".git"),message:n,author:s,committer:a,signingKey:o,amend:l=!1,dryRun:c=!1,noUpdateBranch:u=!1,disallowEmpty:f=!1,ref:d,parent:h,tree:p,cache:g={}}){try{R("fs",t),l||R("message",n),o&&R("onSign",e);let v=new J(t),b=await re({fsp:v,dotgit:i});return await uu({fs:v,cache:g,onSign:e,gitdir:b,message:n,author:s,committer:a,signingKey:o,amend:l,dryRun:c,noUpdateBranch:u,disallowEmpty:f,ref:d,parent:h,tree:p})}catch(v){throw v.caller="git.commit",v}}async function QL({fs:t,dir:e,gitdir:r=B(e,".git"),fullname:i=!1,test:n=!1}){try{R("fs",t),R("gitdir",r);let s=new J(t),a=await re({fsp:s,dotgit:r});return await Ds({fs:s,gitdir:a,fullname:i,test:n})}catch(s){throw s.caller="git.currentBranch",s}}async function JL({fs:t,gitdir:e,ref:r}){if(r=r.startsWith("refs/heads/")?r:`refs/heads/${r}`,!await q.exists({fs:t,gitdir:e,ref:r}))throw new Ve(r);let n=await q.expand({fs:t,gitdir:e,ref:r}),s=await Ds({fs:t,gitdir:e,fullname:!0});if(n===s){let l=await q.resolve({fs:t,gitdir:e,ref:n});await q.writeRef({fs:t,gitdir:e,ref:"HEAD",value:l})}await q.deleteRef({fs:t,gitdir:e,ref:n});let a=ga(r),o=await ht.get({fs:t,gitdir:e});await o.deleteSection("branch",a),await ht.save({fs:t,gitdir:e,config:o})}async function eN({fs:t,dir:e,gitdir:r=B(e,".git"),ref:i}){try{R("fs",t),R("ref",i);let n=new J(t),s=await re({fsp:n,dotgit:r});return await JL({fs:n,gitdir:s,ref:i})}catch(n){throw n.caller="git.deleteBranch",n}}async function tN({fs:t,dir:e,gitdir:r=B(e,".git"),ref:i}){try{R("fs",t),R("ref",i);let n=new J(t),s=await re({fsp:n,dotgit:r});await q.deleteRef({fs:n,gitdir:s,ref:i})}catch(n){throw n.caller="git.deleteRef",n}}async function rN({fs:t,gitdir:e,remote:r}){let i=await ht.get({fs:t,gitdir:e});await i.deleteSection("remote",r),await ht.save({fs:t,gitdir:e,config:i})}async function iN({fs:t,dir:e,gitdir:r=B(e,".git"),remote:i}){try{R("fs",t),R("remote",i);let n=new J(t),s=await re({fsp:n,dotgit:r});return await rN({fs:n,gitdir:s,remote:i})}catch(n){throw n.caller="git.deleteRemote",n}}async function nN({fs:t,gitdir:e,ref:r}){r=r.startsWith("refs/tags/")?r:`refs/tags/${r}`,await q.deleteRef({fs:t,gitdir:e,ref:r})}async function sN({fs:t,dir:e,gitdir:r=B(e,".git"),ref:i}){try{R("fs",t),R("ref",i);let n=new J(t),s=await re({fsp:n,dotgit:r});return await nN({fs:n,gitdir:s,ref:i})}catch(n){throw n.caller="git.deleteTag",n}}async function aN({fs:t,gitdir:e,oid:r}){let i=r.slice(0,2);return(await t.readdir(`${e}/objects/${i}`)).map(s=>`${i}${s}`).filter(s=>s.startsWith(r))}async function oN({fs:t,cache:e,gitdir:r,oid:i,getExternalRefDelta:n}){let s=[],a=await t.readdir(B(r,"objects/pack"));a=a.filter(o=>o.endsWith(".idx"));for(let o of a){let l=`${r}/objects/pack/${o}`,c=await Zg({fs:t,cache:e,filename:l,getExternalRefDelta:n});if(c.error)throw new he(c.error);for(let u of c.offsets.keys())u.startsWith(i)&&s.push(u)}return s}async function lN({fs:t,cache:e,gitdir:r,oid:i}){let n=o=>tt({fs:t,cache:e,gitdir:r,oid:o}),s=await aN({fs:t,gitdir:r,oid:i}),a=await oN({fs:t,cache:e,gitdir:r,oid:i,getExternalRefDelta:n});for(let o of a)s.indexOf(o)===-1&&s.push(o);if(s.length===1)return s[0];throw s.length>1?new Vc("oids",i,s):new Ve(`an object matching "${i}"`)}async function cN({fs:t,dir:e,gitdir:r=B(e,".git"),oid:i,cache:n={}}){try{R("fs",t),R("gitdir",r),R("oid",i);let s=new J(t),a=await re({fsp:s,dotgit:r});return await lN({fs:s,cache:n,gitdir:a,oid:i})}catch(s){throw s.caller="git.expandOid",s}}async function uN({fs:t,dir:e,gitdir:r=B(e,".git"),ref:i}){try{R("fs",t),R("gitdir",r),R("ref",i);let n=new J(t),s=await re({fsp:n,dotgit:r});return await q.expand({fs:n,gitdir:s,ref:i})}catch(n){throw n.caller="git.expandRef",n}}async function Qg({fs:t,cache:e,gitdir:r,oids:i}){let n={},s=i.length,a=i.map((o,l)=>({index:l,oid:o}));for(;a.length;){let o=new Set;for(let{oid:c,index:u}of a)n[c]||(n[c]=new Set),n[c].add(u),n[c].size===s&&o.add(c);if(o.size>0)return[...o];let l=new Map;for(let{oid:c,index:u}of a)try{let{object:f}=await tt({fs:t,cache:e,gitdir:r,oid:c}),d=Dr.from(f),{parent:h}=d.parseHeaders();for(let p of h)(!n[p]||!n[p].has(u))&&l.set(p+":"+u,{oid:p,index:u})}catch(f){}a=Array.from(l.values())}return[]}async function pS({fs:t,cache:e,dir:r,gitdir:i,ours:n,theirs:s,fastForward:a=!0,fastForwardOnly:o=!1,dryRun:l=!1,noUpdateBranch:c=!1,abortOnConflict:u=!0,message:f,author:d,committer:h,signingKey:p,onSign:g,mergeDriver:v,allowUnrelatedHistories:b=!1}){n===void 0&&(n=await Ds({fs:t,gitdir:i,fullname:!0})),n=await q.expand({fs:t,gitdir:i,ref:n}),s=await q.expand({fs:t,gitdir:i,ref:s});let _=await q.resolve({fs:t,gitdir:i,ref:n}),C=await q.resolve({fs:t,gitdir:i,ref:s}),x=await Qg({fs:t,cache:e,gitdir:i,oids:[_,C]});if(x.length!==1)if(x.length===0&&b)x.push("4b825dc642cb6eb9a060e54bf8d69288fbee4904");else throw new Yo;let S=x[0];if(S===C)return{oid:_,alreadyMerged:!0};if(a&&S===_)return!l&&!c&&await q.writeRef({fs:t,gitdir:i,ref:n,value:C}),{oid:C,fastForward:!0};{if(o)throw new Xc;let A=await dt.acquire({fs:t,gitdir:i,cache:e,allowUnmerged:!1},async E=>lS({fs:t,cache:e,dir:r,gitdir:i,index:E,ourOid:_,theirOid:C,baseOid:S,ourName:ga(n),baseName:"base",theirName:ga(s),dryRun:l,abortOnConflict:u,mergeDriver:v}));if(A instanceof ba)throw A;return f||(f=`Merge branch '${ga(s)}' into ${ga(n)}`),{oid:await uu({fs:t,cache:e,gitdir:i,message:f,ref:n,tree:A,parent:[_,C],author:d,committer:h,signingKey:p,onSign:g,dryRun:l,noUpdateBranch:c}),tree:A,mergeCommit:!0}}}async function mS({fs:t,cache:e,http:r,onProgress:i,onMessage:n,onAuth:s,onAuthSuccess:a,onAuthFailure:o,dir:l,gitdir:c,ref:u,url:f,remote:d,remoteRef:h,prune:p,pruneTags:g,fastForward:v,fastForwardOnly:b,corsProxy:_,singleBranch:C,headers:x,author:S,committer:A,signingKey:w}){try{if(!u){let P=await Ds({fs:t,gitdir:c});if(!P)throw new Ir("ref");u=P}let{fetchHead:E,fetchHeadDescription:y}=await Xg({fs:t,cache:e,http:r,onProgress:i,onMessage:n,onAuth:s,onAuthSuccess:a,onAuthFailure:o,gitdir:c,corsProxy:_,ref:u,url:f,remote:d,remoteRef:h,singleBranch:C,headers:x,prune:p,pruneTags:g});await pS({fs:t,cache:e,gitdir:c,ours:u,theirs:E,fastForward:v,fastForwardOnly:b,message:`Merge ${y}`,author:S,committer:A,signingKey:w,dryRun:!1,noUpdateBranch:!1}),await Kg({fs:t,cache:e,onProgress:i,dir:l,gitdir:c,ref:u,remote:d,noCheckout:!1})}catch(E){throw E.caller="git.pull",E}}async function fN({fs:t,http:e,onProgress:r,onMessage:i,onAuth:n,onAuthSuccess:s,onAuthFailure:a,dir:o,gitdir:l=B(o,".git"),ref:c,url:u,remote:f,remoteRef:d,corsProxy:h,singleBranch:p,headers:g={},cache:v={}}){try{R("fs",t),R("http",e),R("gitdir",l);let b={name:"",email:"",timestamp:Date.now(),timezoneOffset:0},_=new J(t),C=await re({fsp:_,dotgit:l});return await mS({fs:_,cache:v,http:e,onProgress:r,onMessage:i,onAuth:n,onAuthSuccess:s,onAuthFailure:a,dir:o,gitdir:C,ref:c,url:u,remote:f,remoteRef:d,fastForwardOnly:!0,corsProxy:h,singleBranch:p,headers:g,author:b,committer:b})}catch(b){throw b.caller="git.fastForward",b}}async function dN({fs:t,http:e,onProgress:r,onMessage:i,onAuth:n,onAuthSuccess:s,onAuthFailure:a,dir:o,gitdir:l=B(o,".git"),ref:c,remote:u,remoteRef:f,url:d,corsProxy:h,depth:p=null,since:g=null,exclude:v=[],relative:b=!1,tags:_=!1,singleBranch:C=!1,headers:x={},prune:S=!1,pruneTags:A=!1,cache:w={}}){try{R("fs",t),R("http",e),R("gitdir",l);let E=new J(t),y=await re({fsp:E,dotgit:l});return await Xg({fs:E,cache:w,http:e,onProgress:r,onMessage:i,onAuth:n,onAuthSuccess:s,onAuthFailure:a,gitdir:y,ref:c,remote:u,remoteRef:f,url:d,corsProxy:h,depth:p,since:g,exclude:v,relative:b,tags:_,singleBranch:C,headers:x,prune:S,pruneTags:A})}catch(E){throw E.caller="git.fetch",E}}async function hN({fs:t,dir:e,gitdir:r=B(e,".git"),oids:i,cache:n={}}){try{R("fs",t),R("gitdir",r),R("oids",i);let s=new J(t),a=await re({fsp:s,dotgit:r});return await Qg({fs:s,cache:n,gitdir:a,oids:i})}catch(s){throw s.caller="git.findMergeBase",s}}async function gS({fs:t,filepath:e}){if(await t.exists(B(e,".git")))return e;{let r=wa(e);if(r===e)throw new Ve(`git root for ${e}`);return gS({fs:t,filepath:r})}}async function pN({fs:t,filepath:e}){try{return R("fs",t),R("filepath",e),await gS({fs:new J(t),filepath:e})}catch(r){throw r.caller="git.findRoot",r}}async function mN({fs:t,dir:e,gitdir:r=B(e,".git"),path:i}){try{R("fs",t),R("gitdir",r),R("path",i);let n=new J(t),s=await re({fsp:n,dotgit:r});return await su({fs:n,gitdir:s,path:i})}catch(n){throw n.caller="git.getConfig",n}}async function gN({fs:t,gitdir:e,path:r}){return(await ht.get({fs:t,gitdir:e})).getall(r)}async function vN({fs:t,dir:e,gitdir:r=B(e,".git"),path:i}){try{R("fs",t),R("gitdir",r),R("path",i);let n=new J(t),s=await re({fsp:n,dotgit:r});return await gN({fs:n,gitdir:s,path:i})}catch(n){throw n.caller="git.getConfigAll",n}}async function wN({http:t,onAuth:e,onAuthSuccess:r,onAuthFailure:i,corsProxy:n,url:s,headers:a={},forPush:o=!1}){try{R("http",t),R("url",s);let c=await el.getRemoteHelperFor({url:s}).discover({http:t,onAuth:e,onAuthSuccess:r,onAuthFailure:i,corsProxy:n,service:o?"git-receive-pack":"git-upload-pack",url:s,headers:a,protocolVersion:1}),u={capabilities:[...c.capabilities]};for(let[f,d]of c.refs){let h=f.split("/"),p=h.pop(),g=u;for(let v of h)g[v]=g[v]||{},g=g[v];g[p]=d}for(let[f,d]of c.symrefs){let h=f.split("/"),p=h.pop(),g=u;for(let v of h)g[v]=g[v]||{},g=g[v];g[p]=d}return u}catch(l){throw l.caller="git.getRemoteInfo",l}}function vS(t,e,r,i){let n=[];for(let[s,a]of t.refs){if(e&&!s.startsWith(e))continue;if(s.endsWith("^{}")){if(i){let l=s.replace("^{}",""),c=n[n.length-1],u=c.ref===l?c:n.find(f=>f.ref===l);if(u===void 0)throw new Error("I did not expect this to happen");u.peeled=a}continue}let o={ref:s,oid:a};r&&t.symrefs.has(s)&&(o.target=t.symrefs.get(s)),n.push(o)}return n}async function bN({http:t,onAuth:e,onAuthSuccess:r,onAuthFailure:i,corsProxy:n,url:s,headers:a={},forPush:o=!1,protocolVersion:l=2}){try{R("http",t),R("url",s);let u=await el.getRemoteHelperFor({url:s}).discover({http:t,onAuth:e,onAuthSuccess:r,onAuthFailure:i,corsProxy:n,service:o?"git-receive-pack":"git-upload-pack",url:s,headers:a,protocolVersion:l});if(u.protocolVersion===2)return{protocolVersion:u.protocolVersion,capabilities:u.capabilities2};let f={};for(let d of u.capabilities){let[h,p]=d.split("=");p?f[h]=p:f[h]=!0}return{protocolVersion:1,capabilities:f,refs:vS(u,void 0,!0,!0)}}catch(c){throw c.caller="git.getRemoteInfo2",c}}async function _N({type:t,object:e,format:r="content",oid:i=void 0}){return r!=="deflated"&&(r!=="wrapped"&&(e=$s.wrap({type:t,object:e})),i=await bn(e)),{oid:i,object:e}}async function yN({object:t}){try{R("object",t),typeof t=="string"?t=k.from(t,"utf8"):t instanceof Uint8Array||(t=new Uint8Array(t));let e="blob",{oid:r,object:i}=await _N({type:e,format:"content",object:t});return{oid:r,type:e,object:i,format:"wrapped"}}catch(e){throw e.caller="git.hashBlob",e}}async function xN({fs:t,cache:e,onProgress:r,dir:i,gitdir:n,filepath:s}){try{s=B(i,s);let a=await t.read(s),o=c=>tt({fs:t,cache:e,gitdir:n,oid:c}),l=await jc.fromPack({pack:a,getExternalRefDelta:o,onProgress:r});return await t.write(s.replace(/\.pack$/,".idx"),await l.toBuffer()),{oids:[...l.hashes]}}catch(a){throw a.caller="git.indexPack",a}}async function EN({fs:t,onProgress:e,dir:r,gitdir:i=B(r,".git"),filepath:n,cache:s={}}){try{R("fs",t),R("dir",r),R("gitdir",r),R("filepath",n);let a=new J(t),o=await re({fsp:a,dotgit:i});return await xN({fs:a,cache:s,onProgress:e,dir:r,gitdir:o,filepath:n})}catch(a){throw a.caller="git.indexPack",a}}async function SN({fs:t,bare:e=!1,dir:r,gitdir:i=e?r:B(r,".git"),defaultBranch:n="master"}){try{R("fs",t),R("gitdir",i),e||R("dir",r);let s=new J(t),a=await re({fsp:s,dotgit:i});return await hS({fs:s,bare:e,dir:r,gitdir:a,defaultBranch:n})}catch(s){throw s.caller="git.init",s}}async function wS({fs:t,cache:e,gitdir:r,oid:i,ancestor:n,depth:s}){let a=await Ea.read({fs:t,gitdir:r});if(!i)throw new Ir("oid");if(!n)throw new Ir("ancestor");if(i===n)return!1;let o=[i],l=new Set,c=0;for(;o.length;){if(c++===s)throw new Jc(s);let u=o.shift(),{type:f,object:d}=await tt({fs:t,cache:e,gitdir:r,oid:u});if(f!=="commit")throw new br(u,f,"commit");let h=Dr.from(d).parse();for(let p of h.parent)if(p===n)return!0;if(!a.has(u))for(let p of h.parent)l.has(p)||(o.push(p),l.add(p))}return!1}async function kN({fs:t,dir:e,gitdir:r=B(e,".git"),oid:i,ancestor:n,depth:s=-1,cache:a={}}){try{R("fs",t),R("gitdir",r),R("oid",i),R("ancestor",n);let o=new J(t),l=await re({fsp:o,dotgit:r});return await wS({fs:o,cache:a,gitdir:l,oid:i,ancestor:n,depth:s})}catch(o){throw o.caller="git.isDescendent",o}}async function CN({fs:t,dir:e,gitdir:r=B(e,".git"),filepath:i}){try{R("fs",t),R("dir",e),R("gitdir",r),R("filepath",i);let n=new J(t),s=await re({fsp:n,dotgit:r});return Is.isIgnored({fs:n,dir:e,gitdir:s,filepath:i})}catch(n){throw n.caller="git.isIgnored",n}}async function AN({fs:t,dir:e,gitdir:r=B(e,".git"),remote:i}){try{R("fs",t),R("gitdir",r);let n=new J(t),s=await re({fsp:n,dotgit:r});return q.listBranches({fs:n,gitdir:s,remote:i})}catch(n){throw n.caller="git.listBranches",n}}async function TN({fs:t,gitdir:e,ref:r,cache:i}){if(r){let n=await q.resolve({gitdir:e,fs:t,ref:r}),s=[];return await bS({fs:t,cache:i,gitdir:e,oid:n,filenames:s,prefix:""}),s}else return dt.acquire({fs:t,gitdir:e,cache:i},async function(n){return n.entries.map(s=>s.path)})}async function bS({fs:t,cache:e,gitdir:r,oid:i,filenames:n,prefix:s}){let{tree:a}=await rl({fs:t,cache:e,gitdir:r,oid:i});for(let o of a)o.type==="tree"?await bS({fs:t,cache:e,gitdir:r,oid:o.oid,filenames:n,prefix:B(s,o.path)}):n.push(B(s,o.path))}async function PN({fs:t,dir:e,gitdir:r=B(e,".git"),ref:i,cache:n={}}){try{R("fs",t),R("gitdir",r);let s=new J(t),a=await re({fsp:s,dotgit:r});return await TN({fs:s,cache:n,gitdir:a,ref:i})}catch(s){throw s.caller="git.listFiles",s}}async function RN({fs:t,cache:e,gitdir:r,ref:i}){let n;try{n=await q.resolve({gitdir:r,fs:t,ref:i})}catch(o){if(o instanceof Ve)return[]}return(await rl({fs:t,cache:e,gitdir:r,oid:n})).tree.map(o=>({target:o.path,note:o.oid}))}async function $N({fs:t,dir:e,gitdir:r=B(e,".git"),ref:i="refs/notes/commits",cache:n={}}){try{R("fs",t),R("gitdir",r),R("ref",i);let s=new J(t),a=await re({fsp:s,dotgit:r});return await RN({fs:s,cache:n,gitdir:a,ref:i})}catch(s){throw s.caller="git.listNotes",s}}async function FN({fs:t,dir:e,gitdir:r=B(e,".git"),filepath:i}){try{R("fs",t),R("gitdir",r);let n=new J(t),s=await re({fsp:n,dotgit:r});return q.listRefs({fs:n,gitdir:s,filepath:i})}catch(n){throw n.caller="git.listRefs",n}}async function IN({fs:t,gitdir:e}){let r=await ht.get({fs:t,gitdir:e}),i=await r.getSubsections("remote");return Promise.all(i.map(async s=>{let a=await r.get(`remote.${s}.url`);return{remote:s,url:a}}))}async function MN({fs:t,dir:e,gitdir:r=B(e,".git")}){try{R("fs",t),R("gitdir",r);let i=new J(t),n=await re({fsp:i,dotgit:r});return await IN({fs:i,gitdir:n})}catch(i){throw i.caller="git.listRemotes",i}}async function DN(t){let e=ot.streamReader(t),r=[],i;for(;i=await e(),i!==!0;){if(i===null)continue;i=i.toString("utf8").replace(/\n$/,"");let[n,s,...a]=i.split(" "),o={ref:s,oid:n};for(let l of a){let[c,u]=l.split(":");c==="symref-target"?o.target=u:c==="peeled"&&(o.peeled=u)}r.push(o)}return r}async function ON({prefix:t,symrefs:e,peelTags:r}){let i=[];return i.push(ot.encode(`command=ls-refs `)),i.push(ot.encode(`agent=${Rd.agent} `)),(r||e||t)&&i.push(ot.delim()),r&&i.push(ot.encode("peel")),e&&i.push(ot.encode("symrefs")),t&&i.push(ot.encode(`ref-prefix ${t}`)),i.push(ot.flush()),i}async function LN({http:t,onAuth:e,onAuthSuccess:r,onAuthFailure:i,corsProxy:n,url:s,headers:a={},forPush:o=!1,protocolVersion:l=2,prefix:c,symrefs:u,peelTags:f}){try{R("http",t),R("url",s);let d=await Jo.discover({http:t,onAuth:e,onAuthSuccess:r,onAuthFailure:i,corsProxy:n,service:o?"git-receive-pack":"git-upload-pack",url:s,headers:a,protocolVersion:l});if(d.protocolVersion===1)return vS(d,c,u,f);let h=await ON({prefix:c,symrefs:u,peelTags:f}),p=await Jo.connect({http:t,auth:d.auth,headers:a,corsProxy:n,service:o?"git-receive-pack":"git-upload-pack",url:s,body:h});return DN(p.body)}catch(d){throw d.caller="git.listServerRefs",d}}async function NN({fs:t,dir:e,gitdir:r=B(e,".git")}){try{R("fs",t),R("gitdir",r);let i=new J(t),n=await re({fsp:i,dotgit:r});return q.listTags({fs:i,gitdir:n})}catch(i){throw i.caller="git.listTags",i}}function BN(t,e){return t.committer.timestamp-e.committer.timestamp}var HN="e69de29bb2d1d6434b8b29ae775ad8c2e48c5391";async function HE({fs:t,cache:e,gitdir:r,oid:i,fileId:n}){if(n===HN)return;let s=i,a,o=await Xo({fs:t,cache:e,gitdir:r,oid:i}),l=o.tree;return n===o.oid?a=o.path:(a=await _S({fs:t,cache:e,gitdir:r,tree:l,fileId:n,oid:s}),Array.isArray(a)&&(a.length===0?a=void 0:a.length===1&&(a=a[0]))),a}async function _S({fs:t,cache:e,gitdir:r,tree:i,fileId:n,oid:s,filepaths:a=[],parentPath:o=""}){let l=i.entries().map(function(c){let u;return c.oid===n?(u=B(o,c.path),a.push(u)):c.type==="tree"&&(u=tt({fs:t,cache:e,gitdir:r,oid:c.oid}).then(function({object:f}){return _S({fs:t,cache:e,gitdir:r,tree:Mr.from(f),fileId:n,oid:s,filepaths:a,parentPath:B(o,c.path)})})),u});return await Promise.all(l),a}async function UN({fs:t,cache:e,gitdir:r,filepath:i,ref:n,depth:s,since:a,force:o,follow:l,includeChanges:c}){let u=typeof a=="undefined"?void 0:Math.floor(a.valueOf()/1e3),f=[],d=await Ea.read({fs:t,gitdir:r}),h=await q.resolve({fs:t,gitdir:r,ref:n}),p=[await wn({fs:t,cache:e,gitdir:r,oid:h})],g,v,b;function _(C){b&&i&&f.push(C)}for(;p.length>0;){let C=p.pop();if(u!==void 0&&C.commit.committer.timestamp<=u)break;if(i){let x;try{x=await fu({fs:t,cache:e,gitdir:r,oid:C.commit.tree,filepath:i}),v&&g!==x&&f.push(v),g=x,v=C,b=!0}catch(S){if(S instanceof Ve){let A=l&&g;if(A&&(A=await HE({fs:t,cache:e,gitdir:r,oid:C.commit.tree,fileId:g}),A))if(Array.isArray(A)){if(v){let w=await HE({fs:t,cache:e,gitdir:r,oid:v.commit.tree,fileId:g});if(Array.isArray(w))if(A=A.filter(E=>w.indexOf(E)===-1),A.length===1)A=A[0],i=A,v&&f.push(v);else{A=!1,v&&f.push(v);break}}}else i=A,v&&f.push(v);if(!A){if(b&&g&&(f.push(v),!o))break;if(!o&&!l)throw S}v=C,b=!1}else throw S}}else f.push(C);if(s!==void 0&&f.length===s){_(C);break}if(!d.has(C.oid))for(let x of C.commit.parent){let S=await wn({fs:t,cache:e,gitdir:r,oid:x});p.map(A=>A.oid).includes(S.oid)||p.push(S)}p.length===0&&_(C),p.sort((x,S)=>BN(x.commit,S.commit))}if(c)for(let C of f)C.commit.changes=await GN({fs:t,cache:e,gitdir:r,commit:C,shallow:d.has(C.oid)});return f}async function GN({fs:t,cache:e,gitdir:r,commit:i,shallow:n}){let s=n||!i.commit.parent[0]?"4b825dc642cb6eb9a060e54bf8d69288fbee4904":i.commit.parent[0];return Zn({fs:t,cache:e,gitdir:r,trees:[Fr({ref:i.oid}),Fr({ref:s})],map:async(a,[o,l])=>{let[c,u]=await Promise.all([o&&o.type(),l&&l.type()]);if(c==="tree")return u&&u!=="tree"?[null,await l.oid(),a]:void 0;if(u==="tree")return c?[await o.oid(),null,a]:void 0;let[f,d]=await Promise.all([o?o.oid():null,l?l.oid():null]);if(f!==d)return[f,d,a]}})}async function jN({fs:t,dir:e,gitdir:r=B(e,".git"),filepath:i,ref:n="HEAD",depth:s,since:a,force:o,follow:l,includeChanges:c=!1,cache:u={}}){try{R("fs",t),R("gitdir",r),R("ref",n);let f=new J(t),d=await re({fsp:f,dotgit:r});return await UN({fs:f,cache:u,gitdir:d,filepath:i,ref:n,depth:s,since:a,force:o,follow:l,includeChanges:c})}catch(f){throw f.caller="git.log",f}}async function VN({fs:t,onSign:e,dir:r,gitdir:i=B(r,".git"),ours:n,theirs:s,fastForward:a=!0,fastForwardOnly:o=!1,dryRun:l=!1,noUpdateBranch:c=!1,abortOnConflict:u=!0,message:f,author:d,committer:h,signingKey:p,cache:g={},mergeDriver:v,allowUnrelatedHistories:b=!1}){try{R("fs",t),p&&R("onSign",e);let _=new J(t),C=await re({fsp:_,dotgit:i}),x=await Ms({fs:_,gitdir:C,author:d});if(!x&&(!o||!a))throw new Kt("author");let S=await xa({fs:_,gitdir:C,author:x,committer:h});if(!S&&(!o||!a))throw new Kt("committer");return await pS({fs:_,cache:g,dir:r,gitdir:C,ours:n,theirs:s,fastForward:a,fastForwardOnly:o,dryRun:l,noUpdateBranch:c,abortOnConflict:u,message:f,author:x,committer:S,signingKey:p,onSign:e,mergeDriver:v,allowUnrelatedHistories:b})}catch(_){throw _.caller="git.merge",_}}var zN={commit:16,tree:32,blob:48,tag:64,ofs_delta:96,ref_delta:112};async function yS({fs:t,cache:e,dir:r,gitdir:i=B(r,".git"),oids:n}){let s=new Yg.default,a=[];function o(u,f){let d=k.from(u,f);a.push(d),s.update(d)}async function l({stype:u,object:f}){let d=zN[u],h=f.length,p=h>15?128:0,g=h&15;h=h>>>4;let v=(p|d|g).toString(16);for(o(v,"hex");p;)p=h>127?128:0,v=p|h&127,o(qg(2,v),"hex"),h=h>>>7;o(k.from(await JE(f)))}o("PACK"),o("00000002","hex"),o(qg(8,n.length),"hex");for(let u of n){let{type:f,object:d}=await tt({fs:t,cache:e,gitdir:i,oid:u});await l({write:o,object:d,stype:f})}let c=s.digest();return a.push(c),a}async function WN({fs:t,cache:e,gitdir:r,oids:i,write:n}){let s=await yS({fs:t,cache:e,gitdir:r,oids:i}),a=k.from(await Ed(s)),l=`pack-${a.slice(-20).toString("hex")}.pack`;return n?(await t.write(B(r,`objects/pack/${l}`),a),{filename:l}):{filename:l,packfile:new Uint8Array(a)}}async function qN({fs:t,dir:e,gitdir:r=B(e,".git"),oids:i,write:n=!1,cache:s={}}){try{R("fs",t),R("gitdir",r),R("oids",i);let a=new J(t),o=await re({fsp:a,dotgit:r});return await WN({fs:a,cache:s,gitdir:o,oids:i,write:n})}catch(a){throw a.caller="git.packObjects",a}}async function YN({fs:t,http:e,onProgress:r,onMessage:i,onAuth:n,onAuthSuccess:s,onAuthFailure:a,dir:o,gitdir:l=B(o,".git"),ref:c,url:u,remote:f,remoteRef:d,prune:h=!1,pruneTags:p=!1,fastForward:g=!0,fastForwardOnly:v=!1,corsProxy:b,singleBranch:_,headers:C={},author:x,committer:S,signingKey:A,cache:w={}}){try{R("fs",t),R("gitdir",l);let E=new J(t),y=await re({fsp:E,dotgit:l}),P=await Ms({fs:E,gitdir:y,author:x});if(!P)throw new Kt("author");let T=await xa({fs:E,gitdir:y,author:P,committer:S});if(!T)throw new Kt("committer");return await mS({fs:E,cache:w,http:e,onProgress:r,onMessage:i,onAuth:n,onAuthSuccess:s,onAuthFailure:a,dir:o,gitdir:y,ref:c,url:u,remote:f,remoteRef:d,fastForward:g,fastForwardOnly:v,corsProxy:b,singleBranch:_,headers:C,author:P,committer:T,signingKey:A,prune:h,pruneTags:p})}catch(E){throw E.caller="git.pull",E}}async function ZN({fs:t,cache:e,dir:r,gitdir:i=B(r,".git"),start:n,finish:s}){let a=await Ea.read({fs:t,gitdir:i}),o=new Set,l=new Set;for(let f of n)o.add(await q.resolve({fs:t,gitdir:i,ref:f}));for(let f of s)try{let d=await q.resolve({fs:t,gitdir:i,ref:f});l.add(d)}catch(d){}let c=new Set;async function u(f){c.add(f);let{type:d,object:h}=await tt({fs:t,cache:e,gitdir:i,oid:f});if(d==="tag"){let g=Jr.from(h).headers().object;return u(g)}if(d!=="commit")throw new br(f,d,"commit");if(!a.has(f)){let g=Dr.from(h).headers().parent;for(f of g)!l.has(f)&&!c.has(f)&&await u(f)}}for(let f of o)await u(f);return c}async function Dg({fs:t,cache:e,dir:r,gitdir:i=B(r,".git"),oids:n}){let s=new Set;async function a(o){if(s.has(o))return;s.add(o);let{type:l,object:c}=await tt({fs:t,cache:e,gitdir:i,oid:o});if(l==="tag"){let f=Jr.from(c).headers().object;await a(f)}else if(l==="commit"){let f=Dr.from(c).headers().tree;await a(f)}else if(l==="tree"){let u=Mr.from(c);for(let f of u)f.type==="blob"&&s.add(f.oid),f.type==="tree"&&await a(f.oid)}}for(let o of n)await a(o);return s}async function KN(t){let e={},r="",i=ot.streamReader(t),n=await i();for(;n!==!0;)n!==null&&(r+=n.toString("utf8")+` `),n=await i();let s=r.toString("utf8").split(` `);if(n=s.shift(),!n.startsWith("unpack "))throw new ya('unpack ok" or "unpack [error message]',n);e.ok=n==="unpack ok",e.ok||(e.error=n.slice(7)),e.refs={};for(let a of s){if(a.trim()==="")continue;let o=a.slice(0,2),l=a.slice(3),c=l.indexOf(" ");c===-1&&(c=l.length);let u=l.slice(0,c),f=l.slice(c+1);e.refs[u]={ok:o==="ok",error:f}}return e}async function XN({capabilities:t=[],triplets:e=[]}){let r=[],i=`\0 ${t.join(" ")}`;for(let n of e)r.push(ot.encode(`${n.oldoid} ${n.oid} ${n.fullRef}${i} `)),i="";return r.push(ot.flush()),r}async function QN({fs:t,cache:e,http:r,onProgress:i,onMessage:n,onAuth:s,onAuthSuccess:a,onAuthFailure:o,onPrePush:l,gitdir:c,ref:u,remoteRef:f,remote:d,url:h,force:p=!1,delete:g=!1,corsProxy:v,headers:b={}}){let _=u||await Ds({fs:t,gitdir:c});if(typeof _=="undefined")throw new Ir("ref");let C=await ht.get({fs:t,gitdir:c});d=d||await C.get(`branch.${_}.pushRemote`)||await C.get("remote.pushDefault")||await C.get(`branch.${_}.remote`)||"origin";let x=h||await C.get(`remote.${d}.pushurl`)||await C.get(`remote.${d}.url`);if(typeof x=="undefined")throw new Ir("remote OR url");let S=f||await C.get(`branch.${_}.merge`);if(typeof x=="undefined")throw new Ir("remoteRef");v===void 0&&(v=await C.get("http.corsProxy"));let A=await q.expand({fs:t,gitdir:c,ref:_}),w=g?"0000000000000000000000000000000000000000":await q.resolve({fs:t,gitdir:c,ref:A}),E=el.getRemoteHelperFor({url:x}),y=await E.discover({http:r,onAuth:Sd({config:C,onAuth:s}),onAuthSuccess:a,onAuthFailure:Sd({config:C,onAuth:o}),corsProxy:v,service:"git-receive-pack",url:x,headers:b,protocolVersion:1}),P=y.auth,T;if(!S)T=A;else try{T=await q.expandAgainstMap({ref:S,map:y.refs})}catch(X){if(X instanceof Ve)T=S.startsWith("refs/")?S:`refs/heads/${S}`;else throw X}let I=y.refs.get(T)||"0000000000000000000000000000000000000000";if(l&&!await l({remote:d,url:x,localRef:{ref:g?"(delete)":A,oid:w},remoteRef:{ref:T,oid:I}}))throw new Ko;let L=!y.capabilities.has("no-thin"),H=new Set;if(!g){let X=[...y.refs.values()],G=new Set;if(I!=="0000000000000000000000000000000000000000"){let Be=await Qg({fs:t,cache:e,gitdir:c,oids:[w,I]});for(let pr of Be)X.push(pr);L&&(G=await Dg({fs:t,cache:e,gitdir:c,oids:Be}))}if(!X.includes(w)){let Be=await ZN({fs:t,cache:e,gitdir:c,start:[w],finish:X});H=await Dg({fs:t,cache:e,gitdir:c,oids:Be})}if(L){try{let Be=await q.resolve({fs:t,gitdir:c,ref:`refs/remotes/${d}/HEAD`,depth:2}),{oid:pr}=await q.resolveAgainstMap({ref:Be.replace(`refs/remotes/${d}/`,""),fullref:Be,map:y.refs}),Ut=[pr];for(let Ie of await Dg({fs:t,cache:e,gitdir:c,oids:Ut}))G.add(Ie)}catch(Be){}for(let Be of G)H.delete(Be)}if(w===I&&(p=!0),!p){if(A.startsWith("refs/tags")&&I!=="0000000000000000000000000000000000000000")throw new Zo("tag-exists");if(w!=="0000000000000000000000000000000000000000"&&I!=="0000000000000000000000000000000000000000"&&!await wS({fs:t,cache:e,gitdir:c,oid:w,ancestor:I,depth:-1}))throw new Zo("not-fast-forward")}}let te=fS([...y.capabilities],["report-status","side-band-64k",`agent=${Rd.agent}`]),xe=await XN({capabilities:te,triplets:[{oldoid:I,oid:w,fullRef:T}]}),Z=g?[]:await yS({fs:t,cache:e,gitdir:c,oids:[...H]}),K=await E.connect({http:r,onProgress:i,corsProxy:v,service:"git-receive-pack",url:x,auth:P,headers:b,body:[...xe,...Z]}),{packfile:ce,progress:pe}=await kd.demux(K.body);if(n){let X=dS(pe);hu(X,async G=>{await n(G)})}let W=await KN(ce);if(K.headers&&(W.headers=K.headers),d&&W.ok&&W.refs[T].ok&&!A.startsWith("refs/tags")){let X=`refs/remotes/${d}/${T.replace("refs/heads","")}`;g?await q.deleteRef({fs:t,gitdir:c,ref:X}):await q.writeRef({fs:t,gitdir:c,ref:X,value:w})}if(W.ok&&Object.values(W.refs).every(X=>X.ok))return W;{let X=Object.entries(W.refs).filter(([G,Be])=>!Be.ok).map(([G,Be])=>` - ${G}: ${Be.error}`).join("");throw new Qc(X,W)}}async function JN({fs:t,http:e,onProgress:r,onMessage:i,onAuth:n,onAuthSuccess:s,onAuthFailure:a,onPrePush:o,dir:l,gitdir:c=B(l,".git"),ref:u,remoteRef:f,remote:d="origin",url:h,force:p=!1,delete:g=!1,corsProxy:v,headers:b={},cache:_={}}){try{R("fs",t),R("http",e),R("gitdir",c);let C=new J(t),x=await re({fsp:C,dotgit:c});return await QN({fs:C,cache:_,http:e,onProgress:r,onMessage:i,onAuth:n,onAuthSuccess:s,onAuthFailure:a,onPrePush:o,gitdir:x,ref:u,remoteRef:f,remote:d,url:h,force:p,delete:g,corsProxy:v,headers:b})}catch(C){throw C.caller="git.push",C}}async function xS({fs:t,cache:e,gitdir:r,oid:i}){let{type:n,object:s}=await tt({fs:t,cache:e,gitdir:r,oid:i});if(n==="tag")return i=Jr.from(s).parse().object,xS({fs:t,cache:e,gitdir:r,oid:i});if(n!=="blob")throw new br(i,n,"blob");return{oid:i,blob:new Uint8Array(s)}}async function ES({fs:t,cache:e,gitdir:r,oid:i,filepath:n=void 0}){return n!==void 0&&(i=await fu({fs:t,cache:e,gitdir:r,oid:i,filepath:n})),await xS({fs:t,cache:e,gitdir:r,oid:i})}async function pu({fs:t,dir:e,gitdir:r=B(e,".git"),oid:i,filepath:n,cache:s={}}){try{R("fs",t),R("gitdir",r),R("oid",i);let a=new J(t),o=await re({fsp:a,dotgit:r});return await ES({fs:a,cache:s,gitdir:o,oid:i,filepath:n})}catch(a){throw a.caller="git.readBlob",a}}async function SS({fs:t,dir:e,gitdir:r=B(e,".git"),oid:i,cache:n={}}){try{R("fs",t),R("gitdir",r),R("oid",i);let s=new J(t),a=await re({fsp:s,dotgit:r});return await wn({fs:s,cache:n,gitdir:a,oid:i})}catch(s){throw s.caller="git.readCommit",s}}async function eB({fs:t,cache:e,gitdir:r,ref:i="refs/notes/commits",oid:n}){let s=await q.resolve({gitdir:r,fs:t,ref:i}),{blob:a}=await ES({fs:t,cache:e,gitdir:r,oid:s,filepath:n});return a}async function tB({fs:t,dir:e,gitdir:r=B(e,".git"),ref:i="refs/notes/commits",oid:n,cache:s={}}){try{R("fs",t),R("gitdir",r),R("ref",i),R("oid",n);let a=new J(t),o=await re({fsp:a,dotgit:r});return await eB({fs:a,cache:s,gitdir:o,ref:i,oid:n})}catch(a){throw a.caller="git.readNote",a}}async function rB({fs:t,dir:e,gitdir:r=B(e,".git"),oid:i,format:n="parsed",filepath:s=void 0,encoding:a=void 0,cache:o={}}){try{R("fs",t),R("gitdir",r),R("oid",i);let l=new J(t),c=await re({fsp:l,dotgit:r});s!==void 0&&(i=await fu({fs:l,cache:o,gitdir:c,oid:i,filepath:s}));let f=await tt({fs:l,cache:o,gitdir:c,oid:i,format:n==="parsed"?"content":n});if(f.oid=i,n==="parsed")switch(f.format="parsed",f.type){case"commit":f.object=Dr.from(f.object).parse();break;case"tree":f.object=Mr.from(f.object).entries();break;case"blob":a?f.object=f.object.toString(a):(f.object=new Uint8Array(f.object),f.format="content");break;case"tag":f.object=Jr.from(f.object).parse();break;default:throw new br(f.oid,f.type,"blob|commit|tag|tree")}else(f.format==="deflated"||f.format==="wrapped")&&(f.type=f.format);return f}catch(l){throw l.caller="git.readObject",l}}async function iB({fs:t,cache:e,gitdir:r,oid:i}){let{type:n,object:s}=await tt({fs:t,cache:e,gitdir:r,oid:i,format:"content"});if(n!=="tag")throw new br(i,n,"tag");let a=Jr.from(s);return{oid:i,tag:a.parse(),payload:a.payload()}}async function nB({fs:t,dir:e,gitdir:r=B(e,".git"),oid:i,cache:n={}}){try{R("fs",t),R("gitdir",r),R("oid",i);let s=new J(t),a=await re({fsp:s,dotgit:r});return await iB({fs:s,cache:n,gitdir:a,oid:i})}catch(s){throw s.caller="git.readTag",s}}async function sB({fs:t,dir:e,gitdir:r=B(e,".git"),oid:i,filepath:n=void 0,cache:s={}}){try{R("fs",t),R("gitdir",r),R("oid",i);let a=new J(t),o=await re({fsp:a,dotgit:r});return await rl({fs:a,cache:s,gitdir:o,oid:i,filepath:n})}catch(a){throw a.caller="git.readTree",a}}async function aB({fs:t,dir:e,gitdir:r=B(e,".git"),filepath:i,cache:n={}}){try{R("fs",t),R("gitdir",r),R("filepath",i);let s=new J(t),a=await re({fsp:s,dotgit:r});await dt.acquire({fs:s,gitdir:a,cache:n},async function(o){o.delete({filepath:i})})}catch(s){throw s.caller="git.remove",s}}async function oB({fs:t,cache:e,onSign:r,gitdir:i,ref:n="refs/notes/commits",oid:s,author:a,committer:o,signingKey:l}){let c;try{c=await q.resolve({gitdir:i,fs:t,ref:n})}catch(p){if(!(p instanceof Ve))throw p}let f=(await rl({fs:t,cache:e,gitdir:i,oid:c||"4b825dc642cb6eb9a060e54bf8d69288fbee4904"})).tree;f=f.filter(p=>p.path!==s);let d=await du({fs:t,gitdir:i,tree:f});return await uu({fs:t,cache:e,onSign:r,gitdir:i,ref:n,tree:d,parent:c&&[c],message:`Note removed by 'isomorphic-git removeNote' `,author:a,committer:o,signingKey:l})}async function lB({fs:t,onSign:e,dir:r,gitdir:i=B(r,".git"),ref:n="refs/notes/commits",oid:s,author:a,committer:o,signingKey:l,cache:c={}}){try{R("fs",t),R("gitdir",i),R("oid",s);let u=new J(t),f=await re({fsp:u,dotgit:i}),d=await Ms({fs:u,gitdir:f,author:a});if(!d)throw new Kt("author");let h=await xa({fs:u,gitdir:f,author:d,committer:o});if(!h)throw new Kt("committer");return await oB({fs:u,cache:c,onSign:e,gitdir:f,ref:n,oid:s,author:d,committer:h,signingKey:l})}catch(u){throw u.caller="git.removeNote",u}}async function cB({fs:t,gitdir:e,oldref:r,ref:i,checkout:n=!1}){if(!au(i,!0))throw new ji(i,zo.default.clean(i));if(!au(r,!0))throw new ji(r,zo.default.clean(r));let s=`refs/heads/${r}`,a=`refs/heads/${i}`;if(await q.exists({fs:t,gitdir:e,ref:a}))throw new Gi("branch",i,!1);let l=await q.resolve({fs:t,gitdir:e,ref:s,depth:1});await q.writeRef({fs:t,gitdir:e,ref:a,value:l}),await q.deleteRef({fs:t,gitdir:e,ref:s});let u=await Ds({fs:t,gitdir:e,fullname:!0})===s;(n||u)&&await q.writeSymbolicRef({fs:t,gitdir:e,ref:"HEAD",value:a})}async function uB({fs:t,dir:e,gitdir:r=B(e,".git"),ref:i,oldref:n,checkout:s=!1}){try{R("fs",t),R("gitdir",r),R("ref",i),R("oldref",n);let a=new J(t),o=await re({fsp:a,dotgit:r});return await cB({fs:a,gitdir:o,ref:i,oldref:n,checkout:s})}catch(a){throw a.caller="git.renameBranch",a}}async function kS({gitdir:t,type:e,object:r}){return bn($s.wrap({type:e,object:r}))}async function fB({fs:t,dir:e,gitdir:r=B(e,".git"),filepath:i,ref:n,cache:s={}}){try{R("fs",t),R("gitdir",r),R("filepath",i);let a=new J(t),o=await re({fsp:a,dotgit:r}),l,c;try{l=await q.resolve({fs:a,gitdir:o,ref:n||"HEAD"})}catch(d){if(n)throw d}if(l)try{l=await fu({fs:a,cache:s,gitdir:o,oid:l,filepath:i})}catch(d){l=null}let u={ctime:new Date(0),mtime:new Date(0),dev:0,ino:0,mode:0,uid:0,gid:0,size:0},f=e&&await a.read(B(e,i));f&&(c=await kS({gitdir:o,type:"blob",object:f}),l===c&&(u=await a.lstat(B(e,i)))),await dt.acquire({fs:a,gitdir:o,cache:s},async function(d){d.delete({filepath:i}),l&&d.insert({filepath:i,stats:u,oid:l})})}catch(a){throw a.caller="git.reset",a}}async function dB({fs:t,dir:e,gitdir:r=B(e,".git"),ref:i,depth:n}){try{R("fs",t),R("gitdir",r),R("ref",i);let s=new J(t),a=await re({fsp:s,dotgit:r});return await q.resolve({fs:s,gitdir:a,ref:i,depth:n})}catch(s){throw s.caller="git.resolveRef",s}}async function hB({fs:t,dir:e,gitdir:r=B(e,".git"),path:i,value:n,append:s=!1}){try{R("fs",t),R("gitdir",r),R("path",i);let a=new J(t),o=await re({fsp:a,dotgit:r}),l=await ht.get({fs:a,gitdir:o});s?await l.append(i,n):await l.set(i,n),await ht.save({fs:a,gitdir:o,config:l})}catch(a){throw a.caller="git.setConfig",a}}async function CS({fs:t,gitdir:e,commit:r}){let i=Dr.from(r).toObject();return await Or({fs:t,gitdir:e,type:"commit",object:i,format:"content"})}var Cd=class t{static get timezoneOffsetForRefLogEntry(){let e=new Date().getTimezoneOffset(),r=Math.abs(Math.floor(e/60)),i=Math.abs(e%60).toString().padStart(2,"0");return`${e>0?"-":"+"}${r.toString().padStart(2,"0")}${i}`}static createStashReflogEntry(e,r,i){let n=e.name.replace(/\s/g,""),s="0000000000000000000000000000000000000000",a=Math.floor(Date.now()/1e3),o=t.timezoneOffsetForRefLogEntry;return`${s} ${r} ${n} ${e.email} ${a} ${o} ${i} `}static getStashReflogEntry(e,r=!1){return e.split(` `).filter(s=>s).reverse().map((s,a)=>r?`stash@{${a}}: ${s.split(" ")[1]}`:s)}},Sa=class t{constructor({fs:e,dir:r,gitdir:i=B(r,".git")}){Object.assign(this,{fs:e,dir:r,gitdir:i,_author:null})}static get refStash(){return"refs/stash"}static get refLogsStash(){return"logs/refs/stash"}get refStashPath(){return B(this.gitdir,t.refStash)}get refLogsStashPath(){return B(this.gitdir,t.refLogsStash)}async getAuthor(){if(!this._author&&(this._author=await Ms({fs:this.fs,gitdir:this.gitdir,author:{}}),!this._author))throw new Kt("author");return this._author}async getStashSHA(e,r){return await this.fs.exists(this.refStashPath)?(r||await this.readStashReflogs({parsed:!1}))[e].split(" ")[1]:null}async writeStashCommit({message:e,tree:r,parent:i}){return CS({fs:this.fs,gitdir:this.gitdir,commit:{message:e,tree:r,parent:i,author:await this.getAuthor(),committer:await this.getAuthor()}})}async readStashCommit(e){let r=await this.readStashReflogs({parsed:!1});if(e!==0&&(e<0||e>r.length-1))throw new ji(`stash@${e}`,"number that is in range of [0, num of stash pushed]");let i=await this.getStashSHA(e,r);return i?wn({fs:this.fs,cache:{},gitdir:this.gitdir,oid:i}):{}}async writeStashRef(e){return q.writeRef({fs:this.fs,gitdir:this.gitdir,ref:t.refStash,value:e})}async writeStashReflogEntry({stashCommit:e,message:r}){let i=await this.getAuthor(),n=Cd.createStashReflogEntry(i,e,r),s=this.refLogsStashPath;await Qo({filepath:s,entry:n},async()=>{let a=await this.fs.exists(s)?await this.fs.read(s,"utf8"):"";await this.fs.write(s,a+n,"utf8")})}async readStashReflogs({parsed:e=!1}){if(!await this.fs.exists(this.refLogsStashPath))return[];let r=await this.fs.read(this.refLogsStashPath,"utf8");return Cd.getStashReflogEntry(r,e)}};async function AS({fs:t,dir:e,gitdir:r,message:i=""}){let n=new Sa({fs:t,dir:e,gitdir:r});await n.getAuthor();let s=await Ds({fs:t,gitdir:r,fullname:!1}),a=await q.resolve({fs:t,gitdir:r,ref:"HEAD"}),l=(await SS({fs:t,dir:e,gitdir:r,oid:a})).commit.message,c=[a],u=null,f=Fr({ref:"HEAD"}),d=await FE({fs:t,dir:e,gitdir:r,treePair:[Fr({ref:"HEAD"}),"stage"]});if(d){let v=await n.writeStashCommit({message:`stash-Index: WIP on ${s} - ${new Date().toISOString()}`,tree:d,parent:c});c.push(v),u=d,f=tl()}let h=await FE({fs:t,dir:e,gitdir:r,treePair:[f,"workdir"]});if(h){let v=await n.writeStashCommit({message:`stash-WorkDir: WIP on ${s} - ${new Date().toISOString()}`,tree:h,parent:[c[c.length-1]]});c.push(v),u=h}if(!u||!d&&!h)throw new Ve("changes, nothing to stash");let p=(i.trim()||`WIP on ${s}`)+`: ${a.substring(0,7)} ${l}`;return{stashCommit:await n.writeStashCommit({message:p,tree:u,parent:c}),stashMsg:p,branch:s,stashMgr:n}}async function pB({fs:t,dir:e,gitdir:r,message:i=""}){let{stashCommit:n,stashMsg:s,branch:a,stashMgr:o}=await AS({fs:t,dir:e,gitdir:r,message:i});return await o.writeStashRef(n),await o.writeStashReflogEntry({stashCommit:n,message:s}),await oS({fs:t,dir:e,gitdir:r,ref:a,track:!1,force:!0}),n}async function mB({fs:t,dir:e,gitdir:r,message:i=""}){let{stashCommit:n}=await AS({fs:t,dir:e,gitdir:r,message:i});return n}async function TS({fs:t,dir:e,gitdir:r,refIdx:i=0}){let s=await new Sa({fs:t,dir:e,gitdir:r}).readStashCommit(i),{parent:a=null}=s.commit?s.commit:{};if(!(!a||!Array.isArray(a)))for(let o=0;o{await t.exists(a)&&await t.rm(a)});let o=await n.readStashReflogs({parsed:!1});if(!o.length)return;o.splice(i,1);let l=n.refLogsStashPath;await Qo({reflogEntries:o,stashReflogPath:l,stashMgr:n},async()=>{if(o.length){await t.write(l,o.reverse().join(` `)+` `,"utf8");let c=o[o.length-1].split(" ")[1];await n.writeStashRef(c)}else await t.rm(l)})}async function gB({fs:t,dir:e,gitdir:r}){return new Sa({fs:t,dir:e,gitdir:r}).readStashReflogs({parsed:!0})}async function vB({fs:t,dir:e,gitdir:r}){let i=new Sa({fs:t,dir:e,gitdir:r}),n=[i.refStashPath,i.refLogsStashPath];await Qo(n,async()=>{await Promise.all(n.map(async s=>{if(await t.exists(s))return t.rm(s)}))})}async function wB({fs:t,dir:e,gitdir:r,refIdx:i=0}){await TS({fs:t,dir:e,gitdir:r,refIdx:i}),await PS({fs:t,dir:e,gitdir:r,refIdx:i})}async function bB({fs:t,dir:e,gitdir:r=B(e,".git"),op:i="push",message:n="",refIdx:s=0}){R("fs",t),R("dir",e),R("gitdir",r),R("op",i);let a={push:pB,apply:TS,drop:PS,list:gB,clear:vB,pop:wB,create:mB},o=["apply","drop","pop"];try{let l=new J(t),c=await re({fsp:l,dotgit:r});["refs","logs","logs/refs"].map(d=>B(c,d)).forEach(async d=>{await l.exists(d)||await l.mkdir(d)});let f=a[i];if(f){if(o.includes(i)&&s<0)throw new ji(`stash@${s}`,"number that is in range of [0, num of stash pushed]");return await f({fs:l,dir:e,gitdir:c,message:n,refIdx:s})}throw new Error(`To be implemented: ${i}`)}catch(l){throw l.caller="git.stash",l}}async function _B({fs:t,dir:e,gitdir:r=B(e,".git"),filepath:i,cache:n={},refresh:s=!0}){try{R("fs",t),R("gitdir",r),R("filepath",i);let a=new J(t),o=await re({fsp:a,dotgit:r});if(await Is.isIgnored({fs:a,gitdir:o,dir:e,filepath:i}))return"ignored";let c=await yB({fs:a,cache:n,gitdir:o}),u=await RS({fs:a,cache:n,gitdir:o,tree:c,path:i}),f=await dt.acquire({fs:a,gitdir:o,cache:n},async function(b){for(let _ of b)if(_.path===i)return _;return null}),d=await a.lstat(B(e,i)),h=u!==null,p=f!==null,g=d!==null,v=async()=>{if(p&&!gd(f,d))return f.oid;{let b=await a.read(B(e,i)),_=await kS({gitdir:o,type:"blob",object:b});return s&&p&&f.oid===_&&d.size!==-1&&dt.acquire({fs:a,gitdir:o,cache:n},async function(C){C.insert({filepath:i,stats:d,oid:_})}),_}};if(!h&&!g&&!p)return"absent";if(!h&&!g&&p)return"*absent";if(!h&&g&&!p)return"*added";if(!h&&g&&p)return await v()===f.oid?"added":"*added";if(h&&!g&&!p)return"deleted";if(h&&!g&&p)return u===f.oid,"*deleted";if(h&&g&&!p)return await v()===u?"*undeleted":"*undeletemodified";if(h&&g&&p){let b=await v();return b===u?b===f.oid?"unmodified":"*unmodified":b===f.oid?"modified":"*modified"}}catch(a){throw a.caller="git.status",a}}async function RS({fs:t,cache:e,gitdir:r,tree:i,path:n}){typeof n=="string"&&(n=n.split("/"));let s=n.shift();for(let a of i)if(a.path===s){if(n.length===0)return a.oid;let{type:o,object:l}=await tt({fs:t,cache:e,gitdir:r,oid:a.oid});if(o==="tree"){let c=Mr.from(l);return RS({fs:t,cache:e,gitdir:r,tree:c,path:n})}if(o==="blob")throw new br(a.oid,o,"blob",n.join("/"))}return null}async function yB({fs:t,cache:e,gitdir:r}){let i;try{i=await q.resolve({fs:t,gitdir:r,ref:"HEAD"})}catch(s){if(s instanceof Ve)return[]}let{tree:n}=await rl({fs:t,cache:e,gitdir:r,oid:i});return n}async function xB({fs:t,dir:e,gitdir:r=B(e,".git"),ref:i="HEAD",filepaths:n=["."],filter:s,cache:a={},ignored:o=!1,refresh:l=!0}){try{R("fs",t),R("gitdir",r),R("ref",i);let c=new J(t),u=await re({fsp:c,dotgit:r});return await Zn({fs:c,cache:a,dir:e,gitdir:u,trees:[Fr({ref:i}),cu({refresh:l}),tl()],map:async function(f,[d,h,p]){if(!d&&!p&&h&&!o&&await Is.isIgnored({fs:c,dir:e,filepath:f})||!n.some(E=>aS(f,E)))return null;if(s&&!s(f))return;let[g,v,b]=await Promise.all([d&&d.type(),h&&h.type(),p&&p.type()]),_=[g,v,b].includes("blob");if((g==="tree"||g==="special")&&!_)return;if(g==="commit")return null;if((v==="tree"||v==="special")&&!_)return;if(b==="commit")return null;if((b==="tree"||b==="special")&&!_)return;let C=g==="blob"?await d.oid():void 0,x=b==="blob"?await p.oid():void 0,S;g!=="blob"&&v==="blob"&&b!=="blob"?S="42":v==="blob"&&(S=await h.oid());let A=[void 0,C,S,x],w=A.map(E=>A.indexOf(E));return w.shift(),[f,...w]}})}catch(c){throw c.caller="git.statusMatrix",c}}async function EB({fs:t,dir:e,gitdir:r=B(e,".git"),ref:i,object:n,force:s=!1}){try{R("fs",t),R("gitdir",r),R("ref",i);let a=new J(t);if(i===void 0)throw new Ir("ref");i=i.startsWith("refs/tags/")?i:`refs/tags/${i}`;let o=await re({fsp:a,dotgit:r}),l=await q.resolve({fs:a,gitdir:o,ref:n||"HEAD"});if(!s&&await q.exists({fs:a,gitdir:o,ref:i}))throw new Gi("tag",i);await q.writeRef({fs:a,gitdir:o,ref:i,value:l})}catch(a){throw a.caller="git.tag",a}}async function SB({fs:t,dir:e,gitdir:r=B(e,".git"),cache:i={},filepath:n,oid:s,mode:a,add:o,remove:l,force:c}){try{R("fs",t),R("gitdir",r),R("filepath",n);let u=new J(t),f=await re({fsp:u,dotgit:r});if(l)return await dt.acquire({fs:u,gitdir:f,cache:i},async function(h){if(!c){let p=await u.lstat(B(e,n));if(p){if(p.isDirectory())throw new Fs("directory");return}}h.has({filepath:n})&&h.delete({filepath:n})});let d;if(!s){if(d=await u.lstat(B(e,n)),!d)throw new Ve(`file at "${n}" on disk and "remove" not set`);if(d.isDirectory())throw new Fs("directory")}return await dt.acquire({fs:u,gitdir:f,cache:i},async function(h){if(!o&&!h.has({filepath:n}))throw new Ve(`file at "${n}" in index and "add" not set`);let p;if(s)p={ctime:new Date(0),mtime:new Date(0),dev:0,ino:0,mode:a,uid:0,gid:0,size:0};else{p=d;let g=p.isSymbolicLink()?await u.readlink(B(e,n)):await u.read(B(e,n));s=await Or({fs:u,gitdir:f,type:"blob",format:"content",object:g})}return h.insert({filepath:n,oid:s,stats:p}),s})}catch(u){throw u.caller="git.updateIndex",u}}function kB(){try{return Rd.version}catch(t){throw t.caller="git.version",t}}async function CB({fs:t,dir:e,gitdir:r=B(e,".git"),trees:i,map:n,reduce:s,iterate:a,cache:o={}}){try{R("fs",t),R("gitdir",r),R("trees",i);let l=new J(t),c=await re({fsp:l,dotgit:r});return await Zn({fs:l,cache:o,dir:e,gitdir:c,trees:i,map:n,reduce:s,iterate:a})}catch(l){throw l.caller="git.walk",l}}async function AB({fs:t,dir:e,gitdir:r=B(e,".git"),blob:i}){try{R("fs",t),R("gitdir",r),R("blob",i);let n=new J(t),s=await re({fsp:n,dotgit:r});return await Or({fs:n,gitdir:s,type:"blob",object:i,format:"content"})}catch(n){throw n.caller="git.writeBlob",n}}async function TB({fs:t,dir:e,gitdir:r=B(e,".git"),commit:i}){try{R("fs",t),R("gitdir",r),R("commit",i);let n=new J(t),s=await re({fsp:n,dotgit:r});return await CS({fs:n,gitdir:s,commit:i})}catch(n){throw n.caller="git.writeCommit",n}}async function PB({fs:t,dir:e,gitdir:r=B(e,".git"),type:i,object:n,format:s="parsed",oid:a,encoding:o=void 0}){try{let l=new J(t),c=await re({fsp:l,dotgit:r});if(s==="parsed"){switch(i){case"commit":n=Dr.from(n).toObject();break;case"tree":n=Mr.from(n).toObject();break;case"blob":n=k.from(n,o);break;case"tag":n=Jr.from(n).toObject();break;default:throw new br(a||"",i,"blob|commit|tag|tree")}s="content"}return a=await Or({fs:l,gitdir:c,type:i,object:n,oid:a,format:s}),a}catch(l){throw l.caller="git.writeObject",l}}async function RB({fs:t,dir:e,gitdir:r=B(e,".git"),ref:i,value:n,force:s=!1,symbolic:a=!1}){try{R("fs",t),R("gitdir",r),R("ref",i),R("value",n);let o=new J(t);if(!au(i,!0))throw new ji(i,zo.default.clean(i));let l=await re({fsp:o,dotgit:r});if(!s&&await q.exists({fs:o,gitdir:l,ref:i}))throw new Gi("ref",i);a?await q.writeSymbolicRef({fs:o,gitdir:l,ref:i,value:n}):(n=await q.resolve({fs:o,gitdir:l,ref:n}),await q.writeRef({fs:o,gitdir:l,ref:i,value:n}))}catch(o){throw o.caller="git.writeRef",o}}async function $B({fs:t,gitdir:e,tag:r}){let i=Jr.from(r).toObject();return await Or({fs:t,gitdir:e,type:"tag",object:i,format:"content"})}async function FB({fs:t,dir:e,gitdir:r=B(e,".git"),tag:i}){try{R("fs",t),R("gitdir",r),R("tag",i);let n=new J(t),s=await re({fsp:n,dotgit:r});return await $B({fs:n,gitdir:s,tag:i})}catch(n){throw n.caller="git.writeTag",n}}async function IB({fs:t,dir:e,gitdir:r=B(e,".git"),tree:i}){try{R("fs",t),R("gitdir",r),R("tree",i);let n=new J(t),s=await re({fsp:n,dotgit:r});return await du({fs:n,gitdir:s,tree:i})}catch(n){throw n.caller="git.writeTree",n}}var MB={Errors:lu,STAGE:tl,TREE:Fr,WORKDIR:cu,add:yL,abortMerge:vL,addNote:SL,addRemote:CL,annotatedTag:TL,branch:RL,cherryPick:BL,checkout:oS,clone:KL,commit:XL,getConfig:mN,getConfigAll:vN,setConfig:hB,currentBranch:QL,deleteBranch:eN,deleteRef:tN,deleteRemote:iN,deleteTag:sN,expandOid:cN,expandRef:uN,fastForward:fN,fetch:dN,findMergeBase:hN,findRoot:pN,getRemoteInfo:wN,getRemoteInfo2:bN,hashBlob:yN,indexPack:EN,init:SN,isDescendent:kN,isIgnored:CN,listBranches:AN,listFiles:PN,listNotes:$N,listRefs:FN,listRemotes:MN,listServerRefs:LN,listTags:NN,log:jN,merge:VN,packObjects:qN,pull:YN,push:JN,readBlob:pu,readCommit:SS,readNote:tB,readObject:rB,readTag:nB,readTree:sB,remove:aB,removeNote:lB,renameBranch:uB,resetIndex:fB,updateIndex:SB,resolveRef:dB,status:_B,statusMatrix:xB,tag:EB,version:kB,walk:CB,writeBlob:AB,writeCommit:TB,writeObject:PB,writeRef:RB,writeTag:FB,writeTree:IB,stash:bB},de=MB;var ke=require("obsidian"),c$=ft(require("path"),1),Qp=ft(require("fs/promises"),1);m();var It={};m();var $d=class{constructor(e){this.plugin=e;this.tasks=[];this.currentTask=null}addTask(e,r){this.tasks.push({task:e,onFinished:i=>{r&&r(i)}}),this.kickstart()}kickstart(){if(this.currentTask!==null||this.tasks.length===0)return;let e=this.tasks.shift();this.currentTask=Promise.resolve().then(()=>e.task()).then(r=>{try{e.onFinished(r)}catch(i){console.error(i)}},r=>{this.plugin.displayError(r);try{e.onFinished(void 0)}catch(i){console.error(i)}}).finally(()=>{this.currentTask=null,this.kickstart()})}clear(){this.tasks=[]}};m();var j=require("obsidian");m();var $S=require("obsidian"),Fd="YYYY-MM-DD",Jg=`${Fd} HH:mm`,ev=`${Fd} HH:mm:ss`,Id=40,il="conflict-files-obsidian-git.md",pt={commitMessage:"vault backup: {{date}}",autoCommitMessage:"vault backup: {{date}}",commitMessageScript:"",commitDateFormat:ev,autoSaveInterval:0,autoPushInterval:0,autoPullInterval:0,autoPullOnBoot:!1,autoCommitOnlyStaged:!1,disablePush:!1,pullBeforePush:!0,squashCommitsBeforePush:!1,disablePopups:!1,showErrorNotices:!0,disablePopupsForNoChanges:!1,listChangedFilesInMessageBody:!1,showStatusBar:!0,updateSubmodules:!1,syncMethod:"merge",mergeStrategy:"none",customMessageOnAutoBackup:!1,autoBackupAfterFileChange:!1,treeStructure:!1,refreshSourceControl:$S.Platform.isDesktopApp,basePath:"",differentIntervalCommitAndPush:!1,changedFilesInStatusBar:!1,showedMobileNotice:!1,refreshSourceControlTimer:7e3,showBranchStatusBar:!0,setLastSaveToLastCommit:!1,submoduleRecurseCheckout:!1,gitDir:"",showFileMenu:!0,authorInHistoryView:"hide",dateInHistoryView:!1,diffStyle:"split",hunks:{showSigns:!1,hunkCommands:!1,statusBar:"disabled"},lineAuthor:{show:!1,followMovement:"inactive",authorDisplay:"initials",showCommitHash:!1,dateTimeFormatOptions:"date",dateTimeFormatCustomString:Jg,dateTimeTimezone:"viewer-local",coloringMaxAge:"1y",colorNew:{r:255,g:150,b:150},colorOld:{r:120,g:160,b:255},textColorCss:"var(--text-muted)",ignoreWhitespace:!1}},Xt={type:"git-view",name:"Source Control",icon:"git-pull-request"},wi={type:"git-history-view",name:"History",icon:"history"},Os={type:"split-diff-view",name:"Diff view",icon:"diff"},Ls={type:"diff-view",name:"Diff View",icon:"git-pull-request"},Md="C:\\Program Files\\Git\\cmd\\git.exe",Dd=".git_credentials_input",ka="obsidian_askpass.sh",FS=`#!/bin/sh PROMPT="$1" TEMP_FILE="$OBSIDIAN_GIT_CREDENTIALS_INPUT" cleanup() { rm -f "$TEMP_FILE" "$TEMP_FILE.response" } trap cleanup EXIT echo "$PROMPT" > "$TEMP_FILE" while [ ! -e "$TEMP_FILE.response" ]; do if [ ! -e "$TEMP_FILE" ]; then echo "Trigger file got removed: Abort" >&2 exit 1 fi sleep 0.1 done RESPONSE=$(cat "$TEMP_FILE.response") echo "$RESPONSE" `,IS=["3dm","3ds","3g2","3gp","7z","a","aac","adp","afdesign","afphoto","afpub","ai","aif","aiff","alz","ape","apk","appimage","ar","arj","asf","au","avi","bak","baml","bh","bin","bk","bmp","btif","bz2","bzip2","cab","caf","cgm","class","cmx","cpio","cr2","cur","dat","dcm","deb","dex","djvu","dll","dmg","dng","doc","docm","docx","dot","dotm","dra","DS_Store","dsk","dts","dtshd","dvb","dwg","dxf","ecelp4800","ecelp7470","ecelp9600","egg","eol","eot","epub","exe","f4v","fbs","fh","fla","flac","flatpak","fli","flv","fpx","fst","fvt","g3","gh","gif","graffle","gz","gzip","h261","h263","h264","icns","ico","ief","img","ipa","iso","jar","jpeg","jpg","jpgv","jpm","jxr","key","ktx","lha","lib","lvp","lz","lzh","lzma","lzo","m3u","m4a","m4v","mar","mdi","mht","mid","midi","mj2","mka","mkv","mmr","mng","mobi","mov","movie","mp3","mp4","mp4a","mpeg","mpg","mpga","mxu","nef","npx","numbers","nupkg","o","odp","ods","odt","oga","ogg","ogv","otf","ott","pages","pbm","pcx","pdb","pdf","pea","pgm","pic","png","pnm","pot","potm","potx","ppa","ppam","ppm","pps","ppsm","ppsx","ppt","pptm","pptx","psd","pya","pyc","pyo","pyv","qt","rar","ras","raw","resources","rgb","rip","rlc","rmf","rmvb","rpm","rtf","rz","s3m","s7z","scpt","sgi","shar","snap","sil","sketch","slk","smv","snk","so","stl","suo","sub","swf","tar","tbz","tbz2","tga","tgz","thmx","tif","tiff","tlz","ttc","ttf","txz","udf","uvh","uvi","uvm","uvp","uvs","uvu","viv","vob","war","wav","wax","wbmp","wdp","weba","webm","webp","whl","wim","wm","wma","wmv","wmx","woff","woff2","wrm","wvx","xbm","xif","xla","xlam","xls","xlsb","xlsm","xlsx","xlt","xltm","xltx","xm","xmind","xpi","xpm","xwd","xz","z","zip","zipx"];m();m();m();var mu=class{diff(e,r,i={}){let n;typeof i=="function"?(n=i,i={}):"callback"in i&&(n=i.callback);let s=this.castInput(e,i),a=this.castInput(r,i),o=this.removeEmpty(this.tokenize(s,i)),l=this.removeEmpty(this.tokenize(a,i));return this.diffWithOptionsObj(o,l,i,n)}diffWithOptionsObj(e,r,i,n){var s;let a=_=>{if(_=this.postProcess(_,i),n){setTimeout(function(){n(_)},0);return}else return _},o=r.length,l=e.length,c=1,u=o+l;i.maxEditLength!=null&&(u=Math.min(u,i.maxEditLength));let f=(s=i.timeout)!==null&&s!==void 0?s:1/0,d=Date.now()+f,h=[{oldPos:-1,lastComponent:void 0}],p=this.extractCommon(h[0],r,e,0,i);if(h[0].oldPos+1>=l&&p+1>=o)return a(this.buildValues(h[0].lastComponent,r,e));let g=-1/0,v=1/0,b=()=>{for(let _=Math.max(g,-c);_<=Math.min(v,c);_+=2){let C,x=h[_-1],S=h[_+1];x&&(h[_-1]=void 0);let A=!1;if(S){let E=S.oldPos-_;A=S&&0<=E&&E=l&&p+1>=o)return a(this.buildValues(C.lastComponent,r,e))||!0;h[_]=C,C.oldPos+1>=l&&(v=Math.min(v,_-1)),p+1>=o&&(g=Math.max(g,_+1))}c++};if(n)(function _(){setTimeout(function(){if(c>u||Date.now()>d)return n(void 0);b()||_()},0)})();else for(;c<=u&&Date.now()<=d;){let _=b();if(_)return _}}addToPath(e,r,i,n,s){let a=e.lastComponent;return a&&!s.oneChangePerToken&&a.added===r&&a.removed===i?{oldPos:e.oldPos+n,lastComponent:{count:a.count+1,added:r,removed:i,previousComponent:a.previousComponent}}:{oldPos:e.oldPos+n,lastComponent:{count:1,added:r,removed:i,previousComponent:a}}}extractCommon(e,r,i,n,s){let a=r.length,o=i.length,l=e.oldPos,c=l-n,u=0;for(;c+1d.length?p:d}),u.value=this.join(f)}else u.value=this.join(r.slice(l,l+u.count));l+=u.count,u.added||(c+=u.count)}}return n}};m();var tv=class extends mu{constructor(){super(...arguments),this.tokenize=OB}equals(e,r,i){return i.ignoreWhitespace?((!i.newlineIsToken||!e.includes(` `))&&(e=e.trim()),(!i.newlineIsToken||!r.includes(` `))&&(r=r.trim())):i.ignoreNewlineAtEof&&!i.newlineIsToken&&(e.endsWith(` `)&&(e=e.slice(0,-1)),r.endsWith(` `)&&(r=r.slice(0,-1))),super.equals(e,r,i)}},DB=new tv;function rv(t,e,r){return DB.diff(t,e,r)}function OB(t,e){e.stripTrailingCr&&(t=t.replace(/\r\n/g,` `));let r=[],i=t.split(/(\n|\r\n)/);i[i.length-1]||i.pop();for(let n=0;n"~"||t[e]==='"'||t[e]==="\\")return!0;return!1}function Ns(t){if(!LB(t))return t;let e='"',r=new TextEncoder().encode(t),i=0;for(;i=32&&n<=126?e+=String.fromCharCode(n):e+="\\"+n.toString(8).padStart(3,"0"),i++}return e+='"',e}var iv={includeIndex:!0,includeUnderline:!0,includeFileHeaders:!0};function nv(t,e,r,i,n,s,a){let o;a?typeof a=="function"?o={callback:a}:o=a:o={},typeof o.context=="undefined"&&(o.context=4);let l=o.context;if(o.newlineIsToken)throw new Error("newlineIsToken may not be used with patch-generation functions, only with diffing functions");if(o.callback){let{callback:u}=o;rv(r,i,Object.assign(Object.assign({},o),{callback:f=>{let d=c(f);u(d)}}))}else return c(rv(r,i,o));function c(u){if(!u)return;u.push({value:"",lines:[]});function f(_){return _.map(function(C){return" "+C})}let d=[],h=0,p=0,g=[],v=1,b=1;for(let _=0;_0?f(S.lines.slice(-l)):[],h-=g.length,p-=g.length)}for(let S of x)g.push((C.added?"+":"-")+S);C.added?b+=x.length:v+=x.length}else{if(h)if(x.length<=l*2&&_1&&!e.includeFileHeaders&&!t.every(u=>u.isGit))throw new 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 t.map(u=>Od(u,e)).join(` `)}let l=[];if(t.isGit){if(e=iv,!t.oldFileName)throw new Error("oldFileName must be specified for Git patches");if(!t.newFileName)throw new Error("newFileName must be specified for Git patches");let u=t.oldFileName,f=t.newFileName;t.isCreate&&u==="/dev/null"?u=f.replace(/^b\//,"a/"):t.isDelete&&f==="/dev/null"&&(f=u.replace(/^a\//,"b/")),l.push("diff --git "+Ns(u)+" "+Ns(f)),t.isDelete&&l.push("deleted file mode "+((r=t.oldMode)!==null&&r!==void 0?r:"100644")),t.isCreate&&l.push("new file mode "+((i=t.newMode)!==null&&i!==void 0?i:"100644")),t.oldMode&&t.newMode&&!t.isDelete&&!t.isCreate&&(l.push("old mode "+t.oldMode),l.push("new mode "+t.newMode)),t.isRename&&(l.push("rename from "+Ns(((n=t.oldFileName)!==null&&n!==void 0?n:"").replace(/^a\//,""))),l.push("rename to "+Ns(((s=t.newFileName)!==null&&s!==void 0?s:"").replace(/^b\//,"")))),t.isCopy&&(l.push("copy from "+Ns(((a=t.oldFileName)!==null&&a!==void 0?a:"").replace(/^a\//,""))),l.push("copy to "+Ns(((o=t.newFileName)!==null&&o!==void 0?o:"").replace(/^b\//,""))))}else e.includeIndex&&t.oldFileName==t.newFileName&&t.oldFileName!==void 0&&l.push("Index: "+t.oldFileName),e.includeUnderline&&l.push("===================================================================");let c=t.hunks.length>0;e.includeFileHeaders&&t.oldFileName!==void 0&&t.newFileName!==void 0&&(!t.isGit||c)&&(l.push("--- "+Ns(t.oldFileName)+(t.oldHeader?" "+t.oldHeader:"")),l.push("+++ "+Ns(t.newFileName)+(t.newHeader?" "+t.newHeader:"")));for(let u=0;u{o(l?Od(l,a.headerOptions):void 0)}}))}else{let o=nv(t,e,r,i,n,s,a);return o?Od(o,a==null?void 0:a.headerOptions):void 0}}function gu(t,e,r,i,n,s){return MS(t,t,e,r,i,n,s)}function NB(t){let e=t.endsWith(` `),r=t.split(` `).map(i=>i+` `);return e?r.pop():r.push(r.pop().slice(0,-1)),r}var En=require("obsidian");m();function DS(t,e){let r=Object.assign({},t.lineAuthor,e.lineAuthor);return Object.assign({},t,e,{lineAuthor:r})}var nl=class extends Error{constructor(r){super("No network connection available");this.originalError=r}};m();var OS=require("obsidian"),BB={options:[],placeholder:"",allowEmpty:!1,onlySelection:!1,initialValue:void 0,obscure:!1},rt=class extends OS.SuggestModal{constructor(e,r){if(super(e.app),this.config={...BB,...r},this.setPlaceholder(this.config.placeholder),this.config.obscure){this.inputEl.type="password";let i=this.containerEl.querySelector(".prompt-input-container");i.addClass("git-obscure-prompt"),i.setAttr("git-is-obscured","true");let n=i==null?void 0:i.createDiv({cls:"search-input-clear-button"});n.style.marginRight="32px",n.id="git-show-password",n.addEventListener("click",()=>{i.getAttr("git-is-obscured")==="true"?(this.inputEl.type="text",i.setAttr("git-is-obscured","false")):(this.inputEl.type="password",i.setAttr("git-is-obscured","true"))})}}openAndGetResult(){return new Promise(e=>{this.resolve=e,this.open(),this.config.initialValue!=null&&(this.inputEl.value=this.config.initialValue,this.inputEl.dispatchEvent(new Event("input")))})}onClose(){new Promise(e=>window.setTimeout(e,10)).then(()=>{this.resolve&&this.resolve(void 0)})}getSuggestions(e){return this.config.onlySelection?this.config.options:this.config.allowEmpty?[e.length>0?e:" ",...this.config.options]:[e.length>0?e:"...",...this.config.options]}renderSuggestion(e,r){this.config.obscure?r.hide():r.setText(e)}onChooseSuggestion(e,r){if(this.resolve){let i;this.config.allowEmpty&&e===" "?i="":e==="..."?i=void 0:i=e,this.resolve(i)}}};m();var tk=ft(ek(),1),rk=require("child_process"),Xn=require("obsidian");function Nd(t){throw new Error(`Unexpected object: ${t}`)}function wu(t,e,r){return t===1?`${t} ${e}`:`${t} ${r!=null?r:e+"s"}`}var ov=(t,e)=>t==="."||e==null||e.length===0||e==="."?!0:e.length>=t.length?e.startsWith(t):t.startsWith(e);function Vi(t,e){let r;if(e){if(e.button===0||e.button===1){let i=Xn.Keymap.isModEvent(e);r=t.workspace.getLeaf(i)}}else r=t.workspace.getLeaf(!1);return r}function _n(t,e,r,i,n){if(e.button==2){let s=t.vault.getAbstractFileByPath(r);if(s!=null){let a=new Xn.Menu;t.workspace.trigger("file-menu",a,s,n,i),a.showAtPosition({x:e.pageX,y:e.pageY})}else{let a=new Xn.Menu;t.workspace.trigger("obsidian-git:menu",a,r,n,i),a.showAtPosition({x:e.pageX,y:e.pageY})}}}function Bs(t){throw new Error("Impossible branch: "+t)}function lv(t){return`rgb(${t.r},${t.g},${t.b})`}function ik(t){var s;let e=(s=tk.fromString(t))==null?void 0:s.toRgbaArray();if(e===void 0)return;let[r,i,n]=e;return{r,g:i,b:n}}function nk(t){return t.diff(Xn.moment.unix(0),"seconds")}function sk(t){if(t.length!==0)return t.slice().sort()[Math.floor(t.length/2)]}function bu(t,e){return new Proxy(t,{get(r,i){return i==="length"?Math.min(e,r.length):r[i]}})}function ak(t,e,r){return t.length<=e?new Array(e-t.length).fill(r).join("")+t:t.substring(t.length-e)}function ok(t,e){if(e<=0)return t;let r=new Array(e).fill(" ").join(""),i=t.substring(e,t.length);return r+i}function cv(t,e,r){return t<=e&&e<=r}function yn(t){let[e,...r]=t.split("/");return[e!=null?e:"",r.length===0?void 0:r.join("/")]}function xn(t){return t.endsWith("/")?t:t.split("/").last().replace(/\.md$/,"")}function lk(t){return t===1?"1 minute":`${t} minutes`}function e3(t){let e=t.lastIndexOf(".");return t.substring(e+1)}function al(t){if(t.endsWith(".md"))return!1;let e=e3(t);return IS.includes(e)}function uv(t){return(t.startsWith("https://github.com/")||t.startsWith("https://gitlab.com/"))&&(t.endsWith(".git")||(t=t+".git")),t}function ol(t,e){let r=e.vault.getAbstractFileByPath(t);if(!(r instanceof Xn.TFile))return!1;try{return!!e.viewRegistry.getTypeByExtension(r.extension)}catch(i){return!0}}function ck({isFolder:t,gitRelativePath:e}){let r="/";return r+=e,t&&(r+="/"),r.replace(/([\\!#*?[\]])/g,String.raw`\$1`).replace(/\s(?=\s*$)/g,String.raw`\ `)}function ll(t,e,r,i){let n=e.target;t.workspace.trigger("hover-link",{event:e,source:r.getViewType(),hoverParent:r,targetEl:n,linktext:i})}function _u(t,e,r={}){return new Promise((i,n)=>{let s=(0,rk.spawn)(t,e,r),a="",o="";s.stdout.on("data",l=>{a+=l.toString()}),s.stderr.on("data",l=>{o+=l.toString()}),s.on("error",l=>{i({error:new Error(l.message),stdout:a,stderr:o,code:1})}),s.on("close",l=>{i({stdout:a,stderr:o,code:l!=null?l:1,error:void 0})})})}m();var uk=require("os"),Hd=require("obsidian");var cl=class{constructor(e){this.plugin=e,this.app=e.app}async withGitOperation(e,r){var i;this.plugin.setPluginState({operation:e});try{return await r()}finally{(i=this.plugin.statusBar)==null||i.clearProgress(!1),this.plugin.setPluginState({operation:0})}}getRelativeVaultPath(e){return this.plugin.settings.basePath?e===""||e==="."?this.plugin.settings.basePath:this.plugin.settings.basePath+"/"+e:e}getRelativeRepoPath(e,r=!0){if(r){let i=this.plugin.settings.basePath;if(i&&i.length>0){if(e.startsWith(i+"/"))return e.substring(i.length+1);if(e===i)return""}}return e}unload(){}simplify(e){var r,i,n,s;for(let a of e){for(;;){let o=((r=a.children)==null?void 0:r.length)==1,l=((n=(i=a.children)==null?void 0:i.first())==null?void 0:n.data)==null;if(!(a.children!=null&&o&&l))break;let c=a.children.first();a.title+="/"+c.title,a.data=c.data,a.path=c.path,a.vaultPath=c.vaultPath,a.children=c.children}a.children!=null&&this.simplify(a.children),(s=a.children)==null||s.sort((o,l)=>{let c=(l.data==null?1:0)-(o.data==null?1:0);return c!=0?c:o.title.localeCompare(l.title)})}return e.sort((a,o)=>{let l=(o.data==null?1:0)-(a.data==null?1:0);return l!=0?l:a.title.localeCompare(o.title)})}getTreeStructure(e){let r=new Map;for(let a of e){let o=a.path.split("/"),l=r,c="";for(let u=0;u{let o=[];for(let l of a.values())l.children.size>0?o.push({title:l.title,path:l.path,vaultPath:this.getRelativeVaultPath(l.path),children:i(l.children)}):o.push({title:l.title,data:l.data,path:l.path,vaultPath:this.getRelativeVaultPath(l.path)});return o},n=i(r);return this.simplify(n)}async formatCommitMessage(e){let r;if(e.includes("{{numFiles}}")){r=await this.status();let i=r.staged.length;e=e.replace("{{numFiles}}",String(i))}if(e.includes("{{hostname}}")){let i=this.plugin.localStorage.getHostname()||"";!i&&Hd.Platform.isDesktopApp&&(i=(0,uk.hostname)()),e=e.replace("{{hostname}}",i)}if(e.includes("{{files}}")){r=r!=null?r:await this.status();let i={},n="";if(r.staged.length<100){r.staged.forEach(a=>{a.index in i?i[a.index].push(a.path):i[a.index]=[a.path]});let s=[];for(let[a,o]of Object.entries(i))s.push(a+" "+o.join(" "));n=s.join(", ")}else n="Too many files to list";e=e.replace("{{files}}",n)}if(e=e.replace("{{date}}",(0,Hd.moment)().format(this.plugin.settings.commitDateFormat)),this.plugin.settings.listChangedFilesInMessageBody){let i=r!=null?r:await this.status(),n="";i.staged.length<100?n=i.staged.map(s=>s.path).join(` `):n="Too many files to list",e=e+` Affected files: `+n}return e}};m();var bi=require("obsidian"),Ud=class{constructor(e,r){this.plugin=r;this.promises={};this.adapter=e.adapter,this.vault=e,this.lastBasePath=this.plugin.settings.basePath,this.promises.readFile=this.readFile.bind(this),this.promises.writeFile=this.writeFile.bind(this),this.promises.readdir=this.readdir.bind(this),this.promises.mkdir=this.mkdir.bind(this),this.promises.rmdir=this.rmdir.bind(this),this.promises.stat=this.stat.bind(this),this.promises.unlink=this.unlink.bind(this),this.promises.lstat=this.lstat.bind(this),this.promises.readlink=this.readlink.bind(this),this.promises.symlink=this.symlink.bind(this)}async readFile(e,r){var n;if(this.maybeLog("Read: "+e+JSON.stringify(r)),(typeof r=="string"?r:r==null?void 0:r.encoding)==="utf8"){let s=this.vault.getAbstractFileByPath(e);return s instanceof bi.TFile?(this.maybeLog("Reuse"),this.vault.read(s)):this.adapter.read(e)}else{if(this.isIndexPath(e))return this.plugin.settings.basePath!=this.lastBasePath?(this.clearIndex(),this.lastBasePath=this.plugin.settings.basePath,this.adapter.readBinary(e)):(n=this.index)!=null?n:this.adapter.readBinary(e);let s=this.vault.getAbstractFileByPath(e);return s instanceof bi.TFile?(this.maybeLog("Reuse"),this.vault.readBinary(s)):this.adapter.readBinary(e)}}async writeFile(e,r){var i;if(this.maybeLog("Write: "+e),typeof r=="string"){let n=this.vault.getAbstractFileByPath(e);if(n instanceof bi.TFile)return this.vault.modify(n,r);if(!this.isHiddenPath(e))await this.vault.create(e,r);else return this.adapter.write(e,r)}else{let n=t3(r);if(this.isIndexPath(e)){this.index=n;let s=Date.now();(i=this.indexctime)!=null||(this.indexctime=s),this.indexmtime=s}else{let s=this.vault.getAbstractFileByPath(e);if(s instanceof bi.TFile)return this.vault.modifyBinary(s,n);if(!this.isHiddenPath(e))await this.vault.createBinary(e,n);else return this.adapter.writeBinary(e,n)}}}async readdir(e){e==="."&&(e="/");let r=await this.adapter.list(e),i=[...r.files,...r.folders],n;return e!=="/"?n=i.map(s=>(0,bi.normalizePath)(s.substring(e.length))):n=i,n}async mkdir(e){if(!(e==="."||e==="/")){if(!this.isHiddenPath(e)){if(this.vault.getFolderByPath(e))return;await this.vault.createFolder(e);return}return this.adapter.mkdir(e)}}async rmdir(e,r){var i,n;if(!this.isHiddenPath(e)){let s=this.vault.getAbstractFileByPath(e);if(s instanceof bi.TFolder){await this.vault.delete(s,(r==null?void 0:r.recursive)===!0||((i=r==null?void 0:r.options)==null?void 0:i.recursive)===!0);return}}return this.adapter.rmdir(e,(r==null?void 0:r.recursive)===!0||((n=r==null?void 0:r.options)==null?void 0:n.recursive)===!0)}async stat(e){if(this.isIndexPath(e)){if(this.index!==void 0&&this.indexctime!=null&&this.indexmtime!=null)return{isFile:()=>!0,isDirectory:()=>!1,isSymbolicLink:()=>!1,size:this.index.byteLength,type:"file",ctimeMs:this.indexctime,mtimeMs:this.indexmtime};{let i=await this.adapter.stat(e);if(i==null)throw{code:"ENOENT"};return this.indexctime=i.ctime,this.indexmtime=i.mtime,{ctimeMs:i.ctime,mtimeMs:i.mtime,size:i.size,type:"file",isFile:()=>!0,isDirectory:()=>!1,isSymbolicLink:()=>!1}}}e==="."&&(e="/");let r=this.vault.getAbstractFileByPath(e);if(this.maybeLog("Stat: "+e),r instanceof bi.TFile)return this.maybeLog("Reuse stat"),{ctimeMs:r.stat.ctime,mtimeMs:r.stat.mtime,size:r.stat.size,type:"file",isFile:()=>!0,isDirectory:()=>!1,isSymbolicLink:()=>!1};{let i=await this.adapter.stat(e);if(i)return{ctimeMs:i.ctime,mtimeMs:i.mtime,size:i.size,type:i.type==="folder"?"directory":i.type,isFile:()=>i.type==="file",isDirectory:()=>i.type==="folder",isSymbolicLink:()=>!1};throw{code:"ENOENT"}}}async unlink(e){if(!this.isHiddenPath(e)){let r=this.vault.getAbstractFileByPath(e);if(r instanceof bi.TFile)return this.vault.delete(r)}return this.adapter.remove(e)}async lstat(e){return this.stat(e)}async readlink(e){throw new Error(`readlink of (${e}) is not implemented.`)}async symlink(e){throw new Error(`symlink of (${e}) is not implemented.`)}async saveAndClear(){this.index!==void 0&&await this.adapter.writeBinary(this.getIndexPath(),this.index,{ctime:this.indexctime,mtime:this.indexmtime}),this.clearIndex()}clearIndex(){this.index=void 0,this.indexctime=void 0,this.indexmtime=void 0}get gitDir(){return this.plugin.settings.gitDir||".git"}getIndexPath(){return this.plugin.gitManager.getRelativeVaultPath(this.gitDir+"/index")}isIndexPath(e){return e===this.getIndexPath()}isHiddenPath(e){return e.startsWith(this.gitDir)?!0:(0,bi.normalizePath)(e).split("/").some(r=>r.startsWith(".")&&r!==".")}maybeLog(e){}};function t3(t){return t instanceof ArrayBuffer?t:t.buffer instanceof ArrayBuffer&&t.byteOffset===0&&t.byteLength===t.buffer.byteLength?t.buffer:new Uint8Array(t.buffer,t.byteOffset,t.byteLength).slice().buffer}var gk=ft(mk(),1),zi=class extends cl{constructor(r){super(r);this.FILE=0;this.HEAD=1;this.WORKDIR=2;this.STAGE=3;this.status_mapping={"000":" ","003":"AD","020":"??","022":"A ","023":"AM",100:"D ",101:" D",103:"MD",110:"DA",111:" ",113:"MM",120:"DA",121:" M",122:"M ",123:"MM"};this.noticeLength=999999;this.fs=new Ud(this.app.vault,this.plugin)}getRepo(){return{fs:this.fs,dir:this.plugin.settings.basePath,gitdir:this.plugin.settings.gitDir?this.getGitDirPath():void 0,onAuth:()=>{var r,i;return{username:(r=this.plugin.localStorage.getUsername())!=null?r:void 0,password:(i=this.plugin.localStorage.getPassword())!=null?i:void 0}},onAuthFailure:async()=>{new En.Notice("Authentication failed. Please try with different credentials");let r=await new rt(this.plugin,{placeholder:"Specify your username"}).openAndGetResult();if(r){let i=await new rt(this.plugin,{placeholder:"Specify your password/personal access token",obscure:!0}).openAndGetResult();if(i)return this.plugin.localStorage.setUsername(r),this.plugin.localStorage.setPassword(i),{username:r,password:i}}return{cancel:!0}},http:{async request({url:r,method:i,headers:n,body:s}){let a;s&&(a=await s3(s));let o=await(0,En.requestUrl)({url:r,method:i,headers:{"Accept-Encoding":"identity",...n},body:a,throw:!1}),l=await a3(o.arrayBuffer);return{url:r,method:i,headers:o.headers,body:n3(l),statusCode:o.status,statusMessage:o.status.toString()}}}}}async wrapFS(r){try{let i=await r;return await this.fs.saveAndClear(),i}catch(i){throw await this.fs.saveAndClear(),i}}async status(r){let i,n=window.setTimeout(()=>{i=new En.Notice("This takes longer: Getting status",this.noticeLength)},2e4);try{let s={...this.getRepo()};(r==null?void 0:r.path)!=null&&(s.filepaths=[`${r.path}/`]);let a=(await this.wrapFS(de.statusMatrix(s))).map(f=>this.getFileStatusResult(f)),o=[],l=[],c=[];for(let f of a)f.workingDir!==" "&&o.push(f),f.index!==" "&&f.index!=="U"&&l.push(f),(f.index!=" "||f.workingDir!=" ")&&c.push(f);let u=[];return window.clearTimeout(n),i==null||i.hide(),{all:c,changed:o,staged:l,conflicted:u}}catch(s){throw window.clearTimeout(n),i==null||i.hide(),this.plugin.displayError(s),s}}async commitAll({message:r,status:i,unstagedFiles:n}){try{return await this.checkAuthorInfo(),await this.stageAll({status:i,unstagedFiles:n}),this.commit({message:r})}catch(s){throw this.plugin.displayError(s),s}}async commit({message:r}){return this.withGitOperation(2,async()=>{try{await this.checkAuthorInfo();let i=await this.formatCommitMessage(r),n=this.plugin.localStorage.getConflict(),s;if(n){let a=await this.branchInfo();s=[a.current,a.tracking]}await this.wrapFS(de.commit({...this.getRepo(),message:i,parent:s})),this.plugin.localStorage.setConflict(!1);return}catch(i){throw this.plugin.displayError(i),i}})}async stage(r,i){let n=this.getRelativeRepoPath(r,i),s;i?s=r:s=this.getRelativeVaultPath(r);try{await this.app.vault.adapter.exists(s)?await this.wrapFS(de.add({...this.getRepo(),filepath:n})):await this.wrapFS(de.remove({...this.getRepo(),filepath:n}))}catch(a){throw this.plugin.displayError(a),a}}async stageAll({dir:r,status:i,unstagedFiles:n}){try{if(i)await this.stageFiles(i.changed.map(s=>({path:s.path,deleted:s.workingDir==="D"})));else{let s=n!=null?n:await this.getUnstagedFiles(r!=null?r:".");await this.stageFiles(s.map(({path:a,type:o})=>({path:a,deleted:o==="D"})))}}catch(s){throw this.plugin.displayError(s),s}}async stageFiles(r){let n=(await this.wrapFS(Promise.allSettled(r.map(s=>s.deleted?de.remove({...this.getRepo(),filepath:s.path}):de.add({...this.getRepo(),filepath:s.path}))))).find(s=>s.status==="rejected");if((n==null?void 0:n.status)==="rejected")throw n.reason}async unstage(r,i){try{r=this.getRelativeRepoPath(r,i),await this.wrapFS(de.resetIndex({...this.getRepo(),filepath:r}))}catch(n){throw this.plugin.displayError(n),n}}async unstageAll({dir:r,status:i}){try{let n;i?n=i.staged.map(s=>s.path):n=(await this.getStagedFiles(r!=null?r:".")).map(({path:a})=>a),await this.wrapFS(Promise.all(n.map(s=>de.resetIndex({...this.getRepo(),filepath:s}))))}catch(n){throw this.plugin.displayError(n),n}}async discard(r){try{await this.wrapFS(de.checkout({...this.getRepo(),filepaths:[r],force:!0}))}catch(i){throw this.plugin.displayError(i),i}}async discardAll({dir:r,status:i}){let n=[];i?r!=null?n=i.changed.filter(s=>s.workingDir!="U"&&s.path.startsWith(r)).map(s=>s.path):n=i.changed.filter(s=>s.workingDir!="U").map(s=>s.path):n=(await this.getUnstagedFiles(r)).filter(s=>s.type!="A").map(({path:s})=>s);try{await this.wrapFS(de.checkout({...this.getRepo(),filepaths:n,force:!0}))}catch(s){throw this.plugin.displayError(s),s}}async getUntrackedPaths(r){let i=[];if(r.status)for(let n of r.status.changed)n.index=="U"&&n.workingDir==="U"&&n.path.startsWith(r.path!=null?`${r.path}/`:"")&&i.push(n.path);else{let n=await this.status({path:r==null?void 0:r.path});for(let s of n.changed)s.index==="U"&&s.workingDir==="U"&&i.push(s.path)}return i}getProgressText(r,i){let n=`${r} progress:`;return i.phase&&(n=`${n} ${i.phase}:`),i.loaded&&(n=`${n} ${i.loaded}`,i.total&&(n=`${n} of ${i.total}`)),n}resolveRef(r){return this.wrapFS(de.resolveRef({...this.getRepo(),ref:r}))}async pull(){let r=this.showNotice("Initializing pull");return this.withGitOperation(1,async()=>{try{let i=await this.resolveRef("HEAD");await this.fetch();let n=await this.branchInfo();await this.checkAuthorInfo(),(await this.wrapFS(de.merge({...this.getRepo(),ours:n.current,theirs:n.tracking,abortOnConflict:!1,mergeDriver:this.plugin.settings.mergeStrategy!=="none"?({contents:l})=>{var _,C,x;let c=l[0],u=l[1],f=l[2],d=/^.*(\r?\n|$)/gm,h=(_=u.match(d))!=null?_:[],p=(C=c.match(d))!=null?C:[],g=(x=f.match(d))!=null?x:[],v=(0,gk.default)(h,p,g),b="";for(let S of v)S.ok&&(b+=S.ok.join("")),S.conflict&&(b+=this.plugin.settings.mergeStrategy==="ours"?S.conflict.a.join(""):S.conflict.b.join(""));return{cleanMerge:!0,mergedText:b}}:void 0}))).alreadyMerged||await this.wrapFS(de.checkout({...this.getRepo(),ref:n.current,onProgress:l=>{r!==void 0&&r.setMessage(this.getProgressText("Checkout",l))},remote:n.remote})),r==null||r.hide();let a=await this.resolveRef("HEAD"),o=await this.getFileChangesCount(i,a);return this.showNotice("Finished pull",!1),o.map(l=>({path:l.path,workingDir:"P",index:"P",vaultPath:this.getRelativeVaultPath(l.path)}))}catch(i){throw r==null||r.hide(),i instanceof lu.MergeConflictError&&await this.plugin.handleConflict(i.data.filepaths.map(n=>this.getRelativeVaultPath(n))),this.plugin.displayError(i),i}})}async push(){if(!await this.canPush())return 0;let r=this.showNotice("Initializing push");return this.withGitOperation(3,async()=>{try{let i=await this.branchInfo(),n=i.tracking,s=i.current,a=(await this.getFileChangesCount(s,n)).length,o=await this.getCurrentRemote();return await this.wrapFS(de.push({...this.getRepo(),remote:o,onProgress:l=>{r!==void 0&&r.setMessage(this.getProgressText("Pushing",l))}})),r==null||r.hide(),a}catch(i){throw r==null||r.hide(),this.plugin.displayError(i),i}})}async getUnpushedCommits(){let r=await this.branchInfo(),i=r.tracking,n=r.current;if(i==null||n==null)return 0;let s=await this.resolveRef(n),a=await this.resolveRef(i);return(await this.getFileChangesCount(s,a)).length}async canPush(){let r=await this.branchInfo(),i=r.tracking,n=r.current,s=await this.resolveRef(n),a=await this.resolveRef(i);return s!=a}async checkRequirements(){return await this.plugin.app.vault.adapter.exists((0,En.normalizePath)(`${this.getGitDirPath()}/HEAD`))?"valid":"missing-repo"}async branchInfo(){var r,i;try{let n=await de.currentBranch(this.getRepo())||"",s=await de.listBranches(this.getRepo()),a=(r=await this.getConfig(`branch.${n}.remote`))!=null?r:"origin",o=(i=await this.getConfig(`branch.${n}.merge`))==null?void 0:i.split("refs/heads")[1],l=o?a+o:void 0;return{current:n,tracking:l,branches:s,remote:a}}catch(n){throw this.plugin.displayError(n),n}}async getCurrentRemote(){var n;let r=await de.currentBranch(this.getRepo())||"";return(n=await this.getConfig(`branch.${r}.remote`))!=null?n:"origin"}async checkout(r,i){try{return this.wrapFS(de.checkout({...this.getRepo(),ref:r,force:!!i,remote:i}))}catch(n){throw this.plugin.displayError(n),n}}async createBranch(r){try{await this.wrapFS(de.branch({...this.getRepo(),ref:r,checkout:!0}))}catch(i){throw this.plugin.displayError(i),i}}async deleteBranch(r){try{await this.wrapFS(de.deleteBranch({...this.getRepo(),ref:r}))}catch(i){throw this.plugin.displayError(i),i}}branchIsMerged(r){return Promise.resolve(!0)}async init(){try{await this.wrapFS(de.init(this.getRepo()))}catch(r){throw this.plugin.displayError(r),r}}async clone(r,i,n){let s=this.showNotice("Initializing clone");try{await this.wrapFS(de.clone({...this.getRepo(),dir:i,url:r,depth:n,onProgress:a=>{s!==void 0&&s.setMessage(this.getProgressText("Cloning",a))}})),s==null||s.hide()}catch(a){throw s==null||s.hide(),this.plugin.displayError(a),a}}async setConfig(r,i){try{return this.wrapFS(de.setConfig({...this.getRepo(),path:r,value:i}))}catch(n){throw this.plugin.displayError(n),n}}async getConfig(r){try{return this.wrapFS(de.getConfig({...this.getRepo(),path:r}))}catch(i){throw this.plugin.displayError(i),i}}async fetch(r){let i=this.showNotice("Initializing fetch");try{let n={...this.getRepo(),onProgress:s=>{i!==void 0&&i.setMessage(this.getProgressText("Fetching",s))},remote:r!=null?r:await this.getCurrentRemote()};await this.wrapFS(de.fetch(n)),i==null||i.hide()}catch(n){throw this.plugin.displayError(n),i==null||i.hide(),n}}async setRemote(r,i){try{await this.wrapFS(de.addRemote({...this.getRepo(),remote:r,url:i,force:!0}))}catch(n){throw this.plugin.displayError(n),n}}async getRemoteBranches(r){let i=[];return i.push(...await this.wrapFS(de.listBranches({...this.getRepo(),remote:r}))),i.remove("HEAD"),i=i.map(n=>`${r}/${n}`),i}async getRemotes(){return(await this.wrapFS(de.listRemotes({...this.getRepo()}))).map(r=>r.remote)}async removeRemote(r){await this.wrapFS(de.deleteRemote({...this.getRepo(),remote:r}))}async getRemoteUrl(r){var i;return(i=(await this.wrapFS(de.listRemotes({...this.getRepo()}))).filter(n=>n.remote==r)[0])==null?void 0:i.url}async log(r,i=!0,n,s){let a=await this.wrapFS(de.log({...this.getRepo(),depth:n,ref:s}));return Promise.all(a.map(async o=>{var c;let l=o.commit.message.split(` `);return{message:(c=l[0])!=null?c:"",author:{name:o.commit.author.name,email:o.commit.author.email},body:l.slice(1).join(` `),date:new Date(o.commit.committer.timestamp).toDateString(),diff:{changed:0,files:(await this.getFileChangesCount(o.commit.parent.first(),o.oid)).map(u=>({path:u.path,status:u.type,vaultPath:this.getRelativeVaultPath(u.path),hash:o.oid}))},hash:o.oid,refs:[]}}))}updateBasePath(r){return this.getRepo().dir=r,Promise.resolve()}getGitDirPath(){return(0,En.normalizePath)(this.getRelativeVaultPath(this.plugin.settings.gitDir||".git"))}async updateUpstreamBranch(r){let[i,n]=yn(r),s=await this.branchInfo();await this.wrapFS(de.push({...this.getRepo(),remote:i,remoteRef:n})),await this.setConfig(`branch.${s.current}.merge`,`refs/heads/${n}`)}updateGitPath(r){return Promise.resolve()}async getFileChangesCount(r,i){return this.walkDifference({walkers:[de.TREE({ref:r}),de.TREE({ref:i})]})}async walkDifference({walkers:r,dir:i}){return await this.wrapFS(de.walk({...this.getRepo(),trees:r,map:async function(s,[a,o]){if(!ov(s,i))return null;if(await(a==null?void 0:a.type())==="tree"||await(o==null?void 0:o.type())==="tree")return;let l=await(a==null?void 0:a.oid()),c=await(o==null?void 0:o.oid()),u="equal";if(l!==c&&(u="M"),l===void 0&&(u="A"),c===void 0&&(u="D"),l===void 0&&c===void 0&&(console.log("Something weird happened:"),console.log(a),console.log(o)),u!=="equal")return{path:s,type:u}}}))}async getStagedFiles(r="."){return(await this.walkDifference({walkers:[de.TREE({ref:"HEAD"}),de.STAGE()],dir:r})).map(n=>({vaultPath:this.getRelativeVaultPath(n.path),path:n.path}))}async getUnstagedFiles(r="."){let i,n=window.setTimeout(()=>{i=new En.Notice("This takes longer: Getting status",this.noticeLength)},2e4);try{let s=this.getRepo(),a=await this.wrapFS(de.walk({...s,trees:[de.WORKDIR(),de.STAGE()],map:async function(o,[l,c]){if(!c&&l&&await de.isIgnored({...s,filepath:o})||!ov(o,r))return null;let[u,f]=await Promise.all([l&&l.type(),c&&c.type()]),d=[u,f].includes("blob");if((u==="tree"||u==="special")&&!d)return;if(f==="commit")return null;if((f==="tree"||f==="special")&&!d)return;let h=f==="blob"?await c.oid():void 0,p;return u==="blob"&&f!=="blob"?p="42":u==="blob"&&(p=await l.oid()),p?h?p!==h?{path:o,type:"M"}:null:{path:o,type:"A"}:{path:o,type:"D"}}}));return window.clearTimeout(n),i==null||i.hide(),a}catch(s){throw window.clearTimeout(n),i==null||i.hide(),this.plugin.displayError(s),s}}async getDiffString(r,i=!1,n){let s=this.getRelativeVaultPath(r),a=async(c,[u])=>{if(r==c){let f=await u.oid();return(await de.readBlob({...this.getRepo(),oid:f})).blob}};if(n){let c=await pu({...this.getRepo(),filepath:r,oid:n}).then(p=>new TextDecoder().decode(p.blob)).catch(p=>{if(!(p instanceof de.Errors.NotFoundError))throw p}),f=(await de.readCommit({...this.getRepo(),oid:n})).commit.parent.first(),d;return f&&(d=await pu({...this.getRepo(),filepath:r,oid:f}).then(p=>new TextDecoder().decode(p.blob)).catch(p=>{if(!(p instanceof de.Errors.NotFoundError))throw p})),gu(s,d!=null?d:"",c!=null?c:"")}let o=(await de.walk({...this.getRepo(),trees:[de.STAGE()],map:a})).first(),l=new TextDecoder().decode(o);if(i){let c=await this.resolveRef("HEAD").then(f=>pu({...this.getRepo(),filepath:r,oid:f})).then(f=>new TextDecoder().decode(f.blob)).catch(f=>{if(!(f instanceof de.Errors.NotFoundError))throw f});return gu(s,c!=null?c:"",l)}else{let c;return await this.app.vault.adapter.exists(s)?c=await this.app.vault.adapter.read(s):c="",gu(s,l,c)}}async getLastCommitTime(){let r=this.getRepo(),i=await this.resolveRef("HEAD"),s=(await de.readCommit({...r,oid:i})).commit.committer.timestamp;return new Date(s*1e3)}getFileStatusResult(r){var n,s;let i=this.status_mapping[`${r[this.HEAD]}${r[this.WORKDIR]}${r[this.STAGE]}`];return{index:i[0]=="?"?"U":(n=i[0])!=null?n:" ",workingDir:i[1]=="?"?"U":(s=i[1])!=null?s:" ",path:r[this.FILE],vaultPath:this.getRelativeVaultPath(r[this.FILE])}}async checkAuthorInfo(){let r=await this.getConfig("user.name"),i=await this.getConfig("user.email");if(!r||!i)throw Error("Git author name and email are not set. Please set both fields in the settings.")}showNotice(r,i=!0){if(!this.plugin.settings.disablePopups)return new En.Notice(r,i?this.noticeLength:void 0)}};async function*n3(t){yield new Uint8Array(t)}async function s3(t){let e=new ReadableStream({async start(i){for await(let n of t)i.enqueue(n);i.close()}});return await new Response(e).arrayBuffer()}async function a3(t){let e=new Uint8Array(t);if(e.length<2||e[0]!==31||e[1]!==139)return t;try{let r=new Blob([t]).stream().pipeThrough(new DecompressionStream("gzip"));return await new Response(r).arrayBuffer()}catch(r){return t}}m();var hT=ft(Vd(),1),ri=ft(require("fs/promises"),1),Qn=require("obsidian"),Le=ft(require("path"),1),Ru=require("path");m();var eh=ft(xk(),1);m();var fv=new WeakMap;function pl(...t){let e=new String(t);return fv.set(e,t),e}function _i(t){return t instanceof String&&fv.has(t)}function ml(t){var e;return(e=fv.get(t))!=null?e:[]}var Qd=ft(Vd(),1),QC=require("child_process");var OA=ft(hv(),1),qA=require("node:path");m();function*Ek(t,e){let r=e==="global";for(let i of t)i.isGlobal===r&&(yield i)}var k3=new Set(["--add","--edit","--remove-section","--rename-section","--replace-all","--unset","--unset-all","-e"]),C3=new Set(["--get","--get-all","--get-color","--get-colorbool","--get-regexp","--get-urlmatch","--list","-l"]),A3=new Set(["edit","remove-section","rename-section","set","unset"]),T3=new Set(["get","get-color","get-colorbool","list"]);function P3(t,e){var i;for(let{name:n}of Ek(t,"task")){if(k3.has(n))return gl(!0,e);if(C3.has(n))return gl(!1,e)}let r=(i=e.at(0))==null?void 0:i.toLowerCase();return r===void 0?null:A3.has(r)?gl(!0,e.slice(1)):T3.has(r)?gl(!1,e.slice(1)):e.length===1?gl(!1,e):gl(!0,e)}function gl(t=!1,e=[]){var i;let r=(i=e.at(0))==null?void 0:i.toLowerCase();return r===void 0?null:{isWrite:t,isRead:!t,key:r,value:e.at(1)}}function R3(t,e){return e.isWrite&&e.value!==void 0?{key:e.key,value:e.value,scope:t}:{key:e.key,scope:t}}function $3(t){let e=(t==null?void 0:t.indexOf("="))||-1;return!t||e<0?null:{key:t.slice(0,e).trim().toLowerCase(),value:t.slice(e+1)}}function F3(t){for(let{name:e}of Ek(t,"task"))switch(e){case"--global":return"global";case"--system":return"system";case"--worktree":return"worktree";case"--local":return"local";case"--file":case"-f":return"file"}return"local"}function I3({name:t}){if(t==="-c"||t==="--config")return"inline";if(t==="--config-env")return"env"}function*M3(t){for(let e of t){let r=I3(e),i=r&&$3(e.value);i&&(yield{...i,scope:r})}}function D3(t,e,r){let i={read:[],write:[...M3(e)]};return t==="config"&&O3(i,F3(e),P3(e,r)),i}function O3(t,e,r){if(r===null)return;let i=R3(e,r);r.isWrite?t.write.push(i):t.read.push(i)}var Sk={short:new Map([["c",!0]])},L3={short:new Map([["C",!0],["P",!1],["h",!1],["p",!1],["v",!1],...Sk.short.entries()]),long:new Set(["attr-source","config-env","exec-path","git-dir","list-cmds","namespace","super-prefix","work-tree"])},N3={clone:{short:new Map([["b",!0],["j",!0],["l",!1],["n",!1],["o",!0],["q",!1],["s",!1],["u",!0]]),long:new Set(["branch","config","jobs","origin","upload-pack","u","template"])},commit:{short:new Map([["C",!0],["F",!0],["c",!0],["m",!0],["t",!0]]),long:new Set(["file","message","reedit-message","reuse-message","template"])},config:{short:new Map([["e",!1],["f",!0],["l",!1]]),long:new Set(["blob","comment","default","file","type","value"])},fetch:{short:new Map,long:new Set(["upload-pack"])},init:{short:new Map,long:new Set(["template"])},pull:{short:new Map,long:new Set(["upload-pack"])},push:{short:new Map,long:new Set(["exec","receive-pack"])}},B3={short:new Map,long:new Set};function H3(t){var r;let e=(r=N3[t!=null?t:""])!=null?r:B3;return{short:new Map([...Sk.short.entries(),...e.short.entries()]),long:e.long}}function kk(t,e=L3){if(t.startsWith("--")){let r=t.indexOf("=");if(r>2)return[{name:t.slice(0,r),value:t.slice(r+1),needsNext:!1}];let i=t.slice(2);return[{name:t,needsNext:e.long.has(i)}]}if(t.length===2){let r=t.charAt(1),i=e.short.get(r);return[{name:t,needsNext:i===!0}]}return U3(t,e.short)}function U3(t,e){let r=t.slice(1).split(""),i=[];for(let n=0;ne.has(l)))return i.push({name:`-${s}`,value:o,needsNext:!1}),i}i.push({name:`-${s}`,needsNext:a})}return i}function G3(t,e=[]){let r=0;for(;rfunction(){return t&&(e=(0,t[Dv(t)[0]])(t=0)),e},i8=(t,e)=>function(){return e||(0,t[Dv(t)[0]])((e={exports:{}}).exports,e),e.exports},St=(t,e)=>{for(var r in e)Mv(t,r,{get:e[r],enumerable:!0})},n8=(t,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Dv(e))!r8.call(t,n)&&n!==r&&Mv(t,n,{get:()=>e[n],enumerable:!(i=t8(e,n))||i.enumerable});return t},_t=t=>n8(Mv({},"__esModule",{value:!0}),t),Br,Us=Y({"src/lib/errors/git-error.ts"(){"use strict";Br=class extends Error{constructor(t,e){super(e),this.task=t,Object.setPrototypeOf(this,new.target.prototype)}}}}),ku,_l=Y({"src/lib/errors/git-response-error.ts"(){"use strict";Us(),ku=class extends Br{constructor(t,e){super(void 0,e||String(t)),this.git=t}}}}),oC,lC=Y({"src/lib/errors/task-configuration-error.ts"(){"use strict";Us(),oC=class extends Br{constructor(t){super(void 0,t)}}}});function cC(t){return typeof t!="function"?$a:t}function uC(t){return typeof t=="function"&&t!==$a}function fC(t,e){let r=t.indexOf(e);return r<=0?[t,""]:[t.substr(0,r),t.substr(r+1)]}function dC(t,e=0){return hC(t)&&t.length>e?t[e]:void 0}function Ra(t,e=0){if(hC(t)&&t.length>e)return t[t.length-1-e]}function hC(t){return nh(t)}function Cu(t="",e=!0,r=` `){return t.split(r).reduce((i,n)=>{let s=e?n.trim():n;return s&&i.push(s),i},[])}function Ov(t,e){return Cu(t,!0).map(r=>e(r))}function Lv(t){return(0,eh.exists)(t,eh.FOLDER)}function Ei(t,e){return Array.isArray(t)?t.includes(e)||t.push(e):t.add(e),e}function pC(t,e){return Array.isArray(t)&&!t.includes(e)&&t.push(e),t}function th(t,e){if(Array.isArray(t)){let r=t.indexOf(e);r>=0&&t.splice(r,1)}else t.delete(e);return e}function Sn(t){return Array.isArray(t)?t:[t]}function mC(t){return t.replace(/[\s-]+(.)/g,(e,r)=>r.toUpperCase())}function yl(t){return Sn(t).map(e=>e instanceof String?e:String(e))}function Qe(t,e=0){if(t==null)return e;let r=parseInt(t,10);return Number.isNaN(r)?e:r}function Eu(t,e){let r=[];for(let i=0,n=t.length;i{t[i]!==void 0&&(r[i]=t[i])}),r}function _v(t=0){return new Promise(e=>setTimeout(e,t))}function yv(t){if(t!==!1)return t}var wl,$a,Au,rh=Y({"src/lib/utils/util.ts"(){"use strict";Nv(),wl="\0",$a=()=>{},Au=Object.prototype.toString.call.bind(Object.prototype.toString)}});function ar(t,e,r){return e(t)?t:arguments.length>2?r:void 0}function xv(t,e){let r=_i(t)?"string":typeof t;return/number|string|boolean/.test(r)&&(!e||!e.includes(r))}function ih(t){return!!t&&Au(t)==="[object Object]"}function vC(t){return typeof t=="function"}var Tu,wC,mt,Kd,nh,Nv=Y({"src/lib/utils/argument-filters.ts"(){"use strict";rh(),Tu=t=>Array.isArray(t),wC=t=>typeof t=="number",mt=t=>typeof t=="string"||_i(t),Kd=t=>mt(t)||Array.isArray(t)&&t.every(mt),nh=t=>t==null||"number|boolean|function".includes(typeof t)?!1:typeof t.length=="number"}}),Ev,s8=Y({"src/lib/utils/exit-codes.ts"(){"use strict";Ev=(t=>(t[t.SUCCESS=0]="SUCCESS",t[t.ERROR=1]="ERROR",t[t.NOT_FOUND=-2]="NOT_FOUND",t[t.UNCLEAN=128]="UNCLEAN",t))(Ev||{})}}),Xd,a8=Y({"src/lib/utils/git-output-streams.ts"(){"use strict";Xd=class bC{constructor(e,r){this.stdOut=e,this.stdErr=r}asStrings(){return new bC(this.stdOut.toString("utf8"),this.stdErr.toString("utf8"))}}}});function o8(){throw new Error("LineParser:useMatches not implemented")}var be,Hs,l8=Y({"src/lib/utils/line-parser.ts"(){"use strict";be=class{constructor(t,e){this.matches=[],this.useMatches=o8,this.parse=(r,i)=>(this.resetMatches(),this._regExp.every((n,s)=>this.addMatch(n,s,r(s)))?this.useMatches(i,this.prepareMatches())!==!1:!1),this._regExp=Array.isArray(t)?t:[t],e&&(this.useMatches=e)}resetMatches(){this.matches.length=0}prepareMatches(){return this.matches}addMatch(t,e,r){let i=r&&t.exec(r);return i&&this.pushMatch(e,i),!!i}pushMatch(t,e){this.matches.push(...e.slice(1))}},Hs=class extends be{addMatch(t,e,r){return/^remote:\s/.test(String(r))&&super.addMatch(t,e,r)}pushMatch(t,e){(t>0||e.length>1)&&super.pushMatch(t,e)}}}});function _C(...t){let e=process.cwd(),r=Object.assign({baseDir:e,...yC},...t.filter(i=>typeof i=="object"&&i));return r.baseDir=r.baseDir||e,r.trimmed=r.trimmed===!0,r}var yC,c8=Y({"src/lib/utils/simple-git-options.ts"(){"use strict";yC={binary:"git",maxConcurrentProcesses:5,config:[],trimmed:!1}}});function Bv(t,e=[]){return ih(t)?Object.keys(t).reduce((r,i)=>{let n=t[i];if(_i(n))r.push(n);else if(xv(n,["boolean"]))r.push(i+"="+n);else if(Array.isArray(n))for(let s of n)xv(s,["string","number"])||r.push(i+"="+s);else r.push(i);return r},e):e}function yr(t,e=0,r=!1){let i=[];for(let n=0,s=e<0?t.length:e;n{for(let s=Cu(n,i),a=0,o=s.length;a{if(!(a+c>=o))return s[a+c]};e.some(({parse:c})=>c(l,t))}}),t}var d8=Y({"src/lib/utils/task-parser.ts"(){"use strict";rh()}}),xC={};St(xC,{ExitCodes:()=>Ev,GitOutputStreams:()=>Xd,LineParser:()=>be,NOOP:()=>$a,NULL:()=>wl,RemoteLineParser:()=>Hs,append:()=>Ei,appendTaskOptions:()=>Bv,asArray:()=>Sn,asCamelCase:()=>mC,asFunction:()=>cC,asNumber:()=>Qe,asStringArray:()=>yl,bufferToString:()=>Su,callTaskParser:()=>Sv,createInstanceConfig:()=>_C,delay:()=>_v,filterArray:()=>Tu,filterFunction:()=>vC,filterHasLength:()=>nh,filterNumber:()=>wC,filterPlainObject:()=>ih,filterPrimitives:()=>xv,filterString:()=>mt,filterStringOrStringArray:()=>Kd,filterType:()=>ar,first:()=>dC,folderExists:()=>Lv,forEachLineWithContent:()=>Ov,getTrailingOptions:()=>yr,including:()=>pC,isUserFunction:()=>uC,last:()=>Ra,objectToString:()=>Au,orVoid:()=>yv,parseStringResponse:()=>Hr,pick:()=>gC,prefixedArray:()=>Eu,remove:()=>th,splitOn:()=>fC,toLinesWithContent:()=>Cu,trailingFunctionArgument:()=>nt,trailingOptionsArgument:()=>Hv});var ge=Y({"src/lib/utils/index.ts"(){"use strict";Nv(),s8(),a8(),l8(),c8(),f8(),d8(),rh()}}),EC={};St(EC,{CheckRepoActions:()=>kv,checkIsBareRepoTask:()=>kC,checkIsRepoRootTask:()=>SC,checkIsRepoTask:()=>h8});function h8(t){switch(t){case"bare":return kC();case"root":return SC()}return{commands:["rev-parse","--is-inside-work-tree"],format:"utf-8",onError:sh,parser:Uv}}function SC(){return{commands:["rev-parse","--git-dir"],format:"utf-8",onError:sh,parser(e){return/^\.(git)?$/.test(e.trim())}}}function kC(){return{commands:["rev-parse","--is-bare-repository"],format:"utf-8",onError:sh,parser:Uv}}function p8(t){return/(Not a git repository|Kein Git-Repository)/i.test(String(t))}var kv,sh,Uv,CC=Y({"src/lib/tasks/check-is-repo.ts"(){"use strict";ge(),kv=(t=>(t.BARE="bare",t.IN_TREE="tree",t.IS_REPO_ROOT="root",t))(kv||{}),sh=({exitCode:t},e,r,i)=>{if(t===128&&p8(e))return r(k.from("false"));i(e)},Uv=t=>t.trim()==="true"}});function m8(t,e){let r=new AC(t),i=t?PC:TC;return Cu(e).forEach(n=>{let s=n.replace(i,"");r.paths.push(s),(RC.test(s)?r.folders:r.files).push(s)}),r}var AC,TC,PC,RC,g8=Y({"src/lib/responses/CleanSummary.ts"(){"use strict";ge(),AC=class{constructor(t){this.dryRun=t,this.paths=[],this.files=[],this.folders=[]}},TC=/^[a-z]+\s*/i,PC=/^[a-z]+\s+[a-z]+\s*/i,RC=/\/$/}}),Cv={};St(Cv,{EMPTY_COMMANDS:()=>ah,adhocExecTask:()=>$C,configurationErrorTask:()=>Nr,isBufferTask:()=>IC,isEmptyTask:()=>MC,straightThroughBufferTask:()=>FC,straightThroughStringTask:()=>xr});function $C(t){return{commands:ah,format:"empty",parser:t}}function Nr(t){return{commands:ah,format:"empty",parser(){throw typeof t=="string"?new oC(t):t}}}function xr(t,e=!1){return{commands:t,format:"utf-8",parser(r){return e?String(r).trim():r}}}function FC(t){return{commands:t,format:"buffer",parser(e){return e}}}function IC(t){return t.format==="buffer"}function MC(t){return t.format==="empty"||!t.commands.length}var ah,yt=Y({"src/lib/tasks/task.ts"(){"use strict";lC(),ah=[]}}),DC={};St(DC,{CONFIG_ERROR_INTERACTIVE_MODE:()=>Gv,CONFIG_ERROR_MODE_REQUIRED:()=>jv,CONFIG_ERROR_UNKNOWN_OPTION:()=>Vv,CleanOptions:()=>Pa,cleanTask:()=>OC,cleanWithOptionsTask:()=>v8,isCleanOptionsArray:()=>w8});function v8(t,e){let{cleanMode:r,options:i,valid:n}=b8(t);return r?n.options?(i.push(...e),i.some(x8)?Nr(Gv):OC(r,i)):Nr(Vv+JSON.stringify(t)):Nr(jv)}function OC(t,e){return{commands:["clean",`-${t}`,...e],format:"utf-8",parser(i){return m8(t==="n",i)}}}function w8(t){return Array.isArray(t)&&t.every(e=>zv.has(e))}function b8(t){let e,r=[],i={cleanMode:!1,options:!0};return t.replace(/[^a-z]i/g,"").split("").forEach(n=>{_8(n)?(e=n,i.cleanMode=!0):i.options=i.options&&y8(r[r.length]=`-${n}`)}),{cleanMode:e,options:r,valid:i}}function _8(t){return t==="f"||t==="n"}function y8(t){return/^-[a-z]$/i.test(t)&&zv.has(t.charAt(1))}function x8(t){return/^-[^\-]/.test(t)?t.indexOf("i")>0:t==="--interactive"}var Gv,jv,Vv,Pa,zv,LC=Y({"src/lib/tasks/clean.ts"(){"use strict";g8(),ge(),yt(),Gv="Git clean interactive mode is not supported",jv='Git clean mode parameter ("n" or "f") is required',Vv="Git clean unknown option found in: ",Pa=(t=>(t.DRY_RUN="n",t.FORCE="f",t.IGNORED_INCLUDED="x",t.IGNORED_ONLY="X",t.EXCLUDING="e",t.QUIET="q",t.RECURSIVE="d",t))(Pa||{}),zv=new Set(["i",...yl(Object.values(Pa))])}});function E8(t){let e=new BC;for(let r of NC(t))e.addValue(r.file,String(r.key),r.value);return e}function S8(t,e){let r=null,i=[],n=new Map;for(let s of NC(t,e))s.key===e&&(i.push(r=s.value),n.has(s.file)||n.set(s.file,[]),n.get(s.file).push(r));return{key:e,paths:Array.from(n.keys()),scopes:n,value:r,values:i}}function k8(t){return t.replace(/^(file):/,"")}function*NC(t,e=null){let r=t.split("\0");for(let i=0,n=r.length-1;iObject.assign(t,this.values[e]),{})),this._all}addFile(t){if(!(t in this.values)){let e=Ra(this.files);this.values[t]=e?Object.create(this.values[e]):{},this.files.push(t)}return this.values[t]}addValue(t,e,r){let i=this.addFile(t);Object.hasOwn(i,e)?Array.isArray(i[e])?i[e].push(r):i[e]=[i[e],r]:i[e]=r,this._all=void 0}}}});function pv(t,e){return typeof t=="string"&&Object.hasOwn(Av,t)?t:e}function A8(t,e,r,i){let n=["config",`--${i}`];return r&&n.push("--add"),n.push(t,e),{commands:n,format:"utf-8",parser(s){return s}}}function T8(t,e){let r=["config","--null","--show-origin","--get-all",t];return e&&r.splice(1,0,`--${e}`),{commands:r,format:"utf-8",parser(i){return S8(i,t)}}}function P8(t){let e=["config","--list","--show-origin","--null"];return t&&e.push(`--${t}`),{commands:e,format:"utf-8",parser(r){return E8(r)}}}function R8(){return{addConfig(t,e,...r){return this._runTask(A8(t,e,r[0]===!0,pv(r[1],"local")),nt(arguments))},getConfig(t,e){return this._runTask(T8(t,pv(e,void 0)),nt(arguments))},listConfig(...t){return this._runTask(P8(pv(t[0],void 0)),nt(arguments))}}}var Av,HC=Y({"src/lib/tasks/config.ts"(){"use strict";C8(),ge(),Av=(t=>(t.system="system",t.global="global",t.local="local",t.worktree="worktree",t))(Av||{})}});function $8(t){return UC.has(t)}var mv,UC,GC=Y({"src/lib/tasks/diff-name-status.ts"(){"use strict";mv=(t=>(t.ADDED="A",t.COPIED="C",t.DELETED="D",t.MODIFIED="M",t.RENAMED="R",t.CHANGED="T",t.UNMERGED="U",t.UNKNOWN="X",t.BROKEN="B",t))(mv||{}),UC=new Set(Object.values(mv))}});function F8(...t){return new VC().param(...t)}function I8(t){let e=new Set,r={};return Ov(t,i=>{let[n,s,a]=i.split(wl);e.add(n),(r[n]=r[n]||[]).push({line:Qe(s),path:n,preview:a})}),{paths:e,results:r}}function M8(){return{grep(t){let e=nt(arguments),r=yr(arguments);for(let n of jC)if(r.includes(n))return this._runTask(Nr(`git.grep: use of "${n}" is not supported.`),e);typeof t=="string"&&(t=F8().param(t));let i=["grep","--null","-n","--full-name",...r,...t];return this._runTask({commands:i,format:"utf-8",parser(n){return I8(n)}},e)}}}var jC,xu,Rk,VC,zC=Y({"src/lib/tasks/grep.ts"(){"use strict";ge(),yt(),jC=["-h"],xu=Symbol("grepQuery"),VC=class{constructor(){this[Rk]=[]}*[(Rk=xu,Symbol.iterator)](){for(let t of this[xu])yield t}and(...t){return t.length&&this[xu].push("--and","(",...Eu(t,"-e"),")"),this}param(...t){return this[xu].push(...Eu(t,"-e")),this}}}}),WC={};St(WC,{ResetMode:()=>qd,getResetMode:()=>O8,resetTask:()=>D8});function D8(t,e){let r=["reset"];return qC(t)&&r.push(`--${t}`),r.push(...e),xr(r)}function O8(t){if(qC(t))return t;switch(typeof t){case"string":case"undefined":return"soft"}}function qC(t){return typeof t=="string"&&YC.includes(t)}var qd,YC,ZC=Y({"src/lib/tasks/reset.ts"(){"use strict";ge(),yt(),qd=(t=>(t.MIXED="mixed",t.SOFT="soft",t.HARD="hard",t.MERGE="merge",t.KEEP="keep",t))(qd||{}),YC=yl(Object.values(qd))}});function L8(){return(0,Qd.default)("simple-git")}function $k(t,e,r){return!e||!String(e).replace(/\s*/,"")?r?(i,...n)=>{t(i,...n),r(i,...n)}:t:(i,...n)=>{t(`%s ${i}`,e,...n),r&&r(i,...n)}}function N8(t,e,{namespace:r}){if(typeof t=="string")return t;let i=e&&e.namespace||"";return i.startsWith(r)?i.substr(r.length+1):i||r}function Wv(t,e,r,i=L8()){let n=t&&`[${t}]`||"",s=[],a=typeof e=="string"?i.extend(e):e,o=N8(ar(e,mt),a,i);return c(r);function l(u,f){return Ei(s,Wv(t,o.replace(/^[^:]+/,u),f,i))}function c(u){let f=u&&`[${u}]`||"",d=a&&$k(a,f)||$a,h=$k(i,`${n} ${f}`,d);return Object.assign(a?d:h,{label:t,sibling:l,info:h,step:c})}}var KC=Y({"src/lib/git-logger.ts"(){"use strict";ge(),Qd.default.formatters.L=t=>String(nh(t)?t.length:"-"),Qd.default.formatters.B=t=>k.isBuffer(t)?t.toString("utf8"):Au(t)}}),XC,B8=Y({"src/lib/runners/tasks-pending-queue.ts"(){"use strict";var t;Us(),KC(),XC=(t=class{constructor(r="GitExecutor"){this.logLabel=r,this._queue=new Map}withProgress(r){return this._queue.get(r)}createProgress(r){let i=t.getName(r.commands[0]),n=Wv(this.logLabel,i);return{task:r,logger:n,name:i}}push(r){let i=this.createProgress(r);return i.logger("Adding task to the queue, commands = %o",r.commands),this._queue.set(r,i),i}fatal(r){for(let[i,{logger:n}]of Array.from(this._queue.entries()))i===r.task?(n.info("Failed %o",r),n("Fatal exception, any as-yet un-started tasks run through this executor will not be attempted")):n.info("A fatal exception occurred in a previous task, the queue has been purged: %o",r.message),this.complete(i);if(this._queue.size!==0)throw new Error(`Queue size should be zero after fatal: ${this._queue.size}`)}complete(r){this.withProgress(r)&&this._queue.delete(r)}attempt(r){let i=this.withProgress(r);if(!i)throw new Br(void 0,"TasksPendingQueue: attempt called for an unknown task");return i.logger("Starting task"),i}static getName(r="empty"){return`task:${r}:${++t.counter}`}},t.counter=0,t)}});function Ta(t,e){return{method:dC(t.commands)||"",commands:e}}function H8(t,e){return r=>{e("[ERROR] child process exception %o",r),t.push(k.from(String(r.stack),"ascii"))}}function Fk(t,e,r,i){return n=>{r("%s received %L bytes",e,n),i("%B",n),t.push(n)}}var Tv,U8=Y({"src/lib/runners/git-executor-chain.ts"(){"use strict";Us(),yt(),ge(),B8(),Tv=class{constructor(t,e,r){this._executor=t,this._scheduler=e,this._plugins=r,this._chain=Promise.resolve(),this._queue=new XC}get cwd(){return this._cwd||this._executor.cwd}set cwd(t){this._cwd=t}get env(){return this._executor.env}get outputHandler(){return this._executor.outputHandler}chain(){return this}push(t){return this._queue.push(t),this._chain=this._chain.then(()=>this.attemptTask(t))}async attemptTask(t){let e=await this._scheduler.next(),r=()=>this._queue.complete(t);try{let{logger:i}=this._queue.attempt(t);return await(MC(t)?this.attemptEmptyTask(t,i):this.attemptRemoteTask(t,i))}catch(i){throw this.onFatalException(t,i)}finally{r(),e()}}onFatalException(t,e){let r=e instanceof Br?Object.assign(e,{task:t}):new Br(t,e&&String(e));return this._chain=Promise.resolve(),this._queue.fatal(r),r}async attemptRemoteTask(t,e){let r=this._plugins.exec("spawn.binary","",Ta(t,t.commands)),i=this._plugins.exec("spawn.args",[...t.commands],{...Ta(t,t.commands),env:{...this.env}}),n=await this.gitResponse(t,r,i,this.outputHandler,e.step("SPAWN")),s=await this.handleTaskData(t,i,n,e.step("HANDLE"));return e("passing response to task's parser as a %s",t.format),IC(t)?Sv(t.parser,s):Sv(t.parser,s.asStrings())}async attemptEmptyTask(t,e){return e("empty task bypassing child process to call to task's parser"),t.parser(this)}handleTaskData(t,e,r,i){let{exitCode:n,rejection:s,stdOut:a,stdErr:o}=r;return new Promise((l,c)=>{i("Preparing to handle process response exitCode=%d stdOut=",n);let{error:u}=this._plugins.exec("task.error",{error:s},{...Ta(t,e),...r});if(u&&t.onError)return i.info("exitCode=%s handling with custom error handler"),t.onError(r,u,f=>{i.info("custom error handler treated as success"),i("custom error returned a %s",Au(f)),l(new Xd(Array.isArray(f)?k.concat(f):f,k.concat(o)))},c);if(u)return i.info("handling as error: exitCode=%s stdErr=%s rejection=%o",n,o.length,s),c(u);i.info("retrieving task output complete"),l(new Xd(k.concat(a),k.concat(o)))})}async gitResponse(t,e,r,i,n){let s=n.sibling("output"),a=this._plugins.exec("spawn.options",{cwd:this.cwd,env:this.env,windowsHide:!0},Ta(t,t.commands));return new Promise(o=>{let l=[],c=[];n.info("%s %o",e,r),n("%O",a);let u=this._beforeSpawn(t,r);if(u)return o({stdOut:l,stdErr:c,exitCode:9901,rejection:u});this._plugins.exec("spawn.before",void 0,{...Ta(t,r),kill(d){u=d||u}});let f=(0,QC.spawn)(e,r,a);f.stdout.on("data",Fk(l,"stdOut",n,s.step("stdOut"))),f.stderr.on("data",Fk(c,"stdErr",n,s.step("stdErr"))),f.on("error",H8(c,n)),i&&(n("Passing child process stdOut/stdErr to custom outputHandler"),i(e,f.stdout,f.stderr,[...r])),this._plugins.exec("spawn.after",void 0,{...Ta(t,r),spawned:f,close(d,h){o({stdOut:l,stdErr:c,exitCode:d,rejection:u||h})},kill(d){f.killed||(u=d,f.kill("SIGINT"))}})})}_beforeSpawn(t,e){let r;return this._plugins.exec("spawn.before",void 0,{...Ta(t,e),kill(i){r=i||r}}),r}}}}),JC={};St(JC,{GitExecutor:()=>eA});var eA,G8=Y({"src/lib/runners/git-executor.ts"(){"use strict";U8(),eA=class{constructor(t,e,r){this.cwd=t,this._scheduler=e,this._plugins=r,this._chain=new Tv(this,this._scheduler,this._plugins)}chain(){return new Tv(this,this._scheduler,this._plugins)}push(t){return this._chain.push(t)}}}});function j8(t,e,r=$a){let i=s=>{r(null,s)},n=s=>{(s==null?void 0:s.task)===t&&r(s instanceof ku?V8(s):s,void 0)};e.then(i,n)}function V8(t){let e=i=>{console.warn(`simple-git deprecation notice: accessing GitResponseError.${i} should be GitResponseError.git.${i}, this will no longer be available in version 3`),e=$a};return Object.create(t,Object.getOwnPropertyNames(t.git).reduce(r,{}));function r(i,n){return n in t||(i[n]={enumerable:!1,configurable:!1,get(){return e(n),t.git[n]}}),i}}var z8=Y({"src/lib/task-callback.ts"(){"use strict";_l(),ge()}});function Ik(t,e){return $C(r=>{if(!Lv(t))throw new Error(`Git.cwd: cannot change to non-directory "${t}"`);return(e||r).cwd=t})}var W8=Y({"src/lib/tasks/change-working-directory.ts"(){"use strict";ge(),yt()}});function gv(t){let e=["checkout",...t];return e[1]==="-b"&&e.includes("-B")&&(e[1]=th(e,"-B")),xr(e)}function q8(){return{checkout(){return this._runTask(gv(yr(arguments,1)),nt(arguments))},checkoutBranch(t,e){return this._runTask(gv(["-b",t,e,...yr(arguments)]),nt(arguments))},checkoutLocalBranch(t){return this._runTask(gv(["-b",t,...yr(arguments)]),nt(arguments))}}}var Y8=Y({"src/lib/tasks/checkout.ts"(){"use strict";ge(),yt()}});function Z8(){return{count:0,garbage:0,inPack:0,packs:0,prunePackable:0,size:0,sizeGarbage:0,sizePack:0}}function K8(){return{countObjects(){return this._runTask({commands:["count-objects","--verbose"],format:"utf-8",parser(t){return Hr(Z8(),[tA],t)}})}}}var tA,X8=Y({"src/lib/tasks/count-objects.ts"(){"use strict";ge(),tA=new be(/([a-z-]+): (\d+)$/,(t,[e,r])=>{let i=mC(e);Object.hasOwn(t,i)&&(t[i]=Qe(r))})}});function Q8(t){return Hr({author:null,branch:"",commit:"",root:!1,summary:{changes:0,insertions:0,deletions:0}},rA,t)}var rA,J8=Y({"src/lib/parsers/parse-commit.ts"(){"use strict";ge(),rA=[new be(/^\[([^\s]+)( \([^)]+\))? ([^\]]+)/,(t,[e,r,i])=>{t.branch=e,t.commit=i,t.root=!!r}),new be(/\s*Author:\s(.+)/i,(t,[e])=>{let r=e.split("<"),i=r.pop();!i||!i.includes("@")||(t.author={email:i.substr(0,i.length-1),name:r.join("<").trim()})}),new be(/(\d+)[^,]*(?:,\s*(\d+)[^,]*)(?:,\s*(\d+))/g,(t,[e,r,i])=>{t.summary.changes=parseInt(e,10)||0,t.summary.insertions=parseInt(r,10)||0,t.summary.deletions=parseInt(i,10)||0}),new be(/^(\d+)[^,]*(?:,\s*(\d+)[^(]+\(([+-]))?/,(t,[e,r,i])=>{t.summary.changes=parseInt(e,10)||0;let n=parseInt(r,10)||0;i==="-"?t.summary.deletions=n:i==="+"&&(t.summary.insertions=n)})]}});function eH(t,e,r){return{commands:["-c","core.abbrev=40","commit",...Eu(t,"-m"),...e,...r],format:"utf-8",parser:Q8}}function tH(){return{commit(e,...r){let i=nt(arguments),n=t(e)||eH(Sn(e),Sn(ar(r[0],Kd,[])),[...yl(ar(r[1],Tu,[])),...yr(arguments,0,!0)]);return this._runTask(n,i)}};function t(e){return!Kd(e)&&Nr("git.commit: requires the commit message to be supplied as a string/string[]")}}var rH=Y({"src/lib/tasks/commit.ts"(){"use strict";J8(),ge(),yt()}});function iH(){return{firstCommit(){return this._runTask(xr(["rev-list","--max-parents=0","HEAD"],!0),nt(arguments))}}}var nH=Y({"src/lib/tasks/first-commit.ts"(){"use strict";ge(),yt()}});function sH(t,e){let r=["hash-object",t];return e&&r.push("-w"),xr(r,!0)}var aH=Y({"src/lib/tasks/hash-object.ts"(){"use strict";yt()}});function oH(t,e,r){let i=String(r).trim(),n;if(n=iA.exec(i))return new Yd(t,e,!1,n[1]);if(n=nA.exec(i))return new Yd(t,e,!0,n[1]);let s="",a=i.split(" ");for(;a.length;)if(a.shift()==="in"){s=a.join(" ");break}return new Yd(t,e,/^re/i.test(i),s)}var Yd,iA,nA,lH=Y({"src/lib/responses/InitSummary.ts"(){"use strict";Yd=class{constructor(t,e,r,i){this.bare=t,this.path=e,this.existing=r,this.gitDir=i}},iA=/^Init.+ repository in (.+)$/,nA=/^Rein.+ in (.+)$/}});function cH(t){return t.includes(qv)}function uH(t=!1,e,r){let i=["init",...r];return t&&!cH(i)&&i.splice(1,0,qv),{commands:i,format:"utf-8",parser(n){return oH(i.includes("--bare"),e,n)}}}var qv,fH=Y({"src/lib/tasks/init.ts"(){"use strict";lH(),qv="--bare"}});function Yv(t){for(let e=0;eHr(new sA,e,r,!1)}var vv,Mk,Dk,Ok,oA,lA=Y({"src/lib/parsers/parse-diff-summary.ts"(){"use strict";Pu(),hH(),GC(),ge(),vv=[new be(/^(.+)\s+\|\s+(\d+)(\s+[+\-]+)?$/,(t,[e,r,i=""])=>{t.files.push({file:e.trim(),changes:Qe(r),insertions:i.replace(/[^+]/g,"").length,deletions:i.replace(/[^-]/g,"").length,binary:!1})}),new be(/^(.+) \|\s+Bin ([0-9.]+) -> ([0-9.]+) ([a-z]+)/,(t,[e,r,i])=>{t.files.push({file:e.trim(),before:Qe(r),after:Qe(i),binary:!0})}),new be(/(\d+) files? changed\s*((?:, \d+ [^,]+){0,2})/,(t,[e,r])=>{let i=/(\d+) i/.exec(r),n=/(\d+) d/.exec(r);t.changed=Qe(e),t.insertions=Qe(i==null?void 0:i[1]),t.deletions=Qe(n==null?void 0:n[1])})],Mk=[new be(/(\d+)\t(\d+)\t(.+)$/,(t,[e,r,i])=>{let n=Qe(e),s=Qe(r);t.changed++,t.insertions+=n,t.deletions+=s,t.files.push({file:i,changes:n+s,insertions:n,deletions:s,binary:!1})}),new be(/-\t-\t(.+)$/,(t,[e])=>{t.changed++,t.files.push({file:e,after:0,before:0,binary:!0})})],Dk=[new be(/(.+)$/,(t,[e])=>{t.changed++,t.files.push({file:e,changes:0,insertions:0,deletions:0,binary:!1})})],Ok=[new be(/([ACDMRTUXB])([0-9]{0,3})\t(.[^\t]*)(\t(.[^\t]*))?$/,(t,[e,r,i,n,s])=>{t.changed++,t.files.push({file:s!=null?s:i,changes:0,insertions:0,deletions:0,binary:!1,status:yv($8(e)&&e),from:yv(!!s&&i!==s&&i),similarity:Qe(r)})})],oA={"":vv,"--stat":vv,"--numstat":Mk,"--name-status":Ok,"--name-only":Dk}}});function pH(t,e){return e.reduce((r,i,n)=>(r[i]=t[n]||"",r),Object.create({diff:null}))}function cA(t=Qv,e=uA,r=""){let i=aA(r);return function(n){let s=Cu(n.trim(),!1,Kv).map(function(a){let o=a.split(Xv),l=pH(o[0].split(t),e);return o.length>1&&o[1].trim()&&(l.diff=i(o[1])),l});return{all:s,latest:s.length&&s[0]||null,total:s.length}}}var Kv,Xv,Qv,uA,fA=Y({"src/lib/parsers/parse-list-log-summary.ts"(){"use strict";ge(),lA(),Pu(),Kv="\xF2\xF2\xF2\xF2\xF2\xF2 ",Xv=" \xF2\xF2",Qv=" \xF2 ",uA=["hash","date","message","refs","author_name","author_email"]}}),dA={};St(dA,{diffSummaryTask:()=>mH,validateLogFormatConfig:()=>oh});function mH(t){let e=Yv(t),r=["diff"];return e===""&&(e="--stat",r.push("--stat=4096")),r.push(...t),oh(r)||{commands:r,format:"utf-8",parser:aA(e)}}function oh(t){let e=t.filter(dH);if(e.length>1)return Nr(`Summary flags are mutually exclusive - pick one of ${e.join(",")}`);if(e.length&&t.includes("-z"))return Nr(`Summary flag ${e} parsing is not compatible with null termination option '-z'`)}var Jv=Y({"src/lib/tasks/diff.ts"(){"use strict";Pu(),lA(),yt()}});function gH(t,e){let r=[],i=[];return Object.keys(t).forEach(n=>{r.push(n),i.push(String(t[n]))}),[r,i.join(e)]}function vH(t){return Object.keys(t).reduce((e,r)=>(r in Pv||(e[r]=t[r]),e),{})}function hA(t={},e=[]){let r=ar(t.splitter,mt,Qv),i=ih(t.format)?t.format:{hash:"%H",date:t.strictDate===!1?"%ai":"%aI",message:"%s",refs:"%D",body:t.multiLine?"%B":"%b",author_name:t.mailMap!==!1?"%aN":"%an",author_email:t.mailMap!==!1?"%aE":"%ae"},[n,s]=gH(i,r),a=[],o=[`--pretty=format:${Kv}${s}${Xv}`,...e],l=t.n||t["max-count"]||t.maxCount;if(l&&o.push(`--max-count=${l}`),t.from||t.to){let c=t.symmetric!==!1?"...":"..";a.push(`${t.from||""}${c}${t.to||""}`)}return mt(t.file)&&o.push("--follow",pl(t.file)),Bv(vH(t),o),{fields:n,splitter:r,commands:[...o,...a]}}function wH(t,e,r){let i=cA(t,e,Yv(r));return{commands:["log",...r],format:"utf-8",parser:i}}function bH(){return{log(...r){let i=nt(arguments),n=hA(Hv(arguments),yl(ar(arguments[0],Tu,[]))),s=e(...r)||oh(n.commands)||t(n);return this._runTask(s,i)}};function t(r){return wH(r.splitter,r.fields,r.commands)}function e(r,i){return mt(r)&&mt(i)&&Nr("git.log(string, string) should be replaced with git.log({ from: string, to: string })")}}var Pv,pA=Y({"src/lib/tasks/log.ts"(){"use strict";Pu(),fA(),ge(),yt(),Jv(),Pv=(t=>(t[t["--pretty"]=0]="--pretty",t[t["max-count"]=1]="max-count",t[t.maxCount=2]="maxCount",t[t.n=3]="n",t[t.file=4]="file",t[t.format=5]="format",t[t.from=6]="from",t[t.to=7]="to",t[t.splitter=8]="splitter",t[t.symmetric=9]="symmetric",t[t.mailMap=10]="mailMap",t[t.multiLine=11]="multiLine",t[t.strictDate=12]="strictDate",t))(Pv||{})}}),Zd,mA,_H=Y({"src/lib/responses/MergeSummary.ts"(){"use strict";Zd=class{constructor(t,e=null,r){this.reason=t,this.file=e,this.meta=r}toString(){return`${this.file}:${this.reason}`}},mA=class{constructor(){this.conflicts=[],this.merges=[],this.result="success"}get failed(){return this.conflicts.length>0}get reason(){return this.result}toString(){return this.conflicts.length?`CONFLICTS: ${this.conflicts.join(", ")}`:"OK"}}}}),Rv,gA,yH=Y({"src/lib/responses/PullSummary.ts"(){"use strict";Rv=class{constructor(){this.remoteMessages={all:[]},this.created=[],this.deleted=[],this.files=[],this.deletions={},this.insertions={},this.summary={changes:0,deletions:0,insertions:0}}},gA=class{constructor(){this.remote="",this.hash={local:"",remote:""},this.branch={local:"",remote:""},this.message=""}toString(){return this.message}}}});function wv(t){return t.objects=t.objects||{compressing:0,counting:0,enumerating:0,packReused:0,reused:{count:0,delta:0},total:{count:0,delta:0}}}function Lk(t){let e=/^\s*(\d+)/.exec(t),r=/delta (\d+)/i.exec(t);return{count:Qe(e&&e[1]||"0"),delta:Qe(r&&r[1]||"0")}}var vA,xH=Y({"src/lib/parsers/parse-remote-objects.ts"(){"use strict";ge(),vA=[new Hs(/^remote:\s*(enumerating|counting|compressing) objects: (\d+),/i,(t,[e,r])=>{let i=e.toLowerCase(),n=wv(t.remoteMessages);Object.assign(n,{[i]:Qe(r)})}),new Hs(/^remote:\s*(enumerating|counting|compressing) objects: \d+% \(\d+\/(\d+)\),/i,(t,[e,r])=>{let i=e.toLowerCase(),n=wv(t.remoteMessages);Object.assign(n,{[i]:Qe(r)})}),new Hs(/total ([^,]+), reused ([^,]+), pack-reused (\d+)/i,(t,[e,r,i])=>{let n=wv(t.remoteMessages);n.total=Lk(e),n.reused=Lk(r),n.packReused=Qe(i)})]}});function wA(t,e){return Hr({remoteMessages:new _A},bA,e)}var bA,_A,yA=Y({"src/lib/parsers/parse-remote-messages.ts"(){"use strict";ge(),xH(),bA=[new Hs(/^remote:\s*(.+)$/,(t,[e])=>(t.remoteMessages.all.push(e.trim()),!1)),...vA,new Hs([/create a (?:pull|merge) request/i,/\s(https?:\/\/\S+)$/],(t,[e])=>{t.remoteMessages.pullRequestUrl=e}),new Hs([/found (\d+) vulnerabilities.+\(([^)]+)\)/i,/\s(https?:\/\/\S+)$/],(t,[e,r,i])=>{t.remoteMessages.vulnerabilities={count:Qe(e),summary:r,url:i}})],_A=class{constructor(){this.all=[]}}}});function EH(t,e){let r=Hr(new gA,xA,[t,e]);return r.message&&r}var Nk,Bk,Hk,Uk,xA,Gk,ew,EA=Y({"src/lib/parsers/parse-pull.ts"(){"use strict";yH(),ge(),yA(),Nk=/^\s*(.+?)\s+\|\s+\d+\s*(\+*)(-*)/,Bk=/(\d+)\D+((\d+)\D+\(\+\))?(\D+(\d+)\D+\(-\))?/,Hk=/^(create|delete) mode \d+ (.+)/,Uk=[new be(Nk,(t,[e,r,i])=>{t.files.push(e),r&&(t.insertions[e]=r.length),i&&(t.deletions[e]=i.length)}),new be(Bk,(t,[e,,r,,i])=>r!==void 0||i!==void 0?(t.summary.changes=+e||0,t.summary.insertions=+r||0,t.summary.deletions=+i||0,!0):!1),new be(Hk,(t,[e,r])=>{Ei(t.files,r),Ei(e==="create"?t.created:t.deleted,r)})],xA=[new be(/^from\s(.+)$/i,(t,[e])=>{t.remote=e}),new be(/^fatal:\s(.+)$/,(t,[e])=>{t.message=e}),new be(/([a-z0-9]+)\.\.([a-z0-9]+)\s+(\S+)\s+->\s+(\S+)$/,(t,[e,r,i,n])=>{t.branch.local=i,t.hash.local=e,t.branch.remote=n,t.hash.remote=r})],Gk=(t,e)=>Hr(new Rv,Uk,[t,e]),ew=(t,e)=>Object.assign(new Rv,Gk(t,e),wA(t,e))}}),jk,SA,Vk,SH=Y({"src/lib/parsers/parse-merge.ts"(){"use strict";_H(),ge(),EA(),jk=[new be(/^Auto-merging\s+(.+)$/,(t,[e])=>{t.merges.push(e)}),new be(/^CONFLICT\s+\((.+)\): Merge conflict in (.+)$/,(t,[e,r])=>{t.conflicts.push(new Zd(e,r))}),new be(/^CONFLICT\s+\((.+\/delete)\): (.+) deleted in (.+) and/,(t,[e,r,i])=>{t.conflicts.push(new Zd(e,r,{deleteRef:i}))}),new be(/^CONFLICT\s+\((.+)\):/,(t,[e])=>{t.conflicts.push(new Zd(e,null))}),new be(/^Automatic merge failed;\s+(.+)$/,(t,[e])=>{t.result=e})],SA=(t,e)=>Object.assign(Vk(t,e),ew(t,e)),Vk=t=>Hr(new mA,jk,t)}});function zk(t){return t.length?{commands:["merge",...t],format:"utf-8",parser(e,r){let i=SA(e,r);if(i.failed)throw new ku(i);return i}}:Nr("Git.merge requires at least one option")}var kH=Y({"src/lib/tasks/merge.ts"(){"use strict";_l(),SH(),yt()}});function CH(t,e,r){let i=r.includes("deleted"),n=r.includes("tag")||/^refs\/tags/.test(t),s=!r.includes("new");return{deleted:i,tag:n,branch:!n,new:!s,alreadyUpdated:s,local:t,remote:e}}var Wk,kA,qk,AH=Y({"src/lib/parsers/parse-push.ts"(){"use strict";ge(),yA(),Wk=[new be(/^Pushing to (.+)$/,(t,[e])=>{t.repo=e}),new be(/^updating local tracking ref '(.+)'/,(t,[e])=>{t.ref={...t.ref||{},local:e}}),new be(/^[=*-]\s+([^:]+):(\S+)\s+\[(.+)]$/,(t,[e,r,i])=>{t.pushed.push(CH(e,r,i))}),new be(/^Branch '([^']+)' set up to track remote branch '([^']+)' from '([^']+)'/,(t,[e,r,i])=>{t.branch={...t.branch||{},local:e,remote:r,remoteName:i}}),new be(/^([^:]+):(\S+)\s+([a-z0-9]+)\.\.([a-z0-9]+)$/,(t,[e,r,i,n])=>{t.update={head:{local:e,remote:r},hash:{from:i,to:n}}})],kA=(t,e)=>{let r=qk(t,e),i=wA(t,e);return{...r,...i}},qk=(t,e)=>Hr({pushed:[]},Wk,[t,e])}}),CA={};St(CA,{pushTagsTask:()=>TH,pushTask:()=>tw});function TH(t={},e){return Ei(e,"--tags"),tw(t,e)}function tw(t={},e){let r=["push",...e];return t.branch&&r.splice(1,0,t.branch),t.remote&&r.splice(1,0,t.remote),th(r,"-v"),Ei(r,"--verbose"),Ei(r,"--porcelain"),{commands:r,format:"utf-8",parser:kA}}var AA=Y({"src/lib/tasks/push.ts"(){"use strict";AH(),ge()}});function PH(){return{showBuffer(){let t=["show",...yr(arguments,1)];return t.includes("--binary")||t.splice(1,0,"--binary"),this._runTask(FC(t),nt(arguments))},show(){let t=["show",...yr(arguments,1)];return this._runTask(xr(t),nt(arguments))}}}var RH=Y({"src/lib/tasks/show.ts"(){"use strict";ge(),yt()}}),Yk,TA,$H=Y({"src/lib/responses/FileStatusSummary.ts"(){"use strict";Yk=/^(.+)\0(.+)$/,TA=class{constructor(t,e,r){if(this.path=t,this.index=e,this.working_dir=r,e==="R"||r==="R"){let i=Yk.exec(t)||[null,t,t];this.from=i[2]||"",this.path=i[1]||""}}}}});function Zk(t){let[e,r]=t.split(wl);return{from:r||e,to:e}}function ti(t,e,r){return[`${t}${e}`,r]}function bv(t,...e){return e.map(r=>ti(t,r,(i,n)=>i.conflicted.push(n)))}function FH(t,e){let r=e.trim();switch(" "){case r.charAt(2):return i(r.charAt(0),r.charAt(1),r.slice(3));case r.charAt(1):return i(" ",r.charAt(0),r.slice(2));default:return}function i(n,s,a){let o=`${n}${s}`,l=PA.get(o);l&&l(t,a),o!=="##"&&o!=="!!"&&t.files.push(new TA(a,n,s))}}var Kk,PA,RA,IH=Y({"src/lib/responses/StatusSummary.ts"(){"use strict";ge(),$H(),Kk=class{constructor(){this.not_added=[],this.conflicted=[],this.created=[],this.deleted=[],this.ignored=void 0,this.modified=[],this.renamed=[],this.files=[],this.staged=[],this.ahead=0,this.behind=0,this.current=null,this.tracking=null,this.detached=!1,this.isClean=()=>!this.files.length}},PA=new Map([ti(" ","A",(t,e)=>t.created.push(e)),ti(" ","D",(t,e)=>t.deleted.push(e)),ti(" ","M",(t,e)=>t.modified.push(e)),ti("A"," ",(t,e)=>{t.created.push(e),t.staged.push(e)}),ti("A","M",(t,e)=>{t.created.push(e),t.staged.push(e),t.modified.push(e)}),ti("D"," ",(t,e)=>{t.deleted.push(e),t.staged.push(e)}),ti("M"," ",(t,e)=>{t.modified.push(e),t.staged.push(e)}),ti("M","M",(t,e)=>{t.modified.push(e),t.staged.push(e)}),ti("R"," ",(t,e)=>{t.renamed.push(Zk(e))}),ti("R","M",(t,e)=>{let r=Zk(e);t.renamed.push(r),t.modified.push(r.to)}),ti("!","!",(t,e)=>{(t.ignored=t.ignored||[]).push(e)}),ti("?","?",(t,e)=>t.not_added.push(e)),...bv("A","A","U"),...bv("D","D","U"),...bv("U","A","D","U"),["##",(t,e)=>{let r=/ahead (\d+)/,i=/behind (\d+)/,n=/^(.+?(?=(?:\.{3}|\s|$)))/,s=/\.{3}(\S*)/,a=/\son\s(\S+?)(?=\.{3}|$)/,o=r.exec(e);t.ahead=o&&+o[1]||0,o=i.exec(e),t.behind=o&&+o[1]||0,o=n.exec(e),t.current=ar(o==null?void 0:o[1],mt,null),o=s.exec(e),t.tracking=ar(o==null?void 0:o[1],mt,null),o=a.exec(e),o&&(t.current=ar(o==null?void 0:o[1],mt,t.current)),t.detached=/\(no branch\)/.test(e)}]]),RA=function(t){let e=t.split(wl),r=new Kk;for(let i=0,n=e.length;i!$A.includes(r))],parser(r){return RA(r)}}}var $A,DH=Y({"src/lib/tasks/status.ts"(){"use strict";IH(),$A=["--null","-z"]}});function Jd(t=0,e=0,r=0,i="",n=!0){return Object.defineProperty({major:t,minor:e,patch:r,agent:i,installed:n},"toString",{value(){return`${this.major}.${this.minor}.${this.patch}`},configurable:!1,enumerable:!1})}function OH(){return Jd(0,0,0,"",!1)}function LH(){return{version(){return this._runTask({commands:["--version"],format:"utf-8",parser:NH,onError(t,e,r,i){if(t.exitCode===-2)return r(k.from(rw));i(e)}})}}}function NH(t){return t===rw?OH():Hr(Jd(0,0,0,t),FA,t)}var rw,FA,BH=Y({"src/lib/tasks/version.ts"(){"use strict";ge(),rw="installed=false",FA=[new be(/version (\d+)\.(\d+)\.(\d+)(?:\s*\((.+)\))?/,(t,[e,r,i,n=""])=>{Object.assign(t,Jd(Qe(e),Qe(r),Qe(i),n))}),new be(/version (\d+)\.(\d+)\.(\D+)(.+)?$/,(t,[e,r,i,n=""])=>{Object.assign(t,Jd(Qe(e),Qe(r),i,n))})]}});function Xk(t,e,r,...i){return mt(r)?e(r,ar(i[0],mt),yr(arguments)):Nr(`git.${t}() requires a string 'repoPath'`)}function HH(){return{clone(t,...e){return this._runTask(Xk("clone",$v,ar(t,mt),...e),nt(arguments))},mirror(t,...e){return this._runTask(Xk("mirror",IA,ar(t,mt),...e),nt(arguments))}}}var $v,IA,UH=Y({"src/lib/tasks/clone.ts"(){"use strict";yt(),ge(),$v=(t,e,r)=>{let i=["clone",...r];return mt(t)&&i.push(pl(t)),mt(e)&&i.push(pl(e)),xr(i)},IA=(t,e,r)=>(Ei(r,"--mirror"),$v(t,e,r))}}),MA={};St(MA,{SimpleGitApi:()=>Fv});var Fv,GH=Y({"src/lib/simple-git-api.ts"(){"use strict";z8(),W8(),Y8(),X8(),rH(),HC(),nH(),zC(),aH(),fH(),pA(),kH(),AA(),RH(),DH(),yt(),BH(),ge(),UH(),Fv=class{constructor(t){this._executor=t}_runTask(t,e){let r=this._executor.chain(),i=r.push(t);return e&&j8(t,i,e),Object.create(this,{then:{value:i.then.bind(i)},catch:{value:i.catch.bind(i)},_executor:{value:r}})}add(t){return this._runTask(xr(["add",...Sn(t)]),nt(arguments))}cwd(t){let e=nt(arguments);return typeof t=="string"?this._runTask(Ik(t,this._executor),e):typeof(t==null?void 0:t.path)=="string"?this._runTask(Ik(t.path,t.root&&this._executor||void 0),e):this._runTask(Nr("Git.cwd: workingDirectory must be supplied as a string"),e)}hashObject(t,e){return this._runTask(sH(t,e===!0),nt(arguments))}init(t){return this._runTask(uH(t===!0,this._executor.cwd,yr(arguments)),nt(arguments))}merge(){return this._runTask(zk(yr(arguments)),nt(arguments))}mergeFromTo(t,e){return mt(t)&&mt(e)?this._runTask(zk([t,e,...yr(arguments)]),nt(arguments,!1)):this._runTask(Nr("Git.mergeFromTo requires that the 'remote' and 'branch' arguments are supplied as strings"))}outputHandler(t){return this._executor.outputHandler=t,this}push(){let t=tw({remote:ar(arguments[0],mt),branch:ar(arguments[1],mt)},yr(arguments));return this._runTask(t,nt(arguments))}stash(){return this._runTask(xr(["stash",...yr(arguments)]),nt(arguments))}status(){return this._runTask(MH(yr(arguments)),nt(arguments))}},Object.assign(Fv.prototype,q8(),HH(),tH(),R8(),K8(),iH(),M8(),bH(),PH(),LH())}}),DA={};St(DA,{Scheduler:()=>LA});var Qk,LA,jH=Y({"src/lib/runners/scheduler.ts"(){"use strict";ge(),KC(),Qk=(()=>{let t=0;return()=>{t++;let{promise:e,done:r}=(0,OA.createDeferred)();return{promise:e,done:r,id:t}}})(),LA=class{constructor(t=2){this.concurrency=t,this.logger=Wv("","scheduler"),this.pending=[],this.running=[],this.logger("Constructed, concurrency=%s",t)}schedule(){if(!this.pending.length||this.running.length>=this.concurrency){this.logger("Schedule attempt ignored, pending=%s running=%s concurrency=%s",this.pending.length,this.running.length,this.concurrency);return}let t=Ei(this.running,this.pending.shift());this.logger("Attempting id=%s",t.id),t.done(()=>{this.logger("Completing id=",t.id),th(this.running,t),this.schedule()})}next(){let{promise:t,id:e}=Ei(this.pending,Qk());return this.logger("Scheduling id=%s",e),this.schedule(),t}}}}),NA={};St(NA,{applyPatchTask:()=>VH});function VH(t,e){return xr(["apply",...e,...t])}var zH=Y({"src/lib/tasks/apply-patch.ts"(){"use strict";yt()}});function WH(t,e){return{branch:t,hash:e,success:!0}}function qH(t){return{branch:t,hash:null,success:!1}}var BA,YH=Y({"src/lib/responses/BranchDeleteSummary.ts"(){"use strict";BA=class{constructor(){this.all=[],this.branches={},this.errors=[]}get success(){return!this.errors.length}}}});function HA(t,e){return e===1&&Iv.test(t)}var Jk,Iv,eC,lh,ZH=Y({"src/lib/parsers/parse-branch-delete.ts"(){"use strict";YH(),ge(),Jk=/(\S+)\s+\(\S+\s([^)]+)\)/,Iv=/^error[^']+'([^']+)'/m,eC=[new be(Jk,(t,[e,r])=>{let i=WH(e,r);t.all.push(i),t.branches[e]=i}),new be(Iv,(t,[e])=>{let r=qH(e);t.errors.push(r),t.all.push(r),t.branches[e]=r})],lh=(t,e)=>Hr(new BA,eC,[t,e])}}),UA,KH=Y({"src/lib/responses/BranchSummary.ts"(){"use strict";UA=class{constructor(){this.all=[],this.branches={},this.current="",this.detached=!1}push(t,e,r,i,n){t==="*"&&(this.detached=e,this.current=r),this.all.push(r),this.branches[r]={current:t==="*",linkedWorkTree:t==="+",name:r,commit:i,label:n}}}}});function tC(t){return t?t.charAt(0):""}function GA(t,e=!1){return Hr(new UA,e?[VA]:jA,t)}var jA,VA,XH=Y({"src/lib/parsers/parse-branch.ts"(){"use strict";KH(),ge(),jA=[new be(/^([*+]\s)?\((?:HEAD )?detached (?:from|at) (\S+)\)\s+([a-z0-9]+)\s(.*)$/,(t,[e,r,i,n])=>{t.push(tC(e),!0,r,i,n)}),new be(/^([*+]\s)?(\S+)\s+([a-z0-9]+)\s?(.*)$/s,(t,[e,r,i,n])=>{t.push(tC(e),!1,r,i,n)})],VA=new be(/^(\S+)$/s,(t,[e])=>{t.push("*",!1,e,"","")})}}),zA={};St(zA,{branchLocalTask:()=>JH,branchTask:()=>QH,containsDeleteBranchCommand:()=>WA,deleteBranchTask:()=>t6,deleteBranchesTask:()=>e6});function WA(t){let e=["-d","-D","--delete"];return t.some(r=>e.includes(r))}function QH(t){let e=WA(t),r=t.includes("--show-current"),i=["branch",...t];return i.length===1&&i.push("-a"),i.includes("-v")||i.splice(1,0,"-v"),{format:"utf-8",commands:i,parser(n,s){return e?lh(n,s).all[0]:GA(n,r)}}}function JH(){return{format:"utf-8",commands:["branch","-v"],parser(t){return GA(t)}}}function e6(t,e=!1){return{format:"utf-8",commands:["branch","-v",e?"-D":"-d",...t],parser(r,i){return lh(r,i)},onError({exitCode:r,stdOut:i},n,s,a){if(!HA(String(n),r))return a(n);s(i)}}}function t6(t,e=!1){let r={format:"utf-8",commands:["branch","-v",e?"-D":"-d",t],parser(i,n){return lh(i,n).branches[t]},onError({exitCode:i,stdErr:n,stdOut:s},a,o,l){if(!HA(String(a),i))return l(a);throw new ku(r.parser(Su(s),Su(n)),String(a))}};return r}var r6=Y({"src/lib/tasks/branch.ts"(){"use strict";_l(),ZH(),XH(),ge()}});function i6(t){let e=t.trim().replace(/^["']|["']$/g,"");return e&&(0,qA.normalize)(e)}var YA,n6=Y({"src/lib/responses/CheckIgnore.ts"(){"use strict";YA=t=>t.split(/\n/g).map(i6).filter(Boolean)}}),ZA={};St(ZA,{checkIgnoreTask:()=>s6});function s6(t){return{commands:["check-ignore",...t],format:"utf-8",parser:YA}}var a6=Y({"src/lib/tasks/check-ignore.ts"(){"use strict";n6()}});function o6(t,e){return Hr({raw:t,remote:null,branches:[],tags:[],updated:[],deleted:[]},KA,[t,e])}var KA,l6=Y({"src/lib/parsers/parse-fetch.ts"(){"use strict";ge(),KA=[new be(/From (.+)$/,(t,[e])=>{t.remote=e}),new be(/\* \[new branch]\s+(\S+)\s*-> (.+)$/,(t,[e,r])=>{t.branches.push({name:e,tracking:r})}),new be(/\* \[new tag]\s+(\S+)\s*-> (.+)$/,(t,[e,r])=>{t.tags.push({name:e,tracking:r})}),new be(/- \[deleted]\s+\S+\s*-> (.+)$/,(t,[e])=>{t.deleted.push({tracking:e})}),new be(/\s*([^.]+)\.\.(\S+)\s+(\S+)\s*-> (.+)$/,(t,[e,r,i,n])=>{t.updated.push({name:i,tracking:n,to:r,from:e})})]}}),XA={};St(XA,{fetchTask:()=>u6});function c6(t){return/^--upload-pack(=|$)/.test(t)}function u6(t,e,r){let i=["fetch",...r];return t&&e&&i.push(t,e),i.find(c6)?Nr("git.fetch: potential exploit argument blocked."):{commands:i,format:"utf-8",parser:o6}}var f6=Y({"src/lib/tasks/fetch.ts"(){"use strict";l6(),yt()}});function d6(t){return Hr({moves:[]},QA,t)}var QA,h6=Y({"src/lib/parsers/parse-move.ts"(){"use strict";ge(),QA=[new be(/^Renaming (.+) to (.+)$/,(t,[e,r])=>{t.moves.push({from:e,to:r})})]}}),JA={};St(JA,{moveTask:()=>p6});function p6(t,e){return{commands:["mv","-v",...Sn(t),e],format:"utf-8",parser:d6}}var m6=Y({"src/lib/tasks/move.ts"(){"use strict";h6(),ge()}}),eT={};St(eT,{pullTask:()=>g6});function g6(t,e,r){let i=["pull",...r];return t&&e&&i.splice(1,0,t,e),{commands:i,format:"utf-8",parser(n,s){return ew(n,s)},onError(n,s,a,o){let l=EH(Su(n.stdOut),Su(n.stdErr));if(l)return o(new ku(l));o(s)}}}var v6=Y({"src/lib/tasks/pull.ts"(){"use strict";_l(),EA(),ge()}});function w6(t){let e={};return tT(t,([r])=>e[r]={name:r}),Object.values(e)}function b6(t){let e={};return tT(t,([r,i,n])=>{Object.hasOwn(e,r)||(e[r]={name:r,refs:{fetch:"",push:""}}),n&&i&&(e[r].refs[n.replace(/[^a-z]/g,"")]=i)}),Object.values(e)}function tT(t,e){Ov(t,r=>e(r.split(/\s+/)))}var _6=Y({"src/lib/responses/GetRemoteSummary.ts"(){"use strict";ge()}}),rT={};St(rT,{addRemoteTask:()=>y6,getRemotesTask:()=>x6,listRemotesTask:()=>E6,remoteTask:()=>S6,removeRemoteTask:()=>k6});function y6(t,e,r){return xr(["remote","add",...r,t,e])}function x6(t){let e=["remote"];return t&&e.push("-v"),{commands:e,format:"utf-8",parser:t?b6:w6}}function E6(t){let e=[...t];return e[0]!=="ls-remote"&&e.unshift("ls-remote"),xr(e)}function S6(t){let e=[...t];return e[0]!=="remote"&&e.unshift("remote"),xr(e)}function k6(t){return xr(["remote","remove",t])}var C6=Y({"src/lib/tasks/remote.ts"(){"use strict";_6(),yt()}}),iT={};St(iT,{stashListTask:()=>A6});function A6(t={},e){let r=hA(t),i=["stash","list",...r.commands,...e],n=cA(r.splitter,r.fields,Yv(i));return oh(i)||{commands:i,format:"utf-8",parser:n}}var T6=Y({"src/lib/tasks/stash-list.ts"(){"use strict";Pu(),fA(),Jv(),pA()}}),nT={};St(nT,{addSubModuleTask:()=>P6,initSubModuleTask:()=>R6,subModuleTask:()=>ch,updateSubModuleTask:()=>$6});function P6(t,e){return ch(["add",t,e])}function R6(t){return ch(["init",...t])}function ch(t){let e=[...t];return e[0]!=="submodule"&&e.unshift("submodule"),xr(e)}function $6(t){return ch(["update",...t])}var F6=Y({"src/lib/tasks/sub-module.ts"(){"use strict";yt()}});function I6(t,e){let r=Number.isNaN(t),i=Number.isNaN(e);return r!==i?r?1:-1:r?sT(t,e):0}function sT(t,e){return t===e?0:t>e?1:-1}function M6(t){return t.trim()}function Wd(t){return typeof t=="string"&&parseInt(t.replace(/^\D+/g,""),10)||0}var rC,aT,D6=Y({"src/lib/responses/TagList.ts"(){"use strict";rC=class{constructor(t,e){this.all=t,this.latest=e}},aT=function(t,e=!1){let r=t.split(` `).map(M6).filter(Boolean);e||r.sort(function(n,s){let a=n.split("."),o=s.split(".");if(a.length===1||o.length===1)return I6(Wd(a[0]),Wd(o[0]));for(let l=0,c=Math.max(a.length,o.length);ln.indexOf(".")>=0);return new rC(r,i)}}}),oT={};St(oT,{addAnnotatedTagTask:()=>N6,addTagTask:()=>L6,tagListTask:()=>O6});function O6(t=[]){let e=t.some(r=>/^--sort=/.test(r));return{format:"utf-8",commands:["tag","-l",...t],parser(r){return aT(r,e)}}}function L6(t){return{format:"utf-8",commands:["tag",t],parser(){return{name:t}}}}function N6(t,e){return{format:"utf-8",commands:["tag","-a","-m",e,t],parser(){return{name:t}}}}var B6=Y({"src/lib/tasks/tag.ts"(){"use strict";D6()}}),H6=i8({"src/git.js"(t,e){"use strict";var{GitExecutor:r}=(G8(),_t(JC)),{SimpleGitApi:i}=(GH(),_t(MA)),{Scheduler:n}=(jH(),_t(DA)),{adhocExecTask:s,configurationErrorTask:a}=(yt(),_t(Cv)),{asArray:o,filterArray:l,filterPrimitives:c,filterString:u,filterStringOrStringArray:f,filterType:d,getTrailingOptions:h,trailingFunctionArgument:p,trailingOptionsArgument:g}=(ge(),_t(xC)),{applyPatchTask:v}=(zH(),_t(NA)),{branchTask:b,branchLocalTask:_,deleteBranchesTask:C,deleteBranchTask:x}=(r6(),_t(zA)),{checkIgnoreTask:S}=(a6(),_t(ZA)),{checkIsRepoTask:A}=(CC(),_t(EC)),{cleanWithOptionsTask:w,isCleanOptionsArray:E}=(LC(),_t(DC)),{diffSummaryTask:y}=(Jv(),_t(dA)),{fetchTask:P}=(f6(),_t(XA)),{moveTask:T}=(m6(),_t(JA)),{pullTask:I}=(v6(),_t(eT)),{pushTagsTask:L}=(AA(),_t(CA)),{addRemoteTask:H,getRemotesTask:te,listRemotesTask:xe,remoteTask:Z,removeRemoteTask:K}=(C6(),_t(rT)),{getResetMode:ce,resetTask:pe}=(ZC(),_t(WC)),{stashListTask:W}=(T6(),_t(iT)),{addSubModuleTask:X,initSubModuleTask:G,subModuleTask:Be,updateSubModuleTask:pr}=(F6(),_t(nT)),{addAnnotatedTagTask:Ut,addTagTask:Ie,tagListTask:Rt}=(B6(),_t(oT)),{straightThroughBufferTask:$t,straightThroughStringTask:Xe}=(yt(),_t(Cv));function ee(N,O){this._plugins=O,this._executor=new r(N.baseDir,new n(N.maxConcurrentProcesses),O),this._trimmed=N.trimmed}(ee.prototype=Object.create(i.prototype)).constructor=ee,ee.prototype.customBinary=function(N){return this._plugins.reconfigure("binary",N),this},ee.prototype.env=function(N,O){return arguments.length===1&&typeof N=="object"?this._executor.env=N:(this._executor.env=this._executor.env||{})[N]=O,this},ee.prototype.stashList=function(N){return this._runTask(W(g(arguments)||{},l(N)&&N||[]),p(arguments))},ee.prototype.mv=function(N,O){return this._runTask(T(N,O),p(arguments))},ee.prototype.checkoutLatestTag=function(N){var O=this;return this.pull(function(){O.tags(function(ue,$e){O.checkout($e.latest,N)})})},ee.prototype.pull=function(N,O,ue,$e){return this._runTask(I(d(N,u),d(O,u),h(arguments)),p(arguments))},ee.prototype.fetch=function(N,O){return this._runTask(P(d(N,u),d(O,u),h(arguments)),p(arguments))},ee.prototype.silent=function(N){return this._runTask(s(()=>console.warn("simple-git deprecation notice: git.silent: logging should be configured using the `debug` library / `DEBUG` environment variable, this method will be removed.")))},ee.prototype.tags=function(N,O){return this._runTask(Rt(h(arguments)),p(arguments))},ee.prototype.rebase=function(){return this._runTask(Xe(["rebase",...h(arguments)]),p(arguments))},ee.prototype.reset=function(N){return this._runTask(pe(ce(N),h(arguments)),p(arguments))},ee.prototype.revert=function(N){let O=p(arguments);return typeof N!="string"?this._runTask(a("Commit must be a string"),O):this._runTask(Xe(["revert",...h(arguments,0,!0),N]),O)},ee.prototype.addTag=function(N){let O=typeof N=="string"?Ie(N):a("Git.addTag requires a tag name");return this._runTask(O,p(arguments))},ee.prototype.addAnnotatedTag=function(N,O){return this._runTask(Ut(N,O),p(arguments))},ee.prototype.deleteLocalBranch=function(N,O,ue){return this._runTask(x(N,typeof O=="boolean"?O:!1),p(arguments))},ee.prototype.deleteLocalBranches=function(N,O,ue){return this._runTask(C(N,typeof O=="boolean"?O:!1),p(arguments))},ee.prototype.branch=function(N,O){return this._runTask(b(h(arguments)),p(arguments))},ee.prototype.branchLocal=function(N){return this._runTask(_(),p(arguments))},ee.prototype.raw=function(N){let O=!Array.isArray(N),ue=[].slice.call(O?arguments:N,0);for(let Gt=0;Gtconsole.warn("simple-git deprecation notice: clearQueue() is deprecated and will be removed, switch to using the abortPlugin instead.")))},ee.prototype.checkIgnore=function(N,O){return this._runTask(S(o(d(N,f,[]))),p(arguments))},ee.prototype.checkIsRepo=function(N,O){return this._runTask(A(d(N,u)),p(arguments))},e.exports=ee}});Us();var U6=class extends Br{constructor(t,e){super(void 0,e),this.config=t}};Us();Us();var bl=class extends Br{constructor(t,e,r){super(t,r),this.task=t,this.plugin=e,Object.setPrototypeOf(this,new.target.prototype)}};_l();lC();CC();LC();HC();GC();zC();ZC();function G6(t){return t?[{type:"spawn.before",action(i,n){t.aborted&&n.kill(new bl(void 0,"abort","Abort already signaled"))}},{type:"spawn.after",action(i,n){function s(){n.kill(new bl(void 0,"abort","Abort signal received"))}t.addEventListener("abort",s),n.spawned.on("close",()=>t.removeEventListener("abort",s))}}]:void 0}function j6(t={}){return{type:"spawn.args",action(e,{env:r}){for(let i of Pk(e,r))if(t[i.category]!==!0)throw new bl(void 0,"unsafe",i.message);return e}}}ge();function V6(t){let e=Eu(t,"-c");return{type:"spawn.args",action(r){return[...e,...r]}}}ge();var iC=(0,vl.deferred)().promise;function z6({onClose:t=!0,onExit:e=50}={}){function r(){let n=-1,s={close:(0,vl.deferred)(),closeTimeout:(0,vl.deferred)(),exit:(0,vl.deferred)(),exitTimeout:(0,vl.deferred)()},a=Promise.race([t===!1?iC:s.closeTimeout.promise,e===!1?iC:s.exitTimeout.promise]);return i(t,s.close,s.closeTimeout),i(e,s.exit,s.exitTimeout),{close(o){n=o,s.close.done()},exit(o){n=o,s.exit.done()},get exitCode(){return n},result:a}}function i(n,s,a){n!==!1&&(n===!0?s.promise:s.promise.then(()=>_v(n))).then(a.done)}return{type:"spawn.after",async action(n,{spawned:s,close:a}){var u,f;let o=r(),l=!0,c=()=>{l=!1};(u=s.stdout)==null||u.on("data",c),(f=s.stderr)==null||f.on("data",c),s.on("error",c),s.on("close",d=>o.close(d)),s.on("exit",d=>o.exit(d));try{await o.result,l&&await _v(50),a(o.exitCode)}catch(d){a(o.exitCode,d)}}}}ge();var W6="Invalid value supplied for custom binary, requires a single string or an array containing either one or two strings",nC="Invalid value supplied for custom binary, restricted characters must be removed or supply the unsafe.allowUnsafeCustomBinary option";function q6(t){return!t||!/^([a-z]:)?([a-z0-9/.\\_~-]+)$/i.test(t)}function sC(t,e){if(t.length<1||t.length>2)throw new bl(void 0,"binary",W6);if(t.some(q6))if(e)console.warn(nC);else throw new bl(void 0,"binary",nC);let[i,n]=t;return{binary:i,prefix:n}}function Y6(t,e=["git"],r=!1){let i=sC(Sn(e),r);t.on("binary",n=>{i=sC(Sn(n),r)}),t.append("spawn.binary",()=>i.binary),t.append("spawn.args",n=>i.prefix?[i.prefix,...n]:n)}Us();function Z6(t){return!!(t.exitCode&&t.stdErr.length)}function K6(t){return k.concat([...t.stdOut,...t.stdErr])}function X6(t=!1,e=Z6,r=K6){return(i,n)=>!t&&i||!e(n)?i:r(n)}function aC(t){return{type:"task.error",action(e,r){let i=t(e.error,{stdErr:r.stdErr,stdOut:r.stdOut,exitCode:r.exitCode});return k.isBuffer(i)?{error:new Br(void 0,i.toString("utf-8"))}:{error:i}}}}ge();var Q6=class{constructor(){this.plugins=new Set,this.events=new lT.EventEmitter}on(t,e){this.events.on(t,e)}reconfigure(t,e){this.events.emit(t,e)}append(t,e){let r=Ei(this.plugins,{type:t,action:e});return()=>this.plugins.delete(r)}add(t){let e=[];return Sn(t).forEach(r=>r&&this.plugins.add(Ei(e,r))),()=>{e.forEach(r=>this.plugins.delete(r))}}exec(t,e,r){let i=e,n=Object.freeze(Object.create(r));for(let s of this.plugins)s.type===t&&(i=s.action(i,n));return i}};ge();function J6(t){let e="--progress",r=["checkout","clone","fetch","pull","push"];return[{type:"spawn.args",action(s,a){return r.includes(a.method)?pC(s,e):s}},{type:"spawn.after",action(s,a){var o;a.commands.includes(e)&&((o=a.spawned.stderr)==null||o.on("data",l=>{let c=/^([\s\S]+?):\s*(\d+)% \((\d+)\/(\d+)\)/.exec(l.toString("utf8"));c&&t({method:a.method,stage:e4(c[1]),progress:Qe(c[2]),processed:Qe(c[3]),total:Qe(c[4])})}))}}]}function e4(t){return String(t.toLowerCase().split(" ",1))||"unknown"}ge();function t4(t){let e=gC(t,["uid","gid"]);return{type:"spawn.options",action(r){return{...e,...r}}}}function r4({block:t,stdErr:e=!0,stdOut:r=!0}){if(t>0)return{type:"spawn.after",action(i,n){var c,u;let s;function a(){s&&clearTimeout(s),s=setTimeout(l,t)}function o(){var f,d;(f=n.spawned.stdout)==null||f.off("data",a),(d=n.spawned.stderr)==null||d.off("data",a),n.spawned.off("exit",o),n.spawned.off("close",o),s&&clearTimeout(s)}function l(){o(),n.kill(new bl(void 0,"timeout","block timeout reached"))}r&&((c=n.spawned.stdout)==null||c.on("data",a)),e&&((u=n.spawned.stderr)==null||u.on("data",a)),n.spawned.on("exit",o),n.spawned.on("close",o),a()}}}function i4(){return{type:"spawn.args",action(t){let e=[],r;function i(n){(r=r||[]).push(...n)}for(let n=0;n_i(a)&&ml(a)||a));break}e.push(s)}return r?[...e,"--",...r.map(String)]:e}}}ge();var n4=H6();function s4(t,e){var n;let r=new Q6,i=_C(t&&(typeof t=="string"?{baseDir:t}:t)||{},e);if(!Lv(i.baseDir))throw new U6(i,"Cannot use simple-git on a directory that does not exist");return Array.isArray(i.config)&&r.add(V6(i.config)),r.add(j6(i.unsafe)),r.add(z6(i.completion)),i.abort&&r.add(G6(i.abort)),i.progress&&r.add(J6(i.progress)),i.timeout&&r.add(r4(i.timeout)),i.spawnOptions&&r.add(t4(i.spawnOptions)),r.add(i4()),r.add(aC(X6(!0))),i.errors&&r.add(aC(i.errors)),Y6(r,i.binary,(n=i.unsafe)==null?void 0:n.allowUnsafeCustomBinary),new n4(i,r)}_l();var cT=s4;var Se=class extends cl{constructor(r){super(r);this.useDefaultWindowsGitPath=!1}async setGitInstance(r=!1){var i;if(await this.isGitInstalled()){let n=this.app.vault.adapter,s=n.getBasePath(),a=s;this.plugin.settings.basePath&&(await n.exists((0,Qn.normalizePath)(this.plugin.settings.basePath))?a=Le.join(s,this.plugin.settings.basePath):r||new Qn.Notice("ObsidianGit: Base path does not exist")),this.absoluteRepoPath=a,this.git=cT({baseDir:a,binary:this.plugin.localStorage.getGitPath()||(this.useDefaultWindowsGitPath?Md:void 0),config:["core.quotepath=off"],progress:b=>{var _;(_=this.plugin.statusBar)==null||_.displayProgress(this.toGitProgress(b))},unsafe:{allowUnsafeCustomBinary:!0,allowUnsafeEditor:!0,allowUnsafeAskPass:!0,allowUnsafeConfigEnvCount:!0,allowUnsafeConfigPaths:!0,allowUnsafeCredentialHelper:!0,allowUnsafeGitProxy:!0,allowUnsafeGpgProgram:!0,allowUnsafeHooksPath:!0,allowUnsafeMergeDriver:!0,allowUnsafeSshCommand:!0,allowUnsafePager:!0}});let o=this.plugin.localStorage.getPATHPaths(),l=this.plugin.localStorage.getEnvVars(),c=this.plugin.settings.gitDir,u={...process.env};if(o.length>0){let b=o.join(Le.delimiter)+Le.delimiter+u.PATH;u.PATH=b}c&&(u.GIT_DIR=c,u.GIT_WORK_TREE=a);for(let b of l){let[_,C]=b.split("=");_!==void 0&&(u[_]=C)}let f="simple-git",d=",",p=((i=localStorage.debug)!=null?i:"").split(d);if(!p.includes(f)&&!p.includes(`-${f}`)&&(p.push(f),hT.default.enable(p.join(d))),await this.git.env(u).checkIsRepo()){let b=await this.git.revparse("--show-cdup"),_=(0,Ru.resolve)(a+Ru.sep+b);this.absoluteRepoPath=_,await this.git.cwd(_)}let g=Le.join(s,this.app.vault.configDir,"plugins","obsidian-git"),v=Le.join(g,ka);u.SSH_ASKPASS==null&&(u.SSH_ASKPASS=v),u.SSH_ASKPASS_REQUIRE="force",u.OBSIDIAN_GIT_CREDENTIALS_INPUT=Le.join(g,Dd),u.SSH_ASKPASS==v&&this.askpass().catch(b=>this.plugin.displayError(b)),u.OBSIDIAN_GIT="1",this.git=this.git.env(u)}}toGitProgress(r){return{action:this.getProgressAction(r.method),stage:r.stage,progress:r.progress,processed:r.processed,total:r.total}}getProgressAction(r){switch(r){case"fetch":return"Fetching";case"push":return"Pushing";case"pull":return"Pulling";case"checkout":return"Checking out";default:return r?r.charAt(0).toUpperCase()+r.slice(1):"Working"}}getRelativeVaultPath(r){let n=this.app.vault.adapter.getBasePath(),s=Le.join(this.absoluteRepoPath,r),a=Le.relative(n,s);return Qn.Platform.isWin&&(a=a.replace(/\\/g,"/")),a}getRelativeRepoPath(r,i=!0){if(i){let s=this.plugin.app.vault.adapter.getBasePath(),a=this.absoluteRepoPath,o=Le.join(s,r),l=Le.relative(a,o);return Qn.Platform.isWin&&(l=l.replace(/\\/g,"/")),l}return r}get absPluginConfigPath(){let i=this.app.vault.adapter.getBasePath();return Le.join(i,this.app.vault.configDir,"plugins","obsidian-git")}get relPluginConfigPath(){return Le.join(this.app.vault.configDir,"plugins","obsidian-git")}async askpass(){let r=this.app.vault.adapter,i=this.app.vault.configDir+"/plugins/obsidian-git/";await this.addAskPassScriptToExclude(),await ri.writeFile(Le.join(this.absPluginConfigPath,ka),FS),await ri.chmod(Le.join(this.absPluginConfigPath,ka),493),this.watchAbortController=new AbortController;let{signal:n}=this.watchAbortController;try{let s=ri.watch(this.absPluginConfigPath,{signal:n});for await(let a of s){if(a.filename!=Dd)continue;let o=i+Dd;if(await new Promise(d=>window.setTimeout(d,200)),!await r.exists(o))continue;let l=await r.read(o),c;l.length>60&&(c=new Qn.Notice(l,999999));let u=!0;l.contains("Username for")&&(u=!1);let f=await new rt(this.plugin,{allowEmpty:!0,obscure:u,placeholder:l.length>60?"Enter a response to the message.":l}).openAndGetResult();c==null||c.hide(),await r.exists(o)&&await r.write(`${o}.response`,f!=null?f:"")}}catch(s){this.plugin.displayError(s),await ri.rm(Le.join(this.absPluginConfigPath,ka),{force:!0}),await ri.rm(Le.join(this.absPluginConfigPath,`${ka}.response`),{force:!0}),await new Promise(a=>window.setTimeout(a,5e3)),this.plugin.log("Retry watch for ask pass"),await this.askpass()}}async addAskPassScriptToExclude(){try{if(!await this.git.checkIsRepo())return;let r=await this.git.revparse(["--path-format=absolute","--git-path","info/exclude"]),i=Le.join(this.app.vault.configDir,"plugins","obsidian-git",ka),n=this.getRelativeRepoPath(i,!0);(await ri.readFile(r,"utf-8")).split(` `).some(l=>l.contains(n))||await ri.appendFile(r,n+` `)}catch(r){console.error("Error while adding askpass script to exclude file:",r)}}unload(){var r;(r=this.watchAbortController)==null||r.abort()}async status(r){let i=r==null?void 0:r.path,n=await this.git.status(i!=null?["--",i]:[]),s=n.files.map(a=>{let o=this.formatPath(a);return{path:o.path,from:o.from,index:a.index==="?"?"U":a.index,workingDir:a.working_dir==="?"?"U":a.working_dir,vaultPath:this.getRelativeVaultPath(o.path)}});return{all:s,changed:s.filter(a=>a.workingDir!==" "),staged:s.filter(a=>a.index!==" "&&a.index!="U"),conflicted:n.conflicted.map(a=>this.formatPath({path:a}).path)}}async submoduleAwareHeadRevisonInContainingDirectory(r){let i=this.getRelativeRepoPath(r),s=["-C",Le.dirname(i),"rev-parse","HEAD"],a=this.git.raw(s);return a.catch(o=>console.warn("obsidian-git: rev-parse error:",o)),(await a).trim()}async getSubmodulePaths(){return new Promise(r=>{this.git.outputHandler((i,n,s,a)=>{if(!(a.contains("submodule")&&a.contains("foreach")))return;let o="",l=this.app.vault.adapter.getBasePath()+(this.plugin.settings.basePath?"/"+this.plugin.settings.basePath:"");n.on("data",c=>{o+=c.toString("utf8")}),n.on("end",()=>{let u=o.split(` `).map(f=>{let d=f.match(/'([^']*)'/);if(d!=null)return l+"/"+d[1]+Ru.sep}).filter(f=>!!f);u.reverse(),r(u)})}),this.git.subModule(["foreach","--recursive",""]).then(()=>{this.git.outputHandler(()=>{})},i=>this.plugin.displayError(i))})}formatPath(r){function i(n){if(n!=null)return n.startsWith('"')&&n.endsWith('"')?n.substring(1,n.length-1):n}return r.from!=null?{from:i(r.from),path:i(r.path)}:{path:i(r.path)}}async blame(r,i,n){if(r=this.getRelativeRepoPath(r),!await this.isTracked(r))return"untracked";let s=await this.getSubmoduleOfFile(r),a=s?["-C",s.submodule]:[],o=s?s.relativeFilepath:r;a.push("blame","--porcelain"),n&&a.push("-w");let l=`-C${Id}`;switch(i){case"inactive":break;case"same-commit":a.push("-C",l);break;case"all-commits":a.push("-C","-C",l);break;default:Bs(i)}a.push("--",o);let c=await this.git.raw(a);return a4(c)}async isTracked(r){let i=await this.getSubmoduleOfFile(r),n=i?["-C",i.submodule]:[],s=i?i.relativeFilepath:r;return n.push("ls-files","--",s),this.git.raw(n).then(a=>a.trim()!=="")}async commitAll({message:r}){return this.withGitOperation(2,async()=>{if(this.plugin.settings.updateSubmodules){let n=await this.getSubmodulePaths();for(let s of n)await this.git.cwd({path:s,root:!1}).add("-A"),await this.git.cwd({path:s,root:!1}).commit(await this.formatCommitMessage(r))}await this.git.add("-A");let i=await this.git.commit(await this.formatCommitMessage(r));return this.app.workspace.trigger("obsidian-git:head-change"),i.summary.changes})}async commit({message:r,amend:i}){return this.withGitOperation(2,async()=>{let n=(await this.git.commit(await this.formatCommitMessage(r),i?["--amend"]:[])).summary.changes;return this.app.workspace.trigger("obsidian-git:head-change"),n})}async stage(r,i){r=this.getRelativeRepoPath(r,i),await this.git.add(["--",r])}async stageAll({dir:r}){await this.git.add(r!=null?r:"-A")}async unstageAll({dir:r}){await this.git.reset(r!=null?["--",r]:[])}async unstage(r,i){r=this.getRelativeRepoPath(r,i),await this.git.reset(["--",r])}async discard(r){await this.isTracked(r)&&await this.git.checkout(["--progress","--",r])}async applyPatch(r){let i=Le.join(this.relPluginConfigPath,"patch");await this.app.vault.adapter.write(i,r),await this.git.applyPatch(i,{"--cached":null,"--unidiff-zero":null,"--whitespace":"nowarn"}),await this.app.vault.adapter.remove(i)}async getUntrackedPaths(r){let i=r==null?void 0:r.path,n=[];return i!=null&&n.push("--",i),(await this.git.clean(Pa.RECURSIVE+Pa.DRY_RUN,n)).paths}async hashObject(r){r=this.getRelativeRepoPath(r);let i=await this.getSubmoduleOfFile(r),n=i?["-C",i.submodule]:[],s=i?i.relativeFilepath:r;return n.push("hash-object","--",s),this.git.raw(n)}async discardAll({dir:r}){return this.discard(r!=null?r:".")}async pull(){return this.withGitOperation(1,async()=>{try{this.plugin.settings.updateSubmodules&&await this.git.subModule(["update","--remote","--merge","--recursive"]);let r=await this.branchInfo();if(!r.current){this.plugin.displayError("No current branch found. Cannot pull.");return}let i=await this.git.revparse([r.current]);if(!r.tracking&&this.plugin.settings.updateSubmodules){this.plugin.log("No tracking branch found. Ignoring pull of main repo and updating submodules only.");return}await this.git.fetch();let n=await this.git.revparse([r.tracking]);if(i!==n){if(this.plugin.settings.syncMethod==="merge"||this.plugin.settings.syncMethod==="rebase")try{let o=[r.tracking];switch(this.plugin.settings.mergeStrategy!=="none"&&o.push(`--strategy-option=${this.plugin.settings.mergeStrategy}`),this.plugin.settings.syncMethod){case"merge":await this.git.merge(o);break;case"rebase":await this.git.rebase(o)}}catch(o){this.plugin.displayError(`Pull failed (${this.plugin.settings.syncMethod}): ${dT(o)}`);return}else if(this.plugin.settings.syncMethod==="reset")try{await this.git.raw(["update-ref",`refs/heads/${r.current}`,n]),await this.git.reset([])}catch(o){this.plugin.displayError(`Sync failed (${this.plugin.settings.syncMethod}): ${dT(o)}`)}this.app.workspace.trigger("obsidian-git:head-change");let s=await this.git.revparse([r.current]);return(await this.git.diff([`${i}..${s}`,"--name-only"])).split(/\r\n|\r|\n/).filter(o=>o.length>0).map(o=>({path:o,workingDir:"P",vaultPath:this.getRelativeVaultPath(o)}))}else return[]}catch(r){this.convertErrors(r)}})}async push(){return this.withGitOperation(3,async()=>{try{if(this.plugin.settings.updateSubmodules){let a=await this.git.subModule(["foreach","--recursive",`tracking=$(git for-each-ref --format='%(upstream:short)' "$(git symbolic-ref -q HEAD)"); echo $tracking; if [ ! -z "$(git diff --shortstat $tracking)" ]; then git push; fi`]);console.log(a)}let r=await this.git.status(),i=r.tracking,n=r.current;if(!n){this.plugin.displayError("No current branch found. Cannot push.");return}if(!i&&this.plugin.settings.updateSubmodules){this.plugin.log("No tracking branch found. Ignoring push of main repo and updating submodules only.");return}let s=null;return i&&(s=(await this.git.diffSummary([n,i,"--"])).changed),await this.git.push(),s}catch(r){this.convertErrors(r)}})}async squashAllUnpushedCommits(){let r=await this.git.status(),i=r.tracking;if(!i||!r.current)return;let[n]=yn(i);if(!(await this.getRemoteBranches(n)).includes(i)||(await this.git.raw(["diff","--cached","--name-only"])).trim().length>0)return;let o=`${i}..HEAD`;if(parseInt((await this.git.raw(["rev-list","--count",o])).trim(),10)<2||parseInt((await this.git.raw(["rev-list","--merges","--count",o])).trim(),10)>0)return;let u=(await this.git.raw(["rev-parse","HEAD"])).trim();await this.withGitOperation(2,async()=>{await this.git.reset(["--soft",i]),await this.git.raw(["commit","-C",u]),this.app.workspace.trigger("obsidian-git:head-change")})}async getUnpushedCommits(){let r=await this.git.status(),i=r.tracking,n=r.current;if(i==null||n==null)return 0;let[s]=yn(i);return(await this.getRemoteBranches(s)).includes(i)?(await this.git.diffSummary([n,i,"--"])).changed:(this.plugin.log(`Tracking branch ${i} does not exist on remote ${s}.`),0)}async canPush(){if(this.plugin.settings.updateSubmodules===!0)return!0;let r=await this.git.status(),i=r.tracking,n=r.current;return n?i?(await this.git.diffSummary([n,i,"--"])).changed!==0:!1:(this.plugin.log("During canPush check, no current branch found."),!1)}async checkRequirements(){return await this.isGitInstalled()?await this.git.checkIsRepo()?"valid":"missing-repo":"missing-git"}async branchInfo(){let r=await this.git.status(),i=await this.git.branch(["--no-color"]);return{current:r.current||void 0,tracking:r.tracking||void 0,branches:i.all}}async getRemoteUrl(r){try{return await this.git.remote(["get-url",r])||void 0}catch(i){if(String(i).contains(r))return;throw i}}async log(r,i=!0,n,s){let a;r&&(a=this.getRelativeRepoPath(r,i));let o={file:a,maxCount:n,"--diff-merges":"first-parent","--name-status":null};return s&&(o[s]=null),(await this.git.log(o)).all.map(c=>{var u,f,d,h;return{...c,author:{name:c.author_name,email:c.author_email},refs:c.refs.split(", ").filter(p=>p.length>0),diff:{...c.diff,files:(f=(u=c.diff)==null?void 0:u.files.map(p=>{let g="from"in p?p.from:void 0;return{...p,status:"status"in p?p.status:"M",path:p.file,hash:c.hash,vaultPath:this.getRelativeVaultPath(p.file),fromPath:g,fromVaultPath:g!=null?this.getRelativeVaultPath(g):void 0,binary:p.binary}}))!=null?f:[]},fileName:(h=(d=c.diff)==null?void 0:d.files.first())==null?void 0:h.file}})}async show(r,i,n=!0){let s=this.getRelativeRepoPath(i,n);return this.git.show([r+":"+s])}async getLocalBranchUpstream(r){try{let n=(await this.git.raw(["rev-parse","--abbrev-ref",`${r}@{upstream}`])).trim();return n.length>0?n:void 0}catch(i){return}}getAvailableLocalBranchName(r,i,n){let s=r;if(!n.includes(s))return s;let a=`${r}-${i}`,o=a,l=0;for(;n.includes(o);)l+=1,o=`${a}-${l}`;return o}async checkout(r,i){return this.withGitOperation(5,async()=>{if(i){let n=`${i}/${r}`,s=await this.branchInfo();if(s.branches.includes(r)&&await this.getLocalBranchUpstream(r)===n)await this.git.checkout(r);else{let l=this.getAvailableLocalBranchName(r,i,s.branches);await this.git.checkout(["-b",l,n])}}else await this.git.checkout(r);if(this.plugin.settings.submoduleRecurseCheckout){let n=await this.getSubmodulePaths();for(let s of n){let a=await this.git.cwd({path:s,root:!1}).branch();Object.keys(a.branches).includes(r)&&await this.git.cwd({path:s,root:!1}).checkout(r)}}})}async createBranch(r){await this.git.checkout(["-b",r])}async deleteBranch(r,i){await this.git.branch([i?"-D":"-d",r])}async branchIsMerged(r){return!(await this.git.branch(["--no-merged"])).all.contains(r)}async init(){await this.git.init(!1)}async clone(r,i,n){await this.git.clone(r,Le.join(this.app.vault.adapter.getBasePath(),i),n?["--depth",`${n}`]:[]),await this.setGitInstance()}async setConfig(r,i){i==null?await this.git.raw(["config","--local","--unset",r]):await this.git.addConfig(r,i)}async getConfig(r,i="local"){var s;return(s=(await this.git.getConfig(r.toLowerCase(),i=="all"?void 0:i)).value)!=null?s:void 0}async fetch(r){return this.withGitOperation(4,async()=>{await this.git.fetch(r!=null?[r]:[])})}async setRemote(r,i){(await this.getRemotes()).includes(r)?await this.git.remote(["set-url",r,i]):await this.git.remote(["add",r,i])}async getRemoteBranches(r){let i=await this.git.branch(["-r","--list",`${r}*`]),n=[];for(let s in i.branches)n.push(i.branches[s].name);return n}async getRemotes(){let r=await this.git.remote([]);return r?r.trim().split(` `):[]}async removeRemote(r){await this.git.removeRemote(r)}async updateUpstreamBranch(r){try{await this.git.branch(["--set-upstream-to",r])}catch(i){try{await this.git.branch(["--set-upstream",r])}catch(n){let[s,a]=yn(r),o=await this.branchInfo();await this.git.push(["--set-upstream",s,`${o.current}:${a}`])}}}updateGitPath(r){return this.setGitInstance()}updateBasePath(r){return this.setGitInstance(!0)}async getDiffString(r,i=!1,n){return i?await this.git.diff(["--cached","--",r]):n?await this.git.show([`${n}`,"--",r]):await this.git.diff(["--",r])}async diff(r,i,n){return await this.git.diff([`${i}..${n}`,"--",r])}async rawCommand(r){let i=r.split(" "),n=i[0];return n===void 0?"":await this.git.raw(n,...i.slice(1))}async getSubmoduleOfFile(r){if(!await this.app.vault.adapter.exists(Le.dirname(r)))return;let i=await this.git.raw(["-C",Le.dirname(r),"rev-parse","--show-toplevel"],l=>l&&console.warn("get-submodule-of-file",l==null?void 0:l.message));if(i=i.trim(),(await this.git.raw(["-C",Le.dirname(r),"rev-parse","--show-superproject-working-tree"],l=>l&&console.warn("get-submodule-of-file",l==null?void 0:l.message))).trim()==="")return;let a=this.app.vault.adapter.getFullPath(Le.normalize(r)),o=Le.relative(i,a);return{submodule:i,relativeFilepath:o}}async getLastCommitTime(){try{let r=await this.git.log({n:1});if(r!=null&&r.latest!=null)return new Date(r.latest.date)}catch(r){if(r instanceof Br){if(r.message.contains("does not have any commits yet"))return}else throw r}}async isGitInstalled(){let r=this.plugin.localStorage.getGitPath(),i=await _u(r||"git",["--version"],{});if(i.error)if(Qn.Platform.isWin&&!r){this.plugin.log(`Git not found in PATH. Checking standard installation path(${Md}) of Git for Windows.`);let n=await _u(Md,["--version"]);if(n.error)return console.error(n.error),!1;this.useDefaultWindowsGitPath=!0}else return console.error(i.error),!1;else this.useDefaultWindowsGitPath=!1;return!0}convertErrors(r){if(r instanceof Br){let i=String(r.message);if(i.contains("Could not resolve host")||i.contains("Unable to resolve host")||i.contains("Unable to open connection")||i.match(/ssh: connect to host .*? port .*?: Operation timed out/)!=null||i.match(/ssh: connect to host .*? port .*?: Network is unreachable/)!=null||i.match(/ssh: connect to host .*? port .*?: Undefined error: 0/)!=null)throw new nl(i)}throw r}async isFileTrackedByLFS(r){try{return(await this.git.raw(["check-attr","filter",r])).includes("filter: lfs")}catch(i){let n=i instanceof Error?i.message:String(i);return this.plugin.displayError(`Error checking LFS status: ${n}`),!1}}},pT={hash:"000000",isZeroCommit:!0,summary:""};function a4(t){let r=t.replace(`\r `,` `).split(` `),i={commits:new Map,hashPerLine:[void 0],originalFileLineNrPerLine:[void 0],finalFileLineNrPerLine:[void 0],groupSizePerStartingLine:new Map},n=1;for(let s=0;s=4&&r.groupSizePerStartingLine.set(e,parseInt(t[3])),parseInt(s)!==e)throw Error(`git-blame output is out of order: ${e} vs ${s}`);return i}function l4(t,e,r){let i=t[0],n=t.slice(1).join(" "),s=e.hashPerLine[r];if(s===void 0)throw Error(`No commit hash found for git-blame line ${r}`);let a=e.commits.get(s)||{hash:s,author:{},committer:{},previous:{}};switch(i){case"summary":a.summary=n;break;case"author":a.author.name=n;break;case"author-mail":a.author.email=fT(n);break;case"author-time":a.author.epochSeconds=parseInt(n);break;case"author-tz":a.author.tz=n;break;case"committer":a.committer.name=n;break;case"committer-mail":a.committer.email=fT(n);break;case"committer-time":a.committer.epochSeconds=parseInt(n);break;case"committer-tz":a.committer.tz=n;break;case"previous":a.previous.commitHash=n;break;case"filename":a.previous.filename=n;break}e.commits.set(s,a)}function c4(t){if(t.summary===void 0)throw Error(`Summary not provided for commit: ${t.hash}`);iw(t.author)&&(t.author=void 0),iw(t.committer)&&(t.committer=void 0),iw(t.previous)&&(t.previous=void 0),t.isZeroCommit=!!t.hash.match(/^0*$/)}function iw(t){return!t||Object.keys(t).length===0}function uT(t){return t===void 0?!1:t.length>0&&t[0].trim()===t[0]}function fT(t){let e=t.startsWith("<")?t.substring(1):t;return e.endsWith(">")?e.substring(0,e.length-1):e}function dT(t){return t instanceof Error?t.message:String(t)}m();var BT=require("@codemirror/state");m();var nw=class{constructor(){this.eventsPerFilepath=new Map;this.init()}ifFilepathDefinedTransformSubscribers(e,r){if(e)return this.ensureInitialized(e),r(this.eventsPerFilepath.get(e))}forEachSubscriber(e){this.eventsPerFilepath.forEach(r=>r.forEach(e))}ensureInitialized(e){this.eventsPerFilepath.get(e)||this.eventsPerFilepath.set(e,new Set)}init(){this.removeStalesSubscribersTimer===void 0&&this.startRemoveStalesSubscribersInterval()}startRemoveStalesSubscribersInterval(){this.removeStalesSubscribersTimer=window.setInterval(()=>this==null?void 0:this.forEachSubscriber(e=>e==null?void 0:e.removeIfStale()),6e4)}clear(){this.removeStalesSubscribersTimer!==void 0&&(window.clearInterval(this.removeStalesSubscribersTimer),this.removeStalesSubscribersTimer=void 0),this.eventsPerFilepath.clear()}},Si=new nw;m();var uh=require("@codemirror/state");m();function u4(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var mT={exports:{}};(function(t){(function(){var e="input is invalid type",r=typeof window=="object",i=r?window:{};i.JS_SHA256_NO_WINDOW&&(r=!1);var n=!r&&typeof self=="object";n&&(i=self);var s=!i.JS_SHA256_NO_COMMON_JS&&!0&&t.exports,a=!i.JS_SHA256_NO_ARRAY_BUFFER&&typeof ArrayBuffer!="undefined",o="0123456789abcdef".split(""),l=[-2147483648,8388608,32768,128],c=[24,16,8,0],u=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],f=["hex","array","digest","arrayBuffer"],d=[];(i.JS_SHA256_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(x){return Object.prototype.toString.call(x)==="[object Array]"}),a&&(i.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(x){return typeof x=="object"&&x.buffer&&x.buffer.constructor===ArrayBuffer});var h=function(x,S){return function(A){return new b(S,!0).update(A)[x]()}},p=function(x){var S=h("hex",x);S.create=function(){return new b(x)},S.update=function(E){return S.create().update(E)};for(var A=0;A>>2]|=x[E]<>>2]|=w<>>2]|=(192|w>>>6)<>>2]|=(128|w&63)<=57344?(T[y>>>2]|=(224|w>>>12)<>>2]|=(128|w>>>6&63)<>>2]|=(128|w&63)<>>2]|=(240|w>>>18)<>>2]|=(128|w>>>12&63)<>>2]|=(128|w>>>6&63)<>>2]|=(128|w&63)<=64?(this.block=T[16],this.start=y-64,this.hash(),this.hashed=!0):this.start=y}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},b.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var x=this.blocks,S=this.lastByteIndex;x[16]=this.block,x[S>>>2]|=l[S&3],this.block=x[16],S>=56&&(this.hashed||this.hash(),x[0]=this.block,x[16]=x[1]=x[2]=x[3]=x[4]=x[5]=x[6]=x[7]=x[8]=x[9]=x[10]=x[11]=x[12]=x[13]=x[14]=x[15]=0),x[14]=this.hBytes<<3|this.bytes>>>29,x[15]=this.bytes<<3,this.hash()}},b.prototype.hash=function(){var x=this.h0,S=this.h1,A=this.h2,w=this.h3,E=this.h4,y=this.h5,P=this.h6,T=this.h7,I=this.blocks,L,H,te,xe,Z,K,ce,pe,W,X,G;for(L=16;L<64;++L)Z=I[L-15],H=(Z>>>7|Z<<25)^(Z>>>18|Z<<14)^Z>>>3,Z=I[L-2],te=(Z>>>17|Z<<15)^(Z>>>19|Z<<13)^Z>>>10,I[L]=I[L-16]+H+I[L-7]+te<<0;for(G=S&A,L=0;L<64;L+=4)this.first?(this.is224?(pe=300032,Z=I[0]-1413257819,T=Z-150054599<<0,w=Z+24177077<<0):(pe=704751109,Z=I[0]-210244248,T=Z-1521486534<<0,w=Z+143694565<<0),this.first=!1):(H=(x>>>2|x<<30)^(x>>>13|x<<19)^(x>>>22|x<<10),te=(E>>>6|E<<26)^(E>>>11|E<<21)^(E>>>25|E<<7),pe=x&S,xe=pe^x&A^G,ce=E&y^~E&P,Z=T+te+ce+u[L]+I[L],K=H+xe,T=w+Z<<0,w=Z+K<<0),H=(w>>>2|w<<30)^(w>>>13|w<<19)^(w>>>22|w<<10),te=(T>>>6|T<<26)^(T>>>11|T<<21)^(T>>>25|T<<7),W=w&x,xe=W^w&S^pe,ce=T&E^~T&y,Z=P+te+ce+u[L+1]+I[L+1],K=H+xe,P=A+Z<<0,A=Z+K<<0,H=(A>>>2|A<<30)^(A>>>13|A<<19)^(A>>>22|A<<10),te=(P>>>6|P<<26)^(P>>>11|P<<21)^(P>>>25|P<<7),X=A&w,xe=X^A&x^W,ce=P&T^~P&E,Z=y+te+ce+u[L+2]+I[L+2],K=H+xe,y=S+Z<<0,S=Z+K<<0,H=(S>>>2|S<<30)^(S>>>13|S<<19)^(S>>>22|S<<10),te=(y>>>6|y<<26)^(y>>>11|y<<21)^(y>>>25|y<<7),G=S&A,xe=G^S&w^X,ce=y&P^~y&T,Z=E+te+ce+u[L+3]+I[L+3],K=H+xe,E=x+Z<<0,x=Z+K<<0,this.chromeBugWorkAround=!0;this.h0=this.h0+x<<0,this.h1=this.h1+S<<0,this.h2=this.h2+A<<0,this.h3=this.h3+w<<0,this.h4=this.h4+E<<0,this.h5=this.h5+y<<0,this.h6=this.h6+P<<0,this.h7=this.h7+T<<0},b.prototype.hex=function(){this.finalize();var x=this.h0,S=this.h1,A=this.h2,w=this.h3,E=this.h4,y=this.h5,P=this.h6,T=this.h7,I=o[x>>>28&15]+o[x>>>24&15]+o[x>>>20&15]+o[x>>>16&15]+o[x>>>12&15]+o[x>>>8&15]+o[x>>>4&15]+o[x&15]+o[S>>>28&15]+o[S>>>24&15]+o[S>>>20&15]+o[S>>>16&15]+o[S>>>12&15]+o[S>>>8&15]+o[S>>>4&15]+o[S&15]+o[A>>>28&15]+o[A>>>24&15]+o[A>>>20&15]+o[A>>>16&15]+o[A>>>12&15]+o[A>>>8&15]+o[A>>>4&15]+o[A&15]+o[w>>>28&15]+o[w>>>24&15]+o[w>>>20&15]+o[w>>>16&15]+o[w>>>12&15]+o[w>>>8&15]+o[w>>>4&15]+o[w&15]+o[E>>>28&15]+o[E>>>24&15]+o[E>>>20&15]+o[E>>>16&15]+o[E>>>12&15]+o[E>>>8&15]+o[E>>>4&15]+o[E&15]+o[y>>>28&15]+o[y>>>24&15]+o[y>>>20&15]+o[y>>>16&15]+o[y>>>12&15]+o[y>>>8&15]+o[y>>>4&15]+o[y&15]+o[P>>>28&15]+o[P>>>24&15]+o[P>>>20&15]+o[P>>>16&15]+o[P>>>12&15]+o[P>>>8&15]+o[P>>>4&15]+o[P&15];return this.is224||(I+=o[T>>>28&15]+o[T>>>24&15]+o[T>>>20&15]+o[T>>>16&15]+o[T>>>12&15]+o[T>>>8&15]+o[T>>>4&15]+o[T&15]),I},b.prototype.toString=b.prototype.hex,b.prototype.digest=function(){this.finalize();var x=this.h0,S=this.h1,A=this.h2,w=this.h3,E=this.h4,y=this.h5,P=this.h6,T=this.h7,I=[x>>>24&255,x>>>16&255,x>>>8&255,x&255,S>>>24&255,S>>>16&255,S>>>8&255,S&255,A>>>24&255,A>>>16&255,A>>>8&255,A&255,w>>>24&255,w>>>16&255,w>>>8&255,w&255,E>>>24&255,E>>>16&255,E>>>8&255,E&255,y>>>24&255,y>>>16&255,y>>>8&255,y&255,P>>>24&255,P>>>16&255,P>>>8&255,P&255];return this.is224||I.push(T>>>24&255,T>>>16&255,T>>>8&255,T&255),I},b.prototype.array=b.prototype.digest,b.prototype.arrayBuffer=function(){this.finalize();var x=new ArrayBuffer(this.is224?28:32),S=new DataView(x);return S.setUint32(0,this.h0),S.setUint32(4,this.h1),S.setUint32(8,this.h2),S.setUint32(12,this.h3),S.setUint32(16,this.h4),S.setUint32(20,this.h5),S.setUint32(24,this.h6),this.is224||S.setUint32(28,this.h7),x};function _(x,S,A){var w,E=typeof x;if(E==="string"){var y=[],P=x.length,T=0,I;for(w=0;w>>6,y[T++]=128|I&63):I<55296||I>=57344?(y[T++]=224|I>>>12,y[T++]=128|I>>>6&63,y[T++]=128|I&63):(I=65536+((I&1023)<<10|x.charCodeAt(++w)&1023),y[T++]=240|I>>>18,y[T++]=128|I>>>12&63,y[T++]=128|I>>>6&63,y[T++]=128|I&63);x=y}else if(E==="object"){if(x===null)throw new Error(e);if(a&&x.constructor===ArrayBuffer)x=new Uint8Array(x);else if(!Array.isArray(x)&&(!a||!ArrayBuffer.isView(x)))throw new Error(e)}else throw new Error(e);x.length>64&&(x=new b(S,!0).update(x).array());var L=[],H=[];for(w=0;w<64;++w){var te=x[w]||0;L[w]=92^te,H[w]=54^te}b.call(this,S,A),this.update(H),this.oKeyPad=L,this.inner=!0,this.sharedMemory=A}_.prototype=new b,_.prototype.finalize=function(){if(b.prototype.finalize.call(this),this.inner){this.inner=!1;var x=this.array();b.call(this,this.is224,this.sharedMemory),this.update(this.oKeyPad),this.update(x),b.prototype.finalize.call(this)}};var C=p();C.sha256=C,C.sha224=p(!0),C.sha256.hmac=v(),C.sha224.hmac=v(!0),s?t.exports=C:(i.sha256=C.sha256,i.sha224=C.sha224)})()})(mT);var f4=mT.exports,$u=u4(f4),{sha224:NW}=$u;function gT(t,e,r){if(!(t===void 0||e===void 0||r===void 0))return`head${t}-obj${e}-path${r}`}var vT=uh.StateEffect.define();function wT(t,e,r){return r.update({effects:vT.of({key:t,la:e,lineOffsetsFromUnsavedChanges:new Map})})}var xl=uh.StateField.define({create:t=>{},update:(t,e)=>{for(let r of e.effects)if(r.is(vT))return r.value;return d4(e,t)},compare:(t,e)=>(t==null?void 0:t.key)===(e==null?void 0:e.key)});function fh(t){var s;let e=$u.create();if(!t)return e;let{la:r,key:i,lineOffsetsFromUnsavedChanges:n}=t;e.update(r==="untracked"?"t":"f"),e.update(i);for(let[a,o]of(s=n.entries())!=null?s:[])e.update([a,o]);return e}var Fu={get:void 0,save:void 0};function bT(t,e){Fu.get=t,Fu.save=e}function dh(t){var e,r;return(r=(e=Iu(t.coloringMaxAge))==null?void 0:e.asDays())!=null?r:Iu(pt.lineAuthor.coloringMaxAge).asDays()}function d4(t,e){if(e)return t.changes.empty||t.changes.iterChanges((r,i,n,s)=>{var p;let a=t.startState.doc,{newDoc:o}=t,l=a.lineAt(r).number,c=a.lineAt(i).number,u=o.lineAt(n).number,f=o.lineAt(s).number,d=c-l+1,h=f-u+1;for(let g=u;g<=f;g++){let v=(p=e.lineOffsetsFromUnsavedChanges.get(g))!=null?p:0,b=f===g,_=h-d;b&&(v+=_),e.lineOffsetsFromUnsavedChanges.set(g,v)}}),e}m();function _T(){El=void 0,sw=[],hh=0,mh.clear(),gh.clear(),Sl.clear()}var El,ph=()=>El;function yT(t,e){var n;let r=e.length;if(r<((n=El==null?void 0:El.length)!=null?n:0))return;El={gutter:t,length:r,text:e};let i=It.plugin.localStorage.getGutterSpacingFallbackLength();r!==i&&It.plugin.localStorage.setGutterSpacingFallbackLength(r)}var sw=[],h4=15,hh=0;function xT(t){sw[hh]=t,hh=(hh+1)%h4}function ET(){return sk(sw)}var mh=new Map,gh=new Map,Sl=new Set;m();var OT=require("@codemirror/state"),LT=require("@codemirror/view");m();var cw=require("@codemirror/view");var kl=require("obsidian");m();m();var vh={x:-10,y:-10};function ST(){vh.x===-10&&window.addEventListener("mousedown",t=>{vh.x=t.clientX,vh.y=t.clientY})}function kT(){for(let t of Sl)if(p4(t,vh))return t}function p4(t,e){let{x:r,y:i,width:n,height:s}=t.getBoundingClientRect();return r<=e.x&&e.x<=r+n&&i<=e.y&&e.y<=i+s}var CT="data-commit";function AT(t,e,r){if(e.hasFocus())return;let i=kT();if(!i)return;let n=g4(i);n&&(!n.isZeroCommit&&!n.isWaitingGutter&&m4(n,t),aw("showCommitHash",t),aw("authorDisplay",t),aw("dateTimeFormatOptions",t))}function m4(t,e){e.addItem(r=>r.setTitle("Copy commit hash").setIcon("copy").setSection("obs-git-line-author-copy").onClick(i=>navigator.clipboard.writeText(t.hash)))}function aw(t,e){var l,c;let r,i,n=It.plugin.settings.lineAuthor,s=n[t],a=typeof s=="boolean"?s:s!=="hide",o=pt.lineAuthor[t];if(t==="showCommitHash")r="Show commit hash",i=s;else if(t==="authorDisplay"){let u=(l=n.lastShownAuthorDisplay)!=null?l:o;r="Show author "+(a?s:u),i=a?"hide":u}else if(t==="dateTimeFormatOptions"){let u=(c=n.lastShownDateTimeFormatOptions)!=null?c:o;r="Show "+(a?s:u),r+=r.contains("date")?"":" date",i=a?"hide":u}else Bs(t);e.addItem(u=>u.setTitle(r).setSection("obs-git-line-author-configure").setChecked(a).onClick(f=>{var d,h;return(h=(d=It.plugin)==null?void 0:d.settingsTab)==null?void 0:h.lineAuthorSettingHandler(t,i)}))}function TT(t,e,r){r.setAttr(CT,JSON.stringify({hash:t.hash,isZeroCommit:t.isZeroCommit,isWaitingGutter:e}))}function g4(t){let e=t.getAttr(CT);return e?JSON.parse(e):void 0}m();function bh(t,e){return t==="oldest"?wh(0,!1,e).color:wh(void 0,!0,e).color}function wh(t,e,r){let i=dh(r),n=Date.now()/1e3,s=t!=null?t:0,o=(e?0:n-s)/60/60/24,l=Math.pow(Math.clamp(o/i,0,1),1/2.3),c=v4(),u=r.colorNew,f=r.colorOld,d=c?.4:1,h=ow(u.r,f.r,l)*d,p=ow(u.g,f.g,l)*d,g=ow(u.b,f.b,l)*d;return{color:`rgba(${h},${p},${g},${c?.75:.25})`,daysSinceCommit:o}}function ow(t,e,r){return t+(e-t)*r}function v4(){var t;return((t=window.app)==null?void 0:t.getTheme())==="obsidian"}function PT(t){activeDocument.body.style.setProperty("--obs-git-gutter-text",t.textColorCss)}m();function RT(t,e,r){let i;for(let n=e;n<=r;n++){let s=t.hashPerLine[n];if(s===void 0)continue;let a=t.commits.get(s);(!i||a.isZeroCommit||w4(a,i))&&(i=a)}return i}function w4(t,e){var n,s,a,o;let r=(s=(n=t.author)==null?void 0:n.epochSeconds)!=null?s:0,i=(o=(a=e.author)==null?void 0:a.epochSeconds)!=null?o:0;return r>i}var FT=require("node:util");var $T="-",b4="+",_4=3,y4="*",x4=/\S/g,E4="%",Cl=class t extends cw.GutterMarker{constructor(r){super();this.text=r}eq(r){return r instanceof t&&this.text===r.text}toDOM(){return activeDocument.createTextNode(this.text)}destroy(r){}},lw=class extends cw.GutterMarker{constructor(r,i,n,s,a,o){super();this.lineAuthoring=r;this.startLine=i;this.endLine=n;this.key=s;this.settings=a;this.options=o;this.point=!1;this.elementClass="obs-git-blame-gutter"}eq(r){return this.key===(r==null?void 0:r.key)&&this.startLine===(r==null?void 0:r.startLine)&&this.endLine===(r==null?void 0:r.endLine)&&(this==null?void 0:this.options)===(r==null?void 0:r.options)}toDOM(){var r;return this.precomputedDomProvider=(r=this.precomputedDomProvider)!=null?r:this.computeDom(),this.precomputedDomProvider()}destroy(r){r&&(activeDocument.body.contains(r)||Sl.delete(r))}computeDom(){let r=RT(this.lineAuthoring,this.startLine,this.endLine),i=r.isZeroCommit?"":this.renderNonZeroCommit(r);return!r.isZeroCommit&&this.options!=="waiting-for-result"?yT(this,i):i=this.adaptTextForFakeCommit(r,i,this.options),this.createHtmlNode(r,i,this.options==="waiting-for-result")}createHtmlNode(r,i,n){var c,u,f,d,h,p;let s=window.createDiv();s.setText(i);let{color:a,daysSinceCommit:o}=wh((c=r==null?void 0:r.author)==null?void 0:c.epochSeconds,r==null?void 0:r.isZeroCommit,this.settings);s.style.backgroundColor=a,s.setAttribute("data-author",(f=(u=r==null?void 0:r.author)==null?void 0:u.name)!=null?f:""),s.setAttribute("data-author-email",(h=(d=r==null?void 0:r.author)==null?void 0:d.email)!=null?h:""),(0,kl.setTooltip)(s,(p=r==null?void 0:r.summary)!=null?p:""),TT(r,n,s);function l(){let g=s.cloneNode(!0);return Sl.add(g),n||xT(o),g}return l}renderNonZeroCommit(r){let i=this.settings.showCommitHash?this.renderHash(r):"",n=this.settings.authorDisplay==="hide"?"":`${this.renderAuthorName(r,this.settings.authorDisplay)}`,s=this.settings.dateTimeFormatOptions==="hide"?"":`${this.renderAuthoringDate(r,this.settings.dateTimeFormatOptions,this.settings.dateTimeFormatCustomString,this.settings.dateTimeTimezone)}`;return[i,n,s].filter(o=>o.length>=1).join(" ")}renderHash(r){return r.hash.substring(0,6)}renderAuthorName(r,i){var o,l,c,u;let n=(l=(o=r==null?void 0:r.author)==null?void 0:o.name)!=null?l:"",s=n.split(" ").filter(f=>f.length>=1),a;switch(i){case"initials":a=s.map(f=>f[0].toUpperCase()).join("");break;case"first name":a=(c=s.first())!=null?c:$T;break;case"last name":a=(u=s.last())!=null?u:$T;break;case"full":a=n;break;default:return Bs(i)}return(0,FT.isDeepStrictEqual)(r==null?void 0:r.author,r==null?void 0:r.committer)||(a=a+y4),a}renderAuthoringDate(r,i,n,s){var c;if(((c=r==null?void 0:r.author)==null?void 0:c.epochSeconds)===void 0)return"?";let o;switch(i){case"date":o=Fd;break;case"datetime":o=Jg;break;case"custom":o=n;break;case"natural language":o=u=>{let f=u.diff((0,kl.moment)());return kl.moment.duration(f).humanize(!0)};break;default:return Bs(i)}let l=kl.moment.unix(r.author.epochSeconds);switch(s){case"viewer-local":break;case"author-local":l=l.utcOffset(r.author.tz),typeof o=="string"&&(o+=" Z");break;case"utc0000":l=l.utc(),typeof o=="string"&&(o+="[Z]");break;default:return Bs(s)}return typeof o=="string"?l.format(o):o(l)}adaptTextForFakeCommit(r,i,n){var l,c,u;let s=(c=(l=ph())==null?void 0:l.text)!=null?c:i,a=n!=="waiting-for-result"&&r.isZeroCommit?b4:E4;i=s.replace(x4,a);let o=(u=It.plugin.localStorage.getGutterSpacingFallbackLength())!=null?u:i.length;if(i=ak(i,o,a),n!=="waiting-for-result"&&r.isZeroCommit){let f=Math.min(o,_4);i=ok(i,o-f)}return i}};function Fa(t,e,r,i,n,s){let a=$u.create();a.update(JSON.stringify(n)),a.update(`s${e}-e${r}-k${i}-o${s}`);let o=a.hex(),l=mh.get(o);if(l)return l;let c=new lw(t,e,r,i,n,s);return mh.set(o,c),c}m();var IT=require("obsidian");function uw(){let t=It.plugin.localStorage.getGutterSpacingFallbackLength();return new Cl(Array(t).fill("-").join(""))}function fw(t){let{lineAuthoring:e,ageForInitialRender:r}=S4(t);return Fa(e,1,1,"initialGutter"+r,t,"waiting-for-result")}function S4(t){var s;let e=(s=ET())!=null?s:dh(t)*.25,r=(0,IT.moment)().add(-e,"days"),i={name:"",epochSeconds:nk(r),tz:"+0000"},n={hash:"waiting-for-result",author:i,committer:i,isZeroCommit:!1};return{lineAuthoring:{hashPerLine:[void 0,"waiting-for-result"],commits:new Map([["waiting-for-result",n]])},ageForInitialRender:e}}m();function MT(t,e){return Fa({hashPerLine:[void 0,"000000"],commits:new Map([["000000",pT]])},1,1,t,e)}var dw=new Cl(""),NT=(0,LT.gutter)({class:"line-author-gutter-container",markers(t){let e=t.state.field(xl,!1);return k4(t,e)},lineMarkerChange(t){let e=fh(t.state.field(xl));return fh(t.startState.field(xl))!==e},renderEmptyElements:!0,initialSpacer:t=>(DT(t),uw()),updateSpacer:(t,e)=>{var r,i;return DT(e.view),(i=(r=ph())==null?void 0:r.gutter)!=null?i:uw()}});function k4(t,e){let r=fh(e),i=t.state.doc,n=new Map;for(let u=1;u<=i.lines;u++){let f=i.line(u).from,d=t.lineBlockAt(f).to;n.set(u,[f,d]),r.update([f,d,0])}let s=Fu.get();r.update("s"+Object.values(Fu).join(","));let a=r.hex(),o=gh.get(a);if(o)return o;let{result:l,allowCache:c}=C4(i,n,s,e);return c&&gh.set(a,l),l}function C4(t,e,r,i){let n=!0,s=t.lines,a=[];function o(f,d,h){return a.push(h.range(f,d))}let l=A4(s,i),c=t.length===0,u=t.iterLines(s,s+1).next().value==="";for(let f=1;f<=s;f++){let[d,h]=e.get(f),p=t.lineAt(h).number;if(c){o(d,h,dw);continue}if(f===s&&u){o(d,h,dw);continue}if(i===void 0){o(d,h,fw(r)),n=!1;continue}let{key:g,la:v}=i;if(v==="untracked"){o(d,h,MT(v,r));continue}let b=v.hashPerLine.length-1,_=l[f],C=l[p];if(C&&C>b&&o(d,h,dw),_!==void 0&&cv(1,_,b)&&C!==void 0&&cv(1,C,b)){o(d,h,Fa(v,_,C,g,r));continue}if(b<1){o(d,h,fw(r)),n=!1;continue}let x=Math.clamp(_!=null?_:f,1,b),S=Math.clamp(C!=null?C:p,1,b);o(d,h,Fa(v,x,S,g+"computing",r,"waiting-for-result"))}return{result:OT.RangeSet.of(a,!0),allowCache:n}}function A4(t,e){if(!(e!=null&&e.lineOffsetsFromUnsavedChanges))return Array.from(new Array(t+1),n=>n);let r=[void 0],i=0;for(let n=1;n<=t;n++){let s=e.lineOffsetsFromUnsavedChanges.get(n);i+=s!=null?s:0,r[n]=s===void 0?n-i:void 0}return r}function DT(t){t.dom.querySelectorAll(".cm-gutters").forEach(r=>{r!=null&&r.style&&(r.style.marginLeft||(r.style.marginLeft="unset"))})}var _h=class{constructor(e){this.plugin=e;this.lineAuthorings=new Map}async trackChanged(e){return this.trackChangedHelper(e).catch(r=>(console.warn("Git: Error in trackChanged."+r),Promise.reject(r)))}async trackChangedHelper(e){if(e){if(e.path===void 0){console.warn("Git: Attempted to track change of undefined filepath. Unforeseen situation.");return}return this.computeLineAuthorInfo(e.path)}}destroy(){this.lineAuthorings.clear(),_T()}async computeLineAuthorInfo(e){let r=this.plugin.editorIntegration.lineAuthoringFeature.isAvailableOnCurrentPlatform().gitManager,i=await r.submoduleAwareHeadRevisonInContainingDirectory(e),n=await r.hashObject(e),s=gT(i,n,e);if(s!==void 0){if(!this.lineAuthorings.has(s)){let a=await r.blame(e,this.plugin.settings.lineAuthor.followMovement,this.plugin.settings.lineAuthor.ignoreWhitespace);this.lineAuthorings.set(s,a)}this.notifyComputationResultToSubscribers(e,s)}}notifyComputationResultToSubscribers(e,r){Si.ifFilepathDefinedTransformSubscribers(e,i=>i.forEach(n=>n.notifyLineAuthoring(r,this.lineAuthorings.get(r))))}},HT=BT.Prec.high([xl,NT]);var UT="https://momentjs.com/docs/#/parsing/string-format/",T4="https://publish.obsidian.md/git-doc/Line+Authoring",yh=class extends j.PluginSettingTab{constructor(r,i){super(r,i);this.plugin=i;this.lineAuthorColorSettings=new Map;this.icon="git-pull-request"}get settings(){return this.plugin.settings}display(){let{containerEl:r}=this,i=this.plugin,n;i.settings.differentIntervalCommitAndPush?n="commit":n="commit-and-sync";let s=i.gitReady;r.empty(),s||(r.createEl("p",{text:"Git is not ready. When all settings are correct you can configure commit-sync, etc."}),r.createEl("br"));let a;if(s){new j.Setting(r).setName("Automatic").setHeading(),new j.Setting(r).setName("Split timers for automatic commit and sync").setDesc("Enable to use one interval for commit and another for sync.").addToggle(f=>f.setValue(i.settings.differentIntervalCommitAndPush).onChange(async d=>{i.settings.differentIntervalCommitAndPush=d,await i.saveSettings(),i.automaticsManager.reload("commit","push"),this.refreshDisplayWithDelay()})),new j.Setting(r).setName(`Auto ${n} interval (minutes)`).setDesc(`${i.settings.differentIntervalCommitAndPush?"Commit":"Commit and sync"} changes every X minutes. Set to 0 (default) to disable. (See below setting for further configuration!)`).addText(f=>{f.inputEl.type="number",this.setNonDefaultValue({text:f,settingsProperty:"autoSaveInterval"}),f.setPlaceholder(String(pt.autoSaveInterval)),f.onChange(async d=>{d!==""?i.settings.autoSaveInterval=Number(d):i.settings.autoSaveInterval=pt.autoSaveInterval,await i.saveSettings(),i.automaticsManager.reload("commit")})}),a=new j.Setting(r).setName(`Auto ${n} after stopping file edits`).setDesc(`Requires the ${n} interval not to be 0. If turned on, do auto ${n} every ${lk(i.settings.autoSaveInterval)} after stopping file edits. This also prevents auto ${n} while editing a file. If turned off, it's independent from the last file edit.`).addToggle(f=>f.setValue(i.settings.autoBackupAfterFileChange).onChange(async d=>{i.settings.autoBackupAfterFileChange=d,this.refreshDisplayWithDelay(),await i.saveSettings(),i.automaticsManager.reload("commit")})),this.mayDisableSetting(a,i.settings.setLastSaveToLastCommit),a=new j.Setting(r).setName(`Auto ${n} after latest commit`).setDesc(`If turned on, sets last auto ${n} timestamp to the latest commit timestamp. This reduces the frequency of auto ${n} when doing manual commits.`).addToggle(f=>f.setValue(i.settings.setLastSaveToLastCommit).onChange(async d=>{i.settings.setLastSaveToLastCommit=d,await i.saveSettings(),i.automaticsManager.reload("commit"),this.refreshDisplayWithDelay()})),this.mayDisableSetting(a,i.settings.autoBackupAfterFileChange),a=new j.Setting(r).setName("Auto push interval (minutes)").setDesc("Push commits every X minutes. Set to 0 (default) to disable.").addText(f=>{f.inputEl.type="number",this.setNonDefaultValue({text:f,settingsProperty:"autoPushInterval"}),f.setPlaceholder(String(pt.autoPushInterval)),f.onChange(async d=>{d!==""?i.settings.autoPushInterval=Number(d):i.settings.autoPushInterval=pt.autoPushInterval,await i.saveSettings(),i.automaticsManager.reload("push")})}),this.mayDisableSetting(a,!i.settings.differentIntervalCommitAndPush),new j.Setting(r).setName("Auto pull interval (minutes)").setDesc("Pull changes every X minutes. Set to 0 (default) to disable.").addText(f=>{f.inputEl.type="number",this.setNonDefaultValue({text:f,settingsProperty:"autoPullInterval"}),f.setPlaceholder(String(pt.autoPullInterval)),f.onChange(async d=>{d!==""?i.settings.autoPullInterval=Number(d):i.settings.autoPullInterval=pt.autoPullInterval,await i.saveSettings(),i.automaticsManager.reload("pull")})}),new j.Setting(r).setName(`Auto ${n} only staged files`).setDesc(`If turned on, only staged files are committed on ${n}. If turned off, all changed files are committed.`).addToggle(f=>f.setValue(i.settings.autoCommitOnlyStaged).onChange(async d=>{i.settings.autoCommitOnlyStaged=d,await i.saveSettings()})),new j.Setting(r).setName(`Specify custom commit message on auto ${n}`).setDesc("You will get a pop up to specify your message.").addToggle(f=>f.setValue(i.settings.customMessageOnAutoBackup).onChange(async d=>{i.settings.customMessageOnAutoBackup=d,await i.saveSettings(),this.refreshDisplayWithDelay()})),a=new j.Setting(r).setName(`Commit message on auto ${n}`).setDesc("Available placeholders: {{date}} (see below), {{hostname}} (see below), {{numFiles}} (number of changed files in the commit) and {{files}} (changed files in commit message).").addTextArea(f=>{f.setPlaceholder(pt.autoCommitMessage).onChange(async d=>{d===""?i.settings.autoCommitMessage=pt.autoCommitMessage:i.settings.autoCommitMessage=d,await i.saveSettings()}),this.setNonDefaultValue({text:f,settingsProperty:"autoCommitMessage"})}),this.mayDisableSetting(a,i.settings.customMessageOnAutoBackup),new j.Setting(r).setName("Commit message").setHeading();let c=new j.Setting(r).setName("Commit message on manual commit").setDesc("Available placeholders: {{date}} (see below), {{hostname}} (see below), {{numFiles}} (number of changed files in the commit) and {{files}} (changed files in commit message). Leave empty to require manual input on each commit.");c.addTextArea(f=>{c.addButton(d=>{d.setIcon("reset").setTooltip(`Set to default: "${pt.commitMessage}"`).onClick(()=>{f.setValue(pt.commitMessage),f.onChanged()})}),f.setValue(i.settings.commitMessage),f.onChange(async d=>{i.settings.commitMessage=d,await i.saveSettings()})}),j.Platform.isDesktopApp&&new j.Setting(r).setName("Commit message script").setDesc("A script that is run using 'sh -c' to generate the commit message. May be used to generate commit messages using AI tools. Available placeholders: {{hostname}}, {{date}}.").addText(f=>{f.onChange(async d=>{d===""?i.settings.commitMessageScript=pt.commitMessageScript:i.settings.commitMessageScript=d,await i.saveSettings()}),this.setNonDefaultValue({text:f,settingsProperty:"commitMessageScript"})});let u=new j.Setting(r).setName("{{date}} placeholder format").addMomentFormat(f=>f.setDefaultFormat(i.settings.commitDateFormat).setValue(i.settings.commitDateFormat).onChange(async d=>{i.settings.commitDateFormat=d,await i.saveSettings()}));u.descEl.createSpan({text:` Specify custom date format. E.g. "${ev}. See `}),u.descEl.createEl("a",{text:"Moment.js documentation",href:UT,attr:{target:"_blank"}}),u.descEl.createSpan({text:" for more formats."}),new j.Setting(r).setName("{{hostname}} placeholder replacement").setDesc("Specify custom hostname for every device. Defaults to the OS hostname if not set on desktop.").addText(f=>{var d;return f.setValue((d=i.localStorage.getHostname())!=null?d:"").onChange(h=>{i.localStorage.setHostname(h)})}),new j.Setting(r).setName("Preview commit message").addButton(f=>f.setButtonText("Preview").onClick(async()=>{let d=await i.gitManager.formatCommitMessage(i.settings.commitMessage);new j.Notice(`${d}`)})),new j.Setting(r).setName("List filenames affected by commit in the commit body").addToggle(f=>f.setValue(i.settings.listChangedFilesInMessageBody).onChange(async d=>{i.settings.listChangedFilesInMessageBody=d,await i.saveSettings()})),new j.Setting(r).setName("Pull").setHeading(),i.gitManager instanceof Se&&new j.Setting(r).setName("Merge strategy").setDesc("Decide how to integrate commits from your remote branch into your local branch.").addDropdown(f=>{let d={merge:"Merge",rebase:"Rebase",reset:"Other sync service (Only updates the HEAD without touching the working directory)"};f.addOptions(d),f.setValue(i.settings.syncMethod),f.onChange(async h=>{i.settings.syncMethod=h,await i.saveSettings()})}),new j.Setting(r).setName("Merge strategy on conflicts").setDesc("Decide how to solve conflicts when pulling remote changes. This can be used to favor your local changes or the remote changes automatically.").addDropdown(f=>{let d={none:"None (git default)",ours:"Our changes",theirs:"Their changes"};f.addOptions(d),f.setValue(i.settings.mergeStrategy),f.onChange(async h=>{i.settings.mergeStrategy=h,await i.saveSettings()})}),new j.Setting(r).setName("Pull on startup").setDesc("Automatically pull commits when Obsidian starts.").addToggle(f=>f.setValue(i.settings.autoPullOnBoot).onChange(async d=>{i.settings.autoPullOnBoot=d,await i.saveSettings()})),new j.Setting(r).setName("Commit-and-sync").setDesc("Commit-and-sync with default settings means staging everything -> committing -> pulling -> pushing. Ideally this is a single action that you do regularly to keep your local and remote repository in sync.").setHeading(),a=new j.Setting(r).setName("Push on commit-and-sync").setDesc(`Most of the time you want to push after committing. Turning this off turns a commit-and-sync action into commit ${i.settings.pullBeforePush?"and pull ":""}only. It will still be called commit-and-sync.`).addToggle(f=>f.setValue(!i.settings.disablePush).onChange(async d=>{i.settings.disablePush=!d,this.refreshDisplayWithDelay(),await i.saveSettings()})),new j.Setting(r).setName("Pull on commit-and-sync").setDesc(`On commit-and-sync, pull commits as well. Turning this off turns a commit-and-sync action into commit ${i.settings.disablePush?"":"and push "}only.`).addToggle(f=>f.setValue(i.settings.pullBeforePush).onChange(async d=>{i.settings.pullBeforePush=d,this.refreshDisplayWithDelay(),await i.saveSettings()})),i.gitManager instanceof Se&&new j.Setting(r).setName("Squash commits before push").setDesc("On commit-and-sync, squash all local unpushed commits into a single commit right before pushing. Keeps the remote history clean when committing often. Only unpushed commits are rewritten, so no force-push is needed.").addToggle(f=>f.setValue(i.settings.squashCommitsBeforePush).onChange(async d=>{i.settings.squashCommitsBeforePush=d,await i.saveSettings()})),i.gitManager instanceof Se&&(new j.Setting(r).setName("Hunk management").setDesc("Hunks are sections of grouped line changes right in your editor.").setHeading(),new j.Setting(r).setName("Signs").setDesc("This allows you to see your changes right in your editor via colored markers and stage/reset/preview individual hunks.").addToggle(f=>f.setValue(i.settings.hunks.showSigns).onChange(async d=>{i.settings.hunks.showSigns=d,await i.saveSettings(),i.editorIntegration.refreshSignsSettings()})),new j.Setting(r).setName("Hunk commands").setDesc("Adds commands to stage/reset individual Git diff hunks and navigate between them via 'Go to next/prev hunk' commands.").addToggle(f=>f.setValue(i.settings.hunks.hunkCommands).onChange(async d=>{i.settings.hunks.hunkCommands=d,await i.saveSettings(),i.editorIntegration.refreshSignsSettings()})),new j.Setting(r).setName("Status bar with summary of line changes").addDropdown(f=>f.addOptions({disabled:"Disabled",colored:"Colored",monochrome:"Monochrome"}).setValue(i.settings.hunks.statusBar).onChange(async d=>{i.settings.hunks.statusBar=d,await i.saveSettings(),i.editorIntegration.refreshSignsSettings()})),new j.Setting(r).setName("Line author information").setHeading(),this.addLineAuthorInfoSettings())}new j.Setting(r).setName("History view").setHeading(),new j.Setting(r).setName("Show Author").setDesc("Show the author of the commit in the history view.").addDropdown(c=>{let u={hide:"Hide",full:"Full",initials:"Initials"};c.addOptions(u),c.setValue(i.settings.authorInHistoryView),c.onChange(async f=>{i.settings.authorInHistoryView=f,await i.saveSettings(),await i.refresh()})}),new j.Setting(r).setName("Show Date").setDesc("Show the date of the commit in the history view. The {{date}} placeholder format is used to display the date.").addToggle(c=>c.setValue(i.settings.dateInHistoryView).onChange(async u=>{i.settings.dateInHistoryView=u,await i.saveSettings(),await i.refresh()})),new j.Setting(r).setName("Source control view").setHeading(),new j.Setting(r).setName("Automatically refresh source control view on file changes").setDesc("On slower machines this may cause lags. If so, just disable this option.").addToggle(c=>c.setValue(i.settings.refreshSourceControl).onChange(async u=>{i.settings.refreshSourceControl=u,await i.saveSettings()})),new j.Setting(r).setName("Source control view refresh interval").setDesc("Milliseconds to wait after file change before refreshing the Source Control View.").addText(c=>{c.inputEl.type="number",this.setNonDefaultValue({text:c,settingsProperty:"refreshSourceControlTimer"}),c.setPlaceholder(String(pt.refreshSourceControlTimer)),c.onChange(async f=>{f!==""&&Number.isInteger(Number(f))?i.settings.refreshSourceControlTimer=Math.max(Number(f),500):i.settings.refreshSourceControlTimer=pt.refreshSourceControlTimer,await i.saveSettings(),i.setRefreshDebouncer()})}),new j.Setting(r).setName("Miscellaneous").setHeading(),i.gitManager instanceof Se&&new j.Setting(r).setName("Diff view style").setDesc('Set the style for the diff view. Note that the actual diff in "Split" mode is not generated by Git, but the editor itself instead so it may differ from the diff generated by Git. One advantage of this is that you can edit the text in that view.').addDropdown(c=>{let u={split:"Split",git_unified:"Unified"};c.addOptions(u),c.setValue(i.settings.diffStyle),c.onChange(async f=>{i.settings.diffStyle=f,await i.saveSettings()})}),new j.Setting(r).setName("Disable informative notifications").setDesc("Disable informative notifications for git operations to minimize distraction (refer to status bar for updates).").addToggle(c=>c.setValue(i.settings.disablePopups).onChange(async u=>{i.settings.disablePopups=u,this.refreshDisplayWithDelay(),await i.saveSettings()})),new j.Setting(r).setName("Disable error notifications").setDesc("Disable error notifications of any kind to minimize distraction (refer to status bar for updates).").addToggle(c=>c.setValue(!i.settings.showErrorNotices).onChange(async u=>{i.settings.showErrorNotices=!u,await i.saveSettings()})),i.settings.disablePopups||new j.Setting(r).setName("Hide notifications for no changes").setDesc("Don't show notifications when there are no changes to commit or push.").addToggle(c=>c.setValue(i.settings.disablePopupsForNoChanges).onChange(async u=>{i.settings.disablePopupsForNoChanges=u,await i.saveSettings()})),new j.Setting(r).setName("Show status bar").setDesc("Obsidian must be restarted for the changes to take affect.").addToggle(c=>c.setValue(i.settings.showStatusBar).onChange(async u=>{i.settings.showStatusBar=u,await i.saveSettings()})),new j.Setting(r).setName("File menu integration").setDesc('Add "Stage", "Unstage" and "Add to .gitignore" actions to the file menu.').addToggle(c=>c.setValue(i.settings.showFileMenu).onChange(async u=>{i.settings.showFileMenu=u,await i.saveSettings()})),new j.Setting(r).setName("Show branch status bar").setDesc("Obsidian must be restarted for the changes to take affect.").addToggle(c=>c.setValue(i.settings.showBranchStatusBar).onChange(async u=>{i.settings.showBranchStatusBar=u,await i.saveSettings()})),new j.Setting(r).setName("Show the count of modified files in the status bar").addToggle(c=>c.setValue(i.settings.changedFilesInStatusBar).onChange(async u=>{i.settings.changedFilesInStatusBar=u,await i.saveSettings()})),i.gitManager instanceof zi?new j.Setting(r).setName("Authentication/commit author").setHeading():new j.Setting(r).setName("Commit author").setHeading(),i.gitManager instanceof zi&&new j.Setting(r).setName("Username on your git server. E.g. your username on GitHub").addText(c=>{var u;c.setValue((u=i.localStorage.getUsername())!=null?u:""),c.onChange(f=>{i.localStorage.setUsername(f)})}),i.gitManager instanceof zi&&new j.Setting(r).setName("Password/Personal access token").setDesc("Type in your password. You won't be able to see it again.").addText(c=>{c.inputEl.autocapitalize="off",c.inputEl.autocomplete="off",c.inputEl.spellcheck=!1,c.onChange(u=>{i.localStorage.setPassword(u)})}),i.gitReady&&new j.Setting(r).setName("Author name for commit").addText(async c=>{var u;c.setValue((u=await i.gitManager.getConfig("user.name"))!=null?u:""),c.onChange(async f=>{await i.gitManager.setConfig("user.name",f==""?void 0:f)})}),i.gitReady&&new j.Setting(r).setName("Author email for commit").addText(async c=>{var u;c.setValue((u=await i.gitManager.getConfig("user.email"))!=null?u:""),c.onChange(async f=>{await i.gitManager.setConfig("user.email",f==""?void 0:f)})}),new j.Setting(r).setName("Advanced").setDesc("These settings usually don't need to be changed, but may be required for special setups.").setHeading(),i.gitManager instanceof Se&&(new j.Setting(r).setName("Update submodules").setDesc('"Commit-and-sync" and "pull" takes care of submodules. Missing features: Conflicted files, count of pulled/pushed/committed files. Tracking branch needs to be set for each submodule.').addToggle(c=>c.setValue(i.settings.updateSubmodules).onChange(async u=>{i.settings.updateSubmodules=u,await i.saveSettings()})),i.settings.updateSubmodules&&new j.Setting(r).setName("Submodule recurse checkout/switch").setDesc("Whenever a checkout happens on the root repository, recurse the checkout on the submodules (if the branches exist).").addToggle(c=>c.setValue(i.settings.submoduleRecurseCheckout).onChange(async u=>{i.settings.submoduleRecurseCheckout=u,await i.saveSettings()}))),i.gitManager instanceof Se&&new j.Setting(r).setName("Custom Git binary path").setDesc("Specify the path to the Git binary/executable. Git should already be in your PATH. Should only be necessary for a custom Git installation.").addText(c=>{var u;c.setValue((u=i.localStorage.getGitPath())!=null?u:""),c.setPlaceholder("git"),c.onChange(f=>{i.localStorage.setGitPath(f),i.gitManager.updateGitPath(f||"git").catch(d=>i.displayError(d))})}),i.gitManager instanceof Se&&new j.Setting(r).setName("Additional environment variables").setDesc("Use each line for a new environment variable in the format KEY=VALUE .").addTextArea(c=>{c.setPlaceholder("GIT_DIR=/path/to/git/dir"),c.setValue(i.localStorage.getEnvVars().join(` `)),c.onChange(u=>{i.localStorage.setEnvVars(u.split(` `))})}),i.gitManager instanceof Se&&new j.Setting(r).setName("Additional PATH environment variable paths").setDesc("Use each line for one path").addTextArea(c=>{c.setValue(i.localStorage.getPATHPaths().join(` `)),c.onChange(u=>{i.localStorage.setPATHPaths(u.split(` `))})}),i.gitManager instanceof Se&&new j.Setting(r).setName("Reload with new environment variables").setDesc("Removing previously added environment variables will not take effect until Obsidian is restarted.").addButton(c=>{c.setButtonText("Reload"),c.setCta(),c.onClick(async()=>{await i.gitManager.setGitInstance()})}),new j.Setting(r).setName("Custom base path (Git repository path)").setDesc(` Sets the relative path to the vault from which the Git binary should be executed. Mostly used to set the path to the Git repository, which is only required if the Git repository is below the vault root directory. Use "\\" instead of "/" on Windows. `).addText(c=>{c.setValue(i.settings.basePath),c.setPlaceholder("directory/directory-with-git-repo"),c.onChange(async u=>{i.settings.basePath=u,await i.saveSettings(),i.gitManager.updateBasePath(u||"").catch(f=>i.displayError(f))})}),new j.Setting(r).setName("Custom Git directory path (Instead of '.git')").setDesc('Corresponds to the GIT_DIR environment variable. Relative paths are resolved from the custom base path, or the vault root when no base path is configured. Requires restart of Obsidian to take effect. Use "\\" instead of "/" on Windows.').addText(c=>{c.setValue(i.settings.gitDir),c.setPlaceholder(".git"),c.onChange(async u=>{i.settings.gitDir=u,await i.saveSettings()})}),new j.Setting(r).setName("Disable on this device").setDesc("Disables the plugin on this device. This setting is not synced.").addToggle(c=>c.setValue(i.localStorage.getPluginDisabled()).onChange(u=>{i.localStorage.setPluginDisabled(u),u?i.unloadPlugin():i.init({fromReload:!0}).catch(f=>i.displayError(f)),new j.Notice("Obsidian must be restarted for the changes to take affect.")})),new j.Setting(r).setName("Support").setHeading(),new j.Setting(r).setName("Donate").setDesc("If you like this Plugin, consider donating to support continued development.").addButton(c=>{var f;let u=(f=c.buttonEl.parentElement)==null?void 0:f.createEl("a",{href:"https://ko-fi.com/F1F195IQ5",attr:{target:"_blank"}});u&&(u.createEl("img",{attr:{height:"36",style:"border:0px;height:36px;",src:"https://cdn.ko-fi.com/cdn/kofi3.png?v=3",border:"0",alt:"Buy Me a Coffee at ko-fi.com"}}),c.buttonEl.remove())});let o=r.createDiv();o.setAttr("align","center"),o.setAttr("style","margin: var(--size-4-2)");let l=o.createEl("button");if(l.setText("Copy Debug Information"),l.onclick=async()=>{await window.navigator.clipboard.writeText(JSON.stringify({settings:this.plugin.settings,pluginVersion:this.plugin.manifest.version},null,4)),new j.Notice("Debug information copied to clipboard. May contain sensitive information!")},j.Platform.isDesktopApp){let c=r.createDiv();c.setAttr("align","center"),c.setText(`Debugging and logging: You can always see the logs of this and every other plugin by opening the console with`);let u=r.createDiv();u.setAttr("align","center"),u.addClass("obsidian-git-shortcuts"),j.Platform.isMacOS===!0?u.createEl("kbd",{text:"CMD (\u2318) + OPTION (\u2325) + I"}):u.createEl("kbd",{text:"CTRL + SHIFT + I"})}}mayDisableSetting(r,i){i&&(r.setDisabled(i),r.setClass("obsidian-git-disabled"))}configureLineAuthorShowStatus(r){this.settings.lineAuthor.show=r,this.plugin.saveSettings(),r?this.plugin.editorIntegration.activateLineAuthoring():this.plugin.editorIntegration.deactiveLineAuthoring()}async lineAuthorSettingHandler(r,i){this.settings.lineAuthor[r]=i,await this.plugin.saveSettings(),this.plugin.editorIntegration.lineAuthoringFeature.refreshLineAuthorViews()}beforeSaveSettings(){let r=this.settings.lineAuthor;r.authorDisplay!=="hide"&&(r.lastShownAuthorDisplay=r.authorDisplay),r.dateTimeFormatOptions!=="hide"&&(r.lastShownDateTimeFormatOptions=r.dateTimeFormatOptions)}addLineAuthorInfoSettings(){let r=new j.Setting(this.containerEl).setName("Show commit authoring information next to each line");if(this.plugin.editorIntegration.lineAuthoringFeature.isAvailableOnCurrentPlatform()||r.setDesc("Only available on desktop currently.").setDisabled(!0),r.descEl.createEl("a",{href:T4,text:"Feature guide and quick examples",attr:{target:"_blank"}}),r.descEl.createEl("br"),r.descEl.createSpan({text:" The commit hash, author name and authoring date can all be individually toggled."}),r.descEl.createEl("br"),r.descEl.createSpan({text:"Hide everything, to only show the age-colored sidebar."}),r.addToggle(i=>i.setValue(this.settings.lineAuthor.show).onChange(n=>{this.configureLineAuthorShowStatus(n),this.refreshDisplayWithDelay()})),this.settings.lineAuthor.show){let i=new j.Setting(this.containerEl).setName("Follow movement and copies across files and commits").addDropdown(l=>{l.addOptions({inactive:"Do not follow (default)","same-commit":"Follow within same commit","all-commits":"Follow within all commits (maybe slow)"}),l.setValue(this.settings.lineAuthor.followMovement),l.onChange(c=>this.lineAuthorSettingHandler("followMovement",c))});if(i.descEl.createSpan({text:"By default (deactivated), each line only shows the newest commit where it was changed."}),i.descEl.createEl("br"),i.descEl.createSpan({text:"With "}),i.descEl.createEl("i",{text:"same commit"}),i.descEl.createSpan({text:", cut-copy-paste-ing of text is followed within the same commit and the original commit of authoring will be shown."}),i.descEl.createEl("br"),i.descEl.createSpan({text:"With "}),i.descEl.createEl("i",{text:"all commits"}),i.descEl.createSpan({text:", cut-copy-paste-ing text inbetween multiple commits will be detected."}),i.descEl.createEl("br"),i.descEl.createSpan({text:"It uses "}),i.descEl.createEl("a",{href:"https://git-scm.com/docs/git-blame",text:"git-blame",attr:{target:"_blank"}}),i.descEl.createSpan({text:` and for matches (at least ${Id} characters) within the same (or all) commit(s), `}),i.descEl.createEl("em",{text:"the originating"}),i.descEl.createSpan({text:" commit's information is shown."}),new j.Setting(this.containerEl).setName("Show commit hash").addToggle(l=>{l.setValue(this.settings.lineAuthor.showCommitHash),l.onChange(c=>this.lineAuthorSettingHandler("showCommitHash",c))}),new j.Setting(this.containerEl).setName("Author name display").setDesc("If and how the author is displayed").addDropdown(l=>{let c={hide:"Hide",initials:"Initials (default)","first name":"First name","last name":"Last name",full:"Full name"};l.addOptions(c),l.setValue(this.settings.lineAuthor.authorDisplay),l.onChange(async u=>this.lineAuthorSettingHandler("authorDisplay",u))}),new j.Setting(this.containerEl).setName("Authoring date display").setDesc("If and how the date and time of authoring the line is displayed").addDropdown(l=>{let c={hide:"Hide",date:"Date (default)",datetime:"Date and time","natural language":"Natural language",custom:"Custom"};l.addOptions(c),l.setValue(this.settings.lineAuthor.dateTimeFormatOptions),l.onChange(async u=>{await this.lineAuthorSettingHandler("dateTimeFormatOptions",u),this.refreshDisplayWithDelay()})}),this.settings.lineAuthor.dateTimeFormatOptions==="custom"){let l=new j.Setting(this.containerEl);l.setName("Custom authoring date format").addText(c=>{c.setValue(this.settings.lineAuthor.dateTimeFormatCustomString),c.setPlaceholder("YYYY-MM-DD HH:mm"),c.onChange(async u=>{await this.lineAuthorSettingHandler("dateTimeFormatCustomString",u),this.setCustomDateTimeDescription(l.descEl,u)})}),this.setCustomDateTimeDescription(l.descEl,this.settings.lineAuthor.dateTimeFormatCustomString)}let n=new j.Setting(this.containerEl).setName("Authoring date display timezone").addDropdown(l=>{let c={"viewer-local":"My local (default)","author-local":"Author's local",utc0000:"UTC+0000/Z"};l.addOptions(c),l.setValue(this.settings.lineAuthor.dateTimeTimezone),l.onChange(async u=>this.lineAuthorSettingHandler("dateTimeTimezone",u))});n.descEl.empty(),n.descEl.createSpan({text:`The time-zone in which the authoring date should be shown. Either your local time-zone (default), the author's time-zone during commit creation or `}),n.descEl.createEl("a",{text:"UTC\xB100:00",href:"https://en.wikipedia.org/wiki/UTC%C2%B100:00"}),n.descEl.createSpan({text:"."});let s=new j.Setting(this.containerEl).setName("Oldest age in coloring");this.setOldestAgeDescription(s.descEl,this.settings.lineAuthor.coloringMaxAge),s.addText(l=>{l.setPlaceholder("1y"),l.setValue(this.settings.lineAuthor.coloringMaxAge),l.onChange(async c=>{let f=Iu(c)!==void 0;this.setOldestAgeDescription(s.descEl,c),f&&(await this.lineAuthorSettingHandler("coloringMaxAge",c),this.refreshColorSettingsName("oldest"))})}),this.createColorSetting("newest"),this.createColorSetting("oldest");let a=new j.Setting(this.containerEl).setName("Text color").addText(l=>{l.setValue(this.settings.lineAuthor.textColorCss),l.onChange(async c=>{await this.lineAuthorSettingHandler("textColorCss",c)})});a.descEl.empty(),a.descEl.createSpan({text:"The CSS color of the gutter text."}),a.descEl.createEl("br"),a.descEl.createEl("br"),a.descEl.createSpan({text:"It is highly recommended to use "}),a.descEl.createEl("a",{text:"CSS variables",href:"https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties"}),a.descEl.createSpan({text:" defined by themes (e.g. "}),a.descEl.createEl("pre",{text:"var(--text-muted)",attr:{style:"display:inline"}}),a.descEl.createSpan({text:" or "}),a.descEl.createEl("pre",{text:"var(--text-on-accent)",attr:{style:"display:inline"}}),a.descEl.createSpan({text:"), because they automatically adapt to theme changes."}),a.descEl.createEl("br"),a.descEl.createEl("br"),a.descEl.createSpan({text:"See: "}),a.descEl.createEl("a",{text:"List of available CSS variables in Obsidian",href:"https://github.com/obsidian-community/obsidian-theme-template/blob/main/obsidian.css"});let o=new j.Setting(this.containerEl).setName("Ignore whitespace and newlines in changes").addToggle(l=>{l.setValue(this.settings.lineAuthor.ignoreWhitespace),l.onChange(c=>this.lineAuthorSettingHandler("ignoreWhitespace",c))});o.descEl.empty(),o.descEl.createSpan({text:"Whitespace and newlines are interpreted as part of the document and in changes by default (hence not ignored). This makes the last line being shown as 'changed' when a new subsequent line is added, even if the previously last line's text is the same."}),o.descEl.createEl("br"),o.descEl.createSpan({text:"If you don't care about purely-whitespace changes (e.g. list nesting / quote indentation changes), then activating this will provide more meaningful change detection."})}}createColorSetting(r){let i=new j.Setting(this.containerEl).setName("").addText(n=>{let s=hw(r,this.settings.lineAuthor),a=hw(r,pt.lineAuthor);n.setPlaceholder(lv(a)),n.setValue(lv(s)),n.onChange(async o=>{let l=ik(o);if(l!==void 0){let c=r==="newest"?"colorNew":"colorOld";await this.lineAuthorSettingHandler(c,l)}this.refreshColorSettingsDesc(r,l)})});this.lineAuthorColorSettings.set(r,i),this.refreshColorSettingsName(r),this.refreshColorSettingsDesc(r,hw(r,this.settings.lineAuthor))}refreshColorSettingsName(r){let i=this.lineAuthorColorSettings.get(r);if(i){let n=r==="oldest"?`oldest (${this.settings.lineAuthor.coloringMaxAge} or older)`:"newest";i.nameEl.setText(`Color for ${n} commits`)}}refreshColorSettingsDesc(r,i){let n=this.lineAuthorColorSettings.get(r);n&&this.colorSettingPreviewDesc(n.descEl,r,this.settings.lineAuthor,i!==void 0)}colorSettingPreviewDesc(r,i,n,s){r.empty(),r.createSpan({text:"Supports 'rgb(r,g,b)', 'hsl(h,s,l)', hex (#) and named colors (e.g. 'black', 'purple'). Color preview: "});let a=s?bh(i,n):"rgba(127,127,127,0.3)",o=j.moment.unix(j.moment.now()/1e3).format("YYYY-MM-DD"),l=s?`abcdef Author Name ${o}`:"invalid color";r.createEl("div",{text:l,attr:{class:"line-author-settings-preview",style:`background-color: ${a}; width: 30ch;`}})}setCustomDateTimeDescription(r,i){r.empty(),r.createEl("a",{text:"Format string",href:UT}),r.createSpan({text:" to display the authoring date."}),r.createEl("br");let n=(0,j.moment)().format(i);r.createSpan({text:`Currently: ${n}`})}setOldestAgeDescription(r,i){let n=Iu(i),s=n!==void 0?`${n.asDays()} days`:"invalid!";r.empty(),r.createSpan({text:`The oldest age in the line author coloring. Everything older will have the same color. Smallest valid age is "1d". Currently: ${s}`})}setNonDefaultValue({settingsProperty:r,text:i}){let n=this.plugin.settings[r];pt[r]!==n&&(typeof n=="string"||typeof n=="number"||typeof n=="boolean"?i.setValue(String(n)):i.setValue(JSON.stringify(n)))}refreshDisplayWithDelay(r=80){window.setTimeout(()=>this.display(),r)}};function hw(t,e){return t==="oldest"?e.colorOld:e.colorNew}function Iu(t){let e=j.moment.duration("P"+t.toUpperCase());return e.isValid()&&e.asDays()&&e.asDays()>=1?e:void 0}m();var Ur=require("obsidian");var xh=class{constructor(e,r){this.statusBarEl=e;this.plugin=r;this.messages=[];this.currentMessage=null;this.lastMessageTimestamp=null;this.base="obsidian-git-statusbar-";this.statusBarEl.setAttribute("data-tooltip-position","top"),r.registerEvent(r.app.workspace.on("obsidian-git:refreshed",()=>{this.refreshCommitTimestamp().catch(console.error)}))}displayMessage(e,r){this.messages.push({message:`Git: ${e.slice(0,100)}`,timeout:r}),this.display()}displayProgress(e){this.progress=e,this.display()}clearProgress(e=!0){this.progress=void 0,e&&this.display()}display(){this.progress?this.displayState():this.messages.length>0&&!this.currentMessage?(this.currentMessage=this.messages.shift(),this.statusBarEl.addClass(this.base+"message"),this.statusBarEl.ariaLabel="",this.statusBarEl.setText(this.currentMessage.message),this.lastMessageTimestamp=Date.now()):this.currentMessage?Date.now()-this.lastMessageTimestamp>=this.currentMessage.timeout&&(this.currentMessage=null,this.lastMessageTimestamp=null):this.displayState()}displayState(){if((this.statusBarEl.getText().length>3||!this.statusBarEl.hasChildNodes())&&(this.statusBarEl.empty(),this.conflictEl=this.statusBarEl.createDiv(),this.conflictEl.setAttribute("data-tooltip-position","top"),this.conflictEl.style.float="left",this.pausedEl=this.statusBarEl.createDiv(),this.pausedEl.setAttribute("data-tooltip-position","top"),this.pausedEl.style.float="left",this.iconEl=this.statusBarEl.createDiv(),this.iconEl.style.float="left",this.textEl=this.statusBarEl.createDiv(),this.textEl.style.float="right",this.textEl.style.marginLeft="5px"),this.plugin.localStorage.getConflict()?((0,Ur.setIcon)(this.conflictEl,"alert-circle"),this.conflictEl.ariaLabel="You have merge conflicts. Resolve them and commit afterwards.",this.conflictEl.style.marginRight="5px",this.conflictEl.addClass(this.base+"conflict")):(this.conflictEl.empty(),this.conflictEl.style.marginRight=""),this.plugin.localStorage.getPausedAutomatics()?((0,Ur.setIcon)(this.pausedEl,"pause-circle"),this.pausedEl.ariaLabel="Automatic routines are currently paused.",this.pausedEl.style.marginRight="5px",this.pausedEl.addClass(this.base+"paused")):(this.pausedEl.empty(),this.pausedEl.style.marginRight=""),this.progress){this.statusBarEl.ariaLabel=this.getProgressTooltip("Git operation in progress..."),(0,Ur.setIcon)(this.iconEl,this.getProgressIcon()),this.displayProgressText(),this.statusBarEl.addClass(this.base+"progress");return}switch(this.plugin.state.operation){case 0:this.displayFromNow();break;case 2:this.statusBarEl.ariaLabel="Committing changes...",(0,Ur.setIcon)(this.iconEl,"git-commit"),this.textEl.empty(),this.statusBarEl.addClass(this.base+"commit");break;case 3:this.statusBarEl.ariaLabel=this.getProgressTooltip("Pushing changes..."),(0,Ur.setIcon)(this.iconEl,"upload"),this.displayProgressText(),this.statusBarEl.addClass(this.base+"push");break;case 1:this.statusBarEl.ariaLabel=this.getProgressTooltip("Pulling changes..."),(0,Ur.setIcon)(this.iconEl,"download"),this.displayProgressText(),this.statusBarEl.addClass(this.base+"pull");break;case 4:this.statusBarEl.ariaLabel=this.getProgressTooltip("Fetching from remote..."),(0,Ur.setIcon)(this.iconEl,"download"),this.displayProgressText(),this.statusBarEl.addClass(this.base+"fetch");break;case 5:this.statusBarEl.ariaLabel=this.getProgressTooltip("Checking out branch..."),(0,Ur.setIcon)(this.iconEl,"git-branch"),this.displayProgressText(),this.statusBarEl.addClass(this.base+"checkout");break;default:this.statusBarEl.ariaLabel="Failed on initialization!",(0,Ur.setIcon)(this.iconEl,"alert-triangle"),this.textEl.empty(),this.statusBarEl.addClass(this.base+"failed-init");break}}displayProgressText(){this.progress?this.textEl.setText(this.getCompactProgressText()):this.textEl.empty()}getProgressTooltip(e){if(!this.progress)return e;let r=this.progress.stage?`${this.progress.stage}: `:"";if(this.progress.progress===void 0)return this.progress.stage?`${this.progress.action}: ${this.progress.stage}...`:`${this.progress.action}...`;let i=this.progress.processed!==void 0&&this.progress.total!==void 0?` (${this.progress.processed}/${this.progress.total})`:"";return`${this.progress.action}: ${r}${Math.round(this.progress.progress)}%${i}`}getCompactProgressText(){return this.progress?this.progress.progress===void 0?`${this.progress.action}...`:`${this.progress.action} ${Math.round(this.progress.progress)}%`:""}getProgressIcon(){var e;switch((e=this.progress)==null?void 0:e.action){case"Fetching":case"Pulling":return"download";case"Pushing":return"upload";case"Checking out":return"git-branch";default:return"git-pull-request"}}displayFromNow(){var i;let e=this.lastCommitTimestamp,r=this.plugin.state.offlineMode;if(e){let n=(0,Ur.moment)(e).fromNow();this.statusBarEl.ariaLabel=`${r?"Offline: ":""}Last Commit: ${n}`,((i=this.unPushedCommits)!=null?i:0)>0&&(this.statusBarEl.ariaLabel+=` (${this.unPushedCommits} unpushed commits)`)}else this.statusBarEl.ariaLabel=r?"Git is offline":"Git is ready";r?(0,Ur.setIcon)(this.iconEl,"globe"):(0,Ur.setIcon)(this.iconEl,"check"),this.plugin.settings.changedFilesInStatusBar&&this.plugin.cachedStatus?this.textEl.setText(this.plugin.cachedStatus.changed.length.toString()):this.textEl.empty(),this.statusBarEl.addClass(this.base+"idle")}async refreshCommitTimestamp(){this.lastCommitTimestamp=await this.plugin.gitManager.getLastCommitTime(),this.unPushedCommits=await this.plugin.gitManager.getUnpushedCommits()}remove(){this.statusBarEl.remove()}};m();var Sh=require("obsidian"),Eh=class extends Sh.SuggestModal{constructor(r){super(r.app);this.plugin=r;this.resolve=null;this.setPlaceholder("Type your message and select optional the version with the added date.")}openAndGetResult(){return new Promise(r=>{this.resolve=r,this.open()})}onClose(){new Promise(r=>window.setTimeout(r,10)).then(()=>{this.resolve&&this.resolve(void 0)})}getSuggestions(r){let i=(0,Sh.moment)().format(this.plugin.settings.commitDateFormat);return r==""&&(r="..."),[r,`${i}: ${r}`,`${r}: ${i}`]}renderSuggestion(r,i){i.innerText=r}onChooseSuggestion(r,i){this.resolve&&this.resolve(r)}};m();var GT=require("obsidian"),Mu=class{constructor(e){this.plugin=e}saveLastAuto(e,r){r==="backup"?this.plugin.localStorage.setLastAutoBackup(e.toString()):r==="pull"?this.plugin.localStorage.setLastAutoPull(e.toString()):r==="push"&&this.plugin.localStorage.setLastAutoPush(e.toString())}loadLastAuto(){var e,r,i;return{backup:new Date((e=this.plugin.localStorage.getLastAutoBackup())!=null?e:""),pull:new Date((r=this.plugin.localStorage.getLastAutoPull())!=null?r:""),push:new Date((i=this.plugin.localStorage.getLastAutoPush())!=null?i:"")}}async init(){await this.setUpAutoCommitAndSync();let e=this.loadLastAuto();if(this.plugin.settings.differentIntervalCommitAndPush&&this.plugin.settings.autoPushInterval>0){let r=this.diff(this.plugin.settings.autoPushInterval,e.push);this.startAutoPush(r)}if(this.plugin.settings.autoPullInterval>0){let r=this.diff(this.plugin.settings.autoPullInterval,e.pull);this.startAutoPull(r)}}unload(){this.clearAutoPull(),this.clearAutoPush(),this.clearAutoCommitAndSync()}reload(...e){this.plugin.localStorage.getPausedAutomatics()||(e.contains("commit")&&(this.clearAutoCommitAndSync(),this.plugin.settings.autoSaveInterval>0&&this.startAutoCommitAndSync(this.plugin.settings.autoSaveInterval)),e.contains("push")&&(this.clearAutoPush(),this.plugin.settings.differentIntervalCommitAndPush&&this.plugin.settings.autoPushInterval>0&&this.startAutoPush(this.plugin.settings.autoPushInterval)),e.contains("pull")&&(this.clearAutoPull(),this.plugin.settings.autoPullInterval>0&&this.startAutoPull(this.plugin.settings.autoPullInterval)))}async setUpAutoCommitAndSync(){if(this.plugin.settings.setLastSaveToLastCommit){this.clearAutoCommitAndSync();let e=await this.plugin.gitManager.getLastCommitTime();e&&this.saveLastAuto(e,"backup")}if(!this.timeoutIDCommitAndSync&&!this.plugin.autoCommitDebouncer){let e=this.loadLastAuto();if(this.plugin.settings.autoSaveInterval>0){let r=this.diff(this.plugin.settings.autoSaveInterval,e.backup);this.startAutoCommitAndSync(r)}}}get isAutomaticsDisabled(){return!this.plugin.gitReady||this.plugin.localStorage.getPausedAutomatics()}startAutoCommitAndSync(e){if(this.isAutomaticsDisabled)return;let r=(e!=null?e:this.plugin.settings.autoSaveInterval)*6e4;this.plugin.settings.autoBackupAfterFileChange?e===0?this.doAutoCommitAndSync():this.plugin.autoCommitDebouncer=(0,GT.debounce)(()=>this.doAutoCommitAndSync(),r,!0):(r>2147483647&&(r=2147483647),this.timeoutIDCommitAndSync=window.setTimeout(()=>this.doAutoCommitAndSync(),r))}doAutoCommitAndSync(){this.plugin.promiseQueue.addTask(async()=>{if(this.plugin.settings.setLastSaveToLastCommit){let r=await this.plugin.gitManager.getLastCommitTime();if(r){this.saveLastAuto(r,"backup");let i=this.diff(this.plugin.settings.autoSaveInterval,r);if(i>0)return this.startAutoCommitAndSync(i),!1}}let e=this.plugin.settings.autoCommitOnlyStaged;return this.plugin.settings.differentIntervalCommitAndPush?await this.plugin.commit({fromAuto:!0,onlyStaged:e}):await this.plugin.commitAndSync({fromAutoBackup:!0,onlyStaged:e}),!0},e=>{e!==!1&&(this.saveLastAuto(new Date,"backup"),this.startAutoCommitAndSync())})}startAutoPull(e){if(this.isAutomaticsDisabled)return;let r=(e!=null?e:this.plugin.settings.autoPullInterval)*6e4;r>2147483647&&(r=2147483647),this.timeoutIDPull=window.setTimeout(()=>this.doAutoPull(),r)}doAutoPull(){this.plugin.promiseQueue.addTask(()=>this.plugin.pullChangesFromRemote(),()=>{this.saveLastAuto(new Date,"pull"),this.startAutoPull()})}startAutoPush(e){if(this.isAutomaticsDisabled)return;let r=(e!=null?e:this.plugin.settings.autoPushInterval)*6e4;r>2147483647&&(r=2147483647),this.timeoutIDPush=window.setTimeout(()=>this.doAutoPush(),r)}doAutoPush(){this.plugin.promiseQueue.addTask(()=>this.plugin.push(),()=>{this.saveLastAuto(new Date,"push"),this.startAutoPush()})}clearAutoCommitAndSync(){var r;let e=!1;return this.timeoutIDCommitAndSync&&(window.clearTimeout(this.timeoutIDCommitAndSync),this.timeoutIDCommitAndSync=void 0,e=!0),this.plugin.autoCommitDebouncer&&((r=this.plugin.autoCommitDebouncer)==null||r.cancel(),this.plugin.autoCommitDebouncer=void 0,e=!0),e}clearAutoPull(){return this.timeoutIDPull?(window.clearTimeout(this.timeoutIDPull),this.timeoutIDPull=void 0,!0):!1}clearAutoPush(){return this.timeoutIDPush?(window.clearTimeout(this.timeoutIDPush),this.timeoutIDPush=void 0,!0):!1}diff(e,r){if(isNaN(r.getTime()))return e;let n=e-Math.round((new Date().getTime()-r.getTime())/1e3/60);return Math.max(0,n)}};m();var qi=require("obsidian");m();var Du=require("obsidian");async function jT(t,e,r){let i=await zT(e,r);if(i.result==="failure"){new Du.Notice(i.reason);return}let{isGitHub:n,branch:s,repo:a,user:o,filePath:l}=i;if(n){let c=t.getCursor("from").line+1,u=t.getCursor("to").line+1;c===u?window.open(`https://github.com/${o}/${a}/blob/${s}/${l}?plain=1#L${c}`):window.open(`https://github.com/${o}/${a}/blob/${s}/${l}?plain=1#L${c}-L${u}`)}else new Du.Notice("It seems like you are not using GitHub")}async function VT(t,e){let r=await zT(t,e);if(r.result==="failure"){new Du.Notice(r.reason);return}let{isGitHub:i,branch:n,repo:s,user:a,filePath:o}=r;i?window.open(`https://github.com/${a}/${s}/commits/${n}/${o}`):new Du.Notice("It seems like you are not using GitHub")}async function zT(t,e){var l,c;let r=await e.branchInfo(),i=r.tracking,n=r.current,s,a=e.getRelativeRepoPath(t.path);if(e instanceof Se){let u=await e.getSubmoduleOfFile(e.getRelativeRepoPath(t.path));if(u){a=u.relativeFilepath;let f=await e.git.cwd({path:u.submodule,root:!1}).status();if(i=f.tracking||void 0,n=f.current||void 0,i){let d=i.substring(0,i.indexOf("/")),h=await e.git.cwd({path:u.submodule,root:!1}).getConfig(`remote.${d}.url`,"local");if(h.value!=null)s=h.value;else return{result:"failure",reason:"Failed to get remote url of submodule"}}}}if(i==null)return{result:"failure",reason:"Remote branch is not configured"};if(n==null)return{result:"failure",reason:"Failed to get current branch name"};if(s==null){let u=i.substring(0,i.indexOf("/"));if(s=await e.getConfig(`remote.${u}.url`),s==null)return{result:"failure",reason:"Failed to get remote url"}}let o=s.match(/(?:^https:\/\/github\.com\/(.+)\/(.+?)(?:\.git)?$)|(?:^[a-zA-Z]+@github\.com:(.+)\/(.+?)(?:\.git)?$)/);if(o==null)return{result:"failure",reason:"Could not parse remote url"};{let[u,f,d,h,p]=o;return{result:"success",isGitHub:!!u,repo:(l=d!=null?d:p)!=null?l:"",user:(c=f!=null?f:h)!=null?c:"",branch:n,filePath:a}}}m();var WT=require("obsidian"),kh=class extends WT.FuzzySuggestModal{constructor(e,r){super(e.app),this.plugin=e,this.changedFiles=r,this.setPlaceholder("Not supported files will be opened by default app!")}getItems(){return this.changedFiles}getItemText(e){if(e.index=="U"&&e.workingDir=="U")return`Untracked | ${e.vaultPath}`;let r="",i="";return e.workingDir!=" "&&(r=`Working Dir: ${e.workingDir} `),e.index!=" "&&(i=`Index: ${e.index}`),`${r}${i} | ${e.vaultPath}`}onChooseItem(e,r){this.plugin.app.metadataCache.getFirstLinkpathDest(e.vaultPath,"")==null?this.app.openWithDefaultApp(e.vaultPath):this.plugin.app.workspace.openLinkText(e.vaultPath,"/")}};m();var qT=require("obsidian"),Ch=class extends qT.Modal{constructor(r,i){super(r);this.content=i;this.resolve=null}openAndGetReslt(){return new Promise(r=>{this.resolve=r,this.open()})}onOpen(){let{contentEl:r,titleEl:i}=this;i.setText("Edit .gitignore");let n=r.createDiv(),s=n.createEl("textarea",{text:this.content,cls:["obsidian-git-textarea"],attr:{rows:10,cols:30,wrap:"off"}});n.createEl("button",{cls:["mod-cta","obsidian-git-center-button"],text:"Save"}).addEventListener("click",()=>{this.resolve(s.value),this.close()})}onClose(){let{contentEl:r}=this;r.empty(),this.resolve&&this.resolve(void 0)}};m();var Wu=require("@codemirror/state"),Wh=require("@codemirror/view");m();var Pl=require("@codemirror/state");m();var zt=class t{static createHunk(e,r,i,n){return{removed:{start:e,count:r,lines:[]},added:{start:i,count:n,lines:[]},vend:i+Math.max(n-1,0),type:n===0?"delete":r===0?"add":"change"}}static getHunkHeader(e){return`@@ -${e.removed.start}${e.removed.count>0?`,${e.removed.count}`:""} +${e.added.start}${e.added.count>0?`,${e.added.count}`:""} @@`}static createPartialHunk(e,r,i){let n=r,s=i-r+1,a=0;for(let o of e){let l=o.added.count-o.removed.count,c=0;if(o.added.start>=r&&o.vend<=i)c=l;else{let u=Math.max(0,i+1-(o.added.start+o.removed.count)),f=Math.max(0,r-(o.added.start+o.removed.count));o.added.start>=r&&o.added.start<=i?c=u:o.vend>=r&&o.vend<=i?(c=l-f,n=n-f):o.added.start<=r&&o.vend>=i?(c=u-f,n=n-f):a++,r>o.vend&&(n=n-l)}s=s-c}if(a!==e.length)return s===0&&(n=n-1),this.createHunk(n,s,r,i-r+1)}static patchLines(e,r=!1){let i=[];for(let n of e.removed.lines)i.push("-"+n);for(let n of e.added.lines)i.push("+"+n);return r?i.map(n=>n.replace(/\r$/,"")):i}static parseDiffLine(e){var l,c,u;let i=(l=e.split("@@")[1])==null?void 0:l.trim();if(!i)throw Error(`Invalid diff line: ${e}`);let n=i.split(" "),s=(c=n[0])==null?void 0:c.substring(1).split(","),a=(u=n[1])==null?void 0:u.substring(1).split(",");if(!s||!a||s[0]===void 0||a[0]===void 0)throw Error(`Invalid diff hunk range: ${e}`);return this.createHunk(parseInt(s[0]),parseInt(s[1]||"1"),parseInt(a[0]),parseInt(a[1]||"1"))}static changeEnd(e){return e.added.count===0?e.added.start:e.removed.count===0?e.added.start+e.added.count-1:e.added.start+Math.min(e.added.count,e.removed.count)-1}static calcSigns(e,r,i,n=1,s=1/0,a){if(a&&r.type!=="add")return console.error(`Invalid hunk with untracked=${a} hunk="${t.getHunkHeader(r)}"`),[];n=Math.max(1,n);let{start:o,added:l,removed:c}={start:r.added.start,added:r.added.count,removed:r.removed.count},u=this.changeEnd(r),f=r.type==="delete"&&(o===0||e&&this.changeEnd(e)===o)&&(!i||i.added.start!==o+1);f&&n===1&&(n=0);let d=[];for(let h=Math.max(o,n);h<=Math.min(u,s);h++){let p=r.type==="change"&&(c>l&&h===u||e&&e.added.start===0);d.push({type:f?"topdelete":p?"changedelete":a?"untracked":r.type,count:h===o?r.type==="add"?l:c:void 0,lnum:h+(f?1:0)})}if(r.type==="change"&&l>c&&r.vend>=n&&u<=s)for(let h=Math.max(u,n);h<=Math.min(r.vend,s);h++)d.push({type:"add",count:h===r.vend?l-c:void 0,lnum:h});return d}static createPatch(e,r,i,n=!1){let s=[`diff --git a/${e} b/${e}`,`index 000000..000000 ${i}`,`--- a/${e}`,`+++ b/${e}`],a=0;r=structuredClone(r);for(let o of r){let l=o.removed.start,c=o.removed.count,u=o.added.count;o.type==="add"&&(l=l+1);let f=o.removed.lines,d=o.added.lines;n&&([c,u]=[u,c],[f,d]=[d,f]),s.push(`@@ -${l},${c} +${l+a},${u} @@`);for(let h of f)s.push("-"+h);(n?o.added:o.removed).no_nl_at_eof&&s.push("\\ No newline at end of file");for(let h of d)s.push("+"+h);(n?o.removed:o.added).no_nl_at_eof&&s.push("\\ No newline at end of file"),o.removed.start=l+a,a=a+(u-c)}return s}static getSummary(e){let r={added:0,changed:0,removed:0};for(let i of e)if(i.type==="add")r.added+=i.added.count;else if(i.type==="delete")r.removed+=i.removed.count;else if(i.type==="change"){let n=i.added.count,s=i.removed.count,a=Math.min(n,s);r.changed+=a,r.added+=n-a,r.removed+=s-a}return r}static findHunk(e,r){if(!r)return[void 0,void 0];for(let i=0;i=e)return[n,i]}return[void 0,void 0]}static findNearestHunk(e,r,i,n){if(r.length!==0){if(i==="first")return 0;if(i==="last")return r.length-1;if(i==="next"){if(r[0].added.start>e)return 0;for(let s=r.length-1;s>=0;s--)if(r[s].added.start<=e){if(s+1e)return s+1;if(n)return 0}}else if(i==="prev"){if(Math.max(r[r.length-1].vend)0&&Math.max(r[s-1].vend,1)l.added.start?n++:o.added.starta.map(v=>g.replace(/&/,v))).reduce((g,v)=>g.concat(v)),p,l);else if(p&&typeof p=="object"){if(!f)throw new RangeError("The value of a property ("+h+") should be a primitive value.");s(n(h),p,u,d)}else p!=null&&u.push(h.replace(/_.*/,"").replace(/[A-Z]/g,g=>"-"+g.toLowerCase())+": "+p+";")}(u.length||d)&&l.push((i&&!f&&!c?a.map(i):a).join(", ")+" {"+u.join(" ")+"}")}for(let a in e)s(n(a),e[a],this.rules)}getRules(){return this.rules.join(` `)}static newName(){let e=ZT[YT]||1;return ZT[YT]=e+1,"\u037C"+e.toString(36)}static mount(e,r,i){let n=e[pw],s=i&&i.nonce;n?s&&n.setNonce(s):n=new mw(e,s),n.mount(Array.isArray(r)?r:[r],e)}},KT=new Map,mw=class{constructor(e,r){let i=e.ownerDocument||e,n=i.defaultView;if(!e.head&&e.adoptedStyleSheets&&n.CSSStyleSheet){let s=KT.get(i);if(s)return e[pw]=s;this.sheet=new n.CSSStyleSheet,KT.set(i,this)}else this.styleTag=i.createElement("style"),r&&this.styleTag.setAttribute("nonce",r);this.modules=[],e[pw]=this}mount(e,r){let i=this.sheet,n=0,s=0;for(let a=0;a-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,o),i)for(let c=0;cc){let f=t.slice(e,r).indexOf(i.slice(n,s));if(f>-1)return[new kt(e,e+f,n,n),new kt(e+f+c,r,s,s)]}else if(c>l){let f=i.slice(n,s).indexOf(t.slice(e,r));if(f>-1)return[new kt(e,e,n,n+f),new kt(r,r,n+f+l,s)]}if(l==1||c==1)return[new kt(e,r,n,s)];let u=g2(t,e,r,i,n,s);if(u){let[f,d,h]=u;return Ma(t,e,f,i,n,d).concat(Ma(t,f+h,r,i,d+h,s))}return R4(t,e,r,i,n,s)}var Ou=1e9,Lu=0,xw=!1;function R4(t,e,r,i,n,s){let a=r-e,o=s-n;if(Ou<1e9&&Math.min(a,o)>Ou*16||Lu>0&&Date.now()>Lu)return Math.min(a,o)>Ou*64?[new kt(e,r,n,s)]:XT(t,e,r,i,n,s);let l=Math.ceil((a+o)/2);gw.reset(l),vw.reset(l);let c=(h,p)=>t.charCodeAt(e+h)==i.charCodeAt(n+p),u=(h,p)=>t.charCodeAt(r-h-1)==i.charCodeAt(s-p-1),f=(a-o)%2!=0?vw:null,d=f?null:gw;for(let h=0;hOu||Lu>0&&!(h&63)&&Date.now()>Lu)return XT(t,e,r,i,n,s);let p=gw.advance(h,a,o,l,f,!1,c)||vw.advance(h,a,o,l,d,!0,u);if(p)return $4(t,e,r,e+p[0],i,n,s,n+p[1])}return[new kt(e,r,n,s)]}var Fh=class{constructor(){this.vec=[]}reset(e){this.len=e<<1;for(let r=0;rr)this.end+=2;else if(f>i)this.start+=2;else if(s){let d=n+(r-i)-l;if(d>=0&&d=r-u)return[h,n+h-d]}else{let h=r-s.vec[d];if(u>=h)return[u,f]}}}return null}},gw=new Fh,vw=new Fh;function $4(t,e,r,i,n,s,a,o){let l=!1;return!Tl(t,i)&&++i==r&&(l=!0),!Tl(n,o)&&++o==a&&(l=!0),l?[new kt(e,r,s,a)]:Ma(t,e,i,n,s,o).concat(Ma(t,i,r,n,o,a))}function m2(t,e){let r=1,i=Math.min(t,e);for(;rr||u>s||t.slice(o,c)!=i.slice(l,u)){if(a==1)return o-e-(Tl(t,o)?0:1);a=a>>1}else{if(c==r||u==s)return c-e;o=c,l=u}}}function Sw(t,e,r,i,n,s){if(e==r||n==s||t.charCodeAt(r-1)!=i.charCodeAt(s-1))return 0;let a=m2(r-e,s-n);for(let o=r,l=s;;){let c=o-a,u=l-a;if(c>1}else{if(c==e||u==n)return r-c;o=c,l=u}}}function ww(t,e,r,i,n,s,a,o){let l=i.slice(n,s),c=null;for(;;){if(c||a=r)break;let d=t.slice(u,f),h=-1;for(;(h=l.indexOf(d,h+1))!=-1;){let p=Ew(t,f,r,i,n+h+d.length,s),g=Sw(t,e,u,i,n,n+h),v=d.length+p+g;(!c||c[2]>1}}function g2(t,e,r,i,n,s){let a=r-e,o=s-n;if(an.fromA-e&&i.toB>n.fromB-e&&(t[r-1]=new kt(i.fromA,n.toA,i.fromB,n.toB),t.splice(r--,1))}}function F4(t,e,r){for(;;){v2(r,1);let i=!1;for(let n=0;n3||o>3){let l=n==t.length-1?e.length:t[n+1].fromA,c=s.fromA-i,u=l-s.toA,f=JT(e,s.fromA,c),d=QT(e,s.toA,u),h=s.fromA-f,p=d-s.toA;if((!a||!o)&&h&&p){let g=Math.max(a,o),[v,b,_]=a?[e,s.fromA,s.toA]:[r,s.fromB,s.toB];g>h&&e.slice(f,s.fromA)==v.slice(_-h,_)?(s=t[n]=new kt(f,f+a,s.fromB-h,s.toB-h),f=s.fromA,d=QT(e,s.toA,l-s.toA)):g>p&&e.slice(s.toA,d)==v.slice(b,b+p)&&(s=t[n]=new kt(d-a,d,s.fromB+p,s.toB+p),d=s.toA,f=JT(e,s.fromA,s.fromA-i)),h=s.fromA-f,p=d-s.toA}if(h||p)s=t[n]=new kt(s.fromA-h,s.toA+p,s.fromB-h,s.toB+p);else if(a){if(!o){let g=t2(e,s.fromA,s.toA),v,b=g<0?-1:e2(e,s.toA,s.fromA);g>-1&&(v=g-s.fromA)<=u&&e.slice(s.fromA,g)==e.slice(s.toA,s.toA+v)?s=t[n]=s.offset(v):b>-1&&(v=s.toA-b)<=c&&e.slice(s.fromA-v,s.fromA)==e.slice(b,s.toA)&&(s=t[n]=s.offset(-v))}}else{let g=t2(r,s.fromB,s.toB),v,b=g<0?-1:e2(r,s.toB,s.fromB);g>-1&&(v=g-s.fromB)<=u&&r.slice(s.fromB,g)==r.slice(s.toB,s.toB+v)?s=t[n]=s.offset(v):b>-1&&(v=s.toB-b)<=c&&r.slice(s.fromB-v,s.fromB)==r.slice(b,s.toB)&&(s=t[n]=s.offset(-v))}}i=s.toA}return v2(t,3),t}var Ia;try{Ia=new RegExp("[\\p{Alphabetic}\\p{Number}]","u")}catch(t){}function w2(t){return t>48&&t<58||t>64&&t<91||t>96&&t<123}function b2(t,e){if(e==t.length)return 0;let r=t.charCodeAt(e);return r<192?w2(r)?1:0:Ia?!x2(r)||e==t.length-1?Ia.test(String.fromCharCode(r))?1:0:Ia.test(t.slice(e,e+2))?2:0:0}function _2(t,e){if(!e)return 0;let r=t.charCodeAt(e-1);return r<192?w2(r)?1:0:Ia?!E2(r)||e==1?Ia.test(String.fromCharCode(r))?1:0:Ia.test(t.slice(e-2,e))?2:0:0}var y2=8;function QT(t,e,r){if(e==t.length||!_2(t,e))return e;for(let i=e,n=e+r,s=0;sn)return i;i+=a}return e}function JT(t,e,r){if(!e||!b2(t,e))return e;for(let i=e,n=e-r,s=0;st>=55296&&t<=56319,E2=t=>t>=56320&&t<=57343;function Tl(t,e){return!e||e==t.length||!x2(t.charCodeAt(e-1))||!E2(t.charCodeAt(e))}function M4(t,e,r){var i;let n=r==null?void 0:r.override;return n?n(t,e):(Ou=((i=r==null?void 0:r.scanLimit)!==null&&i!==void 0?i:1e9)>>1,Lu=r!=null&&r.timeout?Date.now()+r.timeout:0,xw=!1,F4(t,e,Ma(t,0,t.length,e,0,e.length)))}function S2(){return!xw}function k2(t,e,r){return I4(M4(t,e,r),t,e)}var ki=Fe.Facet.define({combine:t=>t[0]}),bw=Fe.StateEffect.define(),D4=Fe.Facet.define(),kn=Fe.StateField.define({create(t){return null},update(t,e){for(let r of e.effects)r.is(bw)&&(t=r.value);for(let r of e.state.facet(D4))t=r(t,e);return t}});function kw(t){let e=t.field(kn,!1);if(!e)return null;let r=t.facet(ki);return{chunks:e,side:r?r.side:null}}var Jn=class t{constructor(e,r,i,n,s,a=!0){this.changes=e,this.fromA=r,this.toA=i,this.fromB=n,this.toB=s,this.precise=a}offset(e,r){return e||r?new t(this.changes,this.fromA+e,this.toA+e,this.fromB+r,this.toB+r,this.precise):this}get endA(){return Math.max(this.fromA,this.toA-1)}get endB(){return Math.max(this.fromB,this.toB-1)}static build(e,r,i){let n=k2(e.toString(),r.toString(),i);return C2(n,e,r,0,0,S2())}static updateA(e,r,i,n,s){return a2(s2(e,n,!0,i.length),e,r,i,s)}static updateB(e,r,i,n,s){return a2(s2(e,n,!1,r.length),e,r,i,s)}};function r2(t,e,r,i){let n=r.lineAt(t),s=i.lineAt(e);return n.to==t&&s.to==e&&tf+1&&v>d+1)break;h.push(p.offset(-c+i,-u+n)),[f,d]=i2(p.toA+i,p.toB+n,e,r),o++}a.push(new Jn(h,c,Math.max(c,f),u,Math.max(u,d),s))}return a}var Th=1e3;function n2(t,e,r,i){let n=0,s=t.length;for(;;){if(n==s){let u=0,f=0;n&&({toA:u,toB:f}=t[n-1]);let d=e-(r?u:f);return[u+d,f+d]}let a=n+s>>1,o=t[a],[l,c]=r?[o.fromA,o.toA]:[o.fromB,o.toB];if(l>e)s=a;else if(c<=e)n=a+1;else return i?[o.fromA,o.fromB]:[o.toA,o.toB]}}function s2(t,e,r,i){let n=[];return e.iterChangedRanges((s,a,o,l)=>{let c=0,u=r?e.length:i,f=0,d=r?i:e.length;s>Th&&([c,f]=n2(t,s-Th,r,!0)),a=c?n[n.length-1]={fromA:p.fromA,fromB:p.fromB,toA:u,toB:d,diffA:p.diffA+g,diffB:p.diffB+v}:n.push({fromA:c,toA:u,fromB:f,toB:d,diffA:g,diffB:v})}),n}function a2(t,e,r,i,n){if(!t.length)return e;let s=[];for(let a=0,o=0,l=0,c=0;;a++){let u=a==t.length?null:t[a],f=u?u.fromA+o:r.length,d=u?u.fromB+l:i.length;for(;cf||v.toB+l>d))break;s.push(v.offset(o,l)),c++}if(!u)break;let h=u.toA+o+u.diffA,p=u.toB+l+u.diffB,g=k2(r.sliceString(f,h),i.sliceString(d,p),n);for(let v of C2(g,r,i,f,d,S2()))s.push(v);for(o+=u.diffA,l+=u.diffB;ch&&v.fromB+l>p)break;c++}}return s}var O4={scanLimit:500},A2=De.ViewPlugin.fromClass(class{constructor(t){({deco:this.deco,gutter:this.gutter}=c2(t))}update(t){(t.docChanged||t.viewportChanged||L4(t.startState,t.state)||N4(t.startState,t.state))&&({deco:this.deco,gutter:this.gutter}=c2(t.view))}},{decorations:t=>t.deco}),Ph=Fe.Prec.low((0,De.gutter)({class:"cm-changeGutter",markers:t=>{var e;return((e=t.plugin(A2))===null||e===void 0?void 0:e.gutter)||Fe.RangeSet.empty}}));function L4(t,e){return t.field(kn,!1)!=e.field(kn,!1)}function N4(t,e){return t.facet(ki)!=e.facet(ki)}var o2=De.Decoration.line({class:"cm-changedLine"}),B4=De.Decoration.mark({class:"cm-changedText"}),H4=De.Decoration.mark({tagName:"ins",class:"cm-insertedLine"}),U4=De.Decoration.mark({tagName:"del",class:"cm-deletedLine"}),l2=new class extends De.GutterMarker{constructor(){super(...arguments),this.elementClass="cm-changedLineGutter"}};function G4(t,e,r,i,n,s){let a=r?t.fromA:t.fromB,o=r?t.toA:t.toB,l=0;if(a!=o){n.add(a,a,o2),n.add(a,o,r?U4:H4),s&&s.add(a,a,l2);for(let c=e.iterRange(a,o-1),u=a;!c.next().done;){if(c.lineBreak){u++,n.add(u,u,o2),s&&s.add(u,u,l2);continue}let f=u+c.value.length;if(i)for(;l=u)break;(a?f.toA:f.toB)>c&&(!s||!s(t.state,f,o,l))&&G4(f,t.state.doc,a,i,o,l)}return{deco:o.finish(),gutter:l&&l.finish()}}var Al=class extends De.WidgetType{constructor(e){super(),this.height=e}eq(e){return this.height==e.height}toDOM(){let e=document.createElement("div");return e.className="cm-mergeSpacer",e.style.height=this.height+"px",e}updateDOM(e){return e.style.height=this.height+"px",!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}},Ih=Fe.StateEffect.define({map:(t,e)=>t.map(e)}),Nu=Fe.StateField.define({create:()=>De.Decoration.none,update:(t,e)=>{for(let r of e.effects)if(r.is(Ih))return r.value;return t.map(e.changes)},provide:t=>De.EditorView.decorations.from(t)}),Rh=.01;function u2(t,e){if(t.size!=e.size)return!1;let r=t.iter(),i=e.iter();for(;r.value;){if(r.from!=i.from||Math.abs(r.value.spec.widget.height-i.value.spec.widget.height)>1)return!1;r.next(),i.next()}return!0}function j4(t,e,r){let i=new Fe.RangeSetBuilder,n=new Fe.RangeSetBuilder,s=t.state.field(Nu).iter(),a=e.state.field(Nu).iter(),o=0,l=0,c=0,u=0,f=t.viewport,d=e.viewport;for(let v=0;;v++){let b=vRh&&(u+=A,n.add(l,l,De.Decoration.widget({widget:new Al(A),block:!0,side:-1})))}if(_>o+1e3&&of.from&&ld.from){let x=Math.min(f.from-o,d.from-l);o+=x,l+=x,v--}else if(b)o=b.toA,l=b.toB;else break;for(;s.value&&s.fromRh&&n.add(e.state.doc.length,e.state.doc.length,De.Decoration.widget({widget:new Al(h),block:!0,side:1}));let p=i.finish(),g=n.finish();u2(p,t.state.field(Nu))||t.dispatch({effects:Ih.of(p)}),u2(g,e.state.field(Nu))||e.dispatch({effects:Ih.of(g)})}var _w=Fe.StateEffect.define({map:(t,e)=>e.mapPos(t)});var yw=class extends De.WidgetType{constructor(e){super(),this.lines=e}eq(e){return this.lines==e.lines}toDOM(e){let r=document.createElement("div");return r.className="cm-collapsedLines",r.textContent=e.state.phrase("$ unchanged lines",this.lines),r.addEventListener("click",i=>{let n=e.posAtDOM(i.target);e.dispatch({effects:_w.of(n)});let{side:s,sibling:a}=e.state.facet(ki);a&&a().dispatch({effects:_w.of(V4(n,e.state.field(kn),s=="a"))})}),r}ignoreEvent(e){return e instanceof MouseEvent}get estimatedHeight(){return 27}get type(){return"collapsed-unchanged-code"}};function V4(t,e,r){let i=0,n=0;for(let s=0;;s++){let a=s=t)return n+(t-i);[i,n]=r?[a.toA,a.toB]:[a.toB,a.toA]}}var z4=Fe.StateField.define({create(t){return De.Decoration.none},update(t,e){t=t.map(e.changes);for(let r of e.effects)r.is(_w)&&(t=t.update({filter:i=>i!=r.value}));if(t.size&&e.state.field(kn)!=e.startState.field(kn,!1)){let r=e.state.facet(ki).side=="a",i=[];for(let n of e.state.field(kn))t.between(r?n.fromA:n.fromB,r?n.toA:n.toB,s=>{i.push(s)});i.length&&(t=t.update({filter:n=>i.indexOf(n)<0}))}return t},provide:t=>De.EditorView.decorations.from(t)});function f2({margin:t=3,minSize:e=4}){return z4.init(r=>W4(r,t,e))}function W4(t,e,r){let i=new Fe.RangeSetBuilder,n=t.facet(ki).side=="a",s=t.field(kn),a=1;for(let o=0;;o++){let l=o=r&&i.add(t.doc.line(c).from,t.doc.line(u).to,De.Decoration.replace({widget:new yw(f),block:!0})),!l)break;a=t.doc.lineAt(Math.min(t.doc.length,n?l.toA:l.toB)).number}return i.finish()}var q4=De.EditorView.styleModule.of(new Ah({".cm-mergeView":{overflowY:"auto"},".cm-mergeViewEditors":{display:"flex",alignItems:"stretch"},".cm-mergeViewEditor":{flexGrow:1,flexBasis:0,overflow:"hidden"},".cm-merge-revert":{width:"1.6em",flexGrow:0,flexShrink:0,position:"relative"},".cm-merge-revert button":{position:"absolute",display:"block",width:"100%",boxSizing:"border-box",textAlign:"center",background:"none",border:"none",font:"inherit",cursor:"pointer"}})),Y4=De.EditorView.baseTheme({".cm-mergeView & .cm-scroller, .cm-mergeView &":{height:"auto !important",overflowY:"visible !important"},"&.cm-merge-a .cm-changedLine, .cm-deletedChunk":{backgroundColor:"rgba(160, 128, 100, .08)"},"&.cm-merge-b .cm-changedLine, .cm-inlineChangedLine":{backgroundColor:"rgba(100, 160, 128, .08)"},"&light.cm-merge-a .cm-changedText, &light .cm-deletedChunk .cm-deletedText":{background:"linear-gradient(#ee443366, #ee443366) bottom/100% 2px no-repeat"},"&dark.cm-merge-a .cm-changedText, &dark .cm-deletedChunk .cm-deletedText":{background:"linear-gradient(#ffaa9966, #ffaa9966) bottom/100% 2px no-repeat"},"&light.cm-merge-b .cm-changedText":{background:"linear-gradient(#22bb22aa, #22bb22aa) bottom/100% 2px no-repeat"},"&dark.cm-merge-b .cm-changedText":{background:"linear-gradient(#88ff88aa, #88ff88aa) bottom/100% 2px no-repeat"},"&.cm-merge-b .cm-deletedText":{background:"#ff000033"},".cm-insertedLine, .cm-deletedLine, .cm-deletedLine del":{textDecoration:"none"},".cm-deletedChunk":{paddingLeft:"6px","& .cm-chunkButtons":{position:"absolute",insetInlineEnd:"5px"},"& button":{border:"none",cursor:"pointer",color:"white",margin:"0 2px",borderRadius:"3px","&[name=accept]":{background:"#2a2"},"&[name=reject]":{background:"#d43"}}},".cm-collapsedLines":{padding:"5px 5px 5px 10px",cursor:"pointer","&:before":{content:'"\u299A"',marginInlineEnd:"7px"},"&:after":{content:'"\u299A"',marginInlineStart:"7px"}},"&light .cm-collapsedLines":{color:"#444",background:"linear-gradient(to bottom, transparent 0, #f3f3f3 30%, #f3f3f3 70%, transparent 100%)"},"&dark .cm-collapsedLines":{color:"#ddd",background:"linear-gradient(to bottom, transparent 0, #222 30%, #222 70%, transparent 100%)"},".cm-changeGutter":{width:"3px",paddingLeft:"1px"},"&light.cm-merge-a .cm-changedLineGutter, &light .cm-deletedLineGutter":{background:"#e43"},"&dark.cm-merge-a .cm-changedLineGutter, &dark .cm-deletedLineGutter":{background:"#fa9"},"&light.cm-merge-b .cm-changedLineGutter":{background:"#2b2"},"&dark.cm-merge-b .cm-changedLineGutter":{background:"#8f8"},".cm-inlineChangedLineGutter":{background:"#75d"}}),d2=new Fe.Compartment,$h=new Fe.Compartment,Mh=class{constructor(e){this.revertDOM=null,this.revertToA=!1,this.revertToLeft=!1,this.measuring=-1,this.diffConf=e.diffConfig||O4;let r=[Fe.Prec.low(A2),Y4,q4,Nu,De.EditorView.updateListener.of(f=>{this.measuring<0&&(f.heightChanged||f.viewportChanged)&&!f.transactions.some(d=>d.effects.some(h=>h.is(Ih)))&&this.measure()})],i=[ki.of({side:"a",sibling:()=>this.b,highlightChanges:e.highlightChanges!==!1,markGutter:e.gutter!==!1})];e.gutter!==!1&&i.push(Ph);let n=Fe.EditorState.create({doc:e.a.doc,selection:e.a.selection,extensions:[e.a.extensions||[],De.EditorView.editorAttributes.of({class:"cm-merge-a"}),$h.of(i),r]}),s=[ki.of({side:"b",sibling:()=>this.a,highlightChanges:e.highlightChanges!==!1,markGutter:e.gutter!==!1})];e.gutter!==!1&&s.push(Ph);let a=Fe.EditorState.create({doc:e.b.doc,selection:e.b.selection,extensions:[e.b.extensions||[],De.EditorView.editorAttributes.of({class:"cm-merge-b"}),$h.of(s),r]});this.chunks=Jn.build(n.doc,a.doc,this.diffConf);let o=[kn.init(()=>this.chunks),d2.of(e.collapseUnchanged?f2(e.collapseUnchanged):[])];n=n.update({effects:Fe.StateEffect.appendConfig.of(o)}).state,a=a.update({effects:Fe.StateEffect.appendConfig.of(o)}).state,this.dom=document.createElement("div"),this.dom.className="cm-mergeView",this.editorDOM=this.dom.appendChild(document.createElement("div")),this.editorDOM.className="cm-mergeViewEditors";let l=e.orientation||"a-b",c=document.createElement("div");c.className="cm-mergeViewEditor";let u=document.createElement("div");u.className="cm-mergeViewEditor",this.editorDOM.appendChild(l=="a-b"?c:u),this.editorDOM.appendChild(l=="a-b"?u:c),this.a=new De.EditorView({state:n,parent:c,root:e.root,dispatchTransactions:f=>this.dispatch(f,this.a)}),this.b=new De.EditorView({state:a,parent:u,root:e.root,dispatchTransactions:f=>this.dispatch(f,this.b)}),this.setupRevertControls(!!e.revertControls,e.revertControls=="b-to-a",e.renderRevertControl),e.parent&&e.parent.appendChild(this.dom),this.scheduleMeasure()}dispatch(e,r){if(e.some(i=>i.docChanged)){let i=e[e.length-1],n=e.reduce((a,o)=>a.compose(o.changes),Fe.ChangeSet.empty(e[0].startState.doc.length));this.chunks=r==this.a?Jn.updateA(this.chunks,i.newDoc,this.b.state.doc,n,this.diffConf):Jn.updateB(this.chunks,this.a.state.doc,i.newDoc,n,this.diffConf),r.update([...e,i.state.update({effects:bw.of(this.chunks)})]);let s=r==this.a?this.b:this.a;s.update([s.state.update({effects:bw.of(this.chunks)})]),this.scheduleMeasure()}else r.update(e)}reconfigure(e){if("diffConfig"in e&&(this.diffConf=e.diffConfig),"orientation"in e){let s=e.orientation!="b-a";if(s!=(this.editorDOM.firstChild==this.a.dom.parentNode)){let a=this.a.dom.parentNode,o=this.b.dom.parentNode;a.remove(),o.remove(),this.editorDOM.insertBefore(s?a:o,this.editorDOM.firstChild),this.editorDOM.appendChild(s?o:a),this.revertToLeft=!this.revertToLeft,this.revertDOM&&(this.revertDOM.textContent="")}}if("revertControls"in e||"renderRevertControl"in e){let s=!!this.revertDOM,a=this.revertToA,o=this.renderRevert;"revertControls"in e&&(s=!!e.revertControls,a=e.revertControls=="b-to-a"),"renderRevertControl"in e&&(o=e.renderRevertControl),this.setupRevertControls(s,a,o)}let r="highlightChanges"in e,i="gutter"in e,n="collapseUnchanged"in e;if(r||i||n){let s=[],a=[];if(r||i){let o=this.a.state.facet(ki),l=i?e.gutter!==!1:o.markGutter,c=r?e.highlightChanges!==!1:o.highlightChanges;s.push($h.reconfigure([ki.of({side:"a",sibling:()=>this.b,highlightChanges:c,markGutter:l}),l?Ph:[]])),a.push($h.reconfigure([ki.of({side:"b",sibling:()=>this.a,highlightChanges:c,markGutter:l}),l?Ph:[]]))}if(n){let o=d2.reconfigure(e.collapseUnchanged?f2(e.collapseUnchanged):[]);s.push(o),a.push(o)}this.a.dispatch({effects:s}),this.b.dispatch({effects:a})}this.scheduleMeasure()}setupRevertControls(e,r,i){this.revertToA=r,this.revertToLeft=this.revertToA==(this.editorDOM.firstChild==this.a.dom.parentNode),this.renderRevert=i,!e&&this.revertDOM?(this.revertDOM.remove(),this.revertDOM=null):e&&!this.revertDOM?(this.revertDOM=this.editorDOM.insertBefore(document.createElement("div"),this.editorDOM.firstChild.nextSibling),this.revertDOM.addEventListener("mousedown",n=>this.revertClicked(n)),this.revertDOM.className="cm-merge-revert"):this.revertDOM&&(this.revertDOM.textContent="")}scheduleMeasure(){if(this.measuring<0){let e=this.dom.ownerDocument.defaultView||window;this.measuring=e.requestAnimationFrame(()=>{this.measuring=-1,this.measure()})}}measure(){j4(this.a,this.b,this.chunks),this.revertDOM&&this.updateRevertButtons()}updateRevertButtons(){let e=this.revertDOM,r=e.firstChild,i=this.a.viewport,n=this.b.viewport;for(let s=0;si.to||a.fromB>n.to)break;if(a.fromA-1&&(this.dom.ownerDocument.defaultView||window).cancelAnimationFrame(this.measuring),this.dom.remove()}};function h2(t){let e=t.nextSibling;return t.remove(),e}var Cw=require("@codemirror/state");function Dh(t,e){let r=t.lineAt(e);return!(r.text.length==0&&r.number==t.lines)?r.number:r.number-1}function Aw(t,e,r){let i=[],n=t.split(` `),s=e.split(` `);for(let a of r){let{oldStart:o,oldLines:l,newStart:c,newLines:u}=a,f=zt.createHunk(o,l,c,u);if(a.oldLines>0){for(let d=o;dn.length&&n.last()!=""&&(f.removed.no_nl_at_eof=!0)}if(a.newLines>0){for(let d=c;ds.length&&s.last()!=""&&(f.added.no_nl_at_eof=!0)}i.push(f)}return i}function Tw(t,e,r){let i=e.lineAt(t.fromA).number,n=t.fromA==t.toA?0:Dh(e,t.endA)-i+1,s=r.lineAt(t.fromB).number,a=t.fromB==t.toB?0:Dh(r,t.endB)-s+1,o={oldStart:i,oldLines:n,newStart:s,newLines:a};return o.oldLines==0&&(o.oldStart-=1),o.newLines==0&&(o.newStart-=1),o}var T2={scanLimit:1e3,timeout:200};function Z4(t,e,r,i){let n=Cw.Text.of(t.split(` `)),s=Cw.Text.of(e.split(` `)),a=r&&i?Jn.updateB(r,n,s,i,T2):Jn.build(n,s,T2),o=[];for(let l=0;lh.vend&&(f=f-(h.added.count-h.removed.count)),o>h.vend&&(d=d-(h.added.count-h.removed.count));c.added.lines=u.compareText.split(` `).slice(f-1,d),u.compareTextHead?c.removed.lines=u.compareTextHead.split(` `).slice(c.removed.start-1,c.removed.start-1+c.removed.count):c.removed.lines=[]}else c.added.lines=e.doc.toString().split(` `).slice(a-1,o),o===e.doc.lines&&!e.doc.toString().endsWith(` `)&&(c.added.no_nl_at_eof=!0),c.removed.lines=u.compareText.split(` `).slice(c.removed.start-1,c.removed.start-1+c.removed.count),c.removed.start+c.removed.count-1===u.compareText.split(` `).length&&!u.compareText.endsWith(` `)&&(c.removed.no_nl_at_eof=!0);return c}},Gr=Pl.StateField.define({create:t=>{},update:(t,e)=>{var n,s,a;let r=t?{...t}:{maxDiffTimeMs:0,hunks:[],stagedHunks:[],chunks:void 0,isDirty:!1},i=!1;for(let o of e.effects)if(o.is(Rl)&&(r.compareText=o.value.compareText,r.compareTextHead=o.value.compareTextHead,i=(t==null?void 0:t.compareText)!==o.value.compareText,i&&(r.chunks=void 0,r.changeDesc=void 0)),o.is(Oh)){let l=(n=e.startState.field(Bu,!1))==null?void 0:n.revision;if(o.value.revision!==l)continue;R2(r,o.value.result,e.state),r.changeDesc=void 0}if(e.docChanged){let o=!r.changeDesc||r.changeDesc.newLength===e.changes.length;console.assert(o,"Git: Hunk changes belong to different document histories."),o||(r.chunks=void 0),r.changeDesc=K4(r.changeDesc,e.changes)}if(r.compareText!==void 0){if(i||e.docChanged){r.isDirty=!0;let o=X4(e,r.compareText,r.chunks,r.changeDesc,r.maxDiffTimeMs);o&&(R2(r,o,e.state),r.changeDesc=void 0)}}else{r.compareText=void 0,r.compareTextHead=void 0,r.chunks=void 0,r.hunks=[],r.stagedHunks=[],r.isDirty=!1;let o=e.state.field(es.editorInfoField).file;(a=(s=It.plugin)==null?void 0:s.editorIntegration.signsFeature.changeStatusBar)==null||a.display(r.hunks,o)}return r}});function R2(t,e,r){var n,s;t.hunks=e.hunks,t.chunks=e.chunks,t.isDirty=!1,t.maxDiffTimeMs=Math.max(.95*t.maxDiffTimeMs,e.diffDuration);let i=r.field(es.editorInfoField).file;(s=(n=It.plugin)==null?void 0:n.editorIntegration.signsFeature.changeStatusBar)==null||s.display(t.hunks,i)}var Bu=Pl.StateField.define({create:t=>{var e,r;return{debouncer:(0,es.debounce)(i=>{let{state:n,compareText:s,previousChunks:a,changeDesc:o,revision:l}=i,c=n.field(es.editorEditorField,!1);if(!c)return;let u=c.state.field(Bu,!1);if((u==null?void 0:u.revision)!==l)return;let f=$2(n,s,a,o);c.dispatch({effects:Oh.of({result:f,revision:l})})},1e3,!0),revision:{},filePath:(r=(e=t.field(es.editorInfoField,!1))==null?void 0:e.file)==null?void 0:r.path}},update:(t,e)=>{var i,n;let r=(n=(i=e.state.field(es.editorInfoField,!1))==null?void 0:i.file)==null?void 0:n.path;return e.docChanged||r!==t.filePath?{...t,revision:{},filePath:r}:t}});function K4(t,e){return!t||t.newLength!==e.length?e:t.composeDesc(e)}function $2(t,e,r,i){let n=t.doc.toString(),s=performance.now(),{hunks:a,chunks:o}=P2(e,n,r,i),l=performance.now()-s;return{hunks:a,chunks:o,diffDuration:l}}function X4(t,e,r,i,n){let s=t.state,a=Math.abs(t.changes.length-t.changes.newLength),o=s.field(Bu);if(a>1e3||n>16){o.debouncer({state:s,compareText:e,previousChunks:r,changeDesc:i,revision:o.revision});return}else return $2(s,e,r,i)}var Rl=Pl.StateEffect.define(),Oh=Pl.StateEffect.define();function F2(t,e){return e.update({effects:Rl.of(t)})}m();m();m();var st;(function(t){t.INSERT="insert",t.DELETE="delete",t.CONTEXT="context"})(st||(st={}));var I2={LINE_BY_LINE:"line-by-line",SIDE_BY_SIDE:"side-by-side"},M2={LINES:"lines",WORDS:"words",NONE:"none"},D2={WORD:"word",CHAR:"char"},Da;(function(t){t.AUTO="auto",t.DARK="dark",t.LIGHT="light"})(Da||(Da={}));m();var Q4=["-","[","]","/","{","}","(",")","*","+","?",".","\\","^","$","|"],J4=RegExp("["+Q4.join("\\")+"]","g");function O2(t){return t.replace(J4,"\\$&")}function Pw(t){return t&&t.replace(/\\/g,"/")}function L2(t){let e,r,i,n=0;for(e=0,i=t.length;e1?r[r.length-1]:e}function B2(t,e){return e.reduce((r,i)=>r||t.startsWith(i),!1)}var H2=["a/","b/","i/","w/","c/","o/"];function Gs(t,e,r){let i=r!==void 0?[...H2,r]:H2,n=e?new RegExp(`^${O2(e)} "?(.+?)"?$`):new RegExp('^"?(.+?)"?$'),[,s=""]=n.exec(t)||[],a=i.find(l=>s.indexOf(l)===0);return(a?s.slice(a.length):s).replace(/\s+\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)? [+-]\d{4}.*$/,"")}function e5(t,e){return Gs(t,"---",e)}function t5(t,e){return Gs(t,"+++",e)}function U2(t,e={}){let r=[],i=null,n=null,s=null,a=null,o=null,l=null,c=null,u="--- ",f="+++ ",d="@@",h=/^old mode (\d{6})/,p=/^new mode (\d{6})/,g=/^deleted file mode (\d{6})/,v=/^new file mode (\d{6})/,b=/^copy from "?(.+)"?/,_=/^copy to "?(.+)"?/,C=/^rename from "?(.+)"?/,x=/^rename to "?(.+)"?/,S=/^similarity index (\d+)%/,A=/^dissimilarity index (\d+)%/,w=/^index ([\da-z]+)\.\.([\da-z]+)\s*(\d{6})?/,E=/^Binary files (.*) and (.*) differ/,y=/^GIT binary patch/,P=/^index ([\da-z]+),([\da-z]+)\.\.([\da-z]+)/,T=/^mode (\d{6}),(\d{6})\.\.(\d{6})/,I=/^new file mode (\d{6})/,L=/^deleted file mode (\d{6}),(\d{6})/,H=t.replace(/\\ No newline at end of file/g,"").replace(/\r\n?/g,` `).split(` `);function te(){n!==null&&i!==null&&(i.blocks.push(n),n=null)}function xe(){i!==null&&(!i.oldName&&l!==null&&(i.oldName=l),!i.newName&&c!==null&&(i.newName=c),i.newName&&(r.push(i),i=null)),l=null,c=null}function Z(){te(),xe(),i={blocks:[],deletedLines:0,addedLines:0}}function K(W){te();let X;i!==null&&((X=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@.*/.exec(W))?(i.isCombined=!1,s=parseInt(X[1],10),o=parseInt(X[2],10)):(X=/^@@@ -(\d+)(?:,\d+)? -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@@.*/.exec(W))?(i.isCombined=!0,s=parseInt(X[1],10),a=parseInt(X[2],10),o=parseInt(X[3],10)):(W.startsWith(d)&&console.error("Failed to parse lines, starting in 0!"),s=0,o=0,i.isCombined=!1)),n={lines:[],oldStartLine:s,oldStartLine2:a,newStartLine:o,header:W}}function ce(W){if(i===null||n===null||s===null||o===null)return;let X={content:W},G=i.isCombined?["+ "," +","++"]:["+"],Be=i.isCombined?["- "," -","--"]:["-"];B2(W,G)?(i.addedLines++,X.type=st.INSERT,X.oldNumber=void 0,X.newNumber=o++):B2(W,Be)?(i.deletedLines++,X.type=st.DELETE,X.oldNumber=s++,X.newNumber=void 0):(X.type=st.CONTEXT,X.oldNumber=s++,X.newNumber=o++),n.lines.push(X)}function pe(W,X){let G=X;for(;G{if(!W||W.startsWith("*"))return;let G,Be=H[X-1],pr=H[X+1],Ut=H[X+2];if(W.startsWith("diff --git")||W.startsWith("diff --combined")){if(Z(),(G=/^diff --git "?([a-ciow]\/.+)"? "?([a-ciow]\/.+)"?/.exec(W))&&(l=Gs(G[1],void 0,e.dstPrefix),c=Gs(G[2],void 0,e.srcPrefix)),i===null)throw new Error("Where is my file !!!");i.isGitDiff=!0;return}if(W.startsWith("Binary files")&&!(i!=null&&i.isGitDiff)){if(Z(),(G=/^Binary files "?([a-ciow]\/.+)"? and "?([a-ciow]\/.+)"? differ/.exec(W))&&(l=Gs(G[1],void 0,e.dstPrefix),c=Gs(G[2],void 0,e.srcPrefix)),i===null)throw new Error("Where is my file !!!");i.isBinary=!0;return}if((!i||!i.isGitDiff&&i&&W.startsWith(u)&&pr.startsWith(f)&&Ut.startsWith(d))&&Z(),i!=null&&i.isTooBig)return;if(i&&(typeof e.diffMaxChanges=="number"&&i.addedLines+i.deletedLines>e.diffMaxChanges||typeof e.diffMaxLineLength=="number"&&W.length>e.diffMaxLineLength)){i.isTooBig=!0,i.addedLines=0,i.deletedLines=0,i.blocks=[],n=null;let Rt=typeof e.diffTooBigMessage=="function"?e.diffTooBigMessage(r.length):"Diff too big to be displayed";K(Rt);return}if(W.startsWith(u)&&pr.startsWith(f)||W.startsWith(f)&&Be.startsWith(u)){if(i&&!i.oldName&&W.startsWith("--- ")&&(G=e5(W,e.srcPrefix))){i.oldName=G,i.language=N2(i.oldName,i.language);return}if(i&&!i.newName&&W.startsWith("+++ ")&&(G=t5(W,e.dstPrefix))){i.newName=G,i.language=N2(i.newName,i.language);return}}if(i&&(W.startsWith(d)||i.isGitDiff&&i.oldName&&i.newName&&!n)){K(W);return}if(n&&(W.startsWith("+")||W.startsWith("-")||W.startsWith(" "))){ce(W);return}let Ie=!pe(W,X);if(i===null)throw new Error("Where is my file !!!");(G=h.exec(W))?i.oldMode=G[1]:(G=p.exec(W))?i.newMode=G[1]:(G=g.exec(W))?(i.deletedFileMode=G[1],i.isDeleted=!0):(G=v.exec(W))?(i.newFileMode=G[1],i.isNew=!0):(G=b.exec(W))?(Ie&&(i.oldName=G[1]),i.isCopy=!0):(G=_.exec(W))?(Ie&&(i.newName=G[1]),i.isCopy=!0):(G=C.exec(W))?(Ie&&(i.oldName=G[1]),i.isRename=!0):(G=x.exec(W))?(Ie&&(i.newName=G[1]),i.isRename=!0):(G=E.exec(W))?(i.isBinary=!0,i.oldName=Gs(G[1],void 0,e.srcPrefix),i.newName=Gs(G[2],void 0,e.dstPrefix),K("Binary file")):y.test(W)?(i.isBinary=!0,K(W)):(G=S.exec(W))?i.unchangedPercentage=parseInt(G[1],10):(G=A.exec(W))?i.changedPercentage=parseInt(G[1],10):(G=w.exec(W))?(i.checksumBefore=G[1],i.checksumAfter=G[2],G[3]&&(i.mode=G[3])):(G=P.exec(W))?(i.checksumBefore=[G[2],G[3]],i.checksumAfter=G[1]):(G=T.exec(W))?(i.oldMode=[G[2],G[3]],i.newMode=G[1]):(G=I.exec(W))?(i.newFileMode=G[1],i.isNew=!0):(G=L.exec(W))&&(i.deletedFileMode=G[1],i.isDeleted=!0)}),te(),xe(),r}m();m();m();m();var js=class{diff(e,r,i={}){let n;typeof i=="function"?(n=i,i={}):"callback"in i&&(n=i.callback);let s=this.castInput(e,i),a=this.castInput(r,i),o=this.removeEmpty(this.tokenize(s,i)),l=this.removeEmpty(this.tokenize(a,i));return this.diffWithOptionsObj(o,l,i,n)}diffWithOptionsObj(e,r,i,n){var s;let a=_=>{if(_=this.postProcess(_,i),n){setTimeout(function(){n(_)},0);return}else return _},o=r.length,l=e.length,c=1,u=o+l;i.maxEditLength!=null&&(u=Math.min(u,i.maxEditLength));let f=(s=i.timeout)!==null&&s!==void 0?s:1/0,d=Date.now()+f,h=[{oldPos:-1,lastComponent:void 0}],p=this.extractCommon(h[0],r,e,0,i);if(h[0].oldPos+1>=l&&p+1>=o)return a(this.buildValues(h[0].lastComponent,r,e));let g=-1/0,v=1/0,b=()=>{for(let _=Math.max(g,-c);_<=Math.min(v,c);_+=2){let C,x=h[_-1],S=h[_+1];x&&(h[_-1]=void 0);let A=!1;if(S){let E=S.oldPos-_;A=S&&0<=E&&E=l&&p+1>=o)return a(this.buildValues(C.lastComponent,r,e))||!0;h[_]=C,C.oldPos+1>=l&&(v=Math.min(v,_-1)),p+1>=o&&(g=Math.max(g,_+1))}c++};if(n)(function _(){setTimeout(function(){if(c>u||Date.now()>d)return n(void 0);b()||_()},0)})();else for(;c<=u&&Date.now()<=d;){let _=b();if(_)return _}}addToPath(e,r,i,n,s){let a=e.lastComponent;return a&&!s.oneChangePerToken&&a.added===r&&a.removed===i?{oldPos:e.oldPos+n,lastComponent:{count:a.count+1,added:r,removed:i,previousComponent:a.previousComponent}}:{oldPos:e.oldPos+n,lastComponent:{count:1,added:r,removed:i,previousComponent:a}}}extractCommon(e,r,i,n,s){let a=r.length,o=i.length,l=e.oldPos,c=l-n,u=0;for(;c+1d.length?p:d}),u.value=this.join(f)}else u.value=this.join(r.slice(l,l+u.count));l+=u.count,u.added||(c+=u.count)}}return n}};m();var Rw=class extends js{},G2=new Rw;function $w(t,e,r){return G2.diff(t,e,r)}m();m();function Fw(t,e){let r;for(r=0;re.length&&(r=t.length-e.length);let i=e.length;t.length0&&e[a]!=e[s];)s=n[s];e[a]==e[s]&&s++}s=0;for(let a=r;a0&&t[a]!=e[s];)s=n[s];t[a]==e[s]&&s++}return s}function Dw(t,e){let r=[];for(let i of Array.from(e.segment(t))){let n=i.segment;r.length&&/\s/.test(r[r.length-1])&&/\s/.test(n)?r[r.length-1]+=n:r.push(n)}return r}function Hh(t,e){if(e)return Fl(t,e)[1];let r;for(r=t.length-1;r>=0&&t[r].match(/\s/);r--);return t.substring(r+1)}function Oa(t,e){if(e)return Fl(t,e)[0];let r=t.match(/^\s*/);return r?r[0]:""}function Fl(t,e){if(!e)return[Oa(t),Hh(t)];if(e.resolvedOptions().granularity!="word")throw new Error('The segmenter passed must have a granularity of "word"');let r=Dw(t,e),i=r[0],n=r[r.length-1],s=/\s/.test(i)?i:"",a=/\s/.test(n)?n:"";return[s,a]}var Uh="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}",n5=new RegExp(`[${Uh}]+|\\s+|[^${Uh}]`,"ug"),Ow=class extends js{equals(e,r,i){return i.ignoreCase&&(e=e.toLowerCase(),r=r.toLowerCase()),e.trim()===r.trim()}tokenize(e,r={}){let i;if(r.intlSegmenter){let a=r.intlSegmenter;if(a.resolvedOptions().granularity!="word")throw new Error('The segmenter passed must have a granularity of "word"');i=Dw(e,a)}else i=e.match(n5)||[];let n=[],s=null;return i.forEach(a=>{/\s/.test(a)?s==null?n.push(a):n.push(n.pop()+a):s!=null&&/\s/.test(s)?n[n.length-1]==s?n.push(n.pop()+a):n.push(s+a):n.push(a),s=a}),n}join(e){return e.map((r,i)=>i==0?r:r.replace(/^\s+/,"")).join("")}postProcess(e,r){if(!e||r.oneChangePerToken)return e;let i=null,n=null,s=null;return e.forEach(a=>{a.added?n=a:a.removed?s=a:((n||s)&&j2(i,s,n,a,r.intlSegmenter),i=a,n=null,s=null)}),(n||s)&&j2(i,s,n,null,r.intlSegmenter),e}},s5=new Ow;function j2(t,e,r,i,n){if(e&&r){let[s,a]=Fl(e.value,n),[o,l]=Fl(r.value,n);if(t){let c=Fw(s,o);t.value=Bh(t.value,o,c),e.value=$l(e.value,c),r.value=$l(r.value,c)}if(i){let c=Iw(a,l);i.value=Nh(i.value,l,c),e.value=Hu(e.value,c),r.value=Hu(r.value,c)}}else if(r){if(t){let s=Oa(r.value,n);r.value=r.value.substring(s.length)}if(i){let s=Oa(i.value,n);i.value=i.value.substring(s.length)}}else if(t&&i){let s=Oa(i.value,n),[a,o]=Fl(e.value,n),l=Fw(s,a);e.value=$l(e.value,l);let c=Iw($l(s,l),o);e.value=Hu(e.value,c),i.value=Nh(i.value,s,c),t.value=Bh(t.value,s,s.slice(0,s.length-c.length))}else if(i){let s=Oa(i.value,n),a=Hh(e.value,n),o=Mw(a,s);e.value=Hu(e.value,o)}else if(t){let s=Hh(t.value,n),a=Oa(e.value,n),o=Mw(s,a);e.value=$l(e.value,o)}}var Lw=class extends js{tokenize(e){let r=new RegExp(`(\\r?\\n)|[${Uh}]+|[^\\S\\n\\r]+|[^${Uh}]`,"ug");return e.match(r)||[]}},V2=new Lw;function Nw(t,e,r){return V2.diff(t,e,r)}m();function o5(t,e){if(t.length===0)return e.length;if(e.length===0)return t.length;let r=[],i;for(i=0;i<=e.length;i++)r[i]=[i];let n;for(n=0;n<=t.length;n++)r[0][n]=n;for(i=1;i<=e.length;i++)for(n=1;n<=t.length;n++)e.charAt(i-1)===t.charAt(n-1)?r[i][n]=r[i-1][n-1]:r[i][n]=Math.min(r[i-1][n-1]+1,Math.min(r[i][n-1]+1,r[i-1][n]+1));return r[e.length][t.length]}function Il(t){return(e,r)=>{let i=t(e).trim(),n=t(r).trim();return o5(i,n)/(i.length+n.length)}}function Ml(t){function e(i,n,s=new Map){let a=1/0,o;for(let l=0;l0||o.indexB>0)&&(C=v.concat(C)),(i.length>d||n.length>h)&&(C=C.concat(_)),C}return r}var Qt={INSERTS:"d2h-ins",DELETES:"d2h-del",CONTEXT:"d2h-cntx",INFO:"d2h-info",INSERT_CHANGES:"d2h-ins d2h-change",DELETE_CHANGES:"d2h-del d2h-change"},La={matching:M2.NONE,matchWordsThreshold:.25,maxLineLengthHighlight:1e4,diffStyle:D2.WORD,colorScheme:Da.LIGHT},Cn="/",z2=Il(t=>t.value),l5=Ml(z2);function Hw(t){return t.indexOf("dev/null")!==-1}function c5(t){return t.replace(/(]*>((.|\n)*?)<\/ins>)/g,"")}function u5(t){return t.replace(/(]*>((.|\n)*?)<\/del>)/g,"")}function Dl(t){switch(t){case st.CONTEXT:return Qt.CONTEXT;case st.INSERT:return Qt.INSERTS;case st.DELETE:return Qt.DELETES}}function Ol(t){switch(t){case Da.DARK:return"d2h-dark-color-scheme";case Da.AUTO:return"d2h-auto-color-scheme";case Da.LIGHT:default:return"d2h-light-color-scheme"}}function f5(t){return t?2:1}function Vs(t){return t.slice(0).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")}function Ci(t,e,r=!0){let i=f5(e);return{prefix:t.substring(0,i),content:r?Vs(t.substring(i)):t.substring(i)}}function Na(t){let e=Pw(t.oldName),r=Pw(t.newName);if(e!==r&&!Hw(e)&&!Hw(r)){let i=[],n=[],s=e.split(Cn),a=r.split(Cn),o=s.length,l=a.length,c=0,u=o-1,f=l-1;for(;cc&&f>c&&s[u]===a[f];)n.unshift(a[f]),u-=1,f-=1;let d=i.join(Cn),h=n.join(Cn),p=s.slice(c,u+1).join(Cn),g=a.slice(c,f+1).join(Cn);return d.length&&h.length?d+Cn+"{"+p+" \u2192 "+g+"}"+Cn+h:d.length?d+Cn+"{"+p+" \u2192 "+g+"}":h.length?"{"+p+" \u2192 "+g+"}"+Cn+h:e+" \u2192 "+r}else return Hw(r)?e:r}function Ll(t){return`d2h-${L2(Na(t)).toString().slice(-6)}`}function Nl(t){let e="file-changed";return t.isRename||t.isCopy?e="file-renamed":t.isNew?e="file-added":t.isDeleted?e="file-deleted":t.newName!==t.oldName&&(e="file-renamed"),e}function Gh(t,e,r,i={}){let{matching:n,maxLineLengthHighlight:s,matchWordsThreshold:a,diffStyle:o}=Object.assign(Object.assign({},La),i),l=Ci(t,r,!1),c=Ci(e,r,!1);if(l.content.length>s||c.content.length>s)return{oldLine:{prefix:l.prefix,content:Vs(l.content)},newLine:{prefix:c.prefix,content:Vs(c.content)}};let u=o==="char"?$w(l.content,c.content):Nw(l.content,c.content),f=[];if(o==="word"&&n==="words"){let h=u.filter(v=>v.removed),p=u.filter(v=>v.added);l5(p,h).forEach(v=>{v[0].length===1&&v[1].length===1&&z2(v[0][0],v[1][0]){let g=p.added?"ins":p.removed?"del":null,v=f.indexOf(p)>-1?' class="d2h-change"':"",b=Vs(p.value);return g!==null?`${h}<${g}${v}>${b}`:`${h}${b}`},"");return{oldLine:{prefix:l.prefix,content:c5(d)},newLine:{prefix:c.prefix,content:u5(d)}}}var W2="file-summary",d5="icon",h5={colorScheme:La.colorScheme},jh=class{constructor(e,r={}){this.hoganUtils=e,this.config=Object.assign(Object.assign({},h5),r)}render(e){let r=e.map(i=>this.hoganUtils.render(W2,"line",{fileHtmlId:Ll(i),oldName:i.oldName,newName:i.newName,fileName:Na(i),deletedLines:"-"+i.deletedLines,addedLines:"+"+i.addedLines},{fileIcon:this.hoganUtils.template(d5,Nl(i))})).join(` `);return this.hoganUtils.render(W2,"wrapper",{colorScheme:Ol(this.config.colorScheme),filesNumber:e.length,files:r})}};m();var Gw=Object.assign(Object.assign({},La),{renderNothingWhenEmpty:!1,matchingMaxComparisons:2500,maxLineSizeInBlockForComparison:200}),Uu="generic",q2="line-by-line",p5="icon",m5="tag",Gu=class{constructor(e,r={}){this.hoganUtils=e,this.config=Object.assign(Object.assign({},Gw),r)}render(e){let r=e.map(i=>{let n;return i.blocks.length?n=this.generateFileHtml(i):n=this.generateEmptyDiff(),this.makeFileDiffHtml(i,n)}).join(` `);return this.hoganUtils.render(Uu,"wrapper",{colorScheme:Ol(this.config.colorScheme),content:r})}makeFileDiffHtml(e,r){if(this.config.renderNothingWhenEmpty&&Array.isArray(e.blocks)&&e.blocks.length===0)return"";let i=this.hoganUtils.template(q2,"file-diff"),n=this.hoganUtils.template(Uu,"file-path"),s=this.hoganUtils.template(p5,"file"),a=this.hoganUtils.template(m5,Nl(e));return i.render({file:e,fileHtmlId:Ll(e),diffs:r,filePath:n.render({fileDiffName:Na(e)},{fileIcon:s,fileTag:a})})}generateEmptyDiff(){return this.hoganUtils.render(Uu,"empty-diff",{contentClass:"d2h-code-line",CSSLineClass:Qt})}generateFileHtml(e){let r=Ml(Il(i=>Ci(i.content,e.isCombined).content));return e.blocks.map(i=>{let n=this.hoganUtils.render(Uu,"block-header",{CSSLineClass:Qt,blockHeader:e.isTooBig?i.header:Vs(i.header),lineClass:"d2h-code-linenumber",contentClass:"d2h-code-line"});return this.applyLineGroupping(i).forEach(([s,a,o])=>{if(a.length&&o.length&&!s.length)this.applyRematchMatching(a,o,r).map(([l,c])=>{let{left:u,right:f}=this.processChangedLines(e,e.isCombined,l,c);n+=u,n+=f});else if(s.length)s.forEach(l=>{let{prefix:c,content:u}=Ci(l.content,e.isCombined);n+=this.generateSingleLineHtml(e,{type:Qt.CONTEXT,prefix:c,content:u,oldNumber:l.oldNumber,newNumber:l.newNumber})});else if(a.length||o.length){let{left:l,right:c}=this.processChangedLines(e,e.isCombined,a,o);n+=l,n+=c}else console.error("Unknown state reached while processing groups of lines",s,a,o)}),n}).join(` `)}applyLineGroupping(e){let r=[],i=[],n=[];for(let s=0;s0)&&(r.push([[],i,n]),i=[],n=[]),a.type===st.CONTEXT?r.push([[a],[],[]]):a.type===st.INSERT&&i.length===0?r.push([[],[],[a]]):a.type===st.INSERT&&i.length>0?n.push(a):a.type===st.DELETE&&i.push(a)}return(i.length||n.length)&&(r.push([[],i,n]),i=[],n=[]),r}applyRematchMatching(e,r,i){let n=e.length*r.length,s=Lh(e.concat(r).map(o=>o.content.length));return n{let n;return i.blocks.length?n=this.generateFileHtml(i):n=this.generateEmptyDiff(),this.makeFileDiffHtml(i,n)}).join(` `);return this.hoganUtils.render(ju,"wrapper",{colorScheme:Ol(this.config.colorScheme),content:r})}makeFileDiffHtml(e,r){if(this.config.renderNothingWhenEmpty&&Array.isArray(e.blocks)&&e.blocks.length===0)return"";let i=this.hoganUtils.template(g5,"file-diff"),n=this.hoganUtils.template(ju,"file-path"),s=this.hoganUtils.template(v5,"file"),a=this.hoganUtils.template(w5,Nl(e));return i.render({file:e,fileHtmlId:Ll(e),diffs:r,filePath:n.render({fileDiffName:Na(e)},{fileIcon:s,fileTag:a})})}generateEmptyDiff(){return{right:"",left:this.hoganUtils.render(ju,"empty-diff",{contentClass:"d2h-code-side-line",CSSLineClass:Qt})}}generateFileHtml(e){let r=Ml(Il(i=>Ci(i.content,e.isCombined).content));return e.blocks.map(i=>{let n={left:this.makeHeaderHtml(i.header,e),right:this.makeHeaderHtml("")};return this.applyLineGroupping(i).forEach(([s,a,o])=>{if(a.length&&o.length&&!s.length)this.applyRematchMatching(a,o,r).map(([l,c])=>{let{left:u,right:f}=this.processChangedLines(e.isCombined,l,c);n.left+=u,n.right+=f});else if(s.length)s.forEach(l=>{let{prefix:c,content:u}=Ci(l.content,e.isCombined),{left:f,right:d}=this.generateLineHtml({type:Qt.CONTEXT,prefix:c,content:u,number:l.oldNumber},{type:Qt.CONTEXT,prefix:c,content:u,number:l.newNumber});n.left+=f,n.right+=d});else if(a.length||o.length){let{left:l,right:c}=this.processChangedLines(e.isCombined,a,o);n.left+=l,n.right+=c}else console.error("Unknown state reached while processing groups of lines",s,a,o)}),n}).reduce((i,n)=>({left:i.left+n.left,right:i.right+n.right}),{left:"",right:""})}applyLineGroupping(e){let r=[],i=[],n=[];for(let s=0;s0)&&(r.push([[],i,n]),i=[],n=[]),a.type===st.CONTEXT?r.push([[a],[],[]]):a.type===st.INSERT&&i.length===0?r.push([[],[],[a]]):a.type===st.INSERT&&i.length>0?n.push(a):a.type===st.DELETE&&i.push(a)}return(i.length||n.length)&&(r.push([[],i,n]),i=[],n=[]),r}applyRematchMatching(e,r,i){let n=e.length*r.length,s=Lh(e.concat(r).map(o=>o.content.length));return n'),i.b(` `+r),i.b(' '),i.b(` `+r),i.b(i.rp("'),i.b(i.v(i.f("fileName",t,e,0))),i.b(""),i.b(` `+r),i.b(' '),i.b(` `+r),i.b(' '),i.b(i.v(i.f("addedLines",t,e,0))),i.b(""),i.b(` `+r),i.b(' '),i.b(i.v(i.f("deletedLines",t,e,0))),i.b(""),i.b(` `+r),i.b(" "),i.b(` `+r),i.b(" "),i.b(` `+r),i.b(""),i.fl()},partials:{"'),i.b(` `+r),i.b('
'),i.b(` `+r),i.b(' Files changed ('),i.b(i.v(i.f("filesNumber",t,e,0))),i.b(")"),i.b(` `+r),i.b(' hide'),i.b(` `+r),i.b(' show'),i.b(` `+r),i.b("
"),i.b(` `+r),i.b('
    '),i.b(` `+r),i.b(" "),i.b(i.t(i.f("files",t,e,0))),i.b(` `+r),i.b("
"),i.b(` `+r),i.b(""),i.fl()},partials:{},subs:{}});xt["generic-block-header"]=new Ct.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b(""),i.b(` `+r),i.b(' '),i.b(` `+r),i.b(' '),i.b(` `+r),i.b('
'),i.s(i.f("blockHeader",t,e,1),t,e,0,156,173,"{{ }}")&&(i.rs(t,e,function(n,s,a){a.b(a.t(a.f("blockHeader",n,s,0)))}),t.pop()),i.s(i.f("blockHeader",t,e,1),t,e,1,0,0,"")||i.b(" "),i.b("
"),i.b(` `+r),i.b(" "),i.b(` `+r),i.b(""),i.fl()},partials:{},subs:{}});xt["generic-empty-diff"]=new Ct.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b(""),i.b(` `+r),i.b(' '),i.b(` `+r),i.b('
'),i.b(` `+r),i.b(" File without changes"),i.b(` `+r),i.b("
"),i.b(` `+r),i.b(" "),i.b(` `+r),i.b(""),i.fl()},partials:{},subs:{}});xt["generic-file-path"]=new Ct.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b(''),i.b(` `+r),i.b(i.rp("'),i.b(i.v(i.f("fileDiffName",t,e,0))),i.b(""),i.b(` `+r),i.b(i.rp(""),i.b(` `+r),i.b('"),i.fl()},partials:{""),i.b(` `+r),i.b(' '),i.b(` `+r),i.b(" "),i.b(i.t(i.f("lineNumber",t,e,0))),i.b(` `+r),i.b(" "),i.b(` `+r),i.b(' '),i.b(` `+r),i.b('
'),i.b(` `+r),i.s(i.f("prefix",t,e,1),t,e,0,162,238,"{{ }}")&&(i.rs(t,e,function(n,s,a){a.b(' '),a.b(a.t(a.f("prefix",n,s,0))),a.b(""),a.b(` `+r)}),t.pop()),i.s(i.f("prefix",t,e,1),t,e,1,0,0,"")||(i.b('  '),i.b(` `+r)),i.s(i.f("content",t,e,1),t,e,0,371,445,"{{ }}")&&(i.rs(t,e,function(n,s,a){a.b(' '),a.b(a.t(a.f("content",n,s,0))),a.b(""),a.b(` `+r)}),t.pop()),i.s(i.f("content",t,e,1),t,e,1,0,0,"")||(i.b('
'),i.b(` `+r)),i.b("
"),i.b(` `+r),i.b(" "),i.b(` `+r),i.b(""),i.fl()},partials:{},subs:{}});xt["generic-wrapper"]=new Ct.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b('
'),i.b(` `+r),i.b(" "),i.b(i.t(i.f("content",t,e,0))),i.b(` `+r),i.b("
"),i.fl()},partials:{},subs:{}});xt["icon-file-added"]=new Ct.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b('"),i.fl()},partials:{},subs:{}});xt["icon-file-changed"]=new Ct.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b('"),i.fl()},partials:{},subs:{}});xt["icon-file-deleted"]=new Ct.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b('"),i.fl()},partials:{},subs:{}});xt["icon-file-renamed"]=new Ct.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b('"),i.fl()},partials:{},subs:{}});xt["icon-file"]=new Ct.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b('"),i.fl()},partials:{},subs:{}});xt["line-by-line-file-diff"]=new Ct.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b('
'),i.b(` `+r),i.b('
'),i.b(` `+r),i.b(" "),i.b(i.t(i.f("filePath",t,e,0))),i.b(` `+r),i.b("
"),i.b(` `+r),i.b('
'),i.b(` `+r),i.b('
'),i.b(` `+r),i.b(' '),i.b(` `+r),i.b(' '),i.b(` `+r),i.b(" "),i.b(i.t(i.f("diffs",t,e,0))),i.b(` `+r),i.b(" "),i.b(` `+r),i.b("
"),i.b(` `+r),i.b("
"),i.b(` `+r),i.b("
"),i.b(` `+r),i.b("
"),i.fl()},partials:{},subs:{}});xt["line-by-line-numbers"]=new Ct.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b('
'),i.b(i.v(i.f("oldNumber",t,e,0))),i.b("
"),i.b(` `+r),i.b('
'),i.b(i.v(i.f("newNumber",t,e,0))),i.b("
"),i.fl()},partials:{},subs:{}});xt["side-by-side-file-diff"]=new Ct.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b('
'),i.b(` `+r),i.b('
'),i.b(` `+r),i.b(" "),i.b(i.t(i.f("filePath",t,e,0))),i.b(` `+r),i.b("
"),i.b(` `+r),i.b('
'),i.b(` `+r),i.b('
'),i.b(` `+r),i.b('
'),i.b(` `+r),i.b(' '),i.b(` `+r),i.b(' '),i.b(` `+r),i.b(" "),i.b(i.t(i.d("diffs.left",t,e,0))),i.b(` `+r),i.b(" "),i.b(` `+r),i.b("
"),i.b(` `+r),i.b("
"),i.b(` `+r),i.b("
"),i.b(` `+r),i.b('
'),i.b(` `+r),i.b('
'),i.b(` `+r),i.b(' '),i.b(` `+r),i.b(' '),i.b(` `+r),i.b(" "),i.b(i.t(i.d("diffs.right",t,e,0))),i.b(` `+r),i.b(" "),i.b(` `+r),i.b("
"),i.b(` `+r),i.b("
"),i.b(` `+r),i.b("
"),i.b(` `+r),i.b("
"),i.b(` `+r),i.b("
"),i.fl()},partials:{},subs:{}});xt["tag-file-added"]=new Ct.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b('ADDED'),i.fl()},partials:{},subs:{}});xt["tag-file-changed"]=new Ct.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b('CHANGED'),i.fl()},partials:{},subs:{}});xt["tag-file-deleted"]=new Ct.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b('DELETED'),i.fl()},partials:{},subs:{}});xt["tag-file-renamed"]=new Ct.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b('RENAMED'),i.fl()},partials:{},subs:{}});var zu=class{constructor({compiledTemplates:e={},rawTemplates:r={}}){let i=Object.entries(r).reduce((n,[s,a])=>{let o=qw.compile(a,{asString:!1});return Object.assign(Object.assign({},n),{[s]:o})},{});this.preCompiledTemplates=Object.assign(Object.assign(Object.assign({},xt),e),i)}static compile(e){return qw.compile(e,{asString:!1})}render(e,r,i,n,s){let a=this.templateKey(e,r);try{return this.preCompiledTemplates[a].render(i,n,s)}catch(o){throw new Error(`Could not find template to render '${a}'`)}}template(e,r){return this.preCompiledTemplates[this.templateKey(e,r)]}templateKey(e,r){return`${e}-${r}`}};var _5=Object.assign(Object.assign(Object.assign({},Gw),jw),{outputFormat:I2.LINE_BY_LINE,drawFileList:!0});function zh(t,e={}){let r=Object.assign(Object.assign({},_5),e),i=typeof t=="string"?U2(t,r):t,n=new zu(r),{colorScheme:s}=r,a={colorScheme:s},o=r.drawFileList?new jh(n,a).render(i):"",l=r.outputFormat==="side-by-side"?new Vu(n,r).render(i):new Gu(n,r).render(i);return o+l}var tP=ft(J2(),1);var Ba=require("obsidian"),Yw=Wu.StateEffect.define();function zs(t,e){let r=t.state,i=r.field(qh),n=r.field(Gr),s=r.doc.lineAt(e!=null?e:r.selection.main.head).number,a=zt.findHunk(s,n==null?void 0:n.hunks)[0];if(!a)return;let o=r.doc.line(Math.max(1,a.added.start)).from,l=i.has(o);return r.field(Ba.editorEditorField).dispatch({effects:Yw.of({pos:o,add:!l})})}var qh=Wu.StateField.define({create:()=>new Set,update(t,e){let r=new Set;for(let i of e.effects)i.is(Yw)&&(i.value.add?t.add(i.value.pos):t.delete(i.value.pos));for(let i of t)r.add(e.changes.mapPos(i));return r}}),rP=Wu.StateField.define({create:t=>eP(t),update(t,e){return e.docChanged||e.effects.some(r=>r.is(Rl)||r.is(Yw))?eP(e.state):t},provide:t=>Wh.showTooltip.computeN([t],e=>e.field(t))}),iP=Wh.EditorView.baseTheme({".cm-tooltip.git-diff-tooltip":{"z-index":"var(--layer-popover)",backgroundColor:"var(--background-primary-alt)",border:"var(--border-width) solid var(--background-primary-alt)",borderRadius:"var(--radius-s)"},".cm-tooltip.git-diff-tooltip .tooltip-toolbar":{display:"flex",padding:"var(--size-2-1)"}});function eP(t){let e=t.field(Gr);return e?[...t.field(qh)].map(i=>{let n=t.doc.lineAt(i),s=zt.findHunk(n.number,e.hunks)[0];if(s)return{pos:i,above:!1,arrow:!1,strictSide:!0,clip:!1,create:()=>y5(s,t,i)}}).filter(i=>i!==void 0):[]}function y5(t,e,r){var g,v;let i=zt.createPatch("file",[t],"10064",!1).join(` `)+` `,n=zh(i,{colorScheme:tP.ColorSchemeType.AUTO,diffStyle:"word",drawFileList:!1}),s=new DOMParser().parseFromString(n,"text/html").querySelector(".d2h-file-diff"),a=createDiv();a.addClass("tooltip-toolbar");let o=(b,_)=>{let C=createDiv();return(0,Ba.setIcon)(C,b),C.setAttr("aria-label",_),C.addClass("clickable-icon"),C},l=o("x","Close hunk"),c=o("plus","Stage hunk"),u=o("undo","Reset hunk");a.appendChild(l),a.appendChild(c),a.appendChild(u);let f=createDiv();f.appendChild(a),f.appendChild(s),f.addClass("git-diff-tooltip","git-diff");let d=e.field(Ba.editorEditorField);l.onclick=()=>{zs(d,r)},c.onclick=()=>{let b=It.plugin;b&&(b.promiseQueue.addTask(()=>b.hunkActions.stageHunk(r)),zs(d,r))},u.onclick=()=>{let b=It.plugin;b&&(b.hunkActions.resetHunk(r),zs(d,r))};let h=(v=(g=It.plugin)==null?void 0:g.app.workspace.getActiveViewOfType(Ba.MarkdownView))==null?void 0:v.scope,p=h==null?void 0:h.register(null,"Escape",(b,_)=>{zs(d,r)});return{dom:f,destroy:()=>{p&&(h==null||h.unregister(p))},update:b=>{r=b.changes.mapPos(r)}}}function nP(t){let e=t.app;t.addCommand({id:"edit-gitignore",name:"Edit .gitignore",callback:async()=>{let r=t.gitManager.getRelativeVaultPath(".gitignore");await e.vault.adapter.exists(r)||await e.vault.adapter.write(r,"");let i=await e.vault.adapter.read(r),s=await new Ch(e,i).openAndGetReslt();s!==void 0&&(await e.vault.adapter.write(r,s),await t.refresh())}}),t.addCommand({id:"open-git-view",name:"Open source control view",callback:async()=>{var n;let r=e.workspace.getLeavesOfType(Xt.type),i;r.length===0?(i=(n=e.workspace.getRightLeaf(!1))!=null?n:e.workspace.getLeaf(),await i.setViewState({type:Xt.type})):i=r.first(),await e.workspace.revealLeaf(i),e.workspace.trigger("obsidian-git:refresh")}}),t.addCommand({id:"open-history-view",name:"Open history view",callback:async()=>{var n;let r=e.workspace.getLeavesOfType(wi.type),i;r.length===0?(i=(n=e.workspace.getRightLeaf(!1))!=null?n:e.workspace.getLeaf(),await i.setViewState({type:wi.type})):i=r.first(),await e.workspace.revealLeaf(i),e.workspace.trigger("obsidian-git:refresh")}}),t.addCommand({id:"open-diff-view",name:"Open diff view",checkCallback:r=>{let i=e.workspace.getActiveFile();if(r)return i!==null;{let n=t.gitManager.getRelativeRepoPath(i.path,!0);return t.tools.openDiff({aFile:n,aRef:""}),!0}}}),t.addCommand({id:"view-file-on-github",name:"Open file on GitHub",editorCallback:(r,{file:i})=>{if(i)return jT(r,i,t.gitManager)}}),t.addCommand({id:"view-history-on-github",name:"Open file history on GitHub",editorCallback:(r,{file:i})=>{if(i)return VT(i,t.gitManager)}}),t.addCommand({id:"pull",name:"Pull",callback:()=>t.promiseQueue.addTask(()=>t.pullChangesFromRemote())}),t.addCommand({id:"fetch",name:"Fetch",callback:()=>t.promiseQueue.addTask(()=>t.fetch())}),t.addCommand({id:"switch-to-remote-branch",name:"Switch to remote branch",callback:()=>t.promiseQueue.addTask(()=>t.switchRemoteBranch())}),t.addCommand({id:"add-to-gitignore",name:"Add file to .gitignore",checkCallback:r=>{let i=e.workspace.getActiveFile();return r?i!==null:(t.addFileToGitignore(i.path,i instanceof qi.TFolder).catch(n=>t.displayError(n)),!0)}}),t.addCommand({id:"push",name:"Commit-and-sync",callback:()=>t.promiseQueue.addTask(()=>t.commitAndSync({fromAutoBackup:!1}))}),t.addCommand({id:"backup-and-close",name:"Commit-and-sync and then close Obsidian",callback:()=>t.promiseQueue.addTask(async()=>{await t.commitAndSync({fromAutoBackup:!1}),window.close()})}),t.addCommand({id:"commit-push-specified-message",name:"Commit-and-sync with specific message",callback:()=>t.promiseQueue.addTask(()=>t.commitAndSync({fromAutoBackup:!1,requestCustomMessage:!0}))}),t.addCommand({id:"commit",name:"Commit all changes",callback:()=>t.promiseQueue.addTask(()=>t.commit({fromAuto:!1}))}),t.addCommand({id:"commit-specified-message",name:"Commit all changes with specific message",callback:()=>t.promiseQueue.addTask(()=>t.commit({fromAuto:!1,requestCustomMessage:!0}))}),t.addCommand({id:"commit-smart",name:"Commit",callback:()=>t.promiseQueue.addTask(async()=>{let i=(await t.updateCachedStatus()).staged.length>0;return t.commit({fromAuto:!1,requestCustomMessage:!1,onlyStaged:i})})}),t.addCommand({id:"commit-staged",name:"Commit staged",checkCallback:function(r){return r?!1:(t.promiseQueue.addTask(async()=>t.commit({fromAuto:!1,requestCustomMessage:!1})),!0)}}),qi.Platform.isDesktopApp&&t.addCommand({id:"commit-amend-staged-specified-message",name:"Amend staged",callback:()=>t.promiseQueue.addTask(()=>t.commit({fromAuto:!1,requestCustomMessage:!0,onlyStaged:!0,amend:!0}))}),t.addCommand({id:"commit-smart-specified-message",name:"Commit with specific message",callback:()=>t.promiseQueue.addTask(async()=>{let i=(await t.updateCachedStatus()).staged.length>0;return t.commit({fromAuto:!1,requestCustomMessage:!0,onlyStaged:i})})}),t.addCommand({id:"commit-staged-specified-message",name:"Commit staged with specific message",checkCallback:function(r){return r?!1:t.promiseQueue.addTask(()=>t.commit({fromAuto:!1,requestCustomMessage:!0,onlyStaged:!0}))}}),t.addCommand({id:"push2",name:"Push",callback:()=>t.promiseQueue.addTask(()=>t.push())}),t.addCommand({id:"stage-current-file",name:"Stage current file",checkCallback:r=>{let i=e.workspace.getActiveFile();return r?i!==null:(t.promiseQueue.addTask(()=>t.stageFile(i)),!0)}}),t.addCommand({id:"unstage-current-file",name:"Unstage current file",checkCallback:r=>{let i=e.workspace.getActiveFile();return r?i!==null:(t.promiseQueue.addTask(()=>t.unstageFile(i)),!0)}}),t.addCommand({id:"edit-remotes",name:"Edit remotes",callback:()=>t.editRemotes().catch(r=>t.displayError(r))}),t.addCommand({id:"remove-remote",name:"Remove remote",callback:()=>t.removeRemote().catch(r=>t.displayError(r))}),t.addCommand({id:"set-upstream-branch",name:"Set upstream branch",callback:()=>t.setUpstreamBranch().catch(r=>t.displayError(r))}),t.addCommand({id:"delete-repo",name:"CAUTION: Delete repository",callback:async()=>{await e.vault.adapter.exists(`${t.settings.basePath}/.git`)?await new rt(t,{options:["NO","YES"],placeholder:"Do you really want to delete the repository (.git directory)? plugin action cannot be undone.",onlySelection:!0}).openAndGetResult()==="YES"&&(await e.vault.adapter.rmdir(`${t.settings.basePath}/.git`,!0),new qi.Notice("Successfully deleted repository. Reloading plugin..."),t.unloadPlugin(),await t.init({fromReload:!0})):new qi.Notice("No repository found")}}),t.addCommand({id:"init-repo",name:"Initialize a new repo",callback:()=>t.createNewRepo().catch(r=>t.displayError(r))}),t.addCommand({id:"clone-repo",name:"Clone an existing remote repo",callback:()=>t.cloneNewRepo().catch(r=>t.displayError(r))}),t.addCommand({id:"list-changed-files",name:"List changed files",callback:async()=>{if(await t.isAllInitialized())try{let r=await t.updateCachedStatus();if(r.changed.length+r.staged.length>500){t.displayError("Too many changes to display");return}new kh(t,r.all).open()}catch(r){t.displayError(r)}}}),t.addCommand({id:"switch-branch",name:"Switch branch",callback:()=>{t.switchBranch().catch(r=>t.displayError(r))}}),t.addCommand({id:"create-branch",name:"Create new branch",callback:()=>{t.createBranch().catch(r=>t.displayError(r))}}),t.addCommand({id:"delete-branch",name:"Delete branch",callback:()=>{t.deleteBranch().catch(r=>t.displayError(r))}}),t.addCommand({id:"discard-all",name:"CAUTION: Discard all changes",callback:async()=>{let r=await t.discardAll();switch(r){case"discard":new qi.Notice("Discarded all changes in tracked files.");break;case"delete":new qi.Notice("Discarded all files.");break;case!1:break;default:Nd(r)}}}),t.addCommand({id:"pause-automatic-routines",name:"Pause/Resume automatic routines",callback:()=>{let r=!t.localStorage.getPausedAutomatics();t.localStorage.setPausedAutomatics(r),r?(t.automaticsManager.unload(),new qi.Notice("Paused automatic routines.")):(t.automaticsManager.reload("commit","push","pull"),new qi.Notice("Resumed automatic routines."))}}),t.addCommand({id:"raw-command",name:"Raw command",checkCallback:r=>{let i=t.gitManager;return r?i instanceof Se:(t.tools.runRawCommand().catch(n=>t.displayError(n)),!0)}}),t.addCommand({id:"toggle-line-author-info",name:"Toggle line author information",callback:()=>{var r;return(r=t.settingsTab)==null?void 0:r.configureLineAuthorShowStatus(!t.settings.lineAuthor.show)}}),t.addCommand({id:"reset-hunk",name:"Reset hunk",editorCheckCallback(r,i,n){return r?t.settings.hunks.hunkCommands&&t.hunkActions.editor!==void 0:(t.hunkActions.resetHunk(),!0)}}),t.addCommand({id:"stage-hunk",name:"Stage hunk",editorCheckCallback:(r,i,n)=>r?t.settings.hunks.hunkCommands&&t.hunkActions.editor!==void 0:(t.promiseQueue.addTask(()=>t.hunkActions.stageHunk()),!0)}),t.addCommand({id:"preview-hunk",name:"Preview hunk",editorCheckCallback:(r,i,n)=>{if(r)return t.settings.hunks.hunkCommands&&t.hunkActions.editor!==void 0;let s=t.hunkActions.editor.editor;return zs(s),!0}}),t.addCommand({id:"next-hunk",name:"Go to next hunk",editorCheckCallback:(r,i,n)=>r?t.settings.hunks.hunkCommands&&t.hunkActions.editor!==void 0:(t.hunkActions.goToHunk("next"),!0)}),t.addCommand({id:"prev-hunk",name:"Go to previous hunk",editorCheckCallback:(r,i,n)=>r?t.settings.hunks.hunkCommands&&t.hunkActions.editor!==void 0:(t.hunkActions.goToHunk("prev"),!0)})}m();var Yh=class{constructor(e){this.plugin=e;this.prefix=this.plugin.manifest.id+":",this.app=e.app}migrate(){let e=["password","hostname","conflict","lastAutoPull","lastAutoBackup","lastAutoPush","gitPath","pluginDisabled"];for(let r of e){let i=localStorage.getItem(this.prefix+r);this.app.loadLocalStorage(this.prefix+r)==null&&i!=null&&i!=null&&(this.app.saveLocalStorage(this.prefix+r,i),localStorage.removeItem(this.prefix+r))}}getPassword(){return this.app.loadLocalStorage(this.prefix+"password")}setPassword(e){return this.app.saveLocalStorage(this.prefix+"password",e)}getUsername(){return this.app.loadLocalStorage(this.prefix+"username")}setUsername(e){return this.app.saveLocalStorage(this.prefix+"username",e)}getHostname(){return this.app.loadLocalStorage(this.prefix+"hostname")}setHostname(e){return this.app.saveLocalStorage(this.prefix+"hostname",e)}getConflict(){return this.app.loadLocalStorage(this.prefix+"conflict")=="true"}setConflict(e){return this.app.saveLocalStorage(this.prefix+"conflict",`${e}`)}getLastAutoPull(){return this.app.loadLocalStorage(this.prefix+"lastAutoPull")}setLastAutoPull(e){return this.app.saveLocalStorage(this.prefix+"lastAutoPull",e)}getLastAutoBackup(){return this.app.loadLocalStorage(this.prefix+"lastAutoBackup")}setLastAutoBackup(e){return this.app.saveLocalStorage(this.prefix+"lastAutoBackup",e)}getLastAutoPush(){return this.app.loadLocalStorage(this.prefix+"lastAutoPush")}setLastAutoPush(e){return this.app.saveLocalStorage(this.prefix+"lastAutoPush",e)}getGitPath(){return this.app.loadLocalStorage(this.prefix+"gitPath")}setGitPath(e){return this.app.saveLocalStorage(this.prefix+"gitPath",e)}getPATHPaths(){var e,r;return(r=(e=this.app.loadLocalStorage(this.prefix+"PATHPaths"))==null?void 0:e.split(":"))!=null?r:[]}setPATHPaths(e){return this.app.saveLocalStorage(this.prefix+"PATHPaths",e.join(":"))}getEnvVars(){var e;return JSON.parse((e=this.app.loadLocalStorage(this.prefix+"envVars"))!=null?e:"[]")}setEnvVars(e){return this.app.saveLocalStorage(this.prefix+"envVars",JSON.stringify(e))}getPluginDisabled(){return this.app.loadLocalStorage(this.prefix+"pluginDisabled")=="true"}setPluginDisabled(e){return this.app.saveLocalStorage(this.prefix+"pluginDisabled",`${e}`)}getPausedAutomatics(){return this.app.loadLocalStorage(this.prefix+"pausedAutomatics")=="true"}setPausedAutomatics(e){return this.app.saveLocalStorage(this.prefix+"pausedAutomatics",`${e}`)}getGutterSpacingFallbackLength(){var e;return(e=this.app.loadLocalStorage(this.prefix+"gutterSpacingFallbackLength"))!=null?e:5}setGutterSpacingFallbackLength(e){return this.app.saveLocalStorage(this.prefix+"gutterSpacingFallbackLength",e)}};m();var Bl=require("obsidian");var qu=class{constructor(e){this.plugin=e}async hasTooBigFiles(e){let r=await this.plugin.gitManager.branchInfo(),i=r.tracking?yn(r.tracking)[0]:null;if(!i)return!1;let n=await this.plugin.gitManager.getRemoteUrl(i);if(n!=null&&n.includes("github.com")){let s=[],a=this.plugin.gitManager;for(let o of e){let l=this.plugin.app.vault.getAbstractFileByPath(o.vaultPath),c=!1;if(l instanceof Bl.TFile)l.stat.size>=1e8&&(c=!0);else{let u=await this.plugin.app.vault.adapter.stat(o.vaultPath);u&&u.size>=1e8&&(c=!0)}if(c){let u=!1;a instanceof Se&&(u=await a.isFileTrackedByLFS(o.path)),u||s.push(o)}}if(s.length>0)return this.plugin.displayError(`Aborted commit, because the following files are too big: - ${s.map(o=>o.vaultPath).join(` - `)} Please remove them or add to .gitignore.`),!0}return!1}async writeAndOpenFile(e){e!==void 0&&await this.plugin.app.vault.adapter.write(il,e);let r=!1;this.plugin.app.workspace.iterateAllLeaves(i=>{i.getDisplayText()!=""&&il.startsWith(i.getDisplayText())&&(r=!0)}),r||await this.plugin.app.workspace.openLinkText(il,"/",!0)}openDiff({aFile:e,bFile:r,aRef:i,bRef:n,event:s}){var l,c;let a=this.plugin.settings.diffStyle;Bl.Platform.isMobileApp&&(a="git_unified");let o={aFile:e,bFile:r!=null?r:e,aRef:i,bRef:n};a=="split"?(l=Vi(this.plugin.app,s))==null||l.setViewState({type:Os.type,active:!0,state:o}):a=="git_unified"&&((c=Vi(this.plugin.app,s))==null||c.setViewState({type:Ls.type,active:!0,state:o}))}async runRawCommand(){let e=this.plugin.gitManager;if(!(e instanceof Se))return;let i=await new rt(this.plugin,{placeholder:"push origin master",allowEmpty:!1}).openAndGetResult();i!==void 0&&this.plugin.promiseQueue.addTask(async()=>{let n=new Bl.Notice(`Running '${i}'...`,999999);try{let s=await e.rawCommand(i);s?(n.setMessage(s),window.setTimeout(()=>n.hide(),5e3)):n.hide()}catch(s){throw n.hide(),s}})}};m();var Zh=require("obsidian");var Ha=class extends Zh.ItemView{constructor(r,i){super(r);this.plugin=i;this.gettingDiff=!1;this.parser=new DOMParser,this.navigation=!0,this.contentEl.addClass("git-diff"),this.gitRefreshRef=this.app.workspace.on("obsidian-git:status-changed",()=>{this.refresh().catch(console.error)})}getViewType(){return Ls.type}getDisplayText(){var r;if(((r=this.state)==null?void 0:r.bFile)!=null){let i=this.state.bFile.split("/").last();return i!=null&&i.endsWith(".md")&&(i=i.slice(0,-3)),`Diff: ${i}`}return Ls.name}getIcon(){return Ls.icon}async setState(r,i){this.state=r,Zh.Platform.isMobile&&(this.leaf.view.titleEl.textContent=this.getDisplayText()),await this.refresh()}getState(){return this.state}onClose(){return this.app.workspace.offref(this.gitRefreshRef),this.app.workspace.offref(this.gitViewRefreshRef),super.onClose()}async onOpen(){return await this.refresh(),super.onOpen()}async refresh(){var r;if((r=this.state)!=null&&r.bFile&&!this.gettingDiff&&this.plugin.gitManager){this.gettingDiff=!0;try{let i=await this.plugin.gitManager.getDiffString(this.state.bFile,this.state.aRef=="HEAD",this.state.bRef);this.contentEl.empty();let n=this.plugin.gitManager.getRelativeVaultPath(this.state.bFile);if(!i){if(this.plugin.gitManager instanceof Se&&await this.plugin.gitManager.isTracked(this.state.bFile))i=[`--- ${this.state.aFile}`,`+++ ${this.state.bFile}`,""].join(` `);else if(await this.app.vault.adapter.exists(n)){let s=await this.app.vault.adapter.read(n);i=[...`--- /dev/null +++ ${this.state.bFile} @@ -0,0 +1,${s.split(` `).length} @@`.split(` `),...s.split(` `).map(o=>`+${o}`)].join(` `)}}if(i){let s=this.parser.parseFromString(zh(i),"text/html").querySelector(".d2h-file-diff");this.contentEl.append(s)}else{let s=this.contentEl.createDiv({cls:"obsidian-git-center"});s.createSpan({text:"\u26A0\uFE0F",attr:{style:"font-size: 2em"}}),s.createEl("br"),s.createSpan({text:"File not found: "+this.state.bFile})}}finally{this.gettingDiff=!1}}}};m();var ts=require("obsidian");var Ul=require("@codemirror/commands");var Xh=require("@codemirror/search"),Hl=require("@codemirror/state"),Yi=require("@codemirror/view");m();var Kh=require("obsidian"),Zw=require("@codemirror/view");function x5(t){return t.selection.ranges.filter(e=>!e.empty).map(e=>t.sliceDoc(e.from,e.to)).join(t.lineBreak)}function E5(t){t.dispatch({...t.state.replaceSelection(""),userEvent:"delete.cut"})}function sP(t,e){t.dispatch({...t.state.replaceSelection(e),scrollIntoView:!0,userEvent:"input.paste"})}async function aP(t){if(!t&&navigator.clipboard.read){let e=await navigator.clipboard.read();for(let r of e)if(r.types.includes("text/html")){let i=await(await r.getType("text/html")).text();return(0,Kh.htmlToMarkdown)(i)}}return navigator.clipboard.readText()}var oP=Zw.EditorView.domEventHandlers({contextmenu(t,e){t.preventDefault();let r=x5(e.state),i=!e.state.readOnly&&e.state.facet(Zw.EditorView.editable),n=Kh.Menu.forEvent(t);return n.addItem(s=>s.setTitle("Cut").setIcon("scissors").setDisabled(!i||r.length===0).onClick(async()=>{await navigator.clipboard.writeText(r),E5(e)})),n.addItem(s=>s.setTitle("Copy").setIcon("copy").setDisabled(r.length===0).onClick(()=>navigator.clipboard.writeText(r))),n.addItem(s=>s.setTitle("Paste").setIcon("clipboard-paste").setDisabled(!i).onClick(async()=>sP(e,await aP(!1)))),n.addItem(s=>s.setTitle("Paste as plain text").setIcon("clipboard-type").setDisabled(!i).onClick(async()=>sP(e,await aP(!0)))),n.addItem(s=>s.setTitle("Select all").setIcon("scan").onClick(()=>e.dispatch({selection:{anchor:0,head:e.state.doc.length}}))),n.showAtMouseEvent(t),!0}});var lP=Yi.EditorView.theme({"& .cm-content":{caretColor:"transparent !important"},"&.cm-focused .cm-cursor, & .cm-dropCursor":{display:"none !important"}}),Ua=class extends ts.ItemView{constructor(r,i){super(r);this.plugin=i;this.refreshing=!1;this.ignoreNextModification=!1;this.navigation=!0,this.registerEvent(this.app.workspace.on("obsidian-git:status-changed",()=>{this.mergeView?this.updateRefEditors().catch(console.error):this.createMergeView().catch(console.error)})),this.intervalRef=window.setInterval(()=>{this.mergeView&&this.updateRefEditors().catch(console.error)},30*1e3),this.registerEvent(this.app.vault.on("modify",n=>{this.state.bRef==null&&n.path===this.state.bFile&&(this.ignoreNextModification?this.ignoreNextModification=!1:this.updateModifiableEditor().catch(console.error))})),this.registerEvent(this.app.vault.on("delete",n=>{this.state.bRef==null&&n.path===this.state.bFile&&this.createMergeView().catch(console.error)})),this.registerEvent(this.app.vault.on("create",n=>{this.state.bRef==null&&n.path===this.state.bFile&&this.createMergeView().catch(console.error)})),this.registerEvent(this.app.vault.on("rename",(n,s)=>{this.state.bRef==null&&(n.path===this.state.bFile||s===this.state.bFile)&&this.createMergeView().catch(console.error)})),this.fileSaveDebouncer=(0,ts.debounce)(n=>{let s=this.state.bFile;s&&(this.ignoreNextModification=!0,this.plugin.app.vault.adapter.write(this.plugin.gitManager.getRelativeVaultPath(s),n).catch(a=>this.plugin.displayError(a)))},1e3,!1)}getViewType(){return Os.type}getDisplayText(){var r;if(((r=this.state)==null?void 0:r.bFile)!=null){let i=this.state.bFile.split("/").last();i!=null&&i.endsWith(".md")&&(i=i.slice(0,-3));let n;return this.state.bRef==null?n=" (Working Tree)":this.state.bRef==""?n=" (Index)":n="("+this.state.bRef.substring(0,7)+")",`Diff: ${i} ${n}`}return Os.name}getIcon(){return Os.icon}async setState(r,i){this.state=r,ts.Platform.isMobile&&(this.leaf.view.titleEl.textContent=this.getDisplayText()),await super.setState(r,i),await this.createMergeView()}getState(){return this.state}onClose(){return window.clearInterval(this.intervalRef),super.onClose()}async onOpen(){return await this.createMergeView(),super.onOpen()}async gitShow(r,i){try{return await this.plugin.gitManager.show(r,i,!1)}catch(n){if(n instanceof Br&&(n.message.includes("does not exist")||n.message.includes("unknown revision or path")||n.message.includes("exists on disk, but not in")||n.message.includes("fatal: bad object")))return n.message.includes("fatal: bad object")&&this.plugin.displayError(n.message),"";throw n}}async bShouldBeEditable(){if(this.state.bRef!=null)return!1;let r=this.plugin.gitManager.getRelativeVaultPath(this.state.bFile);return await this.app.vault.adapter.exists(r)}async updateModifiableEditor(){if(!this.mergeView||this.refreshing)return;let r=this.mergeView.b;this.refreshing=!0;let i=await this.app.vault.adapter.read(this.state.bFile);if(i!=r.state.doc.toString()){let n=r.state.update({changes:{from:0,to:r.state.doc.length,insert:i},annotations:[Hl.Transaction.remote.of(!0)]});r.dispatch(n)}this.refreshing=!1}async updateRefEditors(){if(!this.mergeView||this.refreshing)return;let r=this.mergeView.a,i=this.mergeView.b;this.refreshing=!0;let n=await this.gitShow(this.state.aRef,this.state.aFile),s;if(this.state.bRef!=null&&(s=await this.gitShow(this.state.bRef,this.state.bFile)),n!=r.state.doc.toString()){let a=r.state.update({changes:{from:0,to:r.state.doc.length,insert:n}});r.dispatch(a)}if(s!=null&&s!=i.state.doc.toString()){let a=i.state.update({changes:{from:0,to:i.state.doc.length,insert:s}});i.dispatch(a)}this.refreshing=!1}renderButtons(r){let i=r.createDiv(),n=i.createDiv();if(n.addClass("clickable-icon"),n.setAttr("aria-label",this.state.bRef==null?"Stage hunk":"Unstage hunk"),(0,ts.setIcon)(n,this.state.bRef==null?"plus":"minus"),n.onmousedown=async s=>{var p;let a=this.mergeView.b,o=this.mergeView.a,l=kw(a.state),c=(p=i.parentElement)==null?void 0:p.indexOf(i),u=l.chunks[c],f=Tw(u,o.state.doc,a.state.doc),d=Aw(this.mergeView.a.state.doc.toString(),this.mergeView.b.state.doc.toString(),[f])[0],h=zt.createPatch(this.state.bFile,[d],"100644",this.state.bRef!=null).join(` `)+` `;await this.plugin.gitManager.applyPatch(h),this.plugin.app.workspace.trigger("obsidian-git:refresh")},this.state.bRef==null){let s=i.createDiv();s.addClass("clickable-icon"),s.setAttr("aria-label","Reset hunk"),(0,ts.setIcon)(s,"undo"),s.onmousedown=a=>{var d;let o=this.mergeView.a,l=this.mergeView.b,c=kw(l.state),u=(d=i.parentElement)==null?void 0:d.indexOf(i),f=c.chunks[u];if(f){let h=f.fromA,p=f.toA,g=f.fromB,v=f.toB,b=o.state.sliceDoc(h,Math.max(h,p-1));h!=p&&v<=l.state.doc.length&&(b+=o.state.lineBreak),l.dispatch({changes:{from:g,to:Math.min(l.state.doc.length,v),insert:b},userEvent:"revert"})}}}return i.onmousedown=s=>{s.preventDefault(),s.stopPropagation()},i}async createMergeView(){var r,i,n;if((r=this.state)!=null&&r.aFile&&((i=this.state)!=null&&i.bFile)&&!this.refreshing&&this.plugin.gitManager){this.refreshing=!0,(n=this.mergeView)==null||n.destroy();let s=this.containerEl.children[1];s.empty(),this.contentEl.addClass("git-split-diff-view","git-diff"),this.bIsEditable=await this.bShouldBeEditable();let a=await this.gitShow(this.state.aRef,this.state.aFile),o;if(this.state.bRef!=null)o=await this.gitShow(this.state.bRef,this.state.bFile);else{let g=this.plugin.gitManager.getRelativeVaultPath(this.state.bFile);await this.app.vault.adapter.exists(g)?o=await this.app.vault.adapter.read(g):o=""}let l=[(0,Yi.lineNumbers)(),(0,Xh.highlightSelectionMatches)(),(0,Yi.drawSelection)(),Yi.keymap.of([...Ul.standardKeymap,Ul.indentWithTab]),(0,Ul.history)(),(0,Xh.search)(),Yi.EditorView.lineWrapping,oP],c=this,u=Yi.ViewPlugin.define(g=>({update(v){if(v.docChanged&&!v.transactions.some(b=>b.annotation(Hl.Transaction.remote))){let b=g.state.doc.toString();c.fileSaveDebouncer(b)}}})),f={doc:a,extensions:[...l,Hl.EditorState.readOnly.of(!0),lP]},d=[...l];this.bIsEditable?d.push(u):d.push(Hl.EditorState.readOnly.of(!0),lP);let h={doc:o,extensions:d};s.addClasses(["cm-s-obsidian","mod-cm6","markdown-source-view","cm-content"]);let p=this.plugin.gitManager instanceof Se&&(this.state.bRef===void 0||this.state.bRef==="");this.mergeView=new Mh({b:h,a:f,collapseUnchanged:{minSize:6,margin:4},renderRevertControl:p?()=>this.renderButtons(s):void 0,revertControls:p?"a-to-b":void 0,diffConfig:{scanLimit:this.bIsEditable?1e3:1e4},parent:s}),this.refreshing=!1}}};m();var QR=require("obsidian");m();m();m();var cP,uP,fP;typeof window!="undefined"&&((fP=(uP=(cP=window.__svelte)!=null?cP:window.__svelte={}).v)!=null?fP:uP.v=new Set).add("5");m();m();m();var rs={};var Ye=Symbol("uninitialized"),Ti=Symbol("filename");var Qh="http://www.w3.org/1999/xhtml";m();m();m();m();var Jh=!0;m();var D=!1;m();var is=Array.isArray,dP=Array.prototype.indexOf,Ws=Array.prototype.includes,Gl=Array.from,Kw=Object.keys,or=Object.defineProperty,jr=Object.getOwnPropertyDescriptor,Xw=Object.getOwnPropertyDescriptors,Qw=Object.prototype,hP=Array.prototype,jl=Object.getPrototypeOf,Jw=Object.isExtensible;function e0(t){return typeof t=="function"}var lr=()=>{};function ep(t){for(var e=0;e{t=i,e=n});return{promise:r,resolve:t,reject:e}}m();m();var Jt=Symbol("$state"),Yu=Symbol("legacy props"),mP=Symbol(""),rp=Symbol("proxy path"),ip=Symbol("attributes"),Zu=Symbol("class"),t0=Symbol("style"),Ku=Symbol("text"),Ga=Symbol("form reset"),r0=Symbol("hmr anchor"),ns=new class extends Error{constructor(){super(...arguments);He(this,"name","StaleReactionError");He(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}},pP,i0=!!((pP=globalThis.document)!=null&&pP.contentType)&&globalThis.document.contentType.includes("xml");var Vl=3,Pi=8;m();m();function gP(t){if(D){let e=new Error(`invariant_violation An invariant violation occurred, meaning Svelte's internal assumptions were flawed. This is a bug in Svelte, not your app \u2014 please open an issue at https://github.com/sveltejs/svelte, citing the following message: "${t}" https://svelte.dev/e/invariant_violation`);throw e.name="Svelte error",e}else throw new Error("https://svelte.dev/e/invariant_violation")}function np(t){if(D){let e=new Error(`lifecycle_outside_component \`${t}(...)\` can only be used during component initialisation https://svelte.dev/e/lifecycle_outside_component`);throw e.name="Svelte error",e}else throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function wP(){if(D){let t=new Error("async_derived_orphan\nCannot create a `$derived(...)` with an `await` expression outside of an effect tree\nhttps://svelte.dev/e/async_derived_orphan");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/async_derived_orphan")}function n0(){if(D){let t=new Error("bind_invalid_checkbox_value\nUsing `bind:value` together with a checkbox input is not allowed. Use `bind:checked` instead\nhttps://svelte.dev/e/bind_invalid_checkbox_value");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/bind_invalid_checkbox_value")}function bP(){if(D){let t=new Error(`derived_references_self A derived value cannot reference itself recursively https://svelte.dev/e/derived_references_self`);throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/derived_references_self")}function s0(t,e,r){if(D){let i=new Error(`each_key_duplicate ${r?`Keyed each block has duplicate key \`${r}\` at indexes ${t} and ${e}`:`Keyed each block has duplicate key at indexes ${t} and ${e}`} https://svelte.dev/e/each_key_duplicate`);throw i.name="Svelte error",i}else throw new Error("https://svelte.dev/e/each_key_duplicate")}function _P(t,e,r){if(D){let i=new Error(`each_key_volatile Keyed each block has key that is not idempotent \u2014 the key for item at index ${t} was \`${e}\` but is now \`${r}\`. Keys must be the same each time for a given item https://svelte.dev/e/each_key_volatile`);throw i.name="Svelte error",i}else throw new Error("https://svelte.dev/e/each_key_volatile")}function yP(t){if(D){let e=new Error(`effect_in_teardown \`${t}\` cannot be used inside an effect cleanup function https://svelte.dev/e/effect_in_teardown`);throw e.name="Svelte error",e}else throw new Error("https://svelte.dev/e/effect_in_teardown")}function xP(){if(D){let t=new Error("effect_in_unowned_derived\nEffect cannot be created inside a `$derived` value that was not itself created inside an effect\nhttps://svelte.dev/e/effect_in_unowned_derived");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function EP(t){if(D){let e=new Error(`effect_orphan \`${t}\` can only be used inside an effect (e.g. during component initialisation) https://svelte.dev/e/effect_orphan`);throw e.name="Svelte error",e}else throw new Error("https://svelte.dev/e/effect_orphan")}function SP(){if(D){let t=new Error(`effect_update_depth_exceeded Maximum update depth exceeded. This typically indicates that an effect reads and writes the same piece of state https://svelte.dev/e/effect_update_depth_exceeded`);throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function kP(){if(D){let t=new Error(`hydration_failed Failed to hydrate the application https://svelte.dev/e/hydration_failed`);throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/hydration_failed")}function CP(t){if(D){let e=new Error(`props_invalid_value Cannot do \`bind:${t}={undefined}\` when \`${t}\` has a fallback value https://svelte.dev/e/props_invalid_value`);throw e.name="Svelte error",e}else throw new Error("https://svelte.dev/e/props_invalid_value")}function AP(t){if(D){let e=new Error(`rune_outside_svelte The \`${t}\` rune is only available inside \`.svelte\` and \`.svelte.js/ts\` files https://svelte.dev/e/rune_outside_svelte`);throw e.name="Svelte error",e}else throw new Error("https://svelte.dev/e/rune_outside_svelte")}function TP(){if(D){let t=new Error("state_descriptors_fixed\nProperty descriptors defined on `$state` objects must contain `value` and always be `enumerable`, `configurable` and `writable`.\nhttps://svelte.dev/e/state_descriptors_fixed");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function PP(){if(D){let t=new Error("state_prototype_fixed\nCannot set prototype of `$state` object\nhttps://svelte.dev/e/state_prototype_fixed");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/state_prototype_fixed")}function RP(){if(D){let t=new Error("state_unsafe_mutation\nUpdating state inside `$derived(...)`, `$inspect(...)` or a template expression is forbidden. If the value should not be reactive, declare it without `$state`\nhttps://svelte.dev/e/state_unsafe_mutation");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function $P(){if(D){let t=new Error("svelte_boundary_reset_onerror\nA `` `reset` function cannot be called while an error is still being handled\nhttps://svelte.dev/e/svelte_boundary_reset_onerror");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}m();m();m();var An="font-weight: bold",Tn="font-weight: normal";function FP(t){D?console.warn(`%c[svelte] await_reactivity_loss %cDetected reactivity loss when reading \`${t}\`. This happens when state is read in an async function after an earlier \`await\` https://svelte.dev/e/await_reactivity_loss`,An,Tn):console.warn("https://svelte.dev/e/await_reactivity_loss")}function IP(t,e){D?console.warn(`%c[svelte] await_waterfall %cAn async derived, \`${t}\` (${e}) was not read immediately after it resolved. This often indicates an unnecessary waterfall, which can slow down your app https://svelte.dev/e/await_waterfall`,An,Tn):console.warn("https://svelte.dev/e/await_waterfall")}function MP(){D?console.warn(`%c[svelte] derived_inert %cReading a derived belonging to a now-destroyed effect may result in stale values https://svelte.dev/e/derived_inert`,An,Tn):console.warn("https://svelte.dev/e/derived_inert")}function DP(t,e,r){D?console.warn(`%c[svelte] hydration_attribute_changed %cThe \`${t}\` attribute on \`${e}\` changed its value between server and client renders. The client value, \`${r}\`, will be ignored in favour of the server value https://svelte.dev/e/hydration_attribute_changed`,An,Tn):console.warn("https://svelte.dev/e/hydration_attribute_changed")}function ja(t){D?console.warn(`%c[svelte] hydration_mismatch %c${t?`Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near ${t}`:"Hydration failed because the initial UI does not match what was rendered on the server"} https://svelte.dev/e/hydration_mismatch`,An,Tn):console.warn("https://svelte.dev/e/hydration_mismatch")}function OP(){D?console.warn(`%c[svelte] lifecycle_double_unmount %cTried to unmount a component that was not mounted https://svelte.dev/e/lifecycle_double_unmount`,An,Tn):console.warn("https://svelte.dev/e/lifecycle_double_unmount")}function sp(t){D?console.warn(`%c[svelte] state_proxy_equality_mismatch %cReactive \`$state(...)\` proxies and the values they proxy have different identities. Because of this, comparisons with \`${t}\` will produce unexpected results https://svelte.dev/e/state_proxy_equality_mismatch`,An,Tn):console.warn("https://svelte.dev/e/state_proxy_equality_mismatch")}function LP(){D?console.warn(`%c[svelte] state_proxy_unmount %cTried to unmount a state proxy, rather than a component https://svelte.dev/e/state_proxy_unmount`,An,Tn):console.warn("https://svelte.dev/e/state_proxy_unmount")}function NP(){D?console.warn("%c[svelte] svelte_boundary_reset_noop\n%cA `` `reset` function only resets the boundary the first time it is called\nhttps://svelte.dev/e/svelte_boundary_reset_noop",An,Tn):console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function BP(t){D?console.warn(`%c[svelte] transition_slide_display %cThe \`slide\` transition does not work correctly for elements with \`display: ${t}\` https://svelte.dev/e/transition_slide_display`,An,Tn):console.warn("https://svelte.dev/e/transition_slide_display")}var ne=!1;function Mt(t){ne=t}var we;function ze(t){if(t===null)throw ja(),rs;return we=t}function cr(){return ze(tr(we))}function V(t){if(ne){if(tr(we)!==null)throw ja(),rs;we=t}}function Va(t=1){if(ne){for(var e=t,r=we;e--;)r=tr(r);we=r}}function Pn(t=!0){for(var e=0,r=we;;){if(r.nodeType===Pi){var i=r.data;if(i==="]"){if(e===0)return r;e-=1}else(i==="["||i==="[!"||i[0]==="["&&!isNaN(Number(i.slice(1))))&&(e+=1)}var n=tr(r);t&&r.remove(),r=n}}function Qu(t){if(!t||t.nodeType!==Pi)throw ja(),rs;return t.data}m();m();m();m();function ap(t){return t===this.v}function a0(t,e){return t!=t?e==e:t!==e||t!==null&&typeof t=="object"||typeof t=="function"}function op(t){return!a0(t,this.v)}m();var At=!1,ss=!1,Zi=!1;m();m();m();var Ju=null;function ur(t,e){return t.label=e,cp(t.v,e),t}function cp(t,e){var r;return(r=t==null?void 0:t[rp])==null||r.call(t,e),t}m();function Ki(t){let e=new Error,r=k5();return r.length===0?null:(r.unshift(` `),or(e,"stack",{value:r.join(` `)}),or(e,"name",{value:t}),e)}function k5(){let t=Error.stackTraceLimit;Error.stackTraceLimit=1/0;let e=new Error().stack;if(Error.stackTraceLimit=t,!e)return[];let r=e.split(` `),i=[];for(let n=0;n{e===za&&GP()})}za.push(t)}function jP(){for(;za.length>0;)GP()}m();var l0=new WeakMap;function fp(t){var e=Q;if(e===null)return ae.f|=8388608,t;if(D&&t instanceof Error&&!l0.has(t)&&l0.set(t,C5(t,e)),(e.f&32768)===0&&(e.f&4)===0)throw D&&!e.parent&&t instanceof Error&&VP(t),t;Ji(t,e)}function Ji(t,e){if(!(e!==null&&(e.f&16384)!==0)){for(;e!==null;){if((e.f&128)!==0){if((e.f&32768)===0)throw t;try{e.b.error(t);return}catch(r){t=r}}e=e.parent}throw D&&t instanceof Error&&VP(t),t}}function C5(t,e){var a,o,l;let r=jr(t,"message");if(!(r&&!r.configurable)){for(var i=tf?" ":" ",n=` ${i}in ${((a=e.fn)==null?void 0:a.name)||""}`,s=e.ctx;s!==null;)n+=` ${i}in ${(o=s.function)==null?void 0:o[Ti].split("/").pop()}`,s=s.p;return{message:t.message+` ${n} `,stack:(l=t.stack)==null?void 0:l.split(` `).filter(c=>!c.includes("svelte/src/internal")).join(` `)}}}function VP(t){let e=l0.get(t);e&&(or(t,"message",{value:e.message}),or(t,"stack",{value:e.stack}))}m();m();var A5=-7169;function Ue(t,e){t.f=t.f&A5|e}function Yl(t){(t.f&512)!==0||t.deps===null?Ue(t,1024):Ue(t,4096)}function zP(t){if(t!==null)for(let e of t)(e.f&2)===0||(e.f&65536)===0||(e.f^=65536,zP(e.deps))}function dp(t,e,r){(t.f&2048)!==0?e.add(t):(t.f&4096)!==0&&r.add(t),zP(t.deps),Ue(t,1024)}m();m();m();var WP=!1,hp=!1;function c0(t){var e=hp;try{return hp=!1,[t(),hp]}finally{hp=e}}m();m();m();m();function u0(t){ne&&nr(t)!==null&&Kl(t)}var qP=!1;function f0(){qP||(qP=!0,document.addEventListener("reset",t=>{Promise.resolve().then(()=>{var e;if(!t.defaultPrevented)for(let r of t.target.elements)(e=r[Ga])==null||e.call(r)})},{capture:!0}))}function zr(t){var e=ae,r=Q;Lt(null),Nt(null);try{return t()}finally{Lt(e),Nt(r)}}function d0(t,e,r,i=r){t.addEventListener(e,()=>zr(r));let n=t[Ga];n?t[Ga]=()=>{n(),i(!0)}:t[Ga]=()=>i(!0),f0()}m();m();m();function YP(t){let e=0,r=dr(0),i;return D&&ur(r,"createSubscriber version"),()=>{qs()&&(F(r),sr(()=>(e===0&&(i=Ze(()=>t(()=>Za(r)))),e+=1,()=>{Et(()=>{e-=1,e===0&&(i==null||i(),i=void 0,Za(r))})})))}}var P5=589824;function w0(t,e,r,i){new h0(t,e,r,i)}var ii,rf,Fi,Ka,Wr,Ii,Sr,ni,ls,Xa,Ys,Xl,nf,sf,Fn,gp,We,KP,XP,p0,QP,m0,pp,mp,g0,v0,h0=class{constructor(e,r,i,n){me(this,We);He(this,"parent");He(this,"is_pending",!1);He(this,"transform_error");me(this,ii);me(this,rf,ne?we:null);me(this,Fi);me(this,Ka);me(this,Wr);me(this,Ii,null);me(this,Sr,null);me(this,ni,null);me(this,ls,null);me(this,Xa,0);me(this,Ys,0);me(this,Xl,!1);me(this,nf,new Set);me(this,sf,new Set);me(this,Fn,null);me(this,gp,YP(()=>(fe(this,Fn,dr($(this,Xa))),D&&ur($(this,Fn),"$effect.pending()"),()=>{fe(this,Fn,null)})));var s,a;fe(this,ii,e),fe(this,Fi,r),fe(this,Ka,o=>{var l=Q;l.b=this,l.f|=128,i(o)}),this.parent=Q.b,this.transform_error=(a=n!=null?n:(s=this.parent)==null?void 0:s.transform_error)!=null?a:(o=>o),fe(this,Wr,ai(()=>{if(ne){let o=$(this,rf);cr();let l=o.data==="[!";if(o.data.startsWith("[?")){let u=JSON.parse(o.data.slice("[?".length));Ee(this,We,XP).call(this,u)}else l?Ee(this,We,QP).call(this):Ee(this,We,KP).call(this)}else Ee(this,We,m0).call(this)},P5)),ne&&fe(this,ii,we)}defer_effect(e){dp(e,$(this,nf),$(this,sf))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!$(this,Fi).pending}update_pending_count(e,r){Ee(this,We,g0).call(this,e,r),fe(this,Xa,$(this,Xa)+e),!(!$(this,Fn)||$(this,Xl))&&(fe(this,Xl,!0),Et(()=>{fe(this,Xl,!1),$(this,Fn)&&en($(this,Fn),$(this,Xa))}))}get_effect_pending(){return $(this,gp).call(this),F($(this,Fn))}error(e){var r;if(!$(this,Fi).onerror&&!$(this,Fi).failed)throw e;(r=oe)!=null&&r.is_fork?($(this,Ii)&&oe.skip_effect($(this,Ii)),$(this,Sr)&&oe.skip_effect($(this,Sr)),$(this,ni)&&oe.skip_effect($(this,ni)),oe.oncommit(()=>{Ee(this,We,v0).call(this,e)})):Ee(this,We,v0).call(this,e)}};ii=new WeakMap,rf=new WeakMap,Fi=new WeakMap,Ka=new WeakMap,Wr=new WeakMap,Ii=new WeakMap,Sr=new WeakMap,ni=new WeakMap,ls=new WeakMap,Xa=new WeakMap,Ys=new WeakMap,Xl=new WeakMap,nf=new WeakMap,sf=new WeakMap,Fn=new WeakMap,gp=new WeakMap,We=new WeakSet,KP=function(){try{fe(this,Ii,Bt(()=>$(this,Ka).call(this,$(this,ii))))}catch(e){this.error(e)}},XP=function(e){let r=$(this,Fi).failed,{reset:i,invoke_onerror:n}=Ee(this,We,p0).call(this,e);Et(n),r&&fe(this,ni,Bt(()=>{r($(this,ii),()=>e,()=>i)}))},p0=function(e){var r=!1,i=!1;let n=()=>{if(r){NP();return}r=!0,i&&$P(),$(this,ni)!==null&&In($(this,ni),()=>{fe(this,ni,null)}),Ee(this,We,mp).call(this,()=>{Ee(this,We,m0).call(this)})};return{reset:n,invoke_onerror:()=>{var a,o;try{i=!0,(o=(a=$(this,Fi)).onerror)==null||o.call(a,e,n),i=!1}catch(l){Ji(l,$(this,Wr)&&$(this,Wr).parent)}}}},QP=function(){let e=$(this,Fi).pending;e&&(this.is_pending=!0,fe(this,Sr,Bt(()=>e($(this,ii)))),Et(()=>{var r=fe(this,ls,document.createDocumentFragment()),i=Ht();r.append(i),fe(this,Ii,Ee(this,We,mp).call(this,()=>Bt(()=>$(this,Ka).call(this,i)))),$(this,Ys)===0&&($(this,ii).before(r),fe(this,ls,null),In($(this,Sr),()=>{fe(this,Sr,null)}),Ee(this,We,pp).call(this,oe))}))},m0=function(){try{if(this.is_pending=this.has_pending_snippet(),fe(this,Ys,0),fe(this,Xa,0),fe(this,Ii,Bt(()=>{$(this,Ka).call(this,$(this,ii))})),$(this,Ys)>0){var e=fe(this,ls,document.createDocumentFragment());Ql($(this,Ii),e);let r=$(this,Fi).pending;fe(this,Sr,Bt(()=>r($(this,ii))))}else Ee(this,We,pp).call(this,oe)}catch(r){this.error(r)}},pp=function(e){this.is_pending=!1,e.transfer_effects($(this,nf),$(this,sf))},mp=function(e){var r=Q,i=ae,n=ye;Nt($(this,Wr)),Lt($(this,Wr)),as($(this,Wr).ctx);try{return si.ensure(),e()}catch(s){return fp(s),null}finally{Nt(r),Lt(i),as(n)}},g0=function(e,r){var i;if(!this.has_pending_snippet()){this.parent&&Ee(i=this.parent,We,g0).call(i,e,r);return}fe(this,Ys,$(this,Ys)+e),$(this,Ys)===0&&(Ee(this,We,pp).call(this,r),$(this,Sr)&&In($(this,Sr),()=>{fe(this,Sr,null)}),$(this,ls)&&($(this,ii).before($(this,ls)),fe(this,ls,null)))},v0=function(e){$(this,Ii)&&(vt($(this,Ii)),fe(this,Ii,null)),$(this,Sr)&&(vt($(this,Sr)),fe(this,Sr,null)),$(this,ni)&&(vt($(this,ni)),fe(this,ni,null)),ne&&(ze($(this,rf)),Va(),ze(Pn()));let r=$(this,Fi).failed,i=n=>{let{reset:s,invoke_onerror:a}=Ee(this,We,p0).call(this,n);a(),r&&fe(this,ni,Ee(this,We,mp).call(this,()=>{try{return Bt(()=>{var o=Q;o.b=this,o.f|=128,r($(this,ii),()=>n,()=>s)})}catch(o){return Ji(o,$(this,Wr).parent),null}}))};Et(()=>{var n;try{n=this.transform_error(e)}catch(s){Ji(s,$(this,Wr)&&$(this,Wr).parent);return}n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(i,s=>Ji(s,$(this,Wr)&&$(this,Wr).parent)):i(n)})};function vp(t,e,r,i){let n=$n()?Zs:Qa;var s=t.filter(h=>!h.settled),a=e.map(n);if(D&&a.forEach((h,p)=>{h.label=e[p].toString().replace("() => ","").replaceAll("$.eager(() => ","$state.eager(").replace(/\$\.get\((.+?)\)/g,(g,v)=>v)}),r.length===0&&s.length===0){i(a);return}var o=Q,l=JP(),c=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(h=>h.promise)):null;function u(h){if((o.f&16384)===0){l();try{i([...a,...h])}catch(p){Ji(p,o)}Jl()}}var f=b0();if(r.length===0){c.then(()=>u([])).finally(f);return}function d(){Promise.all(r.map(h=>y0(h))).then(u).catch(h=>Ji(h,o)).finally(f)}c?c.then(()=>{l(),d(),Jl()}):d()}function JP(){var t=Q,e=ae,r=ye,i=oe;if(D)var n=Rn;return function(a=!0){Nt(t),Lt(e),as(r),a&&(t.f&16384)===0&&(i==null||i.activate(),i==null||i.apply()),D&&(_0(null),ql(n))}}function Jl(t=!0){var e;Nt(null),Lt(null),as(null),t&&((e=oe)==null||e.deactivate()),D&&(_0(null),ql(null))}function b0(){var t=Q,e=t.b,r=oe,i=!!(e!=null&&e.is_rendered());return e==null||e.update_pending_count(1,r),r.increment(i,t),()=>{e==null||e.update_pending_count(-1,r),r.decrement(i,t)}}var Yr=null;function _0(t){Yr=t}var af=new Set;function Zs(t){var e=2050;Q!==null&&(Q.f|=524288);let r={ctx:ye,deps:null,effects:null,equals:ap,f:e,fn:t,reactions:null,rv:0,v:Ye,wv:0,parent:Q,ac:null};return D&&Zi&&(r.created=Ki("created at")),r}var ec=Symbol("obsolete");function y0(t,e,r){let i=Q;i===null&&wP();var n=void 0,s=dr(Ye);D&&(s.label=e!=null?e:t.toString());var a=!ae,o=new Set;return rR(()=>{var h,p;var l=Q;D&&(Yr={effect:l,effect_deps:new Set,warned:!1});var c=tp();n=c.promise;try{Promise.resolve(t()).then(c.resolve,g=>{g!==ns&&c.reject(g)}).finally(Jl)}catch(g){c.reject(g),Jl()}if(D){if(Yr){if(l.deps!==null)for(let g=0;g{D&&(Yr=null),f==null||f(),o.delete(c),v!==ec&&(u.activate(),v?(s.f|=8388608,en(s,v)):((s.f&8388608)!==0&&(s.f^=8388608),D&&r!==void 0&&!s.equals(g)&&(af.add(s),setTimeout(()=>{af.has(s)&&(l.f&16384)===0&&(IP(s.label,r),af.delete(s))})),en(s,g)),u.deactivate())};c.promise.then(d,g=>d(null,g||"unknown"))}),rr(()=>{for(let l of o)l.reject(ec)}),D&&(s.f|=4194304),new Promise(l=>{function c(u){function f(){u===n?l(s):c(n)}u.then(f,f)}c(n)})}function ut(t){let e=Zs(t);return At||_p(e),e}function Qa(t){let e=Zs(t);return e.equals=op,e}function eR(t){var e=t.effects;if(e!==null){t.effects=null;for(var r=0;r{r.ac.abort(ns),r.ac=null}),r.fn!==null&&(r.teardown=lr),eo(r,0),lf(r))}function S0(t){if(t.effects!==null)for(let e of t.effects)e.teardown&&e.fn!==null&&Mn(e)}var yp=null,rc=null,oe=null,us=null,Tt=null,A0=null,Wa=!1,k0=!1,to=null,ff=null,iR=0,C0=new Set,F5=1,nc,fs,ds,sc,ac,oc,hs,lc,Cr,df,ps,tn,Dn,cc,Ks,Ne,T0,cf,P0,sR,aR,ic,oR,uf,xp=class xp{constructor(){me(this,Ne);He(this,"id",F5++);me(this,nc,!1);He(this,"linked",!0);me(this,fs,null);me(this,ds,null);He(this,"async_deriveds",new Map);He(this,"current",new Map);He(this,"previous",new Map);me(this,sc,new Set);me(this,ac,new Set);me(this,oc,0);me(this,hs,new Map);me(this,lc,null);me(this,Cr,[]);me(this,df,[]);me(this,ps,new Set);me(this,tn,new Set);me(this,Dn,new Map);me(this,cc,new Set);He(this,"is_fork",!1);me(this,Ks,!1);rc===null?yp=rc=this:(fe(rc,ds,this),fe(this,fs,rc)),rc=this}skip_effect(e){$(this,Dn).has(e)||$(this,Dn).set(e,{d:[],m:[]}),$(this,cc).delete(e)}unskip_effect(e,r=i=>this.schedule(i)){var i=$(this,Dn).get(e);if(i){$(this,Dn).delete(e);for(var n of i.d)Ue(n,2048),r(n);for(n of i.m)Ue(n,4096),r(n)}$(this,cc).add(e)}capture(e,r,i=!1){e.v!==Ye&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&8388608)===0&&(this.current.set(e,[r,i]),Tt==null||Tt.set(e,r)),this.is_fork||(e.v=r)}activate(){oe=this}deactivate(){oe=null,Tt=null}flush(){try{D&&C0.clear(),k0=!0,oe=this,Ee(this,Ne,cf).call(this)}finally{if(iR=0,A0=null,to=null,ff=null,k0=!1,oe=null,Tt=null,ms.clear(),D)for(let e of C0)e.updated=null}}discard(){var e;for(let r of $(this,ac))r(this);$(this,ac).clear();for(let r of this.async_deriveds.values())r.reject(ec);Ee(this,Ne,uf).call(this),(e=$(this,lc))==null||e.resolve()}register_created_effect(e){$(this,df).push(e)}increment(e,r){var i;if(fe(this,oc,$(this,oc)+1),e){let n=(i=$(this,hs).get(r))!=null?i:0;$(this,hs).set(r,n+1)}}decrement(e,r){var i;if(fe(this,oc,$(this,oc)-1),e){let n=(i=$(this,hs).get(r))!=null?i:0;n===1?$(this,hs).delete(r):$(this,hs).set(r,n-1)}$(this,Ks)||(fe(this,Ks,!0),Et(()=>{fe(this,Ks,!1),this.linked&&this.flush()}))}transfer_effects(e,r){for(let i of e)$(this,ps).add(i);for(let i of r)$(this,tn).add(i);e.clear(),r.clear()}oncommit(e){$(this,sc).add(e)}ondiscard(e){$(this,ac).add(e)}settled(){var e;return((e=$(this,lc))!=null?e:fe(this,lc,tp())).promise}static ensure(){if(oe===null){let e=oe=new xp;!k0&&!Wa&&Et(()=>{$(e,nc)||e.flush()})}return oe}apply(){if(!At||!this.is_fork&&$(this,fs)===null&&$(this,ds)===null){Tt=null;return}Tt=new Map;for(let[r,[i]]of this.current)Tt.set(r,i);for(let r=yp;r!==null;r=$(r,ds))if(!(r===this||r.is_fork)){var e=!1;if(r.id1e3&&(Ee(this,Ne,uf).call(this),I5()),D)for(let d of this.current.keys())C0.add(d);for(let d of $(this,ps))$(this,tn).delete(d),Ue(d,2048),this.schedule(d);for(let d of $(this,tn))Ue(d,4096),this.schedule(d);let e=$(this,Cr);fe(this,Cr,[]),this.apply();var r=to=[],i=[],n=ff=[];for(let d of e)try{Ee(this,Ne,P0).call(this,d,r,i)}catch(h){throw uR(d),Ee(this,Ne,T0).call(this)||this.discard(),h}if(oe=null,n.length>0){var s=xp.ensure();for(let d of n)s.schedule(d)}if(to=null,ff=null,Ee(this,Ne,T0).call(this)){Ee(this,Ne,ic).call(this,i),Ee(this,Ne,ic).call(this,r);for(let[d,h]of $(this,Dn))cR(d,h);n.length>0&&Ee(l=oe,Ne,cf).call(l);return}let a=Ee(this,Ne,sR).call(this);if(a){Ee(this,Ne,ic).call(this,i),Ee(this,Ne,ic).call(this,r),Ee(c=a,Ne,aR).call(c,this);return}$(this,ps).clear(),$(this,tn).clear();for(let d of $(this,sc))d(this);$(this,sc).clear(),us=this,nR(i),nR(r),us=null,(u=$(this,lc))==null||u.resolve();var o=oe;if($(this,oc)===0&&($(this,Cr).length===0||o!==null)&&(Ee(this,Ne,uf).call(this),At&&(Ee(this,Ne,oR).call(this),oe=o)),$(this,Cr).length>0)if(o!==null){let d=o;$(d,Cr).push(...$(this,Cr).filter(h=>!$(d,Cr).includes(h)))}else o=this;o!==null&&Ee(f=o,Ne,cf).call(f)},P0=function(e,r,i){e.f^=1024;for(var n=e.first;n!==null;){var s=n.f,a=(s&96)!==0,o=a&&(s&1024)!==0,l=o||(s&8192)!==0||$(this,Dn).has(n);if(!l&&n.fn!==null){a?n.f^=1024:(s&4)!==0?r.push(n):At&&(s&16777224)!==0?i.push(n):Xs(n)&&((s&16)!==0&&$(this,tn).add(n),Mn(n));var c=n.first;if(c!==null){n=c;continue}}for(;n!==null;){var u=n.next;if(u!==null){n=u;break}n=n.parent}}},sR=function(){for(var e=$(this,fs);e!==null;){if(!e.is_fork){for(let[r,[,i]]of this.current)if(e.current.has(r)&&!i)return e}e=$(e,fs)}return null},aR=function(e){var i;for(let[n,s]of e.current)!this.previous.has(n)&&e.previous.has(n)&&this.previous.set(n,e.previous.get(n)),this.current.set(n,s);for(let[n,s]of e.async_deriveds){let a=this.async_deriveds.get(n);a&&s.promise.then(a.resolve).catch(a.reject)}e.async_deriveds.clear(),this.transfer_effects($(e,ps),$(e,tn));let r=n=>{var s=n.reactions;if(s!==null&&!((n.f&2)!==0&&(n.f&6144)===0))for(let l of s){var a=l.f;if((a&2)!==0)r(l);else{var o=l;a&4194320&&!this.async_deriveds.has(o)&&($(this,tn).delete(o),Ue(o,2048),this.schedule(o))}}};for(let n of this.current.keys())r(n);this.oncommit(()=>e.discard()),Ee(i=e,Ne,uf).call(i),oe=this,Ee(this,Ne,cf).call(this)},ic=function(e){for(var r=0;r!d.current.get(h)[1]);if(!(!$(d,nc)||n.length===0)){var s=n.filter(h=>!this.current.has(h));if(s.length===0)e&&d.discard();else if(r.length>0){if(D&&!$(d,Ks)&&UP($(d,Cr).length===0,"Batch has scheduled roots"),e)for(let h of $(this,cc))d.unskip_effect(h,p=>{var g;(p.f&4194320)!==0?d.schedule(p):Ee(g=d,Ne,ic).call(g,[p])});d.activate();var a=new Set,o=new Map;for(var l of r)lR(l,s,a,o);o=new Map;var c=[...d.current].filter(([h,p])=>{let g=this.current.get(h);return g?g[0]!==p[0]||g[1]!==p[1]:!0}).map(([h])=>h);if(c.length>0)for(let h of $(this,df))(h.f&155648)===0&&R0(h,c,o)&&((h.f&4194320)!==0?(Ue(h,2048),d.schedule(h)):$(d,ps).add(h));if($(d,Cr).length>0&&!$(d,Ks)){d.apply();for(var u of $(d,Cr))Ee(f=d,Ne,P0).call(f,u,[],[]);fe(d,Cr,[])}d.deactivate()}}}},uf=function(){if(this.linked){var e=$(this,fs),r=$(this,ds);e===null?yp=r:fe(e,ds,r),r===null?rc=e:fe(r,fs,e),this.linked=!1}};var si=xp;function io(t){var e=Wa;Wa=!0;try{var r;for(t&&(oe!==null&&!oe.is_fork&&oe.flush(),r=t());;){if(jP(),oe===null)return r;oe.flush()}}finally{Wa=e}}function I5(){var r;if(D){var t=new Map;for(let i of oe.current.keys())for(let[n,s]of(r=i.updated)!=null?r:[]){var e=t.get(n);e||(e={error:s.error,count:0},t.set(n,e)),e.count+=s.count}for(let i of t.values())i.error&&console.error(i.error)}try{SP()}catch(i){D&&or(i,"stack",{value:""}),Ji(i,A0)}}var Zr=null;function nR(t){var e=t.length;if(e!==0){for(var r=0;r0)){ms.clear();for(let n of Zr){if((n.f&24576)!==0)continue;let s=[n],a=n.parent;for(;a!==null;)Zr.has(a)&&(Zr.delete(a),s.push(a)),a=a.parent;for(let o=s.length-1;o>=0;o--){let l=s[o];(l.f&24576)===0&&Mn(l)}}Zr.clear()}}Zr=null}}function lR(t,e,r,i){if(!r.has(t)&&(r.add(t),t.reactions!==null))for(let n of t.reactions){let s=n.f;(s&2)!==0?lR(n,e,r,i):(s&4194320)!==0&&(s&2048)===0&&R0(n,e,i)&&(Ue(n,2048),pf(n))}}function R0(t,e,r){let i=r.get(t);if(i!==void 0)return i;if(t.deps!==null)for(let n of t.deps){if(Ws.call(e,n))return!0;if((n.f&2)!==0&&R0(n,e,r))return r.set(n,!0),!0}return r.set(t,!1),!1}function pf(t){oe.schedule(t)}function cR(t,e){if(!((t.f&32)!==0&&(t.f&1024)!==0)){(t.f&2048)!==0?e.d.push(t):(t.f&4096)!==0&&e.m.push(t),Ue(t,1024);for(var r=t.first;r!==null;)cR(r,e),r=r.next}}function uR(t){Ue(t,1024);for(var e=t.first;e!==null;)uR(e),e=e.next}var Ja=new Set,ms=new Map;function wp(t){Ja=t}var F0=!1;function dR(){F0=!0}function dr(t,e){var r={f:0,v:t,reactions:null,equals:ap,rv:0,wv:0};return D&&Zi&&(r.created=e!=null?e:Ki("created at"),r.updated=null,r.set_during_effect=!1,r.trace=null),r}function Oe(t,e){let r=dr(t,e);return _p(r),r}function qa(t,e=!1,r=!0){var n,s;let i=dr(t);return e||(i.equals=op),ss&&r&&ye!==null&&ye.l!==null&&((s=(n=ye.l).s)!=null?s:n.s=[]).push(i),i}function se(t,e,r=!1){ae!==null&&(!Ar||(ae.f&131072)!==0)&&$n()&&(ae.f&4325394)!==0&&(li===null||!li.has(t))&&RP();let i=r?et(e):e;return D&&cp(i,t.label),en(t,i,ff)}function en(t,e,r=null){var n,s,a;if(!t.equals(e)){ms.set(t,oi?e:t.v);var i=si.ensure();if(i.capture(t,e),D){if(Zi||Q!==null){(n=t.updated)!=null||(t.updated=new Map);let o=((a=(s=t.updated.get(""))==null?void 0:s.count)!=null?a:0)+1;if(t.updated.set("",{error:null,count:o}),Zi||o>5){let l=Ki("updated at");if(l!==null){let c=t.updated.get(l.stack);c||(c={error:l,count:0},t.updated.set(l.stack,c)),c.count++}}}Q!==null&&(t.set_during_effect=!0)}if((t.f&2)!==0){let o=t;(t.f&2048)!==0&&of(o),Tt===null&&Yl(o)}t.wv=tc(),hR(t,2048,r),$n()&&Q!==null&&(Q.f&1024)!==0&&(Q.f&96)===0&&(ci===null?pR([t]):ci.push(t)),!i.is_fork&&Ja.size>0&&!F0&&Ep()}return e}function Ep(){F0=!1;for(let t of Ja){(t.f&1024)!==0&&Ue(t,4096);let e;try{e=Xs(t)}catch(r){e=!0}e&&Mn(t)}Ja.clear()}function Za(t){se(t,t.v+1)}function hR(t,e,r){var d;var i=t.reactions;if(i!==null)for(var n=$n(),s=i.length,a=0;a{if(Qs===a)return f();var d=ae,h=Qs;Lt(null),I0(a);var p=f();return Lt(d),I0(h),p};i&&(r.set("length",Oe(t.length,s)),D&&(t=L5(t)));var l="";let c=!1;function u(f){if(!c){c=!0,l=f,ur(n,`${l} version`);for(let[d,h]of r)ur(h,no(l,d));c=!1}}return new Proxy(t,{defineProperty(f,d,h){(!("value"in h)||h.configurable===!1||h.enumerable===!1||h.writable===!1)&&TP();var p=r.get(d);return p===void 0?o(()=>{var g=Oe(h.value,s);return r.set(d,g),D&&typeof d=="string"&&ur(g,no(l,d)),g}):se(p,h.value,!0),!0},deleteProperty(f,d){var h=r.get(d);if(h===void 0){if(d in f){let p=o(()=>Oe(Ye,s));r.set(d,p),Za(n),D&&ur(p,no(l,d))}}else se(h,Ye),Za(n);return!0},get(f,d,h){var b;if(d===Jt)return t;if(D&&d===rp)return u;var p=r.get(d),g=d in f;if(p===void 0&&(!g||(b=jr(f,d))!=null&&b.writable)&&(p=o(()=>{var _=et(g?f[d]:Ye),C=Oe(_,s);return D&&ur(C,no(l,d)),C}),r.set(d,p)),p!==void 0){var v=F(p);return v===Ye?void 0:v}return Reflect.get(f,d,h)},getOwnPropertyDescriptor(f,d){var h=Reflect.getOwnPropertyDescriptor(f,d);if(h&&"value"in h){var p=r.get(d);p&&(h.value=F(p))}else if(h===void 0){var g=r.get(d),v=g==null?void 0:g.v;if(g!==void 0&&v!==Ye)return{enumerable:!0,configurable:!0,value:v,writable:!0}}return h},has(f,d){var v;if(d===Jt)return!0;var h=r.get(d),p=h!==void 0&&h.v!==Ye||Reflect.has(f,d);if(h!==void 0||Q!==null&&(!p||(v=jr(f,d))!=null&&v.writable)){h===void 0&&(h=o(()=>{var b=p?et(f[d]):Ye,_=Oe(b,s);return D&&ur(_,no(l,d)),_}),r.set(d,h));var g=F(h);if(g===Ye)return!1}return p},set(f,d,h,p){var w;var g=r.get(d),v=d in f;if(i&&d==="length")for(var b=h;bOe(Ye,s)),r.set(b+"",_),D&&ur(_,no(l,b)))}if(g===void 0)(!v||(w=jr(f,d))!=null&&w.writable)&&(g=o(()=>Oe(void 0,s)),D&&ur(g,no(l,d)),se(g,et(h)),r.set(d,g));else{v=g.v!==Ye;var C=o(()=>et(h));se(g,C)}var x=Reflect.getOwnPropertyDescriptor(f,d);if(x!=null&&x.set&&x.set.call(p,h),!v){if(i&&typeof d=="string"){var S=r.get("length"),A=Number(d);Number.isInteger(A)&&A>=S.v&&se(S,A+1)}Za(n)}return!0},ownKeys(f){F(n);var d=Reflect.ownKeys(f).filter(g=>{var v=r.get(g);return v===void 0||v.v!==Ye});for(var[h,p]of r)p.v!==Ye&&!(h in f)&&d.push(h);return d},setPrototypeOf(){PP()}})}function no(t,e){var r;return typeof e=="symbol"?`${t}[Symbol(${(r=e.description)!=null?r:""})]`:D5.test(e)?`${t}.${e}`:/^\d+$/.test(e)?`${t}[${e}]`:`${t}['${e}']`}function Sp(t){try{if(t!==null&&typeof t=="object"&&Jt in t)return t[Jt]}catch(e){}return t}var O5=new Set(["copyWithin","fill","pop","push","reverse","shift","sort","splice","unshift"]);function L5(t){return new Proxy(t,{get(e,r,i){var n=Reflect.get(e,r,i);return O5.has(r)?function(...s){dR();var a=n.apply(this,s);return Ep(),a}:n}})}function mR(){let t=Array.prototype,e=Array.__svelte_cleanup;e&&e();let{indexOf:r,lastIndexOf:i,includes:n}=t;t.indexOf=function(s,a){let o=r.call(this,s,a);if(o===-1){for(let l=a!=null?a:0;l{t.indexOf=r,t.lastIndexOf=i,t.includes=n}}var M0,gR,tf,vR,wR;function kp(){if(M0===void 0){M0=window,gR=document,tf=/Firefox/.test(navigator.userAgent);var t=Element.prototype,e=Node.prototype,r=Text.prototype;vR=jr(e,"firstChild").get,wR=jr(e,"nextSibling").get,Jw(t)&&(t[Zu]=void 0,t[ip]=null,t[t0]=void 0,t.__e=void 0),Jw(r)&&(r[Ku]=void 0),D&&(t.__svelte_meta=null,mR())}}function Ht(t=""){return document.createTextNode(t)}function nr(t){return vR.call(t)}function tr(t){return wR.call(t)}function z(t,e){if(!ne)return nr(t);var r=nr(we);if(r===null)r=we.appendChild(Ht());else if(e&&r.nodeType!==Vl){var i=Ht();return r==null||r.before(i),ze(i),i}return e&&Ap(r),ze(r),r}function Mi(t,e=!1){var n,s;if(!ne){var r=nr(t);return r instanceof Comment&&r.data===""?tr(r):r}if(e){if(((n=we)==null?void 0:n.nodeType)!==Vl){var i=Ht();return(s=we)==null||s.before(i),ze(i),i}Ap(we)}return we}function ie(t,e=1,r=!1){let i=ne?we:t;for(var n;e--;)n=i,i=tr(i);if(!ne)return i;if(r){if((i==null?void 0:i.nodeType)!==Vl){var s=Ht();return i===null?n==null||n.after(s):i.before(s),ze(s),s}Ap(i)}return ze(i),i}function Kl(t){t.textContent=""}function Cp(){if(!At||Zr!==null)return!1;var t=Q.f;return(t&32768)!==0}function On(t,e,r){return e==null||e===Qh?r?document.createElement(t,{is:r}):document.createElement(t):r?document.createElementNS(e,t,{is:r}):document.createElementNS(e,t)}function Ap(t){if(t.nodeValue.length<65536)return;let e=t.nextSibling;for(;e!==null&&e.nodeType===Vl;)e.remove(),t.nodeValue+=e.nodeValue,e=t.nextSibling}function _R(t){Q===null&&(ae===null&&EP(t),xP()),oi&&yP(t)}function B5(t,e){var r=e.last;r===null?e.last=e.first=t:(r.next=t,t.prev=r,e.last=t)}function Ln(t,e){var a,o;var r=Q;if(D)for(;r!==null&&(r.f&131072)!==0;)r=r.parent;r!==null&&(r.f&8192)!==0&&(t|=8192);var i={ctx:ye,deps:null,nodes:null,f:t|2048|512,first:null,fn:e,last:null,next:null,parent:r,b:r&&r.b,prev:null,teardown:null,wv:0,ac:null};D&&(i.component_function=Xi),(a=oe)==null||a.register_created_effect(i);var n=i;if((t&4)!==0)to!==null?to.push(i):si.ensure().schedule(i);else if(e!==null){try{Mn(i)}catch(l){throw vt(i),l}n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&524288)===0&&(n=n.first,(t&16)!==0&&(t&65536)!==0&&n!==null&&(n.f|=65536))}if(n!==null&&(n.parent=r,r!==null&&B5(n,r),ae!==null&&(ae.f&2)!==0&&(t&64)===0)){var s=ae;((o=s.effects)!=null?o:s.effects=[]).push(n)}return i}function qs(){return ae!==null&&!Ar}function rr(t){let e=Ln(8,null);return Ue(e,1024),e.teardown=t,e}function hr(t){var n;_R("$effect"),D&&or(t,"name",{value:"$effect"});var e=Q.f,r=!ae&&(e&32)!==0&&ye!==null&&!ye.i;if(r){var i=ye;((n=i.e)!=null?n:i.e=[]).push(t)}else return o0(t)}function o0(t){return Ln(1048580,t)}function O0(t){si.ensure();let e=Ln(524352,t);return()=>{vt(e)}}function yR(t){si.ensure();let e=Ln(524352,t);return(r={})=>new Promise(i=>{r.outro?In(e,()=>{vt(e),i(void 0)}):(vt(e),i(void 0))})}function Kr(t){return Ln(4,t)}function rR(t){return Ln(4718592,t)}function sr(t,e=0){return Ln(8|e,t)}function je(t,e=[],r=[],i=[]){vp(i,e,r,n=>{Ln(8,()=>{t(...n.map(F))})})}function ai(t,e=0){var r=Ln(16|e,t);return D&&(r.dev_stack=Rn),r}function Bt(t){return Ln(524320,t)}function L0(t){var e=t.teardown;if(e!==null){let r=oi,i=ae;D0(!0),Lt(null);try{e.call(null)}finally{D0(r),Lt(i)}}}function lf(t,e=!1){var r=t.first;for(t.first=t.last=null;r!==null;){let n=r.ac;n!==null&&zr(()=>{n.abort(ns)});var i=r.next;(r.f&64)!==0?r.parent=null:vt(r,e),r=i}}function xR(t){for(var e=t.first;e!==null;){var r=e.next;(e.f&32)===0&&vt(e),e=r}}function vt(t,e=!0){var r=!1;(e||(t.f&262144)!==0)&&t.nodes!==null&&t.nodes.end!==null&&(ER(t.nodes.start,t.nodes.end),r=!0),t.f|=33554432,lf(t,e&&!r),eo(t,0);var i=t.nodes&&t.nodes.t;if(i!==null)for(let s of i)s.stop();L0(t),t.f^=33554432,t.f|=16384;var n=t.parent;n!==null&&n.first!==null&&$0(t),D&&(t.component_function=null),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes=t.ac=t.b=null}function ER(t,e){for(;t!==null;){var r=t===e?null:tr(t);t.remove(),t=r}}function $0(t){var e=t.parent,r=t.prev,i=t.next;r!==null&&(r.next=i),i!==null&&(i.prev=r),e!==null&&(e.first===t&&(e.first=i),e.last===t&&(e.last=r))}function In(t,e,r=!0){var i=[];SR(t,i,!0);var n=()=>{r&&vt(t),e&&e()},s=i.length;if(s>0){var a=()=>--s||n();for(var o of i)o.out(a)}else n()}function SR(t,e,r){if((t.f&8192)===0){t.f^=8192;var i=t.nodes&&t.nodes.t;if(i!==null)for(let o of i)(o.is_global||r)&&e.push(o);for(var n=t.first;n!==null;){var s=n.next;if((n.f&64)===0){var a=(n.f&65536)!==0||(n.f&32)!==0&&(t.f&16)!==0;SR(n,e,a?r:!1)}n=s}}}function fc(t){kR(t,!0)}function kR(t,e){if((t.f&8192)!==0){t.f^=8192,(t.f&1024)===0&&(Ue(t,2048),si.ensure().schedule(t));for(var r=t.first;r!==null;){var i=r.next,n=(r.f&65536)!==0||(r.f&32)!==0;kR(r,n?e:!1),r=i}var s=t.nodes&&t.nodes.t;if(s!==null)for(let a of s)(a.is_global||e)&&a.in()}}function Ql(t,e){if(t.nodes)for(var r=t.nodes.start,i=t.nodes.end;r!==null;){var n=r===i?null:tr(r);e.append(r),r=n}}m();var CR=null;var Tp=!1,oi=!1;function D0(t){oi=t}var ae=null,Ar=!1;function Lt(t){ae=t}var Q=null;function Nt(t){Q=t}var li=null;function _p(t){ae!==null&&(!At||(ae.f&2)!==0)&&(li!=null?li:li=new Set).add(t)}var Yt=null,kr=0,ci=null;function pR(t){ci=t}var AR=1,so=0,Qs=so;function I0(t){Qs=t}function tc(){return++AR}function Xs(t){var e=t.f;if((e&2048)!==0)return!0;if(e&2&&(t.f&=-65537),(e&4096)!==0){for(var r=t.deps,i=r.length,n=0;nt.wv)return!0}(e&512)!==0&&Tt===null&&Ue(t,1024)}return!1}function TR(t,e,r=!0){var i=t.reactions;if(i!==null&&!(!At&&li!==null&&li.has(t)))for(var n=0;n{t.ac.abort(ns)}),t.ac=null);try{t.f|=2097152;var u=t.fn,f=u();t.f|=32768;var d=t.deps,h=(g=oe)==null?void 0:g.is_fork;if(Yt!==null){var p;if(h||eo(t,kr),d!==null&&kr>0)for(d.length=kr+Yt.length,p=0;p{s.ac.abort(ns),s.ac=null,Ue(s,2048)}),tR(s),eo(s,0)}}function eo(t,e){var r=t.deps;if(r!==null)for(var i=e;i{requestAnimationFrame(()=>t()),setTimeout(()=>t())});await Promise.resolve(),io()}function F(t){var h,p,g;var e=t.f,r=(e&2)!==0;if((h=CR)==null||h.add(t),ae!==null&&!Ar){var i=Q!==null&&(Q.f&16384)!==0;if(!i&&(li===null||!li.has(t))){var n=ae.deps;if((ae.f&2097152)!==0)t.rvr==null?void 0:r.call(this,s))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?Et(()=>{e.addEventListener(t,n,i)}):e.addEventListener(t,n,i),n}function ui(t,e,r,i,n){var s={capture:i,passive:n},a=FR(t,e,r,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&rr(()=>{e.removeEventListener(t,a,s)})}function ve(t,e,r){var i;((i=e[ao])!=null?i:e[ao]={})[t]=r}function Pt(t){for(var e=0;e{throw b});throw d}}finally{t[ao]=e,delete t.currentTarget,Lt(u),Nt(f)}}}m();m();var IR,B0=((IR=globalThis==null?void 0:globalThis.window)==null?void 0:IR.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:t=>t});function MR(t){var e;return(e=B0==null?void 0:B0.createHTML(t))!=null?e:t}function H0(t){var e=On("template");return e.innerHTML=MR(t.replaceAll("","")),e.content}function rn(t,e){var r=Q;r.nodes===null&&(r.nodes={start:t,end:e,a:null,t:null})}function _e(t,e){var r=(e&1)!==0,i=(e&2)!==0,n,s=!t.startsWith("");return()=>{if(ne)return rn(we,null),we;n===void 0&&(n=H0(s?t:""+t),r||(n=nr(n)));var a=i||tf?document.importNode(n,!0):n.cloneNode(!0);if(r){var o=nr(a),l=a.lastChild;rn(o,l)}else rn(a,a);return a}}function oo(){if(ne)return rn(we,null),we;var t=document.createDocumentFragment(),e=document.createComment(""),r=Ht();return t.append(e,r),rn(e,r),t}function le(t,e){if(ne){var r=Q;((r.f&32768)===0||r.nodes.end===null)&&(r.nodes.end=we),cr();return}t!==null&&t.before(e)}m();var W5=["allowfullscreen","async","autofocus","autoplay","checked","controls","default","disabled","formnovalidate","indeterminate","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","seamless","selected","webkitdirectory","defer","disablepictureinpicture","disableremoteplayback"];var hte=[...W5,"formNoValidate","isMap","noModule","playsInline","readOnly","value","volume","defaultValue","defaultChecked","srcObject","noValidate","allowFullscreen","disablePictureInPicture","disableRemotePlayback"];var q5=["touchstart","touchmove"];function DR(t){return q5.includes(t)}var Y5=["$state","$state.raw","$derived","$derived.by"],pte=[...Y5,"$state.eager","$state.snapshot","$props","$props.id","$bindable","$effect","$effect.pre","$effect.tracking","$effect.root","$effect.pending","$inspect","$inspect().with","$inspect.trace","$host"];var Ip=!0;function qe(t,e){var i,n;var r=e==null?"":typeof e=="object"?`${e}`:e;r!==((n=t[i=Ku])!=null?n:t[i]=t.nodeValue)&&(t[Ku]=r,t.nodeValue=`${r}`)}function Js(t,e){return OR(t,e)}function j0(t,e){var a;kp(),e.intro=(a=e.intro)!=null?a:!1;let r=e.target,i=ne,n=we;try{for(var s=nr(r);s&&(s.nodeType!==Pi||s.data!=="[");)s=tr(s);if(!s)throw rs;Mt(!0),ze(s);let o=OR(t,{...e,anchor:s});return Mt(!1),o}catch(o){if(o instanceof Error&&o.message.split(` `).some(l=>l.startsWith("https://svelte.dev/e/")))throw o;return o!==rs&&console.warn("Failed to hydrate: ",o),e.recover===!1&&kP(),kp(),Kl(r),Mt(!1),Js(t,e)}finally{Mt(i),ze(n)}}var Fp=new Map;function OR(t,{target:e,anchor:r,props:i={},events:n,context:s,intro:a=!0,transformError:o}){kp();var l=void 0,c=yR(()=>{var u=r!=null?r:e.appendChild(Ht());w0(u,{pending:()=>{}},h=>{lt({});var p=ye;if(s&&(p.c=s),n&&(i.$$events=n),ne&&rn(h,null),Ip=a,l=t(h,i)||{},Ip=!0,ne&&(Q.nodes.end=we,we===null||we.nodeType!==Pi||we.data!=="]"))throw ja(),rs;ct()},o);var f=new Set,d=h=>{for(var p=0;p{var v;for(var h of f)for(let b of[e,document]){var p=Fp.get(b),g=p.get(h);--g==0?(b.removeEventListener(h,$p),p.delete(h),p.size===0&&Fp.delete(b)):p.set(h,g)}Rp.delete(d),u!==r&&((v=u.parentNode)==null||v.removeChild(u))}});return G0.set(l,c),l}var G0=new WeakMap;function gs(t,e){let r=G0.get(t);return r?(G0.delete(t),r(e)):(D&&(Jt in t?LP():OP()),Promise.resolve())}m();m();m();var nn,Nn,fi,lo,mf,gf,Mp,vs=class{constructor(e,r=!0){He(this,"anchor");me(this,nn,new Map);me(this,Nn,new Map);me(this,fi,new Map);me(this,lo,new Set);me(this,mf,!0);me(this,gf,e=>{if($(this,nn).has(e)){var r=$(this,nn).get(e),i=$(this,Nn).get(r);if(i)fc(i),$(this,lo).delete(r);else{var n=$(this,fi).get(r);n&&(fc(n.effect),$(this,Nn).set(r,n.effect),$(this,fi).delete(r),D&&(n.fragment.lastChild[r0]=this.anchor),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),i=n.effect)}for(let[s,a]of $(this,nn)){if($(this,nn).delete(s),s===e)break;let o=$(this,fi).get(a);o&&(vt(o.effect),$(this,fi).delete(a))}for(let[s,a]of $(this,Nn)){if(s===r||$(this,lo).has(s))continue;let o=()=>{if(Array.from($(this,nn).values()).includes(s)){var c=document.createDocumentFragment();Ql(a,c),c.append(Ht()),$(this,fi).set(s,{effect:a,fragment:c})}else vt(a);$(this,lo).delete(s),$(this,Nn).delete(s)};$(this,mf)||!i?($(this,lo).add(s),In(a,o,!1)):o()}}});me(this,Mp,e=>{$(this,nn).delete(e);let r=Array.from($(this,nn).values());for(let[i,n]of $(this,fi))r.includes(i)||(vt(n.effect),$(this,fi).delete(i))});this.anchor=e,fe(this,mf,r)}ensure(e,r){var i=oe,n=Cp();if(r&&!$(this,Nn).has(e)&&!$(this,fi).has(e))if(n){var s=document.createDocumentFragment(),a=Ht();s.append(a),$(this,fi).set(e,{effect:Bt(()=>r(a)),fragment:s})}else $(this,Nn).set(e,Bt(()=>r(this.anchor)));if($(this,nn).set(i,e),n){for(let[o,l]of $(this,Nn))o===e?i.unskip_effect(l):i.skip_effect(l);for(let[o,l]of $(this,fi))o===e?i.unskip_effect(l.effect):i.skip_effect(l.effect);i.oncommit($(this,gf)),i.ondiscard($(this,Mp))}else ne&&(this.anchor=we),$(this,gf).call(this,i)}};nn=new WeakMap,Nn=new WeakMap,fi=new WeakMap,lo=new WeakMap,mf=new WeakMap,gf=new WeakMap,Mp=new WeakMap;if(D){let t=function(e){if(!(e in globalThis)){let r;Object.defineProperty(globalThis,e,{configurable:!0,get:()=>{if(r!==void 0)return r;AP(e)},set:i=>{r=i}})}};t("$state"),t("$effect"),t("$derived"),t("$inspect"),t("$props"),t("$bindable")}function co(t){ye===null&&np("onMount"),ss&&ye.l!==null?X5(ye).m.push(t):hr(()=>{let e=Ze(t);if(typeof e=="function")return e})}function X5(t){var r;var e=t.l;return(r=e.u)!=null?r:e.u={a:[],b:[],m:[]}}m();m();var BR=new Map;function HR(t,e){var r=BR.get(t);r||(r=new Set,BR.set(t,r)),r.add(e)}m();m();m();m();m();m();m();m();m();function Re(t,e,r=!1){var i;ne&&(i=we,cr());var n=new vs(t),s=r?65536:0;function a(o,l){if(ne){var c=Qu(i);if(o!==parseInt(c.substring(1))){var u=Pn();ze(u),n.anchor=u,Mt(!1),n.ensure(o,l),Mt(!0);return}}n.ensure(o,l)}ai(()=>{var o=!1;e((l,c=0)=>{o=!0,a(c,l)}),o||a(-1,null)},s)}m();m();m();function di(t,e){return e}function sU(t,e,r){var f;for(var i=[],n=e.length,s,a=e.length,o=0;o{if(s){if(s.pending.delete(d),s.done.add(d),s.pending.size===0){var h=t.outrogroups;V0(t,Gl(s.done)),h.delete(s),h.size===0&&(t.outrogroups=null)}}else a-=1},!1)}if(a===0){var l=i.length===0&&r!==null;if(l){var c=r,u=c.parentNode;Kl(u),u.append(c),t.items.clear()}V0(t,e,!l)}else s={pending:new Set(e),done:new Set},((f=t.outrogroups)!=null?f:t.outrogroups=new Set).add(s)}function V0(t,e,r=!0){var i;if(t.pending.size>0){i=new Set;for(let a of t.pending.values())for(let o of a)i.add(t.items.get(o).e)}for(var n=0;n{var C=r();return is(C)?C:C==null?[]:Gl(C)});D&&ur(f,"{#each ...}");var d,h=new Map,p=!0;function g(C){(_.effect.f&16384)===0&&(_.pending.delete(C),_.fallback=u,aU(_,d,a,e,i),u!==null&&(d.length===0?(u.f&33554432)===0?fc(u):(u.f^=33554432,wf(u,null,a)):In(u,()=>{u=null})))}function v(C){_.pending.delete(C)}var b=ai(()=>{d=F(f);var C=d.length;let x=!1;if(ne){var S=Qu(a)==="[!";S!==(C===0)&&(a=Pn(),ze(a),Mt(!1),x=!0)}for(var A=new Set,w=oe,E=Cp(),y=0;ys(a)):(u=Bt(()=>s(dc!=null?dc:dc=Ht())),u.f|=33554432)),C>A.size&&(D?lU(d,i):s0("","","")),ne&&C>0&&ze(Pn()),!p)if(h.set(w,A),E){for(let[H,te]of o)A.has(H)||w.skip_effect(te.e);w.oncommit(g),w.ondiscard(v)}else g(w);x&&Mt(!0),F(f)}),_={effect:b,flags:e,items:o,pending:h,outrogroups:null,fallback:u};p=!1,ne&&(a=we)}function vf(t){for(;t!==null&&(t.f&32)===0;)t=t.next;return t}function aU(t,e,r,i,n){var P,T,I,L,H,te,xe,Z,K;var s=(i&8)!==0,a=e.length,o=t.items,l=vf(t.effect.first),c,u=null,f,d=[],h=[],p,g,v,b;if(s)for(b=0;b0){var y=(i&4)!==0&&a===0?r:null;if(s){for(b=0;b{var ce,pe;if(f!==void 0)for(v of f)(pe=(ce=v.nodes)==null?void 0:ce.a)==null||pe.apply()})}function oU(t,e,r,i,n,s,a,o){var l=(a&1)!==0?(a&16)===0?qa(r,!1,!1):dr(r):null,c=(a&2)!==0?dr(n):null;return D&&l&&(l.trace=()=>{var u;o()[(u=c==null?void 0:c.v)!=null?u:n]}),{v:l,i:c,e:Bt(()=>(s(e,l!=null?l:r,c!=null?c:n,o),()=>{t.delete(i)}))}}function wf(t,e,r){if(t.nodes)for(var i=t.nodes.start,n=t.nodes.end,s=e&&(e.f&33554432)===0?e.nodes.start:r;i!==null;){var a=tr(i);if(s.before(i),i===n)return;i=a}}function ea(t,e,r){e===null?t.effect.first=r:e.next=r,r===null?t.effect.last=e:r.prev=e}function lU(t,e){let r=new Map,i=t.length;for(let n=0;nperformance.now():()=>Date.now(),sn={tick:t=>(Jh?requestAnimationFrame:lr)(t),now:()=>cU(),tasks:new Set};function GR(){let t=sn.now();sn.tasks.forEach(e=>{e.c(t)||(sn.tasks.delete(e),e.f())}),sn.tasks.size!==0&&sn.tick(GR)}function jR(t){let e;return sn.tasks.size===0&&sn.tick(GR),{promise:new Promise(r=>{sn.tasks.add(e={c:t,f:r})}),abort(){sn.tasks.delete(e)}}}function Dp(t,e){zr(()=>{t.dispatchEvent(new CustomEvent(e))})}function hU(t){if(t==="float")return"cssFloat";if(t==="offset")return"cssOffset";if(t.startsWith("--"))return t;let e=t.split("-");return e.length===1?e[0]:e[0]+e.slice(1).map(r=>r[0].toUpperCase()+r.slice(1)).join("")}function VR(t){let e={},r=t.split(";");for(let i of r){let[n,s]=i.split(":");if(!n||s===void 0)break;let a=hU(n.trim());e[a]=s.trim()}return e}var pU=t=>t;function an(t,e,r,i){var C,x;var n=(t&1)!==0,s=(t&2)!==0,a=n&&s,o=(t&4)!==0,l=a?"both":n?"in":"out",c,u=e.inert,f=e.style.overflow,d,h;function p(){return zr(()=>{var S;return c!=null?c:c=r()(e,(S=i==null?void 0:i())!=null?S:{},{direction:l})})}var g={is_global:o,in(){var S;if(e.inert=u,!n){h==null||h.abort(),(S=h==null?void 0:h.reset)==null||S.call(h);return}s||d==null||d.abort(),d=z0(e,p(),h,1,()=>{Dp(e,"introstart")},()=>{Dp(e,"introend"),d==null||d.abort(),d=c=void 0,e.style.overflow=f})},out(S){if(!s){S==null||S(),c=void 0;return}e.inert=!0,h=z0(e,p(),d,0,()=>{Dp(e,"outrostart")},()=>{Dp(e,"outroend"),S==null||S()})},stop:()=>{d==null||d.abort(),h==null||h.abort()}},v=Q;if(((x=(C=v.nodes).t)!=null?x:C.t=[]).push(g),n&&Ip){var b=o;if(!b){for(var _=v.parent;_&&(_.f&65536)!==0;)for(;(_=_.parent)&&(_.f&16)===0;);b=!_||(_.f&32768)!==0}b&&Kr(()=>{Ze(()=>g.in())})}}function z0(t,e,r,i,n,s){var a=i===1;if(e0(e)){var o,l=!1;return Et(()=>{if(!l){var b=e({direction:a?"in":"out"});o=z0(t,b,r,i,n,s)}}),{abort:()=>{l=!0,o==null||o.abort()},deactivate:()=>o.deactivate(),reset:()=>o.reset(),t:()=>o.t()}}if(r==null||r.deactivate(),!(e!=null&&e.duration)&&!(e!=null&&e.delay))return n(),s(),{abort:lr,deactivate:lr,reset:lr,t:()=>i};let{delay:c=0,css:u,tick:f,easing:d=pU}=e;var h=[];if(a&&r===void 0&&(f&&f(0,1),u)){var p=VR(u(0,1));h.push(p,p)}var g=()=>1-i,v=t.animate(h,{duration:c,fill:"forwards"});return v.onfinish=()=>{var P;v.cancel(),n();var b=(P=r==null?void 0:r.t())!=null?P:1-i;r==null||r.abort();var _=i-b,C=e.duration*Math.abs(_),x=[];if(C>0){var S=!1;if(u)for(var A=Math.ceil(C/16.666666666666668),w=0;w<=A;w+=1){var E=b+_*d(w/A),y=VR(u(E,1-E));x.push(y),S||(S=y.overflow==="hidden")}S&&(t.style.overflow="hidden"),g=()=>{var T=v.currentTime;return b+_*d(T/C)},f&&jR(()=>{if(v.playState!=="running")return!1;var T=g();return f(T,1-T),!0})}v=t.animate(x,{duration:C,fill:"forwards"}),v.onfinish=()=>{g=()=>i,f==null||f(i,1-i),s()}},{abort:()=>{v&&(v.cancel(),v.effect=null,v.onfinish=lr)},deactivate:()=>{s=lr},reset:()=>{i===0&&(f==null||f(1,0))},t:()=>g()}}m();m();function on(t,e){Kr(()=>{var n;var r=t.getRootNode(),i=r.host?r:(n=r.head)!=null?n:r.ownerDocument.head;if(!i.querySelector("#"+e.hash)){let s=On("style");s.id=e.hash,s.textContent=e.code,i.appendChild(s),D&&HR(e.hash,s)}})}m();m();m();m();m();m();var WR=[...` \r\f\xA0\v\uFEFF`];function qR(t,e,r){var i=t==null?"":""+t;if(e&&(i=i?i+" "+e:e),r){for(var n of Object.keys(r))if(r[n])i=i?i+" "+n:n;else if(i.length)for(var s=n.length,a=0;(a=i.indexOf(n,a))>=0;){var o=a+s;(a===0||WR.includes(i[a-1]))&&(o===i.length||WR.includes(i[o]))?i=(a===0?"":i.substring(0,a))+i.substring(o+1):a=o}}return i===""?null:i}m();function wt(t,e,r,i,n,s){var a=t[Zu];if(ne||a!==r||a===void 0){var o=qR(r,i,s);(!ne||o!==t.getAttribute("class"))&&(o==null?t.removeAttribute("class"):e?t.className=o:t.setAttribute("class",o)),t[Zu]=r}else if(s&&n!==s)for(var l in s){var c=!!s[l];(n==null||c!==!!n[l])&&t.classList.toggle(l,c)}return s}m();m();var xU=Symbol("is custom element"),EU=Symbol("is html"),SU=i0?"link":"LINK";function Ce(t,e,r,i){var n=kU(t);if(ne&&(n[e]=t.getAttribute(e),e==="src"||e==="srcset"||e==="href"&&t.nodeName===SU)){i||AU(t,e,r!=null?r:"");return}n[e]!==(n[e]=r)&&(e==="loading"&&(t[mP]=r),r==null?t.removeAttribute(e):typeof r!="string"&&CU(t).includes(e)?t[e]=r:t.setAttribute(e,r))}function kU(t){var e,r;return(r=t[e=ip])!=null?r:t[e]={[xU]:t.nodeName.includes("-"),[EU]:t.namespaceURI===Qh}}var YR=new Map;function CU(t){var e=t.getAttribute("is")||t.nodeName,r=YR.get(e);if(r)return r;YR.set(e,r=[]);for(var i,n=t,s=Element.prototype;s!==n;){i=Xw(n);for(var a in i)i[a].set&&a!=="innerHTML"&&a!=="textContent"&&a!=="innerText"&&r.push(a);n=jl(n)}return r}function AU(t,e,r){var i;D&&(e==="srcset"&&TU(t,r)||W0((i=t.getAttribute(e))!=null?i:"",r)||DP(e,t.outerHTML.replace(t.innerHTML,t.innerHTML&&"..."),String(r)))}function W0(t,e){return t===e?!0:new URL(t,document.baseURI).href===new URL(e,document.baseURI).href}function ZR(t){return t.split(",").map(e=>e.trim().split(" ").filter(Boolean))}function TU(t,e){var r=ZR(t.srcset),i=ZR(e);return i.length===r.length&&i.every(([n,s],a)=>s===r[a][1]&&(W0(r[a][0],n)||W0(n,r[a][0])))}m();m();m();function Z0(t,e,r=e){var i=new WeakSet;d0(t,"input",async n=>{D&&t.type==="checkbox"&&n0();var s=n?t.defaultValue:t.value;if(s=q0(t)?Y0(s):s,r(s),oe!==null&&i.add(oe),await Pp(),s!==(s=e())){var a=t.selectionStart,o=t.selectionEnd,l=t.value.length;if(t.value=s!=null?s:"",o!==null){var c=t.value.length;a===o&&o===l&&c>l?(t.selectionStart=c,t.selectionEnd=c):(t.selectionStart=a,t.selectionEnd=Math.min(o,c))}}}),(ne&&t.defaultValue!==t.value||Ze(e)==null&&t.value)&&(r(q0(t)?Y0(t.value):t.value),oe!==null&&i.add(oe)),sr(()=>{D&&t.type==="checkbox"&&n0();var n=e();if(t===document.activeElement){var s=At?us:oe;if(i.has(s))return}q0(t)&&n===Y0(t.value)||t.type==="date"&&!n&&!t.value||n!==t.value&&(t.value=n!=null?n:"")})}function q0(t){var e=t.type;return e==="number"||e==="range"}function Y0(t){return t===""?null:+t}m();m();m();m();m();function K0(t,e){return t===e||(t==null?void 0:t[Jt])===e}function at(t={},e,r,i){var n=ye.r,s=Q;return Kr(()=>{var a,o;return sr(()=>{a=o,o=(i==null?void 0:i())||[],Ze(()=>{K0(r(...o),t)||(e(t,...o),a&&K0(r(...a),t)&&e(null,...a))})}),()=>{let l=s;for(;l!==n&&l.parent!==null&&l.parent.f&33554432;)l=l.parent;let c=()=>{o&&K0(r(...o),t)&&e(null,...o)},u=l.teardown;l.teardown=()=>{c(),u==null||u()}}}),t}m();m();m();m();m();m();function Di(t,e,r,i){var x,S;var n=!ss||(r&2)!==0,s=(r&8)!==0,a=(r&16)!==0,o=i,l=!0,c=void 0,u=()=>a&&n?(c!=null||(c=Zs(i)),F(c)):(l&&(l=!1,o=a?Ze(i):i),o);let f;if(s){var d=Jt in t||Yu in t;f=(S=(x=jr(t,e))==null?void 0:x.set)!=null?S:d&&e in t?A=>t[e]=A:void 0}var h,p=!1;s?[h,p]=c0(()=>t[e]):h=t[e],h===void 0&&i!==void 0&&(h=u(),f&&(n&&CP(e),f(h)));var g;if(n?g=()=>{var A=t[e];return A===void 0?u():(l=!0,A)}:g=()=>{var A=t[e];return A!==void 0&&(o=void 0),A===void 0?o:A},n&&(r&4)===0)return g;if(f){var v=t.$$legacy;return(function(A,w){return arguments.length>0?((!n||!w||v||p)&&f(w?g():A),A):g()})}var b=!1,_=((r&1)!==0?Zs:Qa)(()=>(b=!1,g()));D&&(_.label=e),s&&F(_);var C=Q;return(function(A,w){if(arguments.length>0){let E=w?F(_):n&&s?et(A):A;return se(_,E),b=!0,o!==void 0&&(o=E),A}return oi&&b||(C.f&16384)!==0?_.v:F(_)})}m();m();m();function XR(t){return new Q0(t)}var ws,Oi,Q0=class{constructor(e){me(this,ws);me(this,Oi);var s,a;var r=new Map,i=(o,l)=>{var c=qa(l,!1,!1);return r.set(o,c),c};let n=new Proxy({...e.props||{},$$events:{}},{get(o,l){var c;return F((c=r.get(l))!=null?c:i(l,Reflect.get(o,l)))},has(o,l){var c;return l===Yu?!0:(F((c=r.get(l))!=null?c:i(l,Reflect.get(o,l))),Reflect.has(o,l))},set(o,l,c){var u;return se((u=r.get(l))!=null?u:i(l,c),c),Reflect.set(o,l,c)}});fe(this,Oi,(e.hydrate?j0:Js)(e.component,{target:e.target,anchor:e.anchor,props:n,context:e.context,intro:(s=e.intro)!=null?s:!1,recover:e.recover,transformError:e.transformError})),!At&&(!((a=e==null?void 0:e.props)!=null&&a.$$host)||e.sync===!1)&&io(),fe(this,ws,n.$$events);for(let o of Object.keys($(this,Oi)))o==="$set"||o==="$destroy"||o==="$on"||or(this,o,{get(){return $(this,Oi)[o]},set(l){$(this,Oi)[o]=l},enumerable:!0});$(this,Oi).$set=o=>{Object.assign(n,o)},$(this,Oi).$destroy=()=>{gs($(this,Oi))}}$set(e){$(this,Oi).$set(e)}$on(e,r){$(this,ws)[e]=$(this,ws)[e]||[];let i=(...n)=>r.call(this,...n);return $(this,ws)[e].push(i),()=>{$(this,ws)[e]=$(this,ws)[e].filter(n=>n!==i)}}$destroy(){$(this,Oi).$destroy()}};ws=new WeakMap,Oi=new WeakMap;var UU;typeof HTMLElement=="function"&&(UU=class extends HTMLElement{constructor(e,r,i){super();He(this,"$$ctor");He(this,"$$s");He(this,"$$c");He(this,"$$cn",!1);He(this,"$$d",{});He(this,"$$r",!1);He(this,"$$p_d",{});He(this,"$$l",{});He(this,"$$l_u",new Map);He(this,"$$me");He(this,"$$shadowRoot",null);this.$$ctor=e,this.$$s=r,i&&(this.$$shadowRoot=this.attachShadow(i))}addEventListener(e,r,i){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(r),this.$$c){let n=this.$$c.$on(e,r);this.$$l_u.set(r,n)}super.addEventListener(e,r,i)}removeEventListener(e,r,i){if(super.removeEventListener(e,r,i),this.$$c){let n=this.$$l_u.get(r);n&&(n(),this.$$l_u.delete(r))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(n){return s=>{let a=On("slot");n!=="default"&&(a.name=n),le(s,a)}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;let r={},i=GU(this);for(let n of this.$$s)n in i&&(n==="default"&&!this.$$d.children?(this.$$d.children=e(n),r.default=!0):r[n]=e(n));for(let n of this.attributes){let s=this.$$g_p(n.name);s in this.$$d||(this.$$d[s]=J0(s,n.value,this.$$p_d,"toProp"))}for(let n in this.$$p_d)!(n in this.$$d)&&this[n]!==void 0&&(this.$$d[n]=this[n],delete this[n]);this.$$c=XR({component:this.$$ctor,target:this.$$shadowRoot||this,props:{...this.$$d,$$slots:r,$$host:this}}),this.$$me=O0(()=>{sr(()=>{var n;this.$$r=!0;for(let s of Kw(this.$$c)){if(!((n=this.$$p_d[s])!=null&&n.reflect))continue;this.$$d[s]=this.$$c[s];let a=J0(s,this.$$d[s],this.$$p_d,"toAttribute");a==null?this.removeAttribute(this.$$p_d[s].attribute||s):this.setAttribute(this.$$p_d[s].attribute||s,a)}this.$$r=!1})});for(let n in this.$$l)for(let s of this.$$l[n]){let a=this.$$c.$on(n,s);this.$$l_u.set(s,a)}this.$$l={}}}attributeChangedCallback(e,r,i){var n;this.$$r||(e=this.$$g_p(e),this.$$d[e]=J0(e,i,this.$$p_d,"toProp"),(n=this.$$c)==null||n.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)})}$$g_p(e){return Kw(this.$$p_d).find(r=>this.$$p_d[r].attribute===e||!this.$$p_d[r].attribute&&r.toLowerCase()===e)||e}});function J0(t,e,r,i){var s;let n=(s=r[t])==null?void 0:s.type;if(e=n==="Boolean"&&typeof e!="boolean"?e!=null:e,!i||!r[t])return e;if(i==="toAttribute")switch(n){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e==null?null:e;default:return e}else switch(n){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}function GU(t){let e={};return t.childNodes.forEach(r=>{e[r.slot||"default"]=!0}),e}m();var ib=require("obsidian");m();var tb=require("obsidian");m();function jU(t){let e=t-1;return e*e*e+1}var eb=!1;function Un(t,{delay:e=0,duration:r=400,easing:i=jU,axis:n="y"}={}){let s=getComputedStyle(t);D&&!eb&&/(contents|inline|table)/.test(s.display)&&(eb=!0,Promise.resolve().then(()=>eb=!1),BP(s.display));let a=+s.opacity,o=n==="y"?"height":"width",l=parseFloat(s[o]),c=n==="y"?["top","bottom"]:["left","right"],u=c.map(b=>`${b[0].toUpperCase()}${b.slice(1)}`),f=parseFloat(s[`padding${u[0]}`]),d=parseFloat(s[`padding${u[1]}`]),h=parseFloat(s[`margin${u[0]}`]),p=parseFloat(s[`margin${u[1]}`]),g=parseFloat(s[`border${u[0]}Width`]),v=parseFloat(s[`border${u[1]}Width`]);return{delay:e,duration:r,easing:i,css:b=>`overflow: hidden;opacity: ${Math.min(b*20,1)*a};${o}: ${b*l}px;padding-${c[0]}: ${b*f}px;padding-${c[1]}: ${b*d}px;margin-${c[0]}: ${b*h}px;margin-${c[1]}: ${b*p}px;border-${c[0]}-width: ${b*g}px;border-${c[1]}-width: ${b*v}px;min-${o}: 0`}}m();var Lp=require("obsidian");var VU=_e('
'),zU=_e('
'),WU={hash:"svelte-1c0jiav",code:"main.svelte-1c0jiav .nav-file-title:where(.svelte-1c0jiav) {align-items:center;}"};function bf(t,e){lt(e,!0),on(t,WU);let r=et([]),i=ut(()=>e.view.leaf.getRoot().side=="left"?"right":"left");hr(()=>{for(let _ of r)_&&(0,Lp.setIcon)(_,_.getAttr("data-icon"))});function n(_){_.stopPropagation(),al(e.diff.path)?s(_):a(_)}function s(_){var x;_.stopPropagation();let C=e.view.app.vault.getAbstractFileByPath(e.diff.vaultPath);C instanceof Lp.TFile&&((x=Vi(e.view.app,_))==null||x.openFile(C).catch(S=>e.view.plugin.displayError(S)))}function a(_){var C;e.view.plugin.tools.openDiff({event:_,aFile:(C=e.diff.fromPath)!=null?C:e.diff.path,aRef:`${e.diff.hash}^`,bFile:e.diff.path,bRef:e.diff.hash})}var o=zU(),l=z(o),c=z(l),u=z(c,!0);V(c);var f=ie(c,2),d=z(f),h=z(d);{var p=_=>{var C=VU();at(C,x=>r[0]=x,()=>r==null?void 0:r[0]),ui("auxclick",C,s),ve("click",C,s),le(_,C)},g=ut(()=>ol(e.diff.vaultPath,e.view.app));Re(h,_=>{F(g)&&_(p)})}V(d);var v=ie(d,2),b=z(v,!0);V(v),V(f),V(l),V(o),je(_=>{Ce(l,"data-path",e.diff.vaultPath),Ce(l,"data-tooltip-position",F(i)),Ce(l,"aria-label",e.diff.vaultPath),qe(u,_),Ce(v,"data-type",e.diff.status),qe(b,e.diff.status)},[()=>xn(e.diff.vaultPath)]),ve("click",o,n),ui("auxclick",o,_=>{_.stopPropagation(),_.button==2?_n(e.view.app,_,e.diff.vaultPath,e.view.leaf,"git-history"):n(_)}),le(t,o),ct()}Pt(["click"]);m();var qU=_e("
"),YU=_e(''),ZU=_e('
'),KU=_e("
"),XU={hash:"svelte-d9h7mp",code:"main.svelte-d9h7mp .nav-folder-title-content:where(.svelte-d9h7mp) {display:flex;align-items:center;}"};function _f(t,e){lt(e,!0),on(t,XU);let r=Di(e,"topLevel",3,!1),i=Di(e,"closed",15),n=ut(()=>e.view.leaf.getRoot().side=="left"?"right":"left");function s(l,c){l.stopPropagation(),i(i()[c.path]=!i()[c.path],!0)}var a=KU();let o;hi(a,21,()=>e.hierarchy.children,di,(l,c)=>{var u=oo(),f=Mi(u);{var d=p=>{var g=qU(),v=z(g);bf(v,{get diff(){return F(c).data},get view(){return e.view}}),V(g),le(p,g)},h=p=>{var g=ZU();let v;var b=z(g),_=ie(z(b),2);let C;var x=ie(_,2),S=z(x,!0);V(x),V(b);var A=ie(b,2);{var w=E=>{var y=YU(),P=z(y);_f(P,{get hierarchy(){return F(c)},get plugin(){return e.plugin},get view(){return e.view},get closed(){return i()},set closed(T){i(T)}}),V(y),an(3,y,()=>Un,()=>({duration:150})),le(E,y)};Re(A,E=>{i()[F(c).path]||E(w)})}V(g),je(()=>{v=wt(g,1,"tree-item nav-folder",null,v,{"is-collapsed":i()[F(c).path]}),Ce(b,"data-tooltip-position",F(n)),Ce(b,"aria-label",F(c).vaultPath),C=wt(_,1,"tree-item-icon nav-folder-collapse-indicator collapse-icon",null,C,{"is-collapsed":i()[F(c).path]}),qe(S,F(c).title)}),ve("click",b,E=>s(E,F(c))),le(p,g)};Re(f,p=>{F(c).data?p(d):p(h,-1)})}le(l,u)}),V(a),je(()=>o=wt(a,1,"svelte-d9h7mp",null,o,{topLevel:r()})),le(t,a),ct()}Pt(["click"]);var QU=_e('
'),JU=_e('
'),eG=_e('
'),tG=_e(''),rG=_e('
'),iG={hash:"svelte-1edsiy5",code:""};function rb(t,e){lt(e,!0),on(t,iG);let r=ut(()=>({title:"",path:"",vaultPath:"",children:e.plugin.gitManager.getTreeStructure(e.log.diff.files)})),i=ut(()=>e.view.leaf.getRoot().side=="left"?"right":"left"),n=Oe(!0),s=Oe(et({}));function a(E){let y=E.author.name;return e.plugin.settings.authorInHistoryView=="full"?y:e.plugin.settings.authorInHistoryView=="initials"?y.split(" ").filter(T=>T.length>0).map(T=>T[0].toUpperCase()).join(""):""}var o=rG(),l=z(o);let c;var u=z(l),f=z(u);let d;var h=ie(f,2),p=z(h);{var g=E=>{var y=QU(),P=z(y,!0);V(y),je(T=>qe(P,T),[()=>e.log.refs.join(", ")]),le(E,y)};Re(p,E=>{e.log.refs.length>0&&E(g)})}var v=ie(p,2);{var b=E=>{var y=JU(),P=z(y,!0);V(y),je(T=>qe(P,T),[()=>a(e.log)]),le(E,y)};Re(v,E=>{var y;e.plugin.settings.authorInHistoryView!="hide"&&((y=e.log.author)!=null&&y.name)&&E(b)})}var _=ie(v,2);{var C=E=>{var y=eG(),P=z(y,!0);V(y),je(T=>qe(P,T),[()=>(0,tb.moment)(e.log.date).format(e.plugin.settings.commitDateFormat)]),le(E,y)};Re(_,E=>{e.plugin.settings.dateInHistoryView&&E(C)})}var x=ie(_,2),S=z(x,!0);V(x),V(h),V(u);var A=ie(u,2);{var w=E=>{var y=tG(),P=z(y);{var T=L=>{_f(L,{get hierarchy(){return F(r)},get plugin(){return e.plugin},get view(){return e.view},topLevel:!0,get closed(){return F(s)},set closed(H){se(s,H,!0)}})},I=L=>{var H=oo(),te=Mi(H);hi(te,17,()=>e.log.diff.files,di,(xe,Z)=>{bf(xe,{get view(){return e.view},get diff(){return F(Z)}})}),le(L,H)};Re(P,L=>{e.showTree?L(T):L(I,-1)})}V(y),an(3,y,()=>Un,()=>({duration:150})),le(E,y)};Re(A,E=>{F(n)||E(w)})}V(l),V(o),je(E=>{c=wt(l,1,"tree-item nav-folder",null,c,{"is-collapsed":F(n)}),Ce(u,"aria-label",E),Ce(u,"data-tooltip-position",F(i)),d=wt(f,1,"tree-item-icon nav-folder-collapse-indicator collapse-icon",null,d,{"is-collapsed":F(n)}),qe(S,e.log.message)},[()=>{var E;return`${e.log.refs.length>0?e.log.refs.join(", ")+` `:""}${(E=e.log.author)==null?void 0:E.name} ${(0,tb.moment)(e.log.date).format(e.plugin.settings.commitDateFormat)} ${e.log.message}`}]),ve("click",u,()=>se(n,!F(n))),le(t,o),ct()}Pt(["click"]);var nG=_e(''),sG=_e('
'),aG={hash:"svelte-12n6twc",code:""};function nb(t,e){lt(e,!0),on(t,aG);let r=Di(e,"plugin",15),i=Oe(!1),n=et([]),s=Oe(void 0),a=Oe(et(r().settings.treeStructure)),o;hr(()=>{o&&o.empty()}),co(()=>{e.view.registerEvent(e.view.app.workspace.on("obsidian-git:head-change",()=>{c().catch(console.error)}))}),hr(()=>{n.forEach(x=>(0,ib.setIcon)(x,x.getAttr("data-icon")))}),co(()=>{let x=new IntersectionObserver(A=>{var w;(w=A[0])!=null&&w.isIntersecting&&!F(i)&&u().catch(console.error)}),S=activeDocument.querySelector("#sentinel");return S&&x.observe(S),()=>{x.disconnect()}}),c().catch(console.error);function l(){c().catch(console.error)}async function c(){var A,w;if(!r().gitReady){se(s,void 0);return}se(i,!0);let x=r().gitManager instanceof Se,S;((w=(A=F(s))==null?void 0:A.length)!=null?w:0)==0?S=x?50:10:S=F(s).length,se(s,await r().gitManager.log(void 0,!1,S),!0),se(i,!1)}async function u(){var w;if(!r().gitReady||F(s)===void 0)return;se(i,!0);let S=r().gitManager instanceof Se?50:10,A=await r().gitManager.log(void 0,!1,S,(w=F(s).last())==null?void 0:w.hash);F(s).push(...A.slice(1)),se(i,!1)}var f=sG(),d=z(f),h=z(d),p=z(h);at(p,x=>n[0]=x,()=>n==null?void 0:n[0]);var g=ie(p,2);let v;at(g,x=>n[1]=x,()=>n==null?void 0:n[1]),V(h),V(d);var b=ie(d,2),_=z(b);{var C=x=>{var S=nG();hi(S,21,()=>F(s),di,(A,w)=>{rb(A,{get view(){return e.view},get showTree(){return F(a)},get log(){return F(w)},get plugin(){return r()}})}),V(S),le(x,S)};Re(_,x=>{F(s)&&x(C)})}Va(4),V(b),V(f),je(()=>{Ce(p,"data-icon",F(a)?"list":"folder"),v=wt(g,1,"clickable-icon nav-action-button",null,v,{loading:F(i)})}),ve("click",p,()=>{se(a,!F(a)),(0,ib.setIcon)(n[0],F(a)?"list":"folder"),r(r().settings.treeStructure=F(a),!0),r().saveSettings()}),ve("click",g,l),le(t,f),ct()}Pt(["click"]);var yf=class extends QR.ItemView{constructor(e,r){super(e),this.plugin=r,this.hoverPopover=null}getViewType(){return wi.type}getDisplayText(){return wi.name}getIcon(){return wi.icon}onClose(){return this._view&&gs(this._view),super.onClose()}reload(){this._view&&gs(this._view),this._view=Js(nb,{target:this.contentEl,props:{plugin:this.plugin,view:this}})}onOpen(){return this.reload(),super.onOpen()}};m();var JR=require("obsidian"),Np=class extends JR.FuzzySuggestModal{constructor(r,i){super(r.app);this.branches=i;this.setPlaceholder("Select branch to checkout")}getItems(){return this.branches}getItemText(r){return r}onChooseItem(r,i){this.resolve(r)}openAndGetReslt(){return new Promise(r=>{this.resolve=r,this.open()})}onClose(){new Promise(r=>window.setTimeout(r,10)).then(()=>{this.resolve&&this.resolve(void 0)})}};m();var r$=require("obsidian");m();var ho=require("obsidian");m();var xf=require("obsidian");m();var e$=require("obsidian");var hc=class extends e$.Modal{constructor({app:r,path:i,filesToDeleteCount:n,filesToDiscardCount:s}){super(r);this.resolve=null;this.path=i,this.deleteCount=n,this.discardCount=s}openAndGetResult(){return this.open(),new Promise(r=>{this.resolve=r})}onOpen(){let r=this.deleteCount+this.discardCount,{contentEl:i,titleEl:n}=this,s="";this.path!=""&&(r>1?s=`files in "${this.path}"`:s=`"${this.path}"`),n.setText(`${this.discardCount==0?"Delete":"Discard"} ${s}`),this.deleteCount>0&&i.createEl("p").setText(`Are you sure you want to DELETE the ${wu(this.deleteCount,"untracked file")}? They are deleted according to your Obsidian trash settting.`),this.discardCount>0&&i.createEl("p").setText(`Are you sure you want to discard ALL changes in ${wu(this.discardCount,"tracked file")}?`);let a=i.createDiv({cls:"modal-button-container"});if(this.deleteCount>0){let l=a.createEl("button",{cls:"mod-warning",text:`${this.discardCount>0?"Discard":"Delete"} all ${wu(r,"file")}`});l.addEventListener("click",()=>{this.resolve&&this.resolve("delete"),this.close()}),l.addEventListener("keypress",()=>{this.resolve&&this.resolve("delete"),this.close()})}if(this.discardCount>0){let l=a.createEl("button",{cls:"mod-warning",text:`Discard all ${wu(this.discardCount,"tracked file")}`});l.addEventListener("click",()=>{this.resolve&&this.resolve("discard"),this.close()}),l.addEventListener("keypress",()=>{this.resolve&&this.resolve("discard"),this.close()})}let o=a.createEl("button",{text:"Cancel"});o.addEventListener("click",()=>(this.resolve&&this.resolve(!1),this.close())),o.addEventListener("keypress",()=>(this.resolve&&this.resolve(!1),this.close()))}onClose(){let{contentEl:r}=this;r.empty()}};var oG=_e('
'),lG=_e('
');function Ef(t,e){lt(e,!0);let r=et([]),i=ut(()=>e.view.leaf.getRoot().side=="left"?"right":"left");hr(()=>{for(let w of r)w&&(0,xf.setIcon)(w,w.getAttr("data-icon"))});function n(w){w.stopPropagation(),al(e.change.path)?a(w):l(w)}function s(w){e.view.app.vault.getAbstractFileByPath(e.change.vaultPath)&&ll(e.view.app,w,e.view,e.change.vaultPath)}function a(w){var y;w.stopPropagation();let E=e.view.app.vault.getAbstractFileByPath(e.change.vaultPath);E instanceof xf.TFile&&((y=Vi(e.view.app,w))==null||y.openFile(E).catch(P=>e.view.plugin.displayError(P)))}function o(w){w.stopPropagation(),e.manager.stage(e.change.path,!1).catch(E=>e.view.plugin.displayError(E)).finally(()=>{e.view.app.workspace.trigger("obsidian-git:refresh")})}function l(w){w.stopPropagation(),e.view.plugin.tools.openDiff({aFile:e.change.path,aRef:"",event:w})}function c(w){w.stopPropagation();let E=e.change.workingDir=="U";new hc({app:e.view.app,filesToDeleteCount:E?1:0,filesToDiscardCount:E?0:1,path:e.change.vaultPath}).openAndGetResult().then(async y=>{if(y=="delete"){let P=e.view.app.vault.getAbstractFileByPath(e.change.vaultPath);P instanceof xf.TFile?await e.view.app.fileManager.trashFile(P):await e.view.app.vault.adapter.remove(e.change.vaultPath)}else y=="discard"&&await e.manager.discard(e.change.path).finally(()=>{e.view.app.workspace.trigger("obsidian-git:refresh")});e.view.app.workspace.trigger("obsidian-git:refresh")},y=>e.view.plugin.displayError(y))}var u=lG(),f=z(u),d=z(f),h=z(d,!0);V(d);var p=ie(d,2),g=z(p),v=z(g);{var b=w=>{var E=oG();at(E,y=>r[0]=y,()=>r==null?void 0:r[0]),ui("auxclick",E,a),ve("click",E,a),le(w,E)},_=ut(()=>ol(e.change.vaultPath,e.view.app));Re(v,w=>{F(_)&&w(b)})}var C=ie(v,2);at(C,w=>r[1]=w,()=>r==null?void 0:r[1]);var x=ie(C,2);at(x,w=>r[2]=w,()=>r==null?void 0:r[2]),V(g);var S=ie(g,2),A=z(S,!0);V(S),V(p),V(f),V(u),je(w=>{Ce(f,"data-path",e.change.vaultPath),Ce(f,"data-tooltip-position",F(i)),Ce(f,"aria-label",e.change.vaultPath),qe(h,w),Ce(S,"data-type",e.change.workingDir),qe(A,e.change.workingDir)},[()=>xn(e.change.vaultPath)]),ve("mouseover",u,s),ve("click",u,n),ui("auxclick",u,w=>{w.stopPropagation(),w.button==2?_n(e.view.app,w,e.change.vaultPath,e.view.leaf,"git-source-control"):n(w)}),ve("click",C,c),ve("click",x,o),le(t,u),ct()}Pt(["mouseover","click"]);m();var t$=require("obsidian");var cG=_e('
');function Sf(t,e){lt(e,!0);let r=ut(()=>e.view.leaf.getRoot().side=="left"?"right":"left");function i(d){e.view.app.vault.getAbstractFileByPath(e.change.vaultPath)&&ll(e.view.app,d,e.view,e.change.vaultPath)}function n(d){var p;d.stopPropagation();let h=e.view.app.vault.getAbstractFileByPath(e.change.vaultPath);h instanceof t$.TFile&&((p=Vi(e.view.app,d))==null||p.openFile(h).catch(g=>e.view.plugin.displayError(g)))}var s=cG(),a=z(s),o=z(a),l=z(o,!0);V(o);var c=ie(o,2),u=z(c),f=z(u,!0);V(u),V(c),V(a),V(s),je(d=>{Ce(a,"data-path",e.change.vaultPath),Ce(a,"data-tooltip-position",F(r)),Ce(a,"aria-label",e.change.vaultPath),qe(l,d),Ce(u,"data-type",e.change.workingDir),qe(f,e.change.workingDir)},[()=>xn(e.change.vaultPath)]),ve("mouseover",s,i),ve("click",s,n),ui("auxclick",s,d=>{d.stopPropagation(),d.button==2?_n(e.view.app,d,e.change.vaultPath,e.view.leaf,"git-source-control"):n(d)}),le(t,s),ct()}Pt(["mouseover","click"]);m();var Bp=require("obsidian");var uG=_e('
'),fG=_e('
');function kf(t,e){lt(e,!0);let r=et([]),i=ut(()=>e.view.leaf.getRoot().side=="left"?"right":"left");hr(()=>{for(let S of r)S&&(0,Bp.setIcon)(S,S.getAttr("data-icon"))});function n(S){S.stopPropagation(),al(e.change.path)?a(S):o(S)}function s(S){e.view.app.vault.getFileByPath(e.change.vaultPath)&&ll(e.view.app,S,e.view,e.change.vaultPath)}function a(S){var w;S.stopPropagation();let A=e.view.app.vault.getAbstractFileByPath(e.change.vaultPath);A instanceof Bp.TFile&&((w=Vi(e.view.app,S))==null||w.openFile(A).catch(E=>e.view.plugin.displayError(E)))}function o(S){var A;S.stopPropagation(),e.view.plugin.tools.openDiff({aFile:(A=e.change.from)!=null?A:e.change.path,bFile:e.change.path,aRef:"HEAD",bRef:"",event:S})}function l(S){S.stopPropagation(),e.manager.unstage(e.change.path,!1).catch(A=>e.view.plugin.displayError(A)).finally(()=>{e.view.app.workspace.trigger("obsidian-git:refresh")})}var c=fG(),u=z(c),f=z(u),d=z(f,!0);V(f);var h=ie(f,2),p=z(h),g=z(p);{var v=S=>{var A=uG();at(A,w=>r[0]=w,()=>r==null?void 0:r[0]),ve("click",A,a),le(S,A)},b=ut(()=>ol(e.change.vaultPath,e.view.app));Re(g,S=>{F(b)&&S(v)})}var _=ie(g,2);at(_,S=>r[1]=S,()=>r==null?void 0:r[1]),V(p);var C=ie(p,2),x=z(C,!0);V(C),V(h),V(u),V(c),je(S=>{Ce(u,"data-path",e.change.vaultPath),Ce(u,"data-tooltip-position",F(i)),Ce(u,"aria-label",e.change.vaultPath),qe(d,S),Ce(C,"data-type",e.change.index),qe(x,e.change.index)},[()=>xn(e.change.vaultPath)]),ve("mouseover",c,s),ve("click",c,n),ui("auxclick",c,S=>{S.stopPropagation(),S.button==2?_n(e.view.app,S,e.change.vaultPath,e.view.leaf,"git-source-control"):n(S)}),ve("click",_,l),le(t,c),ct()}Pt(["mouseover","click"]);m();m();var dG=_e(''),hG=_e("
");function uo(t,e){lt(e,!0);var r=hG(),i=z(r);{var n=s=>{var a=dG(),o=z(a),l=z(o),c=z(l,!0);V(l),V(o),V(a),je(()=>{Ce(o,"aria-label","And "+(e.files.length-500)+" more files"),qe(c,"And "+(e.files.length-500)+" more files")}),le(s,a)};Re(i,s=>{e.files.length>500&&s(n)})}V(r),le(t,r),ct()}var mG=_e("
"),gG=_e('
'),vG=_e('
',1),wG=_e(''),bG=_e('
'),_G=_e("
");function fo(t,e){lt(e,!0);let r=Di(e,"topLevel",3,!1),i=Di(e,"closed",15);co(()=>{var h,p;for(let g of e.hierarchy.children)((p=(h=g.children)==null?void 0:h.length)!=null?p:0)>100&&i(i()[g.title]=!0,!0)});let n=ut(()=>e.view.leaf.getRoot().side=="left"?"right":"left");function s(h,p){h.stopPropagation(),e.plugin.gitManager.stageAll({dir:p}).catch(g=>e.plugin.displayError(g)).finally(()=>{e.view.app.workspace.trigger("obsidian-git:refresh")})}function a(h,p){h.stopPropagation(),e.plugin.gitManager.unstageAll({dir:p}).catch(g=>e.plugin.displayError(g)).finally(()=>{e.view.app.workspace.trigger("obsidian-git:refresh")})}function o(h,p){h.stopPropagation(),e.plugin.discardAll(p.vaultPath)}function l(h,p){h.stopPropagation(),i(i()[p.path]=!i()[p.path],!0)}var c=_G();let u;var f=z(c);hi(f,17,()=>bu(e.hierarchy.children,500),di,(h,p)=>{var g=oo(),v=Mi(g);{var b=C=>{var x=mG(),S=z(x);{var A=y=>{kf(y,{get change(){return F(p).data},get manager(){return e.plugin.gitManager},get view(){return e.view}})},w=y=>{Ef(y,{get change(){return F(p).data},get manager(){return e.plugin.gitManager},get view(){return e.view}})},E=y=>{Sf(y,{get change(){return F(p).data},get view(){return e.view}})};Re(S,y=>{e.fileType==0?y(A):e.fileType==1?y(w,1):e.fileType==2&&y(E,2)})}V(x),le(C,x)},_=C=>{var x=bG();let S;var A=z(x),w=ie(z(A),2);let E;var y=ie(w,2),P=z(y,!0);V(y);var T=ie(y,2),I=z(T),L=z(I);{var H=K=>{var ce=gG();ve("click",ce,pe=>a(pe,F(p).path)),le(K,ce)},te=K=>{var ce=vG(),pe=Mi(ce),W=ie(pe,2);ve("click",pe,X=>o(X,F(p))),ve("click",W,X=>s(X,F(p).path)),le(K,ce)};Re(L,K=>{e.fileType==0?K(H):K(te,-1)})}Va(2),V(I),V(T),V(A);var xe=ie(A,2);{var Z=K=>{var ce=wG(),pe=z(ce);fo(pe,{get hierarchy(){return F(p)},get plugin(){return e.plugin},get view(){return e.view},get fileType(){return e.fileType},get closed(){return i()},set closed(W){i(W)}}),V(ce),an(3,ce,()=>Un,()=>({duration:150})),le(K,ce)};Re(xe,K=>{i()[F(p).path]||K(Z)})}V(x),je(()=>{S=wt(x,1,"tree-item nav-folder",null,S,{"is-collapsed":i()[F(p).path]}),Ce(A,"data-tooltip-position",F(n)),Ce(A,"aria-label",F(p).vaultPath),E=wt(w,1,"tree-item-icon nav-folder-collapse-indicator collapse-icon",null,E,{"is-collapsed":i()[F(p).path]}),qe(P,F(p).title)}),ui("auxclick",x,K=>_n(e.view.app,K,F(p).vaultPath,e.view.leaf,"git-source-control")),ve("click",A,K=>l(K,F(p))),le(C,x)};Re(v,C=>{F(p).data?C(b):C(_,-1)})}le(h,g)});var d=ie(f,2);uo(d,{get files(){return e.hierarchy.children}}),V(c),je(()=>u=wt(c,1,"",null,u,{topLevel:r()})),le(t,c),ct()}Pt(["click"]);var yG=_e('
'),sb=_e(" ",1),ab=_e(''),xG=_e('
'),EG=_e(''),SG=_e('
'),kG={hash:"svelte-5wq9p",code:`.commit-msg-input.svelte-5wq9p {width:100%;overflow:hidden;resize:none;padding:7px 5px;background-color:var(--background-modifier-form-field);}.git-commit-msg.svelte-5wq9p {position:relative;padding:0;width:calc(100% - var(--size-4-8));margin:4px auto;}main.svelte-5wq9p .git-tools:where(.svelte-5wq9p) .files-count:where(.svelte-5wq9p) {padding-left:var(--size-2-1);width:11px;display:flex;align-items:center;justify-content:center;}.nav-folder-title.svelte-5wq9p {align-items:center;}.git-commit-msg-clear-button.svelte-5wq9p {position:absolute;background:transparent;border-radius:50%;color:var(--search-clear-button-color);cursor:var(--cursor);top:-4px;right:2px;bottom:0px;line-height:0;height:var(--input-height);width:28px;margin:auto;padding:0 0;text-align:center;display:flex;justify-content:center;align-items:center;transition:color 0.15s ease-in-out;}.git-commit-msg-clear-button.svelte-5wq9p:after {content:"";height:var(--search-clear-button-size);width:var(--search-clear-button-size);display:block;background-color:currentColor;mask-image:url("data:image/svg+xml,");mask-repeat:no-repeat;-webkit-mask-image:url("data:image/svg+xml,");-webkit-mask-repeat:no-repeat;}`};function ob(t,e){lt(e,!0),on(t,kG);let r=Di(e,"plugin",7),i=Di(e,"view",7),n=Oe(!1),s=Oe(void 0),a=Oe(et([])),o=ut(()=>r().settings.commitMessage),l=et([]),c=Oe(void 0),u=Oe(void 0),f=Oe(void 0),d=Oe(!0),h=Oe(!0),p=Oe(!0),g=Oe(0),v=Oe(et({})),b=Oe(et({})),_=Oe(et({})),C=ut(()=>r().settings.treeStructure);co(()=>{i().registerEvent(i().app.workspace.on("obsidian-git:loading-status",()=>se(n,!0))),i().registerEvent(i().app.workspace.on("obsidian-git:status-changed",()=>{A().catch(console.error)})),i().plugin.cachedStatus==null?i().plugin.refresh().catch(console.error):A().catch(console.error),i().scope=new ho.Scope(r().app.scope),i().scope.register(["Ctrl"],"Enter",O=>S())}),hr(()=>{l.forEach(O=>(0,ho.setIcon)(O,O.getAttr("data-icon")))}),hr(()=>{l.forEach(O=>{var ue,$e;!O||O.id!="push"||(ho.Platform.isMobile?(O.removeClass("button-border"),F(g)>0&&O.addClass("button-border")):((ue=O.firstElementChild)==null||ue.removeAttribute("color"),F(g)>0&&(($e=O.firstElementChild)==null||$e.setAttr("color","var(--text-accent)"))))})});function x(){if(se(n,!0),F(s)){let O=F(s).staged.length>0;r().promiseQueue.addTask(()=>r().commit({fromAuto:!1,commitMessage:F(o),onlyStaged:O}).then(()=>se(o,r().settings.commitMessage)).finally(w))}}function S(){if(se(n,!0),F(s)){let O=F(s).staged.length>0;r().promiseQueue.addTask(()=>r().commitAndSync({fromAutoBackup:!1,commitMessage:F(o),onlyStaged:O}).then(()=>{se(o,r().settings.commitMessage)}).finally(w))}}async function A(){if(!r().gitReady){se(s,void 0);return}if(se(g,await r().gitManager.getUnpushedCommits(),!0),se(s,r().cachedStatus,!0),se(n,!1),r().lastPulledFiles&&r().lastPulledFiles!=F(a)&&(se(a,r().lastPulledFiles,!0),se(f,{title:"",path:"",vaultPath:"",children:r().gitManager.getTreeStructure(F(a))},!0)),F(s)){let O=(ue,$e)=>ue.vaultPath.split("/").last().localeCompare(xn($e.vaultPath));F(s).changed.sort(O),F(s).staged.sort(O),se(c,{title:"",path:"",vaultPath:"",children:r().gitManager.getTreeStructure(F(s).changed)},!0),se(u,{title:"",path:"",vaultPath:"",children:r().gitManager.getTreeStructure(F(s).staged)},!0)}else se(c,void 0),se(u,void 0)}function w(){i().app.workspace.trigger("obsidian-git:refresh")}function E(O){O.stopPropagation(),se(n,!0),r().promiseQueue.addTask(()=>r().gitManager.stageAll({status:F(s)}).finally(w))}function y(O){O.stopPropagation(),se(n,!0),r().promiseQueue.addTask(()=>r().gitManager.unstageAll({status:F(s)}).finally(w))}function P(){se(n,!0),r().promiseQueue.addTask(()=>r().push().finally(w))}function T(){se(n,!0),r().promiseQueue.addTask(()=>r().pullChangesFromRemote().finally(w))}function I(O){O.stopPropagation(),r().discardAll()}let L=ut(()=>(F(o).match(/\n/g)||[]).length+1||1);var H=SG(),te=z(H),xe=z(te),Z=z(xe);at(Z,O=>l[0]=O,()=>l==null?void 0:l[0]);var K=ie(Z,2);at(K,O=>l[1]=O,()=>l==null?void 0:l[1]);var ce=ie(K,2);at(ce,O=>l[2]=O,()=>l==null?void 0:l[2]);var pe=ie(ce,2);at(pe,O=>l[3]=O,()=>l==null?void 0:l[3]);var W=ie(pe,2);at(W,O=>l[4]=O,()=>l==null?void 0:l[4]);var X=ie(W,2);at(X,O=>l[5]=O,()=>l==null?void 0:l[5]);var G=ie(X,2);at(G,O=>l[6]=O,()=>l==null?void 0:l[6]);var Be=ie(G,2);let pr;at(Be,O=>l[7]=O,()=>l==null?void 0:l[7]),V(xe),V(te);var Ut=ie(te,2),Ie=z(Ut);u0(Ie);var Rt=ie(Ie,2);{var $t=O=>{var ue=yG();Ce(ue,"aria-label","Clear"),ve("click",ue,()=>se(o,"")),le(O,ue)};Re(Rt,O=>{F(o)&&O($t)})}V(Ut);var Xe=ie(Ut,2),ee=z(Xe);{var N=O=>{var ue=EG(),$e=z(ue);let Gt;var Tr=z($e),go=z(Tr);let fb;var db=ie(go,4),Jp=z(db),hb=z(Jp);at(hb,mr=>l[8]=mr,()=>l==null?void 0:l[8]),V(Jp);var pb=ie(Jp,2),u$=z(pb,!0);V(pb),V(db),V(Tr);var f$=ie(Tr,2);{var d$=mr=>{var Pr=ab(),vo=z(Pr);{var bs=gr=>{fo(gr,{get hierarchy(){return F(u)},get plugin(){return r()},get view(){return i()},get fileType(){return 0},topLevel:!0,get closed(){return F(v)},set closed(Li){se(v,Li,!0)}})},wo=gr=>{var Li=sb(),ta=Mi(Li);hi(ta,17,()=>bu(F(s).staged,500),di,(_s,mc)=>{kf(_s,{get change(){return F(mc)},get view(){return i()},get manager(){return r().gitManager}})});var ra=ie(ta,2);uo(ra,{get files(){return F(s).staged}}),le(gr,Li)};Re(vo,gr=>{F(C)?gr(bs):gr(wo,-1)})}V(Pr),an(3,Pr,()=>Un,()=>({duration:150})),le(mr,Pr)};Re(f$,mr=>{F(h)&&mr(d$)})}V($e);var Af=ie($e,2);let mb;var Tf=z(Af),gb=z(Tf);let vb;var wb=ie(gb,4),em=z(wb),bb=z(em),_b=ie(bb,2);at(_b,mr=>l[9]=mr,()=>l==null?void 0:l[9]),V(em);var yb=ie(em,2),h$=z(yb,!0);V(yb),V(wb),V(Tf);var p$=ie(Tf,2);{var m$=mr=>{var Pr=ab(),vo=z(Pr);{var bs=gr=>{fo(gr,{get hierarchy(){return F(c)},get plugin(){return r()},get view(){return i()},get fileType(){return 1},topLevel:!0,get closed(){return F(b)},set closed(Li){se(b,Li,!0)}})},wo=gr=>{var Li=sb(),ta=Mi(Li);hi(ta,17,()=>bu(F(s).changed,500),di,(_s,mc)=>{Ef(_s,{get change(){return F(mc)},get view(){return i()},get manager(){return r().gitManager}})});var ra=ie(ta,2);uo(ra,{get files(){return F(s).changed}}),le(gr,Li)};Re(vo,gr=>{F(C)?gr(bs):gr(wo,-1)})}V(Pr),an(3,Pr,()=>Un,()=>({duration:150})),le(mr,Pr)};Re(p$,mr=>{F(d)&&mr(m$)})}V(Af);var g$=ie(Af,2);{var v$=mr=>{var Pr=xG();let vo;var bs=z(Pr),wo=ie(z(bs),4),gr=z(wo,!0);V(wo),V(bs);var Li=ie(bs,2);{var ta=ra=>{var _s=ab(),mc=z(_s);{var w$=bo=>{fo(bo,{get hierarchy(){return F(f)},get plugin(){return r()},get view(){return i()},get fileType(){return 2},topLevel:!0,get closed(){return F(_)},set closed(Pf){se(_,Pf,!0)}})},b$=bo=>{var Pf=sb(),xb=Mi(Pf);hi(xb,17,()=>F(a),di,(y$,x$)=>{Sf(y$,{get change(){return F(x$)},get view(){return i()}})});var _$=ie(xb,2);uo(_$,{get files(){return F(a)}}),le(bo,Pf)};Re(mc,bo=>{F(C)?bo(w$):bo(b$,-1)})}V(_s),an(3,_s,()=>Un,()=>({duration:150})),le(ra,_s)};Re(Li,ra=>{F(p)&&ra(ta)})}V(Pr),je(()=>{vo=wt(Pr,1,"pulled nav-folder",null,vo,{"is-collapsed":!F(p)}),qe(gr,F(a).length)}),ve("click",bs,()=>se(p,!F(p))),le(mr,Pr)};Re(g$,mr=>{F(a).length>0&&F(f)&&mr(v$)})}V(ue),je(()=>{Gt=wt($e,1,"staged tree-item nav-folder",null,Gt,{"is-collapsed":!F(h)}),fb=wt(go,1,"tree-item-icon nav-folder-collapse-indicator collapse-icon",null,fb,{"is-collapsed":!F(h)}),qe(u$,F(s).staged.length),mb=wt(Af,1,"changes tree-item nav-folder",null,mb,{"is-collapsed":!F(d)}),vb=wt(gb,1,"tree-item-icon nav-folder-collapse-indicator collapse-icon",null,vb,{"is-collapsed":!F(d)}),qe(h$,F(s).changed.length)}),ve("click",Tr,()=>se(h,!F(h))),ve("click",hb,y),ve("click",Tf,()=>se(d,!F(d))),ve("click",bb,I),ve("click",_b,E),le(O,ue)};Re(ee,O=>{F(s)&&F(u)&&F(c)&&O(N)})}V(Xe),V(H),je(()=>{Ce(H,"data-type",Xt.type),Ce(G,"data-icon",F(C)?"list":"folder"),pr=wt(Be,1,"clickable-icon nav-action-button",null,pr,{loading:F(n)}),Ce(Ie,"rows",F(L))}),ve("click",Z,S),ve("click",K,x),ve("click",ce,E),ve("click",pe,y),ve("click",W,P),ve("click",X,T),ve("click",G,()=>{se(C,!F(C)),(0,ho.setIcon)(l[6],F(C)?"list":"folder"),r().settings.treeStructure=F(C),r().saveSettings()}),ve("click",Be,w),Z0(Ie,()=>F(o),O=>se(o,O)),le(t,H),ct()}Pt(["click"]);var Cf=class extends r$.ItemView{constructor(e,r){super(e),this.plugin=r,this.hoverPopover=null}getViewType(){return Xt.type}getDisplayText(){return Xt.name}getIcon(){return Xt.icon}onClose(){return this._view&&gs(this._view),super.onClose()}reload(){this._view&&gs(this._view),this._view=Js(ob,{target:this.contentEl,props:{plugin:this.plugin,view:this}})}onOpen(){return this.reload(),super.onOpen()}};m();var Hp=class{constructor(e,r){this.statusBarEl=e;this.plugin=r;this.statusBarEl.addClass("mod-clickable"),this.statusBarEl.onClickEvent(i=>{this.plugin.switchBranch().catch(n=>r.displayError(n))})}async display(){if(this.plugin.gitReady){let e=await this.plugin.gitManager.branchInfo();e.current!=null?this.statusBarEl.setText(e.current):this.statusBarEl.empty()}else this.statusBarEl.empty()}remove(){this.statusBarEl.remove()}};m();var i$=require("obsidian");var Up=class{constructor(e){this.plugin=e}get editor(){var i;let e=(i=this.plugin.app.workspace.activeEditor)==null?void 0:i.editor,r=e==null?void 0:e.cm;if(!(!e||!Wi.hasHunksData(r.state)))return{editor:r,obEditor:e}}get gitManager(){return this.plugin.gitManager}resetHunk(e){if(!this.editor)return;let{editor:r,obEditor:i}=this.editor,n=Wi.getHunk(r.state,!1,e);if(n){let s,a;n.type==="delete"?(s=n.added.start+1,a=n.added.start+1):(s=n.added.start-0,a=n.added.start-1+n.added.count);let o=r.state.doc.line(s).from,l=n.type==="delete"?r.state.doc.line(a).from:r.state.doc.line(a).to+1,c=n.removed.lines.join(` `);n.removed.lines.length>0&&!n.removed.no_nl_at_eof&&(c+=` `),i.replaceRange(c,i.offsetToPos(o),i.offsetToPos(l)),i.setSelection(i.offsetToPos(o))}}async stageHunk(e){if(!await this.plugin.isAllInitialized()||!this.editor)return;let{editor:r}=this.editor,i=Wi.getHunk(r.state,!1,e),n=!1;if(i||(i=Wi.getHunk(r.state,!0,e),n=!0),!i)return;let s=r.state.field(i$.editorInfoField).file.path,a=zt.createPatch(s,[i],"100644",n).join(` `)+` `;await this.gitManager.applyPatch(a),this.plugin.app.workspace.trigger("obsidian-git:refresh")}goToHunk(e){if(!this.editor)return;let{editor:r,obEditor:i}=this.editor,n=Wi.getHunks(r.state,!1),s=i.getCursor().line+1,a=zt.findNearestHunk(s,n,e,!0);if(a==null)return;let o=n[a];if(o){let l=o.added.start-1;i.setCursor(l,0),i.scrollIntoView({from:{line:l,ch:0},to:{line:l+1,ch:0}},!0)}}};m();m();var po=require("obsidian");var Gp=class{constructor(e){this.plg=e;this.codeMirrorExtensions=[];this.handleWorkspaceLeaf=e=>{if(!this.lineAuthorInfoProvider){console.warn("Git: undefined lineAuthorInfoProvider. Unexpected situation.");return}let r=e==null?void 0:e.view;!(r instanceof po.MarkdownView)||r.file==null||(r==null?void 0:r.allowNoFile)===!0||this.lineAuthorInfoProvider.trackChanged(r.file).catch(console.error)}}onLoadPlugin(){this.plg.registerEditorExtension(this.codeMirrorExtensions),bT(()=>this.plg.settings.lineAuthor,e=>{this.plg.settings.lineAuthor=e,this.plg.saveSettings()})}conditionallyActivateBySettings(){this.plg.settings.lineAuthor.show&&this.activateFeature()}activateFeature(){try{if(!this.isAvailableOnCurrentPlatform().available)return;PT(this.plg.settings.lineAuthor),this.lineAuthorInfoProvider=new _h(this.plg),this.createEventHandlers(),this.activateCodeMirrorExtensions(),console.log(this.plg.manifest.name+": Enabled line authoring.")}catch(e){console.warn("Git: Error while loading line authoring feature.",e),this.deactivateFeature()}}deactivateFeature(){var e;this.destroyEventHandlers(),this.deactivateCodeMirrorExtensions(),(e=this.lineAuthorInfoProvider)==null||e.destroy(),this.lineAuthorInfoProvider=void 0,console.log(this.plg.manifest.name+": Disabled line authoring.")}isAvailableOnCurrentPlatform(){return{available:this.plg.useSimpleGit&&po.Platform.isDesktopApp,gitManager:this.plg.gitManager instanceof Se?this.plg.gitManager:void 0}}refreshLineAuthorViews(){this.plg.settings.lineAuthor.show&&(this.deactivateFeature(),this.activateFeature())}activateCodeMirrorExtensions(){this.codeMirrorExtensions.push(HT),this.plg.app.workspace.updateOptions(),this.plg.app.workspace.iterateAllLeaves(this.handleWorkspaceLeaf)}deactivateCodeMirrorExtensions(){for(let e of this.codeMirrorExtensions)this.codeMirrorExtensions.remove(e);this.plg.app.workspace.updateOptions()}createEventHandlers(){this.gutterContextMenuEvent=this.createGutterContextMenuHandler(),this.fileOpenEvent=this.createFileOpenEvent(),this.workspaceLeafChangeEvent=this.createWorkspaceLeafChangeEvent(),this.fileModificationEvent=this.createVaultFileModificationHandler(),this.headChangeEvent=this.createHeadChangeEvent(),this.refreshOnCssChangeEvent=this.createCssRefreshHandler(),this.fileRenameEvent=this.createFileRenameEvent(),ST(),this.plg.registerEvent(this.gutterContextMenuEvent),this.plg.registerEvent(this.refreshOnCssChangeEvent),this.plg.registerEvent(this.fileOpenEvent),this.plg.registerEvent(this.workspaceLeafChangeEvent),this.plg.registerEvent(this.fileModificationEvent),this.plg.registerEvent(this.headChangeEvent),this.plg.registerEvent(this.fileRenameEvent)}destroyEventHandlers(){this.plg.app.workspace.offref(this.gutterContextMenuEvent),this.plg.app.workspace.offref(this.refreshOnCssChangeEvent),this.plg.app.workspace.offref(this.fileOpenEvent),this.plg.app.workspace.offref(this.workspaceLeafChangeEvent),this.plg.app.vault.offref(this.fileModificationEvent),this.plg.app.workspace.offref(this.headChangeEvent),this.plg.app.vault.offref(this.fileRenameEvent)}createFileOpenEvent(){return this.plg.app.workspace.on("file-open",e=>{var r;e&&((r=this.lineAuthorInfoProvider)==null||r.trackChanged(e).catch(console.error))})}createWorkspaceLeafChangeEvent(){return this.plg.app.workspace.on("active-leaf-change",this.handleWorkspaceLeaf)}createFileRenameEvent(){return this.plg.app.vault.on("rename",(e,r)=>{var i;return e instanceof po.TFile&&((i=this.lineAuthorInfoProvider)==null?void 0:i.trackChanged(e))})}createVaultFileModificationHandler(){return this.plg.app.vault.on("modify",e=>{var r;return e instanceof po.TFile&&((r=this.lineAuthorInfoProvider)==null?void 0:r.trackChanged(e))})}createHeadChangeEvent(){return this.plg.app.workspace.on("obsidian-git:head-change",()=>{this.refreshLineAuthorViews()})}createCssRefreshHandler(){return this.plg.app.workspace.on("css-change",()=>this.refreshLineAuthorViews())}createGutterContextMenuHandler(){return this.plg.app.workspace.on("editor-menu",AT)}};m();var pc=require("obsidian");m();m();var mo=require("@codemirror/state"),Vp=require("@codemirror/view");var jp=class extends Vp.GutterMarker{constructor(r,i){super();this.type=r;this.staged=i}toDOM(r){let i=createDiv();return i.className=`git-gutter-marker git-${this.type} ${this.staged?"staged":"unstaged"}`,this.type=="changedelete"&&i.setText("~"),i}},lb=mo.StateField.define({create:()=>mo.RangeSet.empty,update:(t,e)=>{let r=e.state.field(Gr,!1);if(!r)return mo.RangeSet.empty;let i=e.effects.some(s=>s.is(Oh)),n=e.effects.some(s=>s.is(Rl));if(i||n||(e.docChanged||t.size==0)&&r.isDirty==!1){let s=new Set,a=n$(e,r.hunks,!1,s),o=n$(e,r.stagedHunks,!0,s);return t=mo.RangeSet.of([...a,...o],!0),t}else e.docChanged&&(t=t.map(e.changes));return t}});function n$(t,e,r,i){let n=[];for(let a=0;a0?e[a-1]:void 0,l=a{var e;return(e=t.state.field(lb,!1))!=null?e:mo.RangeSet.empty},initialSpacer:t=>new jp("delete",!1),domEventHandlers:{click:(t,e,r)=>{var n;return((n=Wi.getHunkAtPos(t.state,e.from,!1))!=null?n:Wi.getHunkAtPos(t.state,e.from,!0))&&(zs(t,e.from),r.preventDefault()),!1}}});var zp=class{constructor(e){this.plugin=e}async trackChanged(e){return this.trackChangedHelper(e).catch(r=>(console.warn("Git: Error in trackChanged."+r),Promise.reject(r)))}async trackChangedHelper(e){if(e){if(e.path===void 0){console.warn("Git: Attempted to track change of undefined filepath. Unforeseen situation.");return}return this.computeSigns(e.path)}}destroy(){}async computeSigns(e){let i=await this.plugin.editorIntegration.lineAuthoringFeature.isAvailableOnCurrentPlatform().gitManager.show("",e).catch(()=>{});this.notifySignComputationResultToSubscribers(e,{compareText:i,compareTextHead:void 0})}notifySignComputationResultToSubscribers(e,r){Si.ifFilepathDefinedTransformSubscribers(e,i=>i.forEach(n=>n.notifyGitCompare(r)))}},a$=[rP,iP,s$,lb,qh],o$=[Gr,Bu];m();var Wp=require("obsidian"),qp=class{constructor(e,r){this.statusBarEl=e;this.plugin=r;var i;e.addClass("git-changes-status-bar"),r.settings.hunks.statusBar==="colored"&&e.addClass("git-changes-status-bar-colored"),e.setAttr("aria-label","Git diff of the current editor"),this.statusBarEl.setAttribute("data-tooltip-position","top"),this.view=(i=r.app.workspace.getActiveViewOfType(Wp.MarkdownView))!=null?i:void 0,r.app.workspace.on("active-leaf-change",n=>{!n||n.getRoot()==r.app.workspace.rootSplit&&!(n.view instanceof Wp.MarkdownView)?this.statusBarEl.empty():n.view instanceof Wp.MarkdownView&&(this.view=n.view)})}display(e,r){var a;if(!this.view||((a=this.view.file)==null?void 0:a.path)!==(r==null?void 0:r.path))return;let i=0,n=0,s=0;for(let o of e)i+=Math.max(0,o.added.count-o.removed.count),n+=Math.min(o.added.count,o.removed.count),s+=Math.max(0,o.removed.count-o.added.count);this.statusBarEl.empty(),i>0&&this.statusBarEl.createSpan({text:`+${i} `,cls:"git-add"}),n>0&&this.statusBarEl.createSpan({text:`~${n} `,cls:"git-change"}),s>0&&this.statusBarEl.createSpan({text:`-${s}`,cls:"git-delete"})}remove(){this.statusBarEl.remove()}};var Yp=class{constructor(e){this.plg=e;this.codeMirrorExtensions=[];this.handleWorkspaceLeaf=e=>{if(!this.signsProvider){console.warn("Git: undefined signsProvider. Unexpected situation.");return}let r=e==null?void 0:e.view;!(r instanceof pc.MarkdownView)||r.file==null||(r==null?void 0:r.allowNoFile)===!0||this.signsProvider.trackChanged(r.file).catch(console.error)}}onLoadPlugin(){this.plg.registerEditorExtension(this.codeMirrorExtensions)}conditionallyActivateBySettings(){(this.plg.settings.hunks.showSigns||this.plg.settings.hunks.statusBar!="disabled"||this.plg.settings.hunks.hunkCommands)&&this.activateFeature()}activateFeature(){try{if(!this.isAvailableOnCurrentPlatform().available)return;if(this.signsProvider=new zp(this.plg),this.createEventHandlers(),this.activateCodeMirrorExtensions(),this.plg.settings.hunks.statusBar!="disabled"){let e=this.plg.addStatusBarItem();this.changeStatusBar=new qp(e,this.plg)}}catch(e){console.warn("Git: Error while loading signs feature.",e),this.deactivateFeature()}}deactivateFeature(){var e,r;this.destroyEventHandlers(),this.deactivateCodeMirrorExtensions(),(e=this.signsProvider)==null||e.destroy(),this.signsProvider=void 0,(r=this.changeStatusBar)==null||r.remove(),this.changeStatusBar=void 0}isAvailableOnCurrentPlatform(){return{available:this.plg.useSimpleGit&&pc.Platform.isDesktopApp,gitManager:this.plg.gitManager instanceof Se?this.plg.gitManager:void 0}}refresh(){this.signsProvider&&this.plg.app.workspace.iterateAllLeaves(this.handleWorkspaceLeaf)}activateCodeMirrorExtensions(){this.codeMirrorExtensions.push(o$),this.plg.settings.hunks.showSigns&&this.codeMirrorExtensions.push(...a$),this.plg.app.workspace.updateOptions(),this.plg.app.workspace.iterateAllLeaves(this.handleWorkspaceLeaf)}deactivateCodeMirrorExtensions(){for(let e of this.codeMirrorExtensions)this.codeMirrorExtensions.remove(e);this.plg.app.workspace.updateOptions()}createEventHandlers(){this.workspaceLeafChangeEvent=this.createWorkspaceLeafChangeEvent(),this.fileRenameEvent=this.createFileRenameEvent(),this.pluginRefreshedEvent=this.createPluginRefreshedEvent(),this.intervalRefreshEvent=this.createIntervalRefreshEvent(),this.plg.registerEvent(this.workspaceLeafChangeEvent),this.plg.registerEvent(this.fileRenameEvent),this.plg.registerEvent(this.pluginRefreshedEvent),this.plg.registerInterval(this.intervalRefreshEvent)}destroyEventHandlers(){this.plg.app.workspace.offref(this.workspaceLeafChangeEvent),this.plg.app.vault.offref(this.fileRenameEvent),this.plg.app.workspace.offref(this.pluginRefreshedEvent),window.clearInterval(this.intervalRefreshEvent)}createWorkspaceLeafChangeEvent(){return this.plg.app.workspace.on("active-leaf-change",this.handleWorkspaceLeaf)}createFileRenameEvent(){return this.plg.app.vault.on("rename",(e,r)=>{var i;return Si.ifFilepathDefinedTransformSubscribers(r,n=>n.forEach(s=>{s.changeToNewFilepath(e.path)})),e instanceof pc.TFile&&((i=this.signsProvider)==null?void 0:i.trackChanged(e))})}createPluginRefreshedEvent(){return this.plg.app.workspace.on("obsidian-git:refreshed",()=>{this.refresh()})}createIntervalRefreshEvent(){return window.setInterval(()=>{var e,r;(e=this.plg.app.workspace.activeEditor)!=null&&e.file&&((r=this.signsProvider)==null||r.trackChanged(this.plg.app.workspace.activeEditor.file).catch(console.error))},10*1e3)}};m();var l$=require("@codemirror/state"),Zp=require("obsidian");var cb=class{constructor(e){this.state=e;this.subscribeMe()}notifyLineAuthoring(e,r){if(this.view===void 0){console.warn(`Git: View is not defined for editor cache key. Unforeseen situation. id: ${e}`);return}let i=this.view.state,n=wT(e,r,i);this.view.dispatch(n)}notifyGitCompare(e){if(this.view===void 0){console.warn("Git: View is not defined for editor cache key. Unforeseen situation. id: ");return}if(this.removeIfStale())return;let r=this.view.state,i=r.field(Gr);if(!i||i.compareText!=e.compareText||i.compareTextHead!=e.compareTextHead){let n=F2(e,r);this.view.dispatch(n)}}updateToNewState(e){return this.state=e,!this.lastSeenPath&&this.filepath&&this.subscribeMe(),this}removeIfStale(){var e;return((e=this.view)==null?void 0:e.state.field(ub,!1))!=this||this.view.destroyed?(this.unsubscribeMe(this.lastSeenPath),!0):!1}changeToNewFilepath(e){this.unsubscribeMe(this.lastSeenPath),this.subscribeMe(e)}subscribeMe(e){e!=null||(e=this.filepath),e!==void 0&&(Si.ifFilepathDefinedTransformSubscribers(e,r=>r.add(this)),this.lastSeenPath=e)}unsubscribeMe(e){Si.ifFilepathDefinedTransformSubscribers(e,r=>r.delete(this))}get filepath(){var e,r;return(r=(e=this.state.field(Zp.editorInfoField))==null?void 0:e.file)==null?void 0:r.path}get view(){return this.state.field(Zp.editorEditorField)}},ub=l$.StateField.define({create:t=>new cb(t),update:(t,e)=>t.updateToNewState(e.state),compare:(t,e)=>t===e});var Kp=class{constructor(e){this.plg=e;this.lineAuthoringFeature=new Gp(this.plg);this.signsFeature=new Yp(this.plg)}onUnloadPlugin(){this.lineAuthoringFeature.deactivateFeature(),this.signsFeature.deactivateFeature(),Si.clear()}onLoadPlugin(){Si.init(),this.plg.registerEditorExtension(ub),this.lineAuthoringFeature.onLoadPlugin(),this.signsFeature.onLoadPlugin()}onReady(){this.lineAuthoringFeature.conditionallyActivateBySettings(),this.signsFeature.conditionallyActivateBySettings()}activateLineAuthoring(){this.lineAuthoringFeature.activateFeature()}deactiveLineAuthoring(){this.lineAuthoringFeature.deactivateFeature()}refreshSignsSettings(){let e=this.plg.settings.hunks;e.showSigns||e.statusBar!="disabled"||e.hunkCommands?(this.signsFeature.deactivateFeature(),this.signsFeature.activateFeature()):this.signsFeature.deactivateFeature()}};var Xp=class extends ke.Plugin{constructor(){super(...arguments);this.automaticsManager=new Mu(this);this.tools=new qu(this);this.localStorage=new Yh(this);this.state={operation:0,offlineMode:!1};this.gitReady=!1;this.promiseQueue=new $d(this);this.intervalsToClear=[];this.editorIntegration=new Kp(this);this.hunkActions=new Up(this)}setPluginState(r){var i;this.state=Object.assign(this.state,r),(i=this.statusBar)==null||i.display()}async updateCachedStatus(){var r,i;return this.app.workspace.trigger("obsidian-git:loading-status"),this.cachedStatus=await this.gitManager.status(),this.cachedStatus.conflicted.length>0?(this.localStorage.setConflict(!0),await((r=this.branchBar)==null?void 0:r.display())):(this.localStorage.setConflict(!1),await((i=this.branchBar)==null?void 0:i.display())),this.app.workspace.trigger("obsidian-git:status-changed",this.cachedStatus),this.cachedStatus}async refresh(){if(!this.gitReady)return;let r=this.app.workspace.getLeavesOfType(Xt.type),i=this.app.workspace.getLeavesOfType(wi.type);(this.settings.changedFilesInStatusBar||r.some(n=>{var s;return!((s=n.isDeferred)!=null&&s)})||i.some(n=>{var s;return!((s=n.isDeferred)!=null&&s)}))&&await this.updateCachedStatus().catch(n=>this.displayError(n)),this.app.workspace.trigger("obsidian-git:refreshed")}refreshUpdatedHead(){}async onload(){console.log("loading "+this.manifest.name+" plugin: v"+this.manifest.version),It.plugin=this,this.localStorage.migrate(),await this.loadSettings(),await this.migrateSettings(),this.settingsTab=new yh(this.app,this),this.addSettingTab(this.settingsTab),this.localStorage.getPluginDisabled()||(this.registerStuff(),this.app.workspace.onLayoutReady(()=>this.init({fromReload:!1}).catch(r=>this.displayError(r))))}onExternalSettingsChange(){this.reloadSettings().catch(r=>this.displayError(r))}async reloadSettings(){let r=JSON.stringify(this.settings);await this.loadSettings();let i=JSON.stringify(this.settings);r!==i&&(this.log("Reloading settings"),this.unloadPlugin(),await this.init({fromReload:!0}),this.app.workspace.getLeavesOfType(Xt.type).forEach(n=>{var s;if(!((s=n.isDeferred)!=null&&s))return n.view.reload()}),this.app.workspace.getLeavesOfType(wi.type).forEach(n=>{var s;if(!((s=n.isDeferred)!=null&&s))return n.view.reload()}))}registerStuff(){this.registerEvent(this.app.workspace.on("obsidian-git:refresh",()=>{this.refresh().catch(r=>this.displayError(r))})),this.registerEvent(this.app.workspace.on("obsidian-git:head-change",()=>{this.refreshUpdatedHead()})),this.registerEvent(this.app.workspace.on("file-menu",(r,i,n)=>{this.handleFileMenu(r,i,n,"file-manu")})),this.registerEvent(this.app.workspace.on("obsidian-git:menu",(r,i,n)=>{this.handleFileMenu(r,i,n,"obsidian-git:menu")})),this.registerEvent(this.app.workspace.on("active-leaf-change",r=>{this.onActiveLeafChange(r)})),this.registerEvent(this.app.vault.on("modify",()=>{var r;this.debRefresh(),(r=this.autoCommitDebouncer)==null||r.call(this)})),this.registerEvent(this.app.vault.on("delete",()=>{var r;this.debRefresh(),(r=this.autoCommitDebouncer)==null||r.call(this)})),this.registerEvent(this.app.vault.on("create",()=>{var r;this.debRefresh(),(r=this.autoCommitDebouncer)==null||r.call(this)})),this.registerEvent(this.app.vault.on("rename",()=>{var r;this.debRefresh(),(r=this.autoCommitDebouncer)==null||r.call(this)})),this.registerView(Xt.type,r=>new Cf(r,this)),this.registerView(wi.type,r=>new yf(r,this)),this.registerView(Ls.type,r=>new Ha(r,this)),this.registerView(Os.type,r=>new Ua(r,this)),this.addRibbonIcon("git-pull-request","Open Git source control",async()=>{var n;let r=this.app.workspace.getLeavesOfType(Xt.type),i;r.length===0?(i=(n=this.app.workspace.getRightLeaf(!1))!=null?n:this.app.workspace.getLeaf(),await i.setViewState({type:Xt.type})):i=r.first(),await this.app.workspace.revealLeaf(i)}),this.registerHoverLinkSource(Xt.type,{display:"Git View",defaultMod:!0}),this.editorIntegration.onLoadPlugin(),this.setRefreshDebouncer(),nP(this)}setRefreshDebouncer(){var r;(r=this.debRefresh)==null||r.cancel(),this.debRefresh=(0,ke.debounce)(()=>{this.settings.refreshSourceControl&&this.refresh().catch(console.error)},this.settings.refreshSourceControlTimer,!0)}async addFileToGitignore(r,i){let n=this.gitManager.getRelativeRepoPath(r,!0),s=ck({isFolder:i,gitRelativePath:n});await this.app.vault.adapter.append(this.gitManager.getRelativeVaultPath(".gitignore"),` `+s),this.app.workspace.trigger("obsidian-git:refresh")}handleFileMenu(r,i,n,s){if(!this.gitReady||!this.settings.showFileMenu||!i)return;let a;if(typeof i=="string"?a=i:a=i.path,n=="file-explorer-context-menu"&&(r.addItem(o=>{o.setTitle("Git: Stage").setIcon("plus-circle").setSection("action").onClick(l=>{this.promiseQueue.addTask(async()=>{i instanceof ke.TFile?await this.stageFile(i):(await this.gitManager.stageAll({dir:this.gitManager.getRelativeRepoPath(a,!0)}),this.app.workspace.trigger("obsidian-git:refresh"))})})}),r.addItem(o=>{o.setTitle("Git: Unstage").setIcon("minus-circle").setSection("action").onClick(l=>{this.promiseQueue.addTask(async()=>{i instanceof ke.TFile?await this.unstageFile(i):(await this.gitManager.unstageAll({dir:this.gitManager.getRelativeRepoPath(a,!0)}),this.app.workspace.trigger("obsidian-git:refresh"))})})}),r.addItem(o=>{o.setTitle("Git: Add to .gitignore").setIcon("file-x").setSection("action").onClick(l=>{this.addFileToGitignore(a,i instanceof ke.TFolder).catch(c=>this.displayError(c))})})),n=="git-source-control"){r.addItem(l=>{l.setTitle("Git: Add to .gitignore").setIcon("file-x").setSection("action").onClick(c=>{this.addFileToGitignore(a,i instanceof ke.TFolder).catch(u=>this.displayError(u))})});let o=this.app.vault.adapter;s==="obsidian-git:menu"&&o instanceof ke.FileSystemAdapter&&(r.addItem(l=>{l.setTitle("Open in default app").setIcon("arrow-up-right").setSection("action").onClick(c=>{this.app.openWithDefaultApp(a)})}),r.addItem(l=>{l.setTitle("Show in system explorer").setIcon("arrow-up-right").setSection("action").onClick(c=>{window.electron.shell.showItemInFolder(c$.join(o.getBasePath(),a))})}))}}async migrateSettings(){this.settings.mergeOnPull!=null&&(this.settings.syncMethod=this.settings.mergeOnPull?"merge":"rebase",this.settings.mergeOnPull=void 0,await this.saveSettings()),this.settings.autoCommitMessage===void 0&&(this.settings.autoCommitMessage=this.settings.commitMessage,await this.saveSettings()),this.settings.gitPath!=null&&(this.localStorage.setGitPath(this.settings.gitPath),this.settings.gitPath=void 0,await this.saveSettings()),this.settings.username!=null&&(this.localStorage.setPassword(this.settings.username),this.settings.username=void 0,await this.saveSettings())}unloadPlugin(){var r,i;this.gitReady=!1,this.editorIntegration.onUnloadPlugin(),this.automaticsManager.unload(),(r=this.branchBar)==null||r.remove(),(i=this.statusBar)==null||i.remove(),this.statusBar=void 0,this.branchBar=void 0,this.gitManager.unload(),this.promiseQueue.clear();for(let n of this.intervalsToClear)window.clearInterval(n);this.intervalsToClear=[],this.debRefresh.cancel()}onunload(){this.unloadPlugin(),console.log("unloading "+this.manifest.name+" plugin")}async loadSettings(){let r=await this.loadData();r==null&&(r={showedMobileNotice:!0}),this.settings=DS(pt,r)}async saveSettings(){var r;(r=this.settingsTab)==null||r.beforeSaveSettings(),await this.saveData(this.settings)}get useSimpleGit(){return ke.Platform.isDesktopApp}async init({fromReload:r=!1}){var i;if(!this.localStorage.getPluginDisabled()){if(this.settings.showStatusBar&&!this.statusBar){let n=this.addStatusBarItem();this.statusBar=new xh(n,this),this.intervalsToClear.push(window.setInterval(()=>{var s;return(s=this.statusBar)==null?void 0:s.display()},1e3))}try{this.useSimpleGit?(this.gitManager=new Se(this),await this.gitManager.setGitInstance()):this.gitManager=new zi(this);let n=await this.gitManager.checkRequirements(),s=this.localStorage.getPausedAutomatics();switch(n){case"missing-git":this.displayError(`Cannot run git command. Trying to run: '${this.localStorage.getGitPath()||"git"}' .`);break;case"missing-repo":new ke.Notice("Can't find a valid git repository. Please create one via the given command or clone an existing repo.",1e4);break;case"valid":if(this.gitReady=!0,ke.Platform.isDesktop&&this.settings.showBranchStatusBar&&!this.branchBar){let a=this.addStatusBarItem();this.branchBar=new Hp(a,this),this.intervalsToClear.push(window.setInterval(()=>{var o;(o=this.branchBar)==null?void 0:o.display().catch(console.error)},6e4))}await((i=this.branchBar)==null?void 0:i.display()),this.editorIntegration.onReady(),this.app.workspace.trigger("obsidian-git:refresh"),this.app.workspace.trigger("obsidian-git:head-change"),!r&&this.settings.autoPullOnBoot&&!s&&this.promiseQueue.addTask(()=>this.pullChangesFromRemote()),s||await this.automaticsManager.init(),s&&new ke.Notice("Automatic routines are currently paused.");break;default:this.log("Something weird happened. The 'checkRequirements' result is "+n)}}catch(n){this.displayError(n),console.error(n)}}}async createNewRepo(){try{await this.gitManager.init(),new ke.Notice("Initialized new repo"),await this.init({fromReload:!0})}catch(r){this.displayError(r)}}async cloneNewRepo(){let i=await new rt(this,{placeholder:"Enter remote URL"}).openAndGetResult();if(i){let n="Vault Root",s=await new rt(this,{options:this.gitManager instanceof zi?[n]:[],placeholder:"Enter directory for clone. It needs to be empty or not existent.",allowEmpty:this.gitManager instanceof zi}).openAndGetResult();if(s==null)return;if(s===n&&(s="."),s=(0,ke.normalizePath)(s),s==="/"&&(s="."),s==="."){let f=await new rt(this,{options:["NO","YES"],placeholder:`Does your remote repo contain a ${this.app.vault.configDir} directory at the root?`,onlySelection:!0}).openAndGetResult();if(f===void 0){new ke.Notice("Aborted clone");return}else if(f==="YES"){let d="DELETE ALL YOUR LOCAL CONFIG AND PLUGINS";if(await new rt(this,{options:["Abort clone",d],placeholder:`To avoid conflicts, the local ${this.app.vault.configDir} directory needs to be deleted.`,onlySelection:!0}).openAndGetResult()===d)await this.app.vault.adapter.rmdir(this.app.vault.configDir,!0);else{new ke.Notice("Aborted clone");return}}}let a=await new rt(this,{placeholder:"Specify depth of clone. Leave empty for full clone.",allowEmpty:!0}).openAndGetResult(),o;if(a===void 0){new ke.Notice("Aborted clone");return}if(a!==""&&(o=parseInt(a),isNaN(o))){new ke.Notice("Invalid depth. Aborting clone.");return}new ke.Notice(`Cloning new repo into "${s}"`);let l=this.settings.basePath,c=s&&s!==".";c&&(this.settings.basePath=s);try{await this.gitManager.clone(uv(i),s,o),new ke.Notice("Cloned new repo."),new ke.Notice("Please restart Obsidian"),c&&await this.saveSettings()}catch(u){this.displayError(u),this.settings.basePath=l,await this.saveSettings()}}}async isAllInitialized(){return this.gitReady||await this.init({fromReload:!0}),this.gitReady}async pullChangesFromRemote(){if(!await this.isAllInitialized())return;let r=await this.pull();if(r!==!1){if(r||this.displayMessage("Pull: Everything is up-to-date"),this.gitManager instanceof Se){let i=await this.updateCachedStatus();i.conflicted.length>0&&(this.displayError(`You have conflicts in ${i.conflicted.length} ${i.conflicted.length==1?"file":"files"}`),await this.handleConflict(i.conflicted))}this.app.workspace.trigger("obsidian-git:refresh")}}async commitAndSync({fromAutoBackup:r,requestCustomMessage:i=!1,commitMessage:n,onlyStaged:s=!1}){!await this.isAllInitialized()||(this.settings.syncMethod=="reset"&&this.settings.pullBeforePush&&await this.pull(),!await this.commit({fromAuto:r,requestCustomMessage:i,commitMessage:n,onlyStaged:s}))||(this.settings.syncMethod!="reset"&&this.settings.pullBeforePush&&await this.pull(),this.settings.disablePush||(await this.remotesAreSet()&&await this.gitManager.canPush()?await this.push():this.displayMessage("No commits to push")))}async commit({fromAuto:r,requestCustomMessage:i=!1,onlyStaged:n=!1,commitMessage:s,amend:a=!1}){if(!await this.isAllInitialized())return!1;try{let o=this.localStorage.getConflict(),l,c=[],u=[];if(this.gitManager instanceof Se){if(await this.mayDeleteConflictFile(),l=await this.updateCachedStatus(),l.conflicted.length==0&&(o=!1),r&&l.conflicted.length>0)return this.displayError(`Did not commit, because you have conflicts in ${l.conflicted.length} ${l.conflicted.length==1?"file":"files"}. Please resolve them and commit per command.`),await this.handleConflict(l.conflicted),!1;c=l.staged,u=l.changed}else{if(r&&o)return this.displayError("Did not commit, because you have conflicts. Please resolve them and commit per command."),!1;{o&&await this.mayDeleteConflictFile();let f=this.gitManager;n?c=await f.getStagedFiles():u=(await f.getUnstagedFiles()).map(({path:h,type:p})=>({vaultPath:this.gitManager.getRelativeVaultPath(h),path:h,type:p}))}}if(await this.tools.hasTooBigFiles(n?c:[...c,...u]))return!1;if(u.length+c.length!==0||o){let f=s!=null?s:s=r?this.settings.autoCommitMessage:this.settings.commitMessage;if(r&&this.settings.customMessageOnAutoBackup||i){!this.settings.disablePopups&&r&&new ke.Notice("Auto backup: Please enter a custom commit message. Leave empty to abort");let p=await new Eh(this).openAndGetResult();if(p!=null&&p!=""&&p!="...")f=p;else return!1}else if(this.gitManager instanceof Se&&this.settings.commitMessageScript){let p=this.settings.commitMessageScript,g=this.localStorage.getHostname()||"",v=p.replace("{{hostname}}",g);v=v.replace("{{date}}",(0,ke.moment)().format(this.settings.commitDateFormat));let b="sh";if(ke.Platform.isWin){b=process.env.PROGRAMFILES+"\\Git\\bin\\sh.exe";let C=!1;try{await Qp.access(b,Qp.constants.X_OK),C=!0}catch(x){C=!1}if(!C)return this.displayError(`Cannot find sh.exe at ${b}. Please make sure Git is properly installed.`),!1}let _=await _u(b,["-c",v],{cwd:this.gitManager.absoluteRepoPath});_.code!=0?this.displayError(_.stderr):_.stdout.trim().length==0?this.displayMessage("Stdout from commit message script is empty. Using default message."):f=_.stdout}if(!f||f.trim()==="")return new ke.Notice("Commit aborted: No commit message provided"),!1;let d;n?d=await this.gitManager.commit({message:f,amend:a}):d=await this.gitManager.commitAll({message:f,status:l,unstagedFiles:u,amend:a}),this.gitManager instanceof Se&&await this.updateCachedStatus();let h=!1;d===void 0&&(h=!0,d=u.length+c.length||0),d===0?this.displayMessage("No changes to commit"):this.displayMessage(`Committed${h?" approx.":""} ${d} ${d==1?"file":"files"}`)}else this.displayMessage("No changes to commit");return this.app.workspace.trigger("obsidian-git:refresh"),!0}catch(o){return this.displayError(o),!1}}async push(){if(!await this.isAllInitialized()||!await this.remotesAreSet())return!1;let r=this.localStorage.getConflict();try{this.gitManager instanceof Se&&await this.mayDeleteConflictFile();let i;if(this.gitManager instanceof Se&&(i=await this.updateCachedStatus()).conflicted.length>0)return this.displayError(`Cannot push. You have conflicts in ${i.conflicted.length} ${i.conflicted.length==1?"file":"files"}`),await this.handleConflict(i.conflicted),!1;if(this.gitManager instanceof zi&&r)return this.displayError("Cannot push. You have conflicts"),!1;this.settings.squashCommitsBeforePush&&this.gitManager instanceof Se&&await this.gitManager.squashAllUnpushedCommits(),this.log("Pushing....");let n=await this.gitManager.push();return n!==void 0&&(n===null?this.displayMessage("Pushed to remote"):n>0?this.displayMessage(`Pushed ${n} ${n==1?"file":"files"} to remote`):this.displayMessage("No commits to push")),this.setPluginState({offlineMode:!1}),this.app.workspace.trigger("obsidian-git:refresh"),!0}catch(i){return i instanceof nl?this.handleNoNetworkError(i):this.displayError(i),!1}}async pull(){if(!await this.remotesAreSet())return!1;try{this.log("Pulling....");let r=await this.gitManager.pull()||[];return this.setPluginState({offlineMode:!1}),r.length>0&&(this.displayMessage(`Pulled ${r.length} ${r.length==1?"file":"files"} from remote`),this.lastPulledFiles=r),r.length}catch(r){return this.displayError(r),!1}}async fetch(){if(await this.remotesAreSet())try{await this.gitManager.fetch(),this.displayMessage("Fetched from remote"),this.setPluginState({offlineMode:!1}),this.app.workspace.trigger("obsidian-git:refresh")}catch(r){this.displayError(r)}}async mayDeleteConflictFile(){let r=this.app.vault.getAbstractFileByPath(il);r&&(this.app.workspace.iterateAllLeaves(i=>{var n;i.view instanceof ke.MarkdownView&&((n=i.view.file)==null?void 0:n.path)==r.path&&i.detach()}),await this.app.vault.delete(r))}async stageFile(r){return await this.isAllInitialized()?(await this.gitManager.stage(r.path,!0),this.app.workspace.trigger("obsidian-git:refresh"),!0):!1}async unstageFile(r){return await this.isAllInitialized()?(await this.gitManager.unstage(r.path,!0),this.app.workspace.trigger("obsidian-git:refresh"),!0):!1}async switchBranch(){var n;if(!await this.isAllInitialized())return;let r=await this.gitManager.branchInfo(),i=await new Np(this,r.branches).openAndGetReslt();if(i!=null)return await this.gitManager.checkout(i),this.displayMessage(`Switched to ${i}`),this.app.workspace.trigger("obsidian-git:refresh"),await((n=this.branchBar)==null?void 0:n.display()),i}async switchRemoteBranch(){var s;if(!await this.isAllInitialized())return;let r=await this.selectRemoteBranch()||"",[i,n]=yn(r);if(n!=null&&i!=null)return await this.gitManager.checkout(n,i),this.displayMessage(`Switched to ${r}`),await((s=this.branchBar)==null?void 0:s.display()),r}async createBranch(){var i;if(!await this.isAllInitialized())return;let r=await new rt(this,{placeholder:"Create new branch"}).openAndGetResult();if(r!=null)return await this.gitManager.createBranch(r),this.displayMessage(`Created new branch ${r}`),await((i=this.branchBar)==null?void 0:i.display()),r}async deleteBranch(){var n;if(!await this.isAllInitialized())return;let r=await this.gitManager.branchInfo();r.current&&r.branches.remove(r.current);let i=await new rt(this,{options:r.branches,placeholder:"Delete branch",onlySelection:!0}).openAndGetResult();if(i!=null){let s=!1;if(!await this.gitManager.branchIsMerged(i)){let o=await new rt(this,{options:["YES","NO"],placeholder:"This branch isn't merged into HEAD. Force delete?",onlySelection:!0}).openAndGetResult();if(o!=="YES")return;s=o==="YES"}return await this.gitManager.deleteBranch(i,s),this.displayMessage(`Deleted branch ${i}`),await((n=this.branchBar)==null?void 0:n.display()),i}}async remotesAreSet(){return this.settings.updateSubmodules||this.gitManager instanceof Se&&await this.gitManager.getConfig("push.autoSetupRemote","all")=="true"||(await this.gitManager.branchInfo()).tracking?!0:(new ke.Notice("No upstream branch is set. Please select one."),await this.setUpstreamBranch())}async setUpstreamBranch(){let r=await this.selectRemoteBranch();return r==null?(this.displayError("Aborted. No upstream-branch is set!",1e4),!1):(await this.gitManager.updateUpstreamBranch(r),this.displayMessage(`Set upstream branch to ${r}`),!0)}async discardAll(r){if(!await this.isAllInitialized())return!1;let i=await this.gitManager.status({path:r}),n=0,s=0;for(let o of i.changed)o.workingDir=="U"?n++:s++;if(n+s==0)return!1;let a=await new hc({app:this.app,filesToDeleteCount:n,filesToDiscardCount:s,path:r!=null?r:""}).openAndGetResult();switch(a){case!1:return a;case"discard":await this.gitManager.discardAll({dir:r,status:this.cachedStatus});break;case"delete":{await this.gitManager.discardAll({dir:r,status:this.cachedStatus});let o=await this.gitManager.getUntrackedPaths({path:r,status:this.cachedStatus});for(let l of o){let c=this.gitManager.getRelativeVaultPath(l),u=this.app.vault.getAbstractFileByPath(c);u?await this.app.fileManager.trashFile(u):l.endsWith("/")?await this.app.vault.adapter.rmdir(c,!0):await this.app.vault.adapter.remove(c)}break}default:Nd(a)}return this.app.workspace.trigger("obsidian-git:refresh"),a}async handleConflict(r){this.localStorage.setConflict(!0);let i;r!==void 0&&(i=["# Conflicts","Please resolve them and commit them using the commands `Git: Commit all changes` followed by `Git: Push`","(This file will automatically be deleted before commit)","[[#Additional Instructions]] available below file list","",...r.map(n=>{let s=this.app.vault.getAbstractFileByPath(n);return s instanceof ke.TFile?`- [[${this.app.metadataCache.fileToLinktext(s,"/")}]]`:`- Not a file: ${n}`}),` # Additional Instructions I strongly recommend to use "Source mode" for viewing the conflicted files. For simple conflicts, in each file listed above replace every occurrence of the following text blocks with the desired text. \`\`\`diff <<<<<<< HEAD File changes in local repository ======= File changes in remote repository >>>>>>> origin/main \`\`\``]),await this.tools.writeAndOpenFile(i==null?void 0:i.join(` `))}async editRemotes(){if(!await this.isAllInitialized())return;let r=await this.gitManager.getRemotes(),n=await new rt(this,{options:r,placeholder:"Select or create a new remote by typing its name and selecting it"}).openAndGetResult();if(n){let s=await this.gitManager.getRemoteUrl(n),o=await new rt(this,{initialValue:s,placeholder:"Enter remote URL"}).openAndGetResult();if(o)return await this.gitManager.setRemote(n,uv(o)),n}}async selectRemoteBranch(){let r=await this.gitManager.getRemotes(),i;r.length===0&&(i=await this.editRemotes(),i==null&&(r=await this.gitManager.getRemotes()));let n=new rt(this,{options:r,placeholder:"Select or create a new remote by typing its name and selecting it"}),s=i!=null?i:await n.openAndGetResult();if(s){this.displayMessage("Fetching remote branches"),await this.gitManager.fetch(s);let a=await this.gitManager.getRemoteBranches(s),l=await new rt(this,{options:a,placeholder:"Select or create a new remote branch by typing its name and selecting it"}).openAndGetResult();return l==null?void 0:l.startsWith(s+"/")?l:`${s}/${l}`}}async removeRemote(){if(!await this.isAllInitialized())return;let r=await this.gitManager.getRemotes(),n=await new rt(this,{options:r,placeholder:"Select a remote"}).openAndGetResult();n&&await this.gitManager.removeRemote(n)}onActiveLeafChange(r){var a,o;let i=r==null?void 0:r.view;if(!(i!=null&&i.getState().file)&&!(i instanceof Ha||i instanceof Ua))return;let n=this.app.workspace.getLeavesOfType(Xt.type).first(),s=this.app.workspace.getLeavesOfType(wi.type).first();if((a=n==null?void 0:n.view.containerEl.querySelector("div.tree-item-self.is-active"))==null||a.removeClass("is-active"),(o=s==null?void 0:s.view.containerEl.querySelector("div.tree-item-self.is-active"))==null||o.removeClass("is-active"),(r==null?void 0:r.view)instanceof Ha||(r==null?void 0:r.view)instanceof Ua){let c=r.view.state.bFile.replace(/["\\]/g,"\\$&");this.lastDiffViewState=r.view.getState();let u;n&&r.view.state.aRef=="HEAD"?u=n.view.containerEl.querySelector(`div.staged div.tree-item-self[data-path="${c}"]`):n&&r.view.state.aRef==""?u=n.view.containerEl.querySelector(`div.changes div.tree-item-self[data-path="${c}"]`):s&&(u=s.view.containerEl.querySelector(`div.tree-item-self[data-path='${c}']`)),u==null||u.addClass("is-active")}else this.lastDiffViewState=void 0}handleNoNetworkError(r){this.state.offlineMode?this.log("Encountered network error, but already in offline mode"):this.displayError("Git: Going into offline mode. Future network errors will no longer be displayed.",2e3),this.setPluginState({offlineMode:!0})}displayMessage(r,i=4*1e3){var n;(n=this.statusBar)==null||n.displayMessage(r.toLowerCase(),i),this.settings.disablePopups||(!this.settings.disablePopupsForNoChanges||!r.startsWith("No changes"))&&new ke.Notice(r,5*1e3),this.log(r)}displayError(r,i=10*1e3){var s;if(r instanceof lu.UserCanceledError){new ke.Notice("Aborted");return}let n;r instanceof Error?n=r:n=new Error(String(r)),this.settings.showErrorNotices&&new ke.Notice(n.message,i),console.error(`${this.manifest.id}:`,n.stack),(s=this.statusBar)==null||s.displayMessage(n.message.toLowerCase(),i)}log(...r){console.log(`${this.manifest.id}:`,...r)}}; /*! Bundled license information: ieee754/index.js: (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) buffer/index.js: (*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh * @license MIT *) safe-buffer/index.js: (*! safe-buffer. MIT License. Feross Aboukhadijeh *) crc-32/crc32.js: (*! crc32.js (C) 2014-present SheetJS -- http://sheetjs.com *) isomorphic-git/index.js: (*! * This code for `path.join` is directly copied from @zenfs/core/path for bundle size improvements. * SPDX-License-Identifier: LGPL-3.0-or-later * Copyright (c) James Prevett and other ZenFS contributors. * * Windows support added: * - Backslashes are normalised to forward slashes before processing. * - Drive-letter prefixes (e.g. "C:") are detected and preserved through * normalisation, so absolute Windows paths are handled correctly. * - An absolute argument passed to join() resets the accumulated path, * matching Node behaviour and handling worktree gitdir paths properly. * * Limitation: UNC paths (e.g. \\server\share) are not supported. The leading * backslashes are normalised to forward slashes and then collapsed by * normalizeString, losing the UNC root. Git on Windows works with * drive-letter paths, so this is not expected to be a practical issue. *) js-sha256/build/sha256.mjs: (** * [js-sha256]{@link https://github.com/emn178/js-sha256} * * @version 0.12.0 * @author Chen, Yi-Cyuan [emn178@gmail.com] * @copyright Chen, Yi-Cyuan 2014-2026 * @license MIT *) */ /* nosourcemap */