419 lines
757 KiB
JavaScript
419 lines
757 KiB
JavaScript
/*
|
|
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 xI=Object.create;var Hc=Object.defineProperty;var EI=Object.getOwnPropertyDescriptor;var SI=Object.getOwnPropertyNames;var kI=Object.getPrototypeOf,CI=Object.prototype.hasOwnProperty;var x_=r=>{throw TypeError(r)};var AI=(r,e,t)=>e in r?Hc(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var TI=(r,e,t)=>()=>{if(t)throw t[0];try{return r&&(e=r(r=0)),e}catch(n){throw t=[n],n}};var B=(r,e)=>()=>{try{return e||r((e={exports:{}}).exports,e),e.exports}catch(t){throw e=0,t}},RI=(r,e)=>{for(var t in e)Hc(r,t,{get:e[t],enumerable:!0})},E_=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of SI(e))!CI.call(r,i)&&i!==t&&Hc(r,i,{get:()=>e[i],enumerable:!(n=EI(e,i))||n.enumerable});return r};var Ke=(r,e,t)=>(t=r!=null?xI(kI(r)):{},E_(e||!r||!r.__esModule?Hc(t,"default",{value:r,enumerable:!0}):t,r)),PI=r=>E_(Hc({},"__esModule",{value:!0}),r);var Ve=(r,e,t)=>AI(r,typeof e!="symbol"?e+"":e,t),tg=(r,e,t)=>e.has(r)||x_("Cannot "+t);var I=(r,e,t)=>(tg(r,e,"read from private field"),t?t.call(r):e.get(r)),de=(r,e,t)=>e.has(r)?x_("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),le=(r,e,t,n)=>(tg(r,e,"write to private field"),n?n.call(r,t):e.set(r,t),t),_e=(r,e,t)=>(tg(r,e,"access private method"),t);var C_=B(ld=>{"use strict";m();ld.byteLength=II;ld.toByteArray=MI;ld.fromByteArray=LI;var Ti=[],Nn=[],$I=typeof Uint8Array!="undefined"?Uint8Array:Array,rg="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Fa=0,S_=rg.length;Fa<S_;++Fa)Ti[Fa]=rg[Fa],Nn[rg.charCodeAt(Fa)]=Fa;var Fa,S_;Nn[45]=62;Nn[95]=63;function k_(r){var e=r.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=r.indexOf("=");t===-1&&(t=e);var n=t===e?0:4-t%4;return[t,n]}function II(r){var e=k_(r),t=e[0],n=e[1];return(t+n)*3/4-n}function FI(r,e,t){return(e+t)*3/4-t}function MI(r){var e,t=k_(r),n=t[0],i=t[1],s=new $I(FI(r,n,i)),a=0,o=i>0?n-4:n,l;for(l=0;l<o;l+=4)e=Nn[r.charCodeAt(l)]<<18|Nn[r.charCodeAt(l+1)]<<12|Nn[r.charCodeAt(l+2)]<<6|Nn[r.charCodeAt(l+3)],s[a++]=e>>16&255,s[a++]=e>>8&255,s[a++]=e&255;return i===2&&(e=Nn[r.charCodeAt(l)]<<2|Nn[r.charCodeAt(l+1)]>>4,s[a++]=e&255),i===1&&(e=Nn[r.charCodeAt(l)]<<10|Nn[r.charCodeAt(l+1)]<<4|Nn[r.charCodeAt(l+2)]>>2,s[a++]=e>>8&255,s[a++]=e&255),s}function OI(r){return Ti[r>>18&63]+Ti[r>>12&63]+Ti[r>>6&63]+Ti[r&63]}function DI(r,e,t){for(var n,i=[],s=e;s<t;s+=3)n=(r[s]<<16&16711680)+(r[s+1]<<8&65280)+(r[s+2]&255),i.push(OI(n));return i.join("")}function LI(r){for(var e,t=r.length,n=t%3,i=[],s=16383,a=0,o=t-n;a<o;a+=s)i.push(DI(r,a,a+s>o?o:a+s));return n===1?(e=r[t-1],i.push(Ti[e>>2]+Ti[e<<4&63]+"==")):n===2&&(e=(r[t-2]<<8)+r[t-1],i.push(Ti[e>>10]+Ti[e>>4&63]+Ti[e<<2&63]+"=")),i.join("")}});var A_=B(ng=>{m();ng.read=function(r,e,t,n,i){var s,a,o=i*8-n-1,l=(1<<o)-1,c=l>>1,u=-7,f=t?i-1:0,d=t?-1:1,h=r[e+f];for(f+=d,s=h&(1<<-u)-1,h>>=-u,u+=o;u>0;s=s*256+r[e+f],f+=d,u-=8);for(a=s&(1<<-u)-1,s>>=-u,u+=n;u>0;a=a*256+r[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,n),s=s-c}return(h?-1:1)*a*Math.pow(2,s-n)};ng.write=function(r,e,t,n,i,s){var a,o,l,c=s*8-i-1,u=(1<<c)-1,f=u>>1,d=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,h=n?0:s-1,p=n?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,i),a=a+f):(o=e*Math.pow(2,f-1)*Math.pow(2,i),a=0));i>=8;r[t+h]=o&255,h+=p,o/=256,i-=8);for(a=a<<i|o,c+=i;c>0;r[t+h]=a&255,h+=p,a/=256,c-=8);r[t+h-p]|=g*128}});var dg=B(Jo=>{"use strict";m();var ig=C_(),Xo=A_(),T_=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Jo.Buffer=F;Jo.SlowBuffer=jI;Jo.INSPECT_MAX_BYTES=50;var cd=2147483647;Jo.kMaxLength=cd;F.TYPED_ARRAY_SUPPORT=NI();!F.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 NI(){try{let r=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(r,e),r.foo()===42}catch(r){return!1}}Object.defineProperty(F.prototype,"parent",{enumerable:!0,get:function(){if(F.isBuffer(this))return this.buffer}});Object.defineProperty(F.prototype,"offset",{enumerable:!0,get:function(){if(F.isBuffer(this))return this.byteOffset}});function os(r){if(r>cd)throw new RangeError('The value "'+r+'" is invalid for option "size"');let e=new Uint8Array(r);return Object.setPrototypeOf(e,F.prototype),e}function F(r,e,t){if(typeof r=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return lg(r)}return I_(r,e,t)}F.poolSize=8192;function I_(r,e,t){if(typeof r=="string")return UI(r,e);if(ArrayBuffer.isView(r))return HI(r);if(r==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof r);if(Ri(r,ArrayBuffer)||r&&Ri(r.buffer,ArrayBuffer)||typeof SharedArrayBuffer!="undefined"&&(Ri(r,SharedArrayBuffer)||r&&Ri(r.buffer,SharedArrayBuffer)))return ag(r,e,t);if(typeof r=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=r.valueOf&&r.valueOf();if(n!=null&&n!==r)return F.from(n,e,t);let i=GI(r);if(i)return i;if(typeof Symbol!="undefined"&&Symbol.toPrimitive!=null&&typeof r[Symbol.toPrimitive]=="function")return F.from(r[Symbol.toPrimitive]("string"),e,t);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof r)}F.from=function(r,e,t){return I_(r,e,t)};Object.setPrototypeOf(F.prototype,Uint8Array.prototype);Object.setPrototypeOf(F,Uint8Array);function F_(r){if(typeof r!="number")throw new TypeError('"size" argument must be of type number');if(r<0)throw new RangeError('The value "'+r+'" is invalid for option "size"')}function BI(r,e,t){return F_(r),r<=0?os(r):e!==void 0?typeof t=="string"?os(r).fill(e,t):os(r).fill(e):os(r)}F.alloc=function(r,e,t){return BI(r,e,t)};function lg(r){return F_(r),os(r<0?0:cg(r)|0)}F.allocUnsafe=function(r){return lg(r)};F.allocUnsafeSlow=function(r){return lg(r)};function UI(r,e){if((typeof e!="string"||e==="")&&(e="utf8"),!F.isEncoding(e))throw new TypeError("Unknown encoding: "+e);let t=M_(r,e)|0,n=os(t),i=n.write(r,e);return i!==t&&(n=n.slice(0,i)),n}function sg(r){let e=r.length<0?0:cg(r.length)|0,t=os(e);for(let n=0;n<e;n+=1)t[n]=r[n]&255;return t}function HI(r){if(Ri(r,Uint8Array)){let e=new Uint8Array(r);return ag(e.buffer,e.byteOffset,e.byteLength)}return sg(r)}function ag(r,e,t){if(e<0||r.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(r.byteLength<e+(t||0))throw new RangeError('"length" is outside of buffer bounds');let n;return e===void 0&&t===void 0?n=new Uint8Array(r):t===void 0?n=new Uint8Array(r,e):n=new Uint8Array(r,e,t),Object.setPrototypeOf(n,F.prototype),n}function GI(r){if(F.isBuffer(r)){let e=cg(r.length)|0,t=os(e);return t.length===0||r.copy(t,0,0,e),t}if(r.length!==void 0)return typeof r.length!="number"||fg(r.length)?os(0):sg(r);if(r.type==="Buffer"&&Array.isArray(r.data))return sg(r.data)}function cg(r){if(r>=cd)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+cd.toString(16)+" bytes");return r|0}function jI(r){return+r!=r&&(r=0),F.alloc(+r)}F.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==F.prototype};F.compare=function(e,t){if(Ri(e,Uint8Array)&&(e=F.from(e,e.offset,e.byteLength)),Ri(t,Uint8Array)&&(t=F.from(t,t.offset,t.byteLength)),!F.isBuffer(e)||!F.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let n=e.length,i=t.length;for(let s=0,a=Math.min(n,i);s<a;++s)if(e[s]!==t[s]){n=e[s],i=t[s];break}return n<i?-1:i<n?1:0};F.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}};F.concat=function(e,t){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(e.length===0)return F.alloc(0);let n;if(t===void 0)for(t=0,n=0;n<e.length;++n)t+=e[n].length;let i=F.allocUnsafe(t),s=0;for(n=0;n<e.length;++n){let a=e[n];if(Ri(a,Uint8Array))s+a.length>i.length?(F.isBuffer(a)||(a=F.from(a)),a.copy(i,s)):Uint8Array.prototype.set.call(i,a,s);else if(F.isBuffer(a))a.copy(i,s);else throw new TypeError('"list" argument must be an Array of Buffers');s+=a.length}return i};function M_(r,e){if(F.isBuffer(r))return r.length;if(ArrayBuffer.isView(r)||Ri(r,ArrayBuffer))return r.byteLength;if(typeof r!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof r);let t=r.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&t===0)return 0;let i=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return t;case"utf8":case"utf-8":return og(r).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return t*2;case"hex":return t>>>1;case"base64":return j_(r).length;default:if(i)return n?-1:og(r).length;e=(""+e).toLowerCase(),i=!0}}F.byteLength=M_;function zI(r,e,t){let n=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((t===void 0||t>this.length)&&(t=this.length),t<=0)||(t>>>=0,e>>>=0,t<=e))return"";for(r||(r="utf8");;)switch(r){case"hex":return eF(this,e,t);case"utf8":case"utf-8":return D_(this,e,t);case"ascii":return QI(this,e,t);case"latin1":case"binary":return JI(this,e,t);case"base64":return KI(this,e,t);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return tF(this,e,t);default:if(n)throw new TypeError("Unknown encoding: "+r);r=(r+"").toLowerCase(),n=!0}}F.prototype._isBuffer=!0;function Ma(r,e,t){let n=r[e];r[e]=r[t],r[t]=n}F.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 t=0;t<e;t+=2)Ma(this,t,t+1);return this};F.prototype.swap32=function(){let e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let t=0;t<e;t+=4)Ma(this,t,t+3),Ma(this,t+1,t+2);return this};F.prototype.swap64=function(){let e=this.length;if(e%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let t=0;t<e;t+=8)Ma(this,t,t+7),Ma(this,t+1,t+6),Ma(this,t+2,t+5),Ma(this,t+3,t+4);return this};F.prototype.toString=function(){let e=this.length;return e===0?"":arguments.length===0?D_(this,0,e):zI.apply(this,arguments)};F.prototype.toLocaleString=F.prototype.toString;F.prototype.equals=function(e){if(!F.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e?!0:F.compare(this,e)===0};F.prototype.inspect=function(){let e="",t=Jo.INSPECT_MAX_BYTES;return e=this.toString("hex",0,t).replace(/(.{2})/g,"$1 ").trim(),this.length>t&&(e+=" ... "),"<Buffer "+e+">"};T_&&(F.prototype[T_]=F.prototype.inspect);F.prototype.compare=function(e,t,n,i,s){if(Ri(e,Uint8Array)&&(e=F.from(e,e.offset,e.byteLength)),!F.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(t===void 0&&(t=0),n===void 0&&(n=e?e.length:0),i===void 0&&(i=0),s===void 0&&(s=this.length),t<0||n>e.length||i<0||s>this.length)throw new RangeError("out of range index");if(i>=s&&t>=n)return 0;if(i>=s)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,i>>>=0,s>>>=0,this===e)return 0;let a=s-i,o=n-t,l=Math.min(a,o),c=this.slice(i,s),u=e.slice(t,n);for(let f=0;f<l;++f)if(c[f]!==u[f]){a=c[f],o=u[f];break}return a<o?-1:o<a?1:0};function O_(r,e,t,n,i){if(r.length===0)return-1;if(typeof t=="string"?(n=t,t=0):t>2147483647?t=2147483647:t<-2147483648&&(t=-2147483648),t=+t,fg(t)&&(t=i?0:r.length-1),t<0&&(t=r.length+t),t>=r.length){if(i)return-1;t=r.length-1}else if(t<0)if(i)t=0;else return-1;if(typeof e=="string"&&(e=F.from(e,n)),F.isBuffer(e))return e.length===0?-1:R_(r,e,t,n,i);if(typeof e=="number")return e=e&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(r,e,t):Uint8Array.prototype.lastIndexOf.call(r,e,t):R_(r,[e],t,n,i);throw new TypeError("val must be string, number or Buffer")}function R_(r,e,t,n,i){let s=1,a=r.length,o=e.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(r.length<2||e.length<2)return-1;s=2,a/=2,o/=2,t/=2}function l(u,f){return s===1?u[f]:u.readUInt16BE(f*s)}let c;if(i){let u=-1;for(c=t;c<a;c++)if(l(r,c)===l(e,u===-1?0:c-u)){if(u===-1&&(u=c),c-u+1===o)return u*s}else u!==-1&&(c-=c-u),u=-1}else for(t+o>a&&(t=a-o),c=t;c>=0;c--){let u=!0;for(let f=0;f<o;f++)if(l(r,c+f)!==l(e,f)){u=!1;break}if(u)return c}return-1}F.prototype.includes=function(e,t,n){return this.indexOf(e,t,n)!==-1};F.prototype.indexOf=function(e,t,n){return O_(this,e,t,n,!0)};F.prototype.lastIndexOf=function(e,t,n){return O_(this,e,t,n,!1)};function VI(r,e,t,n){t=Number(t)||0;let i=r.length-t;n?(n=Number(n),n>i&&(n=i)):n=i;let s=e.length;n>s/2&&(n=s/2);let a;for(a=0;a<n;++a){let o=parseInt(e.substr(a*2,2),16);if(fg(o))return a;r[t+a]=o}return a}function WI(r,e,t,n){return ud(og(e,r.length-t),r,t,n)}function qI(r,e,t,n){return ud(sF(e),r,t,n)}function YI(r,e,t,n){return ud(j_(e),r,t,n)}function ZI(r,e,t,n){return ud(aF(e,r.length-t),r,t,n)}F.prototype.write=function(e,t,n,i){if(t===void 0)i="utf8",n=this.length,t=0;else if(n===void 0&&typeof t=="string")i=t,n=this.length,t=0;else if(isFinite(t))t=t>>>0,isFinite(n)?(n=n>>>0,i===void 0&&(i="utf8")):(i=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let s=this.length-t;if((n===void 0||n>s)&&(n=s),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let a=!1;for(;;)switch(i){case"hex":return VI(this,e,t,n);case"utf8":case"utf-8":return WI(this,e,t,n);case"ascii":case"latin1":case"binary":return qI(this,e,t,n);case"base64":return YI(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ZI(this,e,t,n);default:if(a)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),a=!0}};F.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function KI(r,e,t){return e===0&&t===r.length?ig.fromByteArray(r):ig.fromByteArray(r.slice(e,t))}function D_(r,e,t){t=Math.min(r.length,t);let n=[],i=e;for(;i<t;){let s=r[i],a=null,o=s>239?4:s>223?3:s>191?2:1;if(i+o<=t){let l,c,u,f;switch(o){case 1:s<128&&(a=s);break;case 2:l=r[i+1],(l&192)===128&&(f=(s&31)<<6|l&63,f>127&&(a=f));break;case 3:l=r[i+1],c=r[i+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=r[i+1],c=r[i+2],u=r[i+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,n.push(a>>>10&1023|55296),a=56320|a&1023),n.push(a),i+=o}return XI(n)}var P_=4096;function XI(r){let e=r.length;if(e<=P_)return String.fromCharCode.apply(String,r);let t="",n=0;for(;n<e;)t+=String.fromCharCode.apply(String,r.slice(n,n+=P_));return t}function QI(r,e,t){let n="";t=Math.min(r.length,t);for(let i=e;i<t;++i)n+=String.fromCharCode(r[i]&127);return n}function JI(r,e,t){let n="";t=Math.min(r.length,t);for(let i=e;i<t;++i)n+=String.fromCharCode(r[i]);return n}function eF(r,e,t){let n=r.length;(!e||e<0)&&(e=0),(!t||t<0||t>n)&&(t=n);let i="";for(let s=e;s<t;++s)i+=oF[r[s]];return i}function tF(r,e,t){let n=r.slice(e,t),i="";for(let s=0;s<n.length-1;s+=2)i+=String.fromCharCode(n[s]+n[s+1]*256);return i}F.prototype.slice=function(e,t){let n=this.length;e=~~e,t=t===void 0?n:~~t,e<0?(e+=n,e<0&&(e=0)):e>n&&(e=n),t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),t<e&&(t=e);let i=this.subarray(e,t);return Object.setPrototypeOf(i,F.prototype),i};function Xt(r,e,t){if(r%1!==0||r<0)throw new RangeError("offset is not uint");if(r+e>t)throw new RangeError("Trying to access beyond buffer length")}F.prototype.readUintLE=F.prototype.readUIntLE=function(e,t,n){e=e>>>0,t=t>>>0,n||Xt(e,t,this.length);let i=this[e],s=1,a=0;for(;++a<t&&(s*=256);)i+=this[e+a]*s;return i};F.prototype.readUintBE=F.prototype.readUIntBE=function(e,t,n){e=e>>>0,t=t>>>0,n||Xt(e,t,this.length);let i=this[e+--t],s=1;for(;t>0&&(s*=256);)i+=this[e+--t]*s;return i};F.prototype.readUint8=F.prototype.readUInt8=function(e,t){return e=e>>>0,t||Xt(e,1,this.length),this[e]};F.prototype.readUint16LE=F.prototype.readUInt16LE=function(e,t){return e=e>>>0,t||Xt(e,2,this.length),this[e]|this[e+1]<<8};F.prototype.readUint16BE=F.prototype.readUInt16BE=function(e,t){return e=e>>>0,t||Xt(e,2,this.length),this[e]<<8|this[e+1]};F.prototype.readUint32LE=F.prototype.readUInt32LE=function(e,t){return e=e>>>0,t||Xt(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};F.prototype.readUint32BE=F.prototype.readUInt32BE=function(e,t){return e=e>>>0,t||Xt(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};F.prototype.readBigUInt64LE=Vs(function(e){e=e>>>0,Qo(e,"offset");let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&Gc(e,this.length-8);let i=t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,s=this[++e]+this[++e]*2**8+this[++e]*2**16+n*2**24;return BigInt(i)+(BigInt(s)<<BigInt(32))});F.prototype.readBigUInt64BE=Vs(function(e){e=e>>>0,Qo(e,"offset");let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&Gc(e,this.length-8);let i=t*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+n;return(BigInt(i)<<BigInt(32))+BigInt(s)});F.prototype.readIntLE=function(e,t,n){e=e>>>0,t=t>>>0,n||Xt(e,t,this.length);let i=this[e],s=1,a=0;for(;++a<t&&(s*=256);)i+=this[e+a]*s;return s*=128,i>=s&&(i-=Math.pow(2,8*t)),i};F.prototype.readIntBE=function(e,t,n){e=e>>>0,t=t>>>0,n||Xt(e,t,this.length);let i=t,s=1,a=this[e+--i];for(;i>0&&(s*=256);)a+=this[e+--i]*s;return s*=128,a>=s&&(a-=Math.pow(2,8*t)),a};F.prototype.readInt8=function(e,t){return e=e>>>0,t||Xt(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};F.prototype.readInt16LE=function(e,t){e=e>>>0,t||Xt(e,2,this.length);let n=this[e]|this[e+1]<<8;return n&32768?n|4294901760:n};F.prototype.readInt16BE=function(e,t){e=e>>>0,t||Xt(e,2,this.length);let n=this[e+1]|this[e]<<8;return n&32768?n|4294901760:n};F.prototype.readInt32LE=function(e,t){return e=e>>>0,t||Xt(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};F.prototype.readInt32BE=function(e,t){return e=e>>>0,t||Xt(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};F.prototype.readBigInt64LE=Vs(function(e){e=e>>>0,Qo(e,"offset");let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&Gc(e,this.length-8);let i=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(n<<24);return(BigInt(i)<<BigInt(32))+BigInt(t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24)});F.prototype.readBigInt64BE=Vs(function(e){e=e>>>0,Qo(e,"offset");let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&Gc(e,this.length-8);let i=(t<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(i)<<BigInt(32))+BigInt(this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+n)});F.prototype.readFloatLE=function(e,t){return e=e>>>0,t||Xt(e,4,this.length),Xo.read(this,e,!0,23,4)};F.prototype.readFloatBE=function(e,t){return e=e>>>0,t||Xt(e,4,this.length),Xo.read(this,e,!1,23,4)};F.prototype.readDoubleLE=function(e,t){return e=e>>>0,t||Xt(e,8,this.length),Xo.read(this,e,!0,52,8)};F.prototype.readDoubleBE=function(e,t){return e=e>>>0,t||Xt(e,8,this.length),Xo.read(this,e,!1,52,8)};function Hr(r,e,t,n,i,s){if(!F.isBuffer(r))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<s)throw new RangeError('"value" argument is out of bounds');if(t+n>r.length)throw new RangeError("Index out of range")}F.prototype.writeUintLE=F.prototype.writeUIntLE=function(e,t,n,i){if(e=+e,t=t>>>0,n=n>>>0,!i){let o=Math.pow(2,8*n)-1;Hr(this,e,t,n,o,0)}let s=1,a=0;for(this[t]=e&255;++a<n&&(s*=256);)this[t+a]=e/s&255;return t+n};F.prototype.writeUintBE=F.prototype.writeUIntBE=function(e,t,n,i){if(e=+e,t=t>>>0,n=n>>>0,!i){let o=Math.pow(2,8*n)-1;Hr(this,e,t,n,o,0)}let s=n-1,a=1;for(this[t+s]=e&255;--s>=0&&(a*=256);)this[t+s]=e/a&255;return t+n};F.prototype.writeUint8=F.prototype.writeUInt8=function(e,t,n){return e=+e,t=t>>>0,n||Hr(this,e,t,1,255,0),this[t]=e&255,t+1};F.prototype.writeUint16LE=F.prototype.writeUInt16LE=function(e,t,n){return e=+e,t=t>>>0,n||Hr(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2};F.prototype.writeUint16BE=F.prototype.writeUInt16BE=function(e,t,n){return e=+e,t=t>>>0,n||Hr(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2};F.prototype.writeUint32LE=F.prototype.writeUInt32LE=function(e,t,n){return e=+e,t=t>>>0,n||Hr(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4};F.prototype.writeUint32BE=F.prototype.writeUInt32BE=function(e,t,n){return e=+e,t=t>>>0,n||Hr(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function L_(r,e,t,n,i){G_(e,n,i,r,t,7);let s=Number(e&BigInt(4294967295));r[t++]=s,s=s>>8,r[t++]=s,s=s>>8,r[t++]=s,s=s>>8,r[t++]=s;let a=Number(e>>BigInt(32)&BigInt(4294967295));return r[t++]=a,a=a>>8,r[t++]=a,a=a>>8,r[t++]=a,a=a>>8,r[t++]=a,t}function N_(r,e,t,n,i){G_(e,n,i,r,t,7);let s=Number(e&BigInt(4294967295));r[t+7]=s,s=s>>8,r[t+6]=s,s=s>>8,r[t+5]=s,s=s>>8,r[t+4]=s;let a=Number(e>>BigInt(32)&BigInt(4294967295));return r[t+3]=a,a=a>>8,r[t+2]=a,a=a>>8,r[t+1]=a,a=a>>8,r[t]=a,t+8}F.prototype.writeBigUInt64LE=Vs(function(e,t=0){return L_(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});F.prototype.writeBigUInt64BE=Vs(function(e,t=0){return N_(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});F.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t=t>>>0,!i){let l=Math.pow(2,8*n-1);Hr(this,e,t,n,l-1,-l)}let s=0,a=1,o=0;for(this[t]=e&255;++s<n&&(a*=256);)e<0&&o===0&&this[t+s-1]!==0&&(o=1),this[t+s]=(e/a>>0)-o&255;return t+n};F.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t=t>>>0,!i){let l=Math.pow(2,8*n-1);Hr(this,e,t,n,l-1,-l)}let s=n-1,a=1,o=0;for(this[t+s]=e&255;--s>=0&&(a*=256);)e<0&&o===0&&this[t+s+1]!==0&&(o=1),this[t+s]=(e/a>>0)-o&255;return t+n};F.prototype.writeInt8=function(e,t,n){return e=+e,t=t>>>0,n||Hr(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1};F.prototype.writeInt16LE=function(e,t,n){return e=+e,t=t>>>0,n||Hr(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2};F.prototype.writeInt16BE=function(e,t,n){return e=+e,t=t>>>0,n||Hr(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2};F.prototype.writeInt32LE=function(e,t,n){return e=+e,t=t>>>0,n||Hr(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4};F.prototype.writeInt32BE=function(e,t,n){return e=+e,t=t>>>0,n||Hr(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};F.prototype.writeBigInt64LE=Vs(function(e,t=0){return L_(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});F.prototype.writeBigInt64BE=Vs(function(e,t=0){return N_(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function B_(r,e,t,n,i,s){if(t+n>r.length)throw new RangeError("Index out of range");if(t<0)throw new RangeError("Index out of range")}function U_(r,e,t,n,i){return e=+e,t=t>>>0,i||B_(r,e,t,4,34028234663852886e22,-34028234663852886e22),Xo.write(r,e,t,n,23,4),t+4}F.prototype.writeFloatLE=function(e,t,n){return U_(this,e,t,!0,n)};F.prototype.writeFloatBE=function(e,t,n){return U_(this,e,t,!1,n)};function H_(r,e,t,n,i){return e=+e,t=t>>>0,i||B_(r,e,t,8,17976931348623157e292,-17976931348623157e292),Xo.write(r,e,t,n,52,8),t+8}F.prototype.writeDoubleLE=function(e,t,n){return H_(this,e,t,!0,n)};F.prototype.writeDoubleBE=function(e,t,n){return H_(this,e,t,!1,n)};F.prototype.copy=function(e,t,n,i){if(!F.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&i!==0&&(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i<n&&(i=n),i===n||e.length===0||this.length===0)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t<i-n&&(i=e.length-t+n);let s=i-n;return this===e&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(t,n,i):Uint8Array.prototype.set.call(e,this.subarray(n,i),t),s};F.prototype.fill=function(e,t,n,i){if(typeof e=="string"){if(typeof t=="string"?(i=t,t=0,n=this.length):typeof n=="string"&&(i=n,n=this.length),i!==void 0&&typeof i!="string")throw new TypeError("encoding must be a string");if(typeof i=="string"&&!F.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(e.length===1){let a=e.charCodeAt(0);(i==="utf8"&&a<128||i==="latin1")&&(e=a)}}else typeof e=="number"?e=e&255:typeof e=="boolean"&&(e=Number(e));if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;t=t>>>0,n=n===void 0?this.length:n>>>0,e||(e=0);let s;if(typeof e=="number")for(s=t;s<n;++s)this[s]=e;else{let a=F.isBuffer(e)?e:F.from(e,i),o=a.length;if(o===0)throw new TypeError('The value "'+e+'" is invalid for argument "value"');for(s=0;s<n-t;++s)this[s+t]=a[s%o]}return this};var Ko={};function ug(r,e,t){Ko[r]=class extends t{constructor(){super(),Object.defineProperty(this,"message",{value:e.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${r}]`,this.stack,delete this.name}get code(){return r}set code(i){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:i,writable:!0})}toString(){return`${this.name} [${r}]: ${this.message}`}}}ug("ERR_BUFFER_OUT_OF_BOUNDS",function(r){return r?`${r} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError);ug("ERR_INVALID_ARG_TYPE",function(r,e){return`The "${r}" argument must be of type number. Received type ${typeof e}`},TypeError);ug("ERR_OUT_OF_RANGE",function(r,e,t){let n=`The value of "${r}" is out of range.`,i=t;return Number.isInteger(t)&&Math.abs(t)>2**32?i=$_(String(t)):typeof t=="bigint"&&(i=String(t),(t>BigInt(2)**BigInt(32)||t<-(BigInt(2)**BigInt(32)))&&(i=$_(i)),i+="n"),n+=` It must be ${e}. Received ${i}`,n},RangeError);function $_(r){let e="",t=r.length,n=r[0]==="-"?1:0;for(;t>=n+4;t-=3)e=`_${r.slice(t-3,t)}${e}`;return`${r.slice(0,t)}${e}`}function rF(r,e,t){Qo(e,"offset"),(r[e]===void 0||r[e+t]===void 0)&&Gc(e,r.length-(t+1))}function G_(r,e,t,n,i,s){if(r>t||r<e){let a=typeof e=="bigint"?"n":"",o;throw s>3?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 <= ${t}${a}`,new Ko.ERR_OUT_OF_RANGE("value",o,r)}rF(n,i,s)}function Qo(r,e){if(typeof r!="number")throw new Ko.ERR_INVALID_ARG_TYPE(e,"number",r)}function Gc(r,e,t){throw Math.floor(r)!==r?(Qo(r,t),new Ko.ERR_OUT_OF_RANGE(t||"offset","an integer",r)):e<0?new Ko.ERR_BUFFER_OUT_OF_BOUNDS:new Ko.ERR_OUT_OF_RANGE(t||"offset",`>= ${t?1:0} and <= ${e}`,r)}var nF=/[^+/0-9A-Za-z-_]/g;function iF(r){if(r=r.split("=")[0],r=r.trim().replace(nF,""),r.length<2)return"";for(;r.length%4!==0;)r=r+"=";return r}function og(r,e){e=e||1/0;let t,n=r.length,i=null,s=[];for(let a=0;a<n;++a){if(t=r.charCodeAt(a),t>55295&&t<57344){if(!i){if(t>56319){(e-=3)>-1&&s.push(239,191,189);continue}else if(a+1===n){(e-=3)>-1&&s.push(239,191,189);continue}i=t;continue}if(t<56320){(e-=3)>-1&&s.push(239,191,189),i=t;continue}t=(i-55296<<10|t-56320)+65536}else i&&(e-=3)>-1&&s.push(239,191,189);if(i=null,t<128){if((e-=1)<0)break;s.push(t)}else if(t<2048){if((e-=2)<0)break;s.push(t>>6|192,t&63|128)}else if(t<65536){if((e-=3)<0)break;s.push(t>>12|224,t>>6&63|128,t&63|128)}else if(t<1114112){if((e-=4)<0)break;s.push(t>>18|240,t>>12&63|128,t>>6&63|128,t&63|128)}else throw new Error("Invalid code point")}return s}function sF(r){let e=[];for(let t=0;t<r.length;++t)e.push(r.charCodeAt(t)&255);return e}function aF(r,e){let t,n,i,s=[];for(let a=0;a<r.length&&!((e-=2)<0);++a)t=r.charCodeAt(a),n=t>>8,i=t%256,s.push(i),s.push(n);return s}function j_(r){return ig.toByteArray(iF(r))}function ud(r,e,t,n){let i;for(i=0;i<n&&!(i+t>=e.length||i>=r.length);++i)e[i+t]=r[i];return i}function Ri(r,e){return r instanceof e||r!=null&&r.constructor!=null&&r.constructor.name!=null&&r.constructor.name===e.name}function fg(r){return r!==r}var oF=(function(){let r="0123456789abcdef",e=new Array(256);for(let t=0;t<16;++t){let n=t*16;for(let i=0;i<16;++i)e[n+i]=r[t]+r[i]}return e})();function Vs(r){return typeof BigInt=="undefined"?lF:r}function lF(){throw new Error("BigInt not supported")}});var z_,hg,_,m=TI(()=>{"use strict";z_=require("obsidian");z_.Platform.isMobileApp?hg=dg().Buffer:hg=global.Buffer;_=hg});var V_=B((Yz,pg)=>{m();typeof Object.create=="function"?pg.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:pg.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}});var dd=B((mg,q_)=>{m();var fd=dg(),Pi=fd.Buffer;function W_(r,e){for(var t in r)e[t]=r[t]}Pi.from&&Pi.alloc&&Pi.allocUnsafe&&Pi.allocUnsafeSlow?q_.exports=fd:(W_(fd,mg),mg.Buffer=Oa);function Oa(r,e,t){return Pi(r,e,t)}Oa.prototype=Object.create(Pi.prototype);W_(Pi,Oa);Oa.from=function(r,e,t){if(typeof r=="number")throw new TypeError("Argument must not be a number");return Pi(r,e,t)};Oa.alloc=function(r,e,t){if(typeof r!="number")throw new TypeError("Argument must be a number");var n=Pi(r);return e!==void 0?typeof t=="string"?n.fill(e,t):n.fill(e):n.fill(0),n};Oa.allocUnsafe=function(r){if(typeof r!="number")throw new TypeError("Argument must be a number");return Pi(r)};Oa.allocUnsafeSlow=function(r){if(typeof r!="number")throw new TypeError("Argument must be a number");return fd.SlowBuffer(r)}});var Z_=B((Xz,Y_)=>{m();var cF={}.toString;Y_.exports=Array.isArray||function(r){return cF.call(r)=="[object Array]"}});var el=B((Jz,K_)=>{"use strict";m();K_.exports=TypeError});var gg=B((tV,X_)=>{"use strict";m();X_.exports=Object});var J_=B((nV,Q_)=>{"use strict";m();Q_.exports=Error});var tx=B((sV,ex)=>{"use strict";m();ex.exports=EvalError});var nx=B((oV,rx)=>{"use strict";m();rx.exports=RangeError});var sx=B((cV,ix)=>{"use strict";m();ix.exports=ReferenceError});var wg=B((fV,ax)=>{"use strict";m();ax.exports=SyntaxError});var lx=B((hV,ox)=>{"use strict";m();ox.exports=URIError});var ux=B((mV,cx)=>{"use strict";m();cx.exports=Math.abs});var dx=B((wV,fx)=>{"use strict";m();fx.exports=Math.floor});var px=B((bV,hx)=>{"use strict";m();hx.exports=Math.max});var gx=B((_V,mx)=>{"use strict";m();mx.exports=Math.min});var vx=B((EV,wx)=>{"use strict";m();wx.exports=Math.pow});var yx=B((kV,bx)=>{"use strict";m();bx.exports=Math.round});var xx=B((AV,_x)=>{"use strict";m();_x.exports=Number.isNaN||function(e){return e!==e}});var Sx=B((RV,Ex)=>{"use strict";m();var uF=xx();Ex.exports=function(e){return uF(e)||e===0?e:e<0?-1:1}});var Cx=B(($V,kx)=>{"use strict";m();kx.exports=Object.getOwnPropertyDescriptor});var tl=B((FV,Ax)=>{"use strict";m();var hd=Cx();if(hd)try{hd([],"length")}catch(r){hd=null}Ax.exports=hd});var jc=B((OV,Tx)=>{"use strict";m();var pd=Object.defineProperty||!1;if(pd)try{pd({},"a",{value:1})}catch(r){pd=!1}Tx.exports=pd});var vg=B((LV,Rx)=>{"use strict";m();Rx.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var e={},t=Symbol("test"),n=Object(t);if(typeof t=="string"||Object.prototype.toString.call(t)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var i=42;e[t]=i;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]!==t||!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var o=Object.getOwnPropertyDescriptor(e,t);if(o.value!==i||o.enumerable!==!0)return!1}return!0}});var Ix=B((BV,$x)=>{"use strict";m();var Px=typeof Symbol!="undefined"&&Symbol,fF=vg();$x.exports=function(){return typeof Px!="function"||typeof Symbol!="function"||typeof Px("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:fF()}});var bg=B((HV,Fx)=>{"use strict";m();Fx.exports=typeof Reflect!="undefined"&&Reflect.getPrototypeOf||null});var yg=B((jV,Mx)=>{"use strict";m();var dF=gg();Mx.exports=dF.getPrototypeOf||null});var Lx=B((VV,Dx)=>{"use strict";m();var hF="Function.prototype.bind called on incompatible ",pF=Object.prototype.toString,mF=Math.max,gF="[object Function]",Ox=function(e,t){for(var n=[],i=0;i<e.length;i+=1)n[i]=e[i];for(var s=0;s<t.length;s+=1)n[s+e.length]=t[s];return n},wF=function(e,t){for(var n=[],i=t||0,s=0;i<e.length;i+=1,s+=1)n[s]=e[i];return n},vF=function(r,e){for(var t="",n=0;n<r.length;n+=1)t+=r[n],n+1<r.length&&(t+=e);return t};Dx.exports=function(e){var t=this;if(typeof t!="function"||pF.apply(t)!==gF)throw new TypeError(hF+t);for(var n=wF(arguments,1),i,s=function(){if(this instanceof i){var u=t.apply(this,Ox(n,arguments));return Object(u)===u?u:this}return t.apply(e,Ox(n,arguments))},a=mF(0,t.length-n.length),o=[],l=0;l<a;l++)o[l]="$"+l;if(i=Function("binder","return function ("+vF(o,",")+"){ return binder.apply(this,arguments); }")(s),t.prototype){var c=function(){};c.prototype=t.prototype,i.prototype=new c,c.prototype=null}return i}});var rl=B((qV,Nx)=>{"use strict";m();var bF=Lx();Nx.exports=Function.prototype.bind||bF});var md=B((ZV,Bx)=>{"use strict";m();Bx.exports=Function.prototype.call});var gd=B((XV,Ux)=>{"use strict";m();Ux.exports=Function.prototype.apply});var Gx=B((JV,Hx)=>{"use strict";m();Hx.exports=typeof Reflect!="undefined"&&Reflect&&Reflect.apply});var _g=B((t9,jx)=>{"use strict";m();var yF=rl(),_F=gd(),xF=md(),EF=Gx();jx.exports=EF||yF.call(xF,_F)});var wd=B((n9,zx)=>{"use strict";m();var SF=rl(),kF=el(),CF=md(),AF=_g();zx.exports=function(e){if(e.length<1||typeof e[0]!="function")throw new kF("a function is required");return AF(SF,CF,e)}});var Kx=B((s9,Zx)=>{"use strict";m();var TF=wd(),Vx=tl(),qx;try{qx=[].__proto__===Array.prototype}catch(r){if(!r||typeof r!="object"||!("code"in r)||r.code!=="ERR_PROTO_ACCESS")throw r}var xg=!!qx&&Vx&&Vx(Object.prototype,"__proto__"),Yx=Object,Wx=Yx.getPrototypeOf;Zx.exports=xg&&typeof xg.get=="function"?TF([xg.get]):typeof Wx=="function"?function(e){return Wx(e==null?e:Yx(e))}:!1});var Eg=B((o9,e1)=>{"use strict";m();var Xx=bg(),Qx=yg(),Jx=Kx();e1.exports=Xx?function(e){return Xx(e)}:Qx?function(e){if(!e||typeof e!="object"&&typeof e!="function")throw new TypeError("getProto: not an object");return Qx(e)}:Jx?function(e){return Jx(e)}:null});var r1=B((c9,t1)=>{"use strict";m();var RF=Function.prototype.call,PF=Object.prototype.hasOwnProperty,$F=rl();t1.exports=$F.call(RF,PF)});var Cg=B((f9,l1)=>{"use strict";m();var Ce,IF=gg(),FF=J_(),MF=tx(),OF=nx(),DF=sx(),al=wg(),sl=el(),LF=lx(),NF=ux(),BF=dx(),UF=px(),HF=gx(),GF=vx(),jF=yx(),zF=Sx(),a1=Function,Sg=function(r){try{return a1('"use strict"; return ('+r+").constructor;")()}catch(e){}},zc=tl(),VF=jc(),kg=function(){throw new sl},WF=zc?(function(){try{return arguments.callee,kg}catch(r){try{return zc(arguments,"callee").get}catch(e){return kg}}})():kg,nl=Ix()(),Qt=Eg(),qF=yg(),YF=bg(),o1=gd(),Vc=md(),il={},ZF=typeof Uint8Array=="undefined"||!Qt?Ce:Qt(Uint8Array),Da={__proto__:null,"%AggregateError%":typeof AggregateError=="undefined"?Ce:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer=="undefined"?Ce:ArrayBuffer,"%ArrayIteratorPrototype%":nl&&Qt?Qt([][Symbol.iterator]()):Ce,"%AsyncFromSyncIteratorPrototype%":Ce,"%AsyncFunction%":il,"%AsyncGenerator%":il,"%AsyncGeneratorFunction%":il,"%AsyncIteratorPrototype%":il,"%Atomics%":typeof Atomics=="undefined"?Ce:Atomics,"%BigInt%":typeof BigInt=="undefined"?Ce:BigInt,"%BigInt64Array%":typeof BigInt64Array=="undefined"?Ce:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array=="undefined"?Ce:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView=="undefined"?Ce:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":FF,"%eval%":eval,"%EvalError%":MF,"%Float16Array%":typeof Float16Array=="undefined"?Ce:Float16Array,"%Float32Array%":typeof Float32Array=="undefined"?Ce:Float32Array,"%Float64Array%":typeof Float64Array=="undefined"?Ce:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry=="undefined"?Ce:FinalizationRegistry,"%Function%":a1,"%GeneratorFunction%":il,"%Int8Array%":typeof Int8Array=="undefined"?Ce:Int8Array,"%Int16Array%":typeof Int16Array=="undefined"?Ce:Int16Array,"%Int32Array%":typeof Int32Array=="undefined"?Ce:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":nl&&Qt?Qt(Qt([][Symbol.iterator]())):Ce,"%JSON%":typeof JSON=="object"?JSON:Ce,"%Map%":typeof Map=="undefined"?Ce:Map,"%MapIteratorPrototype%":typeof Map=="undefined"||!nl||!Qt?Ce:Qt(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":IF,"%Object.getOwnPropertyDescriptor%":zc,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise=="undefined"?Ce:Promise,"%Proxy%":typeof Proxy=="undefined"?Ce:Proxy,"%RangeError%":OF,"%ReferenceError%":DF,"%Reflect%":typeof Reflect=="undefined"?Ce:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set=="undefined"?Ce:Set,"%SetIteratorPrototype%":typeof Set=="undefined"||!nl||!Qt?Ce:Qt(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer=="undefined"?Ce:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":nl&&Qt?Qt(""[Symbol.iterator]()):Ce,"%Symbol%":nl?Symbol:Ce,"%SyntaxError%":al,"%ThrowTypeError%":WF,"%TypedArray%":ZF,"%TypeError%":sl,"%Uint8Array%":typeof Uint8Array=="undefined"?Ce:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray=="undefined"?Ce:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array=="undefined"?Ce:Uint16Array,"%Uint32Array%":typeof Uint32Array=="undefined"?Ce:Uint32Array,"%URIError%":LF,"%WeakMap%":typeof WeakMap=="undefined"?Ce:WeakMap,"%WeakRef%":typeof WeakRef=="undefined"?Ce:WeakRef,"%WeakSet%":typeof WeakSet=="undefined"?Ce:WeakSet,"%Function.prototype.call%":Vc,"%Function.prototype.apply%":o1,"%Object.defineProperty%":VF,"%Object.getPrototypeOf%":qF,"%Math.abs%":NF,"%Math.floor%":BF,"%Math.max%":UF,"%Math.min%":HF,"%Math.pow%":GF,"%Math.round%":jF,"%Math.sign%":zF,"%Reflect.getPrototypeOf%":YF};if(Qt)try{null.error}catch(r){n1=Qt(Qt(r)),Da["%Error.prototype%"]=n1}var n1,KF=function r(e){var t;if(e==="%AsyncFunction%")t=Sg("async function () {}");else if(e==="%GeneratorFunction%")t=Sg("function* () {}");else if(e==="%AsyncGeneratorFunction%")t=Sg("async function* () {}");else if(e==="%AsyncGenerator%"){var n=r("%AsyncGeneratorFunction%");n&&(t=n.prototype)}else if(e==="%AsyncIteratorPrototype%"){var i=r("%AsyncGenerator%");i&&Qt&&(t=Qt(i.prototype))}return Da[e]=t,t},i1={__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"]},Wc=rl(),vd=r1(),XF=Wc.call(Vc,Array.prototype.concat),QF=Wc.call(o1,Array.prototype.splice),s1=Wc.call(Vc,String.prototype.replace),bd=Wc.call(Vc,String.prototype.slice),JF=Wc.call(Vc,RegExp.prototype.exec),eM=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,tM=/\\(\\)?/g,rM=function(e){var t=bd(e,0,1),n=bd(e,-1);if(t==="%"&&n!=="%")throw new al("invalid intrinsic syntax, expected closing `%`");if(n==="%"&&t!=="%")throw new al("invalid intrinsic syntax, expected opening `%`");var i=[];return s1(e,eM,function(s,a,o,l){i[i.length]=o?s1(l,tM,"$1"):a||s}),i},nM=function(e,t){var n=e,i;if(vd(i1,n)&&(i=i1[n],n="%"+i[0]+"%"),vd(Da,n)){var s=Da[n];if(s===il&&(s=KF(n)),typeof s=="undefined"&&!t)throw new sl("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:i,name:n,value:s}}throw new al("intrinsic "+e+" does not exist!")};l1.exports=function(e,t){if(typeof e!="string"||e.length===0)throw new sl("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof t!="boolean")throw new sl('"allowMissing" argument must be a boolean');if(JF(/^%?[^%]*%?$/,e)===null)throw new al("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=rM(e),i=n.length>0?n[0]:"",s=nM("%"+i+"%",t),a=s.name,o=s.value,l=!1,c=s.alias;c&&(i=c[0],QF(n,XF([0,1],c)));for(var u=1,f=!0;u<n.length;u+=1){var d=n[u],h=bd(d,0,1),p=bd(d,-1);if((h==='"'||h==="'"||h==="`"||p==='"'||p==="'"||p==="`")&&h!==p)throw new al("property names with quotes must have matching quotes");if((d==="constructor"||!f)&&(l=!0),i+="."+d,a="%"+i+"%",vd(Da,a))o=Da[a];else if(o!=null){if(!(d in o)){if(!t)throw new sl("base intrinsic for "+e+" exists, but the property is not available.");return}if(zc&&u+1>=n.length){var g=zc(o,d);f=!!g,f&&"get"in g&&!("originalValue"in g.get)?o=g.get:o=o[d]}else f=vd(o,d),o=o[d];f&&!l&&(Da[a]=o)}}return o}});var Ag=B((h9,f1)=>{"use strict";m();var c1=Cg(),u1=wd(),iM=u1([c1("%String.prototype.indexOf%")]);f1.exports=function(e,t){var n=c1(e,!!t);return typeof n=="function"&&iM(e,".prototype.")>-1?u1([n]):n}});var m1=B((m9,p1)=>{"use strict";m();var h1=Function.prototype.toString,ol=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply,Rg,yd;if(typeof ol=="function"&&typeof Object.defineProperty=="function")try{Rg=Object.defineProperty({},"length",{get:function(){throw yd}}),yd={},ol(function(){throw 42},null,Rg)}catch(r){r!==yd&&(ol=null)}else ol=null;var sM=/^\s*class\b/,Pg=function(e){try{var t=h1.call(e);return sM.test(t)}catch(n){return!1}},Tg=function(e){try{return Pg(e)?!1:(h1.call(e),!0)}catch(t){return!1}},_d=Object.prototype.toString,aM="[object Object]",oM="[object Function]",lM="[object GeneratorFunction]",cM="[object HTMLAllCollection]",uM="[object HTML document.all class]",fM="[object HTMLCollection]",dM=typeof Symbol=="function"&&!!Symbol.toStringTag,hM=!(0 in[,]),$g=function(){return!1};typeof document=="object"&&(d1=document.all,_d.call(d1)===_d.call(document.all)&&($g=function(e){if((hM||!e)&&(typeof e=="undefined"||typeof e=="object"))try{var t=_d.call(e);return(t===cM||t===uM||t===fM||t===aM)&&e("")==null}catch(n){}return!1}));var d1;p1.exports=ol?function(e){if($g(e))return!0;if(!e||typeof e!="function"&&typeof e!="object")return!1;try{ol(e,null,Rg)}catch(t){if(t!==yd)return!1}return!Pg(e)&&Tg(e)}:function(e){if($g(e))return!0;if(!e||typeof e!="function"&&typeof e!="object")return!1;if(dM)return Tg(e);if(Pg(e))return!1;var t=_d.call(e);return t!==oM&&t!==lM&&!/^\[object HTML/.test(t)?!1:Tg(e)}});var v1=B((w9,w1)=>{"use strict";m();var pM=m1(),mM=Object.prototype.toString,g1=Object.prototype.hasOwnProperty,gM=function(e,t,n){for(var i=0,s=e.length;i<s;i++)g1.call(e,i)&&(n==null?t(e[i],i,e):t.call(n,e[i],i,e))},wM=function(e,t,n){for(var i=0,s=e.length;i<s;i++)n==null?t(e.charAt(i),i,e):t.call(n,e.charAt(i),i,e)},vM=function(e,t,n){for(var i in e)g1.call(e,i)&&(n==null?t(e[i],i,e):t.call(n,e[i],i,e))};function bM(r){return mM.call(r)==="[object Array]"}w1.exports=function(e,t,n){if(!pM(t))throw new TypeError("iterator must be a function");var i;arguments.length>=3&&(i=n),bM(e)?gM(e,t,i):typeof e=="string"?wM(e,t,i):vM(e,t,i)}});var y1=B((b9,b1)=>{"use strict";m();b1.exports=["Float16Array","Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array"]});var x1=B((_9,_1)=>{"use strict";m();var Ig=y1(),yM=typeof globalThis=="undefined"?global:globalThis;_1.exports=function(){for(var e=[],t=0;t<Ig.length;t++)typeof yM[Ig[t]]=="function"&&(e[e.length]=Ig[t]);return e}});var C1=B((E9,k1)=>{"use strict";m();var E1=jc(),_M=wg(),ll=el(),S1=tl();k1.exports=function(e,t,n){if(!e||typeof e!="object"&&typeof e!="function")throw new ll("`obj` must be an object or a function`");if(typeof t!="string"&&typeof t!="symbol")throw new ll("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new ll("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new ll("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new ll("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new ll("`loose`, if provided, must be a boolean");var i=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=!!S1&&S1(e,t);if(E1)E1(e,t,{configurable:a===null&&l?l.configurable:!a,enumerable:i===null&&l?l.enumerable:!i,value:n,writable:s===null&&l?l.writable:!s});else if(o||!i&&!s&&!a)e[t]=n;else throw new _M("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")}});var R1=B((k9,T1)=>{"use strict";m();var Fg=jc(),A1=function(){return!!Fg};A1.hasArrayLengthDefineBug=function(){if(!Fg)return null;try{return Fg([],"length",{value:1}).length!==1}catch(e){return!0}};T1.exports=A1});var M1=B((A9,F1)=>{"use strict";m();var xM=Cg(),P1=C1(),EM=R1()(),$1=tl(),I1=el(),SM=xM("%Math.floor%");F1.exports=function(e,t){if(typeof e!="function")throw new I1("`fn` is not a function");if(typeof t!="number"||t<0||t>4294967295||SM(t)!==t)throw new I1("`length` must be a positive 32-bit integer");var n=arguments.length>2&&!!arguments[2],i=!0,s=!0;if("length"in e&&$1){var a=$1(e,"length");a&&!a.configurable&&(i=!1),a&&!a.writable&&(s=!1)}return(i||s||!n)&&(EM?P1(e,"length",t,!0,!0):P1(e,"length",t)),e}});var D1=B((R9,O1)=>{"use strict";m();var kM=rl(),CM=gd(),AM=_g();O1.exports=function(){return AM(kM,CM,arguments)}});var B1=B(($9,xd)=>{"use strict";m();var TM=M1(),L1=jc(),RM=wd(),N1=D1();xd.exports=function(e){var t=RM(arguments),n=1+e.length-(arguments.length-1);return TM(t,n>0?n:0,!0)};L1?L1(xd.exports,"apply",{value:N1}):xd.exports.apply=N1});var H1=B((F9,U1)=>{"use strict";m();var PM=vg();U1.exports=function(){return PM()&&!!Symbol.toStringTag}});var W1=B((O9,V1)=>{"use strict";m();var kd=v1(),$M=x1(),G1=B1(),Og=Ag(),Sd=tl(),Ed=Eg(),IM=Og("Object.prototype.toString"),z1=H1()(),j1=typeof globalThis=="undefined"?global:globalThis,Mg=$M(),Dg=Og("String.prototype.slice"),FM=Og("Array.prototype.indexOf",!0)||function(e,t){for(var n=0;n<e.length;n+=1)if(e[n]===t)return n;return-1},Cd={__proto__:null};z1&&Sd&&Ed?kd(Mg,function(r){var e=new j1[r];if(Symbol.toStringTag in e&&Ed){var t=Ed(e),n=Sd(t,Symbol.toStringTag);if(!n&&t){var i=Ed(t);n=Sd(i,Symbol.toStringTag)}if(n&&n.get){var s=G1(n.get);Cd["$"+r]=s}}}):kd(Mg,function(r){var e=new j1[r],t=e.slice||e.set;if(t){var n=G1(t);Cd["$"+r]=n}});function MM(r){var e=!1;return kd(Cd,function(t,n){if(!e)try{"$"+t(r)===n&&(e=Dg(n,1))}catch(i){}}),e}function OM(r){var e=!1;return kd(Cd,function(t,n){if(!e)try{t(r),e=Dg(n,1)}catch(i){}}),e}function DM(r){return FM(Mg,r)>-1}V1.exports=function(e){if(!e||typeof e!="object")return!1;if(!z1){var t=Dg(IM(e),8,-1);return DM(t)?t:t!=="Object"?!1:OM(e)}return Sd?MM(e):null}});var Y1=B((L9,q1)=>{"use strict";m();var LM=W1();q1.exports=function(e){return!!LM(e)}});var K1=B((B9,Z1)=>{"use strict";m();var NM=el(),BM=Ag(),UM=BM("TypedArray.prototype.buffer",!0),HM=Y1();Z1.exports=UM||function(e){if(!HM(e))throw new NM("Not a Typed Array");return e.buffer}});var J1=B((H9,Q1)=>{"use strict";m();var ii=dd().Buffer,GM=Z_(),jM=K1(),zM=ArrayBuffer.isView||function(e){try{return jM(e),!0}catch(t){return!1}},VM=typeof Uint8Array!="undefined",X1=typeof ArrayBuffer!="undefined"&&typeof Uint8Array!="undefined",WM=X1&&(ii.prototype instanceof Uint8Array||ii.TYPED_ARRAY_SUPPORT);Q1.exports=function(e,t){if(ii.isBuffer(e))return e.constructor&&!("isBuffer"in e)?ii.from(e):e;if(typeof e=="string")return ii.from(e,t);if(X1&&zM(e)){if(e.byteLength===0)return ii.alloc(0);if(WM){var n=ii.from(e.buffer,e.byteOffset,e.byteLength);if(n.byteLength===e.byteLength)return n}var i=e instanceof Uint8Array?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),s=ii.from(i);if(s.length===e.byteLength)return s}if(VM&&e instanceof Uint8Array)return ii.from(e);var a=GM(e);if(a)for(var o=0;o<e.length;o+=1){var l=e[o];if(typeof l!="number"||l<0||l>255||~~l!==l)throw new RangeError("Array items must be numbers in the range 0-255.")}if(a||ii.isBuffer(e)&&e.constructor&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e))return ii.from(e);throw new TypeError('The "data" argument must be a string, an Array, a Buffer, a Uint8Array, or a DataView.')}});var tE=B((j9,eE)=>{"use strict";m();var qM=dd().Buffer,YM=J1();function Ad(r,e){this._block=qM.alloc(r),this._finalSize=e,this._blockSize=r,this._len=0}Ad.prototype.update=function(r,e){r=YM(r,e||"utf8");for(var t=this._block,n=this._blockSize,i=r.length,s=this._len,a=0;a<i;){for(var o=s%n,l=Math.min(i-a,n-o),c=0;c<l;c++)t[o+c]=r[a+c];s+=l,a+=l,s%n===0&&this._update(t)}return this._len+=i,this};Ad.prototype.digest=function(r){var e=this._len%this._blockSize;this._block[e]=128,this._block.fill(0,e+1),e>=this._finalSize&&(this._update(this._block),this._block.fill(0));var t=this._len*8;if(t<=4294967295)this._block.writeUInt32BE(t,this._blockSize-4);else{var n=(t&4294967295)>>>0,i=(t-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var s=this._hash();return r?s.toString(r):s};Ad.prototype._update=function(){throw new Error("_update must be implemented by subclass")};eE.exports=Ad});var Lg=B((V9,nE)=>{"use strict";m();var ZM=V_(),rE=tE(),KM=dd().Buffer,XM=[1518500249,1859775393,-1894007588,-899497514],QM=new Array(80);function qc(){this.init(),this._w=QM,rE.call(this,64,56)}ZM(qc,rE);qc.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function JM(r){return r<<1|r>>>31}function eO(r){return r<<5|r>>>27}function tO(r){return r<<30|r>>>2}function rO(r,e,t,n){return r===0?e&t|~e&n:r===2?e&t|e&n|t&n:e^t^n}qc.prototype._update=function(r){for(var e=this._w,t=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,a=this._e|0,o=0;o<16;++o)e[o]=r.readInt32BE(o*4);for(;o<80;++o)e[o]=JM(e[o-3]^e[o-8]^e[o-14]^e[o-16]);for(var l=0;l<80;++l){var c=~~(l/20),u=eO(t)+rO(c,n,i,s)+a+e[l]+XM[c]|0;a=s,s=i,i=tO(n),n=t,t=u}this._a=t+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=a+this._e|0};qc.prototype._hash=function(){var r=KM.allocUnsafe(20);return r.writeInt32BE(this._a|0,0),r.writeInt32BE(this._b|0,4),r.writeInt32BE(this._c|0,8),r.writeInt32BE(this._d|0,12),r.writeInt32BE(this._e|0,16),r};nE.exports=qc});var sE=B((q9,iE)=>{"use strict";m();var mn=function(r){if(r=r||{},this.Promise=r.Promise||Promise,this.queues=Object.create(null),this.domainReentrant=r.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=r.timeout||mn.DEFAULT_TIMEOUT,this.maxOccupationTime=r.maxOccupationTime||mn.DEFAULT_MAX_OCCUPATION_TIME,this.maxExecutionTime=r.maxExecutionTime||mn.DEFAULT_MAX_EXECUTION_TIME,r.maxPending===1/0||Number.isInteger(r.maxPending)&&r.maxPending>=0?this.maxPending=r.maxPending:this.maxPending=mn.DEFAULT_MAX_PENDING};mn.DEFAULT_TIMEOUT=0;mn.DEFAULT_MAX_OCCUPATION_TIME=0;mn.DEFAULT_MAX_EXECUTION_TIME=0;mn.DEFAULT_MAX_PENDING=1e3;mn.prototype.acquire=function(r,e,t,n){if(Array.isArray(r))return this._acquireBatch(r,e,t,n);if(typeof e!="function")throw new Error("You must pass a function to execute");var i=null,s=null,a=null;typeof t!="function"&&(n=t,t=null,a=new this.Promise(function(y,k){i=y,s=k})),n=n||{};var o=!1,l=null,c=null,u=null,f=this,d=function(y,k,C){c&&(clearTimeout(c),c=null),u&&(clearTimeout(u),u=null),y&&(f.queues[r]&&f.queues[r].length===0&&delete f.queues[r],f.domainReentrant&&delete f.domains[r]),o||(a?k?s(k):i(C):typeof t=="function"&&t(k,C),o=!0),y&&f.queues[r]&&f.queues[r].length>0&&f.queues[r].shift()()},h=function(y){if(o)return d(y);l&&(clearTimeout(l),l=null),f.domainReentrant&&y&&(f.domains[r]=process.domain);var k=n.maxExecutionTime||f.maxExecutionTime;if(k&&(u=setTimeout(function(){f.queues[r]&&d(y,new Error("Maximum execution time is exceeded "+r))},k)),e.length===1){var C=!1;try{e(function(S,A){C||(C=!0,d(y,S,A))})}catch(S){C||(C=!0,d(y,S))}}else f._promiseTry(function(){return e()}).then(function(S){d(y,void 0,S)},function(S){d(y,S)})};f.domainReentrant&&process.domain&&(h=process.domain.bind(h));var p=n.maxPending||f.maxPending;if(!f.queues[r])f.queues[r]=[],h(!0);else if(f.domainReentrant&&process.domain&&process.domain===f.domains[r])h(!1);else if(f.queues[r].length>=p)d(!1,new Error("Too many pending tasks in queue "+r));else{var g=function(){h(!0)};n.skipQueue?f.queues[r].unshift(g):f.queues[r].push(g);var w=n.timeout||f.timeout;w&&(l=setTimeout(function(){l=null,d(!1,new Error("async-lock timed out in queue "+r))},w))}var b=n.maxOccupationTime||f.maxOccupationTime;if(b&&(c=setTimeout(function(){f.queues[r]&&d(!1,new Error("Maximum occupation time is exceeded in queue "+r))},b)),a)return a};mn.prototype._acquireBatch=function(r,e,t,n){typeof t!="function"&&(n=t,t=null);var i=this,s=function(o,l){return function(c){i.acquire(o,l,c,n)}},a=r.reduceRight(function(o,l){return s(l,o)},e);if(typeof t=="function")a(t);else return new this.Promise(function(o,l){a.length===1?a(function(c,u){c?l(c):o(u)}):o(a())})};mn.prototype.isBusy=function(r){return r?!!this.queues[r]:Object.keys(this.queues).length>0};mn.prototype._promiseTry=function(r){try{return this.Promise.resolve(r())}catch(e){return this.Promise.reject(e)}};iE.exports=mn});var Ng=B((Z9,aE)=>{"use strict";m();aE.exports=sE()});var Bg=B((X9,oE)=>{"use strict";m();function nO(r){return r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function $i(r,e,t){return e=e instanceof RegExp?e:new RegExp(nO(e),"g"),r.replace(e,t)}var iO={clean:function(e){if(typeof e!="string")throw new Error("Expected a string, received: "+e);return e=$i(e,"./","/"),e=$i(e,"..","."),e=$i(e," ","-"),e=$i(e,/^[~^:?*\\\-]/g,""),e=$i(e,/[~^:?*\\]/g,"-"),e=$i(e,/[~^:?*\\\-]$/g,""),e=$i(e,"@{","-"),e=$i(e,/\.$/g,""),e=$i(e,/\/$/g,""),e=$i(e,/\.lock$/g,""),e}};oE.exports=iO});var Hg=B(Ug=>{m();var lE;(function(r){typeof DO_NOT_EXPORT_CRC=="undefined"?typeof Ug=="object"?r(Ug):typeof define=="function"&&define.amd?define(function(){var e={};return r(e),e}):r(lE={}):r(lE={})})(function(r){r.version="1.2.2";function e(){for(var v=0,x=new Array(256),E=0;E!=256;++E)v=E,v=v&1?-306674912^v>>>1:v>>>1,v=v&1?-306674912^v>>>1:v>>>1,v=v&1?-306674912^v>>>1:v>>>1,v=v&1?-306674912^v>>>1:v>>>1,v=v&1?-306674912^v>>>1:v>>>1,v=v&1?-306674912^v>>>1:v>>>1,v=v&1?-306674912^v>>>1:v>>>1,v=v&1?-306674912^v>>>1:v>>>1,x[E]=v;return typeof Int32Array!="undefined"?new Int32Array(x):x}var t=e();function n(v){var x=0,E=0,R=0,$=typeof Int32Array!="undefined"?new Int32Array(4096):new Array(4096);for(R=0;R!=256;++R)$[R]=v[R];for(R=0;R!=256;++R)for(E=v[R],x=256+R;x<4096;x+=256)E=$[x]=E>>>8^v[E&255];var D=[];for(R=1;R!=16;++R)D[R-1]=typeof Int32Array!="undefined"?$.subarray(R*256,R*256+256):$.slice(R*256,R*256+256);return D}var i=n(t),s=i[0],a=i[1],o=i[2],l=i[3],c=i[4],u=i[5],f=i[6],d=i[7],h=i[8],p=i[9],g=i[10],w=i[11],b=i[12],y=i[13],k=i[14];function C(v,x){for(var E=x^-1,R=0,$=v.length;R<$;)E=E>>>8^t[(E^v.charCodeAt(R++))&255];return~E}function S(v,x){for(var E=x^-1,R=v.length-15,$=0;$<R;)E=k[v[$++]^E&255]^y[v[$++]^E>>8&255]^b[v[$++]^E>>16&255]^w[v[$++]^E>>>24]^g[v[$++]]^p[v[$++]]^h[v[$++]]^d[v[$++]]^f[v[$++]]^u[v[$++]]^c[v[$++]]^l[v[$++]]^o[v[$++]]^a[v[$++]]^s[v[$++]]^t[v[$++]];for(R+=15;$<R;)E=E>>>8^t[(E^v[$++])&255];return~E}function A(v,x){for(var E=x^-1,R=0,$=v.length,D=0,O=0;R<$;)D=v.charCodeAt(R++),D<128?E=E>>>8^t[(E^D)&255]:D<2048?(E=E>>>8^t[(E^(192|D>>6&31))&255],E=E>>>8^t[(E^(128|D&63))&255]):D>=55296&&D<57344?(D=(D&1023)+64,O=v.charCodeAt(R++)&1023,E=E>>>8^t[(E^(240|D>>8&7))&255],E=E>>>8^t[(E^(128|D>>2&63))&255],E=E>>>8^t[(E^(128|O>>6&15|(D&3)<<4))&255],E=E>>>8^t[(E^(128|O&63))&255]):(E=E>>>8^t[(E^(224|D>>12&15))&255],E=E>>>8^t[(E^(128|D>>6&63))&255],E=E>>>8^t[(E^(128|D&63))&255]);return~E}r.table=t,r.bstr=C,r.buf=S,r.str=A})});var ls=B(Cr=>{"use strict";m();var sO=typeof Uint8Array!="undefined"&&typeof Uint16Array!="undefined"&&typeof Int32Array!="undefined";function aO(r,e){return Object.prototype.hasOwnProperty.call(r,e)}Cr.assign=function(r){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var t=e.shift();if(t){if(typeof t!="object")throw new TypeError(t+"must be non-object");for(var n in t)aO(t,n)&&(r[n]=t[n])}}return r};Cr.shrinkBuf=function(r,e){return r.length===e?r:r.subarray?r.subarray(0,e):(r.length=e,r)};var oO={arraySet:function(r,e,t,n,i){if(e.subarray&&r.subarray){r.set(e.subarray(t,t+n),i);return}for(var s=0;s<n;s++)r[i+s]=e[t+s]},flattenChunks:function(r){var e,t,n,i,s,a;for(n=0,e=0,t=r.length;e<t;e++)n+=r[e].length;for(a=new Uint8Array(n),i=0,e=0,t=r.length;e<t;e++)s=r[e],a.set(s,i),i+=s.length;return a}},lO={arraySet:function(r,e,t,n,i){for(var s=0;s<n;s++)r[i+s]=e[t+s]},flattenChunks:function(r){return[].concat.apply([],r)}};Cr.setTyped=function(r){r?(Cr.Buf8=Uint8Array,Cr.Buf16=Uint16Array,Cr.Buf32=Int32Array,Cr.assign(Cr,oO)):(Cr.Buf8=Array,Cr.Buf16=Array,Cr.Buf32=Array,Cr.assign(Cr,lO))};Cr.setTyped(sO)});var $E=B(fl=>{"use strict";m();var cO=ls(),uO=4,cE=0,uE=1,fO=2;function ul(r){for(var e=r.length;--e>=0;)r[e]=0}var dO=0,gE=1,hO=2,pO=3,mO=258,Yg=29,Jc=256,Zc=Jc+1+Yg,cl=30,Zg=19,wE=2*Zc+1,La=15,Gg=16,gO=7,Kg=256,vE=16,bE=17,yE=18,Wg=[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],Td=[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],wO=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],_E=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],vO=512,cs=new Array((Zc+2)*2);ul(cs);var Yc=new Array(cl*2);ul(Yc);var Kc=new Array(vO);ul(Kc);var Xc=new Array(mO-pO+1);ul(Xc);var Xg=new Array(Yg);ul(Xg);var Rd=new Array(cl);ul(Rd);function jg(r,e,t,n,i){this.static_tree=r,this.extra_bits=e,this.extra_base=t,this.elems=n,this.max_length=i,this.has_stree=r&&r.length}var xE,EE,SE;function zg(r,e){this.dyn_tree=r,this.max_code=0,this.stat_desc=e}function kE(r){return r<256?Kc[r]:Kc[256+(r>>>7)]}function Qc(r,e){r.pending_buf[r.pending++]=e&255,r.pending_buf[r.pending++]=e>>>8&255}function Gr(r,e,t){r.bi_valid>Gg-t?(r.bi_buf|=e<<r.bi_valid&65535,Qc(r,r.bi_buf),r.bi_buf=e>>Gg-r.bi_valid,r.bi_valid+=t-Gg):(r.bi_buf|=e<<r.bi_valid&65535,r.bi_valid+=t)}function Ii(r,e,t){Gr(r,t[e*2],t[e*2+1])}function CE(r,e){var t=0;do t|=r&1,r>>>=1,t<<=1;while(--e>0);return t>>>1}function bO(r){r.bi_valid===16?(Qc(r,r.bi_buf),r.bi_buf=0,r.bi_valid=0):r.bi_valid>=8&&(r.pending_buf[r.pending++]=r.bi_buf&255,r.bi_buf>>=8,r.bi_valid-=8)}function yO(r,e){var t=e.dyn_tree,n=e.max_code,i=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<=La;d++)r.bl_count[d]=0;for(t[r.heap[r.heap_max]*2+1]=0,c=r.heap_max+1;c<wE;c++)u=r.heap[c],d=t[t[u*2+1]*2+1]+1,d>l&&(d=l,g++),t[u*2+1]=d,!(u>n)&&(r.bl_count[d]++,h=0,u>=o&&(h=a[u-o]),p=t[u*2],r.opt_len+=p*(d+h),s&&(r.static_len+=p*(i[u*2+1]+h)));if(g!==0){do{for(d=l-1;r.bl_count[d]===0;)d--;r.bl_count[d]--,r.bl_count[d+1]+=2,r.bl_count[l]--,g-=2}while(g>0);for(d=l;d!==0;d--)for(u=r.bl_count[d];u!==0;)f=r.heap[--c],!(f>n)&&(t[f*2+1]!==d&&(r.opt_len+=(d-t[f*2+1])*t[f*2],t[f*2+1]=d),u--)}}function AE(r,e,t){var n=new Array(La+1),i=0,s,a;for(s=1;s<=La;s++)n[s]=i=i+t[s-1]<<1;for(a=0;a<=e;a++){var o=r[a*2+1];o!==0&&(r[a*2]=CE(n[o]++,o))}}function _O(){var r,e,t,n,i,s=new Array(La+1);for(t=0,n=0;n<Yg-1;n++)for(Xg[n]=t,r=0;r<1<<Wg[n];r++)Xc[t++]=n;for(Xc[t-1]=n,i=0,n=0;n<16;n++)for(Rd[n]=i,r=0;r<1<<Td[n];r++)Kc[i++]=n;for(i>>=7;n<cl;n++)for(Rd[n]=i<<7,r=0;r<1<<Td[n]-7;r++)Kc[256+i++]=n;for(e=0;e<=La;e++)s[e]=0;for(r=0;r<=143;)cs[r*2+1]=8,r++,s[8]++;for(;r<=255;)cs[r*2+1]=9,r++,s[9]++;for(;r<=279;)cs[r*2+1]=7,r++,s[7]++;for(;r<=287;)cs[r*2+1]=8,r++,s[8]++;for(AE(cs,Zc+1,s),r=0;r<cl;r++)Yc[r*2+1]=5,Yc[r*2]=CE(r,5);xE=new jg(cs,Wg,Jc+1,Zc,La),EE=new jg(Yc,Td,0,cl,La),SE=new jg(new Array(0),wO,0,Zg,gO)}function TE(r){var e;for(e=0;e<Zc;e++)r.dyn_ltree[e*2]=0;for(e=0;e<cl;e++)r.dyn_dtree[e*2]=0;for(e=0;e<Zg;e++)r.bl_tree[e*2]=0;r.dyn_ltree[Kg*2]=1,r.opt_len=r.static_len=0,r.last_lit=r.matches=0}function RE(r){r.bi_valid>8?Qc(r,r.bi_buf):r.bi_valid>0&&(r.pending_buf[r.pending++]=r.bi_buf),r.bi_buf=0,r.bi_valid=0}function xO(r,e,t,n){RE(r),n&&(Qc(r,t),Qc(r,~t)),cO.arraySet(r.pending_buf,r.window,e,t,r.pending),r.pending+=t}function fE(r,e,t,n){var i=e*2,s=t*2;return r[i]<r[s]||r[i]===r[s]&&n[e]<=n[t]}function Vg(r,e,t){for(var n=r.heap[t],i=t<<1;i<=r.heap_len&&(i<r.heap_len&&fE(e,r.heap[i+1],r.heap[i],r.depth)&&i++,!fE(e,n,r.heap[i],r.depth));)r.heap[t]=r.heap[i],t=i,i<<=1;r.heap[t]=n}function dE(r,e,t){var n,i,s=0,a,o;if(r.last_lit!==0)do n=r.pending_buf[r.d_buf+s*2]<<8|r.pending_buf[r.d_buf+s*2+1],i=r.pending_buf[r.l_buf+s],s++,n===0?Ii(r,i,e):(a=Xc[i],Ii(r,a+Jc+1,e),o=Wg[a],o!==0&&(i-=Xg[a],Gr(r,i,o)),n--,a=kE(n),Ii(r,a,t),o=Td[a],o!==0&&(n-=Rd[a],Gr(r,n,o)));while(s<r.last_lit);Ii(r,Kg,e)}function qg(r,e){var t=e.dyn_tree,n=e.stat_desc.static_tree,i=e.stat_desc.has_stree,s=e.stat_desc.elems,a,o,l=-1,c;for(r.heap_len=0,r.heap_max=wE,a=0;a<s;a++)t[a*2]!==0?(r.heap[++r.heap_len]=l=a,r.depth[a]=0):t[a*2+1]=0;for(;r.heap_len<2;)c=r.heap[++r.heap_len]=l<2?++l:0,t[c*2]=1,r.depth[c]=0,r.opt_len--,i&&(r.static_len-=n[c*2+1]);for(e.max_code=l,a=r.heap_len>>1;a>=1;a--)Vg(r,t,a);c=s;do a=r.heap[1],r.heap[1]=r.heap[r.heap_len--],Vg(r,t,1),o=r.heap[1],r.heap[--r.heap_max]=a,r.heap[--r.heap_max]=o,t[c*2]=t[a*2]+t[o*2],r.depth[c]=(r.depth[a]>=r.depth[o]?r.depth[a]:r.depth[o])+1,t[a*2+1]=t[o*2+1]=c,r.heap[1]=c++,Vg(r,t,1);while(r.heap_len>=2);r.heap[--r.heap_max]=r.heap[1],yO(r,e),AE(t,l,r.bl_count)}function hE(r,e,t){var n,i=-1,s,a=e[1],o=0,l=7,c=4;for(a===0&&(l=138,c=3),e[(t+1)*2+1]=65535,n=0;n<=t;n++)s=a,a=e[(n+1)*2+1],!(++o<l&&s===a)&&(o<c?r.bl_tree[s*2]+=o:s!==0?(s!==i&&r.bl_tree[s*2]++,r.bl_tree[vE*2]++):o<=10?r.bl_tree[bE*2]++:r.bl_tree[yE*2]++,o=0,i=s,a===0?(l=138,c=3):s===a?(l=6,c=3):(l=7,c=4))}function pE(r,e,t){var n,i=-1,s,a=e[1],o=0,l=7,c=4;for(a===0&&(l=138,c=3),n=0;n<=t;n++)if(s=a,a=e[(n+1)*2+1],!(++o<l&&s===a)){if(o<c)do Ii(r,s,r.bl_tree);while(--o!==0);else s!==0?(s!==i&&(Ii(r,s,r.bl_tree),o--),Ii(r,vE,r.bl_tree),Gr(r,o-3,2)):o<=10?(Ii(r,bE,r.bl_tree),Gr(r,o-3,3)):(Ii(r,yE,r.bl_tree),Gr(r,o-11,7));o=0,i=s,a===0?(l=138,c=3):s===a?(l=6,c=3):(l=7,c=4)}}function EO(r){var e;for(hE(r,r.dyn_ltree,r.l_desc.max_code),hE(r,r.dyn_dtree,r.d_desc.max_code),qg(r,r.bl_desc),e=Zg-1;e>=3&&r.bl_tree[_E[e]*2+1]===0;e--);return r.opt_len+=3*(e+1)+5+5+4,e}function SO(r,e,t,n){var i;for(Gr(r,e-257,5),Gr(r,t-1,5),Gr(r,n-4,4),i=0;i<n;i++)Gr(r,r.bl_tree[_E[i]*2+1],3);pE(r,r.dyn_ltree,e-1),pE(r,r.dyn_dtree,t-1)}function kO(r){var e=4093624447,t;for(t=0;t<=31;t++,e>>>=1)if(e&1&&r.dyn_ltree[t*2]!==0)return cE;if(r.dyn_ltree[18]!==0||r.dyn_ltree[20]!==0||r.dyn_ltree[26]!==0)return uE;for(t=32;t<Jc;t++)if(r.dyn_ltree[t*2]!==0)return uE;return cE}var mE=!1;function CO(r){mE||(_O(),mE=!0),r.l_desc=new zg(r.dyn_ltree,xE),r.d_desc=new zg(r.dyn_dtree,EE),r.bl_desc=new zg(r.bl_tree,SE),r.bi_buf=0,r.bi_valid=0,TE(r)}function PE(r,e,t,n){Gr(r,(dO<<1)+(n?1:0),3),xO(r,e,t,!0)}function AO(r){Gr(r,gE<<1,3),Ii(r,Kg,cs),bO(r)}function TO(r,e,t,n){var i,s,a=0;r.level>0?(r.strm.data_type===fO&&(r.strm.data_type=kO(r)),qg(r,r.l_desc),qg(r,r.d_desc),a=EO(r),i=r.opt_len+3+7>>>3,s=r.static_len+3+7>>>3,s<=i&&(i=s)):i=s=t+5,t+4<=i&&e!==-1?PE(r,e,t,n):r.strategy===uO||s===i?(Gr(r,(gE<<1)+(n?1:0),3),dE(r,cs,Yc)):(Gr(r,(hO<<1)+(n?1:0),3),SO(r,r.l_desc.max_code+1,r.d_desc.max_code+1,a+1),dE(r,r.dyn_ltree,r.dyn_dtree)),TE(r),n&&RE(r)}function RO(r,e,t){return r.pending_buf[r.d_buf+r.last_lit*2]=e>>>8&255,r.pending_buf[r.d_buf+r.last_lit*2+1]=e&255,r.pending_buf[r.l_buf+r.last_lit]=t&255,r.last_lit++,e===0?r.dyn_ltree[t*2]++:(r.matches++,e--,r.dyn_ltree[(Xc[t]+Jc+1)*2]++,r.dyn_dtree[kE(e)*2]++),r.last_lit===r.lit_bufsize-1}fl._tr_init=CO;fl._tr_stored_block=PE;fl._tr_flush_block=TO;fl._tr_tally=RO;fl._tr_align=AO});var Qg=B((sW,IE)=>{"use strict";m();function PO(r,e,t,n){for(var i=r&65535|0,s=r>>>16&65535|0,a=0;t!==0;){a=t>2e3?2e3:t,t-=a;do i=i+e[n++]|0,s=s+i|0;while(--a);i%=65521,s%=65521}return i|s<<16|0}IE.exports=PO});var Jg=B((oW,FE)=>{"use strict";m();function $O(){for(var r,e=[],t=0;t<256;t++){r=t;for(var n=0;n<8;n++)r=r&1?3988292384^r>>>1:r>>>1;e[t]=r}return e}var IO=$O();function FO(r,e,t,n){var i=IO,s=n+t;r^=-1;for(var a=n;a<s;a++)r=r>>>8^i[(r^e[a])&255];return r^-1}FE.exports=FO});var Pd=B((cW,ME)=>{"use strict";m();ME.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 jE=B(Oi=>{"use strict";m();var Ar=ls(),Bn=$E(),NE=Qg(),Ws=Jg(),MO=Pd(),Ha=0,OO=1,DO=3,Xs=4,OE=5,Mi=0,DE=1,Un=-2,LO=-3,ew=-5,NO=-1,BO=1,$d=2,UO=3,HO=4,GO=0,jO=2,Od=8,zO=9,VO=15,WO=8,qO=29,YO=256,rw=YO+1+qO,ZO=30,KO=19,XO=2*rw+1,QO=15,Ie=3,Zs=258,si=Zs+Ie+1,JO=32,Dd=42,nw=69,Id=73,Fd=91,Md=103,Na=113,tu=666,Gt=1,ru=2,Ba=3,pl=4,eD=3;function Ks(r,e){return r.msg=MO[e],e}function LE(r){return(r<<1)-(r>4?9:0)}function Ys(r){for(var e=r.length;--e>=0;)r[e]=0}function qs(r){var e=r.state,t=e.pending;t>r.avail_out&&(t=r.avail_out),t!==0&&(Ar.arraySet(r.output,e.pending_buf,e.pending_out,t,r.next_out),r.next_out+=t,e.pending_out+=t,r.total_out+=t,r.avail_out-=t,e.pending-=t,e.pending===0&&(e.pending_out=0))}function cr(r,e){Bn._tr_flush_block(r,r.block_start>=0?r.block_start:-1,r.strstart-r.block_start,e),r.block_start=r.strstart,qs(r.strm)}function Ue(r,e){r.pending_buf[r.pending++]=e}function eu(r,e){r.pending_buf[r.pending++]=e>>>8&255,r.pending_buf[r.pending++]=e&255}function tD(r,e,t,n){var i=r.avail_in;return i>n&&(i=n),i===0?0:(r.avail_in-=i,Ar.arraySet(e,r.input,r.next_in,i,t),r.state.wrap===1?r.adler=NE(r.adler,e,i,t):r.state.wrap===2&&(r.adler=Ws(r.adler,e,i,t)),r.next_in+=i,r.total_in+=i,i)}function BE(r,e){var t=r.max_chain_length,n=r.strstart,i,s,a=r.prev_length,o=r.nice_match,l=r.strstart>r.w_size-si?r.strstart-(r.w_size-si):0,c=r.window,u=r.w_mask,f=r.prev,d=r.strstart+Zs,h=c[n+a-1],p=c[n+a];r.prev_length>=r.good_match&&(t>>=2),o>r.lookahead&&(o=r.lookahead);do if(i=e,!(c[i+a]!==p||c[i+a-1]!==h||c[i]!==c[n]||c[++i]!==c[n+1])){n+=2,i++;do;while(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]===c[++i]&&n<d);if(s=Zs-(d-n),n=d-Zs,s>a){if(r.match_start=e,a=s,s>=o)break;h=c[n+a-1],p=c[n+a]}}while((e=f[e&u])>l&&--t!==0);return a<=r.lookahead?a:r.lookahead}function Ua(r){var e=r.w_size,t,n,i,s,a;do{if(s=r.window_size-r.lookahead-r.strstart,r.strstart>=e+(e-si)){Ar.arraySet(r.window,r.window,e,e,0),r.match_start-=e,r.strstart-=e,r.block_start-=e,n=r.hash_size,t=n;do i=r.head[--t],r.head[t]=i>=e?i-e:0;while(--n);n=e,t=n;do i=r.prev[--t],r.prev[t]=i>=e?i-e:0;while(--n);s+=e}if(r.strm.avail_in===0)break;if(n=tD(r.strm,r.window,r.strstart+r.lookahead,s),r.lookahead+=n,r.lookahead+r.insert>=Ie)for(a=r.strstart-r.insert,r.ins_h=r.window[a],r.ins_h=(r.ins_h<<r.hash_shift^r.window[a+1])&r.hash_mask;r.insert&&(r.ins_h=(r.ins_h<<r.hash_shift^r.window[a+Ie-1])&r.hash_mask,r.prev[a&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=a,a++,r.insert--,!(r.lookahead+r.insert<Ie)););}while(r.lookahead<si&&r.strm.avail_in!==0)}function rD(r,e){var t=65535;for(t>r.pending_buf_size-5&&(t=r.pending_buf_size-5);;){if(r.lookahead<=1){if(Ua(r),r.lookahead===0&&e===Ha)return Gt;if(r.lookahead===0)break}r.strstart+=r.lookahead,r.lookahead=0;var n=r.block_start+t;if((r.strstart===0||r.strstart>=n)&&(r.lookahead=r.strstart-n,r.strstart=n,cr(r,!1),r.strm.avail_out===0)||r.strstart-r.block_start>=r.w_size-si&&(cr(r,!1),r.strm.avail_out===0))return Gt}return r.insert=0,e===Xs?(cr(r,!0),r.strm.avail_out===0?Ba:pl):(r.strstart>r.block_start&&(cr(r,!1),r.strm.avail_out===0),Gt)}function tw(r,e){for(var t,n;;){if(r.lookahead<si){if(Ua(r),r.lookahead<si&&e===Ha)return Gt;if(r.lookahead===0)break}if(t=0,r.lookahead>=Ie&&(r.ins_h=(r.ins_h<<r.hash_shift^r.window[r.strstart+Ie-1])&r.hash_mask,t=r.prev[r.strstart&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=r.strstart),t!==0&&r.strstart-t<=r.w_size-si&&(r.match_length=BE(r,t)),r.match_length>=Ie)if(n=Bn._tr_tally(r,r.strstart-r.match_start,r.match_length-Ie),r.lookahead-=r.match_length,r.match_length<=r.max_lazy_match&&r.lookahead>=Ie){r.match_length--;do r.strstart++,r.ins_h=(r.ins_h<<r.hash_shift^r.window[r.strstart+Ie-1])&r.hash_mask,t=r.prev[r.strstart&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=r.strstart;while(--r.match_length!==0);r.strstart++}else r.strstart+=r.match_length,r.match_length=0,r.ins_h=r.window[r.strstart],r.ins_h=(r.ins_h<<r.hash_shift^r.window[r.strstart+1])&r.hash_mask;else n=Bn._tr_tally(r,0,r.window[r.strstart]),r.lookahead--,r.strstart++;if(n&&(cr(r,!1),r.strm.avail_out===0))return Gt}return r.insert=r.strstart<Ie-1?r.strstart:Ie-1,e===Xs?(cr(r,!0),r.strm.avail_out===0?Ba:pl):r.last_lit&&(cr(r,!1),r.strm.avail_out===0)?Gt:ru}function dl(r,e){for(var t,n,i;;){if(r.lookahead<si){if(Ua(r),r.lookahead<si&&e===Ha)return Gt;if(r.lookahead===0)break}if(t=0,r.lookahead>=Ie&&(r.ins_h=(r.ins_h<<r.hash_shift^r.window[r.strstart+Ie-1])&r.hash_mask,t=r.prev[r.strstart&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=r.strstart),r.prev_length=r.match_length,r.prev_match=r.match_start,r.match_length=Ie-1,t!==0&&r.prev_length<r.max_lazy_match&&r.strstart-t<=r.w_size-si&&(r.match_length=BE(r,t),r.match_length<=5&&(r.strategy===BO||r.match_length===Ie&&r.strstart-r.match_start>4096)&&(r.match_length=Ie-1)),r.prev_length>=Ie&&r.match_length<=r.prev_length){i=r.strstart+r.lookahead-Ie,n=Bn._tr_tally(r,r.strstart-1-r.prev_match,r.prev_length-Ie),r.lookahead-=r.prev_length-1,r.prev_length-=2;do++r.strstart<=i&&(r.ins_h=(r.ins_h<<r.hash_shift^r.window[r.strstart+Ie-1])&r.hash_mask,t=r.prev[r.strstart&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=r.strstart);while(--r.prev_length!==0);if(r.match_available=0,r.match_length=Ie-1,r.strstart++,n&&(cr(r,!1),r.strm.avail_out===0))return Gt}else if(r.match_available){if(n=Bn._tr_tally(r,0,r.window[r.strstart-1]),n&&cr(r,!1),r.strstart++,r.lookahead--,r.strm.avail_out===0)return Gt}else r.match_available=1,r.strstart++,r.lookahead--}return r.match_available&&(n=Bn._tr_tally(r,0,r.window[r.strstart-1]),r.match_available=0),r.insert=r.strstart<Ie-1?r.strstart:Ie-1,e===Xs?(cr(r,!0),r.strm.avail_out===0?Ba:pl):r.last_lit&&(cr(r,!1),r.strm.avail_out===0)?Gt:ru}function nD(r,e){for(var t,n,i,s,a=r.window;;){if(r.lookahead<=Zs){if(Ua(r),r.lookahead<=Zs&&e===Ha)return Gt;if(r.lookahead===0)break}if(r.match_length=0,r.lookahead>=Ie&&r.strstart>0&&(i=r.strstart-1,n=a[i],n===a[++i]&&n===a[++i]&&n===a[++i])){s=r.strstart+Zs;do;while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&i<s);r.match_length=Zs-(s-i),r.match_length>r.lookahead&&(r.match_length=r.lookahead)}if(r.match_length>=Ie?(t=Bn._tr_tally(r,1,r.match_length-Ie),r.lookahead-=r.match_length,r.strstart+=r.match_length,r.match_length=0):(t=Bn._tr_tally(r,0,r.window[r.strstart]),r.lookahead--,r.strstart++),t&&(cr(r,!1),r.strm.avail_out===0))return Gt}return r.insert=0,e===Xs?(cr(r,!0),r.strm.avail_out===0?Ba:pl):r.last_lit&&(cr(r,!1),r.strm.avail_out===0)?Gt:ru}function iD(r,e){for(var t;;){if(r.lookahead===0&&(Ua(r),r.lookahead===0)){if(e===Ha)return Gt;break}if(r.match_length=0,t=Bn._tr_tally(r,0,r.window[r.strstart]),r.lookahead--,r.strstart++,t&&(cr(r,!1),r.strm.avail_out===0))return Gt}return r.insert=0,e===Xs?(cr(r,!0),r.strm.avail_out===0?Ba:pl):r.last_lit&&(cr(r,!1),r.strm.avail_out===0)?Gt:ru}function Fi(r,e,t,n,i){this.good_length=r,this.max_lazy=e,this.nice_length=t,this.max_chain=n,this.func=i}var hl;hl=[new Fi(0,0,0,0,rD),new Fi(4,4,8,4,tw),new Fi(4,5,16,8,tw),new Fi(4,6,32,32,tw),new Fi(4,4,16,16,dl),new Fi(8,16,32,32,dl),new Fi(8,16,128,128,dl),new Fi(8,32,128,256,dl),new Fi(32,128,258,1024,dl),new Fi(32,258,258,4096,dl)];function sD(r){r.window_size=2*r.w_size,Ys(r.head),r.max_lazy_match=hl[r.level].max_lazy,r.good_match=hl[r.level].good_length,r.nice_match=hl[r.level].nice_length,r.max_chain_length=hl[r.level].max_chain,r.strstart=0,r.block_start=0,r.lookahead=0,r.insert=0,r.match_length=r.prev_length=Ie-1,r.match_available=0,r.ins_h=0}function aD(){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=Od,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 Ar.Buf16(XO*2),this.dyn_dtree=new Ar.Buf16((2*ZO+1)*2),this.bl_tree=new Ar.Buf16((2*KO+1)*2),Ys(this.dyn_ltree),Ys(this.dyn_dtree),Ys(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Ar.Buf16(QO+1),this.heap=new Ar.Buf16(2*rw+1),Ys(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Ar.Buf16(2*rw+1),Ys(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 UE(r){var e;return!r||!r.state?Ks(r,Un):(r.total_in=r.total_out=0,r.data_type=jO,e=r.state,e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?Dd:Na,r.adler=e.wrap===2?0:1,e.last_flush=Ha,Bn._tr_init(e),Mi)}function HE(r){var e=UE(r);return e===Mi&&sD(r.state),e}function oD(r,e){return!r||!r.state||r.state.wrap!==2?Un:(r.state.gzhead=e,Mi)}function GE(r,e,t,n,i,s){if(!r)return Un;var a=1;if(e===NO&&(e=6),n<0?(a=0,n=-n):n>15&&(a=2,n-=16),i<1||i>zO||t!==Od||n<8||n>15||e<0||e>9||s<0||s>HO)return Ks(r,Un);n===8&&(n=9);var o=new aD;return r.state=o,o.strm=r,o.wrap=a,o.gzhead=null,o.w_bits=n,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=i+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+Ie-1)/Ie),o.window=new Ar.Buf8(o.w_size*2),o.head=new Ar.Buf16(o.hash_size),o.prev=new Ar.Buf16(o.w_size),o.lit_bufsize=1<<i+6,o.pending_buf_size=o.lit_bufsize*4,o.pending_buf=new Ar.Buf8(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=e,o.strategy=s,o.method=t,HE(r)}function lD(r,e){return GE(r,e,Od,VO,WO,GO)}function cD(r,e){var t,n,i,s;if(!r||!r.state||e>OE||e<0)return r?Ks(r,Un):Un;if(n=r.state,!r.output||!r.input&&r.avail_in!==0||n.status===tu&&e!==Xs)return Ks(r,r.avail_out===0?ew:Un);if(n.strm=r,t=n.last_flush,n.last_flush=e,n.status===Dd)if(n.wrap===2)r.adler=0,Ue(n,31),Ue(n,139),Ue(n,8),n.gzhead?(Ue(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),Ue(n,n.gzhead.time&255),Ue(n,n.gzhead.time>>8&255),Ue(n,n.gzhead.time>>16&255),Ue(n,n.gzhead.time>>24&255),Ue(n,n.level===9?2:n.strategy>=$d||n.level<2?4:0),Ue(n,n.gzhead.os&255),n.gzhead.extra&&n.gzhead.extra.length&&(Ue(n,n.gzhead.extra.length&255),Ue(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(r.adler=Ws(r.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=nw):(Ue(n,0),Ue(n,0),Ue(n,0),Ue(n,0),Ue(n,0),Ue(n,n.level===9?2:n.strategy>=$d||n.level<2?4:0),Ue(n,eD),n.status=Na);else{var a=Od+(n.w_bits-8<<4)<<8,o=-1;n.strategy>=$d||n.level<2?o=0:n.level<6?o=1:n.level===6?o=2:o=3,a|=o<<6,n.strstart!==0&&(a|=JO),a+=31-a%31,n.status=Na,eu(n,a),n.strstart!==0&&(eu(n,r.adler>>>16),eu(n,r.adler&65535)),r.adler=1}if(n.status===nw)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(n.gzhead.extra.length&65535)&&!(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(r.adler=Ws(r.adler,n.pending_buf,n.pending-i,i)),qs(r),i=n.pending,n.pending===n.pending_buf_size));)Ue(n,n.gzhead.extra[n.gzindex]&255),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(r.adler=Ws(r.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=Id)}else n.status=Id;if(n.status===Id)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(r.adler=Ws(r.adler,n.pending_buf,n.pending-i,i)),qs(r),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}n.gzindex<n.gzhead.name.length?s=n.gzhead.name.charCodeAt(n.gzindex++)&255:s=0,Ue(n,s)}while(s!==0);n.gzhead.hcrc&&n.pending>i&&(r.adler=Ws(r.adler,n.pending_buf,n.pending-i,i)),s===0&&(n.gzindex=0,n.status=Fd)}else n.status=Fd;if(n.status===Fd)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(r.adler=Ws(r.adler,n.pending_buf,n.pending-i,i)),qs(r),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}n.gzindex<n.gzhead.comment.length?s=n.gzhead.comment.charCodeAt(n.gzindex++)&255:s=0,Ue(n,s)}while(s!==0);n.gzhead.hcrc&&n.pending>i&&(r.adler=Ws(r.adler,n.pending_buf,n.pending-i,i)),s===0&&(n.status=Md)}else n.status=Md;if(n.status===Md&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&qs(r),n.pending+2<=n.pending_buf_size&&(Ue(n,r.adler&255),Ue(n,r.adler>>8&255),r.adler=0,n.status=Na)):n.status=Na),n.pending!==0){if(qs(r),r.avail_out===0)return n.last_flush=-1,Mi}else if(r.avail_in===0&&LE(e)<=LE(t)&&e!==Xs)return Ks(r,ew);if(n.status===tu&&r.avail_in!==0)return Ks(r,ew);if(r.avail_in!==0||n.lookahead!==0||e!==Ha&&n.status!==tu){var l=n.strategy===$d?iD(n,e):n.strategy===UO?nD(n,e):hl[n.level].func(n,e);if((l===Ba||l===pl)&&(n.status=tu),l===Gt||l===Ba)return r.avail_out===0&&(n.last_flush=-1),Mi;if(l===ru&&(e===OO?Bn._tr_align(n):e!==OE&&(Bn._tr_stored_block(n,0,0,!1),e===DO&&(Ys(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),qs(r),r.avail_out===0))return n.last_flush=-1,Mi}return e!==Xs?Mi:n.wrap<=0?DE:(n.wrap===2?(Ue(n,r.adler&255),Ue(n,r.adler>>8&255),Ue(n,r.adler>>16&255),Ue(n,r.adler>>24&255),Ue(n,r.total_in&255),Ue(n,r.total_in>>8&255),Ue(n,r.total_in>>16&255),Ue(n,r.total_in>>24&255)):(eu(n,r.adler>>>16),eu(n,r.adler&65535)),qs(r),n.wrap>0&&(n.wrap=-n.wrap),n.pending!==0?Mi:DE)}function uD(r){var e;return!r||!r.state?Un:(e=r.state.status,e!==Dd&&e!==nw&&e!==Id&&e!==Fd&&e!==Md&&e!==Na&&e!==tu?Ks(r,Un):(r.state=null,e===Na?Ks(r,LO):Mi))}function fD(r,e){var t=e.length,n,i,s,a,o,l,c,u;if(!r||!r.state||(n=r.state,a=n.wrap,a===2||a===1&&n.status!==Dd||n.lookahead))return Un;for(a===1&&(r.adler=NE(r.adler,e,t,0)),n.wrap=0,t>=n.w_size&&(a===0&&(Ys(n.head),n.strstart=0,n.block_start=0,n.insert=0),u=new Ar.Buf8(n.w_size),Ar.arraySet(u,e,t-n.w_size,n.w_size,0),e=u,t=n.w_size),o=r.avail_in,l=r.next_in,c=r.input,r.avail_in=t,r.next_in=0,r.input=e,Ua(n);n.lookahead>=Ie;){i=n.strstart,s=n.lookahead-(Ie-1);do n.ins_h=(n.ins_h<<n.hash_shift^n.window[i+Ie-1])&n.hash_mask,n.prev[i&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=i,i++;while(--s);n.strstart=i,n.lookahead=Ie-1,Ua(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=Ie-1,n.match_available=0,r.next_in=l,r.input=c,r.avail_in=o,n.wrap=a,Mi}Oi.deflateInit=lD;Oi.deflateInit2=GE;Oi.deflateReset=HE;Oi.deflateResetKeep=UE;Oi.deflateSetHeader=oD;Oi.deflate=cD;Oi.deflateEnd=uD;Oi.deflateSetDictionary=fD;Oi.deflateInfo="pako deflate (from Nodeca project)"});var iw=B(ml=>{"use strict";m();var Ld=ls(),zE=!0,VE=!0;try{String.fromCharCode.apply(null,[0])}catch(r){zE=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(r){VE=!1}var nu=new Ld.Buf8(256);for(us=0;us<256;us++)nu[us]=us>=252?6:us>=248?5:us>=240?4:us>=224?3:us>=192?2:1;var us;nu[254]=nu[254]=1;ml.string2buf=function(r){var e,t,n,i,s,a=r.length,o=0;for(i=0;i<a;i++)t=r.charCodeAt(i),(t&64512)===55296&&i+1<a&&(n=r.charCodeAt(i+1),(n&64512)===56320&&(t=65536+(t-55296<<10)+(n-56320),i++)),o+=t<128?1:t<2048?2:t<65536?3:4;for(e=new Ld.Buf8(o),s=0,i=0;s<o;i++)t=r.charCodeAt(i),(t&64512)===55296&&i+1<a&&(n=r.charCodeAt(i+1),(n&64512)===56320&&(t=65536+(t-55296<<10)+(n-56320),i++)),t<128?e[s++]=t:t<2048?(e[s++]=192|t>>>6,e[s++]=128|t&63):t<65536?(e[s++]=224|t>>>12,e[s++]=128|t>>>6&63,e[s++]=128|t&63):(e[s++]=240|t>>>18,e[s++]=128|t>>>12&63,e[s++]=128|t>>>6&63,e[s++]=128|t&63);return e};function WE(r,e){if(e<65534&&(r.subarray&&VE||!r.subarray&&zE))return String.fromCharCode.apply(null,Ld.shrinkBuf(r,e));for(var t="",n=0;n<e;n++)t+=String.fromCharCode(r[n]);return t}ml.buf2binstring=function(r){return WE(r,r.length)};ml.binstring2buf=function(r){for(var e=new Ld.Buf8(r.length),t=0,n=e.length;t<n;t++)e[t]=r.charCodeAt(t);return e};ml.buf2string=function(r,e){var t,n,i,s,a=e||r.length,o=new Array(a*2);for(n=0,t=0;t<a;){if(i=r[t++],i<128){o[n++]=i;continue}if(s=nu[i],s>4){o[n++]=65533,t+=s-1;continue}for(i&=s===2?31:s===3?15:7;s>1&&t<a;)i=i<<6|r[t++]&63,s--;if(s>1){o[n++]=65533;continue}i<65536?o[n++]=i:(i-=65536,o[n++]=55296|i>>10&1023,o[n++]=56320|i&1023)}return WE(o,n)};ml.utf8border=function(r,e){var t;for(e=e||r.length,e>r.length&&(e=r.length),t=e-1;t>=0&&(r[t]&192)===128;)t--;return t<0||t===0?e:t+nu[r[t]]>e?t:e}});var sw=B((mW,qE)=>{"use strict";m();function dD(){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}qE.exports=dD});var XE=B(au=>{"use strict";m();var iu=jE(),su=ls(),ow=iw(),lw=Pd(),hD=sw(),KE=Object.prototype.toString,pD=0,aw=4,gl=0,YE=1,ZE=2,mD=-1,gD=0,wD=8;function Ga(r){if(!(this instanceof Ga))return new Ga(r);this.options=su.assign({level:mD,method:wD,chunkSize:16384,windowBits:15,memLevel:8,strategy:gD,to:""},r||{});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 hD,this.strm.avail_out=0;var t=iu.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(t!==gl)throw new Error(lw[t]);if(e.header&&iu.deflateSetHeader(this.strm,e.header),e.dictionary){var n;if(typeof e.dictionary=="string"?n=ow.string2buf(e.dictionary):KE.call(e.dictionary)==="[object ArrayBuffer]"?n=new Uint8Array(e.dictionary):n=e.dictionary,t=iu.deflateSetDictionary(this.strm,n),t!==gl)throw new Error(lw[t]);this._dict_set=!0}}Ga.prototype.push=function(r,e){var t=this.strm,n=this.options.chunkSize,i,s;if(this.ended)return!1;s=e===~~e?e:e===!0?aw:pD,typeof r=="string"?t.input=ow.string2buf(r):KE.call(r)==="[object ArrayBuffer]"?t.input=new Uint8Array(r):t.input=r,t.next_in=0,t.avail_in=t.input.length;do{if(t.avail_out===0&&(t.output=new su.Buf8(n),t.next_out=0,t.avail_out=n),i=iu.deflate(t,s),i!==YE&&i!==gl)return this.onEnd(i),this.ended=!0,!1;(t.avail_out===0||t.avail_in===0&&(s===aw||s===ZE))&&(this.options.to==="string"?this.onData(ow.buf2binstring(su.shrinkBuf(t.output,t.next_out))):this.onData(su.shrinkBuf(t.output,t.next_out)))}while((t.avail_in>0||t.avail_out===0)&&i!==YE);return s===aw?(i=iu.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===gl):(s===ZE&&(this.onEnd(gl),t.avail_out=0),!0)};Ga.prototype.onData=function(r){this.chunks.push(r)};Ga.prototype.onEnd=function(r){r===gl&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=su.flattenChunks(this.chunks)),this.chunks=[],this.err=r,this.msg=this.strm.msg};function cw(r,e){var t=new Ga(e);if(t.push(r,!0),t.err)throw t.msg||lw[t.err];return t.result}function vD(r,e){return e=e||{},e.raw=!0,cw(r,e)}function bD(r,e){return e=e||{},e.gzip=!0,cw(r,e)}au.Deflate=Ga;au.deflate=cw;au.deflateRaw=vD;au.gzip=bD});var JE=B((bW,QE)=>{"use strict";m();var Nd=30,yD=12;QE.exports=function(e,t){var n,i,s,a,o,l,c,u,f,d,h,p,g,w,b,y,k,C,S,A,v,x,E,R,$;n=e.state,i=e.next_in,R=e.input,s=i+(e.avail_in-5),a=e.next_out,$=e.output,o=a-(t-e.avail_out),l=a+(e.avail_out-257),c=n.dmax,u=n.wsize,f=n.whave,d=n.wnext,h=n.window,p=n.hold,g=n.bits,w=n.lencode,b=n.distcode,y=(1<<n.lenbits)-1,k=(1<<n.distbits)-1;e:do{g<15&&(p+=R[i++]<<g,g+=8,p+=R[i++]<<g,g+=8),C=w[p&y];t:for(;;){if(S=C>>>24,p>>>=S,g-=S,S=C>>>16&255,S===0)$[a++]=C&65535;else if(S&16){A=C&65535,S&=15,S&&(g<S&&(p+=R[i++]<<g,g+=8),A+=p&(1<<S)-1,p>>>=S,g-=S),g<15&&(p+=R[i++]<<g,g+=8,p+=R[i++]<<g,g+=8),C=b[p&k];r:for(;;){if(S=C>>>24,p>>>=S,g-=S,S=C>>>16&255,S&16){if(v=C&65535,S&=15,g<S&&(p+=R[i++]<<g,g+=8,g<S&&(p+=R[i++]<<g,g+=8)),v+=p&(1<<S)-1,v>c){e.msg="invalid distance too far back",n.mode=Nd;break e}if(p>>>=S,g-=S,S=a-o,v>S){if(S=v-S,S>f&&n.sane){e.msg="invalid distance too far back",n.mode=Nd;break e}if(x=0,E=h,d===0){if(x+=u-S,S<A){A-=S;do $[a++]=h[x++];while(--S);x=a-v,E=$}}else if(d<S){if(x+=u+d-S,S-=d,S<A){A-=S;do $[a++]=h[x++];while(--S);if(x=0,d<A){S=d,A-=S;do $[a++]=h[x++];while(--S);x=a-v,E=$}}}else if(x+=d-S,S<A){A-=S;do $[a++]=h[x++];while(--S);x=a-v,E=$}for(;A>2;)$[a++]=E[x++],$[a++]=E[x++],$[a++]=E[x++],A-=3;A&&($[a++]=E[x++],A>1&&($[a++]=E[x++]))}else{x=a-v;do $[a++]=$[x++],$[a++]=$[x++],$[a++]=$[x++],A-=3;while(A>2);A&&($[a++]=$[x++],A>1&&($[a++]=$[x++]))}}else if((S&64)===0){C=b[(C&65535)+(p&(1<<S)-1)];continue r}else{e.msg="invalid distance code",n.mode=Nd;break e}break}}else if((S&64)===0){C=w[(C&65535)+(p&(1<<S)-1)];continue t}else if(S&32){n.mode=yD;break e}else{e.msg="invalid literal/length code",n.mode=Nd;break e}break}}while(i<s&&a<l);A=g>>3,i-=A,g-=A<<3,p&=(1<<g)-1,e.next_in=i,e.next_out=a,e.avail_in=i<s?5+(s-i):5-(i-s),e.avail_out=a<l?257+(l-a):257-(a-l),n.hold=p,n.bits=g}});var aS=B((_W,sS)=>{"use strict";m();var eS=ls(),wl=15,tS=852,rS=592,nS=0,uw=1,iS=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],xD=[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],ED=[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],SD=[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];sS.exports=function(e,t,n,i,s,a,o,l){var c=l.bits,u=0,f=0,d=0,h=0,p=0,g=0,w=0,b=0,y=0,k=0,C,S,A,v,x,E=null,R=0,$,D=new eS.Buf16(wl+1),O=new eS.Buf16(wl+1),U=null,me=0,Ne,Re,be;for(u=0;u<=wl;u++)D[u]=0;for(f=0;f<i;f++)D[t[n+f]]++;for(p=c,h=wl;h>=1&&D[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;d<h&&D[d]===0;d++);for(p<d&&(p=d),b=1,u=1;u<=wl;u++)if(b<<=1,b-=D[u],b<0)return-1;if(b>0&&(e===nS||h!==1))return-1;for(O[1]=0,u=1;u<wl;u++)O[u+1]=O[u]+D[u];for(f=0;f<i;f++)t[n+f]!==0&&(o[O[t[n+f]]++]=f);if(e===nS?(E=U=o,$=19):e===uw?(E=_D,R-=257,U=xD,me-=257,$=256):(E=ED,U=SD,$=-1),k=0,f=0,u=d,x=a,g=p,w=0,A=-1,y=1<<p,v=y-1,e===uw&&y>tS||e===iS&&y>rS)return 1;for(;;){Ne=u-w,o[f]<$?(Re=0,be=o[f]):o[f]>$?(Re=U[me+o[f]],be=E[R+o[f]]):(Re=96,be=0),C=1<<u-w,S=1<<g,d=S;do S-=C,s[x+(k>>w)+S]=Ne<<24|Re<<16|be|0;while(S!==0);for(C=1<<u-1;k&C;)C>>=1;if(C!==0?(k&=C-1,k+=C):k=0,f++,--D[u]===0){if(u===h)break;u=t[n+o[f]]}if(u>p&&(k&v)!==A){for(w===0&&(w=p),x+=d,g=u-w,b=1<<g;g+w<h&&(b-=D[g+w],!(b<=0));)g++,b<<=1;if(y+=1<<g,e===uw&&y>tS||e===iS&&y>rS)return 1;A=k&v,s[A]=p<<24|g<<16|x-a|0}}return k!==0&&(s[x+k]=u-w<<24|64<<16|0),l.bits=p,0}});var HS=B(ai=>{"use strict";m();var gn=ls(),gw=Qg(),Di=Jg(),kD=JE(),ou=aS(),CD=0,IS=1,FS=2,oS=4,AD=5,Bd=6,ja=0,TD=1,RD=2,Hn=-2,MS=-3,ww=-4,PD=-5,lS=8,OS=1,cS=2,uS=3,fS=4,dS=5,hS=6,pS=7,mS=8,gS=9,wS=10,Gd=11,fs=12,fw=13,vS=14,dw=15,bS=16,yS=17,_S=18,xS=19,Ud=20,Hd=21,ES=22,SS=23,kS=24,CS=25,AS=26,hw=27,TS=28,RS=29,ut=30,vw=31,$D=32,ID=852,FD=592,MD=15,OD=MD;function PS(r){return(r>>>24&255)+(r>>>8&65280)+((r&65280)<<8)+((r&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 gn.Buf16(320),this.work=new gn.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function DS(r){var e;return!r||!r.state?Hn:(e=r.state,r.total_in=r.total_out=e.total=0,r.msg="",e.wrap&&(r.adler=e.wrap&1),e.mode=OS,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new gn.Buf32(ID),e.distcode=e.distdyn=new gn.Buf32(FD),e.sane=1,e.back=-1,ja)}function LS(r){var e;return!r||!r.state?Hn:(e=r.state,e.wsize=0,e.whave=0,e.wnext=0,DS(r))}function NS(r,e){var t,n;return!r||!r.state||(n=r.state,e<0?(t=0,e=-e):(t=(e>>4)+1,e<48&&(e&=15)),e&&(e<8||e>15))?Hn:(n.window!==null&&n.wbits!==e&&(n.window=null),n.wrap=t,n.wbits=e,LS(r))}function BS(r,e){var t,n;return r?(n=new DD,r.state=n,n.window=null,t=NS(r,e),t!==ja&&(r.state=null),t):Hn}function LD(r){return BS(r,OD)}var $S=!0,pw,mw;function ND(r){if($S){var e;for(pw=new gn.Buf32(512),mw=new gn.Buf32(32),e=0;e<144;)r.lens[e++]=8;for(;e<256;)r.lens[e++]=9;for(;e<280;)r.lens[e++]=7;for(;e<288;)r.lens[e++]=8;for(ou(IS,r.lens,0,288,pw,0,r.work,{bits:9}),e=0;e<32;)r.lens[e++]=5;ou(FS,r.lens,0,32,mw,0,r.work,{bits:5}),$S=!1}r.lencode=pw,r.lenbits=9,r.distcode=mw,r.distbits=5}function US(r,e,t,n){var i,s=r.state;return s.window===null&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new gn.Buf8(s.wsize)),n>=s.wsize?(gn.arraySet(s.window,e,t-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(i=s.wsize-s.wnext,i>n&&(i=n),gn.arraySet(s.window,e,t-n,i,s.wnext),n-=i,n?(gn.arraySet(s.window,e,t-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=i))),0}function BD(r,e){var t,n,i,s,a,o,l,c,u,f,d,h,p,g,w=0,b,y,k,C,S,A,v,x,E=new gn.Buf8(4),R,$,D=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!r||!r.state||!r.output||!r.input&&r.avail_in!==0)return Hn;t=r.state,t.mode===fs&&(t.mode=fw),a=r.next_out,i=r.output,l=r.avail_out,s=r.next_in,n=r.input,o=r.avail_in,c=t.hold,u=t.bits,f=o,d=l,x=ja;e:for(;;)switch(t.mode){case OS:if(t.wrap===0){t.mode=fw;break}for(;u<16;){if(o===0)break e;o--,c+=n[s++]<<u,u+=8}if(t.wrap&2&&c===35615){t.check=0,E[0]=c&255,E[1]=c>>>8&255,t.check=Di(t.check,E,2,0),c=0,u=0,t.mode=cS;break}if(t.flags=0,t.head&&(t.head.done=!1),!(t.wrap&1)||(((c&255)<<8)+(c>>8))%31){r.msg="incorrect header check",t.mode=ut;break}if((c&15)!==lS){r.msg="unknown compression method",t.mode=ut;break}if(c>>>=4,u-=4,v=(c&15)+8,t.wbits===0)t.wbits=v;else if(v>t.wbits){r.msg="invalid window size",t.mode=ut;break}t.dmax=1<<v,r.adler=t.check=1,t.mode=c&512?wS:fs,c=0,u=0;break;case cS:for(;u<16;){if(o===0)break e;o--,c+=n[s++]<<u,u+=8}if(t.flags=c,(t.flags&255)!==lS){r.msg="unknown compression method",t.mode=ut;break}if(t.flags&57344){r.msg="unknown header flags set",t.mode=ut;break}t.head&&(t.head.text=c>>8&1),t.flags&512&&(E[0]=c&255,E[1]=c>>>8&255,t.check=Di(t.check,E,2,0)),c=0,u=0,t.mode=uS;case uS:for(;u<32;){if(o===0)break e;o--,c+=n[s++]<<u,u+=8}t.head&&(t.head.time=c),t.flags&512&&(E[0]=c&255,E[1]=c>>>8&255,E[2]=c>>>16&255,E[3]=c>>>24&255,t.check=Di(t.check,E,4,0)),c=0,u=0,t.mode=fS;case fS:for(;u<16;){if(o===0)break e;o--,c+=n[s++]<<u,u+=8}t.head&&(t.head.xflags=c&255,t.head.os=c>>8),t.flags&512&&(E[0]=c&255,E[1]=c>>>8&255,t.check=Di(t.check,E,2,0)),c=0,u=0,t.mode=dS;case dS:if(t.flags&1024){for(;u<16;){if(o===0)break e;o--,c+=n[s++]<<u,u+=8}t.length=c,t.head&&(t.head.extra_len=c),t.flags&512&&(E[0]=c&255,E[1]=c>>>8&255,t.check=Di(t.check,E,2,0)),c=0,u=0}else t.head&&(t.head.extra=null);t.mode=hS;case hS:if(t.flags&1024&&(h=t.length,h>o&&(h=o),h&&(t.head&&(v=t.head.extra_len-t.length,t.head.extra||(t.head.extra=new Array(t.head.extra_len)),gn.arraySet(t.head.extra,n,s,h,v)),t.flags&512&&(t.check=Di(t.check,n,h,s)),o-=h,s+=h,t.length-=h),t.length))break e;t.length=0,t.mode=pS;case pS:if(t.flags&2048){if(o===0)break e;h=0;do v=n[s+h++],t.head&&v&&t.length<65536&&(t.head.name+=String.fromCharCode(v));while(v&&h<o);if(t.flags&512&&(t.check=Di(t.check,n,h,s)),o-=h,s+=h,v)break e}else t.head&&(t.head.name=null);t.length=0,t.mode=mS;case mS:if(t.flags&4096){if(o===0)break e;h=0;do v=n[s+h++],t.head&&v&&t.length<65536&&(t.head.comment+=String.fromCharCode(v));while(v&&h<o);if(t.flags&512&&(t.check=Di(t.check,n,h,s)),o-=h,s+=h,v)break e}else t.head&&(t.head.comment=null);t.mode=gS;case gS:if(t.flags&512){for(;u<16;){if(o===0)break e;o--,c+=n[s++]<<u,u+=8}if(c!==(t.check&65535)){r.msg="header crc mismatch",t.mode=ut;break}c=0,u=0}t.head&&(t.head.hcrc=t.flags>>9&1,t.head.done=!0),r.adler=t.check=0,t.mode=fs;break;case wS:for(;u<32;){if(o===0)break e;o--,c+=n[s++]<<u,u+=8}r.adler=t.check=PS(c),c=0,u=0,t.mode=Gd;case Gd:if(t.havedict===0)return r.next_out=a,r.avail_out=l,r.next_in=s,r.avail_in=o,t.hold=c,t.bits=u,RD;r.adler=t.check=1,t.mode=fs;case fs:if(e===AD||e===Bd)break e;case fw:if(t.last){c>>>=u&7,u-=u&7,t.mode=hw;break}for(;u<3;){if(o===0)break e;o--,c+=n[s++]<<u,u+=8}switch(t.last=c&1,c>>>=1,u-=1,c&3){case 0:t.mode=vS;break;case 1:if(ND(t),t.mode=Ud,e===Bd){c>>>=2,u-=2;break e}break;case 2:t.mode=yS;break;case 3:r.msg="invalid block type",t.mode=ut}c>>>=2,u-=2;break;case vS:for(c>>>=u&7,u-=u&7;u<32;){if(o===0)break e;o--,c+=n[s++]<<u,u+=8}if((c&65535)!==(c>>>16^65535)){r.msg="invalid stored block lengths",t.mode=ut;break}if(t.length=c&65535,c=0,u=0,t.mode=dw,e===Bd)break e;case dw:t.mode=bS;case bS:if(h=t.length,h){if(h>o&&(h=o),h>l&&(h=l),h===0)break e;gn.arraySet(i,n,s,h,a),o-=h,s+=h,l-=h,a+=h,t.length-=h;break}t.mode=fs;break;case yS:for(;u<14;){if(o===0)break e;o--,c+=n[s++]<<u,u+=8}if(t.nlen=(c&31)+257,c>>>=5,u-=5,t.ndist=(c&31)+1,c>>>=5,u-=5,t.ncode=(c&15)+4,c>>>=4,u-=4,t.nlen>286||t.ndist>30){r.msg="too many length or distance symbols",t.mode=ut;break}t.have=0,t.mode=_S;case _S:for(;t.have<t.ncode;){for(;u<3;){if(o===0)break e;o--,c+=n[s++]<<u,u+=8}t.lens[D[t.have++]]=c&7,c>>>=3,u-=3}for(;t.have<19;)t.lens[D[t.have++]]=0;if(t.lencode=t.lendyn,t.lenbits=7,R={bits:t.lenbits},x=ou(CD,t.lens,0,19,t.lencode,0,t.work,R),t.lenbits=R.bits,x){r.msg="invalid code lengths set",t.mode=ut;break}t.have=0,t.mode=xS;case xS:for(;t.have<t.nlen+t.ndist;){for(;w=t.lencode[c&(1<<t.lenbits)-1],b=w>>>24,y=w>>>16&255,k=w&65535,!(b<=u);){if(o===0)break e;o--,c+=n[s++]<<u,u+=8}if(k<16)c>>>=b,u-=b,t.lens[t.have++]=k;else{if(k===16){for($=b+2;u<$;){if(o===0)break e;o--,c+=n[s++]<<u,u+=8}if(c>>>=b,u-=b,t.have===0){r.msg="invalid bit length repeat",t.mode=ut;break}v=t.lens[t.have-1],h=3+(c&3),c>>>=2,u-=2}else if(k===17){for($=b+3;u<$;){if(o===0)break e;o--,c+=n[s++]<<u,u+=8}c>>>=b,u-=b,v=0,h=3+(c&7),c>>>=3,u-=3}else{for($=b+7;u<$;){if(o===0)break e;o--,c+=n[s++]<<u,u+=8}c>>>=b,u-=b,v=0,h=11+(c&127),c>>>=7,u-=7}if(t.have+h>t.nlen+t.ndist){r.msg="invalid bit length repeat",t.mode=ut;break}for(;h--;)t.lens[t.have++]=v}}if(t.mode===ut)break;if(t.lens[256]===0){r.msg="invalid code -- missing end-of-block",t.mode=ut;break}if(t.lenbits=9,R={bits:t.lenbits},x=ou(IS,t.lens,0,t.nlen,t.lencode,0,t.work,R),t.lenbits=R.bits,x){r.msg="invalid literal/lengths set",t.mode=ut;break}if(t.distbits=6,t.distcode=t.distdyn,R={bits:t.distbits},x=ou(FS,t.lens,t.nlen,t.ndist,t.distcode,0,t.work,R),t.distbits=R.bits,x){r.msg="invalid distances set",t.mode=ut;break}if(t.mode=Ud,e===Bd)break e;case Ud:t.mode=Hd;case Hd:if(o>=6&&l>=258){r.next_out=a,r.avail_out=l,r.next_in=s,r.avail_in=o,t.hold=c,t.bits=u,kD(r,d),a=r.next_out,i=r.output,l=r.avail_out,s=r.next_in,n=r.input,o=r.avail_in,c=t.hold,u=t.bits,t.mode===fs&&(t.back=-1);break}for(t.back=0;w=t.lencode[c&(1<<t.lenbits)-1],b=w>>>24,y=w>>>16&255,k=w&65535,!(b<=u);){if(o===0)break e;o--,c+=n[s++]<<u,u+=8}if(y&&(y&240)===0){for(C=b,S=y,A=k;w=t.lencode[A+((c&(1<<C+S)-1)>>C)],b=w>>>24,y=w>>>16&255,k=w&65535,!(C+b<=u);){if(o===0)break e;o--,c+=n[s++]<<u,u+=8}c>>>=C,u-=C,t.back+=C}if(c>>>=b,u-=b,t.back+=b,t.length=k,y===0){t.mode=AS;break}if(y&32){t.back=-1,t.mode=fs;break}if(y&64){r.msg="invalid literal/length code",t.mode=ut;break}t.extra=y&15,t.mode=ES;case ES:if(t.extra){for($=t.extra;u<$;){if(o===0)break e;o--,c+=n[s++]<<u,u+=8}t.length+=c&(1<<t.extra)-1,c>>>=t.extra,u-=t.extra,t.back+=t.extra}t.was=t.length,t.mode=SS;case SS:for(;w=t.distcode[c&(1<<t.distbits)-1],b=w>>>24,y=w>>>16&255,k=w&65535,!(b<=u);){if(o===0)break e;o--,c+=n[s++]<<u,u+=8}if((y&240)===0){for(C=b,S=y,A=k;w=t.distcode[A+((c&(1<<C+S)-1)>>C)],b=w>>>24,y=w>>>16&255,k=w&65535,!(C+b<=u);){if(o===0)break e;o--,c+=n[s++]<<u,u+=8}c>>>=C,u-=C,t.back+=C}if(c>>>=b,u-=b,t.back+=b,y&64){r.msg="invalid distance code",t.mode=ut;break}t.offset=k,t.extra=y&15,t.mode=kS;case kS:if(t.extra){for($=t.extra;u<$;){if(o===0)break e;o--,c+=n[s++]<<u,u+=8}t.offset+=c&(1<<t.extra)-1,c>>>=t.extra,u-=t.extra,t.back+=t.extra}if(t.offset>t.dmax){r.msg="invalid distance too far back",t.mode=ut;break}t.mode=CS;case CS:if(l===0)break e;if(h=d-l,t.offset>h){if(h=t.offset-h,h>t.whave&&t.sane){r.msg="invalid distance too far back",t.mode=ut;break}h>t.wnext?(h-=t.wnext,p=t.wsize-h):p=t.wnext-h,h>t.length&&(h=t.length),g=t.window}else g=i,p=a-t.offset,h=t.length;h>l&&(h=l),l-=h,t.length-=h;do i[a++]=g[p++];while(--h);t.length===0&&(t.mode=Hd);break;case AS:if(l===0)break e;i[a++]=t.length,l--,t.mode=Hd;break;case hw:if(t.wrap){for(;u<32;){if(o===0)break e;o--,c|=n[s++]<<u,u+=8}if(d-=l,r.total_out+=d,t.total+=d,d&&(r.adler=t.check=t.flags?Di(t.check,i,d,a-d):gw(t.check,i,d,a-d)),d=l,(t.flags?c:PS(c))!==t.check){r.msg="incorrect data check",t.mode=ut;break}c=0,u=0}t.mode=TS;case TS:if(t.wrap&&t.flags){for(;u<32;){if(o===0)break e;o--,c+=n[s++]<<u,u+=8}if(c!==(t.total&4294967295)){r.msg="incorrect length check",t.mode=ut;break}c=0,u=0}t.mode=RS;case RS:x=TD;break e;case ut:x=MS;break e;case vw:return ww;case $D:default:return Hn}return r.next_out=a,r.avail_out=l,r.next_in=s,r.avail_in=o,t.hold=c,t.bits=u,(t.wsize||d!==r.avail_out&&t.mode<ut&&(t.mode<hw||e!==oS))&&US(r,r.output,r.next_out,d-r.avail_out)?(t.mode=vw,ww):(f-=r.avail_in,d-=r.avail_out,r.total_in+=f,r.total_out+=d,t.total+=d,t.wrap&&d&&(r.adler=t.check=t.flags?Di(t.check,i,d,r.next_out-d):gw(t.check,i,d,r.next_out-d)),r.data_type=t.bits+(t.last?64:0)+(t.mode===fs?128:0)+(t.mode===Ud||t.mode===dw?256:0),(f===0&&d===0||e===oS)&&x===ja&&(x=PD),x)}function UD(r){if(!r||!r.state)return Hn;var e=r.state;return e.window&&(e.window=null),r.state=null,ja}function HD(r,e){var t;return!r||!r.state||(t=r.state,(t.wrap&2)===0)?Hn:(t.head=e,e.done=!1,ja)}function GD(r,e){var t=e.length,n,i,s;return!r||!r.state||(n=r.state,n.wrap!==0&&n.mode!==Gd)?Hn:n.mode===Gd&&(i=1,i=gw(i,e,t,0),i!==n.check)?MS:(s=US(r,e,t,t),s?(n.mode=vw,ww):(n.havedict=1,ja))}ai.inflateReset=LS;ai.inflateReset2=NS;ai.inflateResetKeep=DS;ai.inflateInit=LD;ai.inflateInit2=BS;ai.inflate=BD;ai.inflateEnd=UD;ai.inflateGetHeader=HD;ai.inflateSetDictionary=GD;ai.inflateInfo="pako inflate (from Nodeca project)"});var bw=B((kW,GS)=>{"use strict";m();GS.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 zS=B((AW,jS)=>{"use strict";m();function jD(){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}jS.exports=jD});var WS=B(cu=>{"use strict";m();var vl=HS(),lu=ls(),jd=iw(),Ct=bw(),yw=Pd(),zD=sw(),VD=zS(),VS=Object.prototype.toString;function za(r){if(!(this instanceof za))return new za(r);this.options=lu.assign({chunkSize:16384,windowBits:0,to:""},r||{});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&&!(r&&r.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 zD,this.strm.avail_out=0;var t=vl.inflateInit2(this.strm,e.windowBits);if(t!==Ct.Z_OK)throw new Error(yw[t]);if(this.header=new VD,vl.inflateGetHeader(this.strm,this.header),e.dictionary&&(typeof e.dictionary=="string"?e.dictionary=jd.string2buf(e.dictionary):VS.call(e.dictionary)==="[object ArrayBuffer]"&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(t=vl.inflateSetDictionary(this.strm,e.dictionary),t!==Ct.Z_OK)))throw new Error(yw[t])}za.prototype.push=function(r,e){var t=this.strm,n=this.options.chunkSize,i=this.options.dictionary,s,a,o,l,c,u=!1;if(this.ended)return!1;a=e===~~e?e:e===!0?Ct.Z_FINISH:Ct.Z_NO_FLUSH,typeof r=="string"?t.input=jd.binstring2buf(r):VS.call(r)==="[object ArrayBuffer]"?t.input=new Uint8Array(r):t.input=r,t.next_in=0,t.avail_in=t.input.length;do{if(t.avail_out===0&&(t.output=new lu.Buf8(n),t.next_out=0,t.avail_out=n),s=vl.inflate(t,Ct.Z_NO_FLUSH),s===Ct.Z_NEED_DICT&&i&&(s=vl.inflateSetDictionary(this.strm,i)),s===Ct.Z_BUF_ERROR&&u===!0&&(s=Ct.Z_OK,u=!1),s!==Ct.Z_STREAM_END&&s!==Ct.Z_OK)return this.onEnd(s),this.ended=!0,!1;t.next_out&&(t.avail_out===0||s===Ct.Z_STREAM_END||t.avail_in===0&&(a===Ct.Z_FINISH||a===Ct.Z_SYNC_FLUSH))&&(this.options.to==="string"?(o=jd.utf8border(t.output,t.next_out),l=t.next_out-o,c=jd.buf2string(t.output,o),t.next_out=l,t.avail_out=n-l,l&&lu.arraySet(t.output,t.output,o,l,0),this.onData(c)):this.onData(lu.shrinkBuf(t.output,t.next_out))),t.avail_in===0&&t.avail_out===0&&(u=!0)}while((t.avail_in>0||t.avail_out===0)&&s!==Ct.Z_STREAM_END);return s===Ct.Z_STREAM_END&&(a=Ct.Z_FINISH),a===Ct.Z_FINISH?(s=vl.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,s===Ct.Z_OK):(a===Ct.Z_SYNC_FLUSH&&(this.onEnd(Ct.Z_OK),t.avail_out=0),!0)};za.prototype.onData=function(r){this.chunks.push(r)};za.prototype.onEnd=function(r){r===Ct.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=lu.flattenChunks(this.chunks)),this.chunks=[],this.err=r,this.msg=this.strm.msg};function _w(r,e){var t=new za(e);if(t.push(r,!0),t.err)throw t.msg||yw[t.err];return t.result}function WD(r,e){return e=e||{},e.raw=!0,_w(r,e)}cu.Inflate=za;cu.inflate=_w;cu.inflateRaw=WD;cu.ungzip=_w});var xw=B(($W,YS)=>{"use strict";m();var qD=ls().assign,YD=XE(),ZD=WS(),KD=bw(),qS={};qD(qS,YD,ZD,KD);YS.exports=qS});var Ew=B((FW,KS)=>{"use strict";m();var ZS=(r,e)=>function(...t){let n=e.promiseModule;return new n((i,s)=>{e.multiArgs?t.push((...a)=>{e.errorFirst?a[0]?s(a):(a.shift(),i(a)):i(a)}):e.errorFirst?t.push((a,o)=>{a?s(a):i(o)}):t.push(i),r.apply(this,t)})};KS.exports=(r,e)=>{e=Object.assign({exclude:[/.+(Sync|Stream)$/],errorFirst:!0,promiseModule:Promise},e);let t=typeof r;if(!(r!==null&&(t==="object"||t==="function")))throw new TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${r===null?"null":t}\``);let n=s=>{let a=o=>typeof o=="string"?s===o:o.test(s);return e.include?e.include.some(a):!e.exclude.some(a)},i;t==="function"?i=function(...s){return e.excludeMain?r(...s):ZS(r,e).apply(this,s)}:i=Object.create(Object.getPrototypeOf(r));for(let s in r){let a=r[s];i[s]=typeof a=="function"&&n(s)?ZS(a,e):a}return i}});var Pw=B((OW,ik)=>{m();function XS(r){return Array.isArray(r)?r:[r]}var Cw="",QS=" ",Sw="\\",XD=/^\s+$/,QD=/(?:[^\\]|^)\\$/,JD=/^\\!/,eL=/^\\#/,tL=/\r?\n/g,rL=/^\.*\/|^\.+$/,kw="/",tk="node-ignore";typeof Symbol!="undefined"&&(tk=Symbol.for("node-ignore"));var JS=tk,nL=(r,e,t)=>Object.defineProperty(r,e,{value:t}),iL=/([0-z])-([0-z])/g,rk=()=>!1,sL=r=>r.replace(iL,(e,t,n)=>t.charCodeAt(0)<=n.charCodeAt(0)?e:Cw),aL=r=>{let{length:e}=r;return r.slice(0,e-e%2)},oL=[[/^\uFEFF/,()=>Cw],[/((?:\\\\)*?)(\\?\s+)$/,(r,e,t)=>e+(t.indexOf("\\")===0?QS:Cw)],[/(\\+?)\s/g,(r,e)=>{let{length:t}=e;return e.slice(0,t-t%2)+QS}],[/[\\$.|*+(){^]/g,r=>`\\${r}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(r,e,t)=>e+6<t.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(r,e,t)=>{let n=t.replace(/\\\*/g,"[^\\/]*");return e+n}],[/\\\\\\(?=[$.|*+(){^])/g,()=>Sw],[/\\\\/g,()=>Sw],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(r,e,t,n,i)=>e===Sw?`\\[${t}${aL(n)}${i}`:i==="]"&&n.length%2===0?`[${sL(t)}${n}]`:"[]"],[/(?:[^*])$/,r=>/\/$/.test(r)?`${r}$`:`${r}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(r,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`]],ek=Object.create(null),lL=(r,e)=>{let t=ek[r];return t||(t=oL.reduce((n,[i,s])=>n.replace(i,s.bind(r)),r),ek[r]=t),e?new RegExp(t,"i"):new RegExp(t)},Rw=r=>typeof r=="string",cL=r=>r&&Rw(r)&&!XD.test(r)&&!QD.test(r)&&r.indexOf("#")!==0,uL=r=>r.split(tL),Aw=class{constructor(e,t,n,i){this.origin=e,this.pattern=t,this.negative=n,this.regex=i}},fL=(r,e)=>{let t=r,n=!1;r.indexOf("!")===0&&(n=!0,r=r.substr(1)),r=r.replace(JD,"!").replace(eL,"#");let i=lL(r,e);return new Aw(t,r,n,i)},dL=(r,e)=>{throw new e(r)},ds=(r,e,t)=>Rw(r)?r?ds.isNotRelative(r)?t(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:t("path must not be empty",TypeError):t(`path must be a string, but got \`${e}\``,TypeError),nk=r=>rL.test(r);ds.isNotRelative=nk;ds.convert=r=>r;var Tw=class{constructor({ignorecase:e=!0,ignoreCase:t=e,allowRelativePaths:n=!1}={}){nL(this,JS,!0),this._rules=[],this._ignoreCase=t,this._allowRelativePaths=n,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[JS]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(cL(e)){let t=fL(e,this._ignoreCase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,XS(Rw(e)?uL(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,t){let n=!1,i=!1;return this._rules.forEach(s=>{let{negative:a}=s;if(i===a&&n!==i||a&&!n&&!i&&!t)return;s.regex.test(e)&&(n=!a,i=a)}),{ignored:n,unignored:i}}_test(e,t,n,i){let s=e&&ds.convert(e);return ds(s,e,this._allowRelativePaths?rk:dL),this._t(s,t,n,i)}_t(e,t,n,i){if(e in t)return t[e];if(i||(i=e.split(kw)),i.pop(),!i.length)return t[e]=this._testOne(e,n);let s=this._t(i.join(kw)+kw,t,n,i);return t[e]=s.ignored?s:this._testOne(e,n)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return XS(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},zd=r=>new Tw(r),hL=r=>ds(r&&ds.convert(r),r,rk);zd.isPathValid=hL;zd.default=zd;ik.exports=zd;if(typeof process!="undefined"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let r=t=>/^\\\\\?\\/.test(t)||/["<>|\u0000-\u001F]+/u.test(t)?t:t.replace(/\\/g,"/");ds.convert=r;let e=/^[a-z]:\//i;ds.isNotRelative=t=>e.test(t)||nk(t)}});var ak=B((LW,sk)=>{m();sk.exports=function(r,e){var t=r,n=e,i=t.length,s=n.length,a=!1,o=null,l=i+1,c=[],u=[],f=[],d="",h=-1,p=0,g=1,w,b,y=function(){i>=s&&(w=t,b=i,t=n,n=w,i=s,s=b,a=!0,l=i+1)},k=function(v,x,E){return{x:v,y:x,k:E}},C=function(v,x){return{elem:v,t:x}},S=function(v,x,E){var R,$,D;for(x>E?R=c[v-1+l]:R=c[v+1+l],D=Math.max(x,E),$=D-v;$<i&&D<s&&t[$]===n[D];)++$,++D;return c[v+l]=u.length,u[u.length]=new k($,D,R),D},A=function(v){var x,E,R,$,D;for(x=E=1,R=$=0,D=v.length-1;D>=0;--D)for(;R<v[D].x||$<v[D].y;)v[D].y-v[D].x>$-R?(a?f[f.length]=new C(n[$],h):f[f.length]=new C(n[$],g),++E,++$):v[D].y-v[D].x<$-R?(a?f[f.length]=new C(t[R],g):f[f.length]=new C(t[R],h),++x,++R):(f[f.length]=new C(t[R],p),d+=t[R],++x,++E,++R,++$)};return y(),{SES_DELETE:-1,SES_COMMON:0,SES_ADD:1,editdistance:function(){return o},getlcs:function(){return d},getses:function(){return f},compose:function(){var v,x,E,R,$,D,O,U;for(v=s-i,x=i+s+3,E={},O=0;O<x;++O)E[O]=-1,c[O]=-1;R=-1;do{for(++R,U=-R;U<=v-1;++U)E[U+l]=S(U,E[U-1+l]+1,E[U+1+l]);for(U=v+R;U>=v+1;--U)E[U+l]=S(U,E[U-1+l]+1,E[U+1+l]);E[v+l]=S(v,E[v-1+l]+1,E[v+1+l])}while(E[v+l]!==s);for(o=v+2*R,$=c[v+l],D=[];$!==-1;)D[D.length]=new k(u[$].x,u[$].y,null),$=u[$].k;A(D)}}}});var ck=B((BW,lk)=>{m();var pL=ak();function mL(r,e){var t=new pL(r,e);t.compose();for(var n=t.getses(),i,s,a=r.length-1,o=e.length-1,l=n.length-1;l>=0;--l)n[l].t===t.SES_COMMON?(s?(s.chain={file1index:a,file2index:o,chain:null},s=s.chain):(i={file1index:a,file2index:o,chain:null},s=i),a--,o--):n[l].t===t.SES_DELETE?a--:n[l].t===t.SES_ADD&&o--;var c={file1index:-1,file2index:-1,chain:null};return s?(s.chain=c,i):c}function ok(r,e){for(var t=[],n=r.length,i=e.length,s=mL(r,e);s!==null;s=s.chain){var a=n-s.file1index-1,o=i-s.file2index-1;n=s.file1index,i=s.file2index,(a||o)&&t.push({file1:[n+1,a],file2:[i+1,o]})}return t.reverse(),t}function gL(r,e,t){var n,i=ok(e,r),s=ok(e,t),a=[];function o(O,U){a.push([O.file1[0],U,O.file1[1],O.file2[0],O.file2[1]])}for(n=0;n<i.length;n++)o(i[n],0);for(n=0;n<s.length;n++)o(s[n],2);a.sort(function(O,U){return O[0]-U[0]});var l=[],c=0;function u(O){O>c&&(l.push([1,c,O-c]),c=O)}for(var f=0;f<a.length;f++){for(var d=f,h=a[f],p=h[0],g=p+h[2];f<a.length-1;){var w=a[f+1],b=w[0];if(b>g)break;g=Math.max(g,b+w[2]),f++}if(u(p),d==f)h[4]>0&&l.push([h[1],h[3],h[4]]);else{var y={0:[r.length,-1,e.length,-1],2:[t.length,-1,e.length,-1]};for(n=d;n<=f;n++){h=a[n];var k=h[1],C=y[k],S=h[0],A=S+h[2],v=h[3],x=v+h[4];C[0]=Math.min(v,C[0]),C[1]=Math.max(x,C[1]),C[2]=Math.min(S,C[2]),C[3]=Math.max(A,C[3])}var E=y[0][0]+(p-y[0][2]),R=y[0][1]+(g-y[0][3]),$=y[2][0]+(p-y[2][2]),D=y[2][1]+(g-y[2][3]);l.push([-1,E,R-E,p,g-p,$,D-$])}c=g}return u(e.length),l}function wL(r,e,t){var n=[],i=[r,e,t],s=gL(r,e,t),a=[];function o(){a.length&&n.push({ok:a}),a=[]}function l(h){for(var p=0;p<h.length;p++)a.push(h[p])}function c(h){if(h[2]!=h[6])return!0;for(var p=h[1],g=h[5],w=0;w<h[2];w++)if(r[w+p]!=t[w+g])return!0;return!1}for(var u=0;u<s.length;u++){var f=s[u],d=f[0];d==-1?c(f)?(o(),n.push({conflict:{a:r.slice(f[1],f[1]+f[2]),aIndex:f[1],o:e.slice(f[3],f[3]+f[4]),oIndex:f[3],b:t.slice(f[5],f[5]+f[6]),bIndex:f[5]}})):l(i[0].slice(f[1],f[1]+f[2])):l(i[d].slice(f[1],f[1]+f[2]))}return o(),n}lk.exports=wL});var qC=B((yq,WC)=>{"use strict";m();WC.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 ZC=B((xq,YC)=>{m();var Yv={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}};YC.exports=function(r,e,t,n){if(!Yv.hasOwnProperty(t))throw new Error("Cannot convert to "+t);if(!Yv[t].hasOwnProperty(e))throw new Error("Cannot convert from "+e+" to "+t);var i=Yv[t][e]*r;return n!==!1?(n=Math.pow(10,parseInt(n)||5),Math.round(i*n)/n):i}});var cA=B(ms=>{"use strict";m();Object.defineProperty(ms,"__esModule",{value:!0});ms.fromRgba=Il;ms.fromRgb=Zv;ms.fromHsla=bh;ms.fromHsl=oA;ms.fromString=lA;ms.default=void 0;var KC=JC(qC()),p8=JC(ZC());function JC(r){return r&&r.__esModule?r:{default:r}}function m8(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function XC(r,e){for(var t=0;t<e.length;t++){var n=e[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(r,n.key,n)}}function g8(r,e,t){return e&&XC(r.prototype,e),t&&XC(r,t),r}function Tr(r,e){return y8(r)||b8(r,e)||v8(r,e)||w8()}function w8(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function v8(r,e){if(r){if(typeof r=="string")return QC(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);if(t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set")return Array.from(r);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return QC(r,e)}}function QC(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=new Array(e);t<e;t++)n[t]=r[t];return n}function b8(r,e){if(!(typeof Symbol=="undefined"||!(Symbol.iterator in Object(r)))){var t=[],n=!0,i=!1,s=void 0;try{for(var a=r[Symbol.iterator](),o;!(n=(o=a.next()).done)&&(t.push(o.value),!(e&&t.length===e));n=!0);}catch(l){i=!0,s=l}finally{try{!n&&a.return!=null&&a.return()}finally{if(i)throw s}}return t}}function y8(r){if(Array.isArray(r))return r}var eA=/^#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})?$/,tA=/^#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])?$/,rA=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)(?:\s*,\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,nA=/^rgba?\(\s*(\d+)\s+(\d+)\s+(\d+)(?:\s*\/\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,iA=/^rgba?\(\s*(\d+%)\s*,\s*(\d+%)\s*,\s*(\d+%)(?:\s*,\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,sA=/^rgba?\(\s*(\d+%)\s+(\d+%)\s+(\d+%)(?:\s*\/\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,aA=/^hsla?\(\s*(\d+)(deg|rad|grad|turn)?\s*,\s*(\d+)%\s*,\s*(\d+)%(?:\s*,\s*(0|1|0?\.\d+|\d+%))?\s*\)$/;function Hu(r,e){return r.indexOf(e)>-1}function _8(r,e,t){var n=r/255,i=e/255,s=t/255,a=Math.max(n,i,s),o=Math.min(n,i,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 n:return(i-s)/l%6;case i:return(s-n)/l+2;default:return(n-i)/l+4}})();return[f*60,u*100,c*100]}function x8(r,e,t){var n=r/60,i=e/100,s=t/100,a=(1-Math.abs(2*s-1))*i,o=a*(1-Math.abs(n%2-1)),l=s-a/2,c=(function(){return n<1?[a,o,0]:n<2?[o,a,0]:n<3?[0,a,o]:n<4?[0,o,a]:n<5?[o,0,a]:[a,0,o]})(),u=Tr(c,3),f=u[0],d=u[1],h=u[2];return[(f+l)*255,(d+l)*255,(h+l)*255]}var E8=(function(){function r(e){var t=Tr(e,4),n=t[0],i=t[1],s=t[2],a=t[3];m8(this,r),this.values=[Math.max(Math.min(parseInt(n,10),255),0),Math.max(Math.min(parseInt(i,10),255),0),Math.max(Math.min(parseInt(s,10),255),0),a==null?1:Math.max(Math.min(parseFloat(a),255),0)]}return g8(r,[{key:"toRgbString",value:function(){var t=Tr(this.values,4),n=t[0],i=t[1],s=t[2],a=t[3];return a===1?"rgb(".concat(n,", ").concat(i,", ").concat(s,")"):"rgba(".concat(n,", ").concat(i,", ").concat(s,", ").concat(a,")")}},{key:"toHslString",value:function(){var t=this.toHslaArray(),n=Tr(t,4),i=n[0],s=n[1],a=n[2],o=n[3];return o===1?"hsl(".concat(i,", ").concat(s,"%, ").concat(a,"%)"):"hsla(".concat(i,", ").concat(s,"%, ").concat(a,"%, ").concat(o,")")}},{key:"toHexString",value:function(){var t=Tr(this.values,4),n=t[0],i=t[1],s=t[2],a=t[3];return n=Number(n).toString(16).padStart(2,"0"),i=Number(i).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(n).concat(i).concat(s).concat(a)}},{key:"toRgbaArray",value:function(){return this.values}},{key:"toHslaArray",value:function(){var t=Tr(this.values,4),n=t[0],i=t[1],s=t[2],a=t[3],o=_8(n,i,s),l=Tr(o,3),c=l[0],u=l[1],f=l[2];return[c,u,f,a]}}]),r})();function Il(r){var e=Tr(r,4),t=e[0],n=e[1],i=e[2],s=e[3];return new E8([t,n,i,s])}function Zv(r){var e=Tr(r,3),t=e[0],n=e[1],i=e[2];return Il([t,n,i,1])}function bh(r){var e=Tr(r,4),t=e[0],n=e[1],i=e[2],s=e[3],a=x8(t,n,i),o=Tr(a,3),l=o[0],c=o[1],u=o[2];return Il([l,c,u,s])}function oA(r){var e=Tr(r,3),t=e[0],n=e[1],i=e[2];return bh([t,n,i,1])}function S8(r){var e=eA.exec(r)||tA.exec(r),t=Tr(e,5),n=t[1],i=t[2],s=t[3],a=t[4];return n=parseInt(n.length<2?n.repeat(2):n,16),i=parseInt(i.length<2?i.repeat(2):i,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,Il([n,i,s,a])}function k8(r){var e=rA.exec(r)||iA.exec(r)||nA.exec(r)||sA.exec(r),t=Tr(e,5),n=t[1],i=t[2],s=t[3],a=t[4];return n=Hu(n,"%")?parseInt(n,10)*255/100:parseInt(n,10),i=Hu(i,"%")?parseInt(i,10)*255/100:parseInt(i,10),s=Hu(s,"%")>0?parseInt(s,10)*255/100:parseInt(s,10),a=a===void 0?1:parseFloat(a)/(Hu(a,"%")?100:1),Il([n,i,s,a])}function C8(r){var e=aA.exec(r),t=Tr(e,6),n=t[1],i=t[2],s=t[3],a=t[4],o=t[5];return i=i||"deg",n=(0,p8.default)(parseFloat(n),i,"deg"),s=parseFloat(s),a=parseFloat(a),o=o===void 0?1:parseFloat(o)/(Hu(o,"%")?100:1),bh([n,s,a,o])}function lA(r){return KC.default[r]?Zv(KC.default[r]):eA.test(r)||tA.test(r)?S8(r):rA.test(r)||iA.test(r)||nA.test(r)||sA.test(r)?k8(r):aA.test(r)?C8(r):null}var A8={fromString:lA,fromRgb:Zv,fromRgba:Il,fromHsl:oA,fromHsla:bh};ms.default=A8});var yA=B((Mq,bA)=>{m();bA.exports=function(r,e){var t=r,n=e,i=t.length,s=n.length,a=!1,o=i+1,l=[],c=[],u,f,d=function(){i>=s&&(u=t,f=i,t=n,n=u,i=s,s=f,a=!0,o=i+1)},h=function(g,w,b,y,k){return{startX:g,startY:w,endX:b,endY:y,r:k}},p=function(g,w,b){var y,k,C,S,A;for(w>b?y=l[g-1+o]:y=l[g+1+o],A=C=Math.max(w,b),S=k=C-g;k<i&&C<s&&t[k]===n[C];)++k,++C;return S==k&&A==C?l[g+o]=y:(l[g+o]=c.length,c[c.length]=new h(S,A,k,C,y)),C};return d(),{compose:function(){var g,w,b,y,k,C,S,A,v,x;for(g=s-i,w=i+s+3,b={},C=0;C<w;++C)b[C]=-1,l[C]=-1;y=-1;do{for(++y,S=-y;S<=g-1;++S)b[S+o]=p(S,b[S-1+o]+1,b[S+1+o]);for(S=g+y;S>=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*y,k=l[g+o],A=i,v=s,x=[];k!==-1;){let E=c[k];(i!=E.endX||s!=E.endY)&&x.push({file1:[a?E.endY:E.endX,a?v-E.endY:A-E.endX],file2:[a?E.endX:E.endY,a?A-E.endX:v-E.endY]}),A=E.startX,v=E.startY,k=c[k].r}return(A!=0||v!=0)&&x.push({file1:[0,a?v:A],file2:[0,a?A:v]}),x.reverse(),x}}}});var EA=B((Dq,xA)=>{m();var _A=yA();function P8(r,e,t){var n,i=new _A(e,r).compose(),s=new _A(e,t).compose(),a=[];function o(O,U){a.push([O.file1[0],U,O.file1[1],O.file2[0],O.file2[1]])}for(n=0;n<i.length;n++)o(i[n],0);for(n=0;n<s.length;n++)o(s[n],2);a.sort(function(O,U){return O[0]-U[0]});var l=[],c=0;function u(O){O>c&&(l.push([1,c,O-c]),c=O)}for(var f=0;f<a.length;f++){for(var d=f,h=a[f],p=h[0],g=p+h[2];f<a.length-1;){var w=a[f+1],b=w[0];if(b>g)break;g=Math.max(g,b+w[2]),f++}if(u(p),d==f)h[4]>0&&l.push([h[1],h[3],h[4]]);else{var y={0:[r.length,-1,e.length,-1],2:[t.length,-1,e.length,-1]};for(n=d;n<=f;n++){h=a[n];var k=h[1],C=y[k],S=h[0],A=S+h[2],v=h[3],x=v+h[4];C[0]=Math.min(v,C[0]),C[1]=Math.max(x,C[1]),C[2]=Math.min(S,C[2]),C[3]=Math.max(A,C[3])}var E=y[0][0]+(p-y[0][2]),R=y[0][1]+(g-y[0][3]),$=y[2][0]+(p-y[2][2]),D=y[2][1]+(g-y[2][3]);l.push([-1,E,R-E,p,g-p,$,D-$])}c=g}return u(e.length),l}function $8(r,e,t){var n=[],i=[r,e,t],s=P8(r,e,t),a=[];function o(){a.length&&n.push({ok:a}),a=[]}function l(h){for(var p=0;p<h.length;p++)a.push(h[p])}function c(h){if(h[2]!=h[6])return!0;for(var p=h[1],g=h[5],w=0;w<h[2];w++)if(r[w+p]!=t[w+g])return!0;return!1}for(var u=0;u<s.length;u++){var f=s[u],d=f[0];d==-1?c(f)?(o(),n.push({conflict:{a:r.slice(f[1],f[1]+f[2]),aIndex:f[1],o:e.slice(f[3],f[3]+f[4]),oIndex:f[3],b:t.slice(f[5],f[5]+f[6]),bIndex:f[5]}})):l(i[0].slice(f[1],f[1]+f[2])):l(i[d].slice(f[1],f[1]+f[2]))}return o(),n}xA.exports=$8});var CA=B((Zq,kA)=>{m();var Dl=1e3,Ll=Dl*60,Nl=Ll*60,io=Nl*24,O8=io*7,D8=io*365.25;kA.exports=function(r,e){e=e||{};var t=typeof r;if(t==="string"&&r.length>0)return L8(r);if(t==="number"&&isFinite(r))return e.long?B8(r):N8(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function L8(r){if(r=String(r),!(r.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(r);if(e){var t=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return t*D8;case"weeks":case"week":case"w":return t*O8;case"days":case"day":case"d":return t*io;case"hours":case"hour":case"hrs":case"hr":case"h":return t*Nl;case"minutes":case"minute":case"mins":case"min":case"m":return t*Ll;case"seconds":case"second":case"secs":case"sec":case"s":return t*Dl;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function N8(r){var e=Math.abs(r);return e>=io?Math.round(r/io)+"d":e>=Nl?Math.round(r/Nl)+"h":e>=Ll?Math.round(r/Ll)+"m":e>=Dl?Math.round(r/Dl)+"s":r+"ms"}function B8(r){var e=Math.abs(r);return e>=io?Sh(r,e,io,"day"):e>=Nl?Sh(r,e,Nl,"hour"):e>=Ll?Sh(r,e,Ll,"minute"):e>=Dl?Sh(r,e,Dl,"second"):r+" ms"}function Sh(r,e,t,n){var i=e>=t*1.5;return Math.round(r/t)+" "+n+(i?"s":"")}});var TA=B((Xq,AA)=>{m();function U8(r){t.debug=t,t.default=t,t.coerce=l,t.disable=a,t.enable=i,t.enabled=o,t.humanize=CA(),t.destroy=c,Object.keys(r).forEach(u=>{t[u]=r[u]}),t.names=[],t.skips=[],t.formatters={};function e(u){let f=0;for(let d=0;d<u.length;d++)f=(f<<5)-f+u.charCodeAt(d),f|=0;return t.colors[Math.abs(f)%t.colors.length]}t.selectColor=e;function t(u){let f,d=null,h,p;function g(...w){if(!g.enabled)return;let b=g,y=Number(new Date),k=y-(f||y);b.diff=k,b.prev=f,b.curr=y,f=y,w[0]=t.coerce(w[0]),typeof w[0]!="string"&&w.unshift("%O");let C=0;w[0]=w[0].replace(/%([a-zA-Z%])/g,(A,v)=>{if(A==="%%")return"%";C++;let x=t.formatters[v];if(typeof x=="function"){let E=w[C];A=x.call(b,E),w.splice(C,1),C--}return A}),t.formatArgs.call(b,w),(b.log||t.log).apply(b,w)}return g.namespace=u,g.useColors=t.useColors(),g.color=t.selectColor(u),g.extend=n,g.destroy=t.destroy,Object.defineProperty(g,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(h!==t.namespaces&&(h=t.namespaces,p=t.enabled(u)),p),set:w=>{d=w}}),typeof t.init=="function"&&t.init(g),g}function n(u,f){let d=t(this.namespace+(typeof f=="undefined"?":":f)+u);return d.log=this.log,d}function i(u){t.save(u),t.namespaces=u,t.names=[],t.skips=[];let f=(typeof u=="string"?u:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let d of f)d[0]==="-"?t.skips.push(d.slice(1)):t.names.push(d)}function s(u,f){let d=0,h=0,p=-1,g=0;for(;d<u.length;)if(h<f.length&&(f[h]===u[d]||f[h]==="*"))f[h]==="*"?(p=h,g=d,h++):(d++,h++);else if(p!==-1)h=p+1,g++,d=g;else return!1;for(;h<f.length&&f[h]==="*";)h++;return h===f.length}function a(){let u=[...t.names,...t.skips.map(f=>"-"+f)].join(",");return t.enable(""),u}function o(u){for(let f of t.skips)if(s(u,f))return!1;for(let f of t.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 t.enable(t.load()),t}AA.exports=U8});var Ch=B((Zr,kh)=>{m();Zr.formatArgs=G8;Zr.save=j8;Zr.load=z8;Zr.useColors=H8;Zr.storage=V8();Zr.destroy=(()=>{let r=!1;return()=>{r||(r=!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`."))}})();Zr.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 H8(){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 r;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&&(r=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(r[1],10)>=31||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function G8(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+kh.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;r.splice(1,0,e,"color: inherit");let t=0,n=0;r[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(t++,i==="%c"&&(n=t))}),r.splice(n,0,e)}Zr.log=console.debug||console.log||(()=>{});function j8(r){try{r?Zr.storage.setItem("debug",r):Zr.storage.removeItem("debug")}catch(e){}}function z8(){let r;try{r=Zr.storage.getItem("debug")||Zr.storage.getItem("DEBUG")}catch(e){}return!r&&typeof process!="undefined"&&"env"in process&&(r=process.env.DEBUG),r}function V8(){try{return localStorage}catch(r){}}kh.exports=TA()(Zr);var{formatters:W8}=kh.exports;W8.j=function(r){try{return JSON.stringify(r)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var RA=B(yn=>{"use strict";m();var q8=yn&&yn.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(yn,"__esModule",{value:!0});var Y8=require("fs"),Z8=q8(Ch()),Ul=Z8.default("@kwsites/file-exists");function K8(r,e,t){Ul("checking %s",r);try{let n=Y8.statSync(r);return n.isFile()&&e?(Ul("[OK] path represents a file"),!0):n.isDirectory()&&t?(Ul("[OK] path represents a directory"),!0):(Ul("[FAIL] path represents something other than a file or directory"),!1)}catch(n){if(n.code==="ENOENT")return Ul("[FAIL] path is not accessible: %o",n),!1;throw Ul("[FATAL] %o",n),n}}function X8(r,e=yn.READABLE){return K8(r,(e&yn.FILE)>0,(e&yn.FOLDER)>0)}yn.exists=X8;yn.FILE=1;yn.FOLDER=2;yn.READABLE=yn.FILE+yn.FOLDER});var PA=B(Ah=>{"use strict";m();function Q8(r){for(var e in r)Ah.hasOwnProperty(e)||(Ah[e]=r[e])}Object.defineProperty(Ah,"__esModule",{value:!0});Q8(RA())});var $A=B(so=>{"use strict";m();Object.defineProperty(so,"__esModule",{value:!0});so.createDeferred=so.deferred=void 0;function r0(){let r,e,t="pending";return{promise:new Promise((i,s)=>{r=i,e=s}),done(i){t==="pending"&&(t="resolved",r(i))},fail(i){t==="pending"&&(t="rejected",e(i))},get fulfilled(){return t!=="pending"},get status(){return t}}}so.deferred=r0;so.createDeferred=r0;so.default=r0});var TR=B(Tb=>{m();(function(r){var e=/\S/,t=/\"/g,n=/\n/g,i=/\r/g,s=/\\/g,a=/\u2028/,o=/\u2029/;r.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},r.scan=function(x,E){var R=x.length,$=0,D=1,O=2,U=$,me=null,Ne=null,Re="",be=[],ye=!1,ae=0,W=0,te="{{",H="}}";function St(){Re.length>0&&(be.push({tag:"_t",text:new String(Re)}),Re="")}function st(){for(var kt=!0,Kt=W;Kt<be.length;Kt++)if(kt=r.tags[be[Kt].tag]<r.tags._v||be[Kt].tag=="_t"&&be[Kt].text.match(e)===null,!kt)return!1;return kt}function Bt(kt,Kt){if(St(),kt&&st())for(var Nr=W,Br;Nr<be.length;Nr++)be[Nr].text&&((Br=be[Nr+1])&&Br.tag==">"&&(Br.indent=be[Nr].text.toString()),be.splice(Nr,1));else Kt||be.push({tag:`
|
|
`});ye=!1,W=be.length}function Ze(kt,Kt){var Nr="="+H,Br=kt.indexOf(Nr,Kt),ke=c(kt.substring(kt.indexOf("=",Kt)+1,Br)).split(" ");return te=ke[0],H=ke[ke.length-1],Br+Nr.length-1}for(E&&(E=E.split(" "),te=E[0],H=E[1]),ae=0;ae<R;ae++)U==$?u(te,x,ae)?(--ae,St(),U=D):x.charAt(ae)==`
|
|
`?Bt(ye):Re+=x.charAt(ae):U==D?(ae+=te.length-1,Ne=r.tags[x.charAt(ae+1)],me=Ne?x.charAt(ae+1):"_v",me=="="?(ae=Ze(x,ae),U=$):(Ne&&ae++,U=O),ye=ae):u(H,x,ae)?(be.push({tag:me,n:c(Re),otag:te,ctag:H,i:me=="/"?ye-te.length:ae+H.length}),Re="",ae+=H.length-1,U=$,me=="{"&&(H=="}}"?ae++:l(be[be.length-1]))):Re+=x.charAt(ae);return Bt(ye,!0),be};function l(v){v.n.substr(v.n.length-1)==="}"&&(v.n=v.n.substring(0,v.n.length-1))}function c(v){return v.trim?v.trim():v.replace(/^\s*|\s*$/g,"")}function u(v,x,E){if(x.charAt(E)!=v.charAt(0))return!1;for(var R=1,$=v.length;R<$;R++)if(x.charAt(E+R)!=v.charAt(R))return!1;return!0}var f={_t:!0,"\n":!0,$:!0,"/":!0};function d(v,x,E,R){var $=[],D=null,O=null,U=null;for(O=E[E.length-1];v.length>0;){if(U=v.shift(),O&&O.tag=="<"&&!(U.tag in f))throw new Error("Illegal content in < super tag.");if(r.tags[U.tag]<=r.tags.$||h(U,R))E.push(U),U.nodes=d(v,U.tag,E,R);else if(U.tag=="/"){if(E.length===0)throw new Error("Closing tag without opener: /"+U.n);if(D=E.pop(),U.n!=D.n&&!p(U.n,D.n,R))throw new Error("Nesting error: "+D.n+" vs. "+U.n);return D.end=U.i,$}else U.tag==`
|
|
`&&(U.last=v.length==0||v[0].tag==`
|
|
`);$.push(U)}if(E.length>0)throw new Error("missing closing tag: "+E.pop().n);return $}function h(v,x){for(var E=0,R=x.length;E<R;E++)if(x[E].o==v.n)return v.tag="#",!0}function p(v,x,E){for(var R=0,$=E.length;R<$;R++)if(E[R].c==v&&E[R].o==x)return!0}function g(v){var x=[];for(var E in v)x.push('"'+y(E)+'": function(c,p,t,i) {'+v[E]+"}");return"{ "+x.join(",")+" }"}function w(v){var x=[];for(var E in v.partials)x.push('"'+y(E)+'":{name:"'+y(v.partials[E].name)+'", '+w(v.partials[E])+"}");return"partials: {"+x.join(",")+"}, subs: "+g(v.subs)}r.stringify=function(v,x,E){return"{code: function (c,p,i) { "+r.wrapMain(v.code)+" },"+w(v)+"}"};var b=0;r.generate=function(v,x,E){b=0;var R={code:"",subs:{},partials:{}};return r.walk(v,R),E.asString?this.stringify(R,x,E):this.makeTemplate(R,x,E)},r.wrapMain=function(v){return'var t=this;t.b(i=i||"");'+v+"return t.fl();"},r.template=r.Template,r.makeTemplate=function(v,x,E){var R=this.makePartials(v);return R.code=new Function("c","p","i",this.wrapMain(v.code)),new this.template(R,x,this,E)},r.makePartials=function(v){var x,E={subs:{},partials:v.partials,name:v.name};for(x in E.partials)E.partials[x]=this.makePartials(E.partials[x]);for(x in v.subs)E.subs[x]=new Function("c","p","t","i",v.subs[x]);return E};function y(v){return v.replace(s,"\\\\").replace(t,'\\"').replace(n,"\\n").replace(i,"\\r").replace(a,"\\u2028").replace(o,"\\u2029")}function k(v){return~v.indexOf(".")?"d":"f"}function C(v,x){var E="<"+(x.prefix||""),R=E+v.n+b++;return x.partials[R]={name:v.n,partials:{}},x.code+='t.b(t.rp("'+y(R)+'",c,p,"'+(v.indent||"")+'"));',R}r.codegen={"#":function(v,x){x.code+="if(t.s(t."+k(v.n)+'("'+y(v.n)+'",c,p,1),c,p,0,'+v.i+","+v.end+',"'+v.otag+" "+v.ctag+'")){t.rs(c,p,function(c,p,t){',r.walk(v.nodes,x),x.code+="});c.pop();}"},"^":function(v,x){x.code+="if(!t.s(t."+k(v.n)+'("'+y(v.n)+'",c,p,1),c,p,1,0,0,"")){',r.walk(v.nodes,x),x.code+="};"},">":C,"<":function(v,x){var E={partials:{},code:"",subs:{},inPartial:!0};r.walk(v.nodes,E);var R=x.partials[C(v,x)];R.subs=E.subs,R.partials=E.partials},$:function(v,x){var E={subs:{},code:"",partials:x.partials,prefix:v.n};r.walk(v.nodes,E),x.subs[v.n]=E.code,x.inPartial||(x.code+='t.sub("'+y(v.n)+'",c,p,i);')},"\n":function(v,x){x.code+=A('"\\n"'+(v.last?"":" + i"))},_v:function(v,x){x.code+="t.b(t.v(t."+k(v.n)+'("'+y(v.n)+'",c,p,0)));'},_t:function(v,x){x.code+=A('"'+y(v.text)+'"')},"{":S,"&":S};function S(v,x){x.code+="t.b(t.t(t."+k(v.n)+'("'+y(v.n)+'",c,p,0)));'}function A(v){return"t.b("+v+");"}r.walk=function(v,x){for(var E,R=0,$=v.length;R<$;R++)E=r.codegen[v[R].tag],E&&E(v[R],x);return x},r.parse=function(v,x,E){return E=E||{},d(v,"",[],E.sectionTags||[])},r.cache={},r.cacheKey=function(v,x){return[v,!!x.asString,!!x.disableLambda,x.delimiters,!!x.modelGet].join("||")},r.compile=function(v,x){x=x||{};var E=r.cacheKey(v,x),R=this.cache[E];if(R){var $=R.partials;for(var D in $)delete $[D].instance;return R}return R=this.generate(this.parse(this.scan(v,x.delimiters),v,x),v,x),this.cache[E]=R}})(typeof Tb!="undefined"?Tb:Hogan)});var RR=B(Rb=>{m();var sG={};(function(r){r.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=""},r.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=t(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 w=this.ep(d,p);return w?w.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 w=0;w<g.length;w++)d.push(g[w]),p(d,h,this),d.pop()},s:function(d,h,p,g,w,b,y){var k;return f(d)&&d.length===0?!1:(typeof d=="function"&&(d=this.ms(d,h,p,g,w,b,y)),k=!!d,!g&&k&&h&&h.push(typeof d=="object"?d:h[h.length-1]),k)},d:function(d,h,p,g){var w,b=d.split("."),y=this.f(b[0],h,p,g),k=this.options.modelGet,C=null;if(d==="."&&f(h[h.length-2]))y=h[h.length-1];else for(var S=1;S<b.length;S++)w=e(b[S],y,k),w!==void 0?(C=y,y=w):y="";return g&&!y?!1:(!g&&typeof y=="function"&&(h.push(C),y=this.mv(y,h,p),h.pop()),y)},f:function(d,h,p,g){for(var w=!1,b=null,y=!1,k=this.options.modelGet,C=h.length-1;C>=0;C--)if(b=h[C],w=e(d,b,k),w!==void 0){y=!0;break}return y?(!g&&typeof w=="function"&&(w=this.mv(w,h,p)),w):g?!1:""},ls:function(d,h,p,g,w,b){var y=this.options.delimiters;return this.options.delimiters=b,this.b(this.ct(c(d.call(h,w,p)),h,g)),this.options.delimiters=y,!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,w,b,y){var k,C=h[h.length-1],S=d.call(C);return typeof S=="function"?g?!0:(k=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(S,C,h,p,k.substring(w,b),y)):S},mv:function(d,h,p){var g=h[h.length-1],w=d.call(g);return typeof w=="function"?this.ct(c(w.call(g)),g,p):w},sub:function(d,h,p,g){var w=this.subs[d];w&&(this.activeSub=d,w(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 t(d,h,p,g,w,b){function y(){}y.prototype=d;function k(){}k.prototype=d.subs;var C,S=new y;S.subs=new k,S.subsText={},S.buf="",g=g||{},S.stackSubs=g,S.subsText=b;for(C in h)g[C]||(g[C]=h[C]);for(C in g)S.subs[C]=g[C];w=w||{},S.stackPartials=w;for(C in p)w[C]||(w[C]=p[C]);for(C in w)S.partials[C]=w[C];return S}var n=/&/g,i=/</g,s=/>/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(n,"&").replace(i,"<").replace(s,">").replace(a,"'").replace(o,"""):d}var f=Array.isArray||function(d){return Object.prototype.toString.call(d)==="[object Array]"}})(typeof Rb!="undefined"?Rb:sG)});var Pb=B((dK,PR)=>{m();var Tp=TR();Tp.Template=RR().Template;Tp.template=Tp.Template;PR.exports=Tp});var FR=B(Zn=>{"use strict";m();Object.defineProperty(Zn,"__esModule",{value:!0});Zn.ColorSchemeType=Zn.DiffStyleType=Zn.LineMatchingType=Zn.OutputFormatType=Zn.LineType=void 0;var $R;(function(r){r.INSERT="insert",r.DELETE="delete",r.CONTEXT="context"})($R||(Zn.LineType=$R={}));Zn.OutputFormatType={LINE_BY_LINE:"line-by-line",SIDE_BY_SIDE:"side-by-side"};Zn.LineMatchingType={LINES:"lines",WORDS:"words",NONE:"none"};Zn.DiffStyleType={WORD:"word",CHAR:"char"};var IR;(function(r){r.AUTO="auto",r.DARK="dark",r.LIGHT="light"})(IR||(Zn.ColorSchemeType=IR={}))});var Nz={};RI(Nz,{default:()=>jm});module.exports=PI(Nz);m();m();var ev=Ke(Lg(),1),Dk=Ke(Ng(),1),qa=Ke(Bg(),1),Lk=Ke(Hg(),1),nh=Ke(xw(),1),du=Ke(Ew(),1),Nk=Ke(Pw(),1),Bk=Ke(ck(),1),Ae=class r 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 t=new r(e.message);return t.code=e.code,t.data=e.data,t.caller=e.caller,t.stack=e.stack,t}get isIsomorphicGitError(){return!0}},hu=class r extends Ae{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=r.code,this.data={filepaths:e}}};hu.code="UnmergedPathsError";var ue=class r extends Ae{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=r.code,this.data={message:e}}};ue.code="InternalError";var Ya=class r extends Ae{constructor(e){super(`The filepath "${e}" contains unsafe character sequences`),this.code=this.name=r.code,this.data={filepath:e}}};Ya.code="UnsafeFilepathError";var oi=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 t=this.buffer.slice(this._start,this._start+e);return this._start+=e,t}toString(e,t){let n=this.buffer.toString(e,this._start,this._start+t);return this._start+=t,n}write(e,t,n){let i=this.buffer.write(e,this._start,t,n);return this._start+=t,i}copy(e,t,n){let i=e.copy(this.buffer,this._start,t,n);return this._start+=i,i}readUInt8(){let e=this.buffer.readUInt8(this._start);return this._start+=1,e}writeUInt8(e){let t=this.buffer.writeUInt8(e,this._start);return this._start+=1,t}readUInt16BE(){let e=this.buffer.readUInt16BE(this._start);return this._start+=2,e}writeUInt16BE(e){let t=this.buffer.writeUInt16BE(e,this._start);return this._start+=2,t}readUInt32BE(){let e=this.buffer.readUInt32BE(this._start);return this._start+=4,e}writeUInt32BE(e){let t=this.buffer.writeUInt32BE(e,this._start);return this._start+=4,t}};function ih(r,e){return-(r<e)||+(r>e)}function Uk(r,e){return ih(r.path,e.path)}function Hk(r){let e=r>0?r>>12:0;e!==4&&e!==8&&e!==10&&e!==14&&(e=8);let t=r&511;return t&73?t=493:t=420,e!==8&&(t=0),(e<<12)+t}var Li=2**32;function uk(r,e,t,n){if(r!==void 0&&e!==void 0)return[r,e];t===void 0&&(t=n.valueOf());let i=Math.floor(t/1e3),s=(t-i*1e3)*1e6;return[i,s]}function yl(r){let[e,t]=uk(r.ctimeSeconds,r.ctimeNanoseconds,r.ctimeMs,r.ctime),[n,i]=uk(r.mtimeSeconds,r.mtimeNanoseconds,r.mtimeMs,r.mtime);return{ctimeSeconds:e%Li,ctimeNanoseconds:t%Li,mtimeSeconds:n%Li,mtimeNanoseconds:i%Li,dev:r.dev%Li,ino:r.ino%Li,mode:Hk(r.mode%Li),uid:r.uid%Li,gid:r.gid%Li,size:r.size>-1?r.size%Li:0}}function vL(r){let e="";for(let t of new Uint8Array(r))t<16&&(e+="0"),e+=t.toString(16);return e}var $w=null;async function Bi(r){return $w===null&&($w=await yL()),$w?Gk(r):bL(r)}function bL(r){return new ev.default().update(r).digest("hex")}async function Gk(r){let e=await crypto.subtle.digest("SHA-1",r);return vL(e)}async function yL(){try{return await Gk(new Uint8Array([]))==="da39a3ee5e6b4b0d3255bfef95601890afd80709"}catch(r){}return!1}function _L(r){return{assumeValid:!!(r&32768),extended:!!(r&16384),stage:(r&12288)>>12,nameLength:r&4095}}function xL(r){let e=r.flags;return e.extended=!1,e.nameLength=Math.min(_.from(r.path).length,4095),(e.assumeValid?32768:0)+(e.extended?16384:0)+((e.stage&3)<<12)+(e.nameLength&4095)}var Hw=class r{constructor(e,t){this._dirty=!1,this._unmergedPaths=t||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 t=this._entries.get(e.path);t||(this._entries.set(e.path,e),t=e),t.stages[e.flags.stage]=e,this._unmergedPaths.add(e.path)}}static async from(e){if(_.isBuffer(e))return r.fromBuffer(e);if(e===null)return new r(null);throw new ue("invalid type passed to GitIndex.from")}static async fromBuffer(e){if(e.length===0)throw new ue("Index file is empty (.git/index)");let t=new r,n=new oi(e),i=n.toString("utf8",4);if(i!=="DIRC")throw new ue(`Invalid dircache magic file number: ${i}`);let s=await Bi(e.slice(0,-20)),a=e.slice(-20).toString("hex");if(a!==s)throw new ue(`Invalid checksum in GitIndex buffer: expected ${a} but saw ${s}`);let o=n.readUInt32BE();if(o!==2)throw new ue(`Unsupported dircache version: ${o}`);let l=n.readUInt32BE(),c=0;for(;!n.eof()&&c<l;){let u={};u.ctimeSeconds=n.readUInt32BE(),u.ctimeNanoseconds=n.readUInt32BE(),u.mtimeSeconds=n.readUInt32BE(),u.mtimeNanoseconds=n.readUInt32BE(),u.dev=n.readUInt32BE(),u.ino=n.readUInt32BE(),u.mode=n.readUInt32BE(),u.uid=n.readUInt32BE(),u.gid=n.readUInt32BE(),u.size=n.readUInt32BE(),u.oid=n.slice(20).toString("hex");let f=n.readUInt16BE();u.flags=_L(f);let d=e.indexOf(0,n.tell()+1)-n.tell();if(d<1)throw new ue(`Got a path length of: ${d}`);if(u.path=n.toString("utf8",d),u.path.includes("..\\")||u.path.includes("../"))throw new Ya(u.path);let h=8-(n.tell()-12)%8;for(h===0&&(h=8);h--;){let p=n.readUInt8();if(p!==0)throw new ue(`Expected 1-8 null characters but got '${p}' after ${u.path}`);if(n.eof())throw new ue("Unexpected end of file")}u.stages=[],t._addEntry(u),c++}return t}get unmergedPaths(){return[...this._unmergedPaths]}get entries(){return[...this._entries.values()].sort(Uk)}get entriesMap(){return this._entries}get entriesFlat(){return[...this.entries].flatMap(e=>e.stages.length>1?e.stages.filter(t=>t):e)}*[Symbol.iterator](){for(let e of this.entries)yield e}insert({filepath:e,stats:t,oid:n,stage:i=0}){t||(t={ctimeSeconds:0,ctimeNanoseconds:0,mtimeSeconds:0,mtimeNanoseconds:0,dev:0,ino:0,mode:0,uid:0,gid:0,size:0}),t=yl(t);let s=_.from(e),a={ctimeSeconds:t.ctimeSeconds,ctimeNanoseconds:t.ctimeNanoseconds,mtimeSeconds:t.mtimeSeconds,mtimeNanoseconds:t.mtimeNanoseconds,dev:t.dev,ino:t.ino,mode:t.mode||33188,uid:t.uid,gid:t.gid,size:t.size,path:e,oid:n,flags:{assumeValid:!1,extended:!1,stage:i,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 t of this._entries.keys())t.startsWith(e+"/")&&this._entries.delete(t);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 t=_.from(e.path),n=Math.ceil((62+t.length+1)/8)*8,i=_.alloc(n),s=new oi(i),a=yl(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(xL(e)),s.write(e.path,t.length,"utf8"),i}async toObject(){let e=_.alloc(12),t=new oi(e);t.write("DIRC",4,"utf8"),t.writeUInt32BE(2),t.writeUInt32BE(this.entriesFlat.length);let n=[];for(let o of this.entries)if(n.push(r._entryToBuffer(o)),o.stages.length>1)for(let l of o.stages)l&&l!==o&&n.push(r._entryToBuffer(l));n=await Promise.all(n);let i=_.concat(n),s=_.concat([e,i]),a=await Bi(s);return _.concat([s,_.from(a,"hex")])}};function Wd(r,e,t=!0,n=!0){let i=yl(r),s=yl(e);return t&&i.mode!==s.mode||i.mtimeSeconds!==s.mtimeSeconds||i.ctimeSeconds!==s.ctimeSeconds||i.uid!==s.uid||i.gid!==s.gid||n&&i.ino!==s.ino||i.size!==s.size}var Iw;function EL(){return Iw===void 0&&(Iw=new Dk.default({maxPending:1/0})),Iw}function Jt(r,e){return EL().acquire(r,e)}var Fw=Symbol("IndexCache");function SL(){return{map:new Map,stats:new Map}}async function kL(r,e,t){let[n,i]=await Promise.all([r.lstat(e),r.read(e)]),s=await Hw.from(i);t.map.set(e,s),t.stats.set(e,n)}async function CL(r,e,t){let n=t.stats.get(e);if(n===void 0)return!0;if(n===null)return!1;let i=await r.lstat(e);return i===null?!1:Wd(n,i)}var yt=class{static async acquire({fs:e,gitdir:t,cache:n,allowUnmerged:i=!0},s){n[Fw]||(n[Fw]=SL());let a=`${t}/index`,o,l=[];return await Jt(a,async()=>{let c=n[Fw];await CL(e,a,c)&&await kL(e,a,c);let u=c.map.get(a);if(l=u.unmergedPaths,l.length&&!i)throw new hu(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 qd(r){let e=Math.max(r.lastIndexOf("/"),r.lastIndexOf("\\"));return e>-1&&(r=r.slice(e+1)),r}function Za(r){let e=Math.max(r.lastIndexOf("/"),r.lastIndexOf("\\"));return e===-1?".":e===0?"/":r.slice(0,e)}function jk(r){let e=new Map,t=function(i){if(!e.has(i)){let s={type:"tree",fullpath:i,basename:qd(i),metadata:{},children:[]};e.set(i,s),s.parent=t(Za(i)),s.parent&&s.parent!==s&&s.parent.children.push(s)}return e.get(i)},n=function(i,s){if(!e.has(i)){let a={type:"blob",fullpath:i,basename:qd(i),metadata:s,parent:t(Za(i)),children:[]};a.parent&&a.parent.children.push(a),e.set(i,a)}return e.get(i)};t(".");for(let i of r)n(i.path,i);return e}function AL(r){switch(r){case 16384:return"tree";case 33188:return"blob";case 33261:return"blob";case 40960:return"blob";case 57344:return"commit"}throw new ue(`Unexpected GitTree entry mode: ${r.toString(8)}`)}var Gw=class{constructor({fs:e,gitdir:t,cache:n}){this.treePromise=yt.acquire({fs:e,gitdir:t,cache:n},async function(s){return jk(s.entries)});let i=this;this.ConstructEntry=class{constructor(a){this._fullpath=a,this._type=!1,this._mode=!1,this._stat=!1,this._oid=!1}async type(){return i.type(this)}async mode(){return i.mode(this)}async stat(){return i.stat(this)}async content(){return i.content(this)}async oid(){return i.oid(this)}}}async readdir(e){let t=e._fullpath,i=(await this.treePromise).get(t);if(!i||i.type==="blob")return null;if(i.type!=="tree")throw new Error(`ENOTDIR: not a directory, scandir '${t}'`);let s=i.children.map(a=>a.fullpath);return s.sort(ih),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 n=(await this.treePromise).get(e._fullpath);if(!n)throw new Error(`ENOENT: no such file or directory, lstat '${e._fullpath}'`);let i=n.type==="tree"?{}:yl(n.metadata);e._type=n.type==="tree"?"tree":AL(i.mode),e._mode=i.mode,n.type==="tree"?e._stat=void 0:e._stat=i}return e._stat}async content(e){}async oid(e){if(e._oid===!1){let n=(await this.treePromise).get(e._fullpath);e._oid=n.metadata.oid}return e._oid}},sh=Symbol("GitWalkSymbol");function Ka(){let r=Object.create(null);return Object.defineProperty(r,sh,{value:function({fs:e,gitdir:t,cache:n}){return new Gw({fs:e,gitdir:t,cache:n})}}),Object.freeze(r),r}var Xe=class r extends Ae{constructor(e){super(`Could not find ${e}.`),this.code=this.name=r.code,this.data={what:e}}};Xe.code="NotFoundError";var br=class r extends Ae{constructor(e,t,n,i){super(`Object ${e} ${i?`at ${i}`:""}was anticipated to be a ${n} but it is a ${t}.`),this.code=this.name=r.code,this.data={oid:e,actual:t,expected:n,filepath:i}}};br.code="ObjectTypeError";var Js=class r extends Ae{constructor(e){super(`Expected a 40-char hex object id but saw "${e}".`),this.code=this.name=r.code,this.data={value:e}}};Js.code="InvalidOidError";var wn=class r extends Ae{constructor(e,t){super(`"${e}" would be an invalid git reference. (Hint: a valid alternative would be "${t}".)`),this.code=this.name=r.code,this.data={ref:e,suggestion:t}}};wn.code="InvalidRefNameError";var pu=class r extends Ae{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=r.code,this.data={remote:e}}};pu.code="NoRefspecError";var Yd=class r{constructor(e){if(this.refs=new Map,this.parsedConfig=[],e){let t=null;this.parsedConfig=e.trim().split(`
|
|
`).map(n=>{if(/^\s*#/.test(n))return{line:n,comment:!0};let i=n.indexOf(" ");if(n.startsWith("^")){let s=n.slice(1);return this.refs.set(t+"^{}",s),{line:n,ref:t,peeled:s}}else{let s=n.slice(0,i);return t=n.slice(i+1),this.refs.set(t,s),{line:n,ref:t,oid:s}}})}return this}static from(e){return new r(e)}delete(e){this.parsedConfig=this.parsedConfig.filter(t=>t.ref!==e),this.refs.delete(e)}toString(){return this.parsedConfig.map(({line:e})=>e).join(`
|
|
`)+`
|
|
`}},Zd=class r{constructor({remotePath:e,localPath:t,force:n,matchPrefix:i}){Object.assign(this,{remotePath:e,localPath:t,force:n,matchPrefix:i})}static from(e){let[t,n,i,s,a]=e.match(/^(\+?)(.*?)(\*?):(.*?)(\*?)$/).slice(1),o=t==="+",l=i==="*";if(l!==(a==="*"))throw new ue("Invalid refspec");return new r({remotePath:n,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}},jw=class r{constructor(e=[]){this.rules=e}static from(e){let t=[];for(let n of e)t.push(Zd.from(n));return new r(t)}add(e){let t=Zd.from(e);this.rules.push(t)}translate(e){let t=[];for(let n of this.rules)for(let i of e){let s=n.translate(i);s&&t.push([i,s])}return t}translateOne(e){let t=null;for(let n of this.rules){let i=n.translate(e);i&&(t=i)}return t}localNamespaces(){return this.rules.filter(e=>e.matchPrefix).map(e=>e.localPath.replace(/\/$/,""))}};function TL(r,e){let t=r.replace(/\^\{\}$/,""),n=e.replace(/\^\{\}$/,""),i=-(t<n)||+(t>n);return i===0?r.endsWith("^{}")?1:-1:i}var RL=/(^|[/.])([/.]|$)|^@$|@{|[\x00-\x20\x7f~^:?*[\\]|\.lock(\/|$)/;function _l(r,e){if(typeof r!="string")throw new TypeError("Reference name must be a string");return!RL.test(r)&&(!!e||r.includes("/"))}function PL(r,e){let t="",n=0,i=-1,s=0,a="\0";for(let o=0;o<=r.length;++o){if(o<r.length)a=r[o];else{if(a==="/")break;a="/"}if(a==="/"){if(!(i===o-1||s===1))if(s===2){if(t.length<2||n!==2||t.at(-1)!=="."||t.at(-2)!=="."){if(t.length>2){let l=t.lastIndexOf("/");l===-1?(t="",n=0):(t=t.slice(0,l),n=t.length-1-t.lastIndexOf("/")),i=o,s=0;continue}else if(t.length!==0){t="",n=0,i=o,s=0;continue}}e&&(t+=t.length>0?"/..":"..",n=2)}else t.length>0?t+="/"+r.slice(i+1,o):t=r.slice(i+1,o),n=o-i-1;i=o,s=0}else a==="."&&s!==-1?++s:s=-1}return t}function $L(r){return r.length>=2&&/^[a-zA-Z]:/.test(r)?r.slice(0,2):null}function IL(r){if(!r.length)return".";r=r.replace(/\\/g,"/");let e=$L(r),t=r[0]==="/"||e!==null&&r[2]==="/",n=r.at(-1)==="/",i=e?r.slice(2):r,s=PL(i,!t);if(!s.length){let a=e?t?e+"/":e:t?"/":".";return n&&!t?a+"/":a}return n&&(s+="/"),e?t?`${e}/${s}`:`${e}${s}`:t?`/${s}`:s}function L(...r){if(r.length===0)return".";let e;for(let t=0;t<r.length;++t){let n=r[t].replace(/\\/g,"/");n.length!==0&&(/^[a-zA-Z]:\//.test(n)||e===void 0?e=n:e+="/"+n)}return e===void 0?".":IL(e)}var FL=r=>{if(typeof r=="number")return r;r=r.toLowerCase();let e=parseInt(r);return r.endsWith("k")&&(e*=1024),r.endsWith("m")&&(e*=1024*1024),r.endsWith("g")&&(e*=1024*1024*1024),e},uu=r=>{if(typeof r=="boolean")return r;if(r=r.trim().toLowerCase(),r==="true"||r==="yes"||r==="on")return!0;if(r==="false"||r==="no"||r==="off")return!1;throw Error(`Expected 'true', 'false', 'yes', 'no', 'on', or 'off', but got ${r}`)},fk={core:{filemode:uu,bare:uu,logallrefupdates:uu,symlinks:uu,ignorecase:uu,bigFileThreshold:FL}},ML=/^\[([A-Za-z0-9-.]+)(?: "(.*)")?\]$/,OL=/^[A-Za-z0-9-.]+$/,DL=/^([A-Za-z][A-Za-z-]*)(?: *= *(.*))?$/,LL=/^[A-Za-z][A-Za-z-]*$/,NL=/^(.*?)( *[#;].*)$/,BL=r=>{let e=ML.exec(r);if(e!=null){let[t,n]=e.slice(1);return[t,n]}return null},UL=r=>{let e=DL.exec(r);if(e!=null){let[t,n="true"]=e.slice(1),i=HL(n),s=GL(i);return[t,s]}return null},HL=r=>{let e=NL.exec(r);if(e==null)return r;let[t,n]=e.slice(1);return dk(t)&&dk(n)?`${t}${n}`:t},dk=r=>(r.match(/(?:^|[^\\])"/g)||[]).length%2!==0,GL=r=>r.split("").reduce((e,t,n,i)=>{let s=t==='"'&&i[n-1]!=="\\",a=t==="\\"&&i[n+1]==='"';return s||a?e:e+t},""),hk=r=>r!=null?r.toLowerCase():null,zw=(r,e,t)=>[hk(r),e,hk(t)].filter(n=>n!=null).join("."),pk=r=>{let e=r.split("."),t=e.shift(),n=e.pop(),i=e.length?e.join("."):void 0;return{section:t,subsection:i,name:n,path:zw(t,i,n),sectionPath:zw(t,i,null),isSection:!!t}},jL=(r,e)=>r.reduce((t,n,i)=>e(n)?i:t,-1),Vw=class r{constructor(e){let t=null,n=null;this.parsedConfig=e?e.split(`
|
|
`).map(i=>{let s=null,a=null,o=i.trim(),l=BL(o),c=l!=null;if(c)[t,n]=l;else{let f=UL(o);f!=null&&([s,a]=f)}let u=zw(t,n,s);return{line:i,isSection:c,section:t,subsection:n,name:s,value:a,path:u}}):[]}static from(e){return new r(e)}async get(e,t=!1){let n=pk(e).path,i=this.parsedConfig.filter(s=>s.path===n).map(({section:s,name:a,value:o})=>{let l=fk[s]&&fk[s][a];return l?l(o):o});return t?i:i.pop()}async getall(e){return this.get(e,!0)}async getSubsections(e){return this.parsedConfig.filter(t=>t.isSection&&t.section===e).map(t=>t.subsection)}async deleteSection(e,t){this.parsedConfig=this.parsedConfig.filter(n=>!(n.section===e&&n.subsection===t))}async append(e,t){return this.set(e,t,!0)}async set(e,t,n=!1){let{section:i,subsection:s,name:a,path:o,sectionPath:l,isSection:c}=pk(e),u=jL(this.parsedConfig,f=>f.path===o);if(t==null)u!==-1&&this.parsedConfig.splice(u,1);else if(u!==-1){let f=this.parsedConfig[u],d=Object.assign({},f,{name:a,value:t,modified:!0});n?this.parsedConfig.splice(u+1,0,d):this.parsedConfig[u]=d}else{let f=this.parsedConfig.findIndex(h=>h.path===l),d={section:i,subsection:s,name:a,value:t,modified:!0,path:o};if(OL.test(i)&&LL.test(a))if(f>=0)this.parsedConfig.splice(f+1,0,d);else{let h={isSection:c,section:i,subsection:s,modified:!0,path:l};this.parsedConfig.push(h,d)}}}toString(){return this.parsedConfig.map(({line:e,section:t,subsection:n,name:i,value:s,modified:a=!1})=>a?i!=null&&s!=null?typeof s=="string"&&/[#;]/.test(s)?` ${i} = "${s}"`:` ${i} = ${s}`:n!=null?`[${t} "${n}"]`:`[${t}]`:e).join(`
|
|
`)}},vt=class{static async get({fs:e,gitdir:t}){let n=await e.read(`${t}/config`,{encoding:"utf8"});return Vw.from(n)}static async save({fs:e,gitdir:t,config:n}){await e.write(`${t}/config`,n.toString(),{encoding:"utf8"})}},fu=r=>[`${r}`,`refs/${r}`,`refs/tags/${r}`,`refs/heads/${r}`,`refs/remotes/${r}`,`refs/remotes/${r}/HEAD`],Ww=["config","description","index","shallow","commondir"];function Va(r){if(Ww.includes(r))throw new wn(r,`refs/heads/${r}`);if(!_l(r,!0))throw new wn(r,qa.default.clean(r))}var z=class r{static async updateRemoteRefs({fs:e,gitdir:t,remote:n,refs:i,symrefs:s,tags:a,refspecs:o=void 0,prune:l=!1,pruneTags:c=!1}){for(let b of i.values())if(!b.match(/[0-9a-f]{40}/))throw new Js(b);let u=await vt.get({fs:e,gitdir:t});if(!o){if(o=await u.getall(`remote.${n}.fetch`),o.length===0)throw new pu(n);o.unshift(`+HEAD:refs/remotes/${n}/HEAD`)}let f=jw.from(o),d=new Map,h=f.translate([...i.keys()]),p=[];for(let[b,y]of f.translate([...s.keys()])){let k=f.translateOne(s.get(b));k&&(Va(k),p.push([y,`ref: ${k}`]))}let g=a?[...i.keys()].filter(b=>b.startsWith("refs/tags")&&!b.endsWith("^{}")):[];for(let[,b]of h)Va(b);for(let[b]of p)Va(b);if(g.forEach(Va),c){let b=await r.listRefs({fs:e,gitdir:t,filepath:"refs/tags"});await r.deleteRefs({fs:e,gitdir:t,refs:b.map(y=>`refs/tags/${y}`)})}for(let b of g)if(!await r.exists({fs:e,gitdir:t,ref:b})){let y=i.get(b);d.set(b,y)}for(let[b,y]of h){let k=i.get(b);d.set(y,k)}for(let[b,y]of p)d.set(b,y);let w=[];if(l){for(let b of f.localNamespaces()){let y=(await r.listRefs({fs:e,gitdir:t,filepath:b})).map(k=>`${b}/${k}`);for(let k of y)d.has(k)||w.push(k)}w.length>0&&await r.deleteRefs({fs:e,gitdir:t,refs:w})}for(let[b,y]of d)await Jt(b,async()=>e.write(L(t,b),`${y.trim()}
|
|
`,"utf8"));return{pruned:w}}static async writeRef({fs:e,gitdir:t,ref:n,value:i}){if(Va(n),!i.match(/[0-9a-f]{40}/))throw new Js(i);await Jt(n,async()=>e.write(L(t,n),`${i.trim()}
|
|
`,"utf8"))}static async writeSymbolicRef({fs:e,gitdir:t,ref:n,value:i}){Va(n),await Jt(n,async()=>e.write(L(t,n),`ref: ${i.trim()}
|
|
`,"utf8"))}static async deleteRef({fs:e,gitdir:t,ref:n}){return r.deleteRefs({fs:e,gitdir:t,refs:[n]})}static async deleteRefs({fs:e,gitdir:t,refs:n}){n.forEach(Va),await Promise.all(n.map(o=>e.rm(L(t,o))));let i=await Jt("packed-refs",async()=>e.read(`${t}/packed-refs`,{encoding:"utf8"})),s=Yd.from(i),a=s.refs.size;for(let o of n)s.refs.has(o)&&s.delete(o);s.refs.size<a&&(i=s.toString(),await Jt("packed-refs",async()=>e.write(`${t}/packed-refs`,i,{encoding:"utf8"})))}static async resolve({fs:e,gitdir:t,ref:n,depth:i=void 0,visited:s=new Set}){if(i!==void 0&&(i--,i===-1))return n;if(n.startsWith("ref: "))return n=n.slice(5),r.resolve({fs:e,gitdir:t,ref:n,depth:i,visited:s});if(n.length===40&&/[0-9a-f]{40}/.test(n))return n;let a=await r.packedRefs({fs:e,gitdir:t}),o=fu(n).filter(l=>!Ww.includes(l));for(let l of o){let c=await Jt(l,async()=>await e.read(`${t}/${l}`,{encoding:"utf8"})||a.get(l));if(c){if(s.has(l))throw new ue(`Circular reference detected while resolving ref "${l}"`);return s.add(l),r.resolve({fs:e,gitdir:t,ref:c.trim(),depth:i,visited:s})}}throw new Xe(n)}static async isUnbornBranch({fs:e,gitdir:t,ref:n}){let i;try{i=await r.resolve({fs:e,gitdir:t,ref:"HEAD",depth:2})}catch(s){return!1}return i.startsWith("refs/heads/")?n==="HEAD"||fu(n).includes(i):!1}static async exists({fs:e,gitdir:t,ref:n}){try{return await r.expand({fs:e,gitdir:t,ref:n}),!0}catch(i){return!1}}static async expand({fs:e,gitdir:t,ref:n}){if(n.length===40&&/[0-9a-f]{40}/.test(n))return n;let i=await r.packedRefs({fs:e,gitdir:t}),s=fu(n).filter(a=>!Ww.includes(a));for(let a of s)if(await Jt(a,async()=>e.exists(`${t}/${a}`))||i.has(a))return a;throw new Xe(n)}static async expandAgainstMap({ref:e,map:t}){let n=fu(e);for(let i of n)if(await t.has(i))return i;throw new Xe(e)}static resolveAgainstMap({ref:e,fullref:t=e,depth:n=void 0,map:i}){if(n!==void 0&&(n--,n===-1))return{fullref:t,oid:e};if(e.startsWith("ref: "))return e=e.slice(5),r.resolveAgainstMap({ref:e,fullref:t,depth:n,map:i});if(e.length===40&&/[0-9a-f]{40}/.test(e))return{fullref:t,oid:e};let s=fu(e);for(let a of s){let o=i.get(a);if(o)return r.resolveAgainstMap({ref:o.trim(),fullref:a,depth:n,map:i})}throw new Xe(e)}static async packedRefs({fs:e,gitdir:t}){let n=await Jt("packed-refs",async()=>e.read(`${t}/packed-refs`,{encoding:"utf8"}));return Yd.from(n).refs}static async listRefs({fs:e,gitdir:t,filepath:n}){let i=r.packedRefs({fs:e,gitdir:t}),s=null;try{s=await e.readdirDeep(`${t}/${n}`),s=s.map(a=>a.replace(`${t}/${n}/`,""))}catch(a){s=[]}for(let a of(await i).keys())a.startsWith(n)&&(a=a.replace(n+"/",""),s.includes(a)||s.push(a));return s.sort(TL),s}static async listBranches({fs:e,gitdir:t,remote:n}){return n?r.listRefs({fs:e,gitdir:t,filepath:`refs/remotes/${n}`}):r.listRefs({fs:e,gitdir:t,filepath:"refs/heads"})}static async listTags({fs:e,gitdir:t}){return(await r.listRefs({fs:e,gitdir:t,filepath:"refs/tags"})).filter(i=>!i.endsWith("^{}"))}};function zL(r,e){return ih(mk(r),mk(e))}function mk(r){return r.mode==="040000"?r.path+"/":r.path}function zk(r){switch(r){case"040000":return"tree";case"100644":return"blob";case"100755":return"blob";case"120000":return"blob";case"160000":return"commit"}throw new ue(`Unexpected GitTree entry mode: ${r}`)}function VL(r){let e=[],t=0;for(;t<r.length;){let n=r.indexOf(32,t);if(n===-1)throw new ue(`GitTree: Error parsing buffer at byte location ${t}: Could not find the next space character.`);let i=r.indexOf(0,t);if(i===-1)throw new ue(`GitTree: Error parsing buffer at byte location ${t}: Could not find the next null character.`);let s=r.slice(t,n).toString("utf8");s==="40000"&&(s="040000");let a=zk(s),o=r.slice(n+1,i).toString("utf8"),l=o.replace(/[\u200C-\u200F\u202A-\u202E\u206A-\u206F\uFEFF]/g,""),u=l.split(":")[0].toLowerCase().replace(/[. ]+$/,"");if(o.includes("\\")||o.includes("/")||l==="."||l===".."||u===".git"||/^\.?git~[1-9]$/.test(u))throw new Ya(o);let f=r.slice(i+1,i+21).toString("hex");t=i+21,e.push({mode:s,path:o,oid:f,type:a})}return e}function WL(r){if(typeof r=="number"&&(r=r.toString(8)),r.match(/^0?4.*/))return"040000";if(r.match(/^1006.*/))return"100644";if(r.match(/^1007.*/))return"100755";if(r.match(/^120.*/))return"120000";if(r.match(/^160.*/))return"160000";throw new ue(`Could not understand file mode: ${r}`)}function qL(r){return!r.oid&&r.sha&&(r.oid=r.sha),r.mode=WL(r.mode),r.type||(r.type=zk(r.mode)),r}var Vr=class r{constructor(e){if(_.isBuffer(e))this._entries=VL(e);else if(Array.isArray(e))this._entries=e.map(qL);else throw new ue("invalid type passed to GitTree constructor");this._entries.sort(Uk)}static from(e){return new r(e)}render(){return this._entries.map(e=>`${e.mode} ${e.type} ${e.oid} ${e.path}`).join(`
|
|
`)}toObject(){let e=[...this._entries];return e.sort(zL),_.concat(e.map(t=>{let n=_.from(t.mode.replace(/^0/,"")),i=_.from(" "),s=_.from(t.path,"utf8"),a=_.from([0]),o=_.from(t.oid,"hex");return _.concat([n,i,s,a,o])}))}entries(){return this._entries}*[Symbol.iterator](){for(let e of this._entries)yield e}},ea=class{static wrap({type:e,object:t}){let n=`${e} ${t.length}\0`,i=n.length,s=i+t.length,a=new Uint8Array(s);for(let o=0;o<i;o++)a[o]=n.charCodeAt(o);return a.set(t,i),a}static unwrap(e){let t=e.indexOf(32),n=e.indexOf(0),i=e.slice(0,t).toString("utf8"),s=e.slice(t+1,n).toString("utf8"),a=e.length-(n+1);if(parseInt(s)!==a)throw new ue(`Length mismatch: expected ${s} bytes but got ${a} instead.`);return{type:i,object:_.from(e.slice(n+1))}}};async function Vk({fs:r,gitdir:e,oid:t}){let n=`objects/${t.slice(0,2)}/${t.slice(2)}`,i=await r.read(`${e}/${n}`);return i?{object:i,format:"deflated",source:n}:null}function YL(r,e){let t=new oi(r),n=gk(t);if(n!==e.byteLength)throw new ue(`applyDelta expected source buffer to be ${n} bytes but the provided buffer was ${e.length} bytes`);let i=gk(t),s,a=vk(t,e);if(a.byteLength===i)s=a;else{let o=[a],l=a.byteLength;for(;!t.eof();){let c=vk(t,e);o.push(c),l+=c.byteLength}if(i!==l)throw new ue(`applyDelta expected target buffer to be ${i} bytes but the resulting buffer was ${l} bytes`);s=_.concat(o,i)}return s}function gk(r){let e=0,t=0,n=null;do n=r.readUInt8(),e|=(n&127)<<t,t+=7;while(n&128);return e}function wk(r,e,t){let n=0,i=0;for(;t--;)e&1&&(n|=r.readUInt8()<<i),e>>=1,i+=8;return n}function vk(r,e){let t=r.readUInt8(),n=128,i=15,s=112;if(t&n){let a=wk(r,t&i,4),o=wk(r,(t&s)>>4,3);return o===0&&(o=65536),e.slice(a,a+o)}else return r.slice(t)}function ZL(r){let e=[r];return{next(){return Promise.resolve({done:e.length===0,value:e.pop()})},return(){return e=[],{}},[Symbol.asyncIterator](){return this}}}function Wk(r){return r[Symbol.asyncIterator]?r[Symbol.asyncIterator]():r[Symbol.iterator]?r[Symbol.iterator]():r.next?r:ZL(r)}var Kd=class{constructor(e){if(typeof _=="undefined")throw new Error("Missing Buffer dependency");this.stream=Wk(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:t}=await this.stream.next();return e&&(this._ended=!0,!t)?_.alloc(0):(t&&(t=_.from(t)),t)}_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 t=[this.buffer];for(;this.cursor+e>KL(t);){let n=await this._next();if(this._ended)break;t.push(n)}this.buffer=_.concat(t)}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 KL(r){return r.reduce((e,t)=>e+t.length,0)}async function XL(r,e){let t=new Kd(r),n=await t.read(4);if(n=n.toString("utf8"),n!=="PACK")throw new ue(`Invalid PACK header '${n}'`);let i=await t.read(4);if(i=i.readUInt32BE(0),i!==2)throw new ue(`Invalid packfile version: ${i}`);let s=await t.read(4);if(s=s.readUInt32BE(0),!(s<1))for(;!t.eof()&&s--;){let a=t.tell(),{type:o,length:l,ofs:c,reference:u}=await QL(t),f=new nh.default.Inflate;for(;!f.result;){let d=await t.chunk();if(!d)break;if(f.push(d,!1),f.err)throw new ue(`Pako error: ${f.msg}`);if(f.result){if(f.result.length!==l)throw new ue("Inflated object size is different from that stated in packfile.");await t.undo(),await t.read(d.length-f.strm.avail_in);let h=t.tell();await e({data:f.result,type:o,num:s,offset:a,end:h,reference:u,ofs:c})}}}}async function QL(r){let e=await r.byte(),t=e>>4&7,n=e&15;if(e&128){let a=4;do e=await r.byte(),n|=(e&127)<<a,a+=7;while(e&128)}let i,s;if(t===6){let a=0;i=0;let o=[];do e=await r.byte(),i|=(e&127)<<a,a+=7,o.push(e);while(e&128);s=_.from(o)}return t===7&&(s=await r.read(20)),{type:t,length:n,ofs:i,reference:s}}var Mw=!1;async function qk(r){return Mw===null&&(Mw=eN()),Mw?JL(r):nh.default.inflate(r)}async function JL(r){let e=new DecompressionStream("deflate"),t=new Blob([r]).stream().pipeThrough(e);return new Uint8Array(await new Response(t).arrayBuffer())}function eN(){try{if(new DecompressionStream("deflate"))return!0}catch(r){}return!1}function tN(r){let e=[],t=0,n=0;do{t=r.readUInt8();let i=t&127;e.push(i),n=t&128}while(n);return e.reduce((i,s)=>i+1<<7|s,-1)}function rN(r,e){let t=e,n=4,i=null;do i=r.readUInt8(),t|=(i&127)<<n,n+=7;while(i&128);return t}var mu=class r{constructor(e){Object.assign(this,e),this.offsetCache={}}static async fromIdx({idx:e,getExternalRefDelta:t}){let n=new oi(e);if(n.slice(4).toString("hex")!=="ff744f63")return;let s=n.readUInt32BE();if(s!==2)throw new ue(`Unable to read version ${s} packfile IDX. (Only version 2 supported)`);if(e.byteLength>2048*1024*1024)throw new ue("To keep implementation simple, I haven't implemented the layer 5 feature needed to support packfiles > 2GB in size.");n.seek(n.tell()+1020);let a=n.readUInt32BE(),o=[];for(let u=0;u<a;u++){let f=n.slice(20).toString("hex");o[u]=f}n.seek(n.tell()+4*a);let l=new Map;for(let u=0;u<a;u++)l.set(o[u],n.readUInt32BE());let c=n.slice(20).toString("hex");return new r({hashes:o,crcs:{},offsets:l,packfileSha:c,getExternalRefDelta:t})}static async fromPack({pack:e,getExternalRefDelta:t,onProgress:n}){let i={1:"commit",2:"tree",3:"blob",4:"tag",6:"ofs-delta",7:"ref-delta"},s={},a=e.slice(-20).toString("hex"),o=[],l={},c=new Map,u=null,f=null;await XL([e],async({data:w,type:b,reference:y,offset:k,num:C})=>{u===null&&(u=C);let S=Math.floor((u-C)*100/u);S!==f&&n&&await n({phase:"Receiving objects",loaded:u-C,total:u}),f=S,b=i[b],["commit","tree","blob","tag"].includes(b)?s[k]={type:b,offset:k}:b==="ofs-delta"?s[k]={type:b,offset:k}:b==="ref-delta"&&(s[k]={type:b,offset:k})});let d=Object.keys(s).map(Number);for(let[w,b]of d.entries()){let y=w+1===d.length?e.byteLength-20:d[w+1],k=s[b],C=Lk.default.buf(e.slice(b,y))>>>0;k.end=y,k.crc=C}let h=new r({pack:Promise.resolve(e),packfileSha:a,crcs:l,hashes:o,offsets:c,getExternalRefDelta:t});f=null;let p=0,g=[0,0,0,0,0,0,0,0,0,0,0,0];for(let w in s){w=Number(w);let b=Math.floor(p*100/u);b!==f&&n&&await n({phase:"Resolving deltas",loaded:p,total:u}),p++,f=b;let y=s[w];if(!y.oid)try{h.readDepth=0,h.externalReadDepth=0;let{type:k,object:C}=await h.readSlice({start:w});g[h.readDepth]+=1;let S=await Bi(ea.wrap({type:k,object:C}));y.oid=S,o.push(S),c.set(S,w),l[S]=y.crc}catch(k){continue}}return o.sort(),h}async toBuffer(){let e=[],t=(c,u)=>{e.push(_.from(c,u))};t("ff744f63","hex"),t("00000002","hex");let n=new oi(_.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++;n.writeUInt32BE(u)}e.push(n.buffer);for(let c of this.hashes)t(c,"hex");let i=new oi(_.alloc(this.hashes.length*4));for(let c of this.hashes)i.writeUInt32BE(this.crcs[c]);e.push(i.buffer);let s=new oi(_.alloc(this.hashes.length*4));for(let c of this.hashes)s.writeUInt32BE(this.offsets.get(c));e.push(s.buffer),t(this.packfileSha,"hex");let a=_.concat(e),o=await Bi(a),l=_.alloc(20);return l.write(o,"hex"),_.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 ue(`Could not read object ${e} from packfile`)}let t=this.offsets.get(e);return this.readSlice({start:t})}async readSlice({start:e}){if(this.offsetCache[e])return Object.assign({},this.offsetCache[e]);this.readDepth++;let t={16:"commit",32:"tree",48:"blob",64:"tag",96:"ofs_delta",112:"ref_delta"},n=await this.pack;if(!n)throw new ue("Could not read packfile data. The packfile may be missing, corrupted, or too large to read into memory.");let i=n.slice(e),s=new oi(i),a=s.readUInt8(),o=a&112,l=t[o];if(l===void 0)throw new ue("Unrecognized type: 0b"+o.toString(2));let c=a&15,u=c;a&128&&(u=rN(s,c));let d=null,h=null;if(l==="ofs_delta"){let g=tN(s),w=e-g;({object:d,type:l}=await this.readSlice({start:w}))}if(l==="ref_delta"){let g=s.slice(20).toString("hex");({object:d,type:l}=await this.read({oid:g}))}let p=i.slice(s.tell());if(h=_.from(await qk(p)),h.byteLength!==u)throw new ue(`Packfile told us object would have length ${u} but it had length ${h.byteLength}`);return d&&(h=_.from(YL(h,d))),this.readDepth>3&&(this.offsetCache[e]={type:l,object:h}),{type:l,format:"content",object:h}}},Vd=Symbol("PackfileCache");async function nN({fs:r,filename:e,getExternalRefDelta:t,emitter:n,emitterPrefix:i}){let s=await r.read(e);return mu.fromIdx({idx:s,getExternalRefDelta:t})}function tv({fs:r,cache:e,filename:t,getExternalRefDelta:n,emitter:i,emitterPrefix:s}){e[Vd]||(e[Vd]=new Map);let a=e[Vd].get(t);return a||(a=nN({fs:r,filename:t,getExternalRefDelta:n,emitter:i,emitterPrefix:s}),e[Vd].set(t,a)),a}async function iN(r,{start:e=0,end:t=r.length}={}){return Bi(r.subarray(e,t))}async function sN({fs:r,cache:e,gitdir:t,oid:n,format:i="content",getExternalRefDelta:s}){let a=await r.readdir(L(t,"objects/pack"));a=a.filter(o=>o.endsWith(".idx"));for(let o of a){let l=`${t}/objects/pack/${o}`,c=await tv({fs:r,cache:e,filename:l,getExternalRefDelta:s});if(c.error)throw new ue(c.error);if(c.offsets.has(n)){let u=l.replace(/idx$/,"pack");c.pack||(c.pack=r.read(u));let f=await c.pack;if(!f)throw c.pack=null,new ue(`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 ue(`Packfile trailer mismatch: expected ${h}, got ${g}. The packfile may be corrupted.`);let w=await iN(f,{start:0,end:f.length-20});if(w!==h)throw new ue(`Packfile payload corrupted: calculated ${w} but expected ${h}. The packfile may have been tampered with.`);c._checksumVerified=!0}let d=await c.read({oid:n,getExternalRefDelta:s});return d.format="content",d.source=`objects/pack/${o.replace(/idx$/,"pack")}`,d}}return null}async function at({fs:r,cache:e,gitdir:t,oid:n,format:i="content"}){if(!["deflated","wrapped","content"].includes(i))throw new ue(`invalid requested format "${i}"`);let s=u=>at({fs:r,cache:e,gitdir:t,oid:u}),a;if(n==="4b825dc642cb6eb9a060e54bf8d69288fbee4904"&&(a={format:"wrapped",object:_.from("tree 0\0")}),a||(a=await Vk({fs:r,gitdir:t,oid:n})),!a){if(a=await sN({fs:r,cache:e,gitdir:t,oid:n,getExternalRefDelta:s}),!a)throw new Xe(n);return a}if(i==="deflated"||(a.format==="deflated"&&(a.object=_.from(await qk(a.object)),a.format="wrapped"),i==="wrapped"))return a;let o=await Bi(a.object);if(o!==n)throw new ue(`SHA check failed! Expected ${n}, computed ${o}`);let{object:l,type:c}=ea.unwrap(a.object);return a.type=c,a.object=l,a.format="content",a}var li=class r extends Ae{constructor(e,t,n=!0){super(`Failed to create ${e} at ${t} because it already exists.${n?` (Hint: use 'force: true' parameter to overwrite existing ${e}.)`:""}`),this.code=this.name=r.code,this.data={noun:e,where:t,canForce:n}}};li.code="AlreadyExistsError";var gu=class r extends Ae{constructor(e,t,n){super(`Found multiple ${e} matching "${t}" (${n.join(", ")}). Use a longer abbreviation length to disambiguate them.`),this.code=this.name=r.code,this.data={nouns:e,short:t,matches:n}}};gu.code="AmbiguousError";var wu=class r extends Ae{constructor(e){super(`Your local changes to the following files would be overwritten by checkout: ${e.join(", ")}`),this.code=this.name=r.code,this.data={filepaths:e}}};wu.code="CheckoutConflictError";var vu=class r extends Ae{constructor(e,t){super(`Cannot cherry-pick merge commit ${e}. Merge commits have ${t} parents and require specifying which parent to use as the base.`),this.code=this.name=r.code,this.data={oid:e,parentCount:t}}};vu.code="CherryPickMergeCommitError";var bu=class r extends Ae{constructor(e){super(`Cannot cherry-pick root commit ${e}. Root commits have no parents.`),this.code=this.name=r.code,this.data={oid:e}}};bu.code="CherryPickRootCommitError";var yu=class r extends Ae{constructor(e,t){super(`Failed to checkout "${e}" because commit ${t} is not available locally. Do a git fetch to make the branch available locally.`),this.code=this.name=r.code,this.data={ref:e,oid:t}}};yu.code="CommitNotFetchedError";var _u=class r extends Ae{constructor(){super("Cannot create an empty commit when disallowEmpty is true."),this.code=this.name=r.code,this.data={}}};_u.code="EmptyCommitError";var xu=class r extends Ae{constructor(){super("Empty response from git server."),this.code=this.name=r.code,this.data={}}};xu.code="EmptyServerResponseError";var Eu=class r extends Ae{constructor(){super("A simple fast-forward merge was not possible."),this.code=this.name=r.code,this.data={}}};Eu.code="FastForwardError";var Su=class r extends Ae{constructor(e,t){super(`One or more branches were not updated: ${e}`),this.code=this.name=r.code,this.data={prettyDetails:e,result:t}}};Su.code="GitPushError";var xl=class r extends Ae{constructor(e,t,n){super(`HTTP Error: ${e} ${t}`),this.code=this.name=r.code,this.data={statusCode:e,statusMessage:t,response:n}}};xl.code="HttpError";var ta=class r extends Ae{constructor(e){let t="invalid filepath";e==="leading-slash"||e==="trailing-slash"?t='"filepath" parameter should not include leading or trailing directory separators because these can cause problems on some platforms.':e==="directory"&&(t='"filepath" should not be a directory.'),super(t),this.code=this.name=r.code,this.data={reason:e}}};ta.code="InvalidFilepathError";var ku=class r extends Ae{constructor(e){super(`Maximum search depth of ${e} exceeded.`),this.code=this.name=r.code,this.data={depth:e}}};ku.code="MaxDepthError";var El=class r extends Ae{constructor(){super("Merges with conflicts are not supported yet."),this.code=this.name=r.code,this.data={}}};El.code="MergeNotSupportedError";var Xa=class r extends Ae{constructor(e,t,n,i){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=r.code,this.data={filepaths:e,bothModified:t,deleteByUs:n,deleteByTheirs:i}}};Xa.code="MergeConflictError";var ur=class r extends Ae{constructor(e){super(`No name was provided for ${e} in the argument or in the .git/config file.`),this.code=this.name=r.code,this.data={role:e}}};ur.code="MissingNameError";var zr=class r extends Ae{constructor(e){super(`The function requires a "${e}" parameter but none was provided.`),this.code=this.name=r.code,this.data={parameter:e}}};zr.code="MissingParameterError";var Qa=class r extends Ae{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=r.code,this.data={errors:e},this.errors=e}};Qa.code="MultipleGitError";var Ja=class r extends Ae{constructor(e,t){super(`Expected "${e}" but received "${t}".`),this.code=this.name=r.code,this.data={expected:e,actual:t}}};Ja.code="ParseError";var Sl=class r extends Ae{constructor(e){let t="";e==="not-fast-forward"?t=" because it was not a simple fast-forward":e==="tag-exists"&&(t=" because tag already exists"),super(`Push rejected${t}. Use "force: true" to override.`),this.code=this.name=r.code,this.data={reason:e}}};Sl.code="PushRejectedError";var Qs=class r extends Ae{constructor(e,t){super(`Remote does not support the "${e}" so the "${t}" parameter cannot be used.`),this.code=this.name=r.code,this.data={capability:e,parameter:t}}};Qs.code="RemoteCapabilityError";var Cu=class r extends Ae{constructor(e,t){super(`Remote did not reply using the "smart" HTTP protocol. Expected "001e# service=git-upload-pack" but received: ${e}`),this.code=this.name=r.code,this.data={preview:e,response:t}}};Cu.code="SmartHttpError";var Au=class r extends Ae{constructor(e,t,n){super(`Git remote "${e}" uses an unrecognized transport protocol: "${t}"`),this.code=this.name=r.code,this.data={url:e,transport:t,suggestion:n}}};Au.code="UnknownTransportError";var Tu=class r extends Ae{constructor(e){super(`Cannot parse remote URL: "${e}"`),this.code=this.name=r.code,this.data={url:e}}};Tu.code="UrlParseError";var kl=class r extends Ae{constructor(){super("The operation was canceled."),this.code=this.name=r.code,this.data={}}};kl.code="UserCanceledError";var Ru=class r extends Ae{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=r.code,this.data={filepath:e}}};Ru.code="IndexResetError";var Pu=class r extends Ae{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=r.code,this.data={ref:e}}};Pu.code="NoCommitError";var Gn=Object.freeze({__proto__:null,AlreadyExistsError:li,AmbiguousError:gu,CheckoutConflictError:wu,CherryPickMergeCommitError:vu,CherryPickRootCommitError:bu,CommitNotFetchedError:yu,EmptyCommitError:_u,EmptyServerResponseError:xu,FastForwardError:Eu,GitPushError:Su,HttpError:xl,InternalError:ue,InvalidFilepathError:ta,InvalidOidError:Js,InvalidRefNameError:wn,MaxDepthError:ku,MergeNotSupportedError:El,MergeConflictError:Xa,MissingNameError:ur,MissingParameterError:zr,MultipleGitError:Qa,NoRefspecError:pu,NotFoundError:Xe,ObjectTypeError:br,ParseError:Ja,PushRejectedError:Sl,RemoteCapabilityError:Qs,SmartHttpError:Cu,UnknownTransportError:Au,UnsafeFilepathError:Ya,UrlParseError:Tu,UserCanceledError:kl,UnmergedPathsError:hu,IndexResetError:Ru,NoCommitError:Pu});function qw({name:r,email:e,timestamp:t,timezoneOffset:n}){return n=aN(n),`${r} <${e}> ${t} ${n}`}function aN(r){let e=oN(lN(r));r=Math.abs(r);let t=Math.floor(r/60);r-=t*60;let n=String(t),i=String(r);return n.length<2&&(n="0"+n),i.length<2&&(i="0"+i),(e===-1?"-":"+")+n+i}function oN(r){return Math.sign(r)||(Object.is(r,-0)?-1:1)}function lN(r){return r===0?r:-r}function hs(r){return r=r.replace(/\r/g,""),r=r.replace(/^\n+/,""),r=r.replace(/\n+$/,"")+`
|
|
`,r}function Xd(r){let[,e,t,n,i]=r.match(/^(.*) <(.*)> (.*) (.*)$/);return{name:e,email:t,timestamp:Number(n),timezoneOffset:cN(i)}}function cN(r){let[,e,t,n]=r.match(/(\+|-)(\d\d)(\d\d)/);return n=(e==="+"?1:-1)*(Number(t)*60+Number(n)),uN(n)}function uN(r){return r===0?r:-r}var vn=class r{constructor(e){if(typeof e=="string")this._tag=e;else if(_.isBuffer(e))this._tag=e.toString("utf8");else if(typeof e=="object")this._tag=r.render(e);else throw new ue("invalid type passed to GitAnnotatedTag constructor")}static from(e){return new r(e)}static render(e){return`object ${e.object}
|
|
type ${e.type}
|
|
tag ${e.tag}
|
|
tagger ${qw(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(`
|
|
`),t=[];for(let i of e)i[0]===" "?t[t.length-1]+=`
|
|
`+i.slice(1):t.push(i);let n={};for(let i of t){let s=i.slice(0,i.indexOf(" ")),a=i.slice(i.indexOf(" ")+1);Array.isArray(n[s])?n[s].push(a):n[s]=a}return n.tagger&&(n.tagger=Xd(n.tagger)),n.committer&&(n.committer=Xd(n.committer)),n}withoutSignature(){let e=hs(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 hs(e)}payload(){return this.withoutSignature()+`
|
|
`}toObject(){return _.from(this._tag,"utf8")}static async sign(e,t,n){let i=e.payload(),{signature:s}=await t({payload:i,secretKey:n});s=hs(s);let a=i+s;return r.from(a)}};function Ow(r){return r.trim().split(`
|
|
`).map(e=>" "+e).join(`
|
|
`)+`
|
|
`}function fN(r){return r.split(`
|
|
`).map(e=>e.replace(/^ /,"")).join(`
|
|
`)}var Wr=class r{constructor(e){if(typeof e=="string")this._commit=e;else if(_.isBuffer(e))this._commit=e.toString("utf8");else if(typeof e=="object")this._commit=r.render(e);else throw new ue("invalid type passed to GitCommit constructor")}static fromPayloadSignature({payload:e,signature:t}){let n=r.justHeaders(e),i=r.justMessage(e),s=hs(n+`
|
|
gpgsig`+Ow(t)+`
|
|
`+i);return new r(s)}static from(e){return new r(e)}toObject(){return _.from(this._commit,"utf8")}headers(){return this.parseHeaders()}message(){return r.justMessage(this._commit)}parse(){return Object.assign({message:this.message()},this.headers())}static justMessage(e){return hs(e.slice(e.indexOf(`
|
|
|
|
`)+2))}static justHeaders(e){return e.slice(0,e.indexOf(`
|
|
|
|
`))}parseHeaders(){let e=r.justHeaders(this._commit).split(`
|
|
`),t=[];for(let i of e)i[0]===" "?t[t.length-1]+=`
|
|
`+i.slice(1):t.push(i);let n={parent:[]};for(let i of t){let s=i.slice(0,i.indexOf(" ")),a=i.slice(i.indexOf(" ")+1);Array.isArray(n[s])?n[s].push(a):n[s]=a}return n.author&&(n.author=Xd(n.author)),n.committer&&(n.committer=Xd(n.committer)),n}static renderHeaders(e){let t="";if(e.tree?t+=`tree ${e.tree}
|
|
`:t+=`tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904
|
|
`,e.parent){if(e.parent.length===void 0)throw new ue("commit 'parent' property should be an array");for(let s of e.parent)t+=`parent ${s}
|
|
`}let n=e.author;t+=`author ${qw(n)}
|
|
`;let i=e.committer||e.author;return t+=`committer ${qw(i)}
|
|
`,e.gpgsig&&(t+="gpgsig"+Ow(e.gpgsig)),t}static render(e){return r.renderHeaders(e)+`
|
|
`+hs(e.message)}render(){return this._commit}withoutSignature(){let e=hs(this._commit);if(e.indexOf(`
|
|
gpgsig`)===-1)return e;let t=e.slice(0,e.indexOf(`
|
|
gpgsig`)),n=e.slice(e.indexOf(`-----END PGP SIGNATURE-----
|
|
`)+28);return hs(t+`
|
|
`+n)}isolateSignature(){let e=this._commit.slice(this._commit.indexOf("-----BEGIN PGP SIGNATURE-----"),this._commit.indexOf("-----END PGP SIGNATURE-----")+27);return fN(e)}static async sign(e,t,n){let i=e.withoutSignature(),s=r.justMessage(e._commit),{signature:a}=await t({payload:i,secretKey:n});a=hs(a);let l=r.justHeaders(e._commit)+`
|
|
gpgsig`+Ow(a)+`
|
|
`+s;return r.from(l)}};async function Cl({fs:r,cache:e,gitdir:t,oid:n}){if(n==="4b825dc642cb6eb9a060e54bf8d69288fbee4904")return{tree:Vr.from([]),oid:n};let{type:i,object:s}=await at({fs:r,cache:e,gitdir:t,oid:n});if(i==="tag")return n=vn.from(s).parse().object,Cl({fs:r,cache:e,gitdir:t,oid:n});if(i==="commit")return n=Wr.from(s).parse().tree,Cl({fs:r,cache:e,gitdir:t,oid:n});if(i!=="tree")throw new br(n,i,"tree");return{tree:Vr.from(s),oid:n}}var Yw=class{constructor({fs:e,gitdir:t,ref:n,cache:i}){this.fs=e,this.cache=i,this.gitdir=t,this.mapPromise=(async()=>{let a=new Map,o;try{o=await z.resolve({fs:e,gitdir:t,ref:n})}catch(c){if(c instanceof Xe&&await z.isUnbornBranch({fs:e,gitdir:t,ref:n}))o="4b825dc642cb6eb9a060e54bf8d69288fbee4904";else throw c}let l=await Cl({fs:e,cache:this.cache,gitdir:t,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 t=e._fullpath,{fs:n,cache:i,gitdir:s}=this,a=await this.mapPromise,o=a.get(t);if(!o)throw new Error(`No obj for ${t}`);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 at({fs:n,cache:i,gitdir:s,oid:l});if(c!==o.type)throw new br(l,c,o.type);let f=Vr.from(u);for(let d of f)a.set(L(t,d.path),d);return f.entries().map(d=>L(t,d.path))}async type(e){if(e._type===!1){let t=await this.mapPromise,{type:n}=t.get(e._fullpath);e._type=n}return e._type}async mode(e){if(e._mode===!1){let t=await this.mapPromise,{mode:n}=t.get(e._fullpath);e._mode=Hk(parseInt(n,8))}return e._mode}async stat(e){}async content(e){if(e._content===!1){let t=await this.mapPromise,{fs:n,cache:i,gitdir:s}=this,o=t.get(e._fullpath).oid,{type:l,object:c}=await at({fs:n,cache:i,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 n=(await this.mapPromise).get(e._fullpath);e._oid=n.oid}return e._oid}};function jr({ref:r="HEAD"}={}){let e=Object.create(null);return Object.defineProperty(e,sh,{value:function({fs:t,gitdir:n,cache:i}){return new Yw({fs:t,gitdir:n,ref:r,cache:i})}}),Object.freeze(e),e}var Zw=class{constructor({fs:e,dir:t,gitdir:n,cache:i,refresh:s=!0}){this.fs=e,this.cache=i,this.dir=t,this.gitdir=n,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 t=e._fullpath,{fs:n,dir:i}=this,s=await n.readdir(L(i,t));return s===null?null:s.map(a=>L(t,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:t,dir:n}=this,i=await t.lstat(`${n}/${e._fullpath}`);if(!i)throw new Error(`ENOENT: no such file or directory, lstat '${e._fullpath}'`);let s=i.isDirectory()?"tree":"blob";s==="blob"&&!i.isFile()&&!i.isSymbolicLink()&&(s="special"),e._type=s,i=yl(i),e._mode=i.mode,i.size===-1&&e._actualSize&&(i.size=e._actualSize),e._stat=i}return e._stat}async content(e){if(e._content===!1){let{fs:t,dir:n,gitdir:i}=this;if(await e.type()==="tree")e._content=void 0;else{let s;if(await e.mode()>>12===10)s=await t.readlink(`${n}/${e._fullpath}`);else{let o=await(await this._getGitConfig(t,i)).get("core.autocrlf");s=await t.read(`${n}/${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 t=this,{fs:n,gitdir:i,cache:s}=this,a;await yt.acquire({fs:n,gitdir:i,cache:s},async function(o){let l=o.entriesMap.get(e._fullpath),c=await e.stat(),f=await(await t._getGitConfig(n,i)).get("core.filemode"),d=typeof process!="undefined"?process.platform!=="win32":!0;if(!l||Wd(c,l,f,d)){let h=await e.content();h===void 0?a=void 0:(a=await Bi(ea.wrap({type:"blob",object:h})),t.refresh&&l&&a===l.oid&&(!f||c.mode===l.mode)&&Wd(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,t){return this.config?this.config:(this.config=await vt.get({fs:e,gitdir:t}),this.config)}};function Fu({refresh:r=!0}={}){let e=Object.create(null);return Object.defineProperty(e,sh,{value:function({fs:t,dir:n,gitdir:i,cache:s}){return new Zw({fs:t,dir:n,gitdir:i,cache:s,refresh:r})}}),Object.freeze(e),e}function dN(r,e){let t=e-r;return Array.from({length:t},(n,i)=>r+i)}var Yk=typeof Array.prototype.flat=="undefined"?r=>r.reduce((e,t)=>e.concat(t),[]):r=>r.flat(),Kw=class{constructor(){this.value=null}consider(e){e!=null&&(this.value===null?this.value=e:e<this.value&&(this.value=e))}reset(){this.value=null}};function*hN(r){let e=new Kw,t,n=[],i=r.length;for(let s=0;s<i;s++)n[s]=r[s].next().value,n[s]!==void 0&&e.consider(n[s]);if(e.value!==null)for(;;){let s=[];t=e.value,e.reset();for(let a=0;a<i;a++)n[a]!==void 0&&n[a]===t?(s[a]=n[a],n[a]=r[a].next().value):s[a]=null,n[a]!==void 0&&e.consider(n[a]);if(yield s,e.value===null)return}}async function ps({fs:r,cache:e,dir:t,gitdir:n,trees:i,map:s=async(l,c)=>c,reduce:a=async(l,c)=>{let u=Yk(c);return l!==void 0&&u.unshift(l),u},iterate:o=(l,c)=>Promise.all([...c].map(l))}){let l=i.map(h=>h[sh]({fs:r,dir:t,gitdir:n,cache:e})),c=new Array(l.length).fill("."),u=dN(0,l.length),f=async h=>{u.forEach(w=>{let b=h[w];h[w]=b&&new l[w].ConstructEntry(b)});let g=(await Promise.all(u.map(w=>{let b=h[w];return b?l[w].readdir(b):[]}))).map(w=>(w===null?[]:w)[Symbol.iterator]());return{entries:h,children:hN(g)}},d=async h=>{let{entries:p,children:g}=await f(h),w=p.find(y=>y&&y._fullpath)._fullpath,b=await s(w,p);if(b!==null){let y=await o(d,g);return y=y.filter(k=>k!==void 0),a(b,y)}};return d(c)}async function Zk(r,e,t=10){try{await r(e)}catch(n){if(n===null||n.code==="EEXIST")return;if(n.code!=="ENOENT")throw n;let i=Za(e);if(i==="."||i==="/"||i===e)throw n;await Zk(r,i,t);for(let s=0;;s++)try{await r(e);return}catch(a){if(a===null||a.code==="EEXIST")return;if(a.code==="ENOENT"&&s<t){await new Promise(o=>setTimeout(o,0));continue}throw a}}}async function Xw(r,e){let t=await r.readdir(e);t==null?await r.rm(e):t.length?await Promise.all(t.map(n=>{let i=L(e,n);return r.lstat(i).then(s=>{if(s)return s.isDirectory()?Xw(r,i):r.rm(i)})})).then(()=>r.rmdir(e)):await r.rmdir(e)}function pN(r){return mN(r)&&bk(r.then)&&bk(r.catch)}function mN(r){return r&&typeof r=="object"}function bk(r){return typeof r=="function"}function yk(r){return pN((t=>{try{return t.readFile().catch(n=>n)}catch(n){return n}})(r))}var _k=["readFile","writeFile","mkdir","rmdir","unlink","stat","lstat","readdir","readlink","symlink"];function xk(r,e){if(yk(e))for(let t of _k)r[`_${t}`]=e[t].bind(e);else for(let t of _k)r[`_${t}`]=(0,du.default)(e[t].bind(e));yk(e)?(e.cp&&(r._cp=e.cp.bind(e)),e.rm?r._rm=e.rm.bind(e):e.rmdir.length>1?r._rm=e.rmdir.bind(e):r._rm=Xw.bind(null,r)):(e.cp&&(r._cp=(0,du.default)(e.cp.bind(e))),e.rm?r._rm=(0,du.default)(e.rm.bind(e)):e.rmdir.length>2?r._rm=(0,du.default)(e.rmdir.bind(e)):r._rm=Xw.bind(null,r))}var Z=class{constructor(e){if(typeof e._original_unwrapped_fs!="undefined")return e;let t=Object.getOwnPropertyDescriptor(e,"promises");t&&t.enumerable?xk(this,e.promises):xk(this,e),this._original_unwrapped_fs=e}async exists(e,t={}){try{return await this._stat(e),!0}catch(n){if(n.code==="ENOENT"||n.code==="ENOTDIR"||(n.code||"").includes("ENS"))return!1;throw console.log('Unhandled error in "FileSystem.exists()" function',n),n}}async read(e,t={}){try{let n=await this._readFile(e,t);if(t.autocrlf==="true")try{n=new TextDecoder("utf8",{fatal:!0}).decode(n),n=n.replace(/\r\n/g,`
|
|
`),n=new TextEncoder().encode(n)}catch(i){}return typeof n!="string"&&(n=_.from(n)),n}catch(n){return null}}async write(e,t,n={}){try{await this._writeFile(e,t,n)}catch(i){await this.mkdir(Za(e)),await this._writeFile(e,t,n)}}async mkdir(e){await Zk(this._mkdir,e)}async rm(e){try{await this._unlink(e)}catch(t){if(t.code!=="ENOENT")throw t}}async rmdir(e,t){try{t&&t.recursive?await this._rm(e,t):await this._rmdir(e)}catch(n){if(n.code!=="ENOENT")throw n}}async readdir(e){try{let t=await this._readdir(e);return t.sort(ih),t}catch(t){return t.code==="ENOTDIR"?null:[]}}async readdirDeep(e){let t=await this._readdir(e);return(await Promise.all(t.map(async i=>{let s=e+"/"+i;return(await this._stat(s)).isDirectory()?this.readdirDeep(s):s}))).reduce((i,s)=>i.concat(s),[])}async lstat(e){try{return await this._lstat(e)}catch(t){if(t.code==="ENOENT"||(t.code||"").includes("ENS"))return null;throw t}}async readlink(e,t={encoding:"buffer"}){try{let n=await this._readlink(e,t);return _.isBuffer(n)?n:_.from(n)}catch(n){if(n.code==="ENOENT"||(n.code||"").includes("ENS"))return null;throw n}}async writelink(e,t){return this._symlink(t.toString("utf8"),e)}};function P(r,e){if(e===void 0)throw new zr(r)}function gN(r){return r.startsWith("/")||/^[a-zA-Z]:[\\/]/.test(r)}async function J({fsp:r,dotgit:e}){P("fsp",r),P("dotgit",e);let t=await r._stat(e).catch(()=>({isFile:()=>!1,isDirectory:()=>!1}));return t.isDirectory()?e:t.isFile()?r._readFile(e,"utf8").then(n=>n.trimRight().substr(8)).then(n=>gN(n)?n:L(Za(e),n)):e}async function Qd(r,e){return!r&&!e?!1:r&&!e||!r&&e?!0:!(await r.type()==="tree"&&await e.type()==="tree"||await r.type()===await e.type()&&await r.mode()===await e.mode()&&await r.oid()===await e.oid())}async function wN({fs:r,dir:e,gitdir:t=L(e,".git"),commit:n="HEAD",cache:i={}}){try{P("fs",r),P("dir",e),P("gitdir",t);let s=new Z(r),a=[jr({ref:n}),Fu(),Ka()],o=[],l=await J({fsp:s,dotgit:t});await yt.acquire({fs:s,gitdir:l,cache:i},async function(u){o=u.unmergedPaths});let c=await ps({fs:s,cache:i,dir:e,gitdir:l,trees:a,map:async function(u,[f,d,h]){let p=!await Qd(d,h),g=o.includes(u),w=!await Qd(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(w)return!1;throw new Ru(u)}});await yt.acquire({fs:s,gitdir:l,cache:i},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 ra=class{static async isIgnored({fs:e,dir:t,gitdir:n=L(t,".git"),filepath:i}){if(qd(i)===".git")return!0;if(i===".")return!1;let s="",a=L(n,"info","exclude");await e.exists(a)&&(s=await e.read(a,"utf8"));let o=[{gitignore:L(t,".gitignore"),filepath:i}],l=i.split("/").filter(Boolean);for(let u=1;u<l.length;u++){let f=l.slice(0,u).join("/"),d=l.slice(u).join("/");o.push({gitignore:L(t,f,".gitignore"),filepath:d})}let c=!1;for(let[u,f]of o.entries()){let d;try{d=await e.read(f.gitignore,"utf8")}catch(g){if(g.code==="NOENT")continue}let h=(0,Nk.default)();u===0&&h.add(s),h.add(d);let p=Za(f.filepath);if(p!=="."&&h.ignores(p))return!0;c?c=!h.test(f.filepath).unignored:c=h.test(f.filepath).ignored}return c}};async function vN({fs:r,gitdir:e,object:t,format:n,oid:i}){if(n!=="deflated")throw new ue("GitObjectStoreLoose expects objects to write to be in deflated format");let s=`objects/${i.slice(0,2)}/${i.slice(2)}`,a=`${e}/${s}`;await r.exists(a)||await r.write(a,t)}var Dw=null;async function Kk(r){return Dw===null&&(Dw=yN()),Dw?bN(r):nh.default.deflate(r)}async function bN(r){let e=new CompressionStream("deflate"),t=new Blob([r]).stream().pipeThrough(e);return new Uint8Array(await new Response(t).arrayBuffer())}function yN(){try{return new CompressionStream("deflate").writable.close(),new Blob([]).stream().cancel(),!0}catch(r){return!1}}async function qr({fs:r,gitdir:e,type:t,object:n,format:i="content",oid:s=void 0,dryRun:a=!1}){return i!=="deflated"&&(i!=="wrapped"&&(n=ea.wrap({type:t,object:n})),s=await Bi(n),n=_.from(await Kk(n))),a||await vN({fs:r,gitdir:e,object:n,format:"deflated",oid:s}),s}function Xk(r){let e;for(;~(e=r.indexOf(92));)r[e]=47;return r}async function _N({fs:r,dir:e,gitdir:t=L(e,".git"),filepath:n,cache:i={},force:s=!1,parallel:a=!0}){try{P("fs",r),P("dir",e),P("gitdir",t),P("filepath",n);let o=new Z(r),l=await J({fsp:o,dotgit:t});await yt.acquire({fs:o,gitdir:l,cache:i},async c=>{let f=await(await vt.get({fs:o,gitdir:l})).get("core.autocrlf");return Qw({dir:e,gitdir:l,fs:o,filepath:n,index:c,force:s,parallel:a,autocrlf:f})})}catch(o){throw o.caller="git.add",o}}function xN(r,e){if(r.has({filepath:e}))return!0;let t=`${e}/`;for(let n of r.entriesMap.keys())if(n.startsWith(t))return!0;return!1}async function Qw({dir:r,gitdir:e,fs:t,filepath:n,index:i,force:s,parallel:a,autocrlf:o}){n=Array.isArray(n)?n:[n];let l=n.map(async d=>{if(!s&&!xN(i,d)&&await ra.isIgnored({fs:t,dir:r,gitdir:e,filepath:d}))return;let h=await t.lstat(L(r,d));if(!h)throw new Xe(d);if(h.isDirectory()){let p=await t.readdir(L(r,d));if(a){let g=p.map(w=>Qw({dir:r,gitdir:e,fs:t,filepath:[L(d,w)],index:i,force:s,parallel:a,autocrlf:o}));await Promise.all(g)}else for(let g of p)await Qw({dir:r,gitdir:e,fs:t,filepath:[L(d,g)],index:i,force:s,parallel:a,autocrlf:o})}else{let p=h.isSymbolicLink()?await t.readlink(L(r,d)).then(Xk):await t.read(L(r,d),{autocrlf:o});if(p===null)throw new Xe(d);let g=await qr({fs:t,gitdir:e,type:"blob",object:p});i.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 Qa(u);if(u.length===1)throw u[0];return c.filter(d=>d.status==="fulfilled"&&d.value).map(d=>d.value)}async function $u({fs:r,gitdir:e,path:t}){return(await vt.get({fs:r,gitdir:e})).get(t)}function Qk(r,...e){for(let t of e)if(t)for(let n of Object.keys(t)){let i=t[n];i!==void 0&&(r[n]=i)}return r}async function na({fs:r,gitdir:e,author:t,commit:n}){let i=Math.floor(Date.now()/1e3),s={name:await $u({fs:r,gitdir:e,path:"user.name"}),email:await $u({fs:r,gitdir:e,path:"user.email"})||"",timestamp:i,timezoneOffset:new Date(i*1e3).getTimezoneOffset()},a=Qk({},s,n?n.author:void 0,t);if(a.name!==void 0)return a}async function eo({fs:r,gitdir:e,author:t,committer:n,commit:i}){let s=Math.floor(Date.now()/1e3),a={name:await $u({fs:r,gitdir:e,path:"user.name"}),email:await $u({fs:r,gitdir:e,path:"user.email"})||"",timestamp:s,timezoneOffset:new Date(s*1e3).getTimezoneOffset()},o=Qk({},a,i?i.committer:void 0,t,n);if(o.name!==void 0)return o}async function Jk({fs:r,cache:e,gitdir:t,oid:n}){let{type:i,object:s}=await at({fs:r,cache:e,gitdir:t,oid:n});if(i==="tag")return n=vn.from(s).parse().object,Jk({fs:r,cache:e,gitdir:t,oid:n});if(i!=="commit")throw new br(n,i,"commit");return{commit:Wr.from(s),oid:n}}async function Ni({fs:r,cache:e,gitdir:t,oid:n}){let{commit:i,oid:s}=await Jk({fs:r,cache:e,gitdir:t,oid:n});return{oid:s,commit:i.parse(),payload:i.withoutSignature()}}var EN="4b825dc642cb6eb9a060e54bf8d69288fbee4904";async function Mu({fs:r,cache:e,onSign:t,gitdir:n,message:i,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,w=!1;d||(w=!(await r.read(`${n}/HEAD`,{encoding:"utf8"})).startsWith("ref:"),d=await z.resolve({fs:r,gitdir:n,ref:"HEAD",depth:2}));let b,y;try{b=await z.resolve({fs:r,gitdir:n,ref:d})}catch(S){g=!0}if(!g&&(l||f)&&(y=await Ni({fs:r,gitdir:n,oid:b,cache:e})),l&&g)throw new Pu(d);let k=l?await na({fs:r,gitdir:n,author:s,commit:y.commit}):await na({fs:r,gitdir:n,author:s});if(!k)throw new ur("author");let C=l?await eo({fs:r,gitdir:n,author:k,committer:a,commit:y.commit}):await eo({fs:r,gitdir:n,author:k,committer:a});if(!C)throw new ur("committer");return yt.acquire({fs:r,gitdir:n,cache:e,allowUnmerged:!1},async function(S){let v=jk(S.entries).get(".");if(p||(p=await eC({fs:r,gitdir:n,inode:v,dryRun:c})),h?h=await Promise.all(h.map(R=>z.resolve({fs:r,gitdir:n,ref:R}))):l?h=y.commit.parent:h=b?[b]:[],f&&!l&&(g&&p===EN||!g&&p===y.commit.tree))throw new _u;if(!i)if(l)i=y.commit.message;else throw new zr("message");let x=Wr.from({tree:p,parent:h,author:k,committer:C,message:i});o&&(x=await Wr.sign(x,t,o));let E=await qr({fs:r,gitdir:n,type:"commit",object:x.toObject(),dryRun:c});return!u&&!c&&await z.writeRef({fs:r,gitdir:n,ref:w?"HEAD":d,value:E}),E})}async function eC({fs:r,gitdir:e,inode:t,dryRun:n}){let i=t.children;for(let l of i)l.type==="tree"&&(l.metadata.mode="040000",l.metadata.oid=await eC({fs:r,gitdir:e,inode:l,dryRun:n}));let s=i.map(l=>({mode:l.metadata.mode,path:l.basename,oid:l.metadata.oid,type:l.type})),a=Vr.from(s);return await qr({fs:r,gitdir:e,type:"tree",object:a.toObject(),dryRun:n})}async function ah({fs:r,cache:e,gitdir:t,oid:n,filepath:i}){return(await tC({fs:r,cache:e,gitdir:t,oid:n,filepath:i})).oid}async function tC({fs:r,cache:e,gitdir:t,oid:n,filepath:i}){if(i.startsWith("/"))throw new ta("leading-slash");if(i.endsWith("/"))throw new ta("trailing-slash");let s=n,a=await Cl({fs:r,cache:e,gitdir:t,oid:n}),o=a.tree;if(i==="")return{mode:"040000",oid:a.oid,path:"",type:"tree"};{let l=i.split("/");return rC({fs:r,cache:e,gitdir:t,tree:o,pathArray:l,oid:s,filepath:i})}}async function rC({fs:r,cache:e,gitdir:t,tree:n,pathArray:i,oid:s,filepath:a}){let o=i.shift();for(let l of n)if(l.path===o){if(i.length===0)return l;{let{type:c,object:u}=await at({fs:r,cache:e,gitdir:t,oid:l.oid});if(c!=="tree")throw new br(s,c,"tree",a);return n=Vr.from(u),rC({fs:r,cache:e,gitdir:t,tree:n,pathArray:i,oid:s,filepath:a})}}throw new Xe(`file or directory found at "${s}:${a}"`)}async function Rl({fs:r,cache:e,gitdir:t,oid:n,filepath:i=void 0}){i!==void 0&&(n=await ah({fs:r,cache:e,gitdir:t,oid:n,filepath:i}));let{tree:s,oid:a}=await Cl({fs:r,cache:e,gitdir:t,oid:n});return{oid:a,tree:s.entries()}}async function Ou({fs:r,gitdir:e,tree:t}){let n=Vr.from(t).toObject();return await qr({fs:r,gitdir:e,type:"tree",object:n,format:"content"})}async function SN({fs:r,cache:e,onSign:t,gitdir:n,ref:i,oid:s,note:a,force:o,author:l,committer:c,signingKey:u}){let f;try{f=await z.resolve({gitdir:n,fs:r,ref:i})}catch(b){if(!(b instanceof Xe))throw b}let h=(await Rl({fs:r,cache:e,gitdir:n,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 li("note",s);typeof a=="string"&&(a=_.from(a,"utf8"));let p=await qr({fs:r,gitdir:n,type:"blob",object:a,format:"content"});h.push({mode:"100644",path:s,oid:p,type:"blob"});let g=await Ou({fs:r,gitdir:n,tree:h});return await Mu({fs:r,cache:e,onSign:t,gitdir:n,ref:i,tree:g,parent:f&&[f],message:`Note added by 'isomorphic-git addNote'
|
|
`,author:l,committer:c,signingKey:u})}async function kN({fs:r,onSign:e,dir:t,gitdir:n=L(t,".git"),ref:i="refs/notes/commits",oid:s,note:a,force:o,author:l,committer:c,signingKey:u,cache:f={}}){try{P("fs",r),P("gitdir",n),P("oid",s),P("note",a),u&&P("onSign",e);let d=new Z(r),h=await na({fs:d,gitdir:n,author:l});if(!h)throw new ur("author");let p=await eo({fs:d,gitdir:n,author:h,committer:c});if(!p)throw new ur("committer");let g=await J({fsp:d,dotgit:n});return await SN({fs:d,cache:f,onSign:e,gitdir:g,ref:i,oid:s,note:a,force:o,author:h,committer:p,signingKey:u})}catch(d){throw d.caller="git.addNote",d}}async function nC({fs:r,gitdir:e,remote:t,url:n,force:i}){if(!_l(t,!0))throw new wn(t,qa.default.clean(t));let s=await vt.get({fs:r,gitdir:e});if(!i&&(await s.getSubsections("remote")).includes(t)&&n!==await s.get(`remote.${t}.url`))throw new li("remote",t);await s.set(`remote.${t}.url`,n),await s.set(`remote.${t}.fetch`,`+refs/heads/*:refs/remotes/${t}/*`),await vt.save({fs:r,gitdir:e,config:s})}async function CN({fs:r,dir:e,gitdir:t=L(e,".git"),remote:n,url:i,force:s=!1}){try{P("fs",r),P("gitdir",t),P("remote",n),P("url",i);let a=new Z(r),o=await J({fsp:a,dotgit:t});return await nC({fs:a,gitdir:o,remote:n,url:i,force:s})}catch(a){throw a.caller="git.addRemote",a}}async function AN({fs:r,cache:e,onSign:t,gitdir:n,ref:i,tagger:s,message:a=i,gpgsig:o,object:l,signingKey:c,force:u=!1}){if(i=i.startsWith("refs/tags/")?i:`refs/tags/${i}`,!u&&await z.exists({fs:r,gitdir:n,ref:i}))throw new li("tag",i);let f=await z.resolve({fs:r,gitdir:n,ref:l||"HEAD"}),{type:d}=await at({fs:r,cache:e,gitdir:n,oid:f}),h=vn.from({object:f,type:d,tag:i.replace("refs/tags/",""),tagger:s,message:a,gpgsig:o});c&&(h=await vn.sign(h,t,c));let p=await qr({fs:r,gitdir:n,type:"tag",object:h.toObject()});await z.writeRef({fs:r,gitdir:n,ref:i,value:p})}async function TN({fs:r,onSign:e,dir:t,gitdir:n=L(t,".git"),ref:i,tagger:s,message:a=i,gpgsig:o,object:l,signingKey:c,force:u=!1,cache:f={}}){try{P("fs",r),P("gitdir",n),P("ref",i),c&&P("onSign",e);let d=new Z(r),h=await J({fsp:d,dotgit:n}),p=await na({fs:d,gitdir:h,author:s});if(!p)throw new ur("tagger");return await AN({fs:d,cache:f,onSign:e,gitdir:h,ref:i,tagger:p,message:a,gpgsig:o,object:l,signingKey:c,force:u})}catch(d){throw d.caller="git.annotatedTag",d}}async function RN({fs:r,gitdir:e,ref:t,object:n,checkout:i=!1,force:s=!1}){if(!_l(t,!0))throw new wn(t,qa.default.clean(t));let a=`refs/heads/${t}`;if(!s&&await z.exists({fs:r,gitdir:e,ref:a}))throw new li("branch",t,!1);let o;try{o=await z.resolve({fs:r,gitdir:e,ref:n||"HEAD"})}catch(l){}o&&await z.writeRef({fs:r,gitdir:e,ref:a,value:o}),i&&await z.writeSymbolicRef({fs:r,gitdir:e,ref:"HEAD",value:a})}async function PN({fs:r,dir:e,gitdir:t=L(e,".git"),ref:n,object:i,checkout:s=!1,force:a=!1}){try{P("fs",r),P("gitdir",t),P("ref",n);let o=new Z(r),l=await J({fsp:o,dotgit:t});return await RN({fs:o,gitdir:l,ref:n,object:i,checkout:s,force:a})}catch(o){throw o.caller="git.branch",o}}async function Iu(r,e,t){let n=t.split("/");n.pop();let i=e;for(let s of n){if(s===""||s===".")continue;i=`${i}/${s}`;let a=await r.lstat(i);if(a&&a.isSymbolicLink())throw new Ya(t)}}var iC=(r,e)=>{if(r==="."||e==null||e.length===0||e===".")return!0;let t=e.endsWith("/")?e.slice(0,-1):e;return t==="."?!0:t.length>=r.length?t===r||t.startsWith(`${r}/`):r.startsWith(`${t}/`)};async function rv({fs:r,cache:e,onProgress:t,onPostCheckout:n,dir:i,gitdir:s,remote:a,ref:o,filepaths:l,noCheckout:c,noUpdateHead:u,dryRun:f,force:d,track:h=!0,restoreFromIndex:p=!1,nonBlocking:g=!1,batchSize:w=100}){let b;if(n)try{b=await z.resolve({fs:r,gitdir:s,ref:"HEAD"})}catch(k){b="0000000000000000000000000000000000000000"}let y;try{y=await z.resolve({fs:r,gitdir:s,ref:o})}catch(k){if(o==="HEAD")throw k;let C=`${a}/${o}`;if(y=await z.resolve({fs:r,gitdir:s,ref:C}),h){let S=await vt.get({fs:r,gitdir:s});await S.set(`branch.${o}.remote`,a),await S.set(`branch.${o}.merge`,`refs/heads/${o}`),await vt.save({fs:r,gitdir:s,config:S})}await z.writeRef({fs:r,gitdir:s,ref:`refs/heads/${o}`,value:y})}if(!c){let k;try{k=await $N({fs:r,cache:e,onProgress:t,dir:i,gitdir:s,ref:o,force:d,filepaths:l,restoreFromIndex:p})}catch(x){throw x instanceof Xe&&x.data.what===y?new yu(o,y):x}let C=k.filter(([x])=>x==="conflict").map(([x,E])=>E);if(C.length>0)throw new wu(C);let S=k.filter(([x])=>x==="error").map(([x,E])=>E);if(S.length>0)throw new ue(S.join(", "));if(f){n&&await n({previousHead:b,newHead:y,type:l!=null&&l.length>0?"file":"branch"});return}let A=0,v=k.length;if(await yt.acquire({fs:r,gitdir:s,cache:e},async function(x){await Promise.all(k.filter(([E])=>E==="delete"||E==="delete-index").map(async function([E,R]){let $=`${i}/${R}`;E==="delete"&&await r.rm($),x.delete({filepath:R}),t&&await t({phase:"Updating workdir",loaded:++A,total:v})}))}),await yt.acquire({fs:r,gitdir:s,cache:e},async function(x){for(let[E,R]of k)if(E==="rmdir"||E==="rmdir-index"){let $=`${i}/${R}`;try{E==="rmdir"&&await r.rmdir($),x.delete({filepath:R}),t&&await t({phase:"Updating workdir",loaded:++A,total:v})}catch(D){if(D.code==="ENOTEMPTY")console.log(`Did not delete ${R} because directory is not empty`);else throw D}}}),await Promise.all(k.filter(([x])=>x==="mkdir"||x==="mkdir-index").map(async function([x,E]){let R=`${i}/${E}`;await Iu(r,i,E),await r.mkdir(R),t&&await t({phase:"Updating workdir",loaded:++A,total:v})})),g){let x=k.filter(([R])=>R==="create"||R==="create-index"||R==="update"||R==="mkdir-index"),E=await Ek("Update Working Dir",x.map(([R,$,D,O,U])=>()=>FN({fs:r,cache:e,gitdir:s,dir:i},[R,$,D,O,U])),t,w);await yt.acquire({fs:r,gitdir:s,cache:e,allowUnmerged:!0},async function(R){await Ek("Update Index",E.map(([$,D,O])=>()=>IN({index:R,fullpath:$,oid:D,stats:O})),t,w)})}else await yt.acquire({fs:r,gitdir:s,cache:e,allowUnmerged:!0},async function(x){var $,D;let E=await Promise.allSettled(k.filter(([O])=>O==="create"||O==="create-index"||O==="update"||O==="mkdir-index").map(async function([O,U,me,Ne,Re]){let be=`${i}/${U}`;if(O!=="create-index"&&O!=="mkdir-index"){await Iu(r,i,U);let{object:ae}=await at({fs:r,cache:e,gitdir:s,oid:me});if(Re&&await r.rm(be),Ne===33188)await r.write(be,ae);else if(Ne===33261)await r.write(be,ae,{mode:511});else if(Ne===40960)await r.writelink(be,ae);else throw new ue(`Invalid mode 0o${Ne.toString(8)} detected in blob ${me}`)}let ye=await r.lstat(be);Ne===33261&&(ye.mode=493),O==="mkdir-index"&&(ye.mode=57344),x.insert({filepath:U,stats:ye,oid:me}),t&&await t({phase:"Updating workdir",loaded:++A,total:v})})),R=[];for(let O of E)O.status==="rejected"&&(R.push(O.reason),console.error("[isomorphic-git checkout] task rejected:",(D=($=O.reason)==null?void 0:$.stack)!=null?D:O.reason));if(R.length>0)throw new Qa(R)});n&&await n({previousHead:b,newHead:y,type:l!=null&&l.length>0?"file":"branch"})}if(!u){let k=await z.expand({fs:r,gitdir:s,ref:o});k.startsWith("refs/heads")?await z.writeSymbolicRef({fs:r,gitdir:s,ref:"HEAD",value:k}):await z.writeRef({fs:r,gitdir:s,ref:"HEAD",value:y})}}async function $N({fs:r,cache:e,onProgress:t,dir:n,gitdir:i,ref:s,force:a,filepaths:o,restoreFromIndex:l}){let c=0;return ps({fs:r,cache:e,dir:n,gitdir:i,trees:[l?Ka():jr({ref:s}),Fu(),Ka()],map:async function(u,[f,d,h]){if(u===".")return;if(o&&!o.some(g=>iC(u,g)))return null;switch(t&&await t({phase:"Analyzing workdir",loaded:++c}),[!!h,!!f,!!d].map(Number).join("")){case"000":return;case"001":return!l&&a&&o&&o.includes(u)?["delete",u]:void 0;case"010":switch(await f.type()){case"tree":return["mkdir",u];case"blob":return["create",u,await f.oid(),await f.mode()];case"commit":return["mkdir-index",u,await f.oid(),await f.mode()];default:return["error",`new entry Unhandled type ${await f.type()}`]}case"011":switch(`${await f.type()}-${await d.type()}`){case"tree-tree":return;case"tree-blob":case"blob-tree":return["conflict",u];case"blob-blob":return await f.oid()!==await d.oid()?a?["update",u,await f.oid(),await f.mode(),await f.mode()!==await d.mode()]:["conflict",u]:await f.mode()!==await d.mode()?a?["update",u,await f.oid(),await f.mode(),!0]:["conflict",u]:["create-index",u,await f.oid(),await f.mode()];case"commit-tree":return;case"commit-blob":return["conflict",u];default:return["error",`new entry Unhandled type ${f.type}`]}case"100":return["delete-index",u];case"101":switch(await h.type()){case"tree":return["rmdir-index",u];case"blob":return await h.oid()!==await d.oid()?a?["delete",u]:["conflict",u]:["delete",u];case"commit":return["rmdir-index",u];default:return["error",`delete entry Unhandled type ${await h.type()}`]}case"110":case"111":switch(`${await h.type()}-${await f.type()}`){case"tree-tree":return;case"blob-blob":{if(await h.oid()===await f.oid()&&await h.mode()===await f.mode()&&!a)return;if(d){if(await d.oid()!==await h.oid()&&await d.oid()!==await f.oid())return a?["update",u,await f.oid(),await f.mode(),await f.mode()!==await d.mode()]:["conflict",u]}else if(a)return["update",u,await f.oid(),await f.mode(),await f.mode()!==await h.mode()];return await f.mode()!==await h.mode()?["update",u,await f.oid(),await f.mode(),!0]:await f.oid()!==await h.oid()?["update",u,await f.oid(),await f.mode(),!1]:void 0}case"tree-blob":return["update-dir-to-blob",u,await f.oid()];case"blob-tree":return["update-blob-to-tree",u];case"commit-commit":return["mkdir-index",u,await f.oid(),await f.mode()];default:return["error",`update entry Unhandled type ${await h.type()}-${await f.type()}`]}}},reduce:async function(u,f){return f=Yk(f),u?u&&u[0]==="rmdir"?(f.push(u),f):(f.unshift(u),f):f}})}async function IN({index:r,fullpath:e,stats:t,oid:n}){try{r.insert({filepath:e,stats:t,oid:n})}catch(i){console.warn(`Error inserting ${e} into index:`,i)}}async function FN({fs:r,cache:e,gitdir:t,dir:n},[i,s,a,o,l]){let c=`${n}/${s}`;if(i!=="create-index"&&i!=="mkdir-index"){await Iu(r,n,s);let{object:f}=await at({fs:r,cache:e,gitdir:t,oid:a});if(l&&await r.rm(c),o===33188)await r.write(c,f);else if(o===33261)await r.write(c,f,{mode:511});else if(o===40960)await r.writelink(c,f);else throw new ue(`Invalid mode 0o${o.toString(8)} detected in blob ${a}`)}let u=await r.lstat(c);return o===33261&&(u.mode=493),i==="mkdir-index"&&(u.mode=57344),[s,a,u]}async function Ek(r,e,t,n){let i=[],s=[];for(let a=0;a<e.length;a+=n){let o=e.slice(a,a+n).map(c=>c());(await Promise.allSettled(o)).forEach(c=>{var u,f;c.status==="fulfilled"?i.push(c.value):(s.push(c.reason),console.error(`[isomorphic-git ${r}] task rejected:`,(f=(u=c.reason)==null?void 0:u.stack)!=null?f:c.reason))}),t&&await t({phase:"Updating workdir",loaded:a+o.length,total:e.length})}if(s.length>0)throw new Qa(s);return i}async function sC({fs:r,onProgress:e,onPostCheckout:t,dir:n,gitdir:i=L(n,".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{P("fs",r),P("dir",n),P("gitdir",i);let w=a||"HEAD",b=a===void 0&&o!=null&&o.length>0,y=new Z(r),k=await J({fsp:y,dotgit:i});return await rv({fs:y,cache:h,onProgress:e,onPostCheckout:t,dir:n,gitdir:k,remote:s,ref:w,filepaths:o,noCheckout:l,noUpdateHead:c,dryRun:u,force:f,track:d,restoreFromIndex:b,nonBlocking:p,batchSize:g})}catch(w){throw w.caller="git.checkout",w}}var Lw=/^.*(\r?\n|$)/gm;function MN({branches:r,contents:e}){let t=r[1],n=r[2],i=e[0],s=e[1],a=e[2],o=s.match(Lw),l=i.match(Lw),c=a.match(Lw),u=(0,Bk.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)} ${t}
|
|
`,d+=p.conflict.a.join(""),d+=`${"=".repeat(f)}
|
|
`,d+=p.conflict.b.join(""),d+=`${">".repeat(f)} ${n}
|
|
`);return{cleanMerge:h,mergedText:d}}async function aC({fs:r,cache:e,dir:t,gitdir:n=L(t,".git"),index:i,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=jr({ref:s}),g=jr({ref:a}),w=jr({ref:o}),b=[],y=[],k=[],C=[],S=await ps({fs:r,cache:e,dir:t,gitdir:n,trees:[p,g,w],map:async function(A,[v,x,E]){let R=qd(A),$=await Qd(v,x),D=await Qd(E,x);switch(`${$}-${D}`){case"false-false":return{mode:await x.mode(),path:R,oid:await x.oid(),type:await x.type()};case"false-true":return!E&&await v.type()==="tree"?{mode:await v.mode(),path:R,oid:await v.oid(),type:await v.type()}:E?{mode:await E.mode(),path:R,oid:await E.oid(),type:await E.type()}:void 0;case"true-false":return!v&&await E.type()==="tree"?{mode:await E.mode(),path:R,oid:await E.oid(),type:await E.type()}:v?{mode:await v.mode(),path:R,oid:await v.oid(),type:await v.type()}:void 0;case"true-true":{if(v&&E&&await v.type()==="tree"&&await E.type()==="tree")return{mode:await v.mode(),path:R,oid:await v.oid(),type:"tree"};if(v&&E&&await v.type()==="blob"&&await E.type()==="blob")return ON({fs:r,gitdir:n,path:R,ours:v,base:x,theirs:E,ourName:l,baseName:c,theirName:u,mergeDriver:h}).then(async O=>{if(O.cleanMerge)d||i.insert({filepath:A,oid:O.mergeResult.oid,stage:0});else if(b.push(A),y.push(A),!d){let U="";x&&await x.type()==="blob"&&(U=await x.oid());let me=await v.oid(),Ne=await E.oid();i.delete({filepath:A}),U&&i.insert({filepath:A,oid:U,stage:1}),i.insert({filepath:A,oid:me,stage:2}),i.insert({filepath:A,oid:Ne,stage:3})}return O.mergeResult});if(x&&!v&&E&&await x.type()==="blob"&&await E.type()==="blob"){if(b.push(A),k.push(A),!d){let O=await x.oid(),U=await E.oid();i.delete({filepath:A}),i.insert({filepath:A,oid:O,stage:1}),i.insert({filepath:A,oid:U,stage:3})}return{mode:await E.mode(),oid:await E.oid(),type:"blob",path:R}}if(x&&v&&!E&&await x.type()==="blob"&&await v.type()==="blob"){if(b.push(A),C.push(A),!d){let O=await x.oid(),U=await v.oid();i.delete({filepath:A}),i.insert({filepath:A,oid:O,stage:1}),i.insert({filepath:A,oid:U,stage:2})}return{mode:await v.mode(),oid:await v.oid(),type:"blob",path:R}}if(x&&!v&&!E&&(await x.type()==="blob"||await x.type()==="tree"))return;throw new El}}},reduce:b.length!==0&&(!t||d)?void 0:async(A,v)=>{let x=v.filter(Boolean);if(A&&!(A&&A.type==="tree"&&x.length===0&&A.path!==".")){if(x.length>0||A.path==="."&&x.length===0){let R=new Vr(x).toObject(),$=await qr({fs:r,gitdir:n,type:"tree",object:R,dryRun:f});A.oid=$}return A}}});return b.length!==0?(t&&!d&&await ps({fs:r,cache:e,dir:t,gitdir:n,trees:[jr({ref:S.oid})],map:async function(A,[v]){let x=`${t}/${A}`;if(await v.type()==="blob"){let E=await v.mode(),R=await v.content();await r.write(x,R,{mode:E})}return!0}}),new Xa(b,y,k,C)):S.oid}async function ON({fs:r,gitdir:e,path:t,ours:n,base:i,theirs:s,ourName:a,theirName:o,baseName:l,dryRun:c,mergeDriver:u=MN}){let f="blob",d="100755",h="",p="";i&&await i.type()==="blob"&&(d=await i.mode(),h=await i.oid(),p=_.from(await i.content()).toString("utf8"));let g=d===await n.mode()?await s.mode():await n.mode();if(await n.oid()===await s.oid())return{cleanMerge:!0,mergeResult:{mode:g,path:t,oid:await n.oid(),type:f}};if(await n.oid()===h)return{cleanMerge:!0,mergeResult:{mode:g,path:t,oid:await s.oid(),type:f}};if(await s.oid()===h)return{cleanMerge:!0,mergeResult:{mode:g,path:t,oid:await n.oid(),type:f}};let w=_.from(await n.content()).toString("utf8"),b=_.from(await s.content()).toString("utf8"),{mergedText:y,cleanMerge:k}=await u({branches:[l,a,o],contents:[p,w,b],path:t}),C=await qr({fs:r,gitdir:e,type:"blob",object:_.from(y,"utf8"),dryRun:c});return{cleanMerge:k,mergeResult:{mode:g,path:t,oid:C,type:f}}}var DN={stage:Ka,workdir:Fu};async function LN(r,e,t,n,i=null){let s=L(t,n),a=await r.lstat(s);if(!a)throw new Xe(s);if(a.isDirectory())throw new ue(`${s}: file expected, but found directory`);let o=i?await Vk({fs:r,gitdir:e,oid:i}):void 0,l=o?i:void 0;return o||await Jt(s,async()=>{let c=a.isSymbolicLink()?await r.readlink(s).then(Xk):await r.read(s);if(c===null)throw new Xe(s);l=await qr({fs:r,gitdir:e,type:"blob",object:c})}),l}async function NN({fs:r,dir:e,gitdir:t,entries:n}){async function i(s){if(s.type==="tree"){if(!s.oid){let a=await Promise.all(s.children.map(i));s.oid=await Ou({fs:r,gitdir:t,tree:a}),s.mode=16384}}else s.type==="blob"&&(s.oid=await LN(r,t,e,s.path,s.oid),s.mode=33188);return s.path=s.path.split("/").pop(),s}return Promise.all(n.map(i))}async function Sk({fs:r,dir:e,gitdir:t,treePair:n}){let i=n[1]==="stage",s=n.map(h=>typeof h=="string"?DN[h]():h),a=[],u=await ps({fs:r,cache:{},dir:e,gitdir:t,trees:s,map:async(h,[p,g])=>{if(!(h==="."||await ra.isIgnored({fs:r,dir:e,gitdir:t,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 w of p){let[b,y]=w;i?y&&(await r.exists(`${e}/${y.toString()}`)?g.push(w):a.push([null,y])):b&&(y?g.push(w):a.push([b,null]))}return g.length?Promise.all(g.map(h)):[]}});if(a.length===0||u.length===0)return null;let d=(await NN({fs:r,dir:e,gitdir:t,entries:u})).filter(Boolean).map(h=>({mode:h.mode,path:h.path,oid:h.oid,type:h.type}));return Ou({fs:r,gitdir:t,tree:d})}async function oC({fs:r,dir:e,gitdir:t,stashCommit:n,parentCommit:i,wasStaged:s}){let a=[],o=[],l=await ps({fs:r,cache:{},dir:e,gitdir:t,trees:[jr({ref:i}),jr({ref:n})],map:async(c,[u,f])=>{if(c==="."||await ra.isIgnored({fs:r,dir:e,gitdir:t,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 r.lstat(L(e,c))}),{method:"write",filepath:c,oid:h})}});await Jt(t,async()=>{for(let c of l){let u=L(e,c.filepath);switch(c.method){case"rmdir":await r.rmdir(u);break;case"mkdir":await Iu(r,e,c.filepath),await r.mkdir(u);break;case"rm":await r.rm(u);break;case"write":if(!a.some(f=>u.startsWith(f))){await Iu(r,e,c.filepath);let{object:f}=await at({fs:r,cache:{},gitdir:t,oid:c.oid});await r.exists(u)&&await r.rm(u),await r.write(u,f)}break}}}),await yt.acquire({fs:r,gitdir:t,cache:{}},async c=>{o.forEach(({filepath:u,stats:f,oid:d})=>{c.insert({filepath:u,stats:f,oid:d})})})}async function kk({fs:r,cache:e,dir:t,gitdir:n,oid:i,dryRun:s=!1,noUpdateBranch:a=!1,abortOnConflict:o=!0,committer:l,mergeDriver:c}){let{commit:u,oid:f}=await Ni({fs:r,cache:e,gitdir:n,oid:i});if(u.parent.length>1)throw new vu(f,u.parent.length);if(u.parent.length===0)throw new bu(f);let d=await z.resolve({fs:r,gitdir:n,ref:"HEAD"}),{commit:h}=await Ni({fs:r,cache:e,gitdir:n,oid:d}),p=u.parent[0],{commit:g}=await Ni({fs:r,cache:e,gitdir:n,oid:p}),w=await yt.acquire({fs:r,gitdir:n,cache:e,allowUnmerged:!1},async y=>aC({fs:r,cache:e,dir:t,gitdir:n,index:y,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(w instanceof Xa)throw w;let b=await Mu({fs:r,cache:e,gitdir:n,message:u.message,tree:w,parent:[d],author:u.author,committer:l,dryRun:s,noUpdateBranch:a});return t&&!s&&!a&&await oC({fs:r,dir:t,gitdir:n,stashCommit:b,parentCommit:d,wasStaged:!0}),b}async function BN({fs:r,dir:e,gitdir:t=L(e,".git"),oid:n,cache:i={},committer:s,dryRun:a=!1,noUpdateBranch:o=!1,abortOnConflict:l=!0,mergeDriver:c}){try{P("fs",r),P("gitdir",t),P("oid",n);let u=new Z(r),f=await J({fsp:u,dotgit:t}),{commit:d}=await Ni({fs:u,cache:i,gitdir:f,oid:n});if(d.parent&&d.parent.length>1)return await kk({fs:u,cache:i,dir:e,gitdir:f,oid:n,dryRun:a,noUpdateBranch:o,abortOnConflict:l,committer:void 0,mergeDriver:c});let h=await eo({fs:u,gitdir:f,committer:s});if(!h)throw new ur("committer");return await kk({fs:u,cache:i,dir:e,gitdir:f,oid:n,dryRun:a,noUpdateBranch:o,abortOnConflict:l,committer:h,mergeDriver:c})}catch(u){throw u.caller="git.cherryPick",u}}var UN=/^refs\/(heads\/|tags\/|remotes\/)?(.*)/;function Wa(r){let e=UN.exec(r);return e?e[1]==="remotes/"&&r.endsWith("/HEAD")?e[2].slice(0,-5):e[2]:r}async function sa({fs:r,gitdir:e,fullname:t=!1,test:n=!1}){let i=await z.resolve({fs:r,gitdir:e,ref:"HEAD",depth:2});if(n)try{await z.resolve({fs:r,gitdir:e,ref:i})}catch(s){return}if(i.startsWith("refs/"))return t?i:Wa(i)}function HN(r){return r=r.replace(/^[^/@:]+@([^/@:]+):/,"https://$1/"),r=r.replace(/^ssh:\/\//,"https://"),r}function lC({username:r="",password:e=""}){return`Basic ${_.from(`${r}:${e}`).toString("base64")}`}async function Du(r,e){let t=Wk(r);for(;;){let{value:n,done:i}=await t.next();if(n&&await e(n),i)break}t.return&&t.return()}async function Jd(r){let e=0,t=[];await Du(r,s=>{t.push(s),e+=s.byteLength});let n=new Uint8Array(e),i=0;for(let s of t)n.set(s,i),i+=s.byteLength;return n}var Ck=/^(https?:\/\/)([^/?#]+)@/i;function Ak(r){let e=r.match(Ck);return e==null?{url:r,auth:{}}:{url:r.replace(Ck,"$1"),auth:GN(r,e[2])}}function GN(r,e){let t=jN(r),n=e.indexOf(":")!==-1;if(t!==null)return{username:Tk(t.username),password:n?Tk(t.password):void 0};let i=e.indexOf(":");return{username:n?e.slice(0,i):e,password:n?e.slice(i+1):void 0}}function jN(r){if(typeof URL!="function")return null;try{return new URL(r)}catch(e){return null}}function Tk(r){try{return decodeURIComponent(r)}catch(e){return r}}function Jw(r,e){let t=e.toString(16);return"0".repeat(r-t.length)+t}var wt=class{static flush(){return _.from("0000","utf8")}static delim(){return _.from("0001","utf8")}static encode(e){typeof e=="string"&&(e=_.from(e));let t=e.length+4,n=Jw(4,t);return _.concat([_.from(n,"utf8"),e])}static streamReader(e){let t=new Kd(e);return async function(){try{let i=await t.read(4);if(i==null)return!0;if(i=parseInt(i.toString("utf8"),16),i===0||i===1)return null;let s=await t.read(i-4);return s==null?!0:s}catch(i){return e.error=i,!0}}}};async function Rk(r){let e={},t;for(;t=await r(),t!==!0;){if(t===null)continue;t=t.toString("utf8").replace(/\n$/,"");let n=t.indexOf("=");if(n>-1){let i=t.slice(0,n),s=t.slice(n+1);e[i]=s}else e[t]=!0}return{protocolVersion:2,capabilities2:e}}async function Pk(r,{service:e}){let t=new Set,n=new Map,i=new Map,s=wt.streamReader(r),a=await s();for(;a===null;)a=await s();if(a===!0)throw new xu;if(a.includes("version 2"))return Rk(s);if(a.toString("utf8").replace(/\n$/,"")!==`# service=${e}`)throw new Ja(`# service=${e}\\n`,a.toString("utf8"));let o=await s();for(;o===null;)o=await s();if(o===!0)return{capabilities:t,refs:n,symrefs:i};if(o=o.toString("utf8"),o.includes("version 2"))return Rk(s);let[l,c]=Nw(o,"\0","\\x00");if(c.split(" ").map(u=>t.add(u)),l!=="0000000000000000000000000000000000000000 capabilities^{}"){let[u,f]=Nw(l," "," ");for(n.set(f,u);;){let d=await s();if(d===!0)break;if(d!==null){let[h,p]=Nw(d.toString("utf8")," "," ");n.set(p,h)}}}for(let u of t)if(u.startsWith("symref=")){let f=u.match(/symref=([^:]+):(.*)/);f.length===3&&i.set(f[1],f[2])}return{protocolVersion:1,capabilities:t,refs:n,symrefs:i}}function Nw(r,e,t){let n=r.trim().split(e);if(n.length!==2)throw new Ja(`Two strings separated by '${t}'`,r.toString("utf8"));return n}var $k=(r,e)=>r.endsWith("?")?`${r}${e}`:`${r}/${e.replace(/^https?:\/\//,"")}`,Ik=(r,e)=>{(e.username||e.password)&&(r.Authorization=lC(e)),e.headers&&Object.assign(r,e.headers)},Bw=async r=>{try{let e=_.from(await Jd(r.body)),t=e.toString("utf8");return{preview:t.length<256?t:t.slice(0,256)+"...",response:t,data:e}}catch(e){return{}}},Al=class{static async capabilities(){return["discover","connect"]}static async discover({http:e,onProgress:t,onAuth:n,onAuthSuccess:i,onAuthFailure:s,corsProxy:a,service:o,url:l,headers:c,signal:u,protocolVersion:f}){let{url:d,auth:h}=Ak(l),p=a?$k(a,d):d;(h.username||h.password)&&(c.Authorization=lC(h)),f===2&&(c["Git-Protocol"]="version=2");let g,w,b=!1;do if(g=await e.request({onProgress:t,method:"GET",url:`${p}/info/refs?service=${o}`,headers:c,signal:u}),w=!1,g.statusCode===401||g.statusCode===203){let y=b?s:n;if(y){if(h=await y(d,{...h,headers:{...c}}),h&&h.cancel)throw new kl;h&&(Ik(c,h),b=!0,w=!0)}}else g.statusCode===200&&b&&i&&await i(d,h);while(w);if(g.statusCode!==200){let{response:y}=await Bw(g);throw new xl(g.statusCode,g.statusMessage,y)}if(g.headers["content-type"]===`application/x-${o}-advertisement`){let y=await Pk(g.body,{service:o});return y.auth=h,y}else{let{preview:y,response:k,data:C}=await Bw(g);try{let S=await Pk([C],{service:o});return S.auth=h,S}catch(S){throw new Cu(y,k)}}}static async connect({http:e,onProgress:t,corsProxy:n,service:i,url:s,auth:a,body:o,headers:l,signal:c}){let u=Ak(s);u&&(s=u.url),n&&(s=$k(n,s)),l["content-type"]=`application/x-${i}-request`,l.accept=`application/x-${i}-result`,Ik(l,a);let f=await e.request({onProgress:t,method:"POST",url:`${s}/${i}`,body:o,headers:l,signal:c});if(f.statusCode!==200){let{response:d}=Bw(f);throw new xl(f.statusCode,f.statusMessage,d)}return f}},Tl=class{static getRemoteHelperFor({url:e}){let t=new Map;t.set("http",Al),t.set("https",Al);let n=VN({url:e});if(!n)throw new Tu(e);if(t.has(n.transport))return t.get(n.transport);throw new Au(e,n.transport,n.transport==="ssh"?HN(e):void 0)}},zN=/^[^/@:]+@[^/@:]+:/;function VN({url:r}){if(zN.test(r))return{transport:"ssh",address:r};let e=r.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 ia=class{static async read({fs:e,gitdir:t}){let n=L(t,"shallow"),i=new Set;return await Jt(n,async function(){let s=await e.read(n,{encoding:"utf8"});if(s===null||s.trim()==="")return i;s.trim().split(`
|
|
`).map(a=>i.add(a))}),i}static async write({fs:e,gitdir:t,oids:n}){let i=L(t,"shallow");if(n.size>0){let s=[...n].join(`
|
|
`)+`
|
|
`;await Jt(i,async function(){await e.write(i,s,{encoding:"utf8"})})}else await Jt(i,async function(){await e.rm(i)})}};async function WN({fs:r,gitdir:e,oid:t}){let n=`objects/${t.slice(0,2)}/${t.slice(2)}`;return r.exists(`${e}/${n}`)}async function qN({fs:r,cache:e,gitdir:t,oid:n,getExternalRefDelta:i}){let s=await r.readdir(L(t,"objects/pack"));s=s.filter(a=>a.endsWith(".idx"));for(let a of s){let o=`${t}/objects/pack/${a}`,l=await tv({fs:r,cache:e,filename:o,getExternalRefDelta:i});if(l.error)throw new ue(l.error);if(l.offsets.has(n))return!0}return!1}async function Fk({fs:r,cache:e,gitdir:t,oid:n,format:i="content"}){let s=o=>at({fs:r,cache:e,gitdir:t,oid:o}),a=await WN({fs:r,gitdir:t,oid:n});return a||(a=await qN({fs:r,cache:e,gitdir:t,oid:n,getExternalRefDelta:s})),a}function eh({config:r,onAuth:e}){return e&&(async(t,n)=>{let i=n.username||await r.get(`credential.${t}.username`);return e(t,i?{...n,username:i}:n)})}function YN(r){let i="5041434b"+"00000002"+"00000000";return r.slice(0,12).toString("hex")===i}function cC(r,e){let t=r.map(n=>n.split("=",1)[0]);return e.filter(n=>{let i=n.split("=",1)[0];return t.includes(i)})}var oh={name:"isomorphic-git",version:"1.42.4",agent:"git/isomorphic-git@1.42.4"},bl=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 t=this._waiting;this._waiting=null,t({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 ZN(r){let e=r.indexOf("\r"),t=r.indexOf(`
|
|
`);return e===-1&&t===-1?-1:e===-1?t+1:t===-1?e+1:t===e+1?t+1:Math.min(e,t)+1}function uC(r){let e=new bl,t="";return(async()=>(await Du(r,n=>{for(n=n.toString("utf8"),t+=n;;){let i=ZN(t);if(i===-1||i===t.length&&t[i-1]==="\r")break;e.write(t.slice(0,i)),t=t.slice(i)}}),t.length>0&&e.write(t),e.end()))(),e}var th=class{static demux(e){let t=wt.streamReader(e),n=new bl,i=new bl,s=new bl,a=async function(){let o=await t();if(o===null)return a();if(o===!0){n.end(),s.end(),e.error?i.destroy(e.error):i.end();return}switch(o[0]){case 1:{i.write(o.slice(1));break}case 2:{s.write(o.slice(1));break}case 3:{let l=o.slice(1);s.write(l),n.end(),s.end(),i.destroy(new Error(l.toString("utf8")));return}default:n.write(o)}a()};return a(),{packetlines:n,packfile:i,progress:s}}};async function KN(r){let{packetlines:e,packfile:t,progress:n}=th.demux(r),i=[],s=[],a=[],o=!1,l=!1;return new Promise((c,u)=>{Du(e,f=>{let d=f.toString("utf8").trim();if(d.startsWith("shallow")){let h=d.slice(-41).trim();h.length!==40&&u(new Js(h)),i.push(h)}else if(d.startsWith("unshallow")){let h=d.slice(-41).trim();h.length!==40&&u(new Js(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&&(r.error?u(r.error):c({shallows:i,unshallows:s,acks:a,nak:o,packfile:t,progress:n}))}).finally(()=>{l||(r.error?u(r.error):c({shallows:i,unshallows:s,acks:a,nak:o,packfile:t,progress:n}))})})}function XN({capabilities:r=[],wants:e=[],haves:t=[],shallows:n=[],depth:i=null,since:s=null,exclude:a=[]}){let o=[];e=[...new Set(e)];let l=` ${r.join(" ")}`;for(let c of e)o.push(wt.encode(`want ${c}${l}
|
|
`)),l="";for(let c of n)o.push(wt.encode(`shallow ${c}
|
|
`));i!==null&&o.push(wt.encode(`deepen ${i}
|
|
`)),s!==null&&o.push(wt.encode(`deepen-since ${Math.floor(s.valueOf()/1e3)}
|
|
`));for(let c of a)o.push(wt.encode(`deepen-not ${c}
|
|
`));o.push(wt.flush());for(let c of t)o.push(wt.encode(`have ${c}
|
|
`));return o.push(wt.encode(`done
|
|
`)),o}async function nv({fs:r,cache:e,http:t,onProgress:n,onMessage:i,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:w=[],relative:b=!1,tags:y=!1,singleBranch:k=!1,headers:C={},prune:S=!1,pruneTags:A=!1}){let v=c||await sa({fs:r,gitdir:l,test:!0}),x=await vt.get({fs:r,gitdir:l}),E=f||v&&await x.get(`branch.${v}.remote`)||"origin",R=d||await x.get(`remote.${E}.url`);if(typeof R=="undefined")throw new zr("remote OR url");let $=u||v&&await x.get(`branch.${v}.merge`)||c||"HEAD";h===void 0&&(h=await x.get("http.corsProxy"));let D=Tl.getRemoteHelperFor({url:R}),O=await D.discover({http:t,onAuth:eh({config:x,onAuth:s}),onAuthSuccess:a,onAuthFailure:eh({config:x,onAuth:o}),corsProxy:h,service:"git-upload-pack",url:R,headers:C,protocolVersion:1}),U=O.auth,me=O.refs;if(me.size===0)return{defaultBranch:null,fetchHead:null,fetchHeadDescription:null};if(p!==null&&!O.capabilities.has("shallow"))throw new Qs("shallow","depth");if(g!==null&&!O.capabilities.has("deepen-since"))throw new Qs("deepen-since","since");if(w.length>0&&!O.capabilities.has("deepen-not"))throw new Qs("deepen-not","exclude");if(b===!0&&!O.capabilities.has("deepen-relative"))throw new Qs("deepen-relative","relative");let{oid:Ne,fullref:Re}=z.resolveAgainstMap({ref:$,map:me});for(let ke of me.keys())ke===Re||ke==="HEAD"||ke.startsWith("refs/heads/")||y&&ke.startsWith("refs/tags/")||me.delete(ke);let be=cC([...O.capabilities],["multi_ack_detailed","no-done","side-band-64k","ofs-delta",`agent=${oh.agent}`]);b&&be.push("deepen-relative");let ye=k?[Ne]:me.values(),ae=k?[v]:await z.listRefs({fs:r,gitdir:l,filepath:"refs"}),W=[];for(let ke of ae)try{ke=await z.expand({fs:r,gitdir:l,ref:ke});let It=await z.resolve({fs:r,gitdir:l,ref:ke});await Fk({fs:r,cache:e,gitdir:l,oid:It})&&W.push(It)}catch(It){}W=[...new Set(W)];let te=await ia.read({fs:r,gitdir:l}),H=O.capabilities.has("shallow")?[...te]:[],St=XN({capabilities:be,wants:ye,haves:W,shallows:H,depth:p,since:g,exclude:w}),st=_.from(await Jd(St)),Bt=await D.connect({http:t,onProgress:n,corsProxy:h,service:"git-upload-pack",url:R,auth:U,body:[st],headers:C}),Ze=await KN(Bt.body);Bt.headers&&(Ze.headers=Bt.headers);for(let ke of Ze.shallows)if(!te.has(ke))try{let{object:It}=await at({fs:r,cache:e,gitdir:l,oid:ke}),kr=new Wr(It),pn=await Promise.all(kr.headers().parent.map(Ra=>Fk({fs:r,cache:e,gitdir:l,oid:Ra})));pn.length===0||pn.every(Ra=>Ra)||te.add(ke)}catch(It){te.add(ke)}for(let ke of Ze.unshallows)te.delete(ke);if(await ia.write({fs:r,gitdir:l,oids:te}),k){let ke=new Map([[Re,Ne]]),It=new Map,kr=10,pn=Re;for(;kr--;){let Dc=O.symrefs.get(pn);if(Dc===void 0)break;It.set(pn,Dc),pn=Dc}let Oc=me.get(pn);Oc&&ke.set(pn,Oc);let{pruned:Ra}=await z.updateRemoteRefs({fs:r,gitdir:l,remote:E,refs:ke,symrefs:It,tags:y,prune:S});S&&(Ze.pruned=Ra)}else{let{pruned:ke}=await z.updateRemoteRefs({fs:r,gitdir:l,remote:E,refs:me,symrefs:O.symrefs,tags:y,prune:S,pruneTags:A});S&&(Ze.pruned=ke)}if(Ze.HEAD=O.symrefs.get("HEAD"),Ze.HEAD===void 0){let{oid:ke}=z.resolveAgainstMap({ref:"HEAD",map:me});for(let[It,kr]of me.entries())if(It!=="HEAD"&&kr===ke){Ze.HEAD=It;break}}let kt=Re.startsWith("refs/tags")?"tag":"branch";if(Ze.FETCH_HEAD={oid:Ne,description:`${kt} '${Wa(Re)}' of ${R}`},n||i){let ke=uC(Ze.progress);Du(ke,async It=>{if(i&&await i(It),n){let kr=It.match(/([^:]*).*\((\d+?)\/(\d+?)\)/);kr&&await n({phase:kr[1].trim(),loaded:parseInt(kr[2],10),total:parseInt(kr[3],10)})}})}let Kt=_.from(await Jd(Ze.packfile));if(Bt.body.error)throw Bt.body.error;let Nr=Kt.slice(-20).toString("hex"),Br={defaultBranch:Ze.HEAD,fetchHead:Ze.FETCH_HEAD.oid,fetchHeadDescription:Ze.FETCH_HEAD.description};if(Ze.headers&&(Br.headers=Ze.headers),S&&(Br.pruned=Ze.pruned),Nr!==""&&!YN(Kt)){Br.packfile=`objects/pack/pack-${Nr}.pack`;let ke=L(l,Br.packfile);await r.write(ke,Kt);let It=pn=>at({fs:r,cache:e,gitdir:l,oid:pn}),kr=await mu.fromPack({pack:Kt,getExternalRefDelta:It,onProgress:n});await r.write(ke.replace(/\.pack$/,".idx"),await kr.toBuffer())}return Br}async function fC({fs:r,bare:e=!1,dir:t,gitdir:n=e?t:L(t,".git"),defaultBranch:i="master"}){if(await r.exists(n+"/config"))return;let s=["hooks","info","objects/info","objects/pack","refs/heads","refs/tags"];s=s.map(a=>n+"/"+a);for(let a of s)await r.mkdir(a);await r.write(n+"/config",`[core]
|
|
repositoryformatversion = 0
|
|
filemode = false
|
|
bare = ${e}
|
|
`+(e?"":` logallrefupdates = true
|
|
`)+` symlinks = false
|
|
ignorecase = true
|
|
`),await r.write(n+"/HEAD",`ref: refs/heads/${i}
|
|
`)}async function QN({fs:r,cache:e,http:t,onProgress:n,onMessage:i,onAuth:s,onAuthSuccess:a,onAuthFailure:o,onPostCheckout:l,dir:c,gitdir:u,url:f,corsProxy:d,ref:h,remote:p,depth:g,since:w,exclude:b,relative:y,singleBranch:k,noCheckout:C,noTags:S,headers:A,nonBlocking:v,batchSize:x=100}){try{if(await fC({fs:r,gitdir:u}),await nC({fs:r,gitdir:u,remote:p,url:f,force:!1}),d){let $=await vt.get({fs:r,gitdir:u});await $.set("http.corsProxy",d),await vt.save({fs:r,gitdir:u,config:$})}let{defaultBranch:E,fetchHead:R}=await nv({fs:r,cache:e,http:t,onProgress:n,onMessage:i,onAuth:s,onAuthSuccess:a,onAuthFailure:o,gitdir:u,ref:h,remote:p,corsProxy:d,depth:g,since:w,exclude:b,relative:y,singleBranch:k,headers:A,tags:!S});if(R===null)return;h=h||E,h=h.replace("refs/heads/",""),await rv({fs:r,cache:e,onProgress:n,onPostCheckout:l,dir:c,gitdir:u,ref:h,remote:p,noCheckout:C,nonBlocking:v,batchSize:x})}catch(E){throw await r.rmdir(u,{recursive:!0,maxRetries:10}).catch(()=>{}),E}}async function JN({fs:r,http:e,onProgress:t,onMessage:n,onAuth:i,onAuthSuccess:s,onAuthFailure:a,onPostCheckout:o,dir:l,gitdir:c=L(l,".git"),url:u,corsProxy:f=void 0,ref:d=void 0,remote:h="origin",depth:p=void 0,since:g=void 0,exclude:w=[],relative:b=!1,singleBranch:y=!1,noCheckout:k=!1,noTags:C=!1,headers:S={},cache:A={},nonBlocking:v=!1,batchSize:x=100}){try{P("fs",r),P("http",e),P("gitdir",c),k||P("dir",l),P("url",u);let E=new Z(r),R=await J({fsp:E,dotgit:c});return await QN({fs:E,cache:A,http:e,onProgress:t,onMessage:n,onAuth:i,onAuthSuccess:s,onAuthFailure:a,onPostCheckout:o,dir:l,gitdir:R,url:u,corsProxy:f,ref:d,remote:h,depth:p,since:g,exclude:w,relative:b,singleBranch:y,noCheckout:k,noTags:C,headers:S,nonBlocking:v,batchSize:x})}catch(E){throw E.caller="git.clone",E}}async function eB({fs:r,onSign:e,dir:t,gitdir:n=L(t,".git"),message:i,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{P("fs",r),l||P("message",i),o&&P("onSign",e);let w=new Z(r),b=await J({fsp:w,dotgit:n});return await Mu({fs:w,cache:g,onSign:e,gitdir:b,message:i,author:s,committer:a,signingKey:o,amend:l,dryRun:c,noUpdateBranch:u,disallowEmpty:f,ref:d,parent:h,tree:p})}catch(w){throw w.caller="git.commit",w}}async function tB({fs:r,dir:e,gitdir:t=L(e,".git"),fullname:n=!1,test:i=!1}){try{P("fs",r),P("gitdir",t);let s=new Z(r),a=await J({fsp:s,dotgit:t});return await sa({fs:s,gitdir:a,fullname:n,test:i})}catch(s){throw s.caller="git.currentBranch",s}}async function rB({fs:r,gitdir:e,ref:t}){if(t=t.startsWith("refs/heads/")?t:`refs/heads/${t}`,!await z.exists({fs:r,gitdir:e,ref:t}))throw new Xe(t);let i=await z.expand({fs:r,gitdir:e,ref:t}),s=await sa({fs:r,gitdir:e,fullname:!0});if(i===s){let l=await z.resolve({fs:r,gitdir:e,ref:i});await z.writeRef({fs:r,gitdir:e,ref:"HEAD",value:l})}await z.deleteRef({fs:r,gitdir:e,ref:i});let a=Wa(t),o=await vt.get({fs:r,gitdir:e});await o.deleteSection("branch",a),await vt.save({fs:r,gitdir:e,config:o})}async function nB({fs:r,dir:e,gitdir:t=L(e,".git"),ref:n}){try{P("fs",r),P("ref",n);let i=new Z(r),s=await J({fsp:i,dotgit:t});return await rB({fs:i,gitdir:s,ref:n})}catch(i){throw i.caller="git.deleteBranch",i}}async function iB({fs:r,dir:e,gitdir:t=L(e,".git"),ref:n}){try{P("fs",r),P("ref",n);let i=new Z(r),s=await J({fsp:i,dotgit:t});await z.deleteRef({fs:i,gitdir:s,ref:n})}catch(i){throw i.caller="git.deleteRef",i}}async function sB({fs:r,gitdir:e,remote:t}){let n=await vt.get({fs:r,gitdir:e});await n.deleteSection("remote",t),await vt.save({fs:r,gitdir:e,config:n})}async function aB({fs:r,dir:e,gitdir:t=L(e,".git"),remote:n}){try{P("fs",r),P("remote",n);let i=new Z(r),s=await J({fsp:i,dotgit:t});return await sB({fs:i,gitdir:s,remote:n})}catch(i){throw i.caller="git.deleteRemote",i}}async function oB({fs:r,gitdir:e,ref:t}){t=t.startsWith("refs/tags/")?t:`refs/tags/${t}`,await z.deleteRef({fs:r,gitdir:e,ref:t})}async function lB({fs:r,dir:e,gitdir:t=L(e,".git"),ref:n}){try{P("fs",r),P("ref",n);let i=new Z(r),s=await J({fsp:i,dotgit:t});return await oB({fs:i,gitdir:s,ref:n})}catch(i){throw i.caller="git.deleteTag",i}}async function cB({fs:r,gitdir:e,oid:t}){let n=t.slice(0,2);return(await r.readdir(`${e}/objects/${n}`)).map(s=>`${n}${s}`).filter(s=>s.startsWith(t))}async function uB({fs:r,cache:e,gitdir:t,oid:n,getExternalRefDelta:i}){let s=[],a=await r.readdir(L(t,"objects/pack"));a=a.filter(o=>o.endsWith(".idx"));for(let o of a){let l=`${t}/objects/pack/${o}`,c=await tv({fs:r,cache:e,filename:l,getExternalRefDelta:i});if(c.error)throw new ue(c.error);for(let u of c.offsets.keys())u.startsWith(n)&&s.push(u)}return s}async function fB({fs:r,cache:e,gitdir:t,oid:n}){let i=o=>at({fs:r,cache:e,gitdir:t,oid:o}),s=await cB({fs:r,gitdir:t,oid:n}),a=await uB({fs:r,cache:e,gitdir:t,oid:n,getExternalRefDelta:i});for(let o of a)s.indexOf(o)===-1&&s.push(o);if(s.length===1)return s[0];throw s.length>1?new gu("oids",n,s):new Xe(`an object matching "${n}"`)}async function dB({fs:r,dir:e,gitdir:t=L(e,".git"),oid:n,cache:i={}}){try{P("fs",r),P("gitdir",t),P("oid",n);let s=new Z(r),a=await J({fsp:s,dotgit:t});return await fB({fs:s,cache:i,gitdir:a,oid:n})}catch(s){throw s.caller="git.expandOid",s}}async function hB({fs:r,dir:e,gitdir:t=L(e,".git"),ref:n}){try{P("fs",r),P("gitdir",t),P("ref",n);let i=new Z(r),s=await J({fsp:i,dotgit:t});return await z.expand({fs:i,gitdir:s,ref:n})}catch(i){throw i.caller="git.expandRef",i}}async function iv({fs:r,cache:e,gitdir:t,oids:n}){let i={},s=n.length,a=new Set,o=new Map,l=await ia.read({fs:r,gitdir:t}),c=async d=>{if(o.has(d))return o.get(d);let{object:h,type:p}=await at({fs:r,cache:e,gitdir:t,oid:d});if(p!=="commit")throw new br(d,p,"commit");let g=Wr.from(h),{parent:w}=g.parseHeaders(),b=l.has(d)?[]:w;return o.set(d,b),b},u=n.map((d,h)=>({index:h,oid:d}));for(;u.length;){for(let{oid:h,index:p}of u)await c(h),i[h]||(i[h]=new Set),i[h].add(p),i[h].size===s&&a.add(h);let d=new Map;for(let{oid:h,index:p}of u)if(!a.has(h))for(let g of await c(h))(!i[g]||!i[g].has(p))&&d.set(g+":"+p,{oid:g,index:p});u=Array.from(d.values())}if(a.size<2)return[...a];let f=new Set;for(let d of a){let h=[...await c(d)],p=new Set;for(;h.length;){let g=h.pop();p.has(g)||(p.add(g),a.has(g)?f.add(g):h.push(...await c(g)))}}return[...a].filter(d=>!f.has(d))}async function dC({fs:r,cache:e,dir:t,gitdir:n,ours:i,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:w,allowUnrelatedHistories:b=!1}){i===void 0&&(i=await sa({fs:r,gitdir:n,fullname:!0})),i=await z.expand({fs:r,gitdir:n,ref:i}),s=await z.expand({fs:r,gitdir:n,ref:s});let y=await z.resolve({fs:r,gitdir:n,ref:i}),k=await z.resolve({fs:r,gitdir:n,ref:s}),C=await iv({fs:r,cache:e,gitdir:n,oids:[y,k]});if(C.length!==1)if(C.length===0&&b)C.push("4b825dc642cb6eb9a060e54bf8d69288fbee4904");else throw new El;let S=C[0];if(S===k)return{oid:y,alreadyMerged:!0};if(a&&S===y)return!l&&!c&&await z.writeRef({fs:r,gitdir:n,ref:i,value:k}),{oid:k,fastForward:!0};{if(o)throw new Eu;let A=await yt.acquire({fs:r,gitdir:n,cache:e,allowUnmerged:!1},async x=>aC({fs:r,cache:e,dir:t,gitdir:n,index:x,ourOid:y,theirOid:k,baseOid:S,ourName:Wa(i),baseName:"base",theirName:Wa(s),dryRun:l,abortOnConflict:u,mergeDriver:w}));if(A instanceof Xa)throw A;return f||(f=`Merge branch '${Wa(s)}' into ${Wa(i)}`),{oid:await Mu({fs:r,cache:e,gitdir:n,message:f,ref:i,tree:A,parent:[y,k],author:d,committer:h,signingKey:p,onSign:g,dryRun:l,noUpdateBranch:c}),tree:A,mergeCommit:!0}}}async function hC({fs:r,cache:e,http:t,onProgress:n,onMessage:i,onAuth:s,onAuthSuccess:a,onAuthFailure:o,dir:l,gitdir:c,ref:u,url:f,remote:d,remoteRef:h,prune:p,pruneTags:g,fastForward:w,fastForwardOnly:b,corsProxy:y,singleBranch:k,headers:C,author:S,committer:A,signingKey:v}){try{if(!u){let R=await sa({fs:r,gitdir:c});if(!R)throw new zr("ref");u=R}let{fetchHead:x,fetchHeadDescription:E}=await nv({fs:r,cache:e,http:t,onProgress:n,onMessage:i,onAuth:s,onAuthSuccess:a,onAuthFailure:o,gitdir:c,corsProxy:y,ref:u,url:f,remote:d,remoteRef:h,singleBranch:k,headers:C,prune:p,pruneTags:g});await dC({fs:r,cache:e,gitdir:c,ours:u,theirs:x,fastForward:w,fastForwardOnly:b,message:`Merge ${E}`,author:S,committer:A,signingKey:v,dryRun:!1,noUpdateBranch:!1}),await rv({fs:r,cache:e,onProgress:n,dir:l,gitdir:c,ref:u,remote:d,noCheckout:!1})}catch(x){throw x.caller="git.pull",x}}async function pB({fs:r,http:e,onProgress:t,onMessage:n,onAuth:i,onAuthSuccess:s,onAuthFailure:a,dir:o,gitdir:l=L(o,".git"),ref:c,url:u,remote:f,remoteRef:d,corsProxy:h,singleBranch:p,headers:g={},cache:w={}}){try{P("fs",r),P("http",e),P("gitdir",l);let b={name:"",email:"",timestamp:Date.now(),timezoneOffset:0},y=new Z(r),k=await J({fsp:y,dotgit:l});return await hC({fs:y,cache:w,http:e,onProgress:t,onMessage:n,onAuth:i,onAuthSuccess:s,onAuthFailure:a,dir:o,gitdir:k,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 mB({fs:r,http:e,onProgress:t,onMessage:n,onAuth:i,onAuthSuccess:s,onAuthFailure:a,dir:o,gitdir:l=L(o,".git"),ref:c,remote:u,remoteRef:f,url:d,corsProxy:h,depth:p=null,since:g=null,exclude:w=[],relative:b=!1,tags:y=!1,singleBranch:k=!1,headers:C={},prune:S=!1,pruneTags:A=!1,cache:v={}}){try{P("fs",r),P("http",e),P("gitdir",l);let x=new Z(r),E=await J({fsp:x,dotgit:l});return await nv({fs:x,cache:v,http:e,onProgress:t,onMessage:n,onAuth:i,onAuthSuccess:s,onAuthFailure:a,gitdir:E,ref:c,remote:u,remoteRef:f,url:d,corsProxy:h,depth:p,since:g,exclude:w,relative:b,tags:y,singleBranch:k,headers:C,prune:S,pruneTags:A})}catch(x){throw x.caller="git.fetch",x}}async function gB({fs:r,dir:e,gitdir:t=L(e,".git"),oids:n,cache:i={}}){try{P("fs",r),P("gitdir",t),P("oids",n);let s=new Z(r),a=await J({fsp:s,dotgit:t});return await iv({fs:s,cache:i,gitdir:a,oids:n})}catch(s){throw s.caller="git.findMergeBase",s}}async function pC({fs:r,filepath:e}){if(await r.exists(L(e,".git")))return e;{let t=Za(e);if(t===e)throw new Xe(`git root for ${e}`);return pC({fs:r,filepath:t})}}async function wB({fs:r,filepath:e}){try{return P("fs",r),P("filepath",e),await pC({fs:new Z(r),filepath:e})}catch(t){throw t.caller="git.findRoot",t}}async function vB({fs:r,dir:e,gitdir:t=L(e,".git"),path:n}){try{P("fs",r),P("gitdir",t),P("path",n);let i=new Z(r),s=await J({fsp:i,dotgit:t});return await $u({fs:i,gitdir:s,path:n})}catch(i){throw i.caller="git.getConfig",i}}async function bB({fs:r,gitdir:e,path:t}){return(await vt.get({fs:r,gitdir:e})).getall(t)}async function yB({fs:r,dir:e,gitdir:t=L(e,".git"),path:n}){try{P("fs",r),P("gitdir",t),P("path",n);let i=new Z(r),s=await J({fsp:i,dotgit:t});return await bB({fs:i,gitdir:s,path:n})}catch(i){throw i.caller="git.getConfigAll",i}}function Mk(r,e,t){let n=e.split("/"),i=n.pop();if(i==="__proto__"||n.includes("__proto__"))return;let s=r;for(let a of n)Object.prototype.hasOwnProperty.call(s,a)||(s[a]={}),s=s[a];s[i]=t}async function _B({http:r,onAuth:e,onAuthSuccess:t,onAuthFailure:n,corsProxy:i,url:s,headers:a={},forPush:o=!1}){try{P("http",r),P("url",s);let c=await Tl.getRemoteHelperFor({url:s}).discover({http:r,onAuth:e,onAuthSuccess:t,onAuthFailure:n,corsProxy:i,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)Mk(u,f,d);for(let[f,d]of c.symrefs)Mk(u,f,d);return u}catch(l){throw l.caller="git.getRemoteInfo",l}}function mC(r,e,t,n){let i=[];for(let[s,a]of r.refs){if(e&&!s.startsWith(e))continue;if(s.endsWith("^{}")){if(n){let l=s.replace("^{}",""),c=i[i.length-1],u=(c==null?void 0:c.ref)===l?c:i.find(f=>f.ref===l);u!==void 0&&(u.peeled=a)}continue}let o={ref:s,oid:a};t&&r.symrefs.has(s)&&(o.target=r.symrefs.get(s)),i.push(o)}return i}async function xB({http:r,onAuth:e,onAuthSuccess:t,onAuthFailure:n,corsProxy:i,url:s,headers:a={},forPush:o=!1,protocolVersion:l=2}){try{P("http",r),P("url",s);let u=await Tl.getRemoteHelperFor({url:s}).discover({http:r,onAuth:e,onAuthSuccess:t,onAuthFailure:n,corsProxy:i,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:mC(u,void 0,!0,!0)}}catch(c){throw c.caller="git.getRemoteInfo2",c}}async function EB({type:r,object:e,format:t="content",oid:n=void 0}){return t!=="deflated"&&(t!=="wrapped"&&(e=ea.wrap({type:r,object:e})),n=await Bi(e)),{oid:n,object:e}}async function SB({object:r}){try{P("object",r),typeof r=="string"?r=_.from(r,"utf8"):r instanceof Uint8Array||(r=new Uint8Array(r));let e="blob",{oid:t,object:n}=await EB({type:e,format:"content",object:r});return{oid:t,type:e,object:n,format:"wrapped"}}catch(e){throw e.caller="git.hashBlob",e}}async function kB({fs:r,cache:e,onProgress:t,dir:n,gitdir:i,filepath:s}){try{s=L(n,s);let a=await r.read(s),o=c=>at({fs:r,cache:e,gitdir:i,oid:c}),l=await mu.fromPack({pack:a,getExternalRefDelta:o,onProgress:t});return await r.write(s.replace(/\.pack$/,".idx"),await l.toBuffer()),{oids:[...l.hashes]}}catch(a){throw a.caller="git.indexPack",a}}async function CB({fs:r,onProgress:e,dir:t,gitdir:n=L(t,".git"),filepath:i,cache:s={}}){try{P("fs",r),P("dir",t),P("gitdir",t),P("filepath",i);let a=new Z(r),o=await J({fsp:a,dotgit:n});return await kB({fs:a,cache:s,onProgress:e,dir:t,gitdir:o,filepath:i})}catch(a){throw a.caller="git.indexPack",a}}async function AB({fs:r,bare:e=!1,dir:t,gitdir:n=e?t:L(t,".git"),defaultBranch:i="master"}){try{P("fs",r),P("gitdir",n),e||P("dir",t);let s=new Z(r),a=await J({fsp:s,dotgit:n});return await fC({fs:s,bare:e,dir:t,gitdir:a,defaultBranch:i})}catch(s){throw s.caller="git.init",s}}async function gC({fs:r,cache:e,gitdir:t,oid:n,ancestor:i,depth:s}){let a=await ia.read({fs:r,gitdir:t});if(!n)throw new zr("oid");if(!i)throw new zr("ancestor");if(n===i)return!1;let o=[n],l=new Set,c=0;for(;o.length;){if(c++===s)throw new ku(s);let u=o.shift(),{type:f,object:d}=await at({fs:r,cache:e,gitdir:t,oid:u});if(f!=="commit")throw new br(u,f,"commit");let h=Wr.from(d).parse();for(let p of h.parent)if(p===i)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 TB({fs:r,dir:e,gitdir:t=L(e,".git"),oid:n,ancestor:i,depth:s=-1,cache:a={}}){try{P("fs",r),P("gitdir",t),P("oid",n),P("ancestor",i);let o=new Z(r),l=await J({fsp:o,dotgit:t});return await gC({fs:o,cache:a,gitdir:l,oid:n,ancestor:i,depth:s})}catch(o){throw o.caller="git.isDescendent",o}}async function RB({fs:r,dir:e,gitdir:t=L(e,".git"),filepath:n}){try{P("fs",r),P("dir",e),P("gitdir",t),P("filepath",n);let i=new Z(r),s=await J({fsp:i,dotgit:t});return ra.isIgnored({fs:i,dir:e,gitdir:s,filepath:n})}catch(i){throw i.caller="git.isIgnored",i}}async function PB({fs:r,dir:e,gitdir:t=L(e,".git"),remote:n}){try{P("fs",r),P("gitdir",t);let i=new Z(r),s=await J({fsp:i,dotgit:t});return z.listBranches({fs:i,gitdir:s,remote:n})}catch(i){throw i.caller="git.listBranches",i}}async function $B({fs:r,gitdir:e,ref:t,cache:n}){if(t){let i=await z.resolve({gitdir:e,fs:r,ref:t}),s=[];return await wC({fs:r,cache:n,gitdir:e,oid:i,filenames:s,prefix:""}),s}else return yt.acquire({fs:r,gitdir:e,cache:n},async function(i){return i.entries.map(s=>s.path)})}async function wC({fs:r,cache:e,gitdir:t,oid:n,filenames:i,prefix:s}){let{tree:a}=await Rl({fs:r,cache:e,gitdir:t,oid:n});for(let o of a)o.type==="tree"?await wC({fs:r,cache:e,gitdir:t,oid:o.oid,filenames:i,prefix:L(s,o.path)}):i.push(L(s,o.path))}async function IB({fs:r,dir:e,gitdir:t=L(e,".git"),ref:n,cache:i={}}){try{P("fs",r),P("gitdir",t);let s=new Z(r),a=await J({fsp:s,dotgit:t});return await $B({fs:s,cache:i,gitdir:a,ref:n})}catch(s){throw s.caller="git.listFiles",s}}async function FB({fs:r,cache:e,gitdir:t,ref:n}){let i;try{i=await z.resolve({gitdir:t,fs:r,ref:n})}catch(o){if(o instanceof Xe)return[]}return(await Rl({fs:r,cache:e,gitdir:t,oid:i})).tree.map(o=>({target:o.path,note:o.oid}))}async function MB({fs:r,dir:e,gitdir:t=L(e,".git"),ref:n="refs/notes/commits",cache:i={}}){try{P("fs",r),P("gitdir",t),P("ref",n);let s=new Z(r),a=await J({fsp:s,dotgit:t});return await FB({fs:s,cache:i,gitdir:a,ref:n})}catch(s){throw s.caller="git.listNotes",s}}async function OB({fs:r,dir:e,gitdir:t=L(e,".git"),filepath:n}){try{P("fs",r),P("gitdir",t);let i=new Z(r),s=await J({fsp:i,dotgit:t});return z.listRefs({fs:i,gitdir:s,filepath:n})}catch(i){throw i.caller="git.listRefs",i}}async function DB({fs:r,gitdir:e}){let t=await vt.get({fs:r,gitdir:e}),n=await t.getSubsections("remote");return Promise.all(n.map(async s=>{let a=await t.get(`remote.${s}.url`);return{remote:s,url:a}}))}async function LB({fs:r,dir:e,gitdir:t=L(e,".git")}){try{P("fs",r),P("gitdir",t);let n=new Z(r),i=await J({fsp:n,dotgit:t});return await DB({fs:n,gitdir:i})}catch(n){throw n.caller="git.listRemotes",n}}async function NB(r){let e=wt.streamReader(r),t=[],n;for(;n=await e(),n!==!0;){if(n===null)continue;n=n.toString("utf8").replace(/\n$/,"");let[i,s,...a]=n.split(" "),o={ref:s,oid:i};for(let l of a){let[c,u]=l.split(":");c==="symref-target"?o.target=u:c==="peeled"&&(o.peeled=u)}t.push(o)}return t}async function BB({prefix:r,symrefs:e,peelTags:t}){let n=[];return n.push(wt.encode(`command=ls-refs
|
|
`)),n.push(wt.encode(`agent=${oh.agent}
|
|
`)),(t||e||r)&&n.push(wt.delim()),t&&n.push(wt.encode("peel")),e&&n.push(wt.encode("symrefs")),r&&n.push(wt.encode(`ref-prefix ${r}`)),n.push(wt.flush()),n}async function UB({http:r,onAuth:e,onAuthSuccess:t,onAuthFailure:n,corsProxy:i,url:s,headers:a={},forPush:o=!1,protocolVersion:l=2,prefix:c,symrefs:u,peelTags:f}){try{P("http",r),P("url",s);let d=await Al.discover({http:r,onAuth:e,onAuthSuccess:t,onAuthFailure:n,corsProxy:i,service:o?"git-receive-pack":"git-upload-pack",url:s,headers:a,protocolVersion:l});if(d.protocolVersion===1)return mC(d,c,u,f);let h=await BB({prefix:c,symrefs:u,peelTags:f}),p=await Al.connect({http:r,auth:d.auth,headers:a,corsProxy:i,service:o?"git-receive-pack":"git-upload-pack",url:s,body:h});return NB(p.body)}catch(d){throw d.caller="git.listServerRefs",d}}async function HB({fs:r,dir:e,gitdir:t=L(e,".git")}){try{P("fs",r),P("gitdir",t);let n=new Z(r),i=await J({fsp:n,dotgit:t});return z.listTags({fs:n,gitdir:i})}catch(n){throw n.caller="git.listTags",n}}function GB(r,e){return r.committer.timestamp-e.committer.timestamp}var jB="e69de29bb2d1d6434b8b29ae775ad8c2e48c5391";async function Ok({fs:r,cache:e,gitdir:t,oid:n,fileId:i}){if(i===jB)return;let s=n,a,o=await Cl({fs:r,cache:e,gitdir:t,oid:n}),l=o.tree;return i===o.oid?a=o.path:(a=await vC({fs:r,cache:e,gitdir:t,tree:l,fileId:i,oid:s}),Array.isArray(a)&&(a.length===0?a=void 0:a.length===1&&(a=a[0]))),a}async function vC({fs:r,cache:e,gitdir:t,tree:n,fileId:i,oid:s,filepaths:a=[],parentPath:o=""}){let l=n.entries().map(function(c){let u;return c.oid===i?(u=L(o,c.path),a.push(u)):c.type==="tree"&&(u=at({fs:r,cache:e,gitdir:t,oid:c.oid}).then(function({object:f}){return vC({fs:r,cache:e,gitdir:t,tree:Vr.from(f),fileId:i,oid:s,filepaths:a,parentPath:L(o,c.path)})})),u});return await Promise.all(l),a}async function zB({fs:r,cache:e,gitdir:t,filepath:n,ref:i,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 ia.read({fs:r,gitdir:t}),h=await z.resolve({fs:r,gitdir:t,ref:i}),p=[await Ni({fs:r,cache:e,gitdir:t,oid:h})],g,w,b,y;function k(C){y&&n&&f.push(C)}for(;p.length>0;){let C=p.pop();if(u!==void 0&&C.commit.committer.timestamp<=u)break;if(n){let S;try{S=await tC({fs:r,cache:e,gitdir:t,oid:C.commit.tree,filepath:n}),b&&(g!==S.oid||w!==S.mode)&&f.push(b),g=S.oid,w=S.mode,b=C,y=!0}catch(A){if(A instanceof Xe){let v=l&&g;if(v&&(v=await Ok({fs:r,cache:e,gitdir:t,oid:C.commit.tree,fileId:g}),v))if(Array.isArray(v)){if(b){let x=await Ok({fs:r,cache:e,gitdir:t,oid:b.commit.tree,fileId:g});if(Array.isArray(x))if(v=v.filter(E=>x.indexOf(E)===-1),v.length===1)v=v[0],n=v,b&&f.push(b);else{v=!1,b&&f.push(b);break}}}else n=v,b&&f.push(b);if(!v){if(y&&g&&(f.push(b),!o))break;if(!o&&!l)throw A}b=C,y=!1}else throw A}}else f.push(C);if(s!==void 0&&f.length===s){k(C);break}if(!d.has(C.oid))for(let S of C.commit.parent){let A=await Ni({fs:r,cache:e,gitdir:t,oid:S});p.map(v=>v.oid).includes(A.oid)||p.push(A)}p.length===0&&k(C),p.sort((S,A)=>GB(S.commit,A.commit))}if(c)for(let C of f)C.commit.changes=await VB({fs:r,cache:e,gitdir:t,commit:C,shallow:d.has(C.oid)});return f}async function VB({fs:r,cache:e,gitdir:t,commit:n,shallow:i}){let s=i||!n.commit.parent[0]?"4b825dc642cb6eb9a060e54bf8d69288fbee4904":n.commit.parent[0];return ps({fs:r,cache:e,gitdir:t,trees:[jr({ref:n.oid}),jr({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 WB({fs:r,dir:e,gitdir:t=L(e,".git"),filepath:n,ref:i="HEAD",depth:s,since:a,force:o,follow:l,includeChanges:c=!1,cache:u={}}){try{P("fs",r),P("gitdir",t),P("ref",i);let f=new Z(r),d=await J({fsp:f,dotgit:t});return await zB({fs:f,cache:u,gitdir:d,filepath:n,ref:i,depth:s,since:a,force:o,follow:l,includeChanges:c})}catch(f){throw f.caller="git.log",f}}async function qB({fs:r,onSign:e,dir:t,gitdir:n=L(t,".git"),ours:i,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:w,allowUnrelatedHistories:b=!1}){try{P("fs",r),p&&P("onSign",e);let y=new Z(r),k=await J({fsp:y,dotgit:n}),C=await na({fs:y,gitdir:k,author:d});if(!C&&(!o||!a))throw new ur("author");let S=await eo({fs:y,gitdir:k,author:C,committer:h});if(!S&&(!o||!a))throw new ur("committer");return await dC({fs:y,cache:g,dir:t,gitdir:k,ours:i,theirs:s,fastForward:a,fastForwardOnly:o,dryRun:l,noUpdateBranch:c,abortOnConflict:u,message:f,author:C,committer:S,signingKey:p,onSign:e,mergeDriver:w,allowUnrelatedHistories:b})}catch(y){throw y.caller="git.merge",y}}var YB={commit:16,tree:32,blob:48,tag:64,ofs_delta:96,ref_delta:112};async function bC({fs:r,cache:e,dir:t,gitdir:n=L(t,".git"),oids:i}){let s=new ev.default,a=[];function o(u,f){let d=_.from(u,f);a.push(d),s.update(d)}async function l({stype:u,object:f}){let d=YB[u],h=f.length,p=h>15?128:0,g=h&15;h=h>>>4;let w=(p|d|g).toString(16);for(o(w,"hex");p;)p=h>127?128:0,w=p|h&127,o(Jw(2,w),"hex"),h=h>>>7;o(_.from(await Kk(f)))}o("PACK"),o("00000002","hex"),o(Jw(8,i.length),"hex");for(let u of i){let{type:f,object:d}=await at({fs:r,cache:e,gitdir:n,oid:u});await l({write:o,object:d,stype:f})}let c=s.digest();return a.push(c),a}async function ZB({fs:r,cache:e,gitdir:t,oids:n,write:i}){let s=await bC({fs:r,cache:e,gitdir:t,oids:n}),a=_.from(await Jd(s)),l=`pack-${a.slice(-20).toString("hex")}.pack`;return i?(await r.write(L(t,`objects/pack/${l}`),a),{filename:l}):{filename:l,packfile:new Uint8Array(a)}}async function KB({fs:r,dir:e,gitdir:t=L(e,".git"),oids:n,write:i=!1,cache:s={}}){try{P("fs",r),P("gitdir",t),P("oids",n);let a=new Z(r),o=await J({fsp:a,dotgit:t});return await ZB({fs:a,cache:s,gitdir:o,oids:n,write:i})}catch(a){throw a.caller="git.packObjects",a}}async function XB({fs:r,http:e,onProgress:t,onMessage:n,onAuth:i,onAuthSuccess:s,onAuthFailure:a,dir:o,gitdir:l=L(o,".git"),ref:c,url:u,remote:f,remoteRef:d,prune:h=!1,pruneTags:p=!1,fastForward:g=!0,fastForwardOnly:w=!1,corsProxy:b,singleBranch:y,headers:k={},author:C,committer:S,signingKey:A,cache:v={}}){try{P("fs",r),P("gitdir",l);let x=new Z(r),E=await J({fsp:x,dotgit:l}),R=await na({fs:x,gitdir:E,author:C});if(!R)throw new ur("author");let $=await eo({fs:x,gitdir:E,author:R,committer:S});if(!$)throw new ur("committer");return await hC({fs:x,cache:v,http:e,onProgress:t,onMessage:n,onAuth:i,onAuthSuccess:s,onAuthFailure:a,dir:o,gitdir:E,ref:c,url:u,remote:f,remoteRef:d,fastForward:g,fastForwardOnly:w,corsProxy:b,singleBranch:y,headers:k,author:R,committer:$,signingKey:A,prune:h,pruneTags:p})}catch(x){throw x.caller="git.pull",x}}async function QB({fs:r,cache:e,dir:t,gitdir:n=L(t,".git"),start:i,finish:s}){let a=await ia.read({fs:r,gitdir:n}),o=new Set,l=new Set;for(let f of i)o.add(await z.resolve({fs:r,gitdir:n,ref:f}));for(let f of s)try{let d=await z.resolve({fs:r,gitdir:n,ref:f});l.add(d)}catch(d){}let c=new Set;async function u(f){c.add(f);let{type:d,object:h}=await at({fs:r,cache:e,gitdir:n,oid:f});if(d==="tag"){let g=vn.from(h).headers().object;return u(g)}if(d!=="commit")throw new br(f,d,"commit");if(!a.has(f)){let g=Wr.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 Uw({fs:r,cache:e,dir:t,gitdir:n=L(t,".git"),oids:i}){let s=new Set;async function a(o){if(s.has(o))return;s.add(o);let{type:l,object:c}=await at({fs:r,cache:e,gitdir:n,oid:o});if(l==="tag"){let f=vn.from(c).headers().object;await a(f)}else if(l==="commit"){let f=Wr.from(c).headers().tree;await a(f)}else if(l==="tree"){let u=Vr.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 i)await a(o);return s}async function JB(r){let e={},t="",n=wt.streamReader(r),i=await n();for(;i!==!0;)i!==null&&(t+=i.toString("utf8")+`
|
|
`),i=await n();let s=t.toString("utf8").split(`
|
|
`);if(i=s.shift(),!i.startsWith("unpack "))throw new Ja('unpack ok" or "unpack [error message]',i);e.ok=i==="unpack ok",e.ok||(e.error=i.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 e3({capabilities:r=[],triplets:e=[]}){let t=[],n=`\0 ${r.join(" ")}`;for(let i of e)t.push(wt.encode(`${i.oldoid} ${i.oid} ${i.fullRef}${n}
|
|
`)),n="";return t.push(wt.flush()),t}async function t3({fs:r,cache:e,http:t,onProgress:n,onMessage:i,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:w,headers:b={},signal:y}){let k=u||await sa({fs:r,gitdir:c});if(typeof k=="undefined")throw new zr("ref");let C=await vt.get({fs:r,gitdir:c});d=d||await C.get(`branch.${k}.pushRemote`)||await C.get("remote.pushDefault")||await C.get(`branch.${k}.remote`)||"origin";let S=h||await C.get(`remote.${d}.pushurl`)||await C.get(`remote.${d}.url`);if(typeof S=="undefined")throw new zr("remote OR url");let A=f||await C.get(`branch.${k}.merge`);if(typeof S=="undefined")throw new zr("remoteRef");w===void 0&&(w=await C.get("http.corsProxy"));let v=await z.expand({fs:r,gitdir:c,ref:k}),x=g?"0000000000000000000000000000000000000000":await z.resolve({fs:r,gitdir:c,ref:v}),E=Tl.getRemoteHelperFor({url:S}),R=await E.discover({http:t,onAuth:eh({config:C,onAuth:s}),onAuthSuccess:a,onAuthFailure:eh({config:C,onAuth:o}),corsProxy:w,service:"git-receive-pack",url:S,headers:b,protocolVersion:1,signal:y}),$=R.auth,D;if(!A)D=v;else try{D=await z.expandAgainstMap({ref:A,map:R.refs})}catch(H){if(H instanceof Xe)D=A.startsWith("refs/")?A:`refs/heads/${A}`;else throw H}let O=R.refs.get(D)||"0000000000000000000000000000000000000000";if(l&&!await l({remote:d,url:S,localRef:{ref:g?"(delete)":v,oid:x},remoteRef:{ref:D,oid:O}}))throw new kl;let U=!R.capabilities.has("no-thin"),me=new Set;if(!g){let H=[...R.refs.values()],St=new Set;if(O!=="0000000000000000000000000000000000000000"){let st=[];try{st=await iv({fs:r,cache:e,gitdir:c,oids:[x,O]})}catch(Bt){st=[]}for(let Bt of st)H.push(Bt);U&&(St=await Uw({fs:r,cache:e,gitdir:c,oids:st}))}if(!H.includes(x)){let st=await QB({fs:r,cache:e,gitdir:c,start:[x],finish:H});me=await Uw({fs:r,cache:e,gitdir:c,oids:st})}if(U){try{let st=await z.resolve({fs:r,gitdir:c,ref:`refs/remotes/${d}/HEAD`,depth:2}),{oid:Bt}=await z.resolveAgainstMap({ref:st.replace(`refs/remotes/${d}/`,""),fullref:st,map:R.refs}),Ze=[Bt];for(let kt of await Uw({fs:r,cache:e,gitdir:c,oids:Ze}))St.add(kt)}catch(st){}for(let st of St)me.delete(st)}if(x===O&&(p=!0),!p){if(v.startsWith("refs/tags")&&O!=="0000000000000000000000000000000000000000")throw new Sl("tag-exists");if(x!=="0000000000000000000000000000000000000000"&&O!=="0000000000000000000000000000000000000000"&&!await gC({fs:r,cache:e,gitdir:c,oid:x,ancestor:O,depth:-1}))throw new Sl("not-fast-forward")}}let Ne=cC([...R.capabilities],["report-status","side-band-64k",`agent=${oh.agent}`]),Re=await e3({capabilities:Ne,triplets:[{oldoid:O,oid:x,fullRef:D}]}),be=g?[]:await bC({fs:r,cache:e,gitdir:c,oids:[...me]}),ye=await E.connect({http:t,onProgress:n,corsProxy:w,service:"git-receive-pack",url:S,auth:$,headers:b,body:[...Re,...be],signal:y}),{packfile:ae,progress:W}=await th.demux(ye.body);if(i){let H=uC(W);Du(H,async St=>{await i(St)})}let te=await JB(ae);if(ye.headers&&(te.headers=ye.headers),d&&te.ok&&te.refs[D].ok&&!v.startsWith("refs/tags")){let H=`refs/remotes/${d}/${D.replace("refs/heads/","")}`;g?await z.deleteRef({fs:r,gitdir:c,ref:H}):await z.writeRef({fs:r,gitdir:c,ref:H,value:x})}if(te.ok&&Object.values(te.refs).every(H=>H.ok))return te;{let H=Object.entries(te.refs).filter(([St,st])=>!st.ok).map(([St,st])=>`
|
|
- ${St}: ${st.error}`).join("");throw new Su(H,te)}}async function r3({fs:r,http:e,onProgress:t,onMessage:n,onAuth:i,onAuthSuccess:s,onAuthFailure:a,onPrePush:o,dir:l,gitdir:c=L(l,".git"),ref:u,remoteRef:f,remote:d="origin",url:h,force:p=!1,delete:g=!1,corsProxy:w,headers:b={},cache:y={},signal:k}){try{P("fs",r),P("http",e),P("gitdir",c);let C=new Z(r),S=await J({fsp:C,dotgit:c});return await t3({fs:C,cache:y,http:e,onProgress:t,onMessage:n,onAuth:i,onAuthSuccess:s,onAuthFailure:a,onPrePush:o,gitdir:S,ref:u,remoteRef:f,remote:d,url:h,force:p,delete:g,corsProxy:w,headers:b,signal:k})}catch(C){throw C.caller="git.push",C}}async function yC({fs:r,cache:e,gitdir:t,oid:n}){let{type:i,object:s}=await at({fs:r,cache:e,gitdir:t,oid:n});if(i==="tag")return n=vn.from(s).parse().object,yC({fs:r,cache:e,gitdir:t,oid:n});if(i!=="blob")throw new br(n,i,"blob");return{oid:n,blob:new Uint8Array(s)}}async function _C({fs:r,cache:e,gitdir:t,oid:n,filepath:i=void 0}){return i!==void 0&&(n=await ah({fs:r,cache:e,gitdir:t,oid:n,filepath:i})),await yC({fs:r,cache:e,gitdir:t,oid:n})}async function Pl({fs:r,dir:e,gitdir:t=L(e,".git"),oid:n,filepath:i,cache:s={}}){try{P("fs",r),P("gitdir",t),P("oid",n);let a=new Z(r),o=await J({fsp:a,dotgit:t});return await _C({fs:a,cache:s,gitdir:o,oid:n,filepath:i})}catch(a){throw a.caller="git.readBlob",a}}async function xC({fs:r,dir:e,gitdir:t=L(e,".git"),oid:n,cache:i={}}){try{P("fs",r),P("gitdir",t),P("oid",n);let s=new Z(r),a=await J({fsp:s,dotgit:t});return await Ni({fs:s,cache:i,gitdir:a,oid:n})}catch(s){throw s.caller="git.readCommit",s}}async function n3({fs:r,cache:e,gitdir:t,ref:n="refs/notes/commits",oid:i}){let s=await z.resolve({gitdir:t,fs:r,ref:n}),{blob:a}=await _C({fs:r,cache:e,gitdir:t,oid:s,filepath:i});return a}async function i3({fs:r,dir:e,gitdir:t=L(e,".git"),ref:n="refs/notes/commits",oid:i,cache:s={}}){try{P("fs",r),P("gitdir",t),P("ref",n),P("oid",i);let a=new Z(r),o=await J({fsp:a,dotgit:t});return await n3({fs:a,cache:s,gitdir:o,ref:n,oid:i})}catch(a){throw a.caller="git.readNote",a}}async function s3({fs:r,dir:e,gitdir:t=L(e,".git"),oid:n,format:i="parsed",filepath:s=void 0,encoding:a=void 0,cache:o={}}){try{P("fs",r),P("gitdir",t),P("oid",n);let l=new Z(r),c=await J({fsp:l,dotgit:t});s!==void 0&&(n=await ah({fs:l,cache:o,gitdir:c,oid:n,filepath:s}));let f=await at({fs:l,cache:o,gitdir:c,oid:n,format:i==="parsed"?"content":i});if(f.oid=n,i==="parsed")switch(f.format="parsed",f.type){case"commit":f.object=Wr.from(f.object).parse();break;case"tree":f.object=Vr.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=vn.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 a3({fs:r,cache:e,gitdir:t,oid:n}){let{type:i,object:s}=await at({fs:r,cache:e,gitdir:t,oid:n,format:"content"});if(i!=="tag")throw new br(n,i,"tag");let a=vn.from(s);return{oid:n,tag:a.parse(),payload:a.payload()}}async function o3({fs:r,dir:e,gitdir:t=L(e,".git"),oid:n,cache:i={}}){try{P("fs",r),P("gitdir",t),P("oid",n);let s=new Z(r),a=await J({fsp:s,dotgit:t});return await a3({fs:s,cache:i,gitdir:a,oid:n})}catch(s){throw s.caller="git.readTag",s}}async function l3({fs:r,dir:e,gitdir:t=L(e,".git"),oid:n,filepath:i=void 0,cache:s={}}){try{P("fs",r),P("gitdir",t),P("oid",n);let a=new Z(r),o=await J({fsp:a,dotgit:t});return await Rl({fs:a,cache:s,gitdir:o,oid:n,filepath:i})}catch(a){throw a.caller="git.readTree",a}}async function c3({fs:r,dir:e,gitdir:t=L(e,".git"),filepath:n,cache:i={}}){try{P("fs",r),P("gitdir",t),P("filepath",n);let s=new Z(r),a=await J({fsp:s,dotgit:t});await yt.acquire({fs:s,gitdir:a,cache:i},async function(o){o.delete({filepath:n})})}catch(s){throw s.caller="git.remove",s}}async function u3({fs:r,cache:e,onSign:t,gitdir:n,ref:i="refs/notes/commits",oid:s,author:a,committer:o,signingKey:l}){let c;try{c=await z.resolve({gitdir:n,fs:r,ref:i})}catch(p){if(!(p instanceof Xe))throw p}let f=(await Rl({fs:r,cache:e,gitdir:n,oid:c||"4b825dc642cb6eb9a060e54bf8d69288fbee4904"})).tree;f=f.filter(p=>p.path!==s);let d=await Ou({fs:r,gitdir:n,tree:f});return await Mu({fs:r,cache:e,onSign:t,gitdir:n,ref:i,tree:d,parent:c&&[c],message:`Note removed by 'isomorphic-git removeNote'
|
|
`,author:a,committer:o,signingKey:l})}async function f3({fs:r,onSign:e,dir:t,gitdir:n=L(t,".git"),ref:i="refs/notes/commits",oid:s,author:a,committer:o,signingKey:l,cache:c={}}){try{P("fs",r),P("gitdir",n),P("oid",s);let u=new Z(r),f=await J({fsp:u,dotgit:n}),d=await na({fs:u,gitdir:f,author:a});if(!d)throw new ur("author");let h=await eo({fs:u,gitdir:f,author:d,committer:o});if(!h)throw new ur("committer");return await u3({fs:u,cache:c,onSign:e,gitdir:f,ref:i,oid:s,author:d,committer:h,signingKey:l})}catch(u){throw u.caller="git.removeNote",u}}async function d3({fs:r,gitdir:e,oldref:t,ref:n,checkout:i=!1}){if(!_l(n,!0))throw new wn(n,qa.default.clean(n));if(!_l(t,!0))throw new wn(t,qa.default.clean(t));let s=`refs/heads/${t}`,a=`refs/heads/${n}`;if(await z.exists({fs:r,gitdir:e,ref:a}))throw new li("branch",n,!1);let l=await z.resolve({fs:r,gitdir:e,ref:s,depth:1});await z.writeRef({fs:r,gitdir:e,ref:a,value:l}),await z.deleteRef({fs:r,gitdir:e,ref:s});let u=await sa({fs:r,gitdir:e,fullname:!0})===s;(i||u)&&await z.writeSymbolicRef({fs:r,gitdir:e,ref:"HEAD",value:a})}async function h3({fs:r,dir:e,gitdir:t=L(e,".git"),ref:n,oldref:i,checkout:s=!1}){try{P("fs",r),P("gitdir",t),P("ref",n),P("oldref",i);let a=new Z(r),o=await J({fsp:a,dotgit:t});return await d3({fs:a,gitdir:o,ref:n,oldref:i,checkout:s})}catch(a){throw a.caller="git.renameBranch",a}}async function EC({gitdir:r,type:e,object:t}){return Bi(ea.wrap({type:e,object:t}))}async function p3({fs:r,dir:e,gitdir:t=L(e,".git"),filepath:n,ref:i,cache:s={}}){try{P("fs",r),P("gitdir",t),P("filepath",n);let a=new Z(r),o=await J({fsp:a,dotgit:t}),l,c;try{l=await z.resolve({fs:a,gitdir:o,ref:i||"HEAD"})}catch(d){if(i)throw d}if(l)try{l=await ah({fs:a,cache:s,gitdir:o,oid:l,filepath:n})}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(L(e,n));f&&(c=await EC({gitdir:o,type:"blob",object:f}),l===c&&(u=await a.lstat(L(e,n)))),await yt.acquire({fs:a,gitdir:o,cache:s},async function(d){d.delete({filepath:n}),l&&d.insert({filepath:n,stats:u,oid:l})})}catch(a){throw a.caller="git.reset",a}}async function m3({fs:r,dir:e,gitdir:t=L(e,".git"),ref:n,depth:i}){try{P("fs",r),P("gitdir",t),P("ref",n);let s=new Z(r),a=await J({fsp:s,dotgit:t});return await z.resolve({fs:s,gitdir:a,ref:n,depth:i})}catch(s){throw s.caller="git.resolveRef",s}}async function g3({fs:r,dir:e,gitdir:t=L(e,".git"),path:n,value:i,append:s=!1}){try{P("fs",r),P("gitdir",t),P("path",n);let a=new Z(r),o=await J({fsp:a,dotgit:t}),l=await vt.get({fs:a,gitdir:o});s?await l.append(n,i):await l.set(n,i),await vt.save({fs:a,gitdir:o,config:l})}catch(a){throw a.caller="git.setConfig",a}}async function SC({fs:r,gitdir:e,commit:t}){let n=Wr.from(t).toObject();return await qr({fs:r,gitdir:e,type:"commit",object:n,format:"content"})}var rh=class r{static get timezoneOffsetForRefLogEntry(){let e=new Date().getTimezoneOffset(),t=Math.abs(Math.floor(e/60)),n=Math.abs(e%60).toString().padStart(2,"0");return`${e>0?"-":"+"}${t.toString().padStart(2,"0")}${n}`}static createStashReflogEntry(e,t,n){let i=e.name.replace(/\s/g,""),s="0000000000000000000000000000000000000000",a=Math.floor(Date.now()/1e3),o=r.timezoneOffsetForRefLogEntry;return`${s} ${t} ${i} ${e.email} ${a} ${o} ${n}
|
|
`}static getStashReflogEntry(e,t=!1){return e.split(`
|
|
`).filter(s=>s).reverse().map((s,a)=>t?`stash@{${a}}: ${s.split(" ")[1]}`:s)}},to=class r{constructor({fs:e,dir:t,gitdir:n=L(t,".git")}){Object.assign(this,{fs:e,dir:t,gitdir:n,_author:null})}static get refStash(){return"refs/stash"}static get refLogsStash(){return"logs/refs/stash"}get refStashPath(){return L(this.gitdir,r.refStash)}get refLogsStashPath(){return L(this.gitdir,r.refLogsStash)}async getAuthor(){if(!this._author&&(this._author=await na({fs:this.fs,gitdir:this.gitdir,author:{}}),!this._author))throw new ur("author");return this._author}async getStashSHA(e,t){return await this.fs.exists(this.refStashPath)?(t||await this.readStashReflogs({parsed:!1}))[e].split(" ")[1]:null}async writeStashCommit({message:e,tree:t,parent:n}){return SC({fs:this.fs,gitdir:this.gitdir,commit:{message:e,tree:t,parent:n,author:await this.getAuthor(),committer:await this.getAuthor()}})}async readStashCommit(e){let t=await this.readStashReflogs({parsed:!1});if(e!==0&&(e<0||e>t.length-1))throw new wn(`stash@${e}`,"number that is in range of [0, num of stash pushed]");let n=await this.getStashSHA(e,t);return n?Ni({fs:this.fs,cache:{},gitdir:this.gitdir,oid:n}):{}}async writeStashRef(e){return z.writeRef({fs:this.fs,gitdir:this.gitdir,ref:r.refStash,value:e})}async writeStashReflogEntry({stashCommit:e,message:t}){let n=await this.getAuthor(),i=rh.createStashReflogEntry(n,e,t),s=this.refLogsStashPath;await Jt(s,async()=>{let a=await this.fs.exists(s)?await this.fs.read(s,"utf8"):"";await this.fs.write(s,a+i,"utf8")})}async readStashReflogs({parsed:e=!1}){if(!await this.fs.exists(this.refLogsStashPath))return[];let t=await this.fs.read(this.refLogsStashPath,"utf8");return rh.getStashReflogEntry(t,e)}};async function kC({fs:r,dir:e,gitdir:t,message:n=""}){let i=new to({fs:r,dir:e,gitdir:t});await i.getAuthor();let s=await sa({fs:r,gitdir:t,fullname:!1}),a=await z.resolve({fs:r,gitdir:t,ref:"HEAD"}),l=(await xC({fs:r,dir:e,gitdir:t,oid:a})).commit.message,c=[a],u=null,f=jr({ref:"HEAD"}),d=await Sk({fs:r,dir:e,gitdir:t,treePair:[jr({ref:"HEAD"}),"stage"]});if(d){let w=await i.writeStashCommit({message:`stash-Index: WIP on ${s} - ${new Date().toISOString()}`,tree:d,parent:c});c.push(w),u=d,f=Ka()}let h=await Sk({fs:r,dir:e,gitdir:t,treePair:[f,"workdir"]});if(h){let w=await i.writeStashCommit({message:`stash-WorkDir: WIP on ${s} - ${new Date().toISOString()}`,tree:h,parent:[c[c.length-1]]});c.push(w),u=h}if(!u||!d&&!h)throw new Xe("changes, nothing to stash");let p=(n.trim()||`WIP on ${s}`)+`: ${a.substring(0,7)} ${l}`;return{stashCommit:await i.writeStashCommit({message:p,tree:u,parent:c}),stashMsg:p,branch:s,stashMgr:i}}async function w3({fs:r,dir:e,gitdir:t,message:n=""}){let{stashCommit:i,stashMsg:s,branch:a,stashMgr:o}=await kC({fs:r,dir:e,gitdir:t,message:n});return await o.writeStashRef(i),await o.writeStashReflogEntry({stashCommit:i,message:s}),await sC({fs:r,dir:e,gitdir:t,ref:a,track:!1,force:!0}),i}async function v3({fs:r,dir:e,gitdir:t,message:n=""}){let{stashCommit:i}=await kC({fs:r,dir:e,gitdir:t,message:n});return i}async function CC({fs:r,dir:e,gitdir:t,refIdx:n=0}){let s=await new to({fs:r,dir:e,gitdir:t}).readStashCommit(n),{parent:a=null}=s.commit?s.commit:{};if(!(!a||!Array.isArray(a)))for(let o=0;o<a.length-1;o++){let c=(await Ni({fs:r,cache:{},gitdir:t,oid:a[o+1]})).commit.message.startsWith("stash-Index");await oC({fs:r,dir:e,gitdir:t,stashCommit:a[o+1],parentCommit:a[o],wasStaged:c})}}async function AC({fs:r,dir:e,gitdir:t,refIdx:n=0}){let i=new to({fs:r,dir:e,gitdir:t});if(!(await i.readStashCommit(n)).commit)return;let a=i.refStashPath;await Jt(a,async()=>{await r.exists(a)&&await r.rm(a)});let o=await i.readStashReflogs({parsed:!1});if(!o.length)return;o.splice(n,1);let l=i.refLogsStashPath;await Jt(l,async()=>{if(o.length){await r.write(l,o.reverse().join(`
|
|
`)+`
|
|
`,"utf8");let c=o[o.length-1].split(" ")[1];await i.writeStashRef(c)}else await r.rm(l)})}async function b3({fs:r,dir:e,gitdir:t}){return new to({fs:r,dir:e,gitdir:t}).readStashReflogs({parsed:!0})}async function y3({fs:r,dir:e,gitdir:t}){let n=new to({fs:r,dir:e,gitdir:t}),i=[n.refStashPath,n.refLogsStashPath];await Jt(i,async()=>{await Promise.all(i.map(async s=>{if(await r.exists(s))return r.rm(s)}))})}async function _3({fs:r,dir:e,gitdir:t,refIdx:n=0}){await CC({fs:r,dir:e,gitdir:t,refIdx:n}),await AC({fs:r,dir:e,gitdir:t,refIdx:n})}async function x3({fs:r,dir:e,gitdir:t=L(e,".git"),op:n="push",message:i="",refIdx:s=0}){P("fs",r),P("dir",e),P("gitdir",t),P("op",n);let a={push:w3,apply:CC,drop:AC,list:b3,clear:y3,pop:_3,create:v3},o=["apply","drop","pop"];try{let l=new Z(r),c=await J({fsp:l,dotgit:t});["refs","logs","logs/refs"].map(d=>L(c,d)).forEach(async d=>{await l.exists(d)||await l.mkdir(d)});let f=a[n];if(f){if(o.includes(n)&&s<0)throw new wn(`stash@${s}`,"number that is in range of [0, num of stash pushed]");return await f({fs:l,dir:e,gitdir:c,message:i,refIdx:s})}throw new Error(`To be implemented: ${n}`)}catch(l){throw l.caller="git.stash",l}}async function E3({fs:r,dir:e,gitdir:t=L(e,".git"),filepath:n,cache:i={},refresh:s=!0}){try{P("fs",r),P("gitdir",t),P("filepath",n);let a=new Z(r),o=await J({fsp:a,dotgit:t}),l=await S3({fs:a,cache:i,gitdir:o}),c=await TC({fs:a,cache:i,gitdir:o,tree:l,path:n}),u=await yt.acquire({fs:a,gitdir:o,cache:i},async function(w){for(let b of w)if(b.path===n)return b;return null});if(c===null&&u===null&&await ra.isIgnored({fs:a,gitdir:o,dir:e,filepath:n}))return"ignored";let f=await a.lstat(L(e,n)),d=c!==null,h=u!==null,p=f!==null,g=async()=>{if(h&&!Wd(u,f))return u.oid;{let b=await(await vt.get({fs:a,gitdir:o})).get("core.autocrlf"),y=await a.read(L(e,n),{autocrlf:b}),k=await EC({gitdir:o,type:"blob",object:y});return s&&h&&u.oid===k&&f.size!==-1&&yt.acquire({fs:a,gitdir:o,cache:i},async function(C){C.insert({filepath:n,stats:f,oid:k})}),k}};if(!d&&!p&&!h)return"absent";if(!d&&!p&&h)return"*absent";if(!d&&p&&!h)return"*added";if(!d&&p&&h)return await g()===u.oid?"added":"*added";if(d&&!p&&!h)return"deleted";if(d&&!p&&h)return c===u.oid,"*deleted";if(d&&p&&!h)return await g()===c?"*undeleted":"*undeletemodified";if(d&&p&&h){let w=await g();return w===c?w===u.oid?"unmodified":"*unmodified":w===u.oid?"modified":"*modified"}}catch(a){throw a.caller="git.status",a}}async function TC({fs:r,cache:e,gitdir:t,tree:n,path:i}){typeof i=="string"&&(i=i.split("/"));let s=i.shift();for(let a of n)if(a.path===s){if(i.length===0)return a.oid;let{type:o,object:l}=await at({fs:r,cache:e,gitdir:t,oid:a.oid});if(o==="tree"){let c=Vr.from(l);return TC({fs:r,cache:e,gitdir:t,tree:c,path:i})}if(o==="blob")throw new br(a.oid,o,"blob",i.join("/"))}return null}async function S3({fs:r,cache:e,gitdir:t}){let n;try{n=await z.resolve({fs:r,gitdir:t,ref:"HEAD"})}catch(s){if(s instanceof Xe)return[]}let{tree:i}=await Rl({fs:r,cache:e,gitdir:t,oid:n});return i}async function k3({fs:r,dir:e,gitdir:t=L(e,".git"),ref:n="HEAD",filepaths:i=["."],filter:s,cache:a={},ignored:o=!1,refresh:l=!0}){try{P("fs",r),P("gitdir",t),P("ref",n);let c=new Z(r),u=await J({fsp:c,dotgit:t});return await ps({fs:c,cache:a,dir:e,gitdir:u,trees:[jr({ref:n}),Fu({refresh:l}),Ka()],map:async function(f,[d,h,p]){if(!d&&!p&&h&&!o&&await ra.isIgnored({fs:c,dir:e,filepath:f})||!i.some(x=>iC(f,x)))return null;if(s&&!s(f))return;let[g,w,b]=await Promise.all([d&&d.type(),h&&h.type(),p&&p.type()]),y=[g,w,b].includes("blob");if((g==="tree"||g==="special")&&!y)return;if(g==="commit")return null;if((w==="tree"||w==="special")&&!y)return;if(b==="commit")return null;if((b==="tree"||b==="special")&&!y)return;let k=g==="blob"?await d.oid():void 0,C=b==="blob"?await p.oid():void 0,S;g!=="blob"&&w==="blob"&&b!=="blob"?S="42":w==="blob"&&(S=await h.oid());let A=[void 0,k,S,C],v=A.map(x=>A.indexOf(x));return v.shift(),[f,...v]}})}catch(c){throw c.caller="git.statusMatrix",c}}async function C3({fs:r,dir:e,gitdir:t=L(e,".git"),ref:n,object:i,force:s=!1}){try{P("fs",r),P("gitdir",t),P("ref",n);let a=new Z(r);if(n===void 0)throw new zr("ref");n=n.startsWith("refs/tags/")?n:`refs/tags/${n}`;let o=await J({fsp:a,dotgit:t}),l=await z.resolve({fs:a,gitdir:o,ref:i||"HEAD"});if(!s&&await z.exists({fs:a,gitdir:o,ref:n}))throw new li("tag",n);await z.writeRef({fs:a,gitdir:o,ref:n,value:l})}catch(a){throw a.caller="git.tag",a}}async function A3({fs:r,dir:e,gitdir:t=L(e,".git"),cache:n={},filepath:i,oid:s,mode:a,add:o,remove:l,force:c}){try{P("fs",r),P("gitdir",t),P("filepath",i);let u=new Z(r),f=await J({fsp:u,dotgit:t});if(l)return await yt.acquire({fs:u,gitdir:f,cache:n},async function(h){if(!c){let p=await u.lstat(L(e,i));if(p){if(p.isDirectory())throw new ta("directory");return}}h.has({filepath:i})&&h.delete({filepath:i})});let d;if(!s){if(d=await u.lstat(L(e,i)),!d)throw new Xe(`file at "${i}" on disk and "remove" not set`);if(d.isDirectory())throw new ta("directory")}return await yt.acquire({fs:u,gitdir:f,cache:n},async function(h){if(!o&&!h.has({filepath:i}))throw new Xe(`file at "${i}" 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(L(e,i)):await u.read(L(e,i));s=await qr({fs:u,gitdir:f,type:"blob",format:"content",object:g})}return h.insert({filepath:i,oid:s,stats:p}),s})}catch(u){throw u.caller="git.updateIndex",u}}function T3(){try{return oh.version}catch(r){throw r.caller="git.version",r}}async function R3({fs:r,dir:e,gitdir:t=L(e,".git"),trees:n,map:i,reduce:s,iterate:a,cache:o={}}){try{P("fs",r),P("gitdir",t),P("trees",n);let l=new Z(r),c=await J({fsp:l,dotgit:t});return await ps({fs:l,cache:o,dir:e,gitdir:c,trees:n,map:i,reduce:s,iterate:a})}catch(l){throw l.caller="git.walk",l}}async function P3({fs:r,dir:e,gitdir:t=L(e,".git"),blob:n}){try{P("fs",r),P("gitdir",t),P("blob",n);let i=new Z(r),s=await J({fsp:i,dotgit:t});return await qr({fs:i,gitdir:s,type:"blob",object:n,format:"content"})}catch(i){throw i.caller="git.writeBlob",i}}async function $3({fs:r,dir:e,gitdir:t=L(e,".git"),commit:n}){try{P("fs",r),P("gitdir",t),P("commit",n);let i=new Z(r),s=await J({fsp:i,dotgit:t});return await SC({fs:i,gitdir:s,commit:n})}catch(i){throw i.caller="git.writeCommit",i}}async function I3({fs:r,dir:e,gitdir:t=L(e,".git"),type:n,object:i,format:s="parsed",oid:a,encoding:o=void 0}){try{let l=new Z(r),c=await J({fsp:l,dotgit:t});if(s==="parsed"){switch(n){case"commit":i=Wr.from(i).toObject();break;case"tree":i=Vr.from(i).toObject();break;case"blob":i=_.from(i,o);break;case"tag":i=vn.from(i).toObject();break;default:throw new br(a||"",n,"blob|commit|tag|tree")}s="content"}return a=await qr({fs:l,gitdir:c,type:n,object:i,oid:a,format:s}),a}catch(l){throw l.caller="git.writeObject",l}}async function F3({fs:r,dir:e,gitdir:t=L(e,".git"),ref:n,value:i,force:s=!1,symbolic:a=!1}){try{P("fs",r),P("gitdir",t),P("ref",n),P("value",i);let o=new Z(r);if(!_l(n,!0))throw new wn(n,qa.default.clean(n));let l=await J({fsp:o,dotgit:t});if(!s&&await z.exists({fs:o,gitdir:l,ref:n}))throw new li("ref",n);a?await z.writeSymbolicRef({fs:o,gitdir:l,ref:n,value:i}):(i=await z.resolve({fs:o,gitdir:l,ref:i}),await z.writeRef({fs:o,gitdir:l,ref:n,value:i}))}catch(o){throw o.caller="git.writeRef",o}}async function M3({fs:r,gitdir:e,tag:t}){let n=vn.from(t).toObject();return await qr({fs:r,gitdir:e,type:"tag",object:n,format:"content"})}async function O3({fs:r,dir:e,gitdir:t=L(e,".git"),tag:n}){try{P("fs",r),P("gitdir",t),P("tag",n);let i=new Z(r),s=await J({fsp:i,dotgit:t});return await M3({fs:i,gitdir:s,tag:n})}catch(i){throw i.caller="git.writeTag",i}}async function D3({fs:r,dir:e,gitdir:t=L(e,".git"),tree:n}){try{P("fs",r),P("gitdir",t),P("tree",n);let i=new Z(r),s=await J({fsp:i,dotgit:t});return await Ou({fs:i,gitdir:s,tree:n})}catch(i){throw i.caller="git.writeTree",i}}var L3={Errors:Gn,STAGE:Ka,TREE:jr,WORKDIR:Fu,add:_N,abortMerge:wN,addNote:kN,addRemote:CN,annotatedTag:TN,branch:PN,cherryPick:BN,checkout:sC,clone:JN,commit:eB,getConfig:vB,getConfigAll:yB,setConfig:g3,currentBranch:tB,deleteBranch:nB,deleteRef:iB,deleteRemote:aB,deleteTag:lB,expandOid:dB,expandRef:hB,fastForward:pB,fetch:mB,findMergeBase:gB,findRoot:wB,getRemoteInfo:_B,getRemoteInfo2:xB,hashBlob:SB,indexPack:CB,init:AB,isDescendent:TB,isIgnored:RB,listBranches:PB,listFiles:IB,listNotes:MB,listRefs:OB,listRemotes:LB,listServerRefs:UB,listTags:HB,log:WB,merge:qB,packObjects:KB,pull:XB,push:r3,readBlob:Pl,readCommit:xC,readNote:i3,readObject:s3,readTag:o3,readTree:l3,remove:c3,removeNote:f3,renameBranch:h3,resetIndex:p3,updateIndex:A3,resolveRef:m3,status:E3,statusMatrix:k3,tag:C3,version:T3,walk:R3,writeBlob:P3,writeCommit:$3,writeObject:I3,writeRef:F3,writeTag:O3,writeTree:D3,stash:x3},ce=L3;var $t=require("obsidian"),tI=Ke(require("path"),1);m();var At={};m();var lh=class{constructor(){this.tasks=[];this.currentTask=null}addTask(e,t){this.tasks.push({task:e,onFinished:n=>{t&&t(n)}}),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(t=>{try{e.onFinished(t)}catch(n){console.error(n)}},t=>{console.error("Unhandled PromiseQueue task rejection",t);try{e.onFinished(void 0)}catch(n){console.error(n)}}).finally(()=>{this.currentTask=null,this.kickstart()})}clear(){this.tasks=[]}};m();var He=require("obsidian");m();var RC=require("obsidian"),ch="YYYY-MM-DD",sv=`${ch} HH:mm`,av=`${ch} HH:mm:ss`,uh=40,Yr={commitMessage:"vault backup: {{date}}",autoCommitMessage:"vault backup: {{date}}",commitMessageScript:"",commitDateFormat:av,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",rebaseAutoStash:"enabled",mergeStrategy:"none",customMessageOnAutoBackup:!1,autoBackupAfterFileChange:!1,treeStructure:!1,refreshSourceControl:RC.Platform.isDesktopApp,basePath:"",differentIntervalCommitAndPush:!1,changedFilesInStatusBar:!1,limitToVault:!1,showedMobileNotice:!1,refreshSourceControlTimer:7e3,showBranchStatusBar:!0,setLastSaveToLastCommit:!1,submoduleRecurseCheckout:!1,gitDir:"",showFileMenu:!0,authorInHistoryView:"hide",dateInHistoryView:!1,diffStyle:"split",diffTimeout:50,autoStageOnEmptyIndex:!0,hunks:{showSigns:!1,hunkCommands:!1,statusBar:"disabled"},lineAuthor:{show:!1,followMovement:"inactive",authorDisplay:"initials",showCommitHash:!1,dateTimeFormatOptions:"date",dateTimeFormatCustomString:sv,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}},fr={type:"git-view",name:"Source Control",icon:"git-pull-request"},jn={type:"git-history-view",name:"History",icon:"history"},aa={type:"git-read-only-file-view",name:"File at commit",icon:"file-clock"},oa={type:"split-diff-view",name:"Diff view",icon:"diff"},la={type:"diff-view",name:"Diff View",icon:"git-pull-request"},fh="C:\\Program Files\\Git\\cmd\\git.exe",dh=".git_credentials_input",ro="obsidian_askpass.sh",PC=`#!/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"
|
|
`,$C=["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 Lu=class{diff(e,t,n={}){let i;typeof n=="function"?(i=n,n={}):"callback"in n&&(i=n.callback);let s=this.castInput(e,n),a=this.castInput(t,n),o=this.removeEmpty(this.tokenize(s,n)),l=this.removeEmpty(this.tokenize(a,n));return this.diffWithOptionsObj(o,l,n,i)}diffWithOptionsObj(e,t,n,i){var s;let a=y=>{if(y=this.postProcess(y,n),i){setTimeout(function(){i(y)},0);return}else return y},o=t.length,l=e.length,c=1,u=o+l;n.maxEditLength!=null&&(u=Math.min(u,n.maxEditLength));let f=(s=n.timeout)!==null&&s!==void 0?s:1/0,d=Date.now()+f,h=[{oldPos:-1,lastComponent:void 0}],p=this.extractCommon(h[0],t,e,0,n);if(h[0].oldPos+1>=l&&p+1>=o)return a(this.buildValues(h[0].lastComponent,t,e));let g=-1/0,w=1/0,b=()=>{for(let y=Math.max(g,-c);y<=Math.min(w,c);y+=2){let k,C=h[y-1],S=h[y+1];C&&(h[y-1]=void 0);let A=!1;if(S){let x=S.oldPos-y;A=S&&0<=x&&x<o}let v=C&&C.oldPos+1<l;if(!A&&!v){h[y]=void 0;continue}if(!v||A&&C.oldPos<S.oldPos?k=this.addToPath(S,!0,!1,0,n):k=this.addToPath(C,!1,!0,1,n),p=this.extractCommon(k,t,e,y,n),k.oldPos+1>=l&&p+1>=o)return a(this.buildValues(k.lastComponent,t,e))||!0;h[y]=k,k.oldPos+1>=l&&(w=Math.min(w,y-1)),p+1>=o&&(g=Math.max(g,y+1))}c++};if(i)(function y(){setTimeout(function(){if(c>u||Date.now()>d)return i(void 0);b()||y()},0)})();else for(;c<=u&&Date.now()<=d;){let y=b();if(y)return y}}addToPath(e,t,n,i,s){let a=e.lastComponent;return a&&!s.oneChangePerToken&&a.added===t&&a.removed===n?{oldPos:e.oldPos+i,lastComponent:{count:a.count+1,added:t,removed:n,previousComponent:a.previousComponent}}:{oldPos:e.oldPos+i,lastComponent:{count:1,added:t,removed:n,previousComponent:a}}}extractCommon(e,t,n,i,s){let a=t.length,o=n.length,l=e.oldPos,c=l-i,u=0;for(;c+1<a&&l+1<o&&this.equals(n[l+1],t[c+1],s);)c++,l++,u++,s.oneChangePerToken&&(e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1});return u&&!s.oneChangePerToken&&(e.lastComponent={count:u,previousComponent:e.lastComponent,added:!1,removed:!1}),e.oldPos=l,c}equals(e,t,n){return n.comparator?n.comparator(e,t):e===t||!!n.ignoreCase&&e.toLowerCase()===t.toLowerCase()}removeEmpty(e){let t=[];for(let n=0;n<e.length;n++)e[n]&&t.push(e[n]);return t}castInput(e,t){return e}tokenize(e,t){return Array.from(e)}join(e){return e.join("")}postProcess(e,t){return e}get useLongestToken(){return!1}buildValues(e,t,n){let i=[],s;for(;e;)i.push(e),s=e.previousComponent,delete e.previousComponent,e=s;i.reverse();let a=i.length,o=0,l=0,c=0;for(;o<a;o++){let u=i[o];if(u.removed)u.value=this.join(n.slice(c,c+u.count)),c+=u.count;else{if(!u.added&&this.useLongestToken){let f=t.slice(l,l+u.count);f=f.map(function(d,h){let p=n[c+h];return p.length>d.length?p:d}),u.value=this.join(f)}else u.value=this.join(t.slice(l,l+u.count));l+=u.count,u.added||(c+=u.count)}}return i}};m();var ov=class extends Lu{constructor(){super(...arguments),this.tokenize=B3}equals(e,t,n){return n.ignoreWhitespace?((!n.newlineIsToken||!e.includes(`
|
|
`))&&(e=e.trim()),(!n.newlineIsToken||!t.includes(`
|
|
`))&&(t=t.trim())):n.ignoreNewlineAtEof&&!n.newlineIsToken&&(e.endsWith(`
|
|
`)&&(e=e.slice(0,-1)),t.endsWith(`
|
|
`)&&(t=t.slice(0,-1))),super.equals(e,t,n)}},N3=new ov;function lv(r,e,t){return N3.diff(r,e,t)}function B3(r,e){e.stripTrailingCr&&(r=r.replace(/\r\n/g,`
|
|
`));let t=[],n=r.split(/(\n|\r\n)/);n[n.length-1]||n.pop();for(let i=0;i<n.length;i++){let s=n[i];i%2&&!e.newlineIsToken?t[t.length-1]+=s:t.push(s)}return t}m();function U3(r){for(let e=0;e<r.length;e++)if(r[e]<" "||r[e]>"~"||r[e]==='"'||r[e]==="\\")return!0;return!1}function ca(r){if(!U3(r))return r;let e='"',t=new TextEncoder().encode(r),n=0;for(;n<t.length;){let i=t[n];i===7?e+="\\a":i===8?e+="\\b":i===9?e+="\\t":i===10?e+="\\n":i===11?e+="\\v":i===12?e+="\\f":i===13?e+="\\r":i===34?e+='\\"':i===92?e+="\\\\":i>=32&&i<=126?e+=String.fromCharCode(i):e+="\\"+i.toString(8).padStart(3,"0"),n++}return e+='"',e}var cv={includeIndex:!0,includeUnderline:!0,includeFileHeaders:!0};function uv(r,e,t,n,i,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;lv(t,n,Object.assign(Object.assign({},o),{callback:f=>{let d=c(f);u(d)}}))}else return c(lv(t,n,o));function c(u){if(!u)return;u.push({value:"",lines:[]});function f(y){return y.map(function(k){return" "+k})}let d=[],h=0,p=0,g=[],w=1,b=1;for(let y=0;y<u.length;y++){let k=u[y],C=k.lines||H3(k.value);if(k.lines=C,k.added||k.removed){if(!h){let S=u[y-1];h=w,p=b,S&&(g=l>0?f(S.lines.slice(-l)):[],h-=g.length,p-=g.length)}for(let S of C)g.push((k.added?"+":"-")+S);k.added?b+=C.length:w+=C.length}else{if(h)if(C.length<=l*2&&y<u.length-2)for(let S of f(C))g.push(S);else{let S=Math.min(C.length,l);for(let v of f(C.slice(0,S)))g.push(v);let A={oldStart:h,oldLines:w-h+S,newStart:p,newLines:b-p+S,lines:g};d.push(A),h=0,p=0,g=[]}w+=C.length,b+=C.length}}for(let y of d)for(let k=0;k<y.lines.length;k++)y.lines[k].endsWith(`
|
|
`)?y.lines[k]=y.lines[k].slice(0,-1):(y.lines.splice(k+1,0,"\\ No newline at end of file"),k++);return{oldFileName:r,newFileName:e,oldHeader:i,newHeader:s,hunks:d}}}function hh(r,e){var t,n,i,s,a,o;if(e||(e=cv),Array.isArray(r)){if(r.length>1&&!e.includeFileHeaders&&!r.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 r.map(u=>hh(u,e)).join(`
|
|
`)}let l=[];if(r.isGit){if(e=cv,!r.oldFileName)throw new Error("oldFileName must be specified for Git patches");if(!r.newFileName)throw new Error("newFileName must be specified for Git patches");let u=r.oldFileName,f=r.newFileName;r.isCreate&&u==="/dev/null"?u=f.replace(/^b\//,"a/"):r.isDelete&&f==="/dev/null"&&(f=u.replace(/^a\//,"b/")),l.push("diff --git "+ca(u)+" "+ca(f)),r.isDelete&&l.push("deleted file mode "+((t=r.oldMode)!==null&&t!==void 0?t:"100644")),r.isCreate&&l.push("new file mode "+((n=r.newMode)!==null&&n!==void 0?n:"100644")),r.oldMode&&r.newMode&&!r.isDelete&&!r.isCreate&&(l.push("old mode "+r.oldMode),l.push("new mode "+r.newMode)),r.isRename&&(l.push("rename from "+ca(((i=r.oldFileName)!==null&&i!==void 0?i:"").replace(/^a\//,""))),l.push("rename to "+ca(((s=r.newFileName)!==null&&s!==void 0?s:"").replace(/^b\//,"")))),r.isCopy&&(l.push("copy from "+ca(((a=r.oldFileName)!==null&&a!==void 0?a:"").replace(/^a\//,""))),l.push("copy to "+ca(((o=r.newFileName)!==null&&o!==void 0?o:"").replace(/^b\//,""))))}else e.includeIndex&&r.oldFileName==r.newFileName&&r.oldFileName!==void 0&&l.push("Index: "+r.oldFileName),e.includeUnderline&&l.push("===================================================================");let c=r.hunks.length>0;e.includeFileHeaders&&r.oldFileName!==void 0&&r.newFileName!==void 0&&(!r.isGit||c)&&(l.push("--- "+ca(r.oldFileName)+(r.oldHeader?" "+r.oldHeader:"")),l.push("+++ "+ca(r.newFileName)+(r.newHeader?" "+r.newHeader:"")));for(let u=0;u<r.hunks.length;u++){let f=r.hunks[u],d=f.oldLines===0?f.oldStart-1:f.oldStart,h=f.newLines===0?f.newStart-1:f.newStart;l.push("@@ -"+d+","+f.oldLines+" +"+h+","+f.newLines+" @@");for(let p of f.lines)l.push(p)}return l.join(`
|
|
`)+`
|
|
`}function IC(r,e,t,n,i,s,a){if(typeof a=="function"&&(a={callback:a}),a!=null&&a.callback){let{callback:o}=a;uv(r,e,t,n,i,s,Object.assign(Object.assign({},a),{callback:l=>{o(l?hh(l,a.headerOptions):void 0)}}))}else{let o=uv(r,e,t,n,i,s,a);return o?hh(o,a==null?void 0:a.headerOptions):void 0}}function Nu(r,e,t,n,i,s){return IC(r,r,e,t,n,i,s)}function H3(r){let e=r.endsWith(`
|
|
`),t=r.split(`
|
|
`).map(n=>n+`
|
|
`);return e?t.pop():t.push(t.pop().slice(0,-1)),t}m();var G3=Ke(Pw(),1),OC=Ke(Lg(),1),DC=Ke(Ng(),1),j3=Ke(Bg(),1),z3=Ke(Hg(),1),V3=Ke(xw(),1);var Te=class r 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 t=new r(e.message);return t.code=e.code,t.data=e.data,t.caller=e.caller,t.stack=e.stack,t}get isIsomorphicGitError(){return!0}},ph=class r 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=r.code,this.data={filepaths:e}}};ph.code="UnmergedPathsError";var ci=class r 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=r.code,this.data={message:e}}};ci.code="InternalError";var mh=class r extends Te{constructor(e){super(`The filepath "${e}" contains unsafe character sequences`),this.code=this.name=r.code,this.data={filepath:e}}};mh.code="UnsafeFilepathError";var Bu=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 t=this.buffer.slice(this._start,this._start+e);return this._start+=e,t}toString(e,t){let n=this.buffer.toString(e,this._start,this._start+t);return this._start+=t,n}write(e,t,n){let i=this.buffer.write(e,this._start,t,n);return this._start+=t,i}copy(e,t,n){let i=e.copy(this.buffer,this._start,t,n);return this._start+=i,i}readUInt8(){let e=this.buffer.readUInt8(this._start);return this._start+=1,e}writeUInt8(e){let t=this.buffer.writeUInt8(e,this._start);return this._start+=1,t}readUInt16BE(){let e=this.buffer.readUInt16BE(this._start);return this._start+=2,e}writeUInt16BE(e){let t=this.buffer.writeUInt16BE(e,this._start);return this._start+=2,t}readUInt32BE(){let e=this.buffer.readUInt32BE(this._start);return this._start+=4,e}writeUInt32BE(e){let t=this.buffer.writeUInt32BE(e,this._start);return this._start+=4,t}};function W3(r,e){return-(r<e)||+(r>e)}function q3(r,e){return W3(r.path,e.path)}function Y3(r){let e=r>0?r>>12:0;e!==4&&e!==8&&e!==10&&e!==14&&(e=8);let t=r&511;return t&73?t=493:t=420,e!==8&&(t=0),(e<<12)+t}var Ui=2**32;function FC(r,e,t,n){if(r!==void 0&&e!==void 0)return[r,e];t===void 0&&(t=n.valueOf());let i=Math.floor(t/1e3),s=(t-i*1e3)*1e6;return[i,s]}function gh(r){let[e,t]=FC(r.ctimeSeconds,r.ctimeNanoseconds,r.ctimeMs,r.ctime),[n,i]=FC(r.mtimeSeconds,r.mtimeNanoseconds,r.mtimeMs,r.mtime);return{ctimeSeconds:e%Ui,ctimeNanoseconds:t%Ui,mtimeSeconds:n%Ui,mtimeNanoseconds:i%Ui,dev:r.dev%Ui,ino:r.ino%Ui,mode:Y3(r.mode%Ui),uid:r.uid%Ui,gid:r.gid%Ui,size:r.size>-1?r.size%Ui:0}}function Z3(r){let e="";for(let t of new Uint8Array(r))t<16&&(e+="0"),e+=t.toString(16);return e}var fv=null;async function MC(r){return fv===null&&(fv=await X3()),fv?LC(r):K3(r)}function K3(r){return new OC.default().update(r).digest("hex")}async function LC(r){let e=await crypto.subtle.digest("SHA-1",r);return Z3(e)}async function X3(){try{return await LC(new Uint8Array([]))==="da39a3ee5e6b4b0d3255bfef95601890afd80709"}catch(r){}return!1}function Q3(r){return{assumeValid:!!(r&32768),extended:!!(r&16384),stage:(r&12288)>>12,nameLength:r&4095}}function J3(r){let e=r.flags;return e.extended=!1,e.nameLength=Math.min(_.from(r.path).length,4095),(e.assumeValid?32768:0)+(e.extended?16384:0)+((e.stage&3)<<12)+(e.nameLength&4095)}var pv=class r{constructor(e,t){this._dirty=!1,this._unmergedPaths=t||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 t=this._entries.get(e.path);t||(this._entries.set(e.path,e),t=e),t.stages[e.flags.stage]=e,this._unmergedPaths.add(e.path)}}static async from(e){if(_.isBuffer(e))return r.fromBuffer(e);if(e===null)return new r(null);throw new ci("invalid type passed to GitIndex.from")}static async fromBuffer(e){if(e.length===0)throw new ci("Index file is empty (.git/index)");let t=new r,n=new Bu(e),i=n.toString("utf8",4);if(i!=="DIRC")throw new ci(`Invalid dircache magic file number: ${i}`);let s=await MC(e.slice(0,-20)),a=e.slice(-20).toString("hex");if(a!==s)throw new ci(`Invalid checksum in GitIndex buffer: expected ${a} but saw ${s}`);let o=n.readUInt32BE();if(o!==2)throw new ci(`Unsupported dircache version: ${o}`);let l=n.readUInt32BE(),c=0;for(;!n.eof()&&c<l;){let u={};u.ctimeSeconds=n.readUInt32BE(),u.ctimeNanoseconds=n.readUInt32BE(),u.mtimeSeconds=n.readUInt32BE(),u.mtimeNanoseconds=n.readUInt32BE(),u.dev=n.readUInt32BE(),u.ino=n.readUInt32BE(),u.mode=n.readUInt32BE(),u.uid=n.readUInt32BE(),u.gid=n.readUInt32BE(),u.size=n.readUInt32BE(),u.oid=n.slice(20).toString("hex");let f=n.readUInt16BE();u.flags=Q3(f);let d=e.indexOf(0,n.tell()+1)-n.tell();if(d<1)throw new ci(`Got a path length of: ${d}`);if(u.path=n.toString("utf8",d),u.path.includes("..\\")||u.path.includes("../"))throw new mh(u.path);let h=8-(n.tell()-12)%8;for(h===0&&(h=8);h--;){let p=n.readUInt8();if(p!==0)throw new ci(`Expected 1-8 null characters but got '${p}' after ${u.path}`);if(n.eof())throw new ci("Unexpected end of file")}u.stages=[],t._addEntry(u),c++}return t}get unmergedPaths(){return[...this._unmergedPaths]}get entries(){return[...this._entries.values()].sort(q3)}get entriesMap(){return this._entries}get entriesFlat(){return[...this.entries].flatMap(e=>e.stages.length>1?e.stages.filter(t=>t):e)}*[Symbol.iterator](){for(let e of this.entries)yield e}insert({filepath:e,stats:t,oid:n,stage:i=0}){t||(t={ctimeSeconds:0,ctimeNanoseconds:0,mtimeSeconds:0,mtimeNanoseconds:0,dev:0,ino:0,mode:0,uid:0,gid:0,size:0}),t=gh(t);let s=_.from(e),a={ctimeSeconds:t.ctimeSeconds,ctimeNanoseconds:t.ctimeNanoseconds,mtimeSeconds:t.mtimeSeconds,mtimeNanoseconds:t.mtimeNanoseconds,dev:t.dev,ino:t.ino,mode:t.mode||33188,uid:t.uid,gid:t.gid,size:t.size,path:e,oid:n,flags:{assumeValid:!1,extended:!1,stage:i,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 t of this._entries.keys())t.startsWith(e+"/")&&this._entries.delete(t);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 t=_.from(e.path),n=Math.ceil((62+t.length+1)/8)*8,i=_.alloc(n),s=new Bu(i),a=gh(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(J3(e)),s.write(e.path,t.length,"utf8"),i}async toObject(){let e=_.alloc(12),t=new Bu(e);t.write("DIRC",4,"utf8"),t.writeUInt32BE(2),t.writeUInt32BE(this.entriesFlat.length);let n=[];for(let o of this.entries)if(n.push(r._entryToBuffer(o)),o.stages.length>1)for(let l of o.stages)l&&l!==o&&n.push(r._entryToBuffer(l));n=await Promise.all(n);let i=_.concat(n),s=_.concat([e,i]),a=await MC(s);return _.concat([s,_.from(a,"hex")])}};function e8(r,e,t=!0,n=!0){let i=gh(r),s=gh(e);return t&&i.mode!==s.mode||i.mtimeSeconds!==s.mtimeSeconds||i.ctimeSeconds!==s.ctimeSeconds||i.uid!==s.uid||i.gid!==s.gid||n&&i.ino!==s.ino||i.size!==s.size}var dv;function t8(){return dv===void 0&&(dv=new DC.default({maxPending:1/0})),dv}function r8(r,e){return t8().acquire(r,e)}var hv=Symbol("IndexCache");function n8(){return{map:new Map,stats:new Map}}async function i8(r,e,t){let[n,i]=await Promise.all([r.lstat(e),r.read(e)]),s=await pv.from(i);t.map.set(e,s),t.stats.set(e,n)}async function s8(r,e,t){let n=t.stats.get(e);if(n===void 0)return!0;if(n===null)return!1;let i=await r.lstat(e);return i===null?!1:e8(n,i)}var wh=class{static async acquire({fs:e,gitdir:t,cache:n,allowUnmerged:i=!0},s){n[hv]||(n[hv]=n8());let a=`${t}/index`,o,l=[];return await r8(a,async()=>{let c=n[hv];await s8(e,a,c)&&await i8(e,a,c);let u=c.map.get(a);if(l=u.unmergedPaths,l.length&&!i)throw new ph(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}},mv=class r extends Te{constructor(e){super(`Expected a 40-char hex object id but saw "${e}".`),this.code=this.name=r.code,this.data={value:e}}};mv.code="InvalidOidError";var gv=class r extends Te{constructor(e,t){super(`"${e}" would be an invalid git reference. (Hint: a valid alternative would be "${t}".)`),this.code=this.name=r.code,this.data={ref:e,suggestion:t}}};gv.code="InvalidRefNameError";var wv=class r 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=r.code,this.data={remote:e}}};wv.code="NoRefspecError";var vv=class r extends Te{constructor(e){super(`Could not find ${e}.`),this.code=this.name=r.code,this.data={what:e}}};vv.code="NotFoundError";var bv=class r extends Te{constructor(e,t,n){super(`HTTP Error: ${e} ${t}`),this.code=this.name=r.code,this.data={statusCode:e,statusMessage:t,response:n}}};bv.code="HttpError";var yv=class r extends Te{constructor(e,t){super(`Remote did not reply using the "smart" HTTP protocol. Expected "001e# service=git-upload-pack" but received: ${e}`),this.code=this.name=r.code,this.data={preview:e,response:t}}};yv.code="SmartHttpError";var _v=class r extends Te{constructor(){super("The operation was canceled."),this.code=this.name=r.code,this.data={}}};_v.code="UserCanceledError";var xv=class r extends Te{constructor(){super("Empty response from git server."),this.code=this.name=r.code,this.data={}}};xv.code="EmptyServerResponseError";var Ev=class r extends Te{constructor(e,t){super(`Expected "${e}" but received "${t}".`),this.code=this.name=r.code,this.data={expected:e,actual:t}}};Ev.code="ParseError";var Sv=class r extends Te{constructor(e,t,n){super(`Git remote "${e}" uses an unrecognized transport protocol: "${t}"`),this.code=this.name=r.code,this.data={url:e,transport:t,suggestion:n}}};Sv.code="UnknownTransportError";var kv=class r extends Te{constructor(e){super(`Cannot parse remote URL: "${e}"`),this.code=this.name=r.code,this.data={url:e}}};kv.code="UrlParseError";var Cv=class r extends Te{constructor(e,t,n,i){super(`Object ${e} ${i?`at ${i}`:""}was anticipated to be a ${n} but it is a ${t}.`),this.code=this.name=r.code,this.data={oid:e,actual:t,expected:n,filepath:i}}};Cv.code="ObjectTypeError";var Av=class r extends Te{constructor(e){super(`No name was provided for ${e} in the argument or in the .git/config file.`),this.code=this.name=r.code,this.data={role:e}}};Av.code="MissingNameError";var Tv=class r extends Te{constructor(e,t,n=!0){super(`Failed to create ${e} at ${t} because it already exists.${n?` (Hint: use 'force: true' parameter to overwrite existing ${e}.)`:""}`),this.code=this.name=r.code,this.data={noun:e,where:t,canForce:n}}};Tv.code="AlreadyExistsError";var Rv=class r extends Te{constructor(e,t,n){super(`Found multiple ${e} matching "${t}" (${n.join(", ")}). Use a longer abbreviation length to disambiguate them.`),this.code=this.name=r.code,this.data={nouns:e,short:t,matches:n}}};Rv.code="AmbiguousError";var Pv=class r extends Te{constructor(e){super(`Your local changes to the following files would be overwritten by checkout: ${e.join(", ")}`),this.code=this.name=r.code,this.data={filepaths:e}}};Pv.code="CheckoutConflictError";var $v=class r extends Te{constructor(e,t){super(`Cannot cherry-pick merge commit ${e}. Merge commits have ${t} parents and require specifying which parent to use as the base.`),this.code=this.name=r.code,this.data={oid:e,parentCount:t}}};$v.code="CherryPickMergeCommitError";var Iv=class r extends Te{constructor(e){super(`Cannot cherry-pick root commit ${e}. Root commits have no parents.`),this.code=this.name=r.code,this.data={oid:e}}};Iv.code="CherryPickRootCommitError";var Fv=class r extends Te{constructor(e,t){super(`Failed to checkout "${e}" because commit ${t} is not available locally. Do a git fetch to make the branch available locally.`),this.code=this.name=r.code,this.data={ref:e,oid:t}}};Fv.code="CommitNotFetchedError";var Mv=class r extends Te{constructor(){super("Cannot create an empty commit when disallowEmpty is true."),this.code=this.name=r.code,this.data={}}};Mv.code="EmptyCommitError";var Ov=class r extends Te{constructor(){super("A simple fast-forward merge was not possible."),this.code=this.name=r.code,this.data={}}};Ov.code="FastForwardError";var Dv=class r extends Te{constructor(e,t){super(`One or more branches were not updated: ${e}`),this.code=this.name=r.code,this.data={prettyDetails:e,result:t}}};Dv.code="GitPushError";var Lv=class r extends Te{constructor(e){let t="invalid filepath";e==="leading-slash"||e==="trailing-slash"?t='"filepath" parameter should not include leading or trailing directory separators because these can cause problems on some platforms.':e==="directory"&&(t='"filepath" should not be a directory.'),super(t),this.code=this.name=r.code,this.data={reason:e}}};Lv.code="InvalidFilepathError";var Nv=class r extends Te{constructor(e){super(`Maximum search depth of ${e} exceeded.`),this.code=this.name=r.code,this.data={depth:e}}};Nv.code="MaxDepthError";var Bv=class r extends Te{constructor(){super("Merges with conflicts are not supported yet."),this.code=this.name=r.code,this.data={}}};Bv.code="MergeNotSupportedError";var Uv=class r extends Te{constructor(e,t,n,i){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=r.code,this.data={filepaths:e,bothModified:t,deleteByUs:n,deleteByTheirs:i}}};Uv.code="MergeConflictError";var Hv=class r extends Te{constructor(e){super(`The function requires a "${e}" parameter but none was provided.`),this.code=this.name=r.code,this.data={parameter:e}}};Hv.code="MissingParameterError";var Gv=class r 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=r.code,this.data={errors:e},this.errors=e}};Gv.code="MultipleGitError";var jv=class r extends Te{constructor(e){let t="";e==="not-fast-forward"?t=" because it was not a simple fast-forward":e==="tag-exists"&&(t=" because tag already exists"),super(`Push rejected${t}. Use "force: true" to override.`),this.code=this.name=r.code,this.data={reason:e}}};jv.code="PushRejectedError";var zv=class r extends Te{constructor(e,t){super(`Remote does not support the "${e}" so the "${t}" parameter cannot be used.`),this.code=this.name=r.code,this.data={capability:e,parameter:t}}};zv.code="RemoteCapabilityError";var Vv=class r 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=r.code,this.data={filepath:e}}};Vv.code="IndexResetError";var Wv=class r 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=r.code,this.data={ref:e}}};Wv.code="NoCommitError";var fq=typeof Array.prototype.flat=="undefined"?r=>r.reduce((e,t)=>e.concat(t),[]):r=>r.flat();m();var Uu=Ke(Ew(),1);function a8(r,e){return-(r<e)||+(r>e)}function GC(r){let e=Math.max(r.lastIndexOf("/"),r.lastIndexOf("\\"));return e===-1?".":e===0?"/":r.slice(0,e)}async function jC(r,e,t=10){try{await r(e)}catch(n){if(n===null||n.code==="EEXIST")return;if(n.code!=="ENOENT")throw n;let i=GC(e);if(i==="."||i==="/"||i===e)throw n;await jC(r,i,t);for(let s=0;;s++)try{await r(e);return}catch(a){if(a===null||a.code==="EEXIST")return;if(a.code==="ENOENT"&&s<t){await new Promise(o=>setTimeout(o,0));continue}throw a}}}function o8(r,e){let t="",n=0,i=-1,s=0,a="\0";for(let o=0;o<=r.length;++o){if(o<r.length)a=r[o];else{if(a==="/")break;a="/"}if(a==="/"){if(!(i===o-1||s===1))if(s===2){if(t.length<2||n!==2||t.at(-1)!=="."||t.at(-2)!=="."){if(t.length>2){let l=t.lastIndexOf("/");l===-1?(t="",n=0):(t=t.slice(0,l),n=t.length-1-t.lastIndexOf("/")),i=o,s=0;continue}else if(t.length!==0){t="",n=0,i=o,s=0;continue}}e&&(t+=t.length>0?"/..":"..",n=2)}else t.length>0?t+="/"+r.slice(i+1,o):t=r.slice(i+1,o),n=o-i-1;i=o,s=0}else a==="."&&s!==-1?++s:s=-1}return t}function l8(r){return r.length>=2&&/^[a-zA-Z]:/.test(r)?r.slice(0,2):null}function c8(r){if(!r.length)return".";r=r.replace(/\\/g,"/");let e=l8(r),t=r[0]==="/"||e!==null&&r[2]==="/",n=r.at(-1)==="/",i=e?r.slice(2):r,s=o8(i,!t);if(!s.length){let a=e?t?e+"/":e:t?"/":".";return n&&!t?a+"/":a}return n&&(s+="/"),e?t?`${e}/${s}`:`${e}${s}`:t?`/${s}`:s}function u8(...r){if(r.length===0)return".";let e;for(let t=0;t<r.length;++t){let n=r[t].replace(/\\/g,"/");n.length!==0&&(/^[a-zA-Z]:\//.test(n)||e===void 0?e=n:e+="/"+n)}return e===void 0?".":c8(e)}async function qv(r,e){let t=await r.readdir(e);t==null?await r.rm(e):t.length?await Promise.all(t.map(n=>{let i=u8(e,n);return r.lstat(i).then(s=>{if(s)return s.isDirectory()?qv(r,i):r.rm(i)})})).then(()=>r.rmdir(e)):await r.rmdir(e)}function f8(r){return d8(r)&&NC(r.then)&&NC(r.catch)}function d8(r){return r&&typeof r=="object"}function NC(r){return typeof r=="function"}function BC(r){return f8((t=>{try{return t.readFile().catch(n=>n)}catch(n){return n}})(r))}var UC=["readFile","writeFile","mkdir","rmdir","unlink","stat","lstat","readdir","readlink","symlink"];function HC(r,e){if(BC(e))for(let t of UC)r[`_${t}`]=e[t].bind(e);else for(let t of UC)r[`_${t}`]=(0,Uu.default)(e[t].bind(e));BC(e)?(e.cp&&(r._cp=e.cp.bind(e)),e.rm?r._rm=e.rm.bind(e):e.rmdir.length>1?r._rm=e.rmdir.bind(e):r._rm=qv.bind(null,r)):(e.cp&&(r._cp=(0,Uu.default)(e.cp.bind(e))),e.rm?r._rm=(0,Uu.default)(e.rm.bind(e)):e.rmdir.length>2?r._rm=(0,Uu.default)(e.rmdir.bind(e)):r._rm=qv.bind(null,r))}var vh=class{constructor(e){if(typeof e._original_unwrapped_fs!="undefined")return e;let t=Object.getOwnPropertyDescriptor(e,"promises");t&&t.enumerable?HC(this,e.promises):HC(this,e),this._original_unwrapped_fs=e}async exists(e,t={}){try{return await this._stat(e),!0}catch(n){if(n.code==="ENOENT"||n.code==="ENOTDIR"||(n.code||"").includes("ENS"))return!1;throw console.log('Unhandled error in "FileSystem.exists()" function',n),n}}async read(e,t={}){try{let n=await this._readFile(e,t);if(t.autocrlf==="true")try{n=new TextDecoder("utf8",{fatal:!0}).decode(n),n=n.replace(/\r\n/g,`
|
|
`),n=new TextEncoder().encode(n)}catch(i){}return typeof n!="string"&&(n=_.from(n)),n}catch(n){return null}}async write(e,t,n={}){try{await this._writeFile(e,t,n)}catch(i){await this.mkdir(GC(e)),await this._writeFile(e,t,n)}}async mkdir(e){await jC(this._mkdir,e)}async rm(e){try{await this._unlink(e)}catch(t){if(t.code!=="ENOENT")throw t}}async rmdir(e,t){try{t&&t.recursive?await this._rm(e,t):await this._rmdir(e)}catch(n){if(n.code!=="ENOENT")throw n}}async readdir(e){try{let t=await this._readdir(e);return t.sort(a8),t}catch(t){return t.code==="ENOTDIR"?null:[]}}async readdirDeep(e){let t=await this._readdir(e);return(await Promise.all(t.map(async i=>{let s=e+"/"+i;return(await this._stat(s)).isDirectory()?this.readdirDeep(s):s}))).reduce((i,s)=>i.concat(s),[])}async lstat(e){try{return await this._lstat(e)}catch(t){if(t.code==="ENOENT"||(t.code||"").includes("ENS"))return null;throw t}}async readlink(e,t={encoding:"buffer"}){try{let n=await this._readlink(e,t);return _.isBuffer(n)?n:_.from(n)}catch(n){if(n.code==="ENOENT"||(n.code||"").includes("ENS"))return null;throw n}}async writelink(e,t){return this._symlink(t.toString("utf8"),e)}};var ui=require("obsidian");m();function zC(r,e){let t=Object.assign({},r.lineAuthor,e.lineAuthor);return Object.assign({},r,e,{lineAuthor:t})}var $l=class extends Error{constructor(t){super("No network connection available");this.originalError=t}},zn=class extends Error{constructor(t,n){super("Git operation stopped because of merge conflicts");this.files=t;this.cause=n;this.name="GitConflictError"}};m();var VC=require("obsidian"),h8={options:[],placeholder:"",allowEmpty:!1,onlySelection:!1,initialValue:void 0,obscure:!1},ft=class extends VC.SuggestModal{constructor(e,t){if(super(e.app),this.config={...h8,...t},this.setPlaceholder(this.config.placeholder),this.config.obscure){this.inputEl.type="password";let n=this.containerEl.querySelector(".prompt-input-container");n.addClass("git-obscure-prompt"),n.setAttr("git-is-obscured","true");let i=n==null?void 0:n.createDiv({cls:"search-input-clear-button"});i.style.marginRight="32px",i.id="git-show-password",i.addEventListener("click",()=>{n.getAttr("git-is-obscured")==="true"?(this.inputEl.type="text",n.setAttr("git-is-obscured","false")):(this.inputEl.type="password",n.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,t){this.config.obscure?t.hide():t.setText(e)}onChooseSuggestion(e,t){if(this.resolve){let n;this.config.allowEmpty&&e===" "?n="":e==="..."?n=void 0:n=e,this.resolve(n)}}};m();var uA=Ke(cA(),1),fA=require("child_process"),gs=require("obsidian");function Gu(r,e,t){return r===1?`${r} ${e}`:`${r} ${t!=null?t:e+"s"}`}var Kv=(r,e)=>r==="."||e==null||e.length===0||e==="."?!0:e.length>=r.length?e.startsWith(r):r.startsWith(e);function bn(r,e){let t;if(e){if(e.button===0||e.button===1){let n=gs.Keymap.isModEvent(e);t=r.workspace.getLeaf(n)}}else t=r.workspace.getLeaf(!1);return t}function yr(r){return r.getRoot().side==="left"?"right":"left"}function Hi(r,e,t,n,i){if(e.button==2){let s=r.vault.getAbstractFileByPath(t);if(s!=null){let a=new gs.Menu;r.workspace.trigger("file-menu",a,s,i,n),a.showAtPosition({x:e.pageX,y:e.pageY})}else{let a=new gs.Menu;r.workspace.trigger("obsidian-git:menu",a,t,i,n),a.showAtPosition({x:e.pageX,y:e.pageY})}}}function ua(r){throw new Error(`Impossible branch: ${String(r)}`)}function Xv(r){return`rgb(${r.r},${r.g},${r.b})`}function dA(r){var s;let e=(s=uA.fromString(r))==null?void 0:s.toRgbaArray();if(e===void 0)return;let[t,n,i]=e;return{r:t,g:n,b:i}}function hA(r){return r.diff(gs.moment.unix(0),"seconds")}function pA(r){if(r.length!==0)return r.slice().sort()[Math.floor(r.length/2)]}function ju(r,e){return new Proxy(r,{get(t,n){return n==="length"?Math.min(e,t.length):t[n]}})}function mA(r,e,t){return r.length<=e?new Array(e-r.length).fill(t).join("")+r:r.substring(r.length-e)}function gA(r,e){if(e<=0)return r;let t=new Array(e).fill(" ").join(""),n=r.substring(e,r.length);return t+n}function Qv(r,e,t){return r<=e&&e<=t}function fa(r){let[e,...t]=r.split("/");return[e!=null?e:"",t.length===0?void 0:t.join("/")]}function Vn(r){return r.endsWith("/")?r:r.split("/").last().replace(/\.md$/,"")}function T8(r){let e=r.lastIndexOf(".");return r.substring(e+1)}function no(r){if(r.endsWith(".md"))return!1;let e=T8(r);return $C.includes(e)}function Jv(r){return(r.startsWith("https://github.com/")||r.startsWith("https://gitlab.com/"))&&(r.endsWith(".git")||(r=r+".git")),r}function Fl(r,e){let t=e.vault.getAbstractFileByPath(r);if(!(t instanceof gs.TFile))return!1;try{return!!e.viewRegistry.getTypeByExtension(t.extension)}catch(n){return!0}}function wA({isFolder:r,gitRelativePath:e}){let t="/";return t+=e,r&&(t+="/"),t.replace(/([\\!#*?[\]])/g,String.raw`\$1`).replace(/\s(?=\s*$)/g,String.raw`\ `)}function Ml(r,e,t,n){let i=e.target;r.workspace.trigger("hover-link",{event:e,source:t.getViewType(),hoverParent:t,targetEl:i,linktext:n})}function zu(r,e,t={}){return new Promise((n,i)=>{let s=(0,fA.spawn)(r,e,t),a="",o="";s.stdout.on("data",l=>{a+=l.toString()}),s.stderr.on("data",l=>{o+=l.toString()}),s.on("error",l=>{n({error:new Error(l.message),stdout:a,stderr:o,code:1})}),s.on("close",l=>{n({stdout:a,stderr:o,code:l!=null?l:1,error:void 0})})})}m();var vA=require("os"),_h=require("obsidian");var Ol=class{constructor(e){this.plugin=e,this.app=e.app}async withGitOperation(e,t){var n;this.plugin.setPluginState({operation:e});try{return await t()}finally{(n=this.plugin.statusBar)==null||n.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,t=!0){if(t){let n=this.plugin.settings.basePath;if(n&&n.length>0){if(e.startsWith(n+"/"))return e.substring(n.length+1);if(e===n)return""}}return e}getVaultPathspec(){}isPathInsideVault(e){let t=this.getVaultPathspec();return t==null||e===t||e.startsWith(t+"/")}unload(){}simplify(e){var t,n,i,s;for(let a of e){for(;;){let o=((t=a.children)==null?void 0:t.length)==1,l=((i=(n=a.children)==null?void 0:n.first())==null?void 0:i.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,t="repository"){let n=new Map;for(let o of e){let c=(t==="vault"?o.vaultPath:o.path).split("/"),u=n,f="";for(let d=0;d<c.length;d++){let h=c[d];f=f?f+"/"+h:h;let p=d===c.length-1,g=u.get(h);if(!g){let w=t==="vault"?this.getRelativeRepoPath(f):f,b=t==="vault"?f:this.getRelativeVaultPath(f);g={title:h,path:w,vaultPath:b,children:new Map},u.set(h,g)}p&&(g.data=o),u=g.children}}let i=o=>{let l=[];for(let c of o.values())c.children.size>0?l.push({title:c.title,path:c.path,vaultPath:c.vaultPath,children:i(c.children)}):l.push({title:c.title,data:c.data,path:c.path,vaultPath:c.vaultPath});return l},s=i(n);return this.simplify(s)}async formatCommitMessage(e){let t;if(e.includes("{{numFiles}}")){t=await this.status();let n=t.staged.length+t.stagedOutsideVault;e=e.replace("{{numFiles}}",String(n))}if(e.includes("{{hostname}}")){let n=this.plugin.localStorage.getHostname()||"";!n&&_h.Platform.isDesktopApp&&(n=(0,vA.hostname)()),e=e.replace("{{hostname}}",n)}if(e.includes("{{files}}")){t=t!=null?t:await this.status();let n={},i;if(t.staged.length+t.stagedOutsideVault<100){t.staged.forEach(a=>{a.index in n?n[a.index].push(a.path):n[a.index]=[a.path]});let s=[];for(let[a,o]of Object.entries(n))s.push(a+" "+o.join(" "));i=s.join(", "),t.stagedOutsideVault>0&&(i+=`${i?", ":""}${t.stagedOutsideVault} outside vault`)}else i="Too many files to list";e=e.replace("{{files}}",i)}if(e=e.replace("{{date}}",(0,_h.moment)().format(this.plugin.settings.commitDateFormat)),this.plugin.settings.listChangedFilesInMessageBody){let n=t!=null?t:await this.status(),i;n.staged.length+n.stagedOutsideVault<100?(i=n.staged.map(s=>s.path).join(`
|
|
`),n.stagedOutsideVault>0&&(i+=`${i?`
|
|
`:""}${n.stagedOutsideVault} staged file${n.stagedOutsideVault===1?"":"s"} outside the vault`)):i="Too many files to list",e=e+`
|
|
|
|
Affected files:
|
|
`+i}return e}};m();var er=require("obsidian"),xh=class extends Error{constructor(t){super(`File not found: ${t}`);this.code="ENOENT";this.name="FileNotFoundError"}},Eh=class{constructor(e,t){this.plugin=t;this.adapter=e.adapter,this.vault=e,this.lastBasePath=this.plugin.settings.basePath,this.promises={readFile:this.readFile.bind(this),writeFile:this.writeFile.bind(this),readdir:this.readdir.bind(this),mkdir:this.mkdir.bind(this),rmdir:this.rmdir.bind(this),stat:this.stat.bind(this),unlink:this.unlink.bind(this),lstat:this.lstat.bind(this),readlink:this.readlink.bind(this),symlink:this.symlink.bind(this)}}async readFile(e,t){var i;if(e===void 0)return;if(e=(0,er.normalizePath)(e),this.maybeLog("Read: "+e+JSON.stringify(t)),(typeof t=="string"?t:t==null?void 0:t.encoding)==="utf8"){let s=this.vault.getAbstractFileByPath(e);return s instanceof er.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)):(i=this.index)!=null?i:this.adapter.readBinary(e);let s=this.vault.getAbstractFileByPath(e);return s instanceof er.TFile?(this.maybeLog("Reuse"),this.vault.readBinary(s)):this.adapter.readBinary(e)}}async writeFile(e,t){var n;if(this.maybeLog("Write: "+e),e=(0,er.normalizePath)(e),typeof t=="string"){let i=this.vault.getAbstractFileByPath(e);if(i instanceof er.TFile)return this.vault.modify(i,t);if(!this.isHiddenPath(e))await this.vault.create(e,t);else return this.adapter.write(e,t)}else{let i=R8(t);if(this.isIndexPath(e)){this.index=i;let s=Date.now();(n=this.indexctime)!=null||(this.indexctime=s),this.indexmtime=s}else{let s=this.vault.getAbstractFileByPath(e);if(s instanceof er.TFile)return this.vault.modifyBinary(s,i);if(!this.isHiddenPath(e))await this.vault.createBinary(e,i);else return this.adapter.writeBinary(e,i)}}}async readdir(e){e=(0,er.normalizePath)(e),this.maybeLog("ReadDir: "+e),e==="."&&(e="/");let t=await this.adapter.list(e),n=[...t.files,...t.folders],i;return e!=="/"?i=n.map(s=>(0,er.normalizePath)(s.substring(e.length))):i=n,i}async mkdir(e){if(e=(0,er.normalizePath)(e),!(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,t){var n,i;if(e=(0,er.normalizePath)(e),this.maybeLog("Rmdir: "+e+JSON.stringify(t)),!this.isHiddenPath(e)){let s=this.vault.getAbstractFileByPath(e);if(s instanceof er.TFolder){await this.vault.delete(s,(t==null?void 0:t.recursive)===!0||((n=t==null?void 0:t.options)==null?void 0:n.recursive)===!0);return}}return this.adapter.rmdir(e,(t==null?void 0:t.recursive)===!0||((i=t==null?void 0:t.options)==null?void 0:i.recursive)===!0)}async stat(e){if(e=(0,er.normalizePath)(e),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 n=await this.adapter.stat(e);if(n==null)throw new xh(e);return this.indexctime=n.ctime,this.indexmtime=n.mtime,{ctimeMs:n.ctime,mtimeMs:n.mtime,size:n.size,type:"file",isFile:()=>!0,isDirectory:()=>!1,isSymbolicLink:()=>!1}}}e==="."&&(e="/");let t=this.vault.getAbstractFileByPath(e);if(this.maybeLog("Stat: "+e),t instanceof er.TFile)return this.maybeLog("Reuse stat"),{ctimeMs:t.stat.ctime,mtimeMs:t.stat.mtime,size:t.stat.size,type:"file",isFile:()=>!0,isDirectory:()=>!1,isSymbolicLink:()=>!1};{let n=await this.adapter.stat(e);if(n)return{ctimeMs:n.ctime,mtimeMs:n.mtime,size:n.size,type:n.type==="folder"?"directory":n.type,isFile:()=>n.type==="file",isDirectory:()=>n.type==="folder",isSymbolicLink:()=>!1};throw new xh(e)}}async unlink(e){if(e=(0,er.normalizePath)(e),!this.isHiddenPath(e)){let t=this.vault.getAbstractFileByPath(e);if(t instanceof er.TFile)return this.vault.delete(t)}return this.adapter.remove(e)}async lstat(e){return this.stat(e)}readlink(e){return Promise.reject(new Error(`readlink of (${e}) is not implemented.`))}symlink(e){return Promise.reject(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:e.split("/").some(t=>t.startsWith(".")&&t!==".")}maybeLog(e){}};function R8(r){return r instanceof ArrayBuffer?r:r.buffer instanceof ArrayBuffer&&r.byteOffset===0&&r.byteLength===r.buffer.byteLength?r.buffer:new Uint8Array(r.buffer,r.byteOffset,r.byteLength).slice().buffer}var SA=Ke(EA(),1),Rr=class Rr extends Ol{constructor(t){super(t);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 Eh(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 t,n;return{username:(t=this.plugin.localStorage.getUsername())!=null?t:void 0,password:(n=this.plugin.localStorage.getPassword())!=null?n:void 0}},onAuthFailure:async()=>{new ui.Notice("Authentication failed. Please try with different credentials");let t=await new ft(this.plugin,{placeholder:"Specify your username"}).openAndGetResult();if(t){let n=await new ft(this.plugin,{placeholder:"Specify your password/personal access token",obscure:!0}).openAndGetResult();if(n)return this.plugin.localStorage.setUsername(t),this.plugin.localStorage.setPassword(n),{username:t,password:n}}return{cancel:!0}},http:{async request({url:t,method:n,headers:i,body:s}){let a;s&&(a=await F8(s));let o=await(0,ui.requestUrl)({url:t,method:n,headers:{"Accept-Encoding":"identity",...i},body:a,throw:!1}),l=await M8(o.arrayBuffer);return{url:t,method:n,headers:o.headers,body:I8(l),statusCode:o.status,statusMessage:o.status.toString()}}}}}async wrapFS(t){try{let n=await t;return await this.fs.saveAndClear(),n}catch(n){throw await this.fs.saveAndClear(),n}}async status(t){let n,i=window.setTimeout(()=>{n=new ui.Notice("This takes longer: Getting status",this.noticeLength)},2e4);try{let s={...this.getRepo()};(t==null?void 0:t.path)!=null&&(s.filepaths=[`${t.path}/`]);let a=(await this.wrapFS(ce.statusMatrix(s))).map(d=>this.getFileStatusResult(d)),o=await this.getConflictedFiles();if((t==null?void 0:t.path)!=null){let d=t.path.replace(/\/$/,"");o=o.filter(h=>h===d||h.startsWith(`${d}/`))}let l=[],c=[],u=[],f=new Set(o);for(let d of a)d.workingDir!==" "&&!f.has(d.path)&&l.push(d),d.index!==" "&&d.index!=="U"&&!f.has(d.path)&&c.push(d),(d.index!=" "||d.workingDir!=" ")&&u.push(d);return window.clearTimeout(i),n==null||n.hide(),{all:u,changed:l,staged:c,conflicted:o,stagedOutsideVault:0,conflictedOutsideVault:0}}catch(s){throw window.clearTimeout(i),n==null||n.hide(),s}}async commitAll({message:t,status:n,unstagedFiles:i,amend:s}){return await this.checkAuthorInfo(),await this.stageAll({status:n,unstagedFiles:i}),this.commit({message:t,amend:s})}async commit({message:t,amend:n}){return this.withGitOperation(2,async()=>{try{await this.checkAuthorInfo();let i=await this.formatCommitMessage(t),s=await this.getMergeHeads(),a;s.length>0&&(a=[await this.resolveRef("HEAD"),...s]);let o=await this.wrapFS(ce.commit({...this.getRepo(),message:i,amend:n,parent:a})),l=await this.getCommittedFilesCount(o);return await this.clearMergeState(),this.plugin.setPluginState({mergeInProgress:!1}),l}catch(i){throw i instanceof Gn.UnmergedPathsError?new zn(i.data.filepaths,i):i}})}async stage(t,n){let i=this.getRelativeRepoPath(t,n),s;n?s=t:s=this.getRelativeVaultPath(t),await this.app.vault.adapter.exists(s)?await this.wrapFS(ce.add({...this.getRepo(),filepath:i})):await this.wrapFS(ce.remove({...this.getRepo(),filepath:i}))}async stageAll({dir:t,status:n,unstagedFiles:i}){if(n)await this.stageFiles(n.changed.map(s=>({path:s.path,deleted:s.workingDir==="D"})));else{let s=i!=null?i:await this.getUnstagedFiles(t!=null?t:".");await this.stageFiles(s.map(({path:a,type:o})=>({path:a,deleted:o==="D"})))}}async stageFiles(t){let i=(await this.wrapFS(Promise.allSettled(t.map(s=>s.deleted?ce.remove({...this.getRepo(),filepath:s.path}):ce.add({...this.getRepo(),filepath:s.path}))))).find(s=>s.status==="rejected");if((i==null?void 0:i.status)==="rejected")throw i.reason}async unstage(t,n){t=this.getRelativeRepoPath(t,n),await this.wrapFS(ce.resetIndex({...this.getRepo(),filepath:t}))}async unstageAll({dir:t,status:n}){let i;n?i=n.staged.map(s=>s.path):i=(await this.getStagedFiles(t!=null?t:".")).map(({path:a})=>a),await this.wrapFS(Promise.all(i.map(s=>ce.resetIndex({...this.getRepo(),filepath:s}))))}async discard(t){await this.wrapFS(ce.checkout({...this.getRepo(),filepaths:[t],force:!0}))}async discardAll({dir:t,status:n}){let i;n?t!=null?i=n.changed.filter(s=>s.workingDir!="U"&&s.path.startsWith(t)).map(s=>s.path):i=n.changed.filter(s=>s.workingDir!="U").map(s=>s.path):i=(await this.getUnstagedFiles(t)).filter(s=>s.type!="A").map(({path:s})=>s),await this.wrapFS(ce.checkout({...this.getRepo(),filepaths:i,force:!0}))}async getUntrackedPaths(t){let n=[];if(t.status)for(let i of t.status.changed)i.index=="U"&&i.workingDir==="U"&&i.path.startsWith(t.path!=null?`${t.path}/`:"")&&n.push(i.path);else{let i=await this.status({path:t==null?void 0:t.path});for(let s of i.changed)s.index==="U"&&s.workingDir==="U"&&n.push(s.path)}return n}getProgressText(t,n){let i=`${t} progress:`;return n.phase&&(i=`${i} ${n.phase}:`),n.loaded&&(i=`${i} ${n.loaded}`,n.total&&(i=`${i} of ${n.total}`)),i}resolveRef(t){return this.wrapFS(ce.resolveRef({...this.getRepo(),ref:t}))}async pull(){return this.withGitOperation(1,async()=>{let t;try{if(await this.isMergeInProgress())throw new Error("Cannot pull because a merge is still in progress. Commit or abort it first.");let n=await this.branchInfo();if(!n.current)throw new Error("No current branch found. Cannot pull.");let i=await this.resolveRef(n.current);if(!n.tracking)return this.plugin.log("No tracking branch found. Ignoring pull."),{status:"skipped",reason:"no-upstream"};await this.fetch(),await this.checkAuthorInfo();let s=await this.resolveRef(n.tracking);t={ours:i,theirs:s,message:`Merge branch '${n.tracking}' into ${n.current}`};let a=await this.wrapFS(ce.merge({...this.getRepo(),ours:n.current,theirs:n.tracking,message:t.message,abortOnConflict:!1,mergeDriver:this.plugin.settings.mergeStrategy!=="none"?({contents:c})=>{var k,C,S;let u=c[0],f=c[1],d=c[2],h=/^.*(\r?\n|$)/gm,p=(k=f.match(h))!=null?k:[],g=(C=u.match(h))!=null?C:[],w=(S=d.match(h))!=null?S:[],b=(0,SA.default)(p,g,w),y="";for(let A of b)A.ok&&(y+=A.ok.join("")),A.conflict&&(y+=this.plugin.settings.mergeStrategy==="ours"?A.conflict.a.join(""):A.conflict.b.join(""));return{cleanMerge:!0,mergedText:y}}:void 0}));a.alreadyMerged||await this.wrapFS(ce.checkout({...this.getRepo(),ref:n.current,remote:n.remote}));let o=await this.resolveRef("HEAD"),l=await this.getFileChangesCount(i,o);return a.alreadyMerged?{status:"up-to-date"}:{status:"updated",outsideVault:0,files:l.map(c=>({path:c.path,workingDir:"P",index:"P",vaultPath:this.getRelativeVaultPath(c.path)}))}}catch(n){throw n instanceof Gn.MergeConflictError?(t!==void 0&&await this.writeMergeState(t),new zn(n.data.filepaths,n)):n}})}async push(){let t=this.showNotice("Initializing push");return this.withGitOperation(3,async()=>{try{let n=await this.branchInfo(),i=n.tracking,s=n.current;if(!s)return t==null||t.hide(),{status:"blocked",reason:"no-branch"};if(!i)return t==null||t.hide(),this.plugin.log("No tracking branch found. Ignoring push."),{status:"skipped",reason:"no-upstream"};let a=(await this.getFileChangesCount(s,i)).length,o=await this.getCurrentRemote();return await this.wrapFS(ce.push({...this.getRepo(),remote:o,onProgress:l=>{t!==void 0&&t.setMessage(this.getProgressText("Pushing",l))}})),t==null||t.hide(),a===0?{status:"up-to-date"}:{status:"pushed",files:a}}catch(n){throw t==null||t.hide(),n}})}async getUnpushedCommits(){let t=await this.branchInfo(),n=t.tracking,i=t.current;if(n==null||i==null)return 0;let s=await this.resolveRef(i),a=await this.resolveRef(n);return(await this.getFileChangesCount(s,a)).length}async canPush(){let t=await this.branchInfo(),n=t.tracking,i=t.current;if(!i)return this.plugin.log("During canPush check, no current branch found."),!1;if(!n)return!1;let s=await this.resolveRef(i),a=await this.resolveRef(n);return s!=a}async checkRequirements(){return await this.plugin.app.vault.adapter.exists((0,ui.normalizePath)(`${this.getGitDirPath()}/HEAD`))?"valid":"missing-repo"}async branchInfo(){var o,l;let t=await ce.currentBranch(this.getRepo()),n=await ce.listBranches(this.getRepo()),i=(o=t&&await this.getConfig(`branch.${t}.remote`))!=null?o:"origin",s=t?(l=await this.getConfig(`branch.${t}.merge`))==null?void 0:l.split("refs/heads")[1]:void 0,a=s?i+s:void 0;return{current:t||void 0,tracking:a,branches:n,remote:i}}async getCurrentRemote(){var i;let t=await ce.currentBranch(this.getRepo())||"";return(i=await this.getConfig(`branch.${t}.remote`))!=null?i:"origin"}async checkout(t,n){return this.withGitOperation(5,()=>this.wrapFS(ce.checkout({...this.getRepo(),ref:t,force:!!n,remote:n})))}async createBranch(t){await this.wrapFS(ce.branch({...this.getRepo(),ref:t,checkout:!0}))}async deleteBranch(t){await this.wrapFS(ce.deleteBranch({...this.getRepo(),ref:t}))}branchIsMerged(t){return Promise.resolve(!0)}async init(){await this.wrapFS(ce.init(this.getRepo()))}async clone(t,n,i){let s=this.showNotice("Initializing clone");try{await this.wrapFS(ce.clone({...this.getRepo(),dir:n,url:t,depth:i,onProgress:a=>{s!==void 0&&s.setMessage(this.getProgressText("Cloning",a))}}))}finally{s==null||s.hide()}}async setConfig(t,n){return this.wrapFS(ce.setConfig({...this.getRepo(),path:t,value:n}))}async getConfig(t){return this.wrapFS(ce.getConfig({...this.getRepo(),path:t}))}async fetch(t){let n=this.showNotice("Initializing fetch");try{let i={...this.getRepo(),onProgress:s=>{n!==void 0&&n.setMessage(this.getProgressText("Fetching",s))},remote:t!=null?t:await this.getCurrentRemote()};await this.wrapFS(ce.fetch(i)),n==null||n.hide()}catch(i){throw n==null||n.hide(),i}}async setRemote(t,n){await this.wrapFS(ce.addRemote({...this.getRepo(),remote:t,url:n,force:!0}))}async getRemoteBranches(t){let n=[];return n.push(...await this.wrapFS(ce.listBranches({...this.getRepo(),remote:t}))),n.remove("HEAD"),n=n.map(i=>`${t}/${i}`),n}async getRemotes(){return(await this.wrapFS(ce.listRemotes({...this.getRepo()}))).map(t=>t.remote)}async removeRemote(t){await this.wrapFS(ce.deleteRemote({...this.getRepo(),remote:t}))}async getRemoteUrl(t){var n;return(n=(await this.wrapFS(ce.listRemotes({...this.getRepo()}))).filter(i=>i.remote==t)[0])==null?void 0:n.url}async log(t,n=!0,i,s){let a=await this.wrapFS(ce.log({...this.getRepo(),depth:i,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(t){return this.getRepo().dir=t,Promise.resolve()}getGitDirPath(){return(0,ui.normalizePath)(this.getRelativeVaultPath(this.plugin.settings.gitDir||".git"))}async getConflictedFiles(){let t=wh.acquire({fs:new vh(this.fs),gitdir:this.getGitDirPath(),cache:{}},i=>i.unmergedPaths),n=await this.wrapFS(t);if(!Array.isArray(n)||!n.every(i=>typeof i=="string"))throw new TypeError("isomorphic-git returned invalid unmerged paths");return n}getMergeStatePath(t){return(0,ui.normalizePath)(`${this.getGitDirPath()}/${t}`)}async isMergeInProgress(){return this.app.vault.adapter.exists(this.getMergeStatePath(Rr.MERGE_HEAD))}async getMergeHeads(){let t=this.getMergeStatePath(Rr.MERGE_HEAD);return await this.app.vault.adapter.exists(t)?(await this.app.vault.adapter.read(t)).split(/\r?\n/).map(n=>n.trim()).filter(n=>n.length>0):[]}async writeMergeState({ours:t,theirs:n,message:i}){let s=this.app.vault.adapter;await s.write(this.getMergeStatePath(Rr.ORIGINAL_HEAD),`${t}
|
|
`),await s.write(this.getMergeStatePath(Rr.MERGE_MESSAGE),`${i}
|
|
`),await s.write(this.getMergeStatePath(Rr.MERGE_MODE),""),await s.write(this.getMergeStatePath(Rr.MERGE_HEAD),`${n}
|
|
`)}async clearMergeState(){let t=this.app.vault.adapter;for(let n of[Rr.MERGE_HEAD,Rr.MERGE_MESSAGE,Rr.MERGE_MODE]){let i=this.getMergeStatePath(n);await t.exists(i)&&await t.remove(i)}}async updateUpstreamBranch(t){let[n,i]=fa(t),s=await this.branchInfo();await this.wrapFS(ce.push({...this.getRepo(),remote:n,remoteRef:i})),await this.setConfig(`branch.${s.current}.merge`,`refs/heads/${i}`)}updateGitPath(t){return Promise.resolve()}async getCommittedFilesCount(t){let{commit:n}=await this.wrapFS(ce.readCommit({...this.getRepo(),oid:t})),i=n.parent[0];return i?(await this.getFileChangesCount(i,t)).length:(await this.wrapFS(ce.listFiles({...this.getRepo(),ref:t}))).length}async getFileChangesCount(t,n){return this.walkDifference({walkers:[ce.TREE({ref:t}),ce.TREE({ref:n})]})}async walkDifference({walkers:t,dir:n}){return this.wrapFS(e0({...this.getRepo(),trees:t,map:async function(i,[s,a]){if(!Kv(i,n))return null;if(await(s==null?void 0:s.type())==="tree"||await(a==null?void 0:a.type())==="tree")return;let o=await(s==null?void 0:s.oid()),l=await(a==null?void 0:a.oid()),c="equal";if(o!==l&&(c="M"),o===void 0&&(c="A"),l===void 0&&(c="D"),o===void 0&&l===void 0&&(console.log("Something weird happened:"),console.log(s),console.log(a)),c!=="equal")return{path:i,type:c}}}))}async getStagedFiles(t="."){return(await this.walkDifference({walkers:[ce.TREE({ref:"HEAD"}),ce.STAGE()],dir:t})).map(i=>({vaultPath:this.getRelativeVaultPath(i.path),path:i.path}))}async getUnstagedFiles(t="."){let n,i=window.setTimeout(()=>{n=new ui.Notice("This takes longer: Getting status",this.noticeLength)},2e4);try{let s=this.getRepo(),a=await this.wrapFS(e0({...s,trees:[ce.WORKDIR(),ce.STAGE()],map:async function(o,[l,c]){if(!c&&l&&await ce.isIgnored({...s,filepath:o})||!Kv(o,t))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(i),n==null||n.hide(),a}catch(s){throw window.clearTimeout(i),n==null||n.hide(),s}}async getDiffString(t,n=!1,i){let s=this.getRelativeVaultPath(t),a=async(c,[u])=>{if(t==c){let f=await u.oid();return(await ce.readBlob({...this.getRepo(),oid:f})).blob}};if(i){let c=await Pl({...this.getRepo(),filepath:t,oid:i}).then(p=>new TextDecoder().decode(p.blob)).catch(p=>{if(!(p instanceof ce.Errors.NotFoundError))throw p}),f=(await ce.readCommit({...this.getRepo(),oid:i})).commit.parent.first(),d;return f&&(d=await Pl({...this.getRepo(),filepath:t,oid:f}).then(p=>new TextDecoder().decode(p.blob)).catch(p=>{if(!(p instanceof ce.Errors.NotFoundError))throw p})),Nu(s,d!=null?d:"",c!=null?c:"")}let o=(await e0({...this.getRepo(),trees:[ce.STAGE()],map:a})).first(),l=new TextDecoder().decode(o);if(n){let c=await this.resolveRef("HEAD").then(f=>Pl({...this.getRepo(),filepath:t,oid:f})).then(f=>new TextDecoder().decode(f.blob)).catch(f=>{if(!(f instanceof ce.Errors.NotFoundError))throw f});return Nu(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="",Nu(s,l,c)}}async show(t,n,i=!0){let s=this.getRelativeRepoPath(n,i),{blob:a}=await Pl({...this.getRepo(),oid:t,filepath:s});return new TextDecoder().decode(a)}async getLastCommitTime(){let t=this.getRepo(),n=await this.resolveRef("HEAD"),s=(await ce.readCommit({...t,oid:n})).commit.committer.timestamp;return new Date(s*1e3)}getFileStatusResult(t){var s,a;let n=`${t[this.HEAD]}${t[this.WORKDIR]}${t[this.STAGE]}`,i=this.status_mapping[n];if(i===void 0)throw new Error(`Unsupported status matrix row: ${n}`);return{index:i[0]=="?"?"U":(s=i[0])!=null?s:" ",workingDir:i[1]=="?"?"U":(a=i[1])!=null?a:" ",path:t[this.FILE],vaultPath:this.getRelativeVaultPath(t[this.FILE])}}async checkAuthorInfo(){let t=await this.getConfig("user.name"),n=await this.getConfig("user.email");if(!t||!n)throw Error("Git author name and email are not set. Please set both fields in the settings.")}showNotice(t,n=!0){if(!this.plugin.settings.disablePopups)return new ui.Notice(t,n?this.noticeLength:void 0)}};Rr.MERGE_HEAD="MERGE_HEAD",Rr.MERGE_MESSAGE="MERGE_MSG",Rr.MERGE_MODE="MERGE_MODE",Rr.ORIGINAL_HEAD="ORIG_HEAD";var ws=Rr;async function e0(r){let e=await ce.walk(r);if(!Array.isArray(e))throw new TypeError("isomorphic-git walk returned a non-array result");return e}function I8(r){let e=[new Uint8Array(r)].values();return{next:()=>Promise.resolve(e.next()),[Symbol.asyncIterator](){return this}}}async function F8(r){let e=new ReadableStream({async start(n){for await(let i of r)n.enqueue(i);n.close()}});return await new Response(e).arrayBuffer()}async function M8(r){let e=new Uint8Array(r);if(e.length<2||e[0]!==31||e[1]!==139)return r;try{let t=new Blob([r]).stream().pipeThrough(new DecompressionStream("gzip"));return await new Response(t).arrayBuffer()}catch(t){return r}}m();var zT=Ke(Ch(),1),Pr=Ke(require("fs/promises"),1),bs=require("obsidian"),we=Ke(require("path"),1),Xu=require("path");m();m();var t0=new WeakMap;function Vu(...r){let e=new String(r);return t0.set(e,r),e}function Gi(r){return r instanceof String&&t0.has(r)}function Bl(r){var e;return(e=t0.get(r))!=null?e:[]}var Uh=Ke(PA(),1),tT=require("node:child_process"),Hh=Ke(Ch(),1),da=Ke($A(),1),rT=require("node:path");m();function*IA(r,e){let t=e==="global";for(let n of r)n.isGlobal===t&&(yield n)}var J8=new Set(["--add","--edit","--remove-section","--rename-section","--replace-all","--unset","--unset-all","-e"]),eU=new Set(["--get","--get-all","--get-color","--get-colorbool","--get-regexp","--get-urlmatch","--list","-l"]),tU=new Set(["edit","remove-section","rename-section","set","unset"]),rU=new Set(["get","get-color","get-colorbool","list"]);function nU(r,e){var n;for(let{name:i}of IA(r,"task")){if(J8.has(i))return Hl(!0,e);if(eU.has(i))return Hl(!1,e)}let t=(n=e.at(0))==null?void 0:n.toLowerCase();return t===void 0?null:tU.has(t)?Hl(!0,e.slice(1)):rU.has(t)?Hl(!1,e.slice(1)):e.length===1?Hl(!1,e):Hl(!0,e)}function Hl(r=!1,e=[]){var n;let t=(n=e.at(0))==null?void 0:n.toLowerCase();return t===void 0?null:{isWrite:r,isRead:!r,key:t,value:e.at(1)}}function iU(r,e){return e.isWrite&&e.value!==void 0?{key:e.key,value:e.value,scope:r}:{key:e.key,scope:r}}function sU(r){let e=(r==null?void 0:r.indexOf("="))||-1;return!r||e<0?null:{key:r.slice(0,e).trim().toLowerCase(),value:r.slice(e+1)}}function aU(r){for(let{name:e}of IA(r,"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 oU({name:r}){if(r==="-c"||r==="--config")return"inline";if(r==="--config-env")return"env"}function*lU(r){for(let e of r){let t=oU(e),n=t&&sU(e.value);n&&(yield{...n,scope:t})}}function cU(r,e,t){let n={read:[],write:[...lU(e)]};return r==="config"&&uU(n,aU(e),nU(e,t)),n}function uU(r,e,t){if(t===null)return;let n=iU(e,t);t.isWrite?r.write.push(n):r.read.push(n)}var FA={short:new Map([["c",!0]])},fU={short:new Map([["C",!0],["P",!1],["h",!1],["p",!1],["v",!1],...FA.short.entries()]),long:new Set(["attr-source","config-env","exec-path","git-dir","list-cmds","namespace","super-prefix","work-tree"])},dU={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"])},rebase:{short:new Map([["X",!0],["f",!1],["i",!1],["k",!1],["m",!1],["n",!1],["q",!1],["r",!1],["s",!0],["v",!1],["x",!0]]),long:new Set(["exec","onto","strategy","strategy-option"])}},hU={short:new Map,long:new Set};function pU(r){var t;let e=(t=dU[r!=null?r:""])!=null?t:hU;return{short:new Map([...FA.short.entries(),...e.short.entries()]),long:e.long}}function MA(r,e=fU){if(r.startsWith("--")){let t=r.indexOf("=");if(t>2)return[{name:r.slice(0,t),value:r.slice(t+1),needsNext:!1}];let n=r.slice(2);return[{name:r,needsNext:e.long.has(n)}]}if(r.length===2){let t=r.charAt(1),n=e.short.get(t);return[{name:r,needsNext:n===!0}]}return mU(r,e.short)}function mU(r,e){let t=r.slice(1).split(""),n=[];for(let i=0;i<t.length;i++){let s=t[i],a=e.get(s);if(a===void 0)return[{name:r,needsNext:!1}];if(a){let o=t.slice(i+1).join("");if(o&&![...o].every(l=>e.has(l)))return n.push({name:`-${s}`,value:o,needsNext:!1}),n}n.push({name:`-${s}`,needsNext:a})}return n}function gU(r,e=[]){let t=0;for(;t<r.length;){let n=String(r[t]);if(!n.startsWith("-")||n.length<2)break;let i=MA(n),s=t+1;for(let a of i){let o={name:a.name,value:a.value,absorbedNext:!1,isGlobal:!0};a.needsNext&&o.value===void 0&&s<r.length&&(o.value=String(r[s]),o.absorbedNext=!0,s++),e.push(o)}t=s}return{flags:e,taskIndex:t}}function wU(r,e,t=[]){let n=pU(e),i=[],s=[],a=0;for(;a<r.length;){let o=r[a];if(Gi(o)){s.push(...Bl(o)),a++;continue}let l=String(o);if(l==="--"){for(let f=a+1;f<r.length;f++){let d=r[f];Gi(d)?s.push(...Bl(d)):s.push(String(d))}break}if(!l.startsWith("-")||l.length<2){i.push(l),a++;continue}let c=MA(l,n),u=a+1;for(let f of c){let d={name:f.name,value:f.value,absorbedNext:!1,isGlobal:!1};f.needsNext&&d.value===void 0&&u<r.length&&!Gi(r[u])&&(d.value=String(r[u]),d.absorbedNext=!0,u++),t.push(d)}a=u}return{flags:t,positionals:i,pathspecs:s}}function*vU({write:r}){for(let e of r)for(let t of bU){let n=t(e.key);n&&(yield n)}}function Kr(r,e,t=String(r)){let n=typeof r=="string"?new RegExp(`\\s*${r.toLowerCase()}`):r;return function(i){if(n.test(i))return{category:e,message:`Configuring ${t} is not permitted without enabling ${e}`}}}function Tt(r,e){let t=new RegExp(`\\s*${r.toLowerCase().replace(/\./g,"(..+)?.")}`);return Kr(t,e,r)}var bU=[Kr("alias","allowUnsafeAlias"),Kr("core.askPass","allowUnsafeAskPass"),Kr("core.editor","allowUnsafeEditor"),Kr("core.fsmonitor","allowUnsafeFsMonitor"),Kr("core.gitProxy","allowUnsafeGitProxy"),Kr("core.hooksPath","allowUnsafeHooksPath"),Kr("core.pager","allowUnsafePager"),Kr("core.sshCommand","allowUnsafeSshCommand"),Tt("credential.helper","allowUnsafeCredentialHelper"),Tt("diff.command","allowUnsafeDiffExternal"),Kr("diff.external","allowUnsafeDiffExternal"),Tt("difftool.cmd","allowUnsafeDiffExternal"),Tt("diff.textconv","allowUnsafeDiffTextConv"),Tt("filter.clean","allowUnsafeFilter"),Tt("filter.process","allowUnsafeFilter"),Tt("filter.smudge","allowUnsafeFilter"),Tt("gpg.program","allowUnsafeGpgProgram"),Kr("include.path","allowUnsafeInclude"),Tt("includeIf","allowUnsafeInclude"),Kr("init.templateDir","allowUnsafeTemplateDir"),Tt("pager.","allowUnsafePager"),Tt("merge.driver","allowUnsafeMergeDriver"),Tt("mergetool.path","allowUnsafeMergeDriver"),Tt("mergetool.cmd","allowUnsafeMergeDriver"),Tt("protocol.allow","allowUnsafeProtocolOverride"),Tt("remote.receivepack","allowUnsafePack"),Tt("remote.uploadpack","allowUnsafePack"),Kr("uploadpack.packObjectsHook","allowUnsafePack"),Kr("sequence.editor","allowUnsafeEditor"),Tt("submodule.update","allowUnsafeSubmodule"),Tt("tar.command","allowUnsafeCommandBinaries"),Tt("trailer.cmd","allowUnsafeCommandBinaries"),Tt("trailer.command","allowUnsafeCommandBinaries"),Tt("url.insteadOf","allowUnsafeUrlRewrite")];function*yU(r,e){for(let t of e)for(let n of _U){let i=n(r,t);i&&(yield i)}}function ji(r,e,t,{name:n=String(e),globalOnly:i=!1,withValue:s=!1}={}){let a=typeof e=="string"?new RegExp(`\\s*${e.toLowerCase()}`):e,o=`Use of ${r?`${r} with option `:""}${n} is not permitted without enabling ${t}`;return function(l,c){if(!(r&&l!==r)&&!(i&&!c.isGlobal)&&!(s&&c.value===void 0)&&a.test(c.name))return{category:t,message:o}}}var Th={globalOnly:!0,withValue:!0},_U=[ji(null,/--(upload|receive)-pack/,"allowUnsafePack",{name:"--upload-pack or --receive-pack"}),ji("clone",/^-\w*u/,"allowUnsafePack"),ji("clone","--u","allowUnsafePack"),ji("push",/^--exec$/,"allowUnsafePack",{name:"--exec"}),ji("rebase",/^(-x|--ex(ec?)?)$/,"allowUnsafeExec",{name:"-x or --exec"}),ji(null,"--template","allowUnsafeTemplateDir"),ji(null,"--exec-path","allowUnsafeExec",Th),ji(null,"--git-dir","allowUnsafeConfigPaths",Th),ji(null,"--work-tree","allowUnsafeConfigPaths",Th),ji(null,/^-C$/,"allowUnsafeConfigPaths",{...Th,name:"-C"})];function OA(r,e,t){return[...yU(r,e),...vU(t)]}function xU(...r){let{flags:e,taskIndex:t}=gU(r),n=t<r.length?String(r[t]).toLowerCase():null,i=n!==null?r.slice(t+1):[],{positionals:s,pathspecs:a}=wU(i,n,e),o=cU(n,e,s);return{task:n,flags:e.map(SU),paths:a,config:o,vulnerabilities:EU(OA(n,e,o))}}function EU(r){return Object.defineProperty(r,"vulnerabilities",{value:r})}function SU({value:r,name:e}){return r!==void 0?{name:e,value:r}:{name:e}}var DA={editor:"allowUnsafeEditor",git_askpass:"allowUnsafeAskPass",git_config_global:"allowUnsafeConfigPaths",git_config_system:"allowUnsafeConfigPaths",git_config_count:"allowUnsafeConfigEnvCount",git_config_parameters:"allowUnsafeConfigEnvCount",git_config:"allowUnsafeConfigPaths",git_editor:"allowUnsafeEditor",git_exec_path:"allowUnsafeExec",git_external_diff:"allowUnsafeDiffExternal",git_pager:"allowUnsafePager",git_proxy_command:"allowUnsafeGitProxy",git_template_dir:"allowUnsafeTemplateDir",git_sequence_editor:"allowUnsafeEditor",git_ssh:"allowUnsafeSshCommand",git_ssh_command:"allowUnsafeSshCommand",pager:"allowUnsafePager",prefix:"allowUnsafeConfigPaths",ssh_askpass:"allowUnsafeAskPass",visual:"allowUnsafeEditor"};function*kU(r){var t;let e=parseInt((t=r.git_config_count)!=null?t:"0",10);for(let n=0;n<e;n++){let i=r[`git_config_key_${n}`],s=r[`git_config_value_${n}`];i!==void 0&&(yield{key:i.toLowerCase().trim(),value:s,scope:"env"})}}function*CU(r){for(let e of Object.keys(r))if(Rh(e)){let t=DA[e];yield{category:t,message:`Use of "${e.toUpperCase()}" is not permitted without enabling ${t}`}}}function Rh(r){return Object.hasOwn(DA,r)}function AU(r){let e={};for(let[t,n]of Object.entries(r)){let i=t.toLowerCase().trim();(Rh(i)||i.startsWith("git"))&&(e[i]=String(n))}return e}function TU(r){let e=AU(r),t={read:[],write:[...kU(e)]},n=[...CU(e),...OA(null,[],t)];return{config:t,vulnerabilities:n}}function LA(r,e){return[...xU(...r).vulnerabilities,...TU(e).vulnerabilities]}var nT=require("node:events"),dr=class extends Error{constructor(e,t){super(t),this.task=e,Object.setPrototypeOf(this,new.target.prototype)}},l0=class extends dr{constructor(e,t){super(void 0,t),this.config=e}},vs=class extends dr{constructor(e,t,n){super(e,n),this.task=e,this.plugin=t,Object.setPrototypeOf(this,new.target.prototype)}},Yu=class extends dr{constructor(e,t){super(void 0,t||String(e)),this.git=e}},c0=class extends dr{constructor(e){super(void 0,e)}},Ih="\0",Gh=()=>{};function RU(r){return typeof r!="function"?Gh:r}function PU(r){return typeof r=="function"&&r!==Gh}function $U(r,e){let t=r.indexOf(e);return t<=0?[r,""]:[r.substr(0,t),r.substr(t+1)]}function IU(r,e=0){return iT(r)&&r.length>e?r[e]:void 0}function Gl(r,e=0){if(iT(r)&&r.length>e)return r[r.length-1-e]}function iT(r){return oT(r)}function jh(r="",e=!0,t=`
|
|
`){return r.split(t).reduce((n,i)=>{let s=e?i.trim():i;return s&&n.push(s),n},[])}function R0(r,e){return jh(r,!0).map(t=>e(t))}function sT(r){return(0,Uh.exists)(r,Uh.FOLDER)}function fi(r,e){return Array.isArray(r)?r.includes(e)||r.push(e):r.add(e),e}function FU(r,e){return Array.isArray(r)&&!r.includes(e)&&r.push(e),r}function P0(r,e){if(Array.isArray(r)){let t=r.indexOf(e);t>=0&&r.splice(t,1)}else r.delete(e);return e}var $0=Object.prototype.toString.call.bind(Object.prototype.toString);function xn(r){return Array.isArray(r)?r:[r]}function aT(r){return r.replace(/[\s-]+(.)/g,(e,t)=>t.toUpperCase())}function Zu(r){return xn(r).map(e=>e instanceof String?e:String(e))}function ot(r,e=0){if(r==null)return e;let t=parseInt(r,10);return Number.isNaN(t)?e:t}function Fh(r,e){let t=[];for(let n=0,i=r.length;n<i;n++)t.push(e,r[n]);return t}function Mh(r){return(Array.isArray(r)?_.concat(r):r).toString("utf-8")}function MU(r){return r?_.isBuffer(r)?r.length:_.byteLength(r):0}function OU(r,e){let t={};return e.forEach(n=>{r[n]!==void 0&&(t[n]=r[n])}),t}function NA(r=0){return new Promise(e=>setTimeout(e,r))}function BA(r){if(r!==!1)return r}function dt(r,e,t){return e(r)?r:arguments.length>2?t:void 0}var zh=r=>Array.isArray(r);function u0(r,e){let t=Gi(r)?"string":typeof r;return/number|string|boolean/.test(t)&&(!e||!e.includes(t))}var We=r=>typeof r=="string"||Gi(r),DU=r=>We(r)||_.isBuffer(r),Oh=r=>We(r)||Array.isArray(r)&&r.every(We);function I0(r){return!!r&&$0(r)==="[object Object]"}function LU(r){return typeof r=="function"}var oT=r=>r==null||"number|boolean|function".includes(typeof r)?!1:typeof r.length=="number",Vh=(r=>(r[r.SUCCESS=0]="SUCCESS",r[r.ERROR=1]="ERROR",r[r.NOT_FOUND=-2]="NOT_FOUND",r[r.UNCLEAN=128]="UNCLEAN",r))(Vh||{}),Dh=class r{constructor(e,t){this.stdOut=e,this.stdErr=t}asStrings(){return new r(this.stdOut.toString("utf8"),this.stdErr.toString("utf8"))}};function NU(){throw new Error("LineParser:useMatches not implemented")}var ge=class{constructor(e,t){this.matches=[],this.useMatches=NU,this.parse=(n,i)=>(this.resetMatches(),this._regExp.every((s,a)=>this.addMatch(s,a,n(a)))?this.useMatches(i,this.prepareMatches())!==!1:!1),this._regExp=Array.isArray(e)?e:[e],t&&(this.useMatches=t)}resetMatches(){this.matches.length=0}prepareMatches(){return this.matches}addMatch(e,t,n){let i=n&&e.exec(n);return i&&this.pushMatch(t,i),!!i}pushMatch(e,t){this.matches.push(...t.slice(1))}},ha=class extends ge{addMatch(e,t,n){return/^remote:\s/.test(String(n))&&super.addMatch(e,t,n)}pushMatch(e,t){(e>0||t.length>1)&&super.pushMatch(e,t)}},BU={binary:"git",maxConcurrentProcesses:5,config:[],trimmed:!1};function UU(...r){let e=process.cwd(),t=Object.assign({baseDir:e,...BU},...r.filter(n=>typeof n=="object"&&n));return t.baseDir=t.baseDir||e,t.trimmed=t.trimmed===!0,t}function lT(r,e=[]){return I0(r)?Object.keys(r).reduce((t,n)=>{let i=r[n];if(Gi(i))t.push(i);else if(u0(i,["boolean"]))t.push(n+"="+i);else if(Array.isArray(i))for(let s of i)u0(s,["string","number"])||t.push(n+"="+s);else t.push(n);return t},e):e}function Fe(r,e=0,t=!1){let n=[];for(let i=0,s=e<0?r.length:e;i<s;i++)"string|number".includes(typeof r[i])&&n.push(String(r[i]));return lT(F0(r),n),t||n.push(...HU(r)),n}function HU(r){let e=typeof Gl(r)=="function";return Zu(dt(Gl(r,e?1:0),zh,[]))}function F0(r){let e=LU(Gl(r));return dt(Gl(r,e?1:0),I0)}function ee(r,e=!0){let t=RU(Gl(r));return e||PU(t)?t:void 0}function UA(r,e){return r(e.stdOut,e.stdErr)}function En(r,e,t,n=!0){return xn(t).forEach(i=>{for(let s=jh(i,n),a=0,o=s.length;a<o;a++){let l=(c=0)=>{if(!(a+c>=o))return s[a+c]};e.some(({parse:c})=>c(l,r))}}),r}var M0=({exitCode:r},e,t,n)=>{if(r===Vh.UNCLEAN&&VU(e))return t(_.from("false"));n(e)},cT=r=>r.trim()==="true";function GU(r){switch(r){case"bare":return zU();case"root":return jU()}return{commands:["rev-parse","--is-inside-work-tree"],format:"utf-8",onError:M0,parser:cT}}function jU(){return{commands:["rev-parse","--git-dir"],format:"utf-8",onError:M0,parser(r){return/^\.(git)?$/.test(r.trim())}}}function zU(){return{commands:["rev-parse","--is-bare-repository"],format:"utf-8",onError:M0,parser:cT}}function VU(r){return/(Not a git repository|Kein Git-Repository)/i.test(String(r))}var f0=class{constructor(e){this.paths=[],this.files=[],this.folders=[],this.dryRun=e}},WU=/^[a-z]+\s*/i,qU=/^[a-z]+\s+[a-z]+\s*/i,YU=/\/$/;function ZU(r,e){let t=new f0(r),n=r?qU:WU;return jh(e).forEach(i=>{let s=i.replace(n,"");t.paths.push(s),(YU.test(s)?t.folders:t.files).push(s)}),t}var uT=[];function KU(r){return{commands:uT,format:"empty",parser:r}}function Ft(r){return{commands:uT,format:"empty",parser(){throw typeof r=="string"?new c0(r):r}}}function ht(r,e=!1){return{commands:r,format:"utf-8",parser(t){return e?String(t).trim():t}}}function fT(r){return{commands:r,format:"buffer",parser(e){return e}}}function XU(r){return r.format==="buffer"}function HA(r){return r.format==="empty"||!r.commands.length}var QU="Git clean interactive mode is not supported",JU='Git clean mode parameter ("n" or "f") is required',e4="Git clean unknown option found in: ",Ku=(r=>(r.DRY_RUN="n",r.FORCE="f",r.IGNORED_INCLUDED="x",r.IGNORED_ONLY="X",r.EXCLUDING="e",r.QUIET="q",r.RECURSIVE="d",r))(Ku||{}),dT=new Set(["i",...Zu(Object.values(Ku))]);function t4(r,e){let{cleanMode:t,options:n,valid:i}=i4(r);return t?i.options?(n.push(...e),n.some(o4)?Ft(QU):r4(t,n)):Ft(e4+JSON.stringify(r)):Ft(JU)}function r4(r,e){return{commands:["clean",`-${r}`,...e],format:"utf-8",parser(t){return ZU(r==="n",t)}}}function n4(r){return Array.isArray(r)&&r.every(e=>dT.has(e))}function i4(r){let e,t=[],n={cleanMode:!1,options:!0};return r.replace(/[^a-z]i/g,"").split("").forEach(i=>{s4(i)?(e=i,n.cleanMode=!0):n.options=n.options&&a4(t[t.length]=`-${i}`)}),{cleanMode:e,options:t,valid:n}}function s4(r){return r==="f"||r==="n"}function a4(r){return/^-[a-z]$/i.test(r)&&dT.has(r.charAt(1))}function o4(r){return/^-[^\-]/.test(r)?r.indexOf("i")>0:r==="--interactive"}var d0=class{constructor(){this.files=[],this.values=Object.create(null)}get all(){return this._all||(this._all=this.files.reduce((e,t)=>Object.assign(e,this.values[t]),{})),this._all}addFile(e){if(!(e in this.values)){let t=Gl(this.files);this.values[e]=t?Object.create(this.values[t]):{},this.files.push(e)}return this.values[e]}addValue(e,t,n){let i=this.addFile(e);Object.hasOwn(i,t)?Array.isArray(i[t])?i[t].push(n):i[t]=[i[t],n]:i[t]=n,this._all=void 0}};function l4(r){let e=new d0;for(let t of hT(r))e.addValue(t.file,String(t.key),t.value);return e}function c4(r,e){let t=null,n=[],i=new Map;for(let s of hT(r,e))s.key===e&&(n.push(t=s.value),i.has(s.file)||i.set(s.file,[]),i.get(s.file).push(t));return{key:e,paths:Array.from(i.keys()),scopes:i,value:t,values:n}}function u4(r){return r.replace(/^(file):/,"")}function*hT(r,e=null){let t=r.split("\0");for(let n=0,i=t.length-1;n<i;){let s=u4(t[n++]),a=t[n++],o=e;if(a.includes(`
|
|
`)){let l=$U(a,`
|
|
`);o=l[0],a=l[1]}yield{file:s,key:o,value:a}}}var pT=(r=>(r.system="system",r.global="global",r.local="local",r.worktree="worktree",r))(pT||{});function n0(r,e){return typeof r=="string"&&Object.hasOwn(pT,r)?r:e}function f4(r,e,t,n){let i=["config",`--${n}`];return t&&i.push("--add"),i.push(r,e),{commands:i,format:"utf-8",parser(s){return s}}}function d4(r,e){let t=["config","--null","--show-origin","--get-all",r];return e&&t.splice(1,0,`--${e}`),{commands:t,format:"utf-8",parser(n){return c4(n,r)}}}function h4(r){let e=["config","--list","--show-origin","--null"];return r&&e.push(`--${r}`),{commands:e,format:"utf-8",parser(t){return l4(t)}}}function p4(){return{addConfig(r,e,...t){return this._runTask(f4(r,e,t[0]===!0,n0(t[1],"local")),ee(arguments))},getConfig(r,e){return this._runTask(d4(r,n0(e,void 0)),ee(arguments))},listConfig(...r){return this._runTask(h4(n0(r[0],void 0)),ee(arguments))}}}var mT=(r=>(r.ADDED="A",r.COPIED="C",r.DELETED="D",r.MODIFIED="M",r.RENAMED="R",r.CHANGED="T",r.UNMERGED="U",r.UNKNOWN="X",r.BROKEN="B",r))(mT||{}),m4=new Set(Object.values(mT));function g4(r){return m4.has(r)}var GA,w4=["-h"],Ph=Symbol("grepQuery"),h0=class{constructor(){this[GA]=[]}*[(GA=Ph,Symbol.iterator)](){for(let e of this[Ph])yield e}and(...e){return e.length&&this[Ph].push("--and","(",...Fh(e,"-e"),")"),this}param(...e){return this[Ph].push(...Fh(e,"-e")),this}};function v4(...r){return new h0().param(...r)}function b4(r){let e=new Set,t={};return R0(r,n=>{let[i,s,a]=n.split(Ih);e.add(i),(t[i]=t[i]||[]).push({line:ot(s),path:i,preview:a})}),{paths:e,results:t}}function y4(){return{grep(r){let e=ee(arguments),t=Fe(arguments);for(let i of w4)if(t.includes(i))return this._runTask(Ft(`git.grep: use of "${i}" is not supported.`),e);typeof r=="string"&&(r=v4().param(r));let n=["grep","--null","-n","--full-name",...t,...r];return this._runTask({commands:n,format:"utf-8",parser(i){return b4(i)}},e)}}}var gT=(r=>(r.MIXED="mixed",r.SOFT="soft",r.HARD="hard",r.MERGE="merge",r.KEEP="keep",r))(gT||{}),_4=Zu(Object.values(gT));function x4(r,e){let t=["reset"];return wT(r)&&t.push(`--${r}`),t.push(...e),ht(t)}function E4(r){if(wT(r))return r;switch(typeof r){case"string":case"undefined":return"soft"}}function wT(r){return typeof r=="string"&&_4.includes(r)}Hh.default.formatters.L=r=>String(oT(r)?r.length:"-");Hh.default.formatters.B=r=>_.isBuffer(r)?r.toString("utf8"):$0(r);function S4(){return(0,Hh.default)("simple-git")}function jA(r,e,t){return!e||!String(e).replace(/\s*/,"")?t?(n,...i)=>{r(n,...i),t(n,...i)}:r:(n,...i)=>{r(`%s ${n}`,e,...i),t&&t(n,...i)}}function k4(r,e,{namespace:t}){if(typeof r=="string")return r;let n=e&&e.namespace||"";return n.startsWith(t)?n.substr(t.length+1):n||t}function jl(r,e,t,n=S4()){let i=r&&`[${r}]`||"",s=[],a=typeof e=="string"?n.extend(e):e,o=k4(dt(e,We),a,n);return c(t);function l(u,f){return fi(s,jl(r,o.replace(/^[^:]+/,u),f,n))}function c(u){let f=u&&`[${u}]`||"",d=a&&jA(a,f)||Gh,h=jA(n,`${i} ${f}`,d);return Object.assign(a?d:h,{label:r,sibling:l,info:h,step:c})}}var vT=class p0{constructor(e="GitExecutor"){this.logLabel=e,this._queue=new Map}withProgress(e){return this._queue.get(e)}createProgress(e){let t=p0.getName(e.commands[0]),n=jl(this.logLabel,t);return{task:e,logger:n,name:t}}push(e){let t=this.createProgress(e);return t.logger("Adding task to the queue, commands = %o",e.commands),this._queue.set(e,t),t}fatal(e){for(let[t,{logger:n}]of Array.from(this._queue.entries()))t===e.task?(n.info("Failed %o",e),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",e.message),this.complete(t);if(this._queue.size!==0)throw new Error(`Queue size should be zero after fatal: ${this._queue.size}`)}complete(e){this.withProgress(e)&&this._queue.delete(e)}attempt(e){let t=this.withProgress(e);if(!t)throw new dr(void 0,"TasksPendingQueue: attempt called for an unknown task");return t.logger("Starting task"),t}static getName(e="empty"){return`task:${e}:${++p0.counter}`}};vT.counter=0;var C4=vT,m0=class{constructor(e,t,n){this._executor=e,this._scheduler=t,this._plugins=n,this._chain=Promise.resolve(),this._queue=new C4}get cwd(){return this._cwd||this._executor.cwd}set cwd(e){this._cwd=e}get env(){return this._executor.env}get outputHandler(){return this._executor.outputHandler}chain(){return this}push(e){return this._queue.push(e),this._chain=this._chain.then(()=>this.attemptTask(e))}async attemptTask(e){let t=await this._scheduler.next(),n=()=>this._queue.complete(e);try{let{logger:i}=this._queue.attempt(e);return await(HA(e)?this.attemptEmptyTask(e,i):this.attemptRemoteTask(e,i))}catch(i){throw this.onFatalException(e,i)}finally{n(),t()}}onFatalException(e,t){let n=t instanceof dr?Object.assign(t,{task:e}):new dr(e,t&&String(t));return this._chain=Promise.resolve(),this._queue.fatal(n),n}async attemptRemoteTask(e,t){let n=this._plugins.exec("spawn.binary","",this.taskContext(e,e.commands)),i=this._plugins.exec("spawn.args",[...e.commands],this.taskContext(e,e.commands)),s=await this.gitResponse(e,n,i,this.outputHandler,t.step("SPAWN")),a=await this.handleTaskData(e,i,s,t.step("HANDLE"));return t("passing response to task's parser as a %s",e.format),XU(e)?UA(e.parser,a):UA(e.parser,a.asStrings())}async attemptEmptyTask(e,t){return t("empty task bypassing child process to call to task's parser"),e.parser(this)}handleTaskData(e,t,n,i){let{exitCode:s,rejection:a,stdOut:o,stdErr:l}=n;return new Promise((c,u)=>{i("Preparing to handle process response exitCode=%d stdOut=",s);let{error:f}=this._plugins.exec("task.error",{error:a},{...this.taskContext(e,t),...n});if(f&&e.onError)return i.info("exitCode=%s handling with custom error handler"),e.onError(n,f,d=>{i.info("custom error handler treated as success"),i("custom error returned a %s",$0(d)),c(new Dh(Array.isArray(d)?_.concat(d):d,_.concat(l)))},u);if(f)return i.info("handling as error: exitCode=%s stdErr=%s rejection=%o",s,l.length,a),u(f);i.info("retrieving task output complete"),c(new Dh(_.concat(o),_.concat(l)))})}async gitResponse(e,t,n,i,s){let a=s.sibling("output"),o=this._plugins.exec("spawn.options",{cwd:this.cwd,env:this.env,windowsHide:!0},this.taskContext(e,e.commands));return new Promise(l=>{let c=[],u=[];s.info("%s %o",t,n),s("%O",o);let f=this._beforeSpawn(e,n);if(f)return l({stdOut:c,stdErr:u,exitCode:9901,rejection:f});this._plugins.exec("spawn.before",void 0,{...this.taskContext(e,n),kill(h){f=h||f}});let d=(0,tT.spawn)(t,n,o);d.stdout.on("data",zA(c,"stdOut",s,a.step("stdOut"))),d.stderr.on("data",zA(u,"stdErr",s,a.step("stdErr"))),d.on("error",A4(u,s)),i&&(s("Passing child process stdOut/stdErr to custom outputHandler"),i(t,d.stdout,d.stderr,[...n])),this._plugins.exec("spawn.after",void 0,{...this.taskContext(e,n),spawned:d,close(h,p){l({stdOut:c,stdErr:u,exitCode:h,rejection:f||p})},kill(h){d.killed||(f=h,d.kill("SIGINT"))}})})}_beforeSpawn(e,t){let n;return this._plugins.exec("spawn.before",void 0,{...this.taskContext(e,t),kill(i){n=i||n}}),n}taskContext(e,t){return{method:String(IU(e.commands)||""),commands:t,env:{...this.env},input:HA(e)?void 0:e.input}}};function A4(r,e){return t=>{e("[ERROR] child process exception %o",t),r.push(_.from(String(t.stack),"ascii"))}}function zA(r,e,t,n){return i=>{t("%s received %L bytes",e,i),n("%B",i),r.push(i)}}var g0=class{constructor(e,t,n){this.cwd=e,this._scheduler=t,this._plugins=n,this._chain=this.chain()}chain(){return new m0(this,this._scheduler,this._plugins)}push(e){return this._chain.push(e)}};function T4(r,e,t=Gh){let n=s=>{t(null,s)},i=s=>{(s==null?void 0:s.task)===r&&t(s,void 0)};e.then(n,i)}function VA(r,e){return KU(t=>{if(!sT(r))throw new Error(`Git.cwd: cannot change to non-directory "${r}"`);return(e||t).cwd=r})}function i0(r){let e=["checkout",...r];return e[1]==="-b"&&e.includes("-B")&&(e[1]=P0(e,"-B")),ht(e)}function R4(){return{checkout(){return this._runTask(i0(Fe(arguments,1)),ee(arguments))},checkoutBranch(r,e){return this._runTask(i0(["-b",r,e,...Fe(arguments)]),ee(arguments))},checkoutLocalBranch(r){return this._runTask(i0(["-b",r,...Fe(arguments)]),ee(arguments))}}}var bT=(r,e,t)=>{let n=["clone",...t];return We(r)&&n.push(Vu(r)),We(e)&&n.push(Vu(e)),ht(n)},P4=(r,e,t)=>(fi(t,"--mirror"),bT(r,e,t));function WA(r,e,t,...n){return We(t)?e(t,dt(n[0],We),Fe(arguments)):Ft(`git.${r}() requires a string 'repoPath'`)}function $4(){return{clone(r,...e){return this._runTask(WA("clone",bT,dt(r,We),...e),ee(arguments))},mirror(r,...e){return this._runTask(WA("mirror",P4,dt(r,We),...e),ee(arguments))}}}var I4=[new ge(/^\[([^\s]+)( \([^)]+\))? ([^\]]+)/,(r,[e,t,n])=>{r.branch=e,r.commit=n,r.root=!!t}),new ge(/\s*Author:\s(.+)/i,(r,[e])=>{let t=e.split("<"),n=t.pop();!n||!n.includes("@")||(r.author={email:n.substr(0,n.length-1),name:t.join("<").trim()})}),new ge(/(\d+)[^,]*(?:,\s*(\d+)[^,]*)(?:,\s*(\d+))/g,(r,[e,t,n])=>{r.summary.changes=parseInt(e,10)||0,r.summary.insertions=parseInt(t,10)||0,r.summary.deletions=parseInt(n,10)||0}),new ge(/^(\d+)[^,]*(?:,\s*(\d+)[^(]+\(([+-]))?/,(r,[e,t,n])=>{r.summary.changes=parseInt(e,10)||0;let i=parseInt(t,10)||0;n==="-"?r.summary.deletions=i:n==="+"&&(r.summary.insertions=i)})];function F4(r){return En({author:null,branch:"",commit:"",root:!1,summary:{changes:0,insertions:0,deletions:0}},I4,r)}function M4(r,e,t){return{commands:["-c","core.abbrev=40","commit",...Fh(r,"-m"),...e,...t],format:"utf-8",parser:F4}}function O4(){return{commit(e,...t){let n=ee(arguments),i=r(e)||M4(xn(e),xn(dt(t[0],Oh,[])),[...Zu(dt(t[1],zh,[])),...Fe(arguments,0,!0)]);return this._runTask(i,n)}};function r(e){return!Oh(e)&&Ft("git.commit: requires the commit message to be supplied as a string/string[]")}}function D4(){return{count:0,garbage:0,inPack:0,packs:0,prunePackable:0,size:0,sizeGarbage:0,sizePack:0}}var L4=new ge(/([a-z-]+): (\d+)$/,(r,[e,t])=>{let n=aT(e);Object.hasOwn(r,n)&&(r[n]=ot(t))});function N4(){return{countObjects(){return this._runTask({commands:["count-objects","--verbose"],format:"utf-8",parser(r){return En(D4(),[L4],r)}})}}}function B4(){return{firstCommit(){return this._runTask(ht(["rev-list","--max-parents=0","HEAD"],!0),ee(arguments))}}}function U4(r,e){let t=["hash-object",r];return e&&t.push("-w"),ht(t,!0)}var Wu=class{constructor(e,t,n,i){this.bare=e,this.path=t,this.existing=n,this.gitDir=i}},H4=/^Init.+ repository in (.+)$/,G4=/^Rein.+ in (.+)$/;function j4(r,e,t){let n=String(t).trim(),i;if(i=H4.exec(n))return new Wu(r,e,!1,i[1]);if(i=G4.exec(n))return new Wu(r,e,!0,i[1]);let s="",a=n.split(" ");for(;a.length;)if(a.shift()==="in"){s=a.join(" ");break}return new Wu(r,e,/^re/i.test(n),s)}var yT="--bare";function z4(r){return r.includes(yT)}function V4(r=!1,e,t){let n=["init",...t];return r&&!z4(n)&&n.splice(1,0,yT),{commands:n,format:"utf-8",parser(i){return j4(n.includes("--bare"),e,i)}}}function W4(r){return r===void 0?Ft("interpretTrailers called without input content"):{format:"utf-8",parser(e){return Object.fromEntries(R0(e,t=>{let n=t.indexOf(":");return[aT(t.substring(0,n).toLowerCase()),t.substring(n+2).trim()]}))},commands:["interpret-trailers","--parse"],input:r}}function q4(){return{interpretTrailers(r){return this._runTask(W4(dt(r,DU)),ee(arguments))}}}var zi=(r=>(r.NONE="",r.STAT="--stat",r.NUM_STAT="--numstat",r.NAME_ONLY="--name-only",r.NAME_STATUS="--name-status",r))(zi||{}),_T=/^--(stat|numstat|name-only|name-status)(=|$)/;function O0(r){for(let e=0;e<r.length;e++){let t=_T.exec(r[e]);if(t)return`--${t[1]}`}return""}function Y4(r){return _T.test(r)}var w0=class{constructor(){this.changed=0,this.deletions=0,this.insertions=0,this.files=[]}},qA=[new ge(/^(.+)\s+\|\s+(\d+)(\s+[+\-]+)?$/,(r,[e,t,n=""])=>{r.files.push({file:e.trim(),changes:ot(t),insertions:n.replace(/[^+]/g,"").length,deletions:n.replace(/[^-]/g,"").length,binary:!1})}),new ge(/^(.+) \|\s+Bin ([0-9.]+) -> ([0-9.]+) ([a-z]+)/,(r,[e,t,n])=>{r.files.push({file:e.trim(),before:ot(t),after:ot(n),binary:!0})}),new ge(/^(.+)\s+\|\s+Bin\s*$/,(r,[e])=>{r.files.push({file:e.trim(),before:0,after:0,binary:!0})}),new ge(/(\d+) files? changed\s*((?:, \d+ [^,]+){0,2})/,(r,[e,t])=>{let n=/(\d+) i/.exec(t),i=/(\d+) d/.exec(t);r.changed=ot(e),r.insertions=ot(n==null?void 0:n[1]),r.deletions=ot(i==null?void 0:i[1])})],Z4=[new ge(/(\d+)\t(\d+)\t(.+)$/,(r,[e,t,n])=>{let i=ot(e),s=ot(t);r.changed++,r.insertions+=i,r.deletions+=s,r.files.push({file:n,changes:i+s,insertions:i,deletions:s,binary:!1})}),new ge(/-\t-\t(.+)$/,(r,[e])=>{r.changed++,r.files.push({file:e,after:0,before:0,binary:!0})})],K4=[new ge(/(.+)$/,(r,[e])=>{r.changed++,r.files.push({file:e,changes:0,insertions:0,deletions:0,binary:!1})})],X4=[new ge(/([ACDMRTUXB])([0-9]{0,3})\t(.[^\t]*)(\t(.[^\t]*))?$/,(r,[e,t,n,i,s])=>{r.changed++,r.files.push({file:s!=null?s:n,changes:0,insertions:0,deletions:0,binary:!1,status:BA(g4(e)&&e),from:BA(!!s&&n!==s&&n),similarity:ot(t)})})],Q4={[zi.NONE]:qA,[zi.STAT]:qA,[zi.NUM_STAT]:Z4,[zi.NAME_STATUS]:X4,[zi.NAME_ONLY]:K4};function xT(r=zi.NONE){let e=Q4[r];return t=>En(new w0,e,t,!1)}var ET="\xF2\xF2\xF2\xF2\xF2\xF2 ",ST=" \xF2\xF2",kT=" \xF2 ",J4=["hash","date","message","refs","author_name","author_email"];function eH(r,e){return e.reduce((t,n,i)=>(t[n]=r[i]||"",t),Object.create({diff:null}))}function CT(r=kT,e=J4,t=zi.NONE){let n=xT(t);return function(i){let s=jh(i.trim(),!1,ET).map(function(a){let o=a.split(ST),l=eH(o[0].split(r),e);return o.length>1&&o[1].trim()&&(l.diff=n(o[1])),l});return{all:s,latest:s.length&&s[0]||null,total:s.length}}}function tH(r){let e=O0(r),t=["diff"];return e===zi.NONE&&(e=zi.STAT,t.push("--stat=4096")),t.push(...r),D0(t)||{commands:t,format:"utf-8",parser:xT(e)}}function D0(r){let e=r.filter(Y4);if(e.length>1)return Ft(`Summary flags are mutually exclusive - pick one of ${e.join(",")}`);if(e.length&&r.includes("-z"))return Ft(`Summary flag ${e} parsing is not compatible with null termination option '-z'`)}var AT=(r=>(r[r["--pretty"]=0]="--pretty",r[r["max-count"]=1]="max-count",r[r.maxCount=2]="maxCount",r[r.n=3]="n",r[r.file=4]="file",r[r.format=5]="format",r[r.from=6]="from",r[r.to=7]="to",r[r.splitter=8]="splitter",r[r.symmetric=9]="symmetric",r[r.mailMap=10]="mailMap",r[r.multiLine=11]="multiLine",r[r.strictDate=12]="strictDate",r))(AT||{});function rH(r,e){let t=[],n=[];return Object.keys(r).forEach(i=>{t.push(i),n.push(String(r[i]))}),[t,n.join(e)]}function nH(r){return Object.keys(r).reduce((e,t)=>(t in AT||(e[t]=r[t]),e),{})}function TT(r={},e=[]){let t=dt(r.splitter,We,kT),n=I0(r.format)?r.format:{hash:"%H",date:r.strictDate===!1?"%ai":"%aI",message:"%s",refs:"%D",body:r.multiLine?"%B":"%b",author_name:r.mailMap!==!1?"%aN":"%an",author_email:r.mailMap!==!1?"%aE":"%ae"},[i,s]=rH(n,t),a=[],o=[`--pretty=format:${ET}${s}${ST}`,...e],l=r.n||r["max-count"]||r.maxCount;if(l&&o.push(`--max-count=${l}`),r.from||r.to){let c=r.symmetric!==!1?"...":"..";a.push(`${r.from||""}${c}${r.to||""}`)}return We(r.file)&&o.push("--follow",Vu(r.file)),lT(nH(r),o),{fields:i,splitter:t,commands:[...o,...a]}}function iH(r,e,t){let n=CT(r,e,O0(t));return{commands:["log",...t],format:"utf-8",parser:n}}function sH(){return{log(...t){let n=ee(arguments),i=TT(F0(arguments),Zu(dt(arguments[0],zh,[]))),s=e(...t)||D0(i.commands)||r(i);return this._runTask(s,n)}};function r(t){return iH(t.splitter,t.fields,t.commands)}function e(t,n){return We(t)&&We(n)&&Ft("git.log(string, string) should be replaced with git.log({ from: string, to: string })")}}var qu=class{constructor(e,t=null,n){this.reason=e,this.file=t,this.meta=n}toString(){return`${this.file}:${this.reason}`}},v0=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"}},Lh=class{constructor(){this.remoteMessages={all:[]},this.created=[],this.deleted=[],this.files=[],this.deletions={},this.insertions={},this.summary={changes:0,deletions:0,insertions:0}}},b0=class{constructor(){this.remote="",this.hash={local:"",remote:""},this.branch={local:"",remote:""},this.message=""}toString(){return this.message}};function s0(r){return r.objects=r.objects||{compressing:0,counting:0,enumerating:0,packReused:0,reused:{count:0,delta:0},total:{count:0,delta:0}}}function YA(r){let e=/^\s*(\d+)/.exec(r),t=/delta (\d+)/i.exec(r);return{count:ot(e&&e[1]||"0"),delta:ot(t&&t[1]||"0")}}var aH=[new ha(/^remote:\s*(enumerating|counting|compressing) objects: (\d+),/i,(r,[e,t])=>{let n=e.toLowerCase(),i=s0(r.remoteMessages);Object.assign(i,{[n]:ot(t)})}),new ha(/^remote:\s*(enumerating|counting|compressing) objects: \d+% \(\d+\/(\d+)\),/i,(r,[e,t])=>{let n=e.toLowerCase(),i=s0(r.remoteMessages);Object.assign(i,{[n]:ot(t)})}),new ha(/total ([^,]+), reused ([^,]+), pack-reused (\d+)/i,(r,[e,t,n])=>{let i=s0(r.remoteMessages);i.total=YA(e),i.reused=YA(t),i.packReused=ot(n)})],oH=[new ha(/^remote:\s*(.+)$/,(r,[e])=>(r.remoteMessages.all.push(e.trim()),!1)),...aH,new ha([/create a (?:pull|merge) request/i,/\s(https?:\/\/\S+)$/],(r,[e])=>{r.remoteMessages.pullRequestUrl=e}),new ha([/found (\d+) vulnerabilities.+\(([^)]+)\)/i,/\s(https?:\/\/\S+)$/],(r,[e,t,n])=>{r.remoteMessages.vulnerabilities={count:ot(e),summary:t,url:n}})];function RT(r,e){return En({remoteMessages:new y0},oH,e)}var y0=class{constructor(){this.all=[]}},lH=/^\s*(.+?)\s+\|\s+\d+\s*(\+*)(-*)/,cH=/(\d+)\D+((\d+)\D+\(\+\))?(\D+(\d+)\D+\(-\))?/,uH=/^(create|delete) mode \d+ (.+)/,fH=[new ge(lH,(r,[e,t,n])=>{r.files.push(e),t&&(r.insertions[e]=t.length),n&&(r.deletions[e]=n.length)}),new ge(cH,(r,[e,,t,,n])=>t!==void 0||n!==void 0?(r.summary.changes=+e||0,r.summary.insertions=+t||0,r.summary.deletions=+n||0,!0):!1),new ge(uH,(r,[e,t])=>{fi(r.files,t),fi(e==="create"?r.created:r.deleted,t)})],dH=[new ge(/^from\s(.+)$/i,(r,[e])=>{r.remote=e}),new ge(/^fatal:\s(.+)$/,(r,[e])=>{r.message=e}),new ge(/([a-z0-9]+)\.\.([a-z0-9]+)\s+(\S+)\s+->\s+(\S+)$/,(r,[e,t,n,i])=>{r.branch.local=n,r.hash.local=e,r.branch.remote=i,r.hash.remote=t})],hH=(r,e)=>En(new Lh,fH,[r,e]),PT=(r,e)=>Object.assign(new Lh,hH(r,e),RT(r,e));function pH(r,e){let t=En(new b0,dH,[r,e]);return t.message&&t}var mH=[new ge(/^Auto-merging\s+(.+)$/,(r,[e])=>{r.merges.push(e)}),new ge(/^CONFLICT\s+\((.+)\): Merge conflict in (.+)$/,(r,[e,t])=>{r.conflicts.push(new qu(e,t))}),new ge(/^CONFLICT\s+\((.+\/delete)\): (.+) deleted in (.+) and/,(r,[e,t,n])=>{r.conflicts.push(new qu(e,t,{deleteRef:n}))}),new ge(/^CONFLICT\s+\((.+)\):/,(r,[e])=>{r.conflicts.push(new qu(e,null))}),new ge(/^Automatic merge failed;\s+(.+)$/,(r,[e])=>{r.result=e})],gH=(r,e)=>Object.assign(wH(r),PT(r,e)),wH=r=>En(new v0,mH,r);function ZA(r){return r.length?{commands:["merge",...r],format:"utf-8",parser(e,t){let n=gH(e,t);if(n.failed)throw new Yu(n);return n}}:Ft("Git.merge requires at least one option")}function vH(r,e,t){let n=t.includes("deleted"),i=t.includes("tag")||/^refs\/tags/.test(r),s=!t.includes("new");return{deleted:n,tag:i,branch:!i,new:!s,alreadyUpdated:s,local:r,remote:e}}var bH=[new ge(/^Pushing to (.+)$/,(r,[e])=>{r.repo=e}),new ge(/^updating local tracking ref '(.+)'/,(r,[e])=>{r.ref={...r.ref||{},local:e}}),new ge(/^[=*-]\s+([^:]+):(\S+)\s+\[(.+)]$/,(r,[e,t,n])=>{r.pushed.push(vH(e,t,n))}),new ge(/^Branch '([^']+)' set up to track remote branch '([^']+)' from '([^']+)'/,(r,[e,t,n])=>{r.branch={...r.branch||{},local:e,remote:t,remoteName:n}}),new ge(/^([^:]+):(\S+)\s+([a-z0-9]+)\.\.([a-z0-9]+)$/,(r,[e,t,n,i])=>{r.update={head:{local:e,remote:t},hash:{from:n,to:i}}})],yH=(r,e)=>{let t=_H(r,e),n=RT(r,e);return{...t,...n}},_H=(r,e)=>En({pushed:[]},bH,[r,e]);function xH(r={},e){return fi(e,"--tags"),$T(r,e)}function $T(r={},e){let t=["push",...e];return r.branch&&t.splice(1,0,r.branch),r.remote&&t.splice(1,0,r.remote),P0(t,"-v"),fi(t,"--verbose"),fi(t,"--porcelain"),{commands:t,format:"utf-8",parser:yH}}function EH(){return{showBuffer(){let r=["show",...Fe(arguments,1)];return r.includes("--binary")||r.splice(1,0,"--binary"),this._runTask(fT(r),ee(arguments))},show(){let r=["show",...Fe(arguments,1)];return this._runTask(ht(r),ee(arguments))}}}var SH=/^(.+)\0(.+)$/,_0=class{constructor(e,t,n){if(this.path=e,this.index=t,this.working_dir=n,t==="R"||n==="R"){let i=SH.exec(e)||[null,e,e];this.from=i[2]||"",this.path=i[1]||""}}},x0=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}};function KA(r){let[e,t]=r.split(Ih);return{from:t||e,to:e}}function _n(r,e,t){return[`${r}${e}`,t]}function a0(r,...e){return e.map(t=>_n(r,t,(n,i)=>n.conflicted.push(i)))}var kH=new Map([_n(" ","A",(r,e)=>r.created.push(e)),_n(" ","D",(r,e)=>r.deleted.push(e)),_n(" ","M",(r,e)=>r.modified.push(e)),_n("A"," ",(r,e)=>{r.created.push(e),r.staged.push(e)}),_n("A","M",(r,e)=>{r.created.push(e),r.staged.push(e),r.modified.push(e)}),_n("D"," ",(r,e)=>{r.deleted.push(e),r.staged.push(e)}),_n("M"," ",(r,e)=>{r.modified.push(e),r.staged.push(e)}),_n("M","M",(r,e)=>{r.modified.push(e),r.staged.push(e)}),_n("R"," ",(r,e)=>{r.renamed.push(KA(e))}),_n("R","M",(r,e)=>{let t=KA(e);r.renamed.push(t),r.modified.push(t.to)}),_n("!","!",(r,e)=>{(r.ignored=r.ignored||[]).push(e)}),_n("?","?",(r,e)=>r.not_added.push(e)),...a0("A","A","U"),...a0("D","D","U"),...a0("U","A","D","U"),["##",(r,e)=>{let t=/ahead (\d+)/,n=/behind (\d+)/,i=/^(.+?(?=(?:\.{3}|\s|$)))/,s=/\.{3}(\S*)/,a=/\son\s(\S+?)(?=\.{3}|$)/,o=t.exec(e);r.ahead=o&&+o[1]||0,o=n.exec(e),r.behind=o&&+o[1]||0,o=i.exec(e),r.current=dt(o==null?void 0:o[1],We,null),o=s.exec(e),r.tracking=dt(o==null?void 0:o[1],We,null),o=a.exec(e),o&&(r.current=dt(o==null?void 0:o[1],We,r.current)),r.detached=/\(no branch\)/.test(e)}]]),CH=function(r){let e=r.split(Ih),t=new x0;for(let n=0,i=e.length;n<i;){let s=e[n++].trim();s&&(s.charAt(0)==="R"&&(s+=Ih+(e[n++]||"")),AH(t,s))}return t};function AH(r,e){let t=e.trim();switch(" "){case t.charAt(2):return n(t.charAt(0),t.charAt(1),t.slice(3));case t.charAt(1):return n(" ",t.charAt(0),t.slice(2));default:return}function n(i,s,a){let o=`${i}${s}`,l=kH.get(o);l&&l(r,a),o!=="##"&&o!=="!!"&&r.files.push(new _0(a,i,s))}}var TH=["--null","-z"];function RH(r){return{format:"utf-8",commands:["status","--porcelain","-b","-u","--null",...r.filter(e=>!TH.includes(e))],parser(e){return CH(e)}}}var IT="installed=false";function Nh(r=0,e=0,t=0,n="",i=!0){return Object.defineProperty({major:r,minor:e,patch:t,agent:n,installed:i},"toString",{value(){return`${this.major}.${this.minor}.${this.patch}`},configurable:!1,enumerable:!1})}function PH(){return Nh(0,0,0,"",!1)}function $H(){return{version(){return this._runTask({commands:["--version"],format:"utf-8",parser:FH,onError(r,e,t,n){if(r.exitCode===Vh.NOT_FOUND)return t(_.from(IT));n(e)}})}}}var IH=[new ge(/version (\d+)\.(\d+)\.(\d+)(?:\s*\((.+)\))?/,(r,[e,t,n,i=""])=>{Object.assign(r,Nh(ot(e),ot(t),ot(n),i))}),new ge(/version (\d+)\.(\d+)\.(\D+)(.+)?$/,(r,[e,t,n,i=""])=>{Object.assign(r,Nh(ot(e),ot(t),n,i))})];function FH(r){return r===IT?PH():En(Nh(0,0,0,r),IH,r)}var Bh=class{constructor(e){this._executor=e}_runTask(e,t){let n=this._executor.chain(),i=n.push(e);return t&&T4(e,i,t),Object.create(this,{then:{value:i.then.bind(i)},catch:{value:i.catch.bind(i)},_executor:{value:n}})}add(e){return this._runTask(ht(["add",...xn(e)]),ee(arguments))}cwd(e){let t=ee(arguments);return typeof e=="string"?this._runTask(VA(e,this._executor),t):typeof(e==null?void 0:e.path)=="string"?this._runTask(VA(e.path,e.root&&this._executor||void 0),t):this._runTask(Ft("Git.cwd: workingDirectory must be supplied as a string"),t)}hashObject(e,t){return this._runTask(U4(e,t===!0),ee(arguments))}init(e){return this._runTask(V4(e===!0,this._executor.cwd,Fe(arguments)),ee(arguments))}merge(){return this._runTask(ZA(Fe(arguments)),ee(arguments))}mergeFromTo(e,t){return We(e)&&We(t)?this._runTask(ZA([e,t,...Fe(arguments)]),ee(arguments,!1)):this._runTask(Ft("Git.mergeFromTo requires that the 'remote' and 'branch' arguments are supplied as strings"))}outputHandler(e){return this._executor.outputHandler=e,this}push(){let e=$T({remote:dt(arguments[0],We),branch:dt(arguments[1],We)},Fe(arguments));return this._runTask(e,ee(arguments))}stash(){return this._runTask(ht(["stash",...Fe(arguments)]),ee(arguments))}status(){return this._runTask(RH(Fe(arguments)),ee(arguments))}};Object.assign(Bh.prototype,R4(),$4(),O4(),p4(),N4(),B4(),y4(),q4(),sH(),EH(),$H());var MH=(()=>{let r=0;return()=>{r++;let{promise:e,done:t}=(0,da.createDeferred)();return{promise:e,done:t,id:r}}})(),E0=class{constructor(e=2){this.concurrency=e,this.logger=jl("","scheduler"),this.pending=[],this.running=[],this.logger("Constructed, concurrency=%s",e)}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 e=fi(this.running,this.pending.shift());this.logger("Attempting id=%s",e.id),e.done(()=>{this.logger("Completing id=",e.id),P0(this.running,e),this.schedule()})}next(){let{promise:e,id:t}=fi(this.pending,MH());return this.logger("Scheduling id=%s",t),this.schedule(),e}};function OH(r,e){return ht(["apply",...e,...r])}var FT=(r=>(r.CURRENT="*",r.LINKED="+",r))(FT||{}),S0=class{constructor(){this.all=[],this.branches={},this.current="",this.detached=!1}push(e,t,n,i,s){e==="*"&&(this.detached=t,this.current=n),this.all.push(n),this.branches[n]={current:e==="*",linkedWorkTree:e==="+",name:n,commit:i,label:s}}},DH=[new ge(/^([*+]\s)?\((?:HEAD )?detached (?:from|at) (\S+)\)\s+([a-z0-9]+)\s(.*)$/,(r,[e,t,n,i])=>{r.push(XA(e),!0,t,n,i)}),new ge(/^([*+]\s)?(\S+)\s+([a-z0-9]+)\s?(.*)$/s,(r,[e,t,n,i])=>{r.push(XA(e),!1,t,n,i)})],LH=new ge(/^(\S+)$/s,(r,[e])=>{r.push(FT.CURRENT,!1,e,"","")});function XA(r){return r?r.charAt(0):""}function MT(r,e=!1){return En(new S0,e?[LH]:DH,r)}var k0=class{constructor(){this.all=[],this.branches={},this.errors=[]}get success(){return!this.errors.length}};function NH(r,e){return{branch:r,hash:e,success:!0}}function BH(r){return{branch:r,hash:null,success:!1}}var UH=/(\S+)\s+\(\S+\s([^)]+)\)/,OT=/^error[^']+'([^']+)'/m,HH=[new ge(UH,(r,[e,t])=>{let n=NH(e,t);r.all.push(n),r.branches[e]=n}),new ge(OT,(r,[e])=>{let t=BH(e);r.errors.push(t),r.all.push(t),r.branches[e]=t})],L0=(r,e)=>En(new k0,HH,[r,e]);function DT(r,e){return e===Vh.ERROR&&OT.test(r)}function GH(r){let e=["-d","-D","--delete"];return r.some(t=>e.includes(t))}function jH(r){let e=GH(r),t=r.includes("--show-current"),n=["branch",...r];return n.length===1&&n.push("-a"),n.includes("-v")||n.splice(1,0,"-v"),{format:"utf-8",commands:n,parser(i,s){return e?L0(i,s).all[0]:MT(i,t)}}}function zH(){return{format:"utf-8",commands:["branch","-v"],parser(r){return MT(r)}}}function VH(r,e=!1){return{format:"utf-8",commands:["branch","-v",e?"-D":"-d",...r],parser(t,n){return L0(t,n)},onError({exitCode:t,stdOut:n},i,s,a){if(!DT(String(i),t))return a(i);s(n)}}}function WH(r,e=!1){let t={format:"utf-8",commands:["branch","-v",e?"-D":"-d",r],parser(n,i){return L0(n,i).branches[r]},onError({exitCode:n,stdErr:i,stdOut:s},a,o,l){if(!DT(String(a),n))return l(a);throw new Yu(t.parser(Mh(s),Mh(i)),String(a))}};return t}function qH(r){return{commands:["check-ignore",...r],format:"utf-8",parser:YH}}function YH(r){return r.split(/\n/g).map(ZH).filter(Boolean)}function ZH(r){let e=r.trim().replace(/^["']|["']$/g,"");return e&&(0,rT.normalize)(e)}var KH=[new ge(/From (.+)$/,(r,[e])=>{r.remote=e}),new ge(/\* \[new branch]\s+(\S+)\s*-> (.+)$/,(r,[e,t])=>{r.branches.push({name:e,tracking:t})}),new ge(/\* \[new tag]\s+(\S+)\s*-> (.+)$/,(r,[e,t])=>{r.tags.push({name:e,tracking:t})}),new ge(/- \[deleted]\s+\S+\s*-> (.+)$/,(r,[e])=>{r.deleted.push({tracking:e})}),new ge(/\s*([^.]+)\.\.(\S+)\s+(\S+)\s*-> (.+)$/,(r,[e,t,n,i])=>{r.updated.push({name:n,tracking:i,to:t,from:e})})];function XH(r,e){return En({raw:r,remote:null,branches:[],tags:[],updated:[],deleted:[]},KH,[r,e])}function QH(r){return/^--upload-pack(=|$)/.test(r)}function JH(r,e,t){let n=["fetch",...t];return r&&e&&n.push(r,e),n.find(QH)?Ft("git.fetch: potential exploit argument blocked."):{commands:n,format:"utf-8",parser:XH}}var e6=[new ge(/^Renaming (.+) to (.+)$/,(r,[e,t])=>{r.moves.push({from:e,to:t})})];function t6(r){return En({moves:[]},e6,r)}function r6(r,e){return{commands:["mv","-v",...xn(r),e],format:"utf-8",parser:t6}}function n6(r,e,t){let n=["pull",...t];return r&&e&&n.splice(1,0,r,e),{commands:n,format:"utf-8",parser(i,s){return PT(i,s)},onError(i,s,a,o){let l=pH(Mh(i.stdOut),Mh(i.stdErr));if(l)return o(new Yu(l));o(s)}}}function i6(r){let e={};return LT(r,([t])=>e[t]={name:t}),Object.values(e)}function s6(r){let e={};return LT(r,([t,n,i])=>{Object.hasOwn(e,t)||(e[t]={name:t,refs:{fetch:"",push:""}}),i&&n&&(e[t].refs[i.replace(/[^a-z]/g,"")]=n)}),Object.values(e)}function LT(r,e){R0(r,t=>e(t.split(/\s+/)))}function a6(r,e,t){return ht(["remote","add",...t,r,e])}function o6(r){let e=["remote"];return r&&e.push("-v"),{commands:e,format:"utf-8",parser:r?s6:i6}}function l6(r){let e=[...r];return e[0]!=="ls-remote"&&e.unshift("ls-remote"),ht(e)}function c6(r){let e=[...r];return e[0]!=="remote"&&e.unshift("remote"),ht(e)}function u6(r){return ht(["remote","remove",r])}function f6(r={},e){let t=TT(r),n=["stash","list",...t.commands,...e],i=CT(t.splitter,t.fields,O0(n));return D0(n)||{commands:n,format:"utf-8",parser:i}}function d6(r,e){return Wh(["add",r,e])}function h6(r){return Wh(["init",...r])}function Wh(r){let e=[...r];return e[0]!=="submodule"&&e.unshift("submodule"),ht(e)}function p6(r){return Wh(["update",...r])}var C0=class{constructor(e,t){this.all=e,this.latest=t}},m6=function(r,e=!1){let t=r.split(`
|
|
`).map(w6).filter(Boolean);e||t.sort(function(i,s){let a=i.split("."),o=s.split(".");if(a.length===1||o.length===1)return g6($h(a[0]),$h(o[0]));for(let l=0,c=Math.max(a.length,o.length);l<c;l++){let u=NT($h(a[l]),$h(o[l]));if(u)return u}return 0});let n=e?t[0]:[...t].reverse().find(i=>i.indexOf(".")>=0);return new C0(t,n)};function g6(r,e){let t=Number.isNaN(r),n=Number.isNaN(e);return t!==n?t?1:-1:t?NT(r,e):0}function NT(r,e){return r===e?0:r>e?1:-1}function w6(r){return r.trim()}function $h(r){return typeof r=="string"&&parseInt(r.replace(/^\D+/g,""),10)||0}function v6(r=[]){let e=r.some(t=>/^--sort=/.test(t));return{format:"utf-8",commands:["tag","-l",...r],parser(t){return m6(t,e)}}}function b6(r){return{format:"utf-8",commands:["tag",r],parser(){return{name:r}}}}function y6(r,e){return{format:"utf-8",commands:["tag","-a","-m",e,r],parser(){return{name:r}}}}function he(r,e){this._plugins=e,this._executor=new g0(r.baseDir,new E0(r.maxConcurrentProcesses),e),this._trimmed=r.trimmed}(he.prototype=Object.create(Bh.prototype)).constructor=he;he.prototype.customBinary=function(r){return this._plugins.reconfigure("binary",r),this};he.prototype.env=function(r,e){return arguments.length===1&&typeof r=="object"?this._executor.env=r:(this._executor.env=this._executor.env||{})[r]=e,this};he.prototype.stashList=function(r){return this._runTask(f6(F0(arguments)||{},zh(r)&&r||[]),ee(arguments))};he.prototype.mv=function(r,e){return this._runTask(r6(r,e),ee(arguments))};he.prototype.checkoutLatestTag=function(r){var e=this;return this.pull(function(){e.tags(function(t,n){e.checkout(n.latest,r)})})};he.prototype.pull=function(r,e,t,n){return this._runTask(n6(dt(r,We),dt(e,We),Fe(arguments)),ee(arguments))};he.prototype.fetch=function(r,e){return this._runTask(JH(dt(r,We),dt(e,We),Fe(arguments)),ee(arguments))};he.prototype.tags=function(r,e){return this._runTask(v6(Fe(arguments)),ee(arguments))};he.prototype.rebase=function(){return this._runTask(ht(["rebase",...Fe(arguments)]),ee(arguments))};he.prototype.reset=function(r){return this._runTask(x4(E4(r),Fe(arguments)),ee(arguments))};he.prototype.revert=function(r){let e=ee(arguments);return typeof r!="string"?this._runTask(Ft("Commit must be a string"),e):this._runTask(ht(["revert",...Fe(arguments,0,!0),r]),e)};he.prototype.addTag=function(r){let e=typeof r=="string"?b6(r):Ft("Git.addTag requires a tag name");return this._runTask(e,ee(arguments))};he.prototype.addAnnotatedTag=function(r,e){return this._runTask(y6(r,e),ee(arguments))};he.prototype.deleteLocalBranch=function(r,e,t){return this._runTask(WH(r,typeof e=="boolean"?e:!1),ee(arguments))};he.prototype.deleteLocalBranches=function(r,e,t){return this._runTask(VH(r,typeof e=="boolean"?e:!1),ee(arguments))};he.prototype.branch=function(r,e){return this._runTask(jH(Fe(arguments)),ee(arguments))};he.prototype.branchLocal=function(r){return this._runTask(zH(),ee(arguments))};he.prototype.raw=function(r){let e=!Array.isArray(r),t=[].slice.call(e?arguments:r,0);for(let i=0;i<t.length&&e;i++)if(!u0(t[i])){t.splice(i,t.length-i);break}t.push(...Fe(arguments,0,!0));var n=ee(arguments);return t.length?this._runTask(ht(t,this._trimmed),n):this._runTask(Ft("Raw: must supply one or more command to execute"),n)};he.prototype.submoduleAdd=function(r,e,t){return this._runTask(d6(r,e),ee(arguments))};he.prototype.submoduleUpdate=function(r,e){return this._runTask(p6(Fe(arguments,!0)),ee(arguments))};he.prototype.submoduleInit=function(r,e){return this._runTask(h6(Fe(arguments,!0)),ee(arguments))};he.prototype.subModule=function(r,e){return this._runTask(Wh(Fe(arguments)),ee(arguments))};he.prototype.listRemote=function(){return this._runTask(l6(Fe(arguments)),ee(arguments))};he.prototype.addRemote=function(r,e,t){return this._runTask(a6(r,e,Fe(arguments)),ee(arguments))};he.prototype.removeRemote=function(r,e){return this._runTask(u6(r),ee(arguments))};he.prototype.getRemotes=function(r,e){return this._runTask(o6(r===!0),ee(arguments))};he.prototype.remote=function(r,e){return this._runTask(c6(Fe(arguments)),ee(arguments))};he.prototype.tag=function(r,e){let t=Fe(arguments);return t[0]!=="tag"&&t.unshift("tag"),this._runTask(ht(t),ee(arguments))};he.prototype.updateServerInfo=function(r){return this._runTask(ht(["update-server-info"]),ee(arguments))};he.prototype.pushTags=function(r,e){let t=xH({remote:dt(r,We)},Fe(arguments));return this._runTask(t,ee(arguments))};he.prototype.rm=function(r){return this._runTask(ht(["rm","-f",...xn(r)]),ee(arguments))};he.prototype.rmKeepLocal=function(r){return this._runTask(ht(["rm","--cached",...xn(r)]),ee(arguments))};he.prototype.catFile=function(r,e){return this._catFile("utf-8",arguments)};he.prototype.binaryCatFile=function(){return this._catFile("buffer",arguments)};he.prototype._catFile=function(r,e){var t=ee(e),n=["cat-file"],i=e[0];if(typeof i=="string")return this._runTask(Ft("Git.catFile: options must be supplied as an array of strings"),t);Array.isArray(i)&&n.push.apply(n,i);let s=r==="buffer"?fT(n):ht(n);return this._runTask(s,t)};he.prototype.diff=function(r,e){let t=We(r)?Ft("git.diff: supplying options as a single string is no longer supported, switch to an array of strings"):ht(["diff",...Fe(arguments)]);return this._runTask(t,ee(arguments))};he.prototype.diffSummary=function(){return this._runTask(tH(Fe(arguments,1)),ee(arguments))};he.prototype.applyPatch=function(r){let e=Oh(r)?OH(xn(r),Fe([].slice.call(arguments,1))):Ft("git.applyPatch requires one or more string patches as the first argument");return this._runTask(e,ee(arguments))};he.prototype.revparse=function(){let r=["rev-parse",...Fe(arguments,!0)];return this._runTask(ht(r,!0),ee(arguments))};he.prototype.clean=function(r,e,t){let n=n4(r),i=n&&r.join("")||dt(r,We)||"",s=Fe([].slice.call(arguments,n?1:0));return this._runTask(t4(i,s),ee(arguments))};he.prototype.exec=function(r){let e={commands:[],format:"utf-8",parser(){typeof r=="function"&&r()}};return this._runTask(e)};he.prototype.checkIgnore=function(r,e){return this._runTask(qH(xn(dt(r,Oh,[]))),ee(arguments))};he.prototype.checkIsRepo=function(r,e){return this._runTask(GU(dt(r,We)),ee(arguments))};function _6(r){return r?[{type:"spawn.before",action(e,t){r.aborted&&t.kill(new vs(void 0,"abort","Abort already signaled"))}},{type:"spawn.after",action(e,t){function n(){t.kill(new vs(void 0,"abort","Abort signal received"))}r.addEventListener("abort",n),t.spawned.on("close",()=>r.removeEventListener("abort",n))}}]:void 0}var x6=jl("","plugin:allowEnvironment");function E6(r,e=!1){let t=new Set(r.map(n=>n.toLowerCase().trim()));return{type:"spawn.options",action(n,i){var o;let s={...(o=n.env)!=null?o:process.env},a=new Set(Object.keys(i.env).map(l=>l.toLowerCase().trim()));for(let l of Object.keys(s)){let c=l.toLowerCase().trim();if(!(!S6(c)||t.has(c))){if(a.has(c))throw new vs(void 0,"allowEnvironment",`Use of "${l}" is blocked by the environment guard - add it to the allowEnvironment option to permit it`);x6("removing ambient guarded environment variable %s",l),delete s[l]}}return{...n,env:{...s,GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS:String(!e)}}}}}function S6(r){let e=r.toLowerCase().trim();return e.startsWith("git_")||Rh(e)}function k6(r={}){return{type:"spawn.args",action(e,{env:t}){for(let n of LA(e,t))if(r[n.category]!==!0)throw new vs(void 0,"unsafe",n.message);return e}}}function C6(r){let e=Fh(r,"-c");return{type:"spawn.args",action(t){return[...e,...t]}}}var QA=(0,da.deferred)().promise;function A6({onClose:r=!0,onExit:e=50}={}){function t(){let i=-1,s={close:(0,da.deferred)(),closeTimeout:(0,da.deferred)(),exit:(0,da.deferred)(),exitTimeout:(0,da.deferred)()},a=Promise.race([r===!1?QA:s.closeTimeout.promise,e===!1?QA:s.exitTimeout.promise]);return n(r,s.close,s.closeTimeout),n(e,s.exit,s.exitTimeout),{close(o){i=o,s.close.done()},exit(o){i=o,s.exit.done()},get exitCode(){return i},result:a}}function n(i,s,a){i!==!1&&(i===!0?s.promise:s.promise.then(()=>NA(i))).then(a.done)}return{type:"spawn.after",async action(i,{spawned:s,close:a}){var u,f;let o=t(),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 NA(50),a(o.exitCode)}catch(d){a(o.exitCode,d)}}}}var BT=jl("","plugin:binary"),T6="Invalid value supplied for custom binary, requires a single string or an array containing either one or two strings",R6="Invalid value supplied for custom binary, restricted characters must be removed or supply the unsafe.allowUnsafeCustomBinary option";function P6(r){return!r||!/^([a-z]:)?([a-z0-9/.\\_~-]+)$/i.test(r)}function JA(r,e){if(r.length<1||r.length>2)throw new vs(void 0,"binary",T6);if(r.some(P6))if(e)BT("permitted unsafe binary %o",r);else throw new vs(void 0,"binary",R6);let[t,n]=r;return{binary:t,prefix:n}}function $6(r,e=["git"],t=!1){let n=JA(xn(e),t);r.on("binary",i=>{n=JA(xn(i),t),BT.info("reconfiguring %o",n)}),r.append("spawn.binary",()=>n.binary),r.append("spawn.args",i=>n.prefix?[n.prefix,...i]:i)}var UT={DISALLOWED_ABBREVIATED:{text:"disallowed abbreviated or ambiguous option",solution:"Unambiguous abbreviated options blocked with unsafe.allowAbbreviatedOptions setting: {message}"},UNKNOWN:{text:"~ unknown ~",solution:void 0}};function I6(r){if(!r)return"UNKNOWN";for(let[e,{text:t}]of Object.entries(UT))if(r.startsWith(`fatal: ${t}`))return e;return"UNKNOWN"}var A0=class extends dr{constructor(e=""){var n,i;let t=I6(e);super(void 0,(i=(n=UT[t].solution)==null?void 0:n.replace("{message}",e))!=null?i:e),this.reason=t}};function F6(r){return!!(r.exitCode&&r.stdErr.length)}function M6(r){return _.concat([...r.stdOut,...r.stdErr])}function O6(r=!1,e=F6,t=M6){return(n,i)=>!r&&n||!e(i)?n:t(i)}function D6(r,e){return r===128&&e.startsWith("fatal:")?new A0(e):new dr(void 0,e)}function eT(r){return{type:"task.error",action(e,t){let n=r(e.error,{stdErr:t.stdErr,stdOut:t.stdOut,exitCode:t.exitCode});return _.isBuffer(n)?{error:D6(t.exitCode,n.toString("utf-8"))}:{error:n}}}}var o0=jl("","plugin:input");function L6(r){return{type:"spawn.after",action(e,{commands:t,input:n,spawned:{stdin:i}}){var a;if(!i)return;let s=(a=r==null?void 0:r([...t]))!=null?a:n;if(!s)return o0("generated zero length content, not writing to stdin");o0("writing %s bytes to stdin",MU(s)),i.on("error",o=>{o.code!=="EPIPE"&&o0("[ERROR] stdin error %o",o)}),i.end(s)}}}var T0=class{constructor(){this.plugins=new Set,this.events=new nT.EventEmitter}on(e,t){this.events.on(e,t)}reconfigure(e,t){this.events.emit(e,t)}append(e,t){let n=fi(this.plugins,{type:e,action:t});return()=>this.plugins.delete(n)}add(e){let t=[];return xn(e).forEach(n=>{n&&this.plugins.add(fi(t,n))}),()=>{t.forEach(n=>{this.plugins.delete(n)})}}exec(e,t,n){let i=t,s=Object.freeze(Object.create(n));for(let a of this.plugins)a.type===e&&(i=a.action(i,s));return i}};function N6(r){let e="--progress",t=["checkout","clone","fetch","pull","push"];return[{type:"spawn.args",action(n,i){return t.includes(i.method)?FU(n,e):n}},{type:"spawn.after",action(n,i){var s;i.commands.includes(e)&&((s=i.spawned.stderr)==null||s.on("data",a=>{let o=/^([\s\S]+?):\s*(\d+)% \((\d+)\/(\d+)\)/.exec(a.toString("utf8"));o&&r({method:i.method,stage:B6(o[1]),progress:ot(o[2]),processed:ot(o[3]),total:ot(o[4])})}))}}]}function B6(r){return String(r.toLowerCase().split(" ",1))||"unknown"}function U6(r){let e=OU(r,["uid","gid"]);return{type:"spawn.options",action(t){return{...e,...t}}}}function H6(){return{type:"spawn.args",action(r){let e=[],t;function n(i){(t=t||[]).push(...i)}for(let i=0;i<r.length;i++){let s=r[i];if(Gi(s)){n(Bl(s));continue}if(s==="--"){n(r.slice(i+1).flatMap(a=>Gi(a)&&Bl(a)||a));break}e.push(s)}return t?[...e,"--",...t.map(String)]:e}}}function G6({block:r,stdErr:e=!0,stdOut:t=!0}){if(r>0)return{type:"spawn.after",action(n,i){var c,u;let s;function a(){s&&clearTimeout(s),s=setTimeout(l,r)}function o(){var f,d;(f=i.spawned.stdout)==null||f.off("data",a),(d=i.spawned.stderr)==null||d.off("data",a),i.spawned.off("exit",o),i.spawned.off("close",o),s&&clearTimeout(s)}function l(){o(),i.kill(new vs(void 0,"timeout","block timeout reached"))}t&&((c=i.spawned.stdout)==null||c.on("data",a)),e&&((u=i.spawned.stderr)==null||u.on("data",a)),i.spawned.on("exit",o),i.spawned.on("close",o),a()}}}var HT=(r,e)=>{var i,s,a;let t=new T0,n=UU(r&&(typeof r=="string"?{baseDir:r}:r)||{},e);if(!sT(n.baseDir))throw new l0(n,"Cannot use simple-git on a directory that does not exist");return Array.isArray(n.config)&&t.add(C6(n.config)),t.add(k6(n.unsafe)),t.add(A6(n.completion)),n.abort&&t.add(_6(n.abort)),n.progress&&t.add(N6(n.progress)),n.timeout&&t.add(G6(n.timeout)),n.spawnOptions&&t.add(U6(n.spawnOptions)),t.add(H6()),t.add(L6(n.input)),t.add(eT(O6(!0))),n.errors&&t.add(eT(n.errors)),$6(t,n.binary,(i=n.unsafe)==null?void 0:i.allowUnsafeCustomBinary),t.add(E6((s=n.allowEnvironment)!=null?s:[],(a=n.unsafe)==null?void 0:a.allowAbbreviatedOptions)),new he(n,t)};var Me=class extends Ol{constructor(t){super(t);this.useDefaultWindowsGitPath=!1}async setGitInstance(t=!1){var n;if(await this.isGitInstalled()){let i=this.app.vault.adapter,s=i.getBasePath(),a=s;this.plugin.settings.basePath&&(await i.exists((0,bs.normalizePath)(this.plugin.settings.basePath))?a=we.join(s,this.plugin.settings.basePath):t||new bs.Notice("ObsidianGit: Base path does not exist")),this.absoluteRepoPath=a;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(we.delimiter)+we.delimiter+u.PATH;u.PATH=b}c&&(u.GIT_DIR=c,u.GIT_WORK_TREE=a);for(let b of l){let[y,k]=b.split("=");y!==void 0&&(u[y]=k)}this.git=HT({baseDir:a,binary:this.plugin.localStorage.getGitPath()||(this.useDefaultWindowsGitPath?fh:void 0),config:["core.quotepath=off"],allowEnvironment:[...Object.keys(u),"SSH_ASKPASS","SSH_ASKPASS_REQUIRE","OBSIDIAN_GIT_CREDENTIALS_INPUT","OBSIDIAN_GIT"],progress:b=>{var y;(y=this.plugin.statusBar)==null||y.displayProgress(this.toGitProgress(b))},unsafe:{allowAbbreviatedOptions:!0,allowUnsafeCustomBinary:!0,allowUnsafeEditor:!0,allowUnsafeAskPass:!0,allowUnsafeConfigEnvCount:!0,allowUnsafeConfigPaths:!0,allowUnsafeCredentialHelper:!0,allowUnsafeGitProxy:!0,allowUnsafeGpgProgram:!0,allowUnsafeHooksPath:!0,allowUnsafeMergeDriver:!0,allowUnsafeSshCommand:!0,allowUnsafePager:!0,allowUnsafeDiffTextConv:!0,allowUnsafeCommandBinaries:!0,allowUnsafeExec:!0,allowUnsafeInclude:!0,allowUnsafeSubmodule:!0,allowUnsafeUrlRewrite:!0}});let f="simple-git",d=",",p=((n=localStorage.debug)!=null?n:"").split(d);if(!p.includes(f)&&!p.includes(`-${f}`)&&(p.push(f),zT.default.enable(p.join(d))),await this.git.env(u).checkIsRepo()){let b=await this.git.revparse("--show-cdup"),y=(0,Xu.resolve)(a+Xu.sep+b);this.absoluteRepoPath=y,await this.git.cwd(y)}let g=we.join(s,this.app.vault.configDir,"plugins","obsidian-git"),w=we.join(g,ro);u.SSH_ASKPASS==null&&(u.SSH_ASKPASS=w),u.SSH_ASKPASS_REQUIRE="force",u.OBSIDIAN_GIT_CREDENTIALS_INPUT=we.join(g,dh),u.SSH_ASKPASS==w&&this.askpass().catch(b=>this.plugin.displayError(b)),u.OBSIDIAN_GIT="1",this.git=this.git.env(u)}}toGitProgress(t){return{action:this.getProgressAction(t.method),stage:t.stage,progress:t.progress,processed:t.processed,total:t.total}}getProgressAction(t){switch(t){case"fetch":return"Fetching";case"push":return"Pushing";case"pull":return"Pulling";case"checkout":return"Checking out";default:return t?t.charAt(0).toUpperCase()+t.slice(1):"Working"}}getRelativeVaultPath(t){let i=this.app.vault.adapter.getBasePath(),s=we.join(this.absoluteRepoPath,t),a=we.relative(i,s);return bs.Platform.isWin&&(a=a.replace(/\\/g,"/")),a}getRelativeRepoPath(t,n=!0){if(n){let s=this.plugin.app.vault.adapter.getBasePath(),a=this.absoluteRepoPath,o=we.join(s,t),l=we.relative(a,o);return bs.Platform.isWin&&(l=l.replace(/\\/g,"/")),l}return t}getVaultPathspec(){if(!this.plugin.settings.limitToVault)return;let t=this.app.vault.adapter,n=we.resolve(t.getBasePath()),i=we.resolve(this.absoluteRepoPath),s=we.relative(i,n);if(!(s===""||s===".."||s.startsWith(".."+we.sep)||we.isAbsolute(s)))return s.split(we.sep).join("/")}async countPathsOutsideVault(t){return(await this.git.raw([...t,"-z"])).split("\0").filter(i=>i&&!this.isPathInsideVault(i)).length}get absPluginConfigPath(){let n=this.app.vault.adapter.getBasePath();return we.join(n,this.app.vault.configDir,"plugins","obsidian-git")}get relPluginConfigPath(){return we.join(this.app.vault.configDir,"plugins","obsidian-git")}async askpass(){let t=this.app.vault.adapter,n=this.app.vault.configDir+"/plugins/obsidian-git/";await this.addAskPassScriptToExclude(),await Pr.writeFile(we.join(this.absPluginConfigPath,ro),PC),await Pr.chmod(we.join(this.absPluginConfigPath,ro),493),this.watchAbortController=new AbortController;let{signal:i}=this.watchAbortController;try{let s=Pr.watch(this.absPluginConfigPath,{signal:i});for await(let a of s){if(a.filename!=dh)continue;let o=n+dh;if(await new Promise(d=>window.setTimeout(d,200)),!await t.exists(o))continue;let l=await t.read(o),c;l.length>60&&(c=new bs.Notice(l,999999));let u=!0;l.contains("Username for")&&(u=!1);let f=await new ft(this.plugin,{allowEmpty:!0,obscure:u,placeholder:l.length>60?"Enter a response to the message.":l}).openAndGetResult();c==null||c.hide(),await t.exists(o)&&await t.write(`${o}.response`,f!=null?f:"")}}catch(s){this.plugin.displayError(s),await Pr.rm(we.join(this.absPluginConfigPath,ro),{force:!0}),await Pr.rm(we.join(this.absPluginConfigPath,`${ro}.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 t=await this.git.revparse(["--path-format=absolute","--git-path","info/exclude"]),n=we.join(this.app.vault.configDir,"plugins","obsidian-git",ro),i=this.getRelativeRepoPath(n,!0);(await Pr.readFile(t,"utf-8")).split(`
|
|
`).some(l=>l.contains(i))||await Pr.appendFile(t,i+`
|
|
`)}catch(t){console.error("Error while adding askpass script to exclude file:",t)}}unload(){var t;(t=this.watchAbortController)==null||t.abort()}async status(t){var u;let n=(u=t==null?void 0:t.path)!=null?u:this.getVaultPathspec(),[i,s,a]=await Promise.all([this.git.status(n!=null?["--",n]:[]),this.getVaultPathspec()==null?0:this.countPathsOutsideVault(["diff","--cached","--name-only","--diff-filter=ACDMRT"]),this.getVaultPathspec()==null?0:this.countPathsOutsideVault(["diff","--name-only","--diff-filter=U"])]),o=i.files.map(f=>{let d=this.formatPath(f);return{path:d.path,from:d.from,index:f.index==="?"?"U":f.index,workingDir:f.working_dir==="?"?"U":f.working_dir,vaultPath:this.getRelativeVaultPath(d.path)}}),l=i.conflicted.map(f=>this.formatPath({path:f}).path),c=new Set(l);return{all:o,changed:o.filter(f=>f.workingDir!==" "&&!c.has(f.path)),staged:o.filter(f=>f.index!==" "&&f.index!="U"),conflicted:l,stagedOutsideVault:s,conflictedOutsideVault:a}}async isMergeInProgress(){let t=await this.git.revparse(["--git-path","MERGE_HEAD"]),n=we.resolve(this.absoluteRepoPath,t.trim());try{return await Pr.access(n),!0}catch(i){if(i instanceof Error&&"code"in i&&i.code==="ENOENT")return!1;throw i}}async submoduleAwareHeadRevisonInContainingDirectory(t){let n=this.getRelativeRepoPath(t),s=["-C",we.dirname(n),"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(t=>{this.git.outputHandler((n,i,s,a)=>{if(!(a.contains("submodule")&&a.contains("foreach")))return;let o="",l=this.absoluteRepoPath;i.on("data",c=>{o+=c.toString("utf8")}),i.on("end",()=>{let u=o.split(`
|
|
`).map(f=>{let d=f.match(/'([^']*)'/);if(d!=null)return l+"/"+d[1]+Xu.sep}).filter(f=>!!f).filter(f=>{if(this.getVaultPathspec()==null)return!0;let d=this.app.vault.adapter,h=we.relative(we.resolve(d.getBasePath()),we.resolve(f));return!(h===".."||h.startsWith(".."+we.sep)||we.isAbsolute(h))});u.reverse(),t(u)})}),this.git.subModule(["foreach","--recursive",""]).then(()=>{this.git.outputHandler(()=>{})},n=>this.plugin.displayError(n))})}formatPath(t){function n(i){if(i!=null)return i.startsWith('"')&&i.endsWith('"')?i.substring(1,i.length-1):i}return t.from!=null?{from:n(t.from),path:n(t.path)}:{path:n(t.path)}}async blame(t,n,i){if(t=this.getRelativeRepoPath(t),!await this.isTracked(t))return"untracked";let s=await this.getSubmoduleOfFile(t),a=s?["-C",s.submodule]:[],o=s?s.relativeFilepath:t;a.push("blame","--porcelain"),i&&a.push("-w");let l=`-C${uh}`;switch(n){case"inactive":break;case"same-commit":a.push("-C",l);break;case"all-commits":a.push("-C","-C",l);break;default:ua(n)}a.push("--",o);let c=await this.git.raw(a);return j6(c)}async isTracked(t){let n=await this.getSubmoduleOfFile(t),i=n?["-C",n.submodule]:[],s=n?n.relativeFilepath:t;return i.push("ls-files","--",s),this.git.raw(i).then(a=>a.trim()!=="")}async commitAll({message:t,amend:n}){return this.withGitOperation(2,async()=>{if(this.plugin.settings.updateSubmodules){let a=await this.getSubmodulePaths();for(let o of a)await this.git.cwd({path:o,root:!1}).add("-A"),await this.git.cwd({path:o,root:!1}).commit(await this.formatCommitMessage(t))}let i=this.getVaultPathspec();await this.git.add(i==null?"-A":["-A","--",i]);let s=await this.git.commit(await this.formatCommitMessage(t),n?["--amend"]:[]);return this.app.workspace.trigger("obsidian-git:head-change"),this.getCommittedFilesCount(s.summary.changes)})}async commit({message:t,amend:n}){return this.withGitOperation(2,async()=>{try{let i=await this.git.commit(await this.formatCommitMessage(t),n?["--amend"]:[]);return this.app.workspace.trigger("obsidian-git:head-change"),this.getCommittedFilesCount(i.summary.changes)}catch(i){return this.throwConflictError(i)}})}async getCommittedFilesCount(t){return t!==0?t:(await this.git.diffSummary(["HEAD^1","HEAD"])).changed}async stage(t,n){t=this.getRelativeRepoPath(t,n),await this.git.add(["--",t])}async stageAll({dir:t}){let n=t!=null?t:this.getVaultPathspec();await this.git.add(n==null?"-A":["-A","--",n])}async unstageAll({dir:t}){let n=t!=null?t:this.getVaultPathspec();await this.git.reset(n!=null?["--",n]:[])}async unstage(t,n){t=this.getRelativeRepoPath(t,n),await this.git.reset(["--",t])}async discard(t){await this.isTracked(t)&&await this.git.checkout(["--progress","--",t])}async applyPatch(t){let n=we.join(this.relPluginConfigPath,"patch");await this.app.vault.adapter.write(n,t),await this.git.applyPatch(n,{"--cached":null,"--unidiff-zero":null,"--whitespace":"nowarn"}),await this.app.vault.adapter.remove(n)}async getUntrackedPaths(t){var a;let n=(a=t==null?void 0:t.path)!=null?a:this.getVaultPathspec(),i=[];return n!=null&&i.push("--",n),(await this.git.clean(Ku.RECURSIVE+Ku.DRY_RUN,i)).paths}async hashObject(t){t=this.getRelativeRepoPath(t);let n=await this.getSubmoduleOfFile(t),i=n?["-C",n.submodule]:[],s=n?n.relativeFilepath:t;return i.push("hash-object","--",s),this.git.raw(i)}async discardAll({dir:t}){var n;return this.discard((n=t!=null?t:this.getVaultPathspec())!=null?n:".")}async pull(){return this.withGitOperation(1,async()=>{try{if(this.plugin.settings.updateSubmodules){let s=["update","--remote","--merge","--recursive"],a=this.getVaultPathspec();a!=null&&s.push("--",a),await this.git.subModule(s)}let t=await this.branchInfo();if(!t.current)throw new Error("No current branch found. Cannot pull.");let n=await this.git.revparse([t.current]);if(!t.tracking)return this.plugin.log(this.plugin.settings.updateSubmodules?"No tracking branch found. Ignoring pull of main repo and updated submodules only.":"No tracking branch found. Ignoring pull."),{status:"skipped",reason:"no-upstream"};await this.git.fetch();let i=await this.git.revparse([t.tracking]);if(n!==i){if(this.plugin.settings.syncMethod==="merge"||this.plugin.settings.syncMethod==="rebase")try{let c=[t.tracking];switch(this.plugin.settings.mergeStrategy!=="none"&&c.push(`--strategy-option=${this.plugin.settings.mergeStrategy}`),this.plugin.settings.syncMethod){case"merge":await this.git.merge(c);break;case"rebase":{this.plugin.settings.rebaseAutoStash==="enabled"?c.push("--autostash"):this.plugin.settings.rebaseAutoStash==="disabled"&&c.push("--no-autostash"),await this.git.rebase(c);break}}}catch(c){await this.throwConflictError(c)}else this.plugin.settings.syncMethod==="reset"&&(await this.git.raw(["update-ref",`refs/heads/${t.current}`,i]),await this.git.reset([]));let s=await this.git.revparse([t.current]);if(s===n)return{status:"up-to-date"};this.app.workspace.trigger("obsidian-git:head-change");let o=(await this.git.diff([`${n}..${s}`,"--name-only"])).split(/\r\n|\r|\n/).filter(c=>c.length>0),l=o.filter(c=>this.isPathInsideVault(c));return{status:"updated",outsideVault:o.length-l.length,files:l.map(c=>({path:c,workingDir:"P",vaultPath:this.getRelativeVaultPath(c)}))}}else return{status:"up-to-date"}}catch(t){this.convertErrors(t)}})}async throwConflictError(t){try{let n=await this.git.status();if(n.conflicted.length>0)throw new zn(n.conflicted,t)}catch(n){if(n instanceof zn)throw n}throw t}async push(){return this.withGitOperation(3,async()=>{try{if(this.plugin.settings.updateSubmodules)if(this.getVaultPathspec()==null)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`]);else{let s=await this.getSubmodulePaths();for(let a of s){let o=this.git.cwd({path:a,root:!1}),l=await o.status();l.tracking&&l.ahead>0&&await o.push()}}let t=await this.getCurrentBranch();if(!t)return{status:"blocked",reason:"no-branch"};let n=await this.getPushTarget(t);if(!n&&this.plugin.settings.updateSubmodules)return this.plugin.log("No push target found. Ignoring push of main repo and updating submodules only."),{status:"skipped",reason:"no-upstream"};let i=null;return n!=null&&n.exists&&(i=(await this.git.diffSummary([t,n.ref,"--"])).changed),await this.git.push(),i===0?{status:"up-to-date"}:{status:"pushed",files:i}}catch(t){this.convertErrors(t)}})}async getPushTarget(t){let n=(await this.git.raw(["for-each-ref","--format=%(push)",`refs/heads/${t}`])).trim();if(!n)return;let i=(await this.git.raw(["for-each-ref","--format=%(refname)",n])).trim();return{ref:n,exists:i===n}}async squashAllUnpushedCommits(){let t=await this.git.status();if(!t.current)return;let n=await this.getPushTarget(t.current);if(!(n!=null&&n.exists)||(await this.git.raw(["diff","--cached","--name-only"])).trim().length>0)return;let s=`${n.ref}..HEAD`;if(parseInt((await this.git.raw(["rev-list","--count",s])).trim(),10)<2||parseInt((await this.git.raw(["rev-list","--merges","--count",s])).trim(),10)>0)return;let l=(await this.git.raw(["rev-parse","HEAD"])).trim();await this.withGitOperation(2,async()=>{await this.git.reset(["--soft",n.ref]),await this.git.raw(["commit","-C",l]),this.app.workspace.trigger("obsidian-git:head-change")})}async getUnpushedCommits(){let t=await this.getCurrentBranch();if(t==null)return 0;let n=await this.getPushTarget(t);return n?n.exists?(await this.git.diffSummary([t,n.ref,"--"])).changed:(this.plugin.log(`Push target ${n.ref} does not exist on the remote yet.`),0):0}async canPush(){if(this.plugin.settings.updateSubmodules===!0)return!0;let t=await this.getCurrentBranch();if(!t)return this.plugin.log("During canPush check, no current branch found."),!1;let n=await this.getPushTarget(t);if(!n)return!1;if(!n.exists)return!0;let[i,s]=await Promise.all([this.git.revparse([t]),this.git.revparse([n.ref])]);return i!==s}async checkRequirements(){return await this.isGitInstalled()?await this.git.checkIsRepo()?"valid":"missing-repo":"missing-git"}async getCurrentBranch(){return(await this.git.raw(["symbolic-ref","--quiet","--short","HEAD"])).trim()||void 0}async branchInfo(){let[t,n]=await Promise.all([this.getCurrentBranch(),this.git.raw(["branch","--list","--no-color","--format=%(refname)%00%(upstream:short)"])]),i,s=[];for(let a of n.split(`
|
|
`)){let[o,l]=a.split("\0");if(!(o!=null&&o.startsWith("refs/heads/")))continue;let c=o.slice(11);s.push(c),c===t&&(i=l||void 0)}return{current:t,tracking:i,branches:s}}async getRemoteUrl(t){try{return await this.git.remote(["get-url",t])||void 0}catch(n){if(String(n).contains(t))return;throw n}}async log(t,n=!0,i,s){let a;t&&(a=this.getRelativeRepoPath(t,n));let o={file:a,maxCount:i,"--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(t,n,i=!0){let s=this.getRelativeRepoPath(n,i);return this.git.show(["--textconv",t+":"+s])}async getLocalBranchUpstream(t){try{let i=(await this.git.raw(["rev-parse","--abbrev-ref",`${t}@{upstream}`])).trim();return i.length>0?i:void 0}catch(n){return}}getAvailableLocalBranchName(t,n,i){let s=t;if(!i.includes(s))return s;let a=`${t}-${n}`,o=a,l=0;for(;i.includes(o);)l+=1,o=`${a}-${l}`;return o}async checkout(t,n){return this.withGitOperation(5,async()=>{if(n){let i=`${n}/${t}`,s=await this.branchInfo();if(s.branches.includes(t)&&await this.getLocalBranchUpstream(t)===i)await this.git.checkout(t);else{let l=this.getAvailableLocalBranchName(t,n,s.branches);await this.git.checkout(["-b",l,i])}}else await this.git.checkout(t);if(this.plugin.settings.submoduleRecurseCheckout){let i=await this.getSubmodulePaths();for(let s of i){let a=await this.git.cwd({path:s,root:!1}).branch();Object.keys(a.branches).includes(t)&&await this.git.cwd({path:s,root:!1}).checkout(t)}}})}async createBranch(t){await this.git.checkout(["-b",t])}async deleteBranch(t,n){await this.git.branch([n?"-D":"-d",t])}async branchIsMerged(t){return!(await this.git.branch(["--no-merged"])).all.contains(t)}async init(){await this.git.init(!1)}async clone(t,n,i){await this.git.clone(t,we.join(this.app.vault.adapter.getBasePath(),n),i?["--depth",`${i}`]:[]),await this.setGitInstance()}async setConfig(t,n){n==null?await this.getConfig(t,"local")!==void 0&&await this.git.raw(["config","--local","--unset-all",t]):await this.git.addConfig(t,n,!1,"local")}async getConfig(t,n="local"){var s;return(s=(await this.git.getConfig(t.toLowerCase(),n=="all"?void 0:n)).value)!=null?s:void 0}async fetch(t){return this.withGitOperation(4,async()=>{await this.git.fetch(t!=null?[t]:[])})}async setRemote(t,n){(await this.getRemotes()).includes(t)?await this.git.remote(["set-url",t,n]):await this.git.remote(["add",t,n])}async getRemoteBranches(t){let n=await this.git.branch(["-r","--list",`${t}*`]),i=[];for(let s in n.branches)i.push(n.branches[s].name);return i}async getRemotes(){let t=await this.git.remote([]);return t?t.trim().split(`
|
|
`):[]}async removeRemote(t){await this.git.removeRemote(t)}async updateUpstreamBranch(t){try{await this.git.branch(["--set-upstream-to",t])}catch(n){try{await this.git.branch(["--set-upstream",t])}catch(i){let[s,a]=fa(t),o=await this.branchInfo();await this.git.push(["--set-upstream",s,`${o.current}:${a}`])}}}updateGitPath(t){return this.setGitInstance()}updateBasePath(t){return this.setGitInstance(!0)}async getDiffString(t,n=!1,i){return n?await this.git.diff(["--cached","--",t]):i?await this.git.show([`${i}`,"--",t]):await this.git.diff(["--",t])}async diff(t,n,i){return await this.git.diff([`${n}..${i}`,"--",t])}async rawCommand(t){let n=t.split(" "),i=n[0];return i===void 0?"":await this.git.raw(i,...n.slice(1))}async getSubmoduleOfFile(t){if(!await this.app.vault.adapter.exists(we.dirname(t)))return;let n=await this.git.raw(["-C",we.dirname(t),"rev-parse","--show-toplevel"],l=>l&&console.warn("get-submodule-of-file",l==null?void 0:l.message));if(n=n.trim(),(await this.git.raw(["-C",we.dirname(t),"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(we.normalize(t)),o=we.relative(n,a);return{submodule:n,relativeFilepath:o}}async getLastCommitTime(){try{let t=await this.git.log({n:1});if(t!=null&&t.latest!=null)return new Date(t.latest.date)}catch(t){if(t instanceof dr){if(t.message.contains("does not have any commits yet"))return}else throw t}}async isGitInstalled(){let t=this.plugin.localStorage.getGitPath(),n=await zu(t||"git",["--version"],{});if(n.error)if(bs.Platform.isWin&&!t){this.plugin.log(`Git not found in PATH. Checking standard installation path(${fh}) of Git for Windows.`);let i=await zu(fh,["--version"]);if(i.error)return console.error(i.error),!1;this.useDefaultWindowsGitPath=!0}else return console.error(n.error),!1;else this.useDefaultWindowsGitPath=!1;return!0}convertErrors(t){if(t instanceof dr){let n=String(t.message);if(n.contains("Could not resolve host")||n.contains("Unable to resolve host")||n.contains("Unable to open connection")||n.match(/ssh: connect to host .*? port .*?: Operation timed out/)!=null||n.match(/ssh: connect to host .*? port .*?: Network is unreachable/)!=null||n.match(/ssh: connect to host .*? port .*?: Undefined error: 0/)!=null)throw new $l(n)}throw t}async isFileTrackedByLFS(t){try{return(await this.git.raw(["check-attr","filter",t])).includes("filter: lfs")}catch(n){let i=n instanceof Error?n.message:String(n);throw new Error(`Error checking LFS status: ${i}`)}}},VT={hash:"000000",isZeroCommit:!0,summary:""};function j6(r){let t=r.replaceAll(`\r
|
|
`,`
|
|
`).split(`
|
|
`),n={commits:new Map,hashPerLine:[void 0],originalFileLineNrPerLine:[void 0],finalFileLineNrPerLine:[void 0],groupSizePerStartingLine:new Map},i=1;for(let s=0;s<t.length;){let a=t[s];if(GT(a)){let o=a.split(" "),l=z6(o,i,n);for(s++;GT(t[s]);s++){let c=t[s].split(" ");V6(c,n,i)}W6(n.commits.get(l)),i+=1}else if(!(a===""&&s===t.length-1))throw Error(`Expected non-whitespace line or EOF, but found: ${a}`);s++}return n}function z6(r,e,t){let n=r[0],i=r[1],s=r[2];if(n===void 0||i===void 0||s===void 0)throw Error(`Invalid git-blame line info: ${r.join(" ")}`);if(t.hashPerLine.push(n),t.originalFileLineNrPerLine.push(parseInt(i)),t.finalFileLineNrPerLine.push(parseInt(s)),r.length>=4&&t.groupSizePerStartingLine.set(e,parseInt(r[3])),parseInt(s)!==e)throw Error(`git-blame output is out of order: ${e} vs ${s}`);return n}function V6(r,e,t){let n=r[0],i=r.slice(1).join(" "),s=e.hashPerLine[t];if(s===void 0)throw Error(`No commit hash found for git-blame line ${t}`);let a=e.commits.get(s)||{hash:s,author:{},committer:{},previous:{}};switch(n){case"summary":a.summary=i;break;case"author":a.author.name=i;break;case"author-mail":a.author.email=jT(i);break;case"author-time":a.author.epochSeconds=parseInt(i);break;case"author-tz":a.author.tz=i;break;case"committer":a.committer.name=i;break;case"committer-mail":a.committer.email=jT(i);break;case"committer-time":a.committer.epochSeconds=parseInt(i);break;case"committer-tz":a.committer.tz=i;break;case"previous":a.previous.commitHash=i;break;case"filename":a.previous.filename=i;break;case void 0:break}e.commits.set(s,a)}function W6(r){if(r.summary===void 0)throw Error(`Summary not provided for commit: ${r.hash}`);N0(r.author)&&(r.author=void 0),N0(r.committer)&&(r.committer=void 0),N0(r.previous)&&(r.previous=void 0),r.isZeroCommit=!!r.hash.match(/^0*$/)}function N0(r){return!r||Object.keys(r).length===0}function GT(r){return r===void 0?!1:r.length>0&&r[0].trim()===r[0]}function jT(r){let e=r.startsWith("<")?r.substring(1):r;return e.endsWith(">")?e.substring(0,e.length-1):e}m();var y2=require("@codemirror/state");m();var B0=class{constructor(){this.eventsPerFilepath=new Map;this.init()}ifFilepathDefinedTransformSubscribers(e,t){if(e)return this.ensureInitialized(e),t(this.eventsPerFilepath.get(e))}forEachSubscriber(e){this.eventsPerFilepath.forEach(t=>t.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()}},Wn=new B0;m();var Xh=require("@codemirror/state");m();m();m();var q6="input is invalid type",WT="finalize already called",Y6=typeof ArrayBuffer!="undefined",U0=function(r){var e=typeof r;if(e==="string")return[r,!0];if(Array.isArray(r))return[r,!1];if(Y6&&r){if(r.constructor===ArrayBuffer)return[new Uint8Array(r),!1];if(ArrayBuffer.isView(r))return[r,!1]}throw new Error(q6)};var K="0123456789abcdef".split(""),Z6=[-2147483648,8388608,32768,128],di=[24,16,8,0],qh=[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],Yh=["hex","array","digest","arrayBuffer"],tr=[],qT=function(r,e){return function(t){return new rr(e,!0).update(t)[r]()}},ZT=function(r){var e=qT("hex",r);e.create=function(){return new rr(r)},e.update=function(i){return e.create().update(i)};for(var t=0;t<Yh.length;++t){var n=Yh[t];e[n]=qT(n,r)}return e},YT=function(r,e){return function(t,n){return new Zh(t,e,!0).update(n)[r]()}},KT=function(r){var e=YT("hex",r);e.create=function(i){return new Zh(i,r)},e.update=function(i,s){return e.create(i).update(s)};for(var t=0;t<Yh.length;++t){var n=Yh[t];e[n]=YT(n,r)}return e};function rr(r,e){e?(tr[0]=tr[16]=tr[1]=tr[2]=tr[3]=tr[4]=tr[5]=tr[6]=tr[7]=tr[8]=tr[9]=tr[10]=tr[11]=tr[12]=tr[13]=tr[14]=tr[15]=0,this.blocks=tr):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],r?(this.h0=3238371032,this.h1=914150663,this.h2=812702999,this.h3=4144912697,this.h4=4290775857,this.h5=1750603025,this.h6=1694076839,this.h7=3204075428):(this.h0=1779033703,this.h1=3144134277,this.h2=1013904242,this.h3=2773480762,this.h4=1359893119,this.h5=2600822924,this.h6=528734635,this.h7=1541459225),this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0,this.is224=r}rr.prototype.update=function(r){if(this.finalized)throw new Error(WT);var e=U0(r);r=e[0];for(var t=e[1],n,i=0,s,a=r.length,o=this.blocks;i<a;){if(this.hashed&&(this.hashed=!1,o[0]=this.block,this.block=o[16]=o[1]=o[2]=o[3]=o[4]=o[5]=o[6]=o[7]=o[8]=o[9]=o[10]=o[11]=o[12]=o[13]=o[14]=o[15]=0),t)for(s=this.start;i<a&&s<64;++i)n=r.charCodeAt(i),n<128?o[s>>>2]|=n<<di[s++&3]:n<2048?(o[s>>>2]|=(192|n>>>6)<<di[s++&3],o[s>>>2]|=(128|n&63)<<di[s++&3]):n<55296||n>=57344?(o[s>>>2]|=(224|n>>>12)<<di[s++&3],o[s>>>2]|=(128|n>>>6&63)<<di[s++&3],o[s>>>2]|=(128|n&63)<<di[s++&3]):(n=65536+((n&1023)<<10|r.charCodeAt(++i)&1023),o[s>>>2]|=(240|n>>>18)<<di[s++&3],o[s>>>2]|=(128|n>>>12&63)<<di[s++&3],o[s>>>2]|=(128|n>>>6&63)<<di[s++&3],o[s>>>2]|=(128|n&63)<<di[s++&3]);else for(s=this.start;i<a&&s<64;++i)o[s>>>2]|=r[i]<<di[s++&3];this.lastByteIndex=s,this.bytes+=s-this.start,s>=64?(this.block=o[16],this.start=s-64,this.hash(),this.hashed=!0):this.start=s}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this};rr.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var r=this.blocks,e=this.lastByteIndex;r[16]=this.block,r[e>>>2]|=Z6[e&3],this.block=r[16],e>=56&&(this.hashed||this.hash(),r[0]=this.block,r[16]=r[1]=r[2]=r[3]=r[4]=r[5]=r[6]=r[7]=r[8]=r[9]=r[10]=r[11]=r[12]=r[13]=r[14]=r[15]=0),r[14]=this.hBytes<<3|this.bytes>>>29,r[15]=this.bytes<<3,this.hash()}};rr.prototype.hash=function(){var r=this.h0,e=this.h1,t=this.h2,n=this.h3,i=this.h4,s=this.h5,a=this.h6,o=this.h7,l=this.blocks,c,u,f,d,h,p,g,w,b,y,k;for(c=16;c<64;++c)h=l[c-15],u=(h>>>7|h<<25)^(h>>>18|h<<14)^h>>>3,h=l[c-2],f=(h>>>17|h<<15)^(h>>>19|h<<13)^h>>>10,l[c]=l[c-16]+u+l[c-7]+f<<0;for(k=e&t,c=0;c<64;c+=4)this.first?(this.is224?(w=300032,h=l[0]-1413257819,o=h-150054599<<0,n=h+24177077<<0):(w=704751109,h=l[0]-210244248,o=h-1521486534<<0,n=h+143694565<<0),this.first=!1):(u=(r>>>2|r<<30)^(r>>>13|r<<19)^(r>>>22|r<<10),f=(i>>>6|i<<26)^(i>>>11|i<<21)^(i>>>25|i<<7),w=r&e,d=w^r&t^k,g=i&s^~i&a,h=o+f+g+qh[c]+l[c],p=u+d,o=n+h<<0,n=h+p<<0),u=(n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10),f=(o>>>6|o<<26)^(o>>>11|o<<21)^(o>>>25|o<<7),b=n&r,d=b^n&e^w,g=o&i^~o&s,h=a+f+g+qh[c+1]+l[c+1],p=u+d,a=t+h<<0,t=h+p<<0,u=(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10),f=(a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7),y=t&n,d=y^t&r^b,g=a&o^~a&i,h=s+f+g+qh[c+2]+l[c+2],p=u+d,s=e+h<<0,e=h+p<<0,u=(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10),f=(s>>>6|s<<26)^(s>>>11|s<<21)^(s>>>25|s<<7),k=e&t,d=k^e&n^y,g=s&a^~s&o,h=i+f+g+qh[c+3]+l[c+3],p=u+d,i=r+h<<0,r=h+p<<0,this.chromeBugWorkAround=!0;this.h0=this.h0+r<<0,this.h1=this.h1+e<<0,this.h2=this.h2+t<<0,this.h3=this.h3+n<<0,this.h4=this.h4+i<<0,this.h5=this.h5+s<<0,this.h6=this.h6+a<<0,this.h7=this.h7+o<<0};rr.prototype.hex=function(){this.finalize();var r=this.h0,e=this.h1,t=this.h2,n=this.h3,i=this.h4,s=this.h5,a=this.h6,o=this.h7,l=K[r>>>28&15]+K[r>>>24&15]+K[r>>>20&15]+K[r>>>16&15]+K[r>>>12&15]+K[r>>>8&15]+K[r>>>4&15]+K[r&15]+K[e>>>28&15]+K[e>>>24&15]+K[e>>>20&15]+K[e>>>16&15]+K[e>>>12&15]+K[e>>>8&15]+K[e>>>4&15]+K[e&15]+K[t>>>28&15]+K[t>>>24&15]+K[t>>>20&15]+K[t>>>16&15]+K[t>>>12&15]+K[t>>>8&15]+K[t>>>4&15]+K[t&15]+K[n>>>28&15]+K[n>>>24&15]+K[n>>>20&15]+K[n>>>16&15]+K[n>>>12&15]+K[n>>>8&15]+K[n>>>4&15]+K[n&15]+K[i>>>28&15]+K[i>>>24&15]+K[i>>>20&15]+K[i>>>16&15]+K[i>>>12&15]+K[i>>>8&15]+K[i>>>4&15]+K[i&15]+K[s>>>28&15]+K[s>>>24&15]+K[s>>>20&15]+K[s>>>16&15]+K[s>>>12&15]+K[s>>>8&15]+K[s>>>4&15]+K[s&15]+K[a>>>28&15]+K[a>>>24&15]+K[a>>>20&15]+K[a>>>16&15]+K[a>>>12&15]+K[a>>>8&15]+K[a>>>4&15]+K[a&15];return this.is224||(l+=K[o>>>28&15]+K[o>>>24&15]+K[o>>>20&15]+K[o>>>16&15]+K[o>>>12&15]+K[o>>>8&15]+K[o>>>4&15]+K[o&15]),l};rr.prototype.toString=rr.prototype.hex;rr.prototype.digest=function(){this.finalize();var r=this.h0,e=this.h1,t=this.h2,n=this.h3,i=this.h4,s=this.h5,a=this.h6,o=this.h7,l=[r>>>24&255,r>>>16&255,r>>>8&255,r&255,e>>>24&255,e>>>16&255,e>>>8&255,e&255,t>>>24&255,t>>>16&255,t>>>8&255,t&255,n>>>24&255,n>>>16&255,n>>>8&255,n&255,i>>>24&255,i>>>16&255,i>>>8&255,i&255,s>>>24&255,s>>>16&255,s>>>8&255,s&255,a>>>24&255,a>>>16&255,a>>>8&255,a&255];return this.is224||l.push(o>>>24&255,o>>>16&255,o>>>8&255,o&255),l};rr.prototype.array=rr.prototype.digest;rr.prototype.arrayBuffer=function(){this.finalize();var r=new ArrayBuffer(this.is224?28:32),e=new DataView(r);return e.setUint32(0,this.h0),e.setUint32(4,this.h1),e.setUint32(8,this.h2),e.setUint32(12,this.h3),e.setUint32(16,this.h4),e.setUint32(20,this.h5),e.setUint32(24,this.h6),this.is224||e.setUint32(28,this.h7),r};function Zh(r,e,t){var n,i=U0(r);if(r=i[0],i[1]){var s=[],a=r.length,o=0,l;for(n=0;n<a;++n)l=r.charCodeAt(n),l<128?s[o++]=l:l<2048?(s[o++]=192|l>>>6,s[o++]=128|l&63):l<55296||l>=57344?(s[o++]=224|l>>>12,s[o++]=128|l>>>6&63,s[o++]=128|l&63):(l=65536+((l&1023)<<10|r.charCodeAt(++n)&1023),s[o++]=240|l>>>18,s[o++]=128|l>>>12&63,s[o++]=128|l>>>6&63,s[o++]=128|l&63);r=s}r.length>64&&(r=new rr(e,!0).update(r).array());var c=[],u=[];for(n=0;n<64;++n){var f=r[n]||0;c[n]=92^f,u[n]=54^f}rr.call(this,e,t),this.update(u),this.oKeyPad=c,this.inner=!0,this.sharedMemory=t}Zh.prototype=new rr;Zh.prototype.finalize=function(){if(rr.prototype.finalize.call(this),this.inner){this.inner=!1;var r=this.array();rr.call(this,this.is224,this.sharedMemory),this.update(this.oKeyPad),this.update(r),rr.prototype.finalize.call(this)}};var ys=ZT(),H0=ZT(!0);ys.sha256=ys;ys.sha224=H0;ys.hmac=KT();H0.hmac=KT(!0);function XT(r,e,t){if(!(r===void 0||e===void 0||t===void 0))return`head${r}-obj${e}-path${t}`}var QT=Xh.StateEffect.define();function JT(r,e,t){return t.update({effects:QT.of({key:r,la:e,lineOffsetsFromUnsavedChanges:new Map})})}var zl=Xh.StateField.define({create:r=>{},update:(r,e)=>{for(let t of e.effects)if(t.is(QT))return t.value;return K6(e,r)},compare:(r,e)=>(r==null?void 0:r.key)===(e==null?void 0:e.key)});function Qh(r){var s;let e=ys.create();if(!r)return e;let{la:t,key:n,lineOffsetsFromUnsavedChanges:i}=r;e.update(t==="untracked"?"t":"f"),e.update(n);for(let[a,o]of(s=i.entries())!=null?s:[])e.update([a,o]);return e}var Kh={get:void 0,save:void 0};function e2(r,e){Kh.get=r,Kh.save=e}function Jh(r){var e,t;return(t=(e=Qu(r.coloringMaxAge))==null?void 0:e.asDays())!=null?t:Qu(Yr.lineAuthor.coloringMaxAge).asDays()}function K6(r,e){if(e)return r.changes.empty||r.changes.iterChanges((t,n,i,s)=>{var p;let a=r.startState.doc,{newDoc:o}=r,l=a.lineAt(t).number,c=a.lineAt(n).number,u=o.lineAt(i).number,f=o.lineAt(s).number,d=c-l+1,h=f-u+1;for(let g=u;g<=f;g++){let w=(p=e.lineOffsetsFromUnsavedChanges.get(g))!=null?p:0,b=f===g,y=h-d;b&&(w+=y),e.lineOffsetsFromUnsavedChanges.set(g,w)}}),e}m();function t2(){Vl=void 0,G0=[],ep=0,rp.clear(),np.clear(),Wl.clear()}var Vl,tp=()=>Vl;function r2(r,e){var i;let t=e.length;if(t<((i=Vl==null?void 0:Vl.length)!=null?i:0))return;Vl={gutter:r,length:t,text:e};let n=At.plugin.localStorage.getGutterSpacingFallbackLength();t!==n&&At.plugin.localStorage.setGutterSpacingFallbackLength(t)}var G0=[],X6=15,ep=0;function n2(r){G0[ep]=r,ep=(ep+1)%X6}function i2(){return pA(G0)}var rp=new Map,np=new Map,Wl=new Set;m();var w2=require("@codemirror/state"),v2=require("@codemirror/view");m();var W0=require("@codemirror/view");var ql=require("obsidian");m();m();var ip={x:-10,y:-10};function s2(){ip.x===-10&&window.addEventListener("mousedown",r=>{ip.x=r.clientX,ip.y=r.clientY})}function a2(){for(let r of Wl)if(Q6(r,ip))return r}function Q6(r,e){let{x:t,y:n,width:i,height:s}=r.getBoundingClientRect();return t<=e.x&&e.x<=t+i&&n<=e.y&&e.y<=n+s}var o2="data-commit";function l2(r,e,t){if(e.hasFocus())return;let n=a2();if(!n)return;let i=e5(n);i&&(!i.isZeroCommit&&!i.isWaitingGutter&&J6(i,r),j0("showCommitHash",r),j0("authorDisplay",r),j0("dateTimeFormatOptions",r))}function J6(r,e){e.addItem(t=>t.setTitle("Copy commit hash").setIcon("copy").setSection("obs-git-line-author-copy").onClick(n=>navigator.clipboard.writeText(r.hash)))}function j0(r,e){var l,c;let t,n,i=At.plugin.settings.lineAuthor,s=i[r],a=typeof s=="boolean"?s:s!=="hide",o=Yr.lineAuthor[r];if(r==="showCommitHash")t="Show commit hash",n=s;else if(r==="authorDisplay"){let u=(l=i.lastShownAuthorDisplay)!=null?l:o;t="Show author "+(a?s:u),n=a?"hide":u}else if(r==="dateTimeFormatOptions"){let u=(c=i.lastShownDateTimeFormatOptions)!=null?c:o;t="Show "+(a?s:u),t+=t.contains("date")?"":" date",n=a?"hide":u}else ua(r);e.addItem(u=>u.setTitle(t).setSection("obs-git-line-author-configure").setChecked(a).onClick(f=>{var d,h;return(h=(d=At.plugin)==null?void 0:d.settingsTab)==null?void 0:h.lineAuthorSettingHandler(r,n)}))}function c2(r,e,t){t.setAttr(o2,JSON.stringify({hash:r.hash,isZeroCommit:r.isZeroCommit,isWaitingGutter:e}))}function e5(r){let e=r.getAttr(o2);return e?JSON.parse(e):void 0}m();function ap(r,e){return r==="oldest"?sp(0,!1,e).color:sp(void 0,!0,e).color}function sp(r,e,t){let n=Jh(t),i=Date.now()/1e3,s=r!=null?r:0,o=(e?0:i-s)/60/60/24,l=Math.pow(Math.clamp(o/n,0,1),1/2.3),c=t5(),u=t.colorNew,f=t.colorOld,d=c?.4:1,h=z0(u.r,f.r,l)*d,p=z0(u.g,f.g,l)*d,g=z0(u.b,f.b,l)*d;return{color:`rgba(${h},${p},${g},${c?.75:.25})`,daysSinceCommit:o}}function z0(r,e,t){return r+(e-r)*t}function t5(){var r,e,t;return(t=(e=(r=At.plugin)==null?void 0:r.app)==null?void 0:e.isDarkMode())!=null?t:!1}function u2(r){activeDocument.body.style.setProperty("--obs-git-gutter-text",r.textColorCss)}m();function f2(r,e,t){let n;for(let i=e;i<=t;i++){let s=r.hashPerLine[i];if(s===void 0)continue;let a=r.commits.get(s);(!n||a.isZeroCommit||r5(a,n))&&(n=a)}return n}function r5(r,e){var i,s,a,o;let t=(s=(i=r.author)==null?void 0:i.epochSeconds)!=null?s:0,n=(o=(a=e.author)==null?void 0:a.epochSeconds)!=null?o:0;return t>n}var h2=require("node:util");var d2="-",n5="+",i5=3,s5="*",a5=/\S/g,o5="%",Yl=class r extends W0.GutterMarker{constructor(t){super();this.text=t}eq(t){return t instanceof r&&this.text===t.text}toDOM(){return activeDocument.createTextNode(this.text)}destroy(t){}},V0=class extends W0.GutterMarker{constructor(t,n,i,s,a,o){super();this.lineAuthoring=t;this.startLine=n;this.endLine=i;this.key=s;this.settings=a;this.options=o;this.point=!1;this.elementClass="obs-git-blame-gutter"}eq(t){return this.key===(t==null?void 0:t.key)&&this.startLine===(t==null?void 0:t.startLine)&&this.endLine===(t==null?void 0:t.endLine)&&(this==null?void 0:this.options)===(t==null?void 0:t.options)}toDOM(){var t;return this.precomputedDomProvider=(t=this.precomputedDomProvider)!=null?t:this.computeDom(),this.precomputedDomProvider()}destroy(t){t&&(activeDocument.body.contains(t)||Wl.delete(t))}computeDom(){let t=f2(this.lineAuthoring,this.startLine,this.endLine),n=t.isZeroCommit?"":this.renderNonZeroCommit(t);return!t.isZeroCommit&&this.options!=="waiting-for-result"?r2(this,n):n=this.adaptTextForFakeCommit(t,n,this.options),this.createHtmlNode(t,n,this.options==="waiting-for-result")}createHtmlNode(t,n,i){var c,u,f,d,h,p;let s=window.createDiv();s.setText(n);let{color:a,daysSinceCommit:o}=sp((c=t==null?void 0:t.author)==null?void 0:c.epochSeconds,t==null?void 0:t.isZeroCommit,this.settings);s.style.backgroundColor=a,s.setAttribute("data-author",(f=(u=t==null?void 0:t.author)==null?void 0:u.name)!=null?f:""),s.setAttribute("data-author-email",(h=(d=t==null?void 0:t.author)==null?void 0:d.email)!=null?h:""),(0,ql.setTooltip)(s,(p=t==null?void 0:t.summary)!=null?p:""),c2(t,i,s);function l(){let g=s.cloneNode(!0);return Wl.add(g),i||n2(o),g}return l}renderNonZeroCommit(t){let n=this.settings.showCommitHash?this.renderHash(t):"",i=this.settings.authorDisplay==="hide"?"":`${this.renderAuthorName(t,this.settings.authorDisplay)}`,s=this.settings.dateTimeFormatOptions==="hide"?"":`${this.renderAuthoringDate(t,this.settings.dateTimeFormatOptions,this.settings.dateTimeFormatCustomString,this.settings.dateTimeTimezone)}`;return[n,i,s].filter(o=>o.length>=1).join(" ")}renderHash(t){return t.hash.substring(0,6)}renderAuthorName(t,n){var o,l,c,u;let i=(l=(o=t==null?void 0:t.author)==null?void 0:o.name)!=null?l:"",s=i.split(" ").filter(f=>f.length>=1),a;switch(n){case"initials":a=s.map(f=>f[0].toUpperCase()).join("");break;case"first name":a=(c=s.first())!=null?c:d2;break;case"last name":a=(u=s.last())!=null?u:d2;break;case"full":a=i;break;default:return ua(n)}return(0,h2.isDeepStrictEqual)(t==null?void 0:t.author,t==null?void 0:t.committer)||(a=a+s5),a}renderAuthoringDate(t,n,i,s){var c;if(((c=t==null?void 0:t.author)==null?void 0:c.epochSeconds)===void 0)return"?";let o;switch(n){case"date":o=ch;break;case"datetime":o=sv;break;case"custom":o=i;break;case"natural language":o=u=>{let f=u.diff((0,ql.moment)());return ql.moment.duration(f).humanize(!0)};break;default:return ua(n)}let l=ql.moment.unix(t.author.epochSeconds);switch(s){case"viewer-local":break;case"author-local":l=l.utcOffset(t.author.tz),typeof o=="string"&&(o+=" Z");break;case"utc0000":l=l.utc(),typeof o=="string"&&(o+="[Z]");break;default:return ua(s)}return typeof o=="string"?l.format(o):o(l)}adaptTextForFakeCommit(t,n,i){var l,c,u;let s=(c=(l=tp())==null?void 0:l.text)!=null?c:n,a=i!=="waiting-for-result"&&t.isZeroCommit?n5:o5;n=s.replace(a5,a);let o=(u=At.plugin.localStorage.getGutterSpacingFallbackLength())!=null?u:n.length;if(n=mA(n,o,a),i!=="waiting-for-result"&&t.isZeroCommit){let f=Math.min(o,i5);n=gA(n,o-f)}return n}};function ao(r,e,t,n,i,s){let a=ys.create();a.update(JSON.stringify(i)),a.update(`s${e}-e${t}-k${n}-o${s}`);let o=a.hex(),l=rp.get(o);if(l)return l;let c=new V0(r,e,t,n,i,s);return rp.set(o,c),c}m();var p2=require("obsidian");function q0(){let r=At.plugin.localStorage.getGutterSpacingFallbackLength();return new Yl(Array(r).fill("-").join(""))}function Y0(r){let{lineAuthoring:e,ageForInitialRender:t}=l5(r);return ao(e,1,1,"initialGutter"+t,r,"waiting-for-result")}function l5(r){var s;let e=(s=i2())!=null?s:Jh(r)*.25,t=(0,p2.moment)().add(-e,"days"),n={name:"",epochSeconds:hA(t),tz:"+0000"},i={hash:"waiting-for-result",author:n,committer:n,isZeroCommit:!1};return{lineAuthoring:{hashPerLine:[void 0,"waiting-for-result"],commits:new Map([["waiting-for-result",i]])},ageForInitialRender:e}}m();function m2(r,e){return ao({hashPerLine:[void 0,"000000"],commits:new Map([["000000",VT]])},1,1,r,e)}var Z0=new Yl(""),b2=(0,v2.gutter)({class:"line-author-gutter-container",markers(r){let e=r.state.field(zl,!1);return c5(r,e)},lineMarkerChange(r){let e=Qh(r.state.field(zl));return Qh(r.startState.field(zl))!==e},renderEmptyElements:!0,initialSpacer:r=>(g2(r),q0()),updateSpacer:(r,e)=>{var t,n;return g2(e.view),(n=(t=tp())==null?void 0:t.gutter)!=null?n:q0()}});function c5(r,e){let t=Qh(e),n=r.state.doc,i=new Map;for(let u=1;u<=n.lines;u++){let f=n.line(u).from,d=r.lineBlockAt(f).to;i.set(u,[f,d]),t.update([f,d,0])}let s=Kh.get();t.update("s"+JSON.stringify(s));let a=t.hex(),o=np.get(a);if(o)return o;let{result:l,allowCache:c}=u5(n,i,s,e);return c&&np.set(a,l),l}function u5(r,e,t,n){let i=!0,s=r.lines,a=[];function o(f,d,h){return a.push(h.range(f,d))}let l=f5(s,n),c=r.length===0,u=r.iterLines(s,s+1).next().value==="";for(let f=1;f<=s;f++){let[d,h]=e.get(f),p=r.lineAt(h).number;if(c){o(d,h,Z0);continue}if(f===s&&u){o(d,h,Z0);continue}if(n===void 0){o(d,h,Y0(t)),i=!1;continue}let{key:g,la:w}=n;if(w==="untracked"){o(d,h,m2(w,t));continue}let b=w.hashPerLine.length-1,y=l[f],k=l[p];if(k&&k>b&&o(d,h,Z0),y!==void 0&&Qv(1,y,b)&&k!==void 0&&Qv(1,k,b)){o(d,h,ao(w,y,k,g,t));continue}if(b<1){o(d,h,Y0(t)),i=!1;continue}let C=Math.clamp(y!=null?y:f,1,b),S=Math.clamp(k!=null?k:p,1,b);o(d,h,ao(w,C,S,g+"computing",t,"waiting-for-result"))}return{result:w2.RangeSet.of(a,!0),allowCache:i}}function f5(r,e){if(!(e!=null&&e.lineOffsetsFromUnsavedChanges))return Array.from(new Array(r+1),i=>i);let t=[void 0],n=0;for(let i=1;i<=r;i++){let s=e.lineOffsetsFromUnsavedChanges.get(i);n+=s!=null?s:0,t[i]=s===void 0?i-n:void 0}return t}function g2(r){r.dom.querySelectorAll(".cm-gutters").forEach(t=>{t!=null&&t.style&&(t.style.marginLeft||(t.style.marginLeft="unset"))})}var op=class{constructor(e){this.plugin=e;this.lineAuthorings=new Map}async trackChanged(e){try{await this.trackChangedHelper(e)}catch(t){throw console.warn("Git: Error in trackChanged.",t),t}}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(),t2()}async computeLineAuthorInfo(e){let t=this.plugin.editorIntegration.lineAuthoringFeature.isAvailableOnCurrentPlatform().gitManager,n=await t.submoduleAwareHeadRevisonInContainingDirectory(e),i=await t.hashObject(e),s=XT(n,i,e);if(s!==void 0){if(!this.lineAuthorings.has(s)){let a=await t.blame(e,this.plugin.settings.lineAuthor.followMovement,this.plugin.settings.lineAuthor.ignoreWhitespace);this.lineAuthorings.set(s,a)}this.notifyComputationResultToSubscribers(e,s)}}notifyComputationResultToSubscribers(e,t){Wn.ifFilepathDefinedTransformSubscribers(e,n=>n.forEach(i=>i.notifyLineAuthoring(t,this.lineAuthorings.get(t))))}},_2=y2.Prec.high([zl,b2]);var x2="https://momentjs.com/docs/#/parsing/string-format/",d5="https://publish.obsidian.md/git-doc/Line+Authoring",h5={showInformationalNotifications:"disablePopups",showNoChangesNotifications:"disablePopupsForNoChanges"},p5={differentIntervalCommitAndPush:["commit","push"],autoBackupAfterFileChange:["commit"],setLastSaveToLastCommit:["commit"],autoSaveInterval:["commit"],autoPushInterval:["push"],autoPullInterval:["pull"]},Ju=r=>Number.isInteger(r)?void 0:"Enter a whole number.",lp=class extends He.PluginSettingTab{constructor(t,n){super(t,n);this.plugin=n;this.lineAuthorColorSettings=new Map;this.icon="git-pull-request"}get settings(){return this.plugin.settings}toggle(t,n,i){return{name:t,desc:i,control:{type:"toggle",key:n}}}dropdown(t,n,i,s){return{name:t,desc:s,control:{type:"dropdown",key:n,options:i}}}get commitOrSync(){return this.settings.differentIntervalCommitAndPush?"commit":"commit-and-sync"}renderRepositoryAuthor(t,n){t.addText(i=>{let s=this.plugin.gitManager,a=!1;(async()=>{let o=await s.getConfig(n,"local");if(a||i.setValue(o!=null?o:""),s instanceof Me){let l=await s.getConfig(n,"global");l&&i.setPlaceholder(`Global: ${l}`)}})().catch(o=>this.plugin.displayError(o)),i.onChange(async o=>{a=!0,await this.plugin.gitActions.setGitConfig(n,o||void 0)})})}resolveControl(t){let n=h5[t],i=n!=null?n:t,s=i.startsWith("hunks.");return{storedKey:i,inverted:n!==void 0,target:s?this.settings.hunks:this.settings,field:s?i.slice(6):i}}getControlValue(t){let{target:n,field:i,inverted:s}=this.resolveControl(t),a=n[i];return s?!a:a}async setControlValue(t,n){let{storedKey:i,target:s,field:a,inverted:o}=this.resolveControl(t);if(i==="basePath"){let c=n;await this.plugin.changeBasePath(c);return}o&&(n=!n),i==="autoCommitMessage"&&n===""&&(n=Yr[i]),s[a]=n,await this.plugin.saveSettings();let l=p5[i];l&&this.plugin.automaticsManager.reload(...l),i==="differentIntervalCommitAndPush"&&this.update(),i.startsWith("hunks.")?this.plugin.editorIntegration.refreshSignsSettings():i==="authorInHistoryView"||i==="dateInHistoryView"||i==="limitToVault"?await this.plugin.refresh():i==="refreshSourceControlTimer"&&this.plugin.setRefreshDebouncer()}getSettingDefinitions(){let t=()=>this.plugin.gitReady,n=()=>this.plugin.gitManager instanceof Me,i=()=>this.plugin.gitManager instanceof ws,s=this.commitOrSync;return[{name:"Git is not ready",desc:"When the repository is ready, automatic routines, commit, sync, and editor settings become available. Check the repository paths and Git configuration under Advanced.",visible:()=>!this.plugin.gitReady,status:"warning"},{type:"page",name:"Automatic",desc:"Scheduled commit, pull, and push routines.",visible:t,items:[this.toggle("Use separate commit and push intervals","differentIntervalCommitAndPush","Enable to use one interval for commits and another for pushes."),{name:`Auto ${s} interval (minutes)`,desc:`${this.settings.differentIntervalCommitAndPush?"Commit":"Commit and sync"} changes every X minutes. Set to 0 to disable.`,control:{type:"number",key:"autoSaveInterval",min:0,step:1,validate:Ju}},{name:`Auto ${s} after stopping file edits`,desc:`Requires the ${s} interval not to be 0. Waits for file edits to stop before the next auto ${s}.`,control:{type:"toggle",key:"autoBackupAfterFileChange",disabled:()=>this.settings.setLastSaveToLastCommit}},{name:`Start the automatic ${s} timer from the latest commit`,desc:`Sets the last auto ${s} timestamp to the latest commit timestamp, reducing the frequency after manual commits.`,control:{type:"toggle",key:"setLastSaveToLastCommit",disabled:()=>this.settings.autoBackupAfterFileChange}},{name:"Auto push interval (minutes)",desc:"Push commits every X minutes. Set to 0 to disable.",control:{type:"number",key:"autoPushInterval",min:0,step:1,validate:Ju,disabled:()=>!this.settings.differentIntervalCommitAndPush}},{name:"Auto pull interval (minutes)",desc:"Pull changes every X minutes. Set to 0 to disable.",control:{type:"number",key:"autoPullInterval",min:0,step:1,validate:Ju}},this.toggle(`Auto ${s} only staged files`,"autoCommitOnlyStaged",`Only staged files are committed on auto ${s}.`),this.toggle(`Specify custom commit message on auto ${s}`,"customMessageOnAutoBackup","Shows a prompt to specify your message."),{name:`Commit message on auto ${s}`,desc:"Placeholders: {{date}}, {{hostname}}, {{numFiles}}, and {{files}}.",control:{type:"textarea",key:"autoCommitMessage",defaultValue:Yr.autoCommitMessage,disabled:()=>this.settings.customMessageOnAutoBackup}}]},{type:"page",name:"Commit",desc:"Commit messages and placeholders.",visible:t,items:[this.toggle("Stage all changes when nothing is staged","autoStageOnEmptyIndex","When using Commit with nothing staged, stage and commit all changes. Commit all changes and Commit-and-sync are unaffected."),{name:"Commit message on manual commit",desc:"Placeholders: {{date}}, {{hostname}}, {{numFiles}}, and {{files}}. Leave empty to require manual input.",render:a=>{a.addTextArea(o=>{o.setValue(this.settings.commitMessage),o.onChange(async l=>{this.settings.commitMessage=l,await this.plugin.saveSettings()}),a.addButton(l=>l.setIcon("reset").setTooltip(`Set to default: "${Yr.commitMessage}"`).onClick(()=>{o.setValue(Yr.commitMessage),o.onChanged()}))})}},{name:"Commit message script",desc:"Run with 'sh -c' to generate a commit message. Placeholders: {{hostname}}, {{date}}.",visible:()=>He.Platform.isDesktopApp,control:{type:"text",key:"commitMessageScript"}},{name:"{{date}} placeholder format",render:a=>{a.addMomentFormat(o=>o.setDefaultFormat(this.settings.commitDateFormat).setValue(this.settings.commitDateFormat).onChange(async l=>{this.settings.commitDateFormat=l,await this.plugin.saveSettings()})),a.descEl.createSpan({text:`Example: ${av}. See `}),a.descEl.createEl("a",{text:"Moment.js documentation",href:x2,attr:{target:"_blank"}}),a.descEl.createSpan({text:" for more formats."})}},{name:"{{hostname}} placeholder replacement",desc:"Set a hostname for this device. Defaults to the OS hostname on desktop.",render:a=>{a.addText(o=>{var l;return o.setValue((l=this.plugin.localStorage.getHostname())!=null?l:"").onChange(c=>this.plugin.localStorage.setHostname(c))})}},{name:"Preview commit message",render:a=>{a.addButton(o=>o.setButtonText("Preview").onClick(async()=>{let l=await this.plugin.gitManager.formatCommitMessage(this.settings.commitMessage);new He.Notice(l)}))}},this.toggle("List filenames affected by commit in the commit body","listChangedFilesInMessageBody")]},{type:"page",name:"Sync",desc:"Pull, merge, and commit-and-sync behavior.",visible:t,items:[{type:"group",heading:"Pull",items:[{...this.dropdown("Merge strategy","syncMethod",{merge:"Merge",rebase:"Rebase",reset:"Other sync service (update HEAD only)"},"How to integrate remote commits."),visible:n},{...this.dropdown("Auto-stash changes when rebasing","rebaseAutoStash",{enabled:"Enabled",disabled:"Disabled","git-config":"Use Git configuration"},"Stash local changes before rebasing and restore them afterward. Restoring may produce conflicts."),visible:()=>n()&&this.settings.syncMethod==="rebase"},this.dropdown("Merge strategy on conflicts","mergeStrategy",{none:"None (Git default)",ours:"Our changes",theirs:"Their changes"},"Choose which side to favor when pulling remote changes."),this.toggle("Pull on startup","autoPullOnBoot","Automatically pull commits when Obsidian starts.")]},{type:"group",heading:"Commit-and-sync",items:[{name:"Push on commit-and-sync",desc:"Push after committing. Disabling turns commit-and-sync into a local commit, with an optional pull.",render:a=>{a.addToggle(o=>o.setValue(!this.settings.disablePush).onChange(async l=>{this.settings.disablePush=!l,await this.plugin.saveSettings(),this.refreshDomState()}))}},this.toggle("Pull on commit-and-sync","pullBeforePush","Pull commits as part of commit-and-sync."),{...this.toggle("Squash commits before push","squashCommitsBeforePush","Combine local unpushed commits into one before pushing. No force-push is needed."),visible:n}]}]},{type:"page",name:"Editor",desc:"Hunk controls and line author information.",visible:()=>t()&&n(),items:[{type:"group",heading:"Hunk management",items:[this.toggle("Signs","hunks.showSigns","Show colored change markers in the editor and stage, reset, or preview hunks."),this.toggle("Hunk commands","hunks.hunkCommands","Commands to stage and reset hunks and navigate between them."),this.dropdown("Show line changes in the status bar","hunks.statusBar",{disabled:"Disabled",colored:"Colored",monochrome:"Monochrome"})]},{type:"page",name:"Line author information",desc:"Commit hash, author, date, and age coloring next to each line.",page:()=>new X0(this)}]},{type:"page",name:"Views",desc:"History, source control, and diff views.",items:[{type:"group",heading:"Source control view",items:[this.toggle("Automatically refresh source control view on file changes","refreshSourceControl","Disable on slower machines if this causes lag."),{name:"Source control view refresh interval",desc:"Milliseconds to wait after a file change before refreshing. Minimum 500.",control:{type:"number",key:"refreshSourceControlTimer",min:500,step:1,validate:Ju}}]},{type:"group",heading:"Diff view",items:[{...this.dropdown("Diff view style","diffStyle",{split:"Split",git_unified:"Unified"},"Split mode creates an editable diff in the editor, which may differ from Git's diff."),visible:n},{name:"Split diff computation time limit (ms)",desc:"Maximum milliseconds to compute a detailed split diff. Read-only diffs use ten times this value.",visible:n,control:{type:"number",key:"diffTimeout",min:1,step:1,validate:Ju}}]},{type:"group",heading:"History view",items:[this.dropdown("Show author","authorInHistoryView",{hide:"Hide",full:"Full",initials:"Initials"},"Show the commit author in the history view."),this.toggle("Show date","dateInHistoryView","Uses the {{date}} placeholder format.")]}]},{type:"page",name:"Interface",desc:"Notifications, status bar, and file menu.",items:[this.toggle("Show informational notifications","showInformationalNotifications","Show notices about Git operations. The status bar still shows updates when this is off."),this.toggle("Show error notifications","showErrorNotices","Show error notices for Git operations."),{...this.toggle("Show notifications when nothing changed","showNoChangesNotifications","Also notify when a commit or push finds no changes."),visible:()=>!this.settings.disablePopups},this.toggle("Show status bar","showStatusBar","Restart Obsidian for this change to take effect."),this.toggle("File menu integration","showFileMenu","Add Stage, Unstage, and Add to .gitignore actions to the file menu."),this.toggle("Show branch status bar","showBranchStatusBar","Restart Obsidian for this change to take effect."),this.toggle("Show the count of modified files in the status bar","changedFilesInStatusBar")]},{type:"page",name:"Identity",desc:"Authentication and commit author.",items:[{name:"Username on your Git server",visible:i,render:a=>{a.addText(o=>{var l;return o.setValue((l=this.plugin.localStorage.getUsername())!=null?l:"").onChange(c=>this.plugin.localStorage.setUsername(c))})}},{name:"Git server password or access token",desc:"Stored on this device. The saved value is not shown again.",visible:i,render:a=>{a.addText(o=>{o.inputEl.autocapitalize="off",o.inputEl.autocomplete="off",o.inputEl.spellcheck=!1,o.onChange(l=>this.plugin.localStorage.setPassword(l))})}},{name:"Repository author name",desc:He.Platform.isDesktopApp?"Changes only this repository's Git config. Leave blank to use the global author name, if configured.":"Saved in this repository's Git config. Mobile Git has no global author name fallback.",visible:t,render:a=>{this.renderRepositoryAuthor(a,"user.name")}},{name:"Repository author email",desc:He.Platform.isDesktopApp?"Changes only this repository's Git config. Leave blank to use the global author email, if configured.":"Saved in this repository's Git config. Mobile Git has no global author email fallback.",visible:t,render:a=>{this.renderRepositoryAuthor(a,"user.email")}}]},{type:"page",name:"Advanced",desc:"Repository paths, Git environment, and device options.",items:[{...this.toggle("Update submodules","updateSubmodules","Commit-and-sync and pull update submodules. Tracking branches must be configured for each submodule."),visible:n},{...this.toggle("Submodule recurse checkout/switch","submoduleRecurseCheckout","Recurse checkout on submodules when switching the root repository."),visible:()=>n()&&this.settings.updateSubmodules},this.toggle("Limit file operations to the vault","limitToVault","Limit status, staging, unstaging, discarding, and submodule updates to the vault where possible. Repository history and remote actions remain repository-wide."),{name:"Custom Git binary path",desc:"Path to the Git executable for a custom installation.",visible:n,render:a=>{a.addText(o=>{var l;return o.setPlaceholder("git").setValue((l=this.plugin.localStorage.getGitPath())!=null?l:"").onChange(c=>{this.plugin.changeGitPath(c)})})}},{name:"Additional environment variables",desc:"One KEY=VALUE pair per line.",visible:n,render:a=>{a.addTextArea(o=>o.setPlaceholder("GIT_DIR=/path/to/git/dir").setValue(this.plugin.localStorage.getEnvVars().join(`
|
|
`)).onChange(l=>this.plugin.localStorage.setEnvVars(l.split(`
|
|
`))))}},{name:"Additional PATH environment variable paths",desc:"One path per line.",visible:n,render:a=>{a.addTextArea(o=>o.setValue(this.plugin.localStorage.getPATHPaths().join(`
|
|
`)).onChange(l=>this.plugin.localStorage.setPATHPaths(l.split(`
|
|
`))))}},{name:"Reload with new environment variables",desc:"Removing previous variables requires an Obsidian restart.",visible:n,render:a=>{a.addButton(o=>o.setButtonText("Reload").setCta().onClick(async()=>this.plugin.reloadGitManager()))}},{name:"Repository folder within the vault",desc:"Choose the folder containing the Git repository. Leave empty when the repository is at the root.",control:{type:"folder",key:"basePath",includeRoot:!1,validate:a=>{if(a!==""){if(a=="/")return"Leave empty when the repository is at the root.";if(!this.app.vault.getFolderByPath(a))return"Choose an existing folder in this vault."}}}},{name:"Custom Git directory path (instead of .git)",desc:"Resolved from the custom base path or vault root. Restart Obsidian to apply. Use backslashes on Windows.",control:{type:"text",key:"gitDir",placeholder:".git"}},{name:"Disable on this device",desc:"This setting is not synced.",render:a=>{a.addToggle(o=>o.setValue(this.plugin.localStorage.getPluginDisabled()).onChange(l=>{this.plugin.localStorage.setPluginDisabled(l),l?this.plugin.unloadPlugin():this.plugin.init({fromReload:!0}).catch(c=>this.plugin.displayError(c)),new He.Notice("Obsidian must be restarted for the change to take effect.")}))}},{type:"group",heading:"Debugging",items:[{name:"Copy debug information",desc:"May contain sensitive settings.",render:a=>{a.addButton(o=>o.setButtonText("Copy").onClick(async()=>{await window.navigator.clipboard.writeText(JSON.stringify({settings:this.settings,pluginVersion:this.plugin.manifest.version},null,4)),new He.Notice("Debug information copied to clipboard. May contain sensitive information!")}))}},{name:"Debugging and logging",desc:He.Platform.isDesktopApp?`Open the developer console with ${He.Platform.isMacOS?"CMD (\u2318) + OPTION (\u2325) + I":"CTRL + SHIFT + I"}.`:"",visible:()=>He.Platform.isDesktopApp}]}]},{heading:"Support",type:"group",items:[{name:"Donate",desc:"Support continued development of the plugin.",render:a=>{a.addButton(o=>{var c;let l=(c=o.buttonEl.parentElement)==null?void 0:c.createEl("a",{href:"https://ko-fi.com/F1F195IQ5",attr:{target:"_blank"}});l==null||l.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"}}),o.buttonEl.remove()})}}]}]}configureLineAuthorShowStatus(t){this.settings.lineAuthor.show=t,this.plugin.saveSettings(),t?this.plugin.editorIntegration.activateLineAuthoring():this.plugin.editorIntegration.deactiveLineAuthoring()}async lineAuthorSettingHandler(t,n){this.settings.lineAuthor[t]=n,await this.plugin.saveSettings(),this.plugin.editorIntegration.lineAuthoringFeature.refreshLineAuthorViews()}beforeSaveSettings(){let t=this.settings.lineAuthor;t.authorDisplay!=="hide"&&(t.lastShownAuthorDisplay=t.authorDisplay),t.dateTimeFormatOptions!=="hide"&&(t.lastShownDateTimeFormatOptions=t.dateTimeFormatOptions)}renderLineAuthorSettings(t){t.empty(),this.lineAuthorColorSettings.clear();let n=new He.Setting(t).setName("Show commit authoring information next to each line");if(this.plugin.editorIntegration.lineAuthoringFeature.isAvailableOnCurrentPlatform()||n.setDesc("Only available on desktop currently.").setDisabled(!0),n.descEl.createEl("a",{href:d5,text:"Feature guide and quick examples",attr:{target:"_blank"}}),n.descEl.createEl("br"),n.descEl.createSpan({text:" The commit hash, author name and authoring date can all be individually toggled."}),n.descEl.createEl("br"),n.descEl.createSpan({text:"Hide everything, to only show the age-colored sidebar."}),n.addToggle(i=>i.setValue(this.settings.lineAuthor.show).onChange(s=>{this.configureLineAuthorShowStatus(s),this.refreshLineAuthorPage(t)})),this.settings.lineAuthor.show){let i=new He.Setting(t).setName("Follow movement and copies across files and commits").addDropdown(c=>{c.addOptions({inactive:"Do not follow (default)","same-commit":"Follow within same commit","all-commits":"Follow within all commits (maybe slow)"}),c.setValue(this.settings.lineAuthor.followMovement),c.onChange(u=>this.lineAuthorSettingHandler("followMovement",u))});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 ${uh} 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 He.Setting(t).setName("Show commit hash").addToggle(c=>{c.setValue(this.settings.lineAuthor.showCommitHash),c.onChange(u=>this.lineAuthorSettingHandler("showCommitHash",u))}),new He.Setting(t).setName("Author name display").setDesc("If and how the author is displayed").addDropdown(c=>{let u={hide:"Hide",initials:"Initials (default)","first name":"First name","last name":"Last name",full:"Full name"};c.addOptions(u),c.setValue(this.settings.lineAuthor.authorDisplay),c.onChange(async f=>this.lineAuthorSettingHandler("authorDisplay",f))}),new He.Setting(t).setName("Authoring date display").setDesc("If and how the date and time of authoring the line is displayed").addDropdown(c=>{let u={hide:"Hide",date:"Date (default)",datetime:"Date and time","natural language":"Natural language",custom:"Custom"};c.addOptions(u),c.setValue(this.settings.lineAuthor.dateTimeFormatOptions),c.onChange(async f=>{await this.lineAuthorSettingHandler("dateTimeFormatOptions",f),this.refreshLineAuthorPage(t)})}),this.settings.lineAuthor.dateTimeFormatOptions==="custom"){let c=new He.Setting(t);c.setName("Custom authoring date format").addText(u=>{u.setValue(this.settings.lineAuthor.dateTimeFormatCustomString),u.setPlaceholder("YYYY-MM-DD HH:mm"),u.onChange(async f=>{await this.lineAuthorSettingHandler("dateTimeFormatCustomString",f),this.setCustomDateTimeDescription(c.descEl,f)})}),this.setCustomDateTimeDescription(c.descEl,this.settings.lineAuthor.dateTimeFormatCustomString)}let s=new He.Setting(t).setName("Authoring date display timezone").addDropdown(c=>{let u={"viewer-local":"My local (default)","author-local":"Author's local",utc0000:"UTC+0000/Z"};c.addOptions(u),c.setValue(this.settings.lineAuthor.dateTimeTimezone),c.onChange(async f=>this.lineAuthorSettingHandler("dateTimeTimezone",f))});s.descEl.empty(),s.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
|
|
`}),s.descEl.createEl("a",{text:"UTC\xB100:00",href:"https://en.wikipedia.org/wiki/UTC%C2%B100:00"}),s.descEl.createSpan({text:"."});let a=new He.Setting(t).setName("Oldest age in coloring");this.setOldestAgeDescription(a.descEl,this.settings.lineAuthor.coloringMaxAge),a.addText(c=>{c.setPlaceholder("1y"),c.setValue(this.settings.lineAuthor.coloringMaxAge),c.onChange(async u=>{let d=Qu(u)!==void 0;this.setOldestAgeDescription(a.descEl,u),d&&(await this.lineAuthorSettingHandler("coloringMaxAge",u),this.refreshColorSettingsName("oldest"))})}),this.createColorSetting("newest",t),this.createColorSetting("oldest",t);let o=new He.Setting(t).setName("Text color").addText(c=>{c.setValue(this.settings.lineAuthor.textColorCss),c.onChange(async u=>{await this.lineAuthorSettingHandler("textColorCss",u)})});o.descEl.empty(),o.descEl.createSpan({text:"The CSS color of the gutter text."}),o.descEl.createEl("br"),o.descEl.createEl("br"),o.descEl.createSpan({text:"It is highly recommended to use "}),o.descEl.createEl("a",{text:"CSS variables",href:"https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties"}),o.descEl.createSpan({text:" defined by themes (e.g. "}),o.descEl.createEl("pre",{text:"var(--text-muted)",attr:{style:"display:inline"}}),o.descEl.createSpan({text:" or "}),o.descEl.createEl("pre",{text:"var(--text-on-accent)",attr:{style:"display:inline"}}),o.descEl.createSpan({text:"), because they automatically adapt to theme changes."}),o.descEl.createEl("br"),o.descEl.createEl("br"),o.descEl.createSpan({text:"See: "}),o.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 l=new He.Setting(t).setName("Ignore whitespace and newlines in changes").addToggle(c=>{c.setValue(this.settings.lineAuthor.ignoreWhitespace),c.onChange(u=>this.lineAuthorSettingHandler("ignoreWhitespace",u))});l.descEl.empty(),l.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."}),l.descEl.createEl("br"),l.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(t,n){let i=new He.Setting(n).setName("").addText(s=>{let a=K0(t,this.settings.lineAuthor),o=K0(t,Yr.lineAuthor);s.setPlaceholder(Xv(o)),s.setValue(Xv(a)),s.onChange(async l=>{let c=dA(l);if(c!==void 0){let u=t==="newest"?"colorNew":"colorOld";await this.lineAuthorSettingHandler(u,c)}this.refreshColorSettingsDesc(t,c)})});this.lineAuthorColorSettings.set(t,i),this.refreshColorSettingsName(t),this.refreshColorSettingsDesc(t,K0(t,this.settings.lineAuthor))}refreshColorSettingsName(t){let n=this.lineAuthorColorSettings.get(t);if(n){let i=t==="oldest"?`oldest (${this.settings.lineAuthor.coloringMaxAge} or older)`:"newest";n.nameEl.setText(`Color for ${i} commits`)}}refreshColorSettingsDesc(t,n){let i=this.lineAuthorColorSettings.get(t);i&&this.colorSettingPreviewDesc(i.descEl,t,this.settings.lineAuthor,n!==void 0)}colorSettingPreviewDesc(t,n,i,s){t.empty(),t.createSpan({text:"Supports 'rgb(r,g,b)', 'hsl(h,s,l)', hex (#) and named colors (e.g. 'black', 'purple'). Color preview: "});let a=s?ap(n,i):"rgba(127,127,127,0.3)",o=He.moment.unix(He.moment.now()/1e3).format("YYYY-MM-DD"),l=s?`abcdef Author Name ${o}`:"invalid color";t.createEl("div",{text:l,attr:{class:"line-author-settings-preview",style:`background-color: ${a}; width: 30ch;`}})}setCustomDateTimeDescription(t,n){t.empty(),t.createEl("a",{text:"Format string",href:x2}),t.createSpan({text:" to display the authoring date."}),t.createEl("br");let i=(0,He.moment)().format(n);t.createSpan({text:`Currently: ${i}`})}setOldestAgeDescription(t,n){let i=Qu(n),s=i!==void 0?`${i.asDays()} days`:"invalid!";t.empty(),t.createSpan({text:`The oldest age in the line author coloring. Everything older will have the same color.
|
|
Smallest valid age is "1d". Currently: ${s}`})}refreshLineAuthorPage(t){window.clearTimeout(this.lineAuthorRefreshTimer),this.lineAuthorRefreshTimer=window.setTimeout(()=>{this.lineAuthorRefreshTimer=void 0,t.isConnected&&this.renderLineAuthorSettings(t)},80)}cancelLineAuthorRefresh(){window.clearTimeout(this.lineAuthorRefreshTimer),this.lineAuthorRefreshTimer=void 0,this.lineAuthorColorSettings.clear()}},X0=class extends He.SettingPage{constructor(t){super();this.tab=t;this.title="Line author information"}display(){this.tab.renderLineAuthorSettings(this.containerEl)}hide(){this.tab.cancelLineAuthorRefresh(),super.hide()}};function K0(r,e){return r==="oldest"?e.colorOld:e.colorNew}function Qu(r){let e=He.moment.duration("P"+r.toUpperCase());return e.isValid()&&e.asDays()&&e.asDays()>=1?e:void 0}m();var $r=require("obsidian");var cp=class{constructor(e,t){this.statusBarEl=e;this.plugin=t;this.messages=[];this.currentMessage=null;this.lastMessageTimestamp=null;this.base="obsidian-git-statusbar-";this.statusBarEl.setAttribute("data-tooltip-position","top"),t.registerEvent(t.app.workspace.on("obsidian-git:refreshed",()=>{this.refreshCommitTimestamp().catch(console.error)}))}displayMessage(e,t){this.messages.push({message:`Git: ${e.slice(0,100)}`,timeout:t}),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.conflictEl.setAttribute("role","button"),this.conflictEl.onclick=()=>this.plugin.openMergeConflictHelp(),this.conflictEl.onkeydown=e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),this.plugin.openMergeConflictHelp())},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.state.mergeInProgress?((0,$r.setIcon)(this.conflictEl,"git-merge"),this.conflictEl.ariaLabel="Merge in progress. Select for help resolving and finishing the merge.",this.conflictEl.tabIndex=0,this.conflictEl.style.cursor="pointer",this.conflictEl.style.marginRight="5px",this.conflictEl.addClass(this.base+"conflict")):(this.conflictEl.empty(),this.conflictEl.tabIndex=-1,this.conflictEl.style.cursor="",this.conflictEl.style.marginRight=""),this.plugin.localStorage.getPausedAutomatics()?((0,$r.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,$r.setIcon)(this.iconEl,this.getProgressIcon()),this.displayProgressText(),this.statusBarEl.addClass(this.base+"progress"),this.addMergeHelpToTooltip();return}switch(this.plugin.state.operation){case 0:this.displayFromNow();break;case 2:this.statusBarEl.ariaLabel="Committing changes...",(0,$r.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,$r.setIcon)(this.iconEl,"upload"),this.displayProgressText(),this.statusBarEl.addClass(this.base+"push");break;case 1:this.statusBarEl.ariaLabel=this.getProgressTooltip("Pulling changes..."),(0,$r.setIcon)(this.iconEl,"download"),this.displayProgressText(),this.statusBarEl.addClass(this.base+"pull");break;case 4:this.statusBarEl.ariaLabel=this.getProgressTooltip("Fetching from remote..."),(0,$r.setIcon)(this.iconEl,"download"),this.displayProgressText(),this.statusBarEl.addClass(this.base+"fetch");break;case 5:this.statusBarEl.ariaLabel=this.getProgressTooltip("Checking out branch..."),(0,$r.setIcon)(this.iconEl,"git-branch"),this.displayProgressText(),this.statusBarEl.addClass(this.base+"checkout");break;default:this.statusBarEl.ariaLabel="Failed on initialization!",(0,$r.setIcon)(this.iconEl,"alert-triangle"),this.textEl.empty(),this.statusBarEl.addClass(this.base+"failed-init");break}this.addMergeHelpToTooltip()}addMergeHelpToTooltip(){if(!this.plugin.state.mergeInProgress)return;let e="Merge in progress. Select the merge icon for help resolving and finishing it.",t=this.statusBarEl.ariaLabel;this.statusBarEl.ariaLabel=t?`${e}
|
|
${t}`:e}displayProgressText(){this.progress?this.textEl.setText(this.getCompactProgressText()):this.textEl.empty()}getProgressTooltip(e){if(!this.progress)return e;let t=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 n=this.progress.processed!==void 0&&this.progress.total!==void 0?` (${this.progress.processed}/${this.progress.total})`:"";return`${this.progress.action}: ${t}${Math.round(this.progress.progress)}%${n}`}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 n;if(!this.plugin.gitReady){this.statusBarEl.ariaLabel="Git is not ready",(0,$r.setIcon)(this.iconEl,"alert-triangle"),this.textEl.empty(),this.statusBarEl.addClass(this.base+"failed-init");return}let e=this.lastCommitTimestamp,t=this.plugin.state.offlineMode;if(e){let i=(0,$r.moment)(e).fromNow();this.statusBarEl.ariaLabel=`${t?"Offline: ":""}Last Commit: ${i}`,((n=this.unPushedCommits)!=null?n:0)>0&&(this.statusBarEl.ariaLabel+=`
|
|
(${this.unPushedCommits} unpushed commits)`)}else this.statusBarEl.ariaLabel=t?"Git is offline":"Git is ready";t?(0,$r.setIcon)(this.iconEl,"globe"):(0,$r.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.getUnpushedCommits()}remove(){this.statusBarEl.remove()}};m();var E2=require("obsidian"),ef=class{constructor(e){this.plugin=e}saveLastAuto(e,t){t==="backup"?this.plugin.localStorage.setLastAutoBackup(e.toString()):t==="pull"?this.plugin.localStorage.setLastAutoPull(e.toString()):t==="push"&&this.plugin.localStorage.setLastAutoPush(e.toString())}loadLastAuto(){var e,t,n;return{backup:new Date((e=this.plugin.localStorage.getLastAutoBackup())!=null?e:""),pull:new Date((t=this.plugin.localStorage.getLastAutoPull())!=null?t:""),push:new Date((n=this.plugin.localStorage.getLastAutoPush())!=null?n:"")}}async init(){await this.setUpAutoCommitAndSync();let e=this.loadLastAuto();if(this.plugin.settings.differentIntervalCommitAndPush&&this.plugin.settings.autoPushInterval>0){let t=this.diff(this.plugin.settings.autoPushInterval,e.push);this.startAutoPush(t)}if(this.plugin.settings.autoPullInterval>0){let t=this.diff(this.plugin.settings.autoPullInterval,e.pull);this.startAutoPull(t)}}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 t=this.diff(this.plugin.settings.autoSaveInterval,e.backup);this.startAutoCommitAndSync(t)}}}get isAutomaticsDisabled(){return!this.plugin.gitReady||this.plugin.localStorage.getPausedAutomatics()}startAutoCommitAndSync(e){if(this.isAutomaticsDisabled)return;let t=(e!=null?e:this.plugin.settings.autoSaveInterval)*6e4;this.plugin.settings.autoBackupAfterFileChange?e===0?this.doAutoCommitAndSync():this.plugin.autoCommitDebouncer=(0,E2.debounce)(()=>this.doAutoCommitAndSync(),t,!0):(t>2147483647&&(t=2147483647),this.timeoutIDCommitAndSync=window.setTimeout(()=>this.doAutoCommitAndSync(),t))}doAutoCommitAndSync(){this.plugin.promiseQueue.addTask(async()=>{if(this.plugin.settings.setLastSaveToLastCommit){let t=await this.plugin.gitManager.getLastCommitTime();if(t){this.saveLastAuto(t,"backup");let n=this.diff(this.plugin.settings.autoSaveInterval,t);if(n>0)return this.startAutoCommitAndSync(n),!1}}let e=this.plugin.settings.autoCommitOnlyStaged?"staged":"all";return this.plugin.settings.differentIntervalCommitAndPush?await this.plugin.gitActions.commit({fromAuto:!0,mode:e}):await this.plugin.gitActions.commitAndSync({fromAutoBackup:!0,mode:e}),!0},e=>{e!==!1&&(this.saveLastAuto(new Date,"backup"),this.startAutoCommitAndSync())})}startAutoPull(e){if(this.isAutomaticsDisabled)return;let t=(e!=null?e:this.plugin.settings.autoPullInterval)*6e4;t>2147483647&&(t=2147483647),this.timeoutIDPull=window.setTimeout(()=>this.doAutoPull(),t)}doAutoPull(){this.plugin.promiseQueue.addTask(()=>this.plugin.gitActions.pullChangesFromRemote(),()=>{this.saveLastAuto(new Date,"pull"),this.startAutoPull()})}startAutoPush(e){if(this.isAutomaticsDisabled)return;let t=(e!=null?e:this.plugin.settings.autoPushInterval)*6e4;t>2147483647&&(t=2147483647),this.timeoutIDPush=window.setTimeout(()=>this.doAutoPush(),t)}doAutoPush(){this.plugin.promiseQueue.addTask(()=>this.plugin.gitActions.push(),()=>{this.saveLastAuto(new Date,"push"),this.startAutoPush()})}clearAutoCommitAndSync(){var t;let e=!1;return this.timeoutIDCommitAndSync&&(window.clearTimeout(this.timeoutIDCommitAndSync),this.timeoutIDCommitAndSync=void 0,e=!0),this.plugin.autoCommitDebouncer&&((t=this.plugin.autoCommitDebouncer)==null||t.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,t){if(isNaN(t.getTime()))return e;let i=e-Math.round((new Date().getTime()-t.getTime())/1e3/60);return Math.max(0,i)}};m();var pf=require("obsidian");m();var tf=require("obsidian");async function S2(r,e,t){let n=await C2(e,t);if(n.result==="failure"){new tf.Notice(n.reason);return}let{isGitHub:i,branch:s,repo:a,user:o,filePath:l}=n;if(i){let c=r.getCursor("from").line+1,u=r.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 tf.Notice("It seems like you are not using GitHub")}async function k2(r,e){let t=await C2(r,e);if(t.result==="failure"){new tf.Notice(t.reason);return}let{isGitHub:n,branch:i,repo:s,user:a,filePath:o}=t;n?window.open(`https://github.com/${a}/${s}/commits/${i}/${o}`):new tf.Notice("It seems like you are not using GitHub")}async function C2(r,e){var l,c;let t=await e.branchInfo(),n=t.tracking,i=t.current,s,a=e.getRelativeRepoPath(r.path);if(e instanceof Me){let u=await e.getSubmoduleOfFile(e.getRelativeRepoPath(r.path));if(u){a=u.relativeFilepath;let f=await e.git.cwd({path:u.submodule,root:!1}).status();if(n=f.tracking||void 0,i=f.current||void 0,n){let d=n.substring(0,n.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(n==null)return{result:"failure",reason:"Remote branch is not configured"};if(i==null)return{result:"failure",reason:"Failed to get current branch name"};if(s==null){let u=n.substring(0,n.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:i,filePath:a}}}m();var A2=require("obsidian"),up=class extends A2.Modal{constructor(t,n){super(t);this.content=n;this.resolve=null}openAndGetReslt(){return new Promise(t=>{this.resolve=t,this.open()})}onOpen(){let{contentEl:t,titleEl:n}=this;n.setText("Edit .gitignore");let i=t.createDiv(),s=i.createEl("textarea",{text:this.content,cls:["obsidian-git-textarea"],attr:{rows:10,cols:30,wrap:"off"}});i.createEl("button",{cls:["mod-cta","obsidian-git-center-button"],text:"Save"}).addEventListener("click",()=>{this.resolve(s.value),this.close()})}onClose(){let{contentEl:t}=this;t.empty(),this.resolve&&this.resolve(void 0)}};m();var hf=require("@codemirror/state"),Pp=require("@codemirror/view");m();var Xl=require("@codemirror/state");m();var nr=class r{static createHunk(e,t,n,i){return{removed:{start:e,count:t,lines:[]},added:{start:n,count:i,lines:[]},vend:n+Math.max(i-1,0),type:i===0?"delete":t===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,t,n){let i=t,s=n-t+1,a=0;for(let o of e){let l=o.added.count-o.removed.count,c=0;if(o.added.start>=t&&o.vend<=n)c=l;else{let u=Math.max(0,n+1-(o.added.start+o.removed.count)),f=Math.max(0,t-(o.added.start+o.removed.count));o.added.start>=t&&o.added.start<=n?c=u:o.vend>=t&&o.vend<=n?(c=l-f,i=i-f):o.added.start<=t&&o.vend>=n?(c=u-f,i=i-f):a++,t>o.vend&&(i=i-l)}s=s-c}if(a!==e.length)return s===0&&(i=i-1),this.createHunk(i,s,t,n-t+1)}static patchLines(e,t=!1){let n=[];for(let i of e.removed.lines)n.push("-"+i);for(let i of e.added.lines)n.push("+"+i);return t?n.map(i=>i.replace(/\r$/,"")):n}static parseDiffLine(e){var l,c,u;let n=(l=e.split("@@")[1])==null?void 0:l.trim();if(!n)throw Error(`Invalid diff line: ${e}`);let i=n.split(" "),s=(c=i[0])==null?void 0:c.substring(1).split(","),a=(u=i[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,t,n,i=1,s=1/0,a){if(a&&t.type!=="add")return console.error(`Invalid hunk with untracked=${a} hunk="${r.getHunkHeader(t)}"`),[];i=Math.max(1,i);let{start:o,added:l,removed:c}={start:t.added.start,added:t.added.count,removed:t.removed.count},u=this.changeEnd(t),f=t.type==="delete"&&(o===0||e&&this.changeEnd(e)===o)&&(!n||n.added.start!==o+1);f&&i===1&&(i=0);let d=[];for(let h=Math.max(o,i);h<=Math.min(u,s);h++){let p=t.type==="change"&&(c>l&&h===u||e&&e.added.start===0);d.push({type:f?"topdelete":p?"changedelete":a?"untracked":t.type,count:h===o?t.type==="add"?l:c:void 0,lnum:h+(f?1:0)})}if(t.type==="change"&&l>c&&t.vend>=i&&u<=s)for(let h=Math.max(u,i);h<=Math.min(t.vend,s);h++)d.push({type:"add",count:h===t.vend?l-c:void 0,lnum:h});return d}static createPatch(e,t,n,i=!1){let s=[`diff --git a/${e} b/${e}`,`index 000000..000000 ${n}`,`--- a/${e}`,`+++ b/${e}`],a=0;t=structuredClone(t);for(let o of t){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;i&&([c,u]=[u,c],[f,d]=[d,f]),s.push(`@@ -${l},${c} +${l+a},${u} @@`);for(let h of f)s.push("-"+h);(i?o.added:o.removed).no_nl_at_eof&&s.push("\\ No newline at end of file");for(let h of d)s.push("+"+h);(i?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 t={added:0,changed:0,removed:0};for(let n of e)if(n.type==="add")t.added+=n.added.count;else if(n.type==="delete")t.removed+=n.removed.count;else if(n.type==="change"){let i=n.added.count,s=n.removed.count,a=Math.min(i,s);t.changed+=a,t.added+=i-a,t.removed+=s-a}return t}static findHunk(e,t){if(!t)return[void 0,void 0];for(let n=0;n<t.length;n++){let i=t[n];if(e===1&&i.added.start===0&&i.vend===0)return[i,n];if(i.added.start<=e&&i.vend>=e)return[i,n]}return[void 0,void 0]}static findNearestHunk(e,t,n,i){if(t.length!==0){if(n==="first")return 0;if(n==="last")return t.length-1;if(n==="next"){if(t[0].added.start>e)return 0;for(let s=t.length-1;s>=0;s--)if(t[s].added.start<=e){if(s+1<t.length&&t[s+1].added.start>e)return s+1;if(i)return 0}}else if(n==="prev"){if(Math.max(t[t.length-1].vend)<e)return t.length-1;for(let s=0;s<t.length;s++){let a=t[s];if(e<=Math.max(a.vend,1)){if(s>0&&Math.max(t[s-1].vend,1)<e)return s-1;if(i)return t.length-1}}}}}static compare(e,t){if(e.added.start!==t.added.start||e.added.count!==t.added.count)return!1;for(let n=0;n<e.added.count;n++)if(e.added.lines[n]!==t.added.lines[n])return!1;return!0}static filterCommon(e,t){if(!e&&!t)return;e=e||[],t=t||[];let n=0,i=0,s=[];for(let a=0;a<Math.max(e.length,t.length)+1;a++){let o=e[n],l=t[i];if(!o)break;if(!l){for(let c=n;c<e.length;c++)s.push(e[c]);break}o.added.start>l.added.start?i++:o.added.start<l.added.start?(s.push(o),n++):(this.compare(o,l)||s.push(o),n++,i++)}return s}};m();m();var Ge=require("@codemirror/view"),Oe=require("@codemirror/state");m();var T2=typeof Symbol=="undefined"?"__\u037C":Symbol.for("\u037C"),Q0=typeof Symbol=="undefined"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),R2=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:{},fp=class{constructor(e,t){this.rules=[];let{finish:n}=t||{};function i(a){return/^@/.test(a)?[a]:a.split(/,\s*/)}function s(a,o,l,c){let u=[],f=/^@(\w+)\b/.exec(a[0]),d=f&&f[1]=="keyframes";if(f&&o==null)return l.push(a[0]+";");for(let h in o){let p=o[h];if(/&/.test(h))s(h.split(/,\s*/).map(g=>a.map(w=>g.replace(/&/,w))).reduce((g,w)=>g.concat(w)),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(i(h),p,u,d)}else p!=null&&u.push(h.replace(/_.*/,"").replace(/[A-Z]/g,g=>"-"+g.toLowerCase())+": "+p+";")}(u.length||d)&&l.push((n&&!f&&!c?a.map(n):a).join(", ")+" {"+u.join(" ")+"}")}for(let a in e)s(i(a),e[a],this.rules)}getRules(){return this.rules.join(`
|
|
`)}static newName(){let e=R2[T2]||1;return R2[T2]=e+1,"\u037C"+e.toString(36)}static mount(e,t,n){let i=e[Q0],s=n&&n.nonce;i?s&&i.setNonce(s):i=new J0(e,s),i.mount(Array.isArray(t)?t:[t],e)}},P2=new Map,J0=class{constructor(e,t){let n=e.ownerDocument||e,i=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&i.CSSStyleSheet){let s=P2.get(n);if(s)return e[Q0]=s;this.sheet=new i.CSSStyleSheet,P2.set(n,this)}else this.styleTag=n.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[Q0]=this}mount(e,t){let n=this.sheet,i=0,s=0;for(let a=0;a<e.length;a++){let o=e[a],l=this.modules.indexOf(o);if(l<s&&l>-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,o),n)for(let c=0;c<o.rules.length;c++)n.insertRule(o.rules[c],i++)}else{for(;s<l;)i+=this.modules[s++].rules.length;i+=o.rules.length,s++}}if(n)t.adoptedStyleSheets.indexOf(this.sheet)<0&&(t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets]);else{let a="";for(let l=0;l<this.modules.length;l++)a+=this.modules[l].getRules()+`
|
|
`;this.styleTag.textContent=a;let o=t.head||t;this.styleTag.parentNode!=o&&o.insertBefore(this.styleTag,o.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}};var Y2=require("@codemirror/language"),m5=require("@lezer/highlight"),Mt=class r{constructor(e,t,n,i){this.fromA=e,this.toA=t,this.fromB=n,this.toB=i}offset(e,t=e){return new r(this.fromA+e,this.toA+e,this.fromB+t,this.toB+t)}};function lo(r,e,t,n,i,s){if(r==n)return[];let a=ob(r,e,t,n,i,s),o=lb(r,e+a,t,n,i+a,s);e+=a,t-=o,i+=a,s-=o;let l=t-e,c=s-i;if(!l||!c)return[new Mt(e,t,i,s)];if(l>c){let f=r.slice(e,t).indexOf(n.slice(i,s));if(f>-1)return[new Mt(e,e+f,i,i),new Mt(e+f+c,t,s,s)]}else if(c>l){let f=n.slice(i,s).indexOf(r.slice(e,t));if(f>-1)return[new Mt(e,e,i,i+f),new Mt(t,t,i+f+l,s)]}if(l==1||c==1)return[new Mt(e,t,i,s)];let u=K2(r,e,t,n,i,s);if(u){let[f,d,h]=u;return lo(r,e,f,n,i,d).concat(lo(r,f+h,t,n,d+h,s))}return g5(r,e,t,n,i,s)}var rf=1e9,nf=0,ab=!1;function g5(r,e,t,n,i,s){let a=t-e,o=s-i;if(rf<1e9&&Math.min(a,o)>rf*16||nf>0&&Date.now()>nf)return Math.min(a,o)>rf*64?[new Mt(e,t,i,s)]:$2(r,e,t,n,i,s);let l=Math.ceil((a+o)/2);eb.reset(l),tb.reset(l);let c=(h,p)=>r.charCodeAt(e+h)==n.charCodeAt(i+p),u=(h,p)=>r.charCodeAt(t-h-1)==n.charCodeAt(s-p-1),f=(a-o)%2!=0?tb:null,d=f?null:eb;for(let h=0;h<l;h++){if(h>rf||nf>0&&!(h&63)&&Date.now()>nf)return $2(r,e,t,n,i,s);let p=eb.advance(h,a,o,l,f,!1,c)||tb.advance(h,a,o,l,d,!0,u);if(p)return w5(r,e,t,e+p[0],n,i,s,i+p[1])}return[new Mt(e,t,i,s)]}var gp=class{constructor(){this.vec=[]}reset(e){this.len=e<<1;for(let t=0;t<this.len;t++)this.vec[t]=-1;this.vec[e+1]=0,this.start=this.end=0}advance(e,t,n,i,s,a,o){for(let l=-e+this.start;l<=e-this.end;l+=2){let c=i+l,u=l==-e||l!=e&&this.vec[c-1]<this.vec[c+1]?this.vec[c+1]:this.vec[c-1]+1,f=u-l;for(;u<t&&f<n&&o(u,f);)u++,f++;if(this.vec[c]=u,u>t)this.end+=2;else if(f>n)this.start+=2;else if(s){let d=i+(t-n)-l;if(d>=0&&d<this.len&&s.vec[d]!=-1)if(a){let h=s.vec[d];if(h>=t-u)return[h,i+h-d]}else{let h=t-s.vec[d];if(u>=h)return[u,f]}}}return null}},eb=new gp,tb=new gp;function w5(r,e,t,n,i,s,a,o){let l=!1;return!Kl(r,n)&&++n==t&&(l=!0),!Kl(i,o)&&++o==a&&(l=!0),l?[new Mt(e,t,s,a)]:lo(r,e,n,i,s,o).concat(lo(r,n,t,i,o,a))}function Z2(r,e){let t=1,n=Math.min(r,e);for(;t<n;)t=t<<1;return t}function ob(r,e,t,n,i,s){if(e==t||e==s||r.charCodeAt(e)!=n.charCodeAt(i))return 0;let a=Z2(t-e,s-i);for(let o=e,l=i;;){let c=o+a,u=l+a;if(c>t||u>s||r.slice(o,c)!=n.slice(l,u)){if(a==1)return o-e-(Kl(r,o)?0:1);a=a>>1}else{if(c==t||u==s)return c-e;o=c,l=u}}}function lb(r,e,t,n,i,s){if(e==t||i==s||r.charCodeAt(t-1)!=n.charCodeAt(s-1))return 0;let a=Z2(t-e,s-i);for(let o=t,l=s;;){let c=o-a,u=l-a;if(c<e||u<i||r.slice(c,o)!=n.slice(u,l)){if(a==1)return t-o-(Kl(r,o)?0:1);a=a>>1}else{if(c==e||u==i)return t-c;o=c,l=u}}}function rb(r,e,t,n,i,s,a,o){let l=n.slice(i,s),c=null;for(;;){if(c||a<o)return c;for(let u=e+a;;){Kl(r,u)||u++;let f=u+a;if(Kl(r,f)||(f+=f==u+1?1:-1),f>=t)break;let d=r.slice(u,f),h=-1;for(;(h=l.indexOf(d,h+1))!=-1;){let p=ob(r,f,t,n,i+h+d.length,s),g=lb(r,e,u,n,i,i+h),w=d.length+p+g;(!c||c[2]<w)&&(c=[u-g,i+h-g,w])}u=f}if(o<0)return c;a=a>>1}}function K2(r,e,t,n,i,s){let a=t-e,o=s-i;if(a<o){let l=K2(n,i,s,r,e,t);return l&&[l[1],l[0],l[2]]}return a<4||o*2<a?null:rb(r,e,t,n,i,s,Math.floor(a/4),-1)}function $2(r,e,t,n,i,s){ab=!0;let a=t-e,o=s-i,l;if(a<o){let d=rb(n,i,s,r,e,t,Math.floor(a/6),50);l=d&&[d[1],d[0],d[2]]}else l=rb(r,e,t,n,i,s,Math.floor(o/6),50);if(!l)return[new Mt(e,t,i,s)];let[c,u,f]=l;return lo(r,e,c,n,i,u).concat(lo(r,c+f,t,n,u+f,s))}function X2(r,e){for(let t=1;t<r.length;t++){let n=r[t-1],i=r[t];n.toA>i.fromA-e&&n.toB>i.fromB-e&&(r[t-1]=new Mt(n.fromA,i.toA,n.fromB,i.toB),r.splice(t--,1))}}function v5(r,e,t){for(;;){X2(t,1);let n=!1;for(let i=0;i<t.length;i++){let s=t[i],a,o;(a=ob(r,s.fromA,s.toA,e,s.fromB,s.toB))&&(s=t[i]=new Mt(s.fromA+a,s.toA,s.fromB+a,s.toB)),(o=lb(r,s.fromA,s.toA,e,s.fromB,s.toB))&&(s=t[i]=new Mt(s.fromA,s.toA-o,s.fromB,s.toB-o));let l=s.toA-s.fromA,c=s.toB-s.fromB;if(l&&c)continue;let u=s.fromA-(i?t[i-1].toA:0),f=(i<t.length-1?t[i+1].fromA:r.length)-s.toA;if(!u||!f)continue;let d=l?r.slice(s.fromA,s.toA):e.slice(s.fromB,s.toB);u<=d.length&&r.slice(s.fromA-u,s.fromA)==d.slice(d.length-u)?(t[i]=new Mt(s.fromA-u,s.toA-u,s.fromB-u,s.toB-u),n=!0):f<=d.length&&r.slice(s.toA,s.toA+f)==d.slice(0,f)&&(t[i]=new Mt(s.fromA+f,s.toA+f,s.fromB+f,s.toB+f),n=!0)}if(!n)break}return t}function b5(r,e,t){for(let n=0,i=0;i<r.length;i++){let s=r[i],a=s.toA-s.fromA,o=s.toB-s.fromB;if(a&&o||a>3||o>3){let l=i==r.length-1?e.length:r[i+1].fromA,c=s.fromA-n,u=l-s.toA,f=F2(e,s.fromA,c),d=I2(e,s.toA,u),h=s.fromA-f,p=d-s.toA;if((!a||!o)&&h&&p){let g=Math.max(a,o),[w,b,y]=a?[e,s.fromA,s.toA]:[t,s.fromB,s.toB];g>h&&e.slice(f,s.fromA)==w.slice(y-h,y)?(s=r[i]=new Mt(f,f+a,s.fromB-h,s.toB-h),f=s.fromA,d=I2(e,s.toA,l-s.toA)):g>p&&e.slice(s.toA,d)==w.slice(b,b+p)&&(s=r[i]=new Mt(d-a,d,s.fromB+p,s.toB+p),d=s.toA,f=F2(e,s.fromA,s.fromA-n)),h=s.fromA-f,p=d-s.toA}if(h||p)s=r[i]=new Mt(s.fromA-h,s.toA+p,s.fromB-h,s.toB+p);else if(a){if(!o){let g=O2(e,s.fromA,s.toA),w,b=g<0?-1:M2(e,s.toA,s.fromA);g>-1&&(w=g-s.fromA)<=u&&e.slice(s.fromA,g)==e.slice(s.toA,s.toA+w)?s=r[i]=s.offset(w):b>-1&&(w=s.toA-b)<=c&&e.slice(s.fromA-w,s.fromA)==e.slice(b,s.toA)&&(s=r[i]=s.offset(-w))}}else{let g=O2(t,s.fromB,s.toB),w,b=g<0?-1:M2(t,s.toB,s.fromB);g>-1&&(w=g-s.fromB)<=u&&t.slice(s.fromB,g)==t.slice(s.toB,s.toB+w)?s=r[i]=s.offset(w):b>-1&&(w=s.toB-b)<=c&&t.slice(s.fromB-w,s.fromB)==t.slice(b,s.toB)&&(s=r[i]=s.offset(-w))}}n=s.toA}return X2(r,3),r}var oo;try{oo=new RegExp("[\\p{Alphabetic}\\p{Number}]","u")}catch(r){}function Q2(r){return r>48&&r<58||r>64&&r<91||r>96&&r<123}function J2(r,e){if(e==r.length)return 0;let t=r.charCodeAt(e);return t<192?Q2(t)?1:0:oo?!rR(t)||e==r.length-1?oo.test(String.fromCharCode(t))?1:0:oo.test(r.slice(e,e+2))?2:0:0}function eR(r,e){if(!e)return 0;let t=r.charCodeAt(e-1);return t<192?Q2(t)?1:0:oo?!nR(t)||e==1?oo.test(String.fromCharCode(t))?1:0:oo.test(r.slice(e-2,e))?2:0:0}var tR=8;function I2(r,e,t){if(e==r.length||!eR(r,e))return e;for(let n=e,i=e+t,s=0;s<tR;s++){let a=J2(r,n);if(!a||n+a>i)return n;n+=a}return e}function F2(r,e,t){if(!e||!J2(r,e))return e;for(let n=e,i=e-t,s=0;s<tR;s++){let a=eR(r,n);if(!a||n-a<i)return n;n-=a}return e}function M2(r,e,t){for(;e!=t;e--)if(r.charCodeAt(e-1)==10)return e;return-1}function O2(r,e,t){for(;e!=t;e++)if(r.charCodeAt(e)==10)return e;return-1}var rR=r=>r>=55296&&r<=56319,nR=r=>r>=56320&&r<=57343;function Kl(r,e){return!e||e==r.length||!rR(r.charCodeAt(e-1))||!nR(r.charCodeAt(e))}function y5(r,e,t){var n;let i=t==null?void 0:t.override;return i?i(r,e):(rf=((n=t==null?void 0:t.scanLimit)!==null&&n!==void 0?n:1e9)>>1,nf=t!=null&&t.timeout?Date.now()+t.timeout:0,ab=!1,v5(r,e,lo(r,0,r.length,e,0,e.length)))}function iR(){return!ab}function sR(r,e,t){return b5(y5(r,e,t),r,e)}var qn=Oe.Facet.define({combine:r=>r[0]}),nb=Oe.StateEffect.define(),_5=Oe.Facet.define(),Vi=Oe.StateField.define({create(r){return null},update(r,e){for(let t of e.effects)t.is(nb)&&(r=t.value);for(let t of e.state.facet(_5))r=t(r,e);return r}});function cb(r){let e=r.field(Vi,!1);if(!e)return null;let t=r.facet(qn);return{chunks:e,side:t?t.side:null}}var _s=class r{constructor(e,t,n,i,s,a=!0){this.changes=e,this.fromA=t,this.toA=n,this.fromB=i,this.toB=s,this.precise=a}offset(e,t){return e||t?new r(this.changes,this.fromA+e,this.toA+e,this.fromB+t,this.toB+t,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,t,n){let i=sR(e.toString(),t.toString(),n);return aR(i,e,t,0,0,iR())}static updateA(e,t,n,i,s){return U2(B2(e,i,!0,n.length),e,t,n,s)}static updateB(e,t,n,i,s){return U2(B2(e,i,!1,t.length),e,t,n,s)}};function D2(r,e,t,n){let i=t.lineAt(r),s=n.lineAt(e);return i.to==r&&s.to==e&&r<t.length&&e<n.length?[r+1,e+1]:[i.from,s.from]}function L2(r,e,t,n){let i=t.lineAt(r),s=n.lineAt(e);return i.from==r&&s.from==e?[r,e]:[i.to+1,s.to+1]}function aR(r,e,t,n,i,s){let a=[];for(let o=0;o<r.length;o++){let l=r[o],[c,u]=D2(l.fromA+n,l.fromB+i,e,t),[f,d]=L2(l.toA+n,l.toB+i,e,t),h=[l.offset(-c+n,-u+i)];for(;o<r.length-1;){let p=r[o+1],[g,w]=D2(p.fromA+n,p.fromB+i,e,t);if(g>f+1&&w>d+1)break;h.push(p.offset(-c+n,-u+i)),[f,d]=L2(p.toA+n,p.toB+i,e,t),o++}a.push(new _s(h,c,Math.max(c,f),u,Math.max(u,d),s))}return a}var dp=1e3;function N2(r,e,t,n){let i=0,s=r.length;for(;;){if(i==s){let u=0,f=0;i&&({toA:u,toB:f}=r[i-1]);let d=e-(t?u:f);return[u+d,f+d]}let a=i+s>>1,o=r[a],[l,c]=t?[o.fromA,o.toA]:[o.fromB,o.toB];if(l>e)s=a;else if(c<=e)i=a+1;else return n?[o.fromA,o.fromB]:[o.toA,o.toB]}}function B2(r,e,t,n){let i=[];return e.iterChangedRanges((s,a,o,l)=>{let c=0,u=t?e.length:n,f=0,d=t?n:e.length;s>dp&&([c,f]=N2(r,s-dp,t,!0)),a<e.length-dp&&([u,d]=N2(r,a+dp,t,!1));let h=l-o-(a-s),p,[g,w]=t?[h,0]:[0,h];i.length&&(p=i[i.length-1]).toA>=c?i[i.length-1]={fromA:p.fromA,fromB:p.fromB,toA:u,toB:d,diffA:p.diffA+g,diffB:p.diffB+w}:i.push({fromA:c,toA:u,fromB:f,toB:d,diffA:g,diffB:w})}),i}function U2(r,e,t,n,i){if(!r.length)return e;let s=[];for(let a=0,o=0,l=0,c=0;;a++){let u=a==r.length?null:r[a],f=u?u.fromA+o:t.length,d=u?u.fromB+l:n.length;for(;c<e.length;){let w=e[c];if(u&&(w.toA+o>f||w.toB+l>d))break;s.push(w.offset(o,l)),c++}if(!u)break;let h=u.toA+o+u.diffA,p=u.toB+l+u.diffB,g=sR(t.sliceString(f,h),n.sliceString(d,p),i);for(let w of aR(g,t,n,f,d,iR()))s.push(w);for(o+=u.diffA,l+=u.diffB;c<e.length;){let w=e[c];if(w.fromA+o>h&&w.fromB+l>p)break;c++}}return s}var x5={scanLimit:500},oR=Ge.ViewPlugin.fromClass(class{constructor(r){({deco:this.deco,gutter:this.gutter}=j2(r))}update(r){(r.docChanged||r.viewportChanged||E5(r.startState,r.state)||S5(r.startState,r.state))&&({deco:this.deco,gutter:this.gutter}=j2(r.view))}},{decorations:r=>r.deco}),hp=Oe.Prec.low((0,Ge.gutter)({class:"cm-changeGutter",markers:r=>{var e;return((e=r.plugin(oR))===null||e===void 0?void 0:e.gutter)||Oe.RangeSet.empty}}));function E5(r,e){return r.field(Vi,!1)!=e.field(Vi,!1)}function S5(r,e){return r.facet(qn)!=e.facet(qn)}var H2=Ge.Decoration.line({class:"cm-changedLine"}),k5=Ge.Decoration.mark({class:"cm-changedText"}),C5=Ge.Decoration.mark({tagName:"ins",class:"cm-insertedLine"}),A5=Ge.Decoration.mark({tagName:"del",class:"cm-deletedLine"}),G2=new class extends Ge.GutterMarker{constructor(){super(...arguments),this.elementClass="cm-changedLineGutter"}};function T5(r,e,t,n,i,s){let a=t?r.fromA:r.fromB,o=t?r.toA:r.toB,l=0;if(a!=o){i.add(a,a,H2),i.add(a,o,t?A5:C5),s&&s.add(a,a,G2);for(let c=e.iterRange(a,o-1),u=a;!c.next().done;){if(c.lineBreak){u++,i.add(u,u,H2),s&&s.add(u,u,G2);continue}let f=u+c.value.length;if(n)for(;l<r.changes.length;){let d=r.changes[l],h=a+(t?d.fromA:d.fromB),p=a+(t?d.toA:d.toB),g=Math.max(u,h),w=Math.min(f,p);if(g<w&&i.add(g,w,k5),p<f)l++;else break}u=f}}}function j2(r){let e=r.state.field(Vi),{side:t,highlightChanges:n,markGutter:i,overrideChunk:s}=r.state.facet(qn),a=t=="a",o=new Oe.RangeSetBuilder,l=i?new Oe.RangeSetBuilder:null,{from:c,to:u}=r.viewport;for(let f of e){if((a?f.fromA:f.fromB)>=u)break;(a?f.toA:f.toB)>c&&(!s||!s(r.state,f,o,l))&&T5(f,r.state.doc,a,n,o,l)}return{deco:o.finish(),gutter:l&&l.finish()}}var Zl=class extends Ge.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}},wp=Oe.StateEffect.define({map:(r,e)=>r.map(e)}),sf=Oe.StateField.define({create:()=>Ge.Decoration.none,update:(r,e)=>{for(let t of e.effects)if(t.is(wp))return t.value;return r.map(e.changes)},provide:r=>Ge.EditorView.decorations.from(r)}),pp=.01;function z2(r,e){if(r.size!=e.size)return!1;let t=r.iter(),n=e.iter();for(;t.value;){if(t.from!=n.from||Math.abs(t.value.spec.widget.height-n.value.spec.widget.height)>1)return!1;t.next(),n.next()}return!0}function R5(r,e,t){let n=new Oe.RangeSetBuilder,i=new Oe.RangeSetBuilder,s=r.state.field(sf).iter(),a=e.state.field(sf).iter(),o=0,l=0,c=0,u=0,f=r.viewport,d=e.viewport;for(let w=0;;w++){let b=w<t.length?t[w]:null,y=b?b.fromA:r.state.doc.length,k=b?b.fromB:e.state.doc.length;if(o<y){let C=r.lineBlockAt(o).top+c,S=e.lineBlockAt(l).top+u,A=C-S;A<-pp?(c-=A,n.add(o,o,Ge.Decoration.widget({widget:new Zl(-A),block:!0,side:-1}))):A>pp&&(u+=A,i.add(l,l,Ge.Decoration.widget({widget:new Zl(A),block:!0,side:-1})))}if(y>o+1e3&&o<f.from&&y>f.from&&l<d.from&&k>d.from){let C=Math.min(f.from-o,d.from-l);o+=C,l+=C,w--}else if(b)o=b.toA,l=b.toB;else break;for(;s.value&&s.from<o;)c-=s.value.spec.widget.height,s.next();for(;a.value&&a.from<l;)u-=a.value.spec.widget.height,a.next()}for(;s.value;)c-=s.value.spec.widget.height,s.next();for(;a.value;)u-=a.value.spec.widget.height,a.next();let h=r.contentHeight+c-(e.contentHeight+u);h<pp?n.add(r.state.doc.length,r.state.doc.length,Ge.Decoration.widget({widget:new Zl(-h),block:!0,side:1})):h>pp&&i.add(e.state.doc.length,e.state.doc.length,Ge.Decoration.widget({widget:new Zl(h),block:!0,side:1}));let p=n.finish(),g=i.finish();z2(p,r.state.field(sf))||r.dispatch({effects:wp.of(p)}),z2(g,e.state.field(sf))||e.dispatch({effects:wp.of(g)})}var ib=Oe.StateEffect.define({map:(r,e)=>e.mapPos(r)});var sb=class extends Ge.WidgetType{constructor(e){super(),this.lines=e}eq(e){return this.lines==e.lines}toDOM(e){let t=document.createElement("div");return t.className="cm-collapsedLines",t.textContent=e.state.phrase("$ unchanged lines",this.lines),t.addEventListener("click",n=>{let i=e.posAtDOM(n.target);e.dispatch({effects:ib.of(i)});let{side:s,sibling:a}=e.state.facet(qn);a&&a().dispatch({effects:ib.of(P5(i,e.state.field(Vi),s=="a"))})}),t}ignoreEvent(e){return e instanceof MouseEvent}get estimatedHeight(){return 27}get type(){return"collapsed-unchanged-code"}};function P5(r,e,t){let n=0,i=0;for(let s=0;;s++){let a=s<e.length?e[s]:null;if(!a||(t?a.fromA:a.fromB)>=r)return i+(r-n);[n,i]=t?[a.toA,a.toB]:[a.toB,a.toA]}}var $5=Oe.StateField.define({create(r){return Ge.Decoration.none},update(r,e){r=r.map(e.changes);for(let t of e.effects)t.is(ib)&&(r=r.update({filter:n=>n!=t.value}));if(r.size&&e.state.field(Vi)!=e.startState.field(Vi,!1)){let t=e.state.facet(qn).side=="a",n=[];for(let i of e.state.field(Vi))r.between(t?i.fromA:i.fromB,t?i.toA:i.toB,s=>{n.push(s)});n.length&&(r=r.update({filter:i=>n.indexOf(i)<0}))}return r},provide:r=>Ge.EditorView.decorations.from(r)});function V2({margin:r=3,minSize:e=4}){return $5.init(t=>I5(t,r,e))}function I5(r,e,t){let n=new Oe.RangeSetBuilder,i=r.facet(qn).side=="a",s=r.field(Vi),a=1;for(let o=0;;o++){let l=o<s.length?s[o]:null,c=o?a+e:1,u=l?r.doc.lineAt(i?l.fromA:l.fromB).number-1-e:r.doc.lines,f=u-c+1;if(f>=t&&n.add(r.doc.line(c).from,r.doc.line(u).to,Ge.Decoration.replace({widget:new sb(f),block:!0})),!l)break;a=r.doc.lineAt(Math.min(r.doc.length,i?l.toA:l.toB)).number}return n.finish()}var F5=Ge.EditorView.styleModule.of(new fp({".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"}})),M5=Ge.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"}}),W2=new Oe.Compartment,mp=new Oe.Compartment,vp=class{constructor(e){this.revertDOM=null,this.revertToA=!1,this.revertToLeft=!1,this.measuring=-1,this.diffConf=e.diffConfig||x5;let t=[Oe.Prec.low(oR),M5,F5,sf,Ge.EditorView.updateListener.of(f=>{this.measuring<0&&(f.heightChanged||f.viewportChanged)&&!f.transactions.some(d=>d.effects.some(h=>h.is(wp)))&&this.measure()})],n=[qn.of({side:"a",sibling:()=>this.b,highlightChanges:e.highlightChanges!==!1,markGutter:e.gutter!==!1})];e.gutter!==!1&&n.push(hp);let i=Oe.EditorState.create({doc:e.a.doc,selection:e.a.selection,extensions:[e.a.extensions||[],Ge.EditorView.editorAttributes.of({class:"cm-merge-a"}),mp.of(n),t]}),s=[qn.of({side:"b",sibling:()=>this.a,highlightChanges:e.highlightChanges!==!1,markGutter:e.gutter!==!1})];e.gutter!==!1&&s.push(hp);let a=Oe.EditorState.create({doc:e.b.doc,selection:e.b.selection,extensions:[e.b.extensions||[],Ge.EditorView.editorAttributes.of({class:"cm-merge-b"}),mp.of(s),t]});this.chunks=_s.build(i.doc,a.doc,this.diffConf);let o=[Vi.init(()=>this.chunks),W2.of(e.collapseUnchanged?V2(e.collapseUnchanged):[])];i=i.update({effects:Oe.StateEffect.appendConfig.of(o)}).state,a=a.update({effects:Oe.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 Ge.EditorView({state:i,parent:c,root:e.root,dispatchTransactions:f=>this.dispatch(f,this.a)}),this.b=new Ge.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,t){if(e.some(n=>n.docChanged)){let n=e[e.length-1],i=e.reduce((a,o)=>a.compose(o.changes),Oe.ChangeSet.empty(e[0].startState.doc.length));this.chunks=t==this.a?_s.updateA(this.chunks,n.newDoc,this.b.state.doc,i,this.diffConf):_s.updateB(this.chunks,this.a.state.doc,n.newDoc,i,this.diffConf),t.update([...e,n.state.update({effects:nb.of(this.chunks)})]);let s=t==this.a?this.b:this.a;s.update([s.state.update({effects:nb.of(this.chunks)})]),this.scheduleMeasure()}else t.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 t="highlightChanges"in e,n="gutter"in e,i="collapseUnchanged"in e;if(t||n||i){let s=[],a=[];if(t||n){let o=this.a.state.facet(qn),l=n?e.gutter!==!1:o.markGutter,c=t?e.highlightChanges!==!1:o.highlightChanges;s.push(mp.reconfigure([qn.of({side:"a",sibling:()=>this.b,highlightChanges:c,markGutter:l}),l?hp:[]])),a.push(mp.reconfigure([qn.of({side:"b",sibling:()=>this.a,highlightChanges:c,markGutter:l}),l?hp:[]]))}if(i){let o=W2.reconfigure(e.collapseUnchanged?V2(e.collapseUnchanged):[]);s.push(o),a.push(o)}this.a.dispatch({effects:s}),this.b.dispatch({effects:a})}this.scheduleMeasure()}setupRevertControls(e,t,n){this.revertToA=t,this.revertToLeft=this.revertToA==(this.editorDOM.firstChild==this.a.dom.parentNode),this.renderRevert=n,!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",i=>this.revertClicked(i)),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(){R5(this.a,this.b,this.chunks),this.revertDOM&&this.updateRevertButtons()}updateRevertButtons(){let e=this.revertDOM,t=e.firstChild,n=this.a.viewport,i=this.b.viewport;for(let s=0;s<this.chunks.length;s++){let a=this.chunks[s];if(a.fromA>n.to||a.fromB>i.to)break;if(a.fromA<n.from||a.fromB<i.from)continue;let o=this.a.lineBlockAt(a.fromA).top+"px";for(;t&&+t.dataset.chunk<s;)t=q2(t);t&&t.dataset.chunk==String(s)?(t.style.top!=o&&(t.style.top=o),t=t.nextSibling):e.insertBefore(this.renderRevertButton(o,s),t)}for(;t;)t=q2(t)}renderRevertButton(e,t){let n;if(this.renderRevert)n=this.renderRevert();else{n=document.createElement("button");let i=this.a.state.phrase("Revert this chunk");n.setAttribute("aria-label",i),n.setAttribute("title",i),n.textContent=this.revertToLeft?"\u21DC":"\u21DD"}return n.style.top=e,n.setAttribute("data-chunk",String(t)),n}revertClicked(e){let t=e.target,n;for(;t&&t.parentNode!=this.revertDOM;)t=t.parentNode;if(t&&(n=this.chunks[t.dataset.chunk])){let[i,s,a,o,l,c]=this.revertToA?[this.b,this.a,n.fromB,n.toB,n.fromA,n.toA]:[this.a,this.b,n.fromA,n.toA,n.fromB,n.toB],u=i.state.sliceDoc(a,Math.max(a,o-1));a!=o&&c<=s.state.doc.length&&(u+=i.state.lineBreak),s.dispatch({changes:{from:l,to:Math.min(s.state.doc.length,c),insert:u},userEvent:"revert"}),e.preventDefault()}}destroy(){this.a.destroy(),this.b.destroy(),this.measuring>-1&&(this.dom.ownerDocument.defaultView||window).cancelAnimationFrame(this.measuring),this.dom.remove()}};function q2(r){let e=r.nextSibling;return r.remove(),e}var ub=require("@codemirror/state");function bp(r,e){let t=r.lineAt(e);return!(t.text.length==0&&t.number==r.lines)?t.number:t.number-1}function fb(r,e,t){let n=[],i=r.split(`
|
|
`),s=e.split(`
|
|
`);for(let a of t){let{oldStart:o,oldLines:l,newStart:c,newLines:u}=a,f=nr.createHunk(o,l,c,u);if(a.oldLines>0){for(let d=o;d<o+l;d++)f.removed.lines.push(i[d-1]);o+l>i.length&&i.last()!=""&&(f.removed.no_nl_at_eof=!0)}if(a.newLines>0){for(let d=c;d<c+u;d++)f.added.lines.push(s[d-1]);c+u>s.length&&s.last()!=""&&(f.added.no_nl_at_eof=!0)}n.push(f)}return n}function db(r,e,t){let n=e.lineAt(r.fromA).number,i=r.fromA==r.toA?0:bp(e,r.endA)-n+1,s=t.lineAt(r.fromB).number,a=r.fromB==r.toB?0:bp(t,r.endB)-s+1,o={oldStart:n,oldLines:i,newStart:s,newLines:a};return o.oldLines==0&&(o.oldStart-=1),o.newLines==0&&(o.newStart-=1),o}var lR={scanLimit:1e3,timeout:200};function O5(r,e,t,n){let i=ub.Text.of(r.split(`
|
|
`)),s=ub.Text.of(e.split(`
|
|
`)),a=t&&n?_s.updateB(t,i,s,n,lR):_s.build(i,s,lR),o=[];for(let l=0;l<a.length;l++){let c=a[l],u=db(c,i,s);o.push(u)}return{hunks:fb(r,e,o),chunks:a}}function cR(r,e,t,n){return O5(r,e,t,n)}var xs=require("obsidian"),hi=class{static hasHunksData(e){let t=e.field(Xr,!1);return!!t&&!t.isDirty}static getHunks(e,t){let n=e.field(Xr);return n?t?n.stagedHunks:n.hunks:[]}static getHunkAtPos(e,t,n){if(!e.field(Xr))return;let s=e.doc.lineAt(t).number,a=this.getHunks(e,n);return nr.findHunk(s,a)[0]}static getCursorHunk(e,t){if(!e.field(Xr))return;let i=e.selection.main.head;return this.getHunkAtPos(e,i,t)}static getHunk(e,t,n){if(n!=null)return this.getHunkAtPos(e,n,t);if(e.selection.main.empty)return this.getCursorHunk(e,t);let i=e.selection.main.from,s=e.selection.main.to,a=e.doc.lineAt(i).number,o=bp(e.doc,s),l=this.getHunks(e,t),c=nr.createPartialHunk(l,a,o);if(!c)return;let u=e.field(Xr);if(t){let f=a,d=o;for(let h of u.hunks)a>h.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}},Xr=Xl.StateField.define({create:r=>{},update:(r,e)=>{var i,s,a;let t=r?{...r}:{maxDiffTimeMs:0,hunks:[],stagedHunks:[],chunks:void 0,isDirty:!1},n=!1;for(let o of e.effects)if(o.is(Ql)&&(t.compareText=o.value.compareText,t.compareTextHead=o.value.compareTextHead,n=(r==null?void 0:r.compareText)!==o.value.compareText,n&&(t.chunks=void 0,t.changeDesc=void 0)),o.is(yp)){let l=(i=e.startState.field(af,!1))==null?void 0:i.revision;if(o.value.revision!==l)continue;uR(t,o.value.result,e.state),t.changeDesc=void 0}if(e.docChanged){let o=!t.changeDesc||t.changeDesc.newLength===e.changes.length;console.assert(o,"Git: Hunk changes belong to different document histories."),o||(t.chunks=void 0),t.changeDesc=D5(t.changeDesc,e.changes)}if(t.compareText!==void 0){if(n||e.docChanged){t.isDirty=!0;let o=L5(e,t.compareText,t.chunks,t.changeDesc,t.maxDiffTimeMs);o&&(uR(t,o,e.state),t.changeDesc=void 0)}}else{t.compareText=void 0,t.compareTextHead=void 0,t.chunks=void 0,t.hunks=[],t.stagedHunks=[],t.isDirty=!1;let o=e.state.field(xs.editorInfoField).file;(a=(s=At.plugin)==null?void 0:s.editorIntegration.signsFeature.changeStatusBar)==null||a.display(t.hunks,o)}return t}});function uR(r,e,t){var i,s;r.hunks=e.hunks,r.chunks=e.chunks,r.isDirty=!1,r.maxDiffTimeMs=Math.max(.95*r.maxDiffTimeMs,e.diffDuration);let n=t.field(xs.editorInfoField).file;(s=(i=At.plugin)==null?void 0:i.editorIntegration.signsFeature.changeStatusBar)==null||s.display(r.hunks,n)}var af=Xl.StateField.define({create:r=>{var e,t;return{debouncer:(0,xs.debounce)(n=>{let{state:i,compareText:s,previousChunks:a,changeDesc:o,revision:l}=n,c=i.field(xs.editorEditorField,!1);if(!c)return;let u=c.state.field(af,!1);if((u==null?void 0:u.revision)!==l)return;let f=fR(i,s,a,o);c.dispatch({effects:yp.of({result:f,revision:l})})},1e3,!0),revision:{},filePath:(t=(e=r.field(xs.editorInfoField,!1))==null?void 0:e.file)==null?void 0:t.path}},update:(r,e)=>{var n,i;let t=(i=(n=e.state.field(xs.editorInfoField,!1))==null?void 0:n.file)==null?void 0:i.path;return e.docChanged||t!==r.filePath?{...r,revision:{},filePath:t}:r}});function D5(r,e){return!r||r.newLength!==e.length?e:r.composeDesc(e)}function fR(r,e,t,n){let i=r.doc.toString(),s=performance.now(),{hunks:a,chunks:o}=cR(e,i,t,n),l=performance.now()-s;return{hunks:a,chunks:o,diffDuration:l}}function L5(r,e,t,n,i){let s=r.state,a=Math.abs(r.changes.length-r.changes.newLength),o=s.field(af);if(a>1e3||i>16){o.debouncer({state:s,compareText:e,previousChunks:t,changeDesc:n,revision:o.revision});return}else return fR(s,e,t,n)}var Ql=Xl.StateEffect.define(),yp=Xl.StateEffect.define();function dR(r,e){return e.update({effects:Ql.of(r)})}m();m();m();var pt;(function(r){r.INSERT="insert",r.DELETE="delete",r.CONTEXT="context"})(pt||(pt={}));var hR={LINE_BY_LINE:"line-by-line",SIDE_BY_SIDE:"side-by-side"},pR={LINES:"lines",WORDS:"words",NONE:"none"},mR={WORD:"word",CHAR:"char"},co;(function(r){r.AUTO="auto",r.DARK="dark",r.LIGHT="light"})(co||(co={}));m();var N5=["-","[","]","/","{","}","(",")","*","+","?",".","\\","^","$","|"],B5=RegExp("["+N5.join("\\")+"]","g");function gR(r){return r.replace(B5,"\\$&")}function hb(r){return r&&r.replace(/\\/g,"/")}function wR(r){let e,t,n,i=0;for(e=0,n=r.length;e<n;e++)t=r.charCodeAt(e),i=(i<<5)-i+t,i|=0;return i}function _p(r){let e=r.length,t=-1/0;for(let n=0;n<e;n++)t=Math.max(t,r[n]);return t}function vR(r,e){let t=r.split(".");return t.length>1?t[t.length-1]:e}function bR(r,e){return e.reduce((t,n)=>t||r.startsWith(n),!1)}var yR=["a/","b/","i/","w/","c/","o/"];function pa(r,e,t){let n=t!==void 0?[...yR,t]:yR,i=e?new RegExp(`^${gR(e)} "?(.+?)"?$`):new RegExp('^"?(.+?)"?$'),[,s=""]=i.exec(r)||[],a=n.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 U5(r,e){return pa(r,"---",e)}function H5(r,e){return pa(r,"+++",e)}function _R(r,e={}){let t=[],n=null,i=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})/,w=/^new file mode (\d{6})/,b=/^copy from "?(.+)"?/,y=/^copy to "?(.+)"?/,k=/^rename from "?(.+)"?/,C=/^rename to "?(.+)"?/,S=/^similarity index (\d+)%/,A=/^dissimilarity index (\d+)%/,v=/^index ([\da-z]+)\.\.([\da-z]+)\s*(\d{6})?/,x=/^Binary files (.*) and (.*) differ/,E=/^GIT binary patch/,R=/^index ([\da-z]+),([\da-z]+)\.\.([\da-z]+)/,$=/^mode (\d{6}),(\d{6})\.\.(\d{6})/,D=/^new file mode (\d{6})/,O=/^deleted file mode (\d{6}),(\d{6})/,U=r.replace(/\\ No newline at end of file/g,"").replace(/\r\n?/g,`
|
|
`).split(`
|
|
`);function me(){i!==null&&n!==null&&(n.blocks.push(i),i=null)}function Ne(){n!==null&&(!n.oldName&&l!==null&&(n.oldName=l),!n.newName&&c!==null&&(n.newName=c),n.newName&&(t.push(n),n=null)),l=null,c=null}function Re(){me(),Ne(),n={blocks:[],deletedLines:0,addedLines:0}}function be(W){me();let te;n!==null&&((te=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@.*/.exec(W))?(n.isCombined=!1,s=parseInt(te[1],10),o=parseInt(te[2],10)):(te=/^@@@ -(\d+)(?:,\d+)? -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@@.*/.exec(W))?(n.isCombined=!0,s=parseInt(te[1],10),a=parseInt(te[2],10),o=parseInt(te[3],10)):(W.startsWith(d)&&console.error("Failed to parse lines, starting in 0!"),s=0,o=0,n.isCombined=!1)),i={lines:[],oldStartLine:s,oldStartLine2:a,newStartLine:o,header:W}}function ye(W){if(n===null||i===null||s===null||o===null)return;let te={content:W},H=n.isCombined?["+ "," +","++"]:["+"],St=n.isCombined?["- "," -","--"]:["-"];bR(W,H)?(n.addedLines++,te.type=pt.INSERT,te.oldNumber=void 0,te.newNumber=o++):bR(W,St)?(n.deletedLines++,te.type=pt.DELETE,te.oldNumber=s++,te.newNumber=void 0):(te.type=pt.CONTEXT,te.oldNumber=s++,te.newNumber=o++),i.lines.push(te)}function ae(W,te){let H=te;for(;H<U.length-3;){if(W.startsWith("diff"))return!1;if(U[H].startsWith(u)&&U[H+1].startsWith(f)&&U[H+2].startsWith(d))return!0;H++}return!1}return U.forEach((W,te)=>{if(!W||W.startsWith("*"))return;let H,St=U[te-1],st=U[te+1],Bt=U[te+2];if(W.startsWith("diff --git")||W.startsWith("diff --combined")){if(Re(),(H=/^diff --git "?([a-ciow]\/.+)"? "?([a-ciow]\/.+)"?/.exec(W))&&(l=pa(H[1],void 0,e.dstPrefix),c=pa(H[2],void 0,e.srcPrefix)),n===null)throw new Error("Where is my file !!!");n.isGitDiff=!0;return}if(W.startsWith("Binary files")&&!(n!=null&&n.isGitDiff)){if(Re(),(H=/^Binary files "?([a-ciow]\/.+)"? and "?([a-ciow]\/.+)"? differ/.exec(W))&&(l=pa(H[1],void 0,e.dstPrefix),c=pa(H[2],void 0,e.srcPrefix)),n===null)throw new Error("Where is my file !!!");n.isBinary=!0;return}if((!n||!n.isGitDiff&&n&&W.startsWith(u)&&st.startsWith(f)&&Bt.startsWith(d))&&Re(),n!=null&&n.isTooBig)return;if(n&&(typeof e.diffMaxChanges=="number"&&n.addedLines+n.deletedLines>e.diffMaxChanges||typeof e.diffMaxLineLength=="number"&&W.length>e.diffMaxLineLength)){n.isTooBig=!0,n.addedLines=0,n.deletedLines=0,n.blocks=[],i=null;let kt=typeof e.diffTooBigMessage=="function"?e.diffTooBigMessage(t.length):"Diff too big to be displayed";be(kt);return}if(W.startsWith(u)&&st.startsWith(f)||W.startsWith(f)&&St.startsWith(u)){if(n&&!n.oldName&&W.startsWith("--- ")&&(H=U5(W,e.srcPrefix))){n.oldName=H,n.language=vR(n.oldName,n.language);return}if(n&&!n.newName&&W.startsWith("+++ ")&&(H=H5(W,e.dstPrefix))){n.newName=H,n.language=vR(n.newName,n.language);return}}if(n&&(W.startsWith(d)||n.isGitDiff&&n.oldName&&n.newName&&!i)){be(W);return}if(i&&(W.startsWith("+")||W.startsWith("-")||W.startsWith(" "))){ye(W);return}let Ze=!ae(W,te);if(n===null)throw new Error("Where is my file !!!");(H=h.exec(W))?n.oldMode=H[1]:(H=p.exec(W))?n.newMode=H[1]:(H=g.exec(W))?(n.deletedFileMode=H[1],n.isDeleted=!0):(H=w.exec(W))?(n.newFileMode=H[1],n.isNew=!0):(H=b.exec(W))?(Ze&&(n.oldName=H[1]),n.isCopy=!0):(H=y.exec(W))?(Ze&&(n.newName=H[1]),n.isCopy=!0):(H=k.exec(W))?(Ze&&(n.oldName=H[1]),n.isRename=!0):(H=C.exec(W))?(Ze&&(n.newName=H[1]),n.isRename=!0):(H=x.exec(W))?(n.isBinary=!0,n.oldName=pa(H[1],void 0,e.srcPrefix),n.newName=pa(H[2],void 0,e.dstPrefix),be("Binary file")):E.test(W)?(n.isBinary=!0,be(W)):(H=S.exec(W))?n.unchangedPercentage=parseInt(H[1],10):(H=A.exec(W))?n.changedPercentage=parseInt(H[1],10):(H=v.exec(W))?(n.checksumBefore=H[1],n.checksumAfter=H[2],H[3]&&(n.mode=H[3])):(H=R.exec(W))?(n.checksumBefore=[H[2],H[3]],n.checksumAfter=H[1]):(H=$.exec(W))?(n.oldMode=[H[2],H[3]],n.newMode=H[1]):(H=D.exec(W))?(n.newFileMode=H[1],n.isNew=!0):(H=O.exec(W))&&(n.deletedFileMode=H[1],n.isDeleted=!0)}),me(),Ne(),t}m();m();m();m();var ma=class{diff(e,t,n={}){let i;typeof n=="function"?(i=n,n={}):"callback"in n&&(i=n.callback);let s=this.castInput(e,n),a=this.castInput(t,n),o=this.removeEmpty(this.tokenize(s,n)),l=this.removeEmpty(this.tokenize(a,n));return this.diffWithOptionsObj(o,l,n,i)}diffWithOptionsObj(e,t,n,i){var s;let a=y=>{if(y=this.postProcess(y,n),i){setTimeout(function(){i(y)},0);return}else return y},o=t.length,l=e.length,c=1,u=o+l;n.maxEditLength!=null&&(u=Math.min(u,n.maxEditLength));let f=(s=n.timeout)!==null&&s!==void 0?s:1/0,d=Date.now()+f,h=[{oldPos:-1,lastComponent:void 0}],p=this.extractCommon(h[0],t,e,0,n);if(h[0].oldPos+1>=l&&p+1>=o)return a(this.buildValues(h[0].lastComponent,t,e));let g=-1/0,w=1/0,b=()=>{for(let y=Math.max(g,-c);y<=Math.min(w,c);y+=2){let k,C=h[y-1],S=h[y+1];C&&(h[y-1]=void 0);let A=!1;if(S){let x=S.oldPos-y;A=S&&0<=x&&x<o}let v=C&&C.oldPos+1<l;if(!A&&!v){h[y]=void 0;continue}if(!v||A&&C.oldPos<S.oldPos?k=this.addToPath(S,!0,!1,0,n):k=this.addToPath(C,!1,!0,1,n),p=this.extractCommon(k,t,e,y,n),k.oldPos+1>=l&&p+1>=o)return a(this.buildValues(k.lastComponent,t,e))||!0;h[y]=k,k.oldPos+1>=l&&(w=Math.min(w,y-1)),p+1>=o&&(g=Math.max(g,y+1))}c++};if(i)(function y(){setTimeout(function(){if(c>u||Date.now()>d)return i(void 0);b()||y()},0)})();else for(;c<=u&&Date.now()<=d;){let y=b();if(y)return y}}addToPath(e,t,n,i,s){let a=e.lastComponent;return a&&!s.oneChangePerToken&&a.added===t&&a.removed===n?{oldPos:e.oldPos+i,lastComponent:{count:a.count+1,added:t,removed:n,previousComponent:a.previousComponent}}:{oldPos:e.oldPos+i,lastComponent:{count:1,added:t,removed:n,previousComponent:a}}}extractCommon(e,t,n,i,s){let a=t.length,o=n.length,l=e.oldPos,c=l-i,u=0;for(;c+1<a&&l+1<o&&this.equals(n[l+1],t[c+1],s);)c++,l++,u++,s.oneChangePerToken&&(e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1});return u&&!s.oneChangePerToken&&(e.lastComponent={count:u,previousComponent:e.lastComponent,added:!1,removed:!1}),e.oldPos=l,c}equals(e,t,n){return n.comparator?n.comparator(e,t):e===t||!!n.ignoreCase&&e.toLowerCase()===t.toLowerCase()}removeEmpty(e){let t=[];for(let n=0;n<e.length;n++)e[n]&&t.push(e[n]);return t}castInput(e,t){return e}tokenize(e,t){return Array.from(e)}join(e){return e.join("")}postProcess(e,t){return e}get useLongestToken(){return!1}buildValues(e,t,n){let i=[],s;for(;e;)i.push(e),s=e.previousComponent,delete e.previousComponent,e=s;i.reverse();let a=i.length,o=0,l=0,c=0;for(;o<a;o++){let u=i[o];if(u.removed)u.value=this.join(n.slice(c,c+u.count)),c+=u.count;else{if(!u.added&&this.useLongestToken){let f=t.slice(l,l+u.count);f=f.map(function(d,h){let p=n[c+h];return p.length>d.length?p:d}),u.value=this.join(f)}else u.value=this.join(t.slice(l,l+u.count));l+=u.count,u.added||(c+=u.count)}}return i}};m();var pb=class extends ma{},xR=new pb;function mb(r,e,t){return xR.diff(r,e,t)}m();m();function gb(r,e){let t;for(t=0;t<r.length&&t<e.length;t++)if(r[t]!=e[t])return r.slice(0,t);return r.slice(0,t)}function wb(r,e){let t;if(!r||!e||r[r.length-1]!=e[e.length-1])return"";for(t=0;t<r.length&&t<e.length;t++)if(r[r.length-(t+1)]!=e[e.length-(t+1)])return r.slice(-t);return r.slice(-t)}function xp(r,e,t){if(r.slice(0,e.length)!=e)throw Error(`string ${JSON.stringify(r)} doesn't start with prefix ${JSON.stringify(e)}; this is a bug`);return t+r.slice(e.length)}function Ep(r,e,t){if(!e)return r+t;if(r.slice(-e.length)!=e)throw Error(`string ${JSON.stringify(r)} doesn't end with suffix ${JSON.stringify(e)}; this is a bug`);return r.slice(0,-e.length)+t}function Jl(r,e){return xp(r,e,"")}function of(r,e){return Ep(r,e,"")}function vb(r,e){return e.slice(0,j5(r,e))}function j5(r,e){let t=0;r.length>e.length&&(t=r.length-e.length);let n=e.length;r.length<e.length&&(n=r.length);let i=Array(n),s=0;i[0]=0;for(let a=1;a<n;a++){for(e[a]==e[s]?i[a]=i[s]:i[a]=s;s>0&&e[a]!=e[s];)s=i[s];e[a]==e[s]&&s++}s=0;for(let a=t;a<r.length;a++){for(;s>0&&r[a]!=e[s];)s=i[s];r[a]==e[s]&&s++}return s}function bb(r,e){let t=[];for(let n of Array.from(e.segment(r))){let i=n.segment;t.length&&/\s/.test(t[t.length-1])&&/\s/.test(i)?t[t.length-1]+=i:t.push(i)}return t}function Sp(r,e){if(e)return ec(r,e)[1];let t;for(t=r.length-1;t>=0&&r[t].match(/\s/);t--);return r.substring(t+1)}function uo(r,e){if(e)return ec(r,e)[0];let t=r.match(/^\s*/);return t?t[0]:""}function ec(r,e){if(!e)return[uo(r),Sp(r)];if(e.resolvedOptions().granularity!="word")throw new Error('The segmenter passed must have a granularity of "word"');let t=bb(r,e),n=t[0],i=t[t.length-1],s=/\s/.test(n)?n:"",a=/\s/.test(i)?i:"";return[s,a]}var kp="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}",z5=new RegExp(`[${kp}]+|\\s+|[^${kp}]`,"ug"),yb=class extends ma{equals(e,t,n){return n.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e.trim()===t.trim()}tokenize(e,t={}){let n;if(t.intlSegmenter){let a=t.intlSegmenter;if(a.resolvedOptions().granularity!="word")throw new Error('The segmenter passed must have a granularity of "word"');n=bb(e,a)}else n=e.match(z5)||[];let i=[],s=null;return n.forEach(a=>{/\s/.test(a)?s==null?i.push(a):i.push(i.pop()+a):s!=null&&/\s/.test(s)?i[i.length-1]==s?i.push(i.pop()+a):i.push(s+a):i.push(a),s=a}),i}join(e){return e.map((t,n)=>n==0?t:t.replace(/^\s+/,"")).join("")}postProcess(e,t){if(!e||t.oneChangePerToken)return e;let n=null,i=null,s=null;return e.forEach(a=>{a.added?i=a:a.removed?s=a:((i||s)&&ER(n,s,i,a,t.intlSegmenter),n=a,i=null,s=null)}),(i||s)&&ER(n,s,i,null,t.intlSegmenter),e}},V5=new yb;function ER(r,e,t,n,i){if(e&&t){let[s,a]=ec(e.value,i),[o,l]=ec(t.value,i);if(r){let c=gb(s,o);r.value=Ep(r.value,o,c),e.value=Jl(e.value,c),t.value=Jl(t.value,c)}if(n){let c=wb(a,l);n.value=xp(n.value,l,c),e.value=of(e.value,c),t.value=of(t.value,c)}}else if(t){if(r){let s=uo(t.value,i);t.value=t.value.substring(s.length)}if(n){let s=uo(n.value,i);n.value=n.value.substring(s.length)}}else if(r&&n){let s=uo(n.value,i),[a,o]=ec(e.value,i),l=gb(s,a);e.value=Jl(e.value,l);let c=wb(Jl(s,l),o);e.value=of(e.value,c),n.value=xp(n.value,s,c),r.value=Ep(r.value,s,s.slice(0,s.length-c.length))}else if(n){let s=uo(n.value,i),a=Sp(e.value,i),o=vb(a,s);e.value=of(e.value,o)}else if(r){let s=Sp(r.value,i),a=uo(e.value,i),o=vb(s,a);e.value=Jl(e.value,o)}}var _b=class extends ma{tokenize(e){let t=new RegExp(`(\\r?\\n)|[${kp}]+|[^\\S\\n\\r]+|[^${kp}]`,"ug");return e.match(t)||[]}},SR=new _b;function xb(r,e,t){return SR.diff(r,e,t)}m();function q5(r,e){if(r.length===0)return e.length;if(e.length===0)return r.length;let t=[],n;for(n=0;n<=e.length;n++)t[n]=[n];let i;for(i=0;i<=r.length;i++)t[0][i]=i;for(n=1;n<=e.length;n++)for(i=1;i<=r.length;i++)e.charAt(n-1)===r.charAt(i-1)?t[n][i]=t[n-1][i-1]:t[n][i]=Math.min(t[n-1][i-1]+1,Math.min(t[n][i-1]+1,t[n-1][i]+1));return t[e.length][r.length]}function tc(r){return(e,t)=>{let n=r(e).trim(),i=r(t).trim();return q5(n,i)/(n.length+i.length)}}function rc(r){function e(n,i,s=new Map){let a=1/0,o;for(let l=0;l<n.length;++l)for(let c=0;c<i.length;++c){let u=JSON.stringify([n[l],i[c]]),f;s.has(u)&&(f=s.get(u))||(f=r(n[l],i[c]),s.set(u,f)),f<a&&(a=f,o={indexA:l,indexB:c,score:a})}return o}function t(n,i,s=0,a=new Map){let o=e(n,i,a);if(!o||n.length+i.length<3)return[[n,i]];let l=n.slice(0,o.indexA),c=i.slice(0,o.indexB),u=[n[o.indexA]],f=[i[o.indexB]],d=o.indexA+1,h=o.indexB+1,p=n.slice(d),g=i.slice(h),w=t(l,c,s+1,a),b=t(u,f,s+1,a),y=t(p,g,s+1,a),k=b;return(o.indexA>0||o.indexB>0)&&(k=w.concat(k)),(n.length>d||i.length>h)&&(k=k.concat(y)),k}return t}var hr={INSERTS:"d2h-ins",DELETES:"d2h-del",CONTEXT:"d2h-cntx",INFO:"d2h-info",INSERT_CHANGES:"d2h-ins d2h-change",DELETE_CHANGES:"d2h-del d2h-change"},fo={matching:pR.NONE,matchWordsThreshold:.25,maxLineLengthHighlight:1e4,diffStyle:mR.WORD,colorScheme:co.LIGHT},Wi="/",kR=tc(r=>r.value),Y5=rc(kR);function Sb(r){return r.indexOf("dev/null")!==-1}function Z5(r){return r.replace(/(<ins[^>]*>((.|\n)*?)<\/ins>)/g,"")}function K5(r){return r.replace(/(<del[^>]*>((.|\n)*?)<\/del>)/g,"")}function nc(r){switch(r){case pt.CONTEXT:return hr.CONTEXT;case pt.INSERT:return hr.INSERTS;case pt.DELETE:return hr.DELETES}}function ic(r){switch(r){case co.DARK:return"d2h-dark-color-scheme";case co.AUTO:return"d2h-auto-color-scheme";case co.LIGHT:default:return"d2h-light-color-scheme"}}function X5(r){return r?2:1}function ga(r){return r.slice(0).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")}function Yn(r,e,t=!0){let n=X5(e);return{prefix:r.substring(0,n),content:t?ga(r.substring(n)):r.substring(n)}}function ho(r){let e=hb(r.oldName),t=hb(r.newName);if(e!==t&&!Sb(e)&&!Sb(t)){let n=[],i=[],s=e.split(Wi),a=t.split(Wi),o=s.length,l=a.length,c=0,u=o-1,f=l-1;for(;c<u&&c<f&&s[c]===a[c];)n.push(a[c]),c+=1;for(;u>c&&f>c&&s[u]===a[f];)i.unshift(a[f]),u-=1,f-=1;let d=n.join(Wi),h=i.join(Wi),p=s.slice(c,u+1).join(Wi),g=a.slice(c,f+1).join(Wi);return d.length&&h.length?d+Wi+"{"+p+" \u2192 "+g+"}"+Wi+h:d.length?d+Wi+"{"+p+" \u2192 "+g+"}":h.length?"{"+p+" \u2192 "+g+"}"+Wi+h:e+" \u2192 "+t}else return Sb(t)?e:t}function sc(r){return`d2h-${wR(ho(r)).toString().slice(-6)}`}function ac(r){let e="file-changed";return r.isRename||r.isCopy?e="file-renamed":r.isNew?e="file-added":r.isDeleted?e="file-deleted":r.newName!==r.oldName&&(e="file-renamed"),e}function Cp(r,e,t,n={}){let{matching:i,maxLineLengthHighlight:s,matchWordsThreshold:a,diffStyle:o}=Object.assign(Object.assign({},fo),n),l=Yn(r,t,!1),c=Yn(e,t,!1);if(l.content.length>s||c.content.length>s)return{oldLine:{prefix:l.prefix,content:ga(l.content)},newLine:{prefix:c.prefix,content:ga(c.content)}};let u=o==="char"?mb(l.content,c.content):xb(l.content,c.content),f=[];if(o==="word"&&i==="words"){let h=u.filter(w=>w.removed),p=u.filter(w=>w.added);Y5(p,h).forEach(w=>{w[0].length===1&&w[1].length===1&&kR(w[0][0],w[1][0])<a&&(f.push(w[0][0]),f.push(w[1][0]))})}let d=u.reduce((h,p)=>{let g=p.added?"ins":p.removed?"del":null,w=f.indexOf(p)>-1?' class="d2h-change"':"",b=ga(p.value);return g!==null?`${h}<${g}${w}>${b}</${g}>`:`${h}${b}`},"");return{oldLine:{prefix:l.prefix,content:Z5(d)},newLine:{prefix:c.prefix,content:K5(d)}}}var CR="file-summary",Q5="icon",J5={colorScheme:fo.colorScheme},Ap=class{constructor(e,t={}){this.hoganUtils=e,this.config=Object.assign(Object.assign({},J5),t)}render(e){let t=e.map(n=>this.hoganUtils.render(CR,"line",{fileHtmlId:sc(n),oldName:n.oldName,newName:n.newName,fileName:ho(n),deletedLines:"-"+n.deletedLines,addedLines:"+"+n.addedLines},{fileIcon:this.hoganUtils.template(Q5,ac(n))})).join(`
|
|
`);return this.hoganUtils.render(CR,"wrapper",{colorScheme:ic(this.config.colorScheme),filesNumber:e.length,files:t})}};m();var Cb=Object.assign(Object.assign({},fo),{renderNothingWhenEmpty:!1,matchingMaxComparisons:2500,maxLineSizeInBlockForComparison:200}),lf="generic",AR="line-by-line",eG="icon",tG="tag",cf=class{constructor(e,t={}){this.hoganUtils=e,this.config=Object.assign(Object.assign({},Cb),t)}render(e){let t=e.map(n=>{let i;return n.blocks.length?i=this.generateFileHtml(n):i=this.generateEmptyDiff(),this.makeFileDiffHtml(n,i)}).join(`
|
|
`);return this.hoganUtils.render(lf,"wrapper",{colorScheme:ic(this.config.colorScheme),content:t})}makeFileDiffHtml(e,t){if(this.config.renderNothingWhenEmpty&&Array.isArray(e.blocks)&&e.blocks.length===0)return"";let n=this.hoganUtils.template(AR,"file-diff"),i=this.hoganUtils.template(lf,"file-path"),s=this.hoganUtils.template(eG,"file"),a=this.hoganUtils.template(tG,ac(e));return n.render({file:e,fileHtmlId:sc(e),diffs:t,filePath:i.render({fileDiffName:ho(e)},{fileIcon:s,fileTag:a})})}generateEmptyDiff(){return this.hoganUtils.render(lf,"empty-diff",{contentClass:"d2h-code-line",CSSLineClass:hr})}generateFileHtml(e){let t=rc(tc(n=>Yn(n.content,e.isCombined).content));return e.blocks.map(n=>{let i=this.hoganUtils.render(lf,"block-header",{CSSLineClass:hr,blockHeader:e.isTooBig?n.header:ga(n.header),lineClass:"d2h-code-linenumber",contentClass:"d2h-code-line"});return this.applyLineGroupping(n).forEach(([s,a,o])=>{if(a.length&&o.length&&!s.length)this.applyRematchMatching(a,o,t).map(([l,c])=>{let{left:u,right:f}=this.processChangedLines(e,e.isCombined,l,c);i+=u,i+=f});else if(s.length)s.forEach(l=>{let{prefix:c,content:u}=Yn(l.content,e.isCombined);i+=this.generateSingleLineHtml(e,{type:hr.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);i+=l,i+=c}else console.error("Unknown state reached while processing groups of lines",s,a,o)}),i}).join(`
|
|
`)}applyLineGroupping(e){let t=[],n=[],i=[];for(let s=0;s<e.lines.length;s++){let a=e.lines[s];(a.type!==pt.INSERT&&i.length||a.type===pt.CONTEXT&&n.length>0)&&(t.push([[],n,i]),n=[],i=[]),a.type===pt.CONTEXT?t.push([[a],[],[]]):a.type===pt.INSERT&&n.length===0?t.push([[],[],[a]]):a.type===pt.INSERT&&n.length>0?i.push(a):a.type===pt.DELETE&&n.push(a)}return(n.length||i.length)&&(t.push([[],n,i]),n=[],i=[]),t}applyRematchMatching(e,t,n){let i=e.length*t.length,s=_p(e.concat(t).map(o=>o.content.length));return i<this.config.matchingMaxComparisons&&s<this.config.maxLineSizeInBlockForComparison&&(this.config.matching==="lines"||this.config.matching==="words")?n(e,t):[[e,t]]}processChangedLines(e,t,n,i){let s={right:"",left:""},a=Math.max(n.length,i.length);for(let o=0;o<a;o++){let l=n[o],c=i[o],u=l!==void 0&&c!==void 0?Cp(l.content,c.content,t,this.config):void 0,f=l!==void 0&&l.oldNumber!==void 0?Object.assign(Object.assign({},u!==void 0?{prefix:u.oldLine.prefix,content:u.oldLine.content,type:hr.DELETE_CHANGES}:Object.assign(Object.assign({},Yn(l.content,t)),{type:nc(l.type)})),{oldNumber:l.oldNumber,newNumber:l.newNumber}):void 0,d=c!==void 0&&c.newNumber!==void 0?Object.assign(Object.assign({},u!==void 0?{prefix:u.newLine.prefix,content:u.newLine.content,type:hr.INSERT_CHANGES}:Object.assign(Object.assign({},Yn(c.content,t)),{type:nc(c.type)})),{oldNumber:c.oldNumber,newNumber:c.newNumber}):void 0,{left:h,right:p}=this.generateLineHtml(e,f,d);s.left+=h,s.right+=p}return s}generateLineHtml(e,t,n){return{left:this.generateSingleLineHtml(e,t),right:this.generateSingleLineHtml(e,n)}}generateSingleLineHtml(e,t){if(t===void 0)return"";let n=this.hoganUtils.render(AR,"numbers",{oldNumber:t.oldNumber||"",newNumber:t.newNumber||""});return this.hoganUtils.render(lf,"line",{type:t.type,lineClass:"d2h-code-linenumber",contentClass:"d2h-code-line",prefix:t.prefix===" "?" ":t.prefix,content:t.content,lineNumber:n,line:t,file:e})}};m();var Ab=Object.assign(Object.assign({},fo),{renderNothingWhenEmpty:!1,matchingMaxComparisons:2500,maxLineSizeInBlockForComparison:200}),uf="generic",rG="side-by-side",nG="icon",iG="tag",ff=class{constructor(e,t={}){this.hoganUtils=e,this.config=Object.assign(Object.assign({},Ab),t)}render(e){let t=e.map(n=>{let i;return n.blocks.length?i=this.generateFileHtml(n):i=this.generateEmptyDiff(),this.makeFileDiffHtml(n,i)}).join(`
|
|
`);return this.hoganUtils.render(uf,"wrapper",{colorScheme:ic(this.config.colorScheme),content:t})}makeFileDiffHtml(e,t){if(this.config.renderNothingWhenEmpty&&Array.isArray(e.blocks)&&e.blocks.length===0)return"";let n=this.hoganUtils.template(rG,"file-diff"),i=this.hoganUtils.template(uf,"file-path"),s=this.hoganUtils.template(nG,"file"),a=this.hoganUtils.template(iG,ac(e));return n.render({file:e,fileHtmlId:sc(e),diffs:t,filePath:i.render({fileDiffName:ho(e)},{fileIcon:s,fileTag:a})})}generateEmptyDiff(){return{right:"",left:this.hoganUtils.render(uf,"empty-diff",{contentClass:"d2h-code-side-line",CSSLineClass:hr})}}generateFileHtml(e){let t=rc(tc(n=>Yn(n.content,e.isCombined).content));return e.blocks.map(n=>{let i={left:this.makeHeaderHtml(n.header,e),right:this.makeHeaderHtml("")};return this.applyLineGroupping(n).forEach(([s,a,o])=>{if(a.length&&o.length&&!s.length)this.applyRematchMatching(a,o,t).map(([l,c])=>{let{left:u,right:f}=this.processChangedLines(e.isCombined,l,c);i.left+=u,i.right+=f});else if(s.length)s.forEach(l=>{let{prefix:c,content:u}=Yn(l.content,e.isCombined),{left:f,right:d}=this.generateLineHtml({type:hr.CONTEXT,prefix:c,content:u,number:l.oldNumber},{type:hr.CONTEXT,prefix:c,content:u,number:l.newNumber});i.left+=f,i.right+=d});else if(a.length||o.length){let{left:l,right:c}=this.processChangedLines(e.isCombined,a,o);i.left+=l,i.right+=c}else console.error("Unknown state reached while processing groups of lines",s,a,o)}),i}).reduce((n,i)=>({left:n.left+i.left,right:n.right+i.right}),{left:"",right:""})}applyLineGroupping(e){let t=[],n=[],i=[];for(let s=0;s<e.lines.length;s++){let a=e.lines[s];(a.type!==pt.INSERT&&i.length||a.type===pt.CONTEXT&&n.length>0)&&(t.push([[],n,i]),n=[],i=[]),a.type===pt.CONTEXT?t.push([[a],[],[]]):a.type===pt.INSERT&&n.length===0?t.push([[],[],[a]]):a.type===pt.INSERT&&n.length>0?i.push(a):a.type===pt.DELETE&&n.push(a)}return(n.length||i.length)&&(t.push([[],n,i]),n=[],i=[]),t}applyRematchMatching(e,t,n){let i=e.length*t.length,s=_p(e.concat(t).map(o=>o.content.length));return i<this.config.matchingMaxComparisons&&s<this.config.maxLineSizeInBlockForComparison&&(this.config.matching==="lines"||this.config.matching==="words")?n(e,t):[[e,t]]}makeHeaderHtml(e,t){return this.hoganUtils.render(uf,"block-header",{CSSLineClass:hr,blockHeader:t!=null&&t.isTooBig?e:ga(e),lineClass:"d2h-code-side-linenumber",contentClass:"d2h-code-side-line"})}processChangedLines(e,t,n){let i={right:"",left:""},s=Math.max(t.length,n.length);for(let a=0;a<s;a++){let o=t[a],l=n[a],c=o!==void 0&&l!==void 0?Cp(o.content,l.content,e,this.config):void 0,u=o!==void 0&&o.oldNumber!==void 0?Object.assign(Object.assign({},c!==void 0?{prefix:c.oldLine.prefix,content:c.oldLine.content,type:hr.DELETE_CHANGES}:Object.assign(Object.assign({},Yn(o.content,e)),{type:nc(o.type)})),{number:o.oldNumber}):void 0,f=l!==void 0&&l.newNumber!==void 0?Object.assign(Object.assign({},c!==void 0?{prefix:c.newLine.prefix,content:c.newLine.content,type:hr.INSERT_CHANGES}:Object.assign(Object.assign({},Yn(l.content,e)),{type:nc(l.type)})),{number:l.newNumber}):void 0,{left:d,right:h}=this.generateLineHtml(u,f);i.left+=d,i.right+=h}return i}generateLineHtml(e,t){return{left:this.generateSingleHtml(e),right:this.generateSingleHtml(t)}}generateSingleHtml(e){let t="d2h-code-side-linenumber",n="d2h-code-side-line";return this.hoganUtils.render(uf,"line",{type:(e==null?void 0:e.type)||`${hr.CONTEXT} d2h-emptyplaceholder`,lineClass:e!==void 0?t:`${t} d2h-code-side-emptyplaceholder`,contentClass:e!==void 0?n:`${n} d2h-code-side-emptyplaceholder`,prefix:(e==null?void 0:e.prefix)===" "?" ":e==null?void 0:e.prefix,content:e==null?void 0:e.content,lineNumber:e==null?void 0:e.number})}};m();var $b=Ke(Pb());m();var Ot=Ke(Pb()),Rt={};Rt["file-summary-line"]=new Ot.Template({code:function(r,e,t){var n=this;return n.b(t=t||""),n.b('<li class="d2h-file-list-line">'),n.b(`
|
|
`+t),n.b(' <span class="d2h-file-name-wrapper">'),n.b(`
|
|
`+t),n.b(n.rp("<fileIcon0",r,e," ")),n.b(' <a href="#'),n.b(n.v(n.f("fileHtmlId",r,e,0))),n.b('" class="d2h-file-name">'),n.b(n.v(n.f("fileName",r,e,0))),n.b("</a>"),n.b(`
|
|
`+t),n.b(' <span class="d2h-file-stats">'),n.b(`
|
|
`+t),n.b(' <span class="d2h-lines-added">'),n.b(n.v(n.f("addedLines",r,e,0))),n.b("</span>"),n.b(`
|
|
`+t),n.b(' <span class="d2h-lines-deleted">'),n.b(n.v(n.f("deletedLines",r,e,0))),n.b("</span>"),n.b(`
|
|
`+t),n.b(" </span>"),n.b(`
|
|
`+t),n.b(" </span>"),n.b(`
|
|
`+t),n.b("</li>"),n.fl()},partials:{"<fileIcon0":{name:"fileIcon",partials:{},subs:{}}},subs:{}});Rt["file-summary-wrapper"]=new Ot.Template({code:function(r,e,t){var n=this;return n.b(t=t||""),n.b('<div class="d2h-file-list-wrapper '),n.b(n.v(n.f("colorScheme",r,e,0))),n.b('">'),n.b(`
|
|
`+t),n.b(' <div class="d2h-file-list-header">'),n.b(`
|
|
`+t),n.b(' <span class="d2h-file-list-title">Files changed ('),n.b(n.v(n.f("filesNumber",r,e,0))),n.b(")</span>"),n.b(`
|
|
`+t),n.b(' <a class="d2h-file-switch d2h-hide">hide</a>'),n.b(`
|
|
`+t),n.b(' <a class="d2h-file-switch d2h-show">show</a>'),n.b(`
|
|
`+t),n.b(" </div>"),n.b(`
|
|
`+t),n.b(' <ol class="d2h-file-list">'),n.b(`
|
|
`+t),n.b(" "),n.b(n.t(n.f("files",r,e,0))),n.b(`
|
|
`+t),n.b(" </ol>"),n.b(`
|
|
`+t),n.b("</div>"),n.fl()},partials:{},subs:{}});Rt["generic-block-header"]=new Ot.Template({code:function(r,e,t){var n=this;return n.b(t=t||""),n.b("<tr>"),n.b(`
|
|
`+t),n.b(' <td class="'),n.b(n.v(n.f("lineClass",r,e,0))),n.b(" "),n.b(n.v(n.d("CSSLineClass.INFO",r,e,0))),n.b('"></td>'),n.b(`
|
|
`+t),n.b(' <td class="'),n.b(n.v(n.d("CSSLineClass.INFO",r,e,0))),n.b('">'),n.b(`
|
|
`+t),n.b(' <div class="'),n.b(n.v(n.f("contentClass",r,e,0))),n.b('">'),n.s(n.f("blockHeader",r,e,1),r,e,0,156,173,"{{ }}")&&(n.rs(r,e,function(i,s,a){a.b(a.t(a.f("blockHeader",i,s,0)))}),r.pop()),n.s(n.f("blockHeader",r,e,1),r,e,1,0,0,"")||n.b(" "),n.b("</div>"),n.b(`
|
|
`+t),n.b(" </td>"),n.b(`
|
|
`+t),n.b("</tr>"),n.fl()},partials:{},subs:{}});Rt["generic-empty-diff"]=new Ot.Template({code:function(r,e,t){var n=this;return n.b(t=t||""),n.b("<tr>"),n.b(`
|
|
`+t),n.b(' <td class="'),n.b(n.v(n.d("CSSLineClass.INFO",r,e,0))),n.b('">'),n.b(`
|
|
`+t),n.b(' <div class="'),n.b(n.v(n.f("contentClass",r,e,0))),n.b('">'),n.b(`
|
|
`+t),n.b(" File without changes"),n.b(`
|
|
`+t),n.b(" </div>"),n.b(`
|
|
`+t),n.b(" </td>"),n.b(`
|
|
`+t),n.b("</tr>"),n.fl()},partials:{},subs:{}});Rt["generic-file-path"]=new Ot.Template({code:function(r,e,t){var n=this;return n.b(t=t||""),n.b('<span class="d2h-file-name-wrapper">'),n.b(`
|
|
`+t),n.b(n.rp("<fileIcon0",r,e," ")),n.b(' <span class="d2h-file-name">'),n.b(n.v(n.f("fileDiffName",r,e,0))),n.b("</span>"),n.b(`
|
|
`+t),n.b(n.rp("<fileTag1",r,e," ")),n.b("</span>"),n.b(`
|
|
`+t),n.b('<label class="d2h-file-collapse">'),n.b(`
|
|
`+t),n.b(' <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed">'),n.b(`
|
|
`+t),n.b(" Viewed"),n.b(`
|
|
`+t),n.b("</label>"),n.fl()},partials:{"<fileIcon0":{name:"fileIcon",partials:{},subs:{}},"<fileTag1":{name:"fileTag",partials:{},subs:{}}},subs:{}});Rt["generic-line"]=new Ot.Template({code:function(r,e,t){var n=this;return n.b(t=t||""),n.b("<tr>"),n.b(`
|
|
`+t),n.b(' <td class="'),n.b(n.v(n.f("lineClass",r,e,0))),n.b(" "),n.b(n.v(n.f("type",r,e,0))),n.b('">'),n.b(`
|
|
`+t),n.b(" "),n.b(n.t(n.f("lineNumber",r,e,0))),n.b(`
|
|
`+t),n.b(" </td>"),n.b(`
|
|
`+t),n.b(' <td class="'),n.b(n.v(n.f("type",r,e,0))),n.b('">'),n.b(`
|
|
`+t),n.b(' <div class="'),n.b(n.v(n.f("contentClass",r,e,0))),n.b('">'),n.b(`
|
|
`+t),n.s(n.f("prefix",r,e,1),r,e,0,162,238,"{{ }}")&&(n.rs(r,e,function(i,s,a){a.b(' <span class="d2h-code-line-prefix">'),a.b(a.t(a.f("prefix",i,s,0))),a.b("</span>"),a.b(`
|
|
`+t)}),r.pop()),n.s(n.f("prefix",r,e,1),r,e,1,0,0,"")||(n.b(' <span class="d2h-code-line-prefix"> </span>'),n.b(`
|
|
`+t)),n.s(n.f("content",r,e,1),r,e,0,371,445,"{{ }}")&&(n.rs(r,e,function(i,s,a){a.b(' <span class="d2h-code-line-ctn">'),a.b(a.t(a.f("content",i,s,0))),a.b("</span>"),a.b(`
|
|
`+t)}),r.pop()),n.s(n.f("content",r,e,1),r,e,1,0,0,"")||(n.b(' <span class="d2h-code-line-ctn"><br></span>'),n.b(`
|
|
`+t)),n.b(" </div>"),n.b(`
|
|
`+t),n.b(" </td>"),n.b(`
|
|
`+t),n.b("</tr>"),n.fl()},partials:{},subs:{}});Rt["generic-wrapper"]=new Ot.Template({code:function(r,e,t){var n=this;return n.b(t=t||""),n.b('<div class="d2h-wrapper '),n.b(n.v(n.f("colorScheme",r,e,0))),n.b('">'),n.b(`
|
|
`+t),n.b(" "),n.b(n.t(n.f("content",r,e,0))),n.b(`
|
|
`+t),n.b("</div>"),n.fl()},partials:{},subs:{}});Rt["icon-file-added"]=new Ot.Template({code:function(r,e,t){var n=this;return n.b(t=t||""),n.b('<svg aria-hidden="true" class="d2h-icon d2h-added" height="16" title="added" version="1.1" viewBox="0 0 14 16"'),n.b(`
|
|
`+t),n.b(' width="14">'),n.b(`
|
|
`+t),n.b(' <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM6 9H3V7h3V4h2v3h3v2H8v3H6V9z"></path>'),n.b(`
|
|
`+t),n.b("</svg>"),n.fl()},partials:{},subs:{}});Rt["icon-file-changed"]=new Ot.Template({code:function(r,e,t){var n=this;return n.b(t=t||""),n.b('<svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1"'),n.b(`
|
|
`+t),n.b(' viewBox="0 0 14 16" width="14">'),n.b(`
|
|
`+t),n.b(' <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path>'),n.b(`
|
|
`+t),n.b("</svg>"),n.fl()},partials:{},subs:{}});Rt["icon-file-deleted"]=new Ot.Template({code:function(r,e,t){var n=this;return n.b(t=t||""),n.b('<svg aria-hidden="true" class="d2h-icon d2h-deleted" height="16" title="removed" version="1.1"'),n.b(`
|
|
`+t),n.b(' viewBox="0 0 14 16" width="14">'),n.b(`
|
|
`+t),n.b(' <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM11 9H3V7h8v2z"></path>'),n.b(`
|
|
`+t),n.b("</svg>"),n.fl()},partials:{},subs:{}});Rt["icon-file-renamed"]=new Ot.Template({code:function(r,e,t){var n=this;return n.b(t=t||""),n.b('<svg aria-hidden="true" class="d2h-icon d2h-moved" height="16" title="renamed" version="1.1"'),n.b(`
|
|
`+t),n.b(' viewBox="0 0 14 16" width="14">'),n.b(`
|
|
`+t),n.b(' <path d="M6 9H3V7h3V4l5 4-5 4V9z m8-7v12c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h12c0.55 0 1 0.45 1 1z m-1 0H1v12h12V2z"></path>'),n.b(`
|
|
`+t),n.b("</svg>"),n.fl()},partials:{},subs:{}});Rt["icon-file"]=new Ot.Template({code:function(r,e,t){var n=this;return n.b(t=t||""),n.b('<svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12">'),n.b(`
|
|
`+t),n.b(' <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path>'),n.b(`
|
|
`+t),n.b("</svg>"),n.fl()},partials:{},subs:{}});Rt["line-by-line-file-diff"]=new Ot.Template({code:function(r,e,t){var n=this;return n.b(t=t||""),n.b('<div id="'),n.b(n.v(n.f("fileHtmlId",r,e,0))),n.b('" class="d2h-file-wrapper" data-lang="'),n.b(n.v(n.d("file.language",r,e,0))),n.b('">'),n.b(`
|
|
`+t),n.b(' <div class="d2h-file-header">'),n.b(`
|
|
`+t),n.b(" "),n.b(n.t(n.f("filePath",r,e,0))),n.b(`
|
|
`+t),n.b(" </div>"),n.b(`
|
|
`+t),n.b(' <div class="d2h-file-diff">'),n.b(`
|
|
`+t),n.b(' <div class="d2h-code-wrapper">'),n.b(`
|
|
`+t),n.b(' <table class="d2h-diff-table">'),n.b(`
|
|
`+t),n.b(' <tbody class="d2h-diff-tbody">'),n.b(`
|
|
`+t),n.b(" "),n.b(n.t(n.f("diffs",r,e,0))),n.b(`
|
|
`+t),n.b(" </tbody>"),n.b(`
|
|
`+t),n.b(" </table>"),n.b(`
|
|
`+t),n.b(" </div>"),n.b(`
|
|
`+t),n.b(" </div>"),n.b(`
|
|
`+t),n.b("</div>"),n.fl()},partials:{},subs:{}});Rt["line-by-line-numbers"]=new Ot.Template({code:function(r,e,t){var n=this;return n.b(t=t||""),n.b('<div class="line-num1">'),n.b(n.v(n.f("oldNumber",r,e,0))),n.b("</div>"),n.b(`
|
|
`+t),n.b('<div class="line-num2">'),n.b(n.v(n.f("newNumber",r,e,0))),n.b("</div>"),n.fl()},partials:{},subs:{}});Rt["side-by-side-file-diff"]=new Ot.Template({code:function(r,e,t){var n=this;return n.b(t=t||""),n.b('<div id="'),n.b(n.v(n.f("fileHtmlId",r,e,0))),n.b('" class="d2h-file-wrapper" data-lang="'),n.b(n.v(n.d("file.language",r,e,0))),n.b('">'),n.b(`
|
|
`+t),n.b(' <div class="d2h-file-header">'),n.b(`
|
|
`+t),n.b(" "),n.b(n.t(n.f("filePath",r,e,0))),n.b(`
|
|
`+t),n.b(" </div>"),n.b(`
|
|
`+t),n.b(' <div class="d2h-files-diff">'),n.b(`
|
|
`+t),n.b(' <div class="d2h-file-side-diff">'),n.b(`
|
|
`+t),n.b(' <div class="d2h-code-wrapper">'),n.b(`
|
|
`+t),n.b(' <table class="d2h-diff-table">'),n.b(`
|
|
`+t),n.b(' <tbody class="d2h-diff-tbody">'),n.b(`
|
|
`+t),n.b(" "),n.b(n.t(n.d("diffs.left",r,e,0))),n.b(`
|
|
`+t),n.b(" </tbody>"),n.b(`
|
|
`+t),n.b(" </table>"),n.b(`
|
|
`+t),n.b(" </div>"),n.b(`
|
|
`+t),n.b(" </div>"),n.b(`
|
|
`+t),n.b(' <div class="d2h-file-side-diff">'),n.b(`
|
|
`+t),n.b(' <div class="d2h-code-wrapper">'),n.b(`
|
|
`+t),n.b(' <table class="d2h-diff-table">'),n.b(`
|
|
`+t),n.b(' <tbody class="d2h-diff-tbody">'),n.b(`
|
|
`+t),n.b(" "),n.b(n.t(n.d("diffs.right",r,e,0))),n.b(`
|
|
`+t),n.b(" </tbody>"),n.b(`
|
|
`+t),n.b(" </table>"),n.b(`
|
|
`+t),n.b(" </div>"),n.b(`
|
|
`+t),n.b(" </div>"),n.b(`
|
|
`+t),n.b(" </div>"),n.b(`
|
|
`+t),n.b("</div>"),n.fl()},partials:{},subs:{}});Rt["tag-file-added"]=new Ot.Template({code:function(r,e,t){var n=this;return n.b(t=t||""),n.b('<span class="d2h-tag d2h-added d2h-added-tag">ADDED</span>'),n.fl()},partials:{},subs:{}});Rt["tag-file-changed"]=new Ot.Template({code:function(r,e,t){var n=this;return n.b(t=t||""),n.b('<span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span>'),n.fl()},partials:{},subs:{}});Rt["tag-file-deleted"]=new Ot.Template({code:function(r,e,t){var n=this;return n.b(t=t||""),n.b('<span class="d2h-tag d2h-deleted d2h-deleted-tag">DELETED</span>'),n.fl()},partials:{},subs:{}});Rt["tag-file-renamed"]=new Ot.Template({code:function(r,e,t){var n=this;return n.b(t=t||""),n.b('<span class="d2h-tag d2h-moved d2h-moved-tag">RENAMED</span>'),n.fl()},partials:{},subs:{}});var df=class{constructor({compiledTemplates:e={},rawTemplates:t={}}){let n=Object.entries(t).reduce((i,[s,a])=>{let o=$b.compile(a,{asString:!1});return Object.assign(Object.assign({},i),{[s]:o})},{});this.preCompiledTemplates=Object.assign(Object.assign(Object.assign({},Rt),e),n)}static compile(e){return $b.compile(e,{asString:!1})}render(e,t,n,i,s){let a=this.templateKey(e,t);try{return this.preCompiledTemplates[a].render(n,i,s)}catch(o){throw new Error(`Could not find template to render '${a}'`)}}template(e,t){return this.preCompiledTemplates[this.templateKey(e,t)]}templateKey(e,t){return`${e}-${t}`}};var aG=Object.assign(Object.assign(Object.assign({},Cb),Ab),{outputFormat:hR.LINE_BY_LINE,drawFileList:!0});function Rp(r,e={}){let t=Object.assign(Object.assign({},aG),e),n=typeof r=="string"?_R(r,t):r,i=new df(t),{colorScheme:s}=t,a={colorScheme:s},o=t.drawFileList?new Ap(i,a).render(n):"",l=t.outputFormat==="side-by-side"?new ff(i,t).render(n):new cf(i,t).render(n);return o+l}var OR=Ke(FR(),1);var po=require("obsidian"),Ib=hf.StateEffect.define();function wa(r,e){let t=r.state,n=t.field($p),i=t.field(Xr),s=t.doc.lineAt(e!=null?e:t.selection.main.head).number,a=nr.findHunk(s,i==null?void 0:i.hunks)[0];if(!a)return;let o=t.doc.line(Math.max(1,a.added.start)).from,l=n.has(o);return t.field(po.editorEditorField).dispatch({effects:Ib.of({pos:o,add:!l})})}var $p=hf.StateField.define({create:()=>new Set,update(r,e){let t=new Set;for(let n of e.effects)n.is(Ib)&&(n.value.add?r.add(n.value.pos):r.delete(n.value.pos));for(let n of r)t.add(e.changes.mapPos(n));return t}}),DR=hf.StateField.define({create:r=>MR(r),update(r,e){return e.docChanged||e.effects.some(t=>t.is(Ql)||t.is(Ib))?MR(e.state):r},provide:r=>Pp.showTooltip.computeN([r],e=>e.field(r))}),LR=Pp.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 MR(r){let e=r.field(Xr);return e?[...r.field($p)].map(n=>{let i=r.doc.lineAt(n),s=nr.findHunk(i.number,e.hunks)[0];if(s)return{pos:n,above:!1,arrow:!1,strictSide:!0,clip:!1,create:()=>oG(s,r,n)}}).filter(n=>n!==void 0):[]}function oG(r,e,t){var g,w;let n=nr.createPatch("file",[r],"10064",!1).join(`
|
|
`)+`
|
|
`,i=Rp(n,{colorScheme:OR.ColorSchemeType.AUTO,diffStyle:"word",drawFileList:!1}),s=new DOMParser().parseFromString(i,"text/html").querySelector(".d2h-file-diff"),a=createDiv();a.addClass("tooltip-toolbar");let o=(b,y)=>{let k=createDiv();return(0,po.setIcon)(k,b),k.setAttr("aria-label",y),k.addClass("clickable-icon"),k},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(po.editorEditorField);l.onclick=()=>{wa(d,t)},c.onclick=()=>{let b=At.plugin;b&&(b.promiseQueue.addTask(()=>b.hunkActions.stageHunk(t)),wa(d,t))},u.onclick=()=>{let b=At.plugin;b&&(b.hunkActions.resetHunk(t),wa(d,t))};let h=(w=(g=At.plugin)==null?void 0:g.app.workspace.getActiveViewOfType(po.MarkdownView))==null?void 0:w.scope,p=h==null?void 0:h.register(null,"Escape",(b,y)=>{wa(d,t)});return{dom:f,destroy:()=>{p&&(h==null||h.unregister(p))},update:b=>{t=b.changes.mapPos(t)}}}function NR(r){let e=r.app;r.addCommand({id:"edit-gitignore",name:"Edit .gitignore",callback:async()=>{let t=r.gitManager.getRelativeVaultPath(".gitignore");await e.vault.adapter.exists(t)||await e.vault.adapter.write(t,"");let n=await e.vault.adapter.read(t),s=await new up(e,n).openAndGetReslt();s!==void 0&&(await e.vault.adapter.write(t,s),await r.refresh())}}),r.addCommand({id:"open-git-view",name:"Open source control view",callback:async()=>{var i;let t=e.workspace.getLeavesOfType(fr.type),n;t.length===0?(n=(i=e.workspace.getRightLeaf(!1))!=null?i:e.workspace.getLeaf(),await n.setViewState({type:fr.type})):n=t.first(),await e.workspace.revealLeaf(n),e.workspace.trigger("obsidian-git:refresh")}}),r.addCommand({id:"open-history-view",name:"Open history view",callback:async()=>{var i;let t=e.workspace.getLeavesOfType(jn.type),n;t.length===0?(n=(i=e.workspace.getRightLeaf(!1))!=null?i:e.workspace.getLeaf(),await n.setViewState({type:jn.type})):n=t.first(),await e.workspace.revealLeaf(n),e.workspace.trigger("obsidian-git:refresh")}}),r.addCommand({id:"open-diff-view",name:"Open diff view",checkCallback:t=>{let n=e.workspace.getActiveFile();if(t)return n!==null;{let i=r.gitManager.getRelativeRepoPath(n.path,!0);return r.tools.openDiff({aFile:i,aRef:""}),!0}}}),r.addCommand({id:"view-file-on-github",name:"Open file on GitHub",editorCallback:(t,{file:n})=>{if(n)return S2(t,n,r.gitManager)}}),r.addCommand({id:"view-history-on-github",name:"Open file history on GitHub",editorCallback:(t,{file:n})=>{if(n)return k2(n,r.gitManager)}}),r.addCommand({id:"pull",name:"Pull",callback:()=>r.promiseQueue.addTask(()=>r.gitActions.pullChangesFromRemote())}),r.addCommand({id:"fetch",name:"Fetch",callback:()=>r.promiseQueue.addTask(()=>r.gitActions.fetch())}),r.addCommand({id:"switch-to-remote-branch",name:"Switch to remote branch",callback:()=>r.promiseQueue.addTask(()=>r.gitActions.switchRemoteBranch())}),r.addCommand({id:"add-to-gitignore",name:"Add file to .gitignore",checkCallback:t=>{let n=e.workspace.getActiveFile();return t?n!==null:(r.promiseQueue.addTask(()=>r.gitActions.addFileToGitignore(n.path,n instanceof pf.TFolder)),!0)}}),r.addCommand({id:"push",name:"Commit-and-sync",callback:()=>r.promiseQueue.addTask(()=>r.gitActions.commitAndSync({fromAutoBackup:!1}))}),r.addCommand({id:"backup-and-close",name:"Commit-and-sync and then close Obsidian",callback:()=>r.promiseQueue.addTask(async()=>{await r.gitActions.commitAndSync({fromAutoBackup:!1}),window.close()})}),r.addCommand({id:"commit-push-specified-message",name:"Commit-and-sync with specific message",callback:()=>r.promiseQueue.addTask(()=>r.gitActions.commitAndSync({fromAutoBackup:!1,requestCustomMessage:!0}))}),r.addCommand({id:"commit",name:"Commit all changes",callback:()=>r.promiseQueue.addTask(()=>r.gitActions.commit({fromAuto:!1,mode:"all"}))}),r.addCommand({id:"commit-specified-message",name:"Commit all changes with specific message",callback:()=>r.promiseQueue.addTask(()=>r.gitActions.commit({fromAuto:!1,requestCustomMessage:!0,mode:"all"}))}),r.addCommand({id:"commit-smart",name:"Commit",callback:()=>r.promiseQueue.addTask(()=>r.gitActions.commit({fromAuto:!1,requestCustomMessage:!1,mode:"smart"}))}),r.addCommand({id:"commit-staged",name:"Commit staged",callback:()=>r.promiseQueue.addTask(()=>r.gitActions.commit({fromAuto:!1,requestCustomMessage:!1,mode:"staged"}))}),r.addCommand({id:"commit-amend-staged-specified-message",name:"Amend staged",callback:()=>r.promiseQueue.addTask(()=>r.gitActions.commit({fromAuto:!1,requestCustomMessage:!0,mode:"staged",amend:!0}))}),r.addCommand({id:"commit-smart-specified-message",name:"Commit with specific message",callback:()=>r.promiseQueue.addTask(()=>r.gitActions.commit({fromAuto:!1,requestCustomMessage:!0,mode:"smart"}))}),r.addCommand({id:"commit-staged-specified-message",name:"Commit staged with specific message",callback:()=>r.promiseQueue.addTask(()=>r.gitActions.commit({fromAuto:!1,requestCustomMessage:!0,mode:"staged"}))}),r.addCommand({id:"push2",name:"Push",callback:()=>r.promiseQueue.addTask(()=>r.gitActions.push())}),r.addCommand({id:"stage-current-file",name:"Stage current file",checkCallback:t=>{let n=e.workspace.getActiveFile();return t?n!==null:(r.promiseQueue.addTask(()=>r.gitActions.stageFile(n)),!0)}}),r.addCommand({id:"unstage-current-file",name:"Unstage current file",checkCallback:t=>{let n=e.workspace.getActiveFile();return t?n!==null:(r.promiseQueue.addTask(()=>r.gitActions.unstageFile(n)),!0)}}),r.addCommand({id:"edit-remotes",name:"Edit remotes",callback:()=>r.promiseQueue.addTask(()=>r.gitActions.editRemotes())}),r.addCommand({id:"remove-remote",name:"Remove remote",callback:()=>r.promiseQueue.addTask(()=>r.gitActions.removeRemote())}),r.addCommand({id:"set-upstream-branch",name:"Set upstream branch",callback:()=>r.promiseQueue.addTask(()=>r.gitActions.setUpstreamBranch())}),r.addCommand({id:"delete-repo",name:"CAUTION: Delete repository",callback:()=>r.promiseQueue.addTask(()=>r.gitActions.deleteRepository())}),r.addCommand({id:"init-repo",name:"Initialize a new repo",callback:()=>r.promiseQueue.addTask(()=>r.gitActions.createNewRepo())}),r.addCommand({id:"clone-repo",name:"Clone an existing remote repo",callback:()=>r.promiseQueue.addTask(()=>r.gitActions.cloneNewRepo())}),r.addCommand({id:"list-changed-files",name:"List changed files",callback:()=>r.gitActions.listChangedFiles()}),r.addCommand({id:"switch-branch",name:"Switch branch",callback:()=>r.promiseQueue.addTask(()=>r.gitActions.switchBranch())}),r.addCommand({id:"create-branch",name:"Create new branch",callback:()=>r.promiseQueue.addTask(()=>r.gitActions.createBranch())}),r.addCommand({id:"delete-branch",name:"Delete branch",callback:()=>r.promiseQueue.addTask(()=>r.gitActions.deleteBranch())}),r.addCommand({id:"discard-all",name:"CAUTION: Discard all changes",callback:()=>r.promiseQueue.addTask(()=>r.gitActions.discardAll())}),r.addCommand({id:"pause-automatic-routines",name:"Pause/Resume automatic routines",callback:()=>{let t=!r.localStorage.getPausedAutomatics();r.localStorage.setPausedAutomatics(t),t?(r.automaticsManager.unload(),new pf.Notice("Paused automatic routines.")):(r.automaticsManager.reload("commit","push","pull"),new pf.Notice("Resumed automatic routines."))}}),r.addCommand({id:"raw-command",name:"Raw command",checkCallback:t=>{let n=r.gitManager;return t?n instanceof Me:(r.tools.runRawCommand(),!0)}}),r.addCommand({id:"toggle-line-author-info",name:"Toggle line author information",callback:()=>{var t;return(t=r.settingsTab)==null?void 0:t.configureLineAuthorShowStatus(!r.settings.lineAuthor.show)}}),r.addCommand({id:"reset-hunk",name:"Reset hunk",editorCheckCallback(t,n,i){return t?r.settings.hunks.hunkCommands&&r.hunkActions.editor!==void 0:(r.hunkActions.resetHunk(),!0)}}),r.addCommand({id:"stage-hunk",name:"Stage hunk",editorCheckCallback:(t,n,i)=>t?r.settings.hunks.hunkCommands&&r.hunkActions.editor!==void 0:(r.promiseQueue.addTask(()=>r.hunkActions.stageHunk()),!0)}),r.addCommand({id:"preview-hunk",name:"Preview hunk",editorCheckCallback:(t,n,i)=>{if(t)return r.settings.hunks.hunkCommands&&r.hunkActions.editor!==void 0;let s=r.hunkActions.editor.editor;return wa(s),!0}}),r.addCommand({id:"next-hunk",name:"Go to next hunk",editorCheckCallback:(t,n,i)=>t?r.settings.hunks.hunkCommands&&r.hunkActions.editor!==void 0:(r.hunkActions.goToHunk("next"),!0)}),r.addCommand({id:"prev-hunk",name:"Go to previous hunk",editorCheckCallback:(t,n,i)=>t?r.settings.hunks.hunkCommands&&r.hunkActions.editor!==void 0:(r.hunkActions.goToHunk("prev"),!0)})}m();var Ip=class{constructor(e){this.plugin=e;this.prefix=this.plugin.manifest.id+":",this.app=e.app}migrate(){let e=["password","hostname","lastAutoPull","lastAutoBackup","lastAutoPush","gitPath","pluginDisabled"];for(let t of e){let n=localStorage.getItem(this.prefix+t);this.app.loadLocalStorage(this.prefix+t)==null&&n!=null&&n!=null&&(this.app.saveLocalStorage(this.prefix+t,n),localStorage.removeItem(this.prefix+t))}}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)}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,t;return(t=(e=this.app.loadLocalStorage(this.prefix+"PATHPaths"))==null?void 0:e.split(":"))!=null?t:[]}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 Fp=require("obsidian");var mf=class{constructor(e){this.plugin=e}async hasTooBigFiles(e){let t=await this.plugin.gitManager.branchInfo(),n=t.tracking?fa(t.tracking)[0]:null;if(!n)return!1;let i=await this.plugin.gitManager.getRemoteUrl(n);if(i!=null&&i.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 Fp.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 Me&&(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}openDiff({aFile:e,bFile:t,aRef:n,bRef:i,event:s}){var l,c;let a=this.plugin.settings.diffStyle;Fp.Platform.isMobileApp&&(a="git_unified");let o={aFile:e,bFile:t!=null?t:e,aRef:n,bRef:i};a=="split"?(l=bn(this.plugin.app,s))==null||l.setViewState({type:oa.type,active:!0,state:o}):a=="git_unified"&&((c=bn(this.plugin.app,s))==null||c.setViewState({type:la.type,active:!0,state:o}))}async openFileAtCommit(e,t){let n={file:e,ref:t};await this.plugin.app.workspace.getLeaf("tab").setViewState({type:aa.type,active:!0,state:n})}async runRawCommand(){if(!(this.plugin.gitManager instanceof Me))return;let t=await new ft(this.plugin,{placeholder:"push origin master",allowEmpty:!1}).openAndGetResult();t!==void 0&&this.plugin.promiseQueue.addTask(()=>this.plugin.gitActions.runRawCommand(t))}};m();var Mp=require("obsidian");var mo=class extends Mp.ItemView{constructor(t,n){super(t);this.plugin=n;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 la.type}getDisplayText(){var t;if(((t=this.state)==null?void 0:t.bFile)!=null){let n=this.state.bFile.split("/").last();return n!=null&&n.endsWith(".md")&&(n=n.slice(0,-3)),`Diff: ${n}`}return la.name}getIcon(){return la.icon}async setState(t,n){this.state=t,Mp.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 t;if((t=this.state)!=null&&t.bFile&&!this.gettingDiff&&this.plugin.gitManager){this.gettingDiff=!0;try{let n=await this.plugin.gitManager.getDiffString(this.state.bFile,this.state.aRef=="HEAD",this.state.bRef);this.contentEl.empty();let i=this.plugin.gitManager.getRelativeVaultPath(this.state.bFile);if(!n){if(this.plugin.gitManager instanceof Me&&await this.plugin.gitManager.isTracked(this.state.bFile))n=[`--- ${this.state.aFile}`,`+++ ${this.state.bFile}`,""].join(`
|
|
`);else if(await this.app.vault.adapter.exists(i)){let s=await this.app.vault.adapter.read(i);n=[...`--- /dev/null
|
|
+++ ${this.state.bFile}
|
|
@@ -0,0 +1,${s.split(`
|
|
`).length} @@`.split(`
|
|
`),...s.split(`
|
|
`).map(o=>`+${o}`)].join(`
|
|
`)}}if(n){let s=this.parser.parseFromString(Rp(n),"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 Es=require("obsidian");var lc=require("@codemirror/commands");var Dp=require("@codemirror/search"),oc=require("@codemirror/state"),pi=require("@codemirror/view");m();var Op=require("obsidian"),Fb=require("@codemirror/view");function lG(r){return r.selection.ranges.filter(e=>!e.empty).map(e=>r.sliceDoc(e.from,e.to)).join(r.lineBreak)}function cG(r){r.dispatch({...r.state.replaceSelection(""),userEvent:"delete.cut"})}function BR(r,e){r.dispatch({...r.state.replaceSelection(e),scrollIntoView:!0,userEvent:"input.paste"})}async function UR(r){if(!r&&navigator.clipboard.read){let e=await navigator.clipboard.read();for(let t of e)if(t.types.includes("text/html")){let n=await(await t.getType("text/html")).text();return(0,Op.htmlToMarkdown)(n)}}return navigator.clipboard.readText()}var HR=Fb.EditorView.domEventHandlers({contextmenu(r,e){r.preventDefault();let t=lG(e.state),n=!e.state.readOnly&&e.state.facet(Fb.EditorView.editable),i=Op.Menu.forEvent(r);return i.addItem(s=>s.setTitle("Cut").setIcon("scissors").setDisabled(!n||t.length===0).onClick(async()=>{await navigator.clipboard.writeText(t),cG(e)})),i.addItem(s=>s.setTitle("Copy").setIcon("copy").setDisabled(t.length===0).onClick(()=>navigator.clipboard.writeText(t))),i.addItem(s=>s.setTitle("Paste").setIcon("clipboard-paste").setDisabled(!n).onClick(async()=>BR(e,await UR(!1)))),i.addItem(s=>s.setTitle("Paste as plain text").setIcon("clipboard-type").setDisabled(!n).onClick(async()=>BR(e,await UR(!0)))),i.addItem(s=>s.setTitle("Select all").setIcon("scan").onClick(()=>e.dispatch({selection:{anchor:0,head:e.state.doc.length}}))),i.showAtMouseEvent(r),!0}});var GR=pi.EditorView.theme({"& .cm-content":{caretColor:"transparent !important"},"&.cm-focused .cm-cursor, & .cm-dropCursor":{display:"none !important"}}),uG=10;function fG(r,e){let t=Number.isInteger(r)&&r>0?r:Yr.diffTimeout;return e?t:t*uG}var go=class extends Es.ItemView{constructor(t,n){super(t);this.plugin=n;this.refreshing=!1;this.indexUnmerged=!1;this.ignoreNextModification=!1;this.navigation=!0,this.registerEvent(this.app.workspace.on("obsidian-git:status-changed",()=>{!this.mergeView||this.indexUnmerged?this.createMergeView().catch(console.error):this.updateRefEditors().catch(console.error)})),this.intervalRef=window.setInterval(()=>{this.mergeView&&this.updateRefEditors().catch(console.error)},30*1e3),this.registerEvent(this.app.vault.on("modify",i=>{this.isWorkingTreeBFile(i.path)&&(this.ignoreNextModification?this.ignoreNextModification=!1:this.updateModifiableEditor().catch(console.error))})),this.registerEvent(this.app.vault.on("delete",i=>{this.isWorkingTreeBFile(i.path)&&this.createMergeView().catch(console.error)})),this.registerEvent(this.app.vault.on("create",i=>{this.isWorkingTreeBFile(i.path)&&this.createMergeView().catch(console.error)})),this.registerEvent(this.app.vault.on("rename",(i,s)=>{(this.isWorkingTreeBFile(i.path)||this.isWorkingTreeBFile(s))&&this.createMergeView().catch(console.error)})),this.fileSaveDebouncer=(0,Es.debounce)(i=>{let s=this.state.bFile;s&&(this.ignoreNextModification=!0,this.plugin.app.vault.adapter.write(this.plugin.gitManager.getRelativeVaultPath(s),i).catch(a=>this.plugin.displayError(a)))},1e3,!1)}isWorkingTreeBFile(t){var n;return((n=this.state)==null?void 0:n.bFile)==null||this.state.bRef!=null||!this.plugin.gitManager?!1:t===this.plugin.gitManager.getRelativeVaultPath(this.state.bFile)}getViewType(){return oa.type}getDisplayText(){var t;if(((t=this.state)==null?void 0:t.bFile)!=null){let n=this.state.bFile.split("/").last();n!=null&&n.endsWith(".md")&&(n=n.slice(0,-3));let i;return this.state.bRef==null?i=" (Working Tree)":this.state.bRef==""?i=" (Index)":i="("+this.state.bRef.substring(0,7)+")",`Diff: ${n} ${i}`}return oa.name}getIcon(){return oa.icon}async setState(t,n){this.state=t,Es.Platform.isMobile&&(this.leaf.view.titleEl.textContent=this.getDisplayText()),await super.setState(t,n),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(t,n){try{return await this.plugin.gitManager.show(t,n,!1)}catch(i){if(i instanceof dr){if(t===""&&i.message.includes("is in the index, but not at stage 0")){this.indexUnmerged=!0;try{return await this.plugin.gitManager.show(":2",n,!1)}catch(s){if(s instanceof dr&&s.message.includes("is in the index, but not at stage 2"))return"";throw s}}if(i.message.includes("does not exist")||i.message.includes("unknown revision or path")||i.message.includes("exists on disk, but not in")||i.message.includes("fatal: bad object"))return i.message.includes("fatal: bad object")&&this.plugin.displayError(i.message),""}throw i}}async bShouldBeEditable(){if(this.state.bRef!=null)return!1;let t=this.plugin.gitManager.getRelativeVaultPath(this.state.bFile);return await this.app.vault.adapter.exists(t)}async updateModifiableEditor(){if(!this.mergeView||this.refreshing)return;let t=this.mergeView.b;this.refreshing=!0;try{let n=await this.app.vault.adapter.read(this.plugin.gitManager.getRelativeVaultPath(this.state.bFile));if(n!=t.state.doc.toString()){let i=t.state.update({changes:{from:0,to:t.state.doc.length,insert:n},annotations:[oc.Transaction.remote.of(!0)]});t.dispatch(i)}}finally{this.refreshing=!1}}async updateRefEditors(){if(!this.mergeView||this.refreshing)return;let t=this.mergeView.a,n=this.mergeView.b;this.refreshing=!0;try{let i=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)),this.indexUnmerged){this.refreshing=!1,await this.createMergeView();return}if(i!=t.state.doc.toString()){let a=t.state.update({changes:{from:0,to:t.state.doc.length,insert:i}});t.dispatch(a)}if(s!=null&&s!=n.state.doc.toString()){let a=n.state.update({changes:{from:0,to:n.state.doc.length,insert:s}});n.dispatch(a)}}finally{this.refreshing=!1}}renderButtons(t){let n=t.createDiv(),i=n.createDiv();if(i.addClass("clickable-icon"),i.setAttr("aria-label",this.state.bRef==null?"Stage hunk":"Unstage hunk"),(0,Es.setIcon)(i,this.state.bRef==null?"plus":"minus"),i.onmousedown=async s=>{var p;let a=this.mergeView.b,o=this.mergeView.a,l=cb(a.state),c=(p=n.parentElement)==null?void 0:p.indexOf(n),u=l.chunks[c],f=db(u,o.state.doc,a.state.doc),d=fb(this.mergeView.a.state.doc.toString(),this.mergeView.b.state.doc.toString(),[f])[0],h=nr.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=n.createDiv();s.addClass("clickable-icon"),s.setAttr("aria-label","Reset hunk"),(0,Es.setIcon)(s,"undo"),s.onmousedown=a=>{var d;let o=this.mergeView.a,l=this.mergeView.b,c=cb(l.state),u=(d=n.parentElement)==null?void 0:d.indexOf(n),f=c.chunks[u];if(f){let h=f.fromA,p=f.toA,g=f.fromB,w=f.toB,b=o.state.sliceDoc(h,Math.max(h,p-1));h!=p&&w<=l.state.doc.length&&(b+=o.state.lineBreak),l.dispatch({changes:{from:g,to:Math.min(l.state.doc.length,w),insert:b},userEvent:"revert"})}}}return n.onmousedown=s=>{s.preventDefault(),s.stopPropagation()},n}async createMergeView(){var t,n,i;if((t=this.state)!=null&&t.aFile&&((n=this.state)!=null&&n.bFile)&&!this.refreshing&&this.plugin.gitManager){this.refreshing=!0;try{(i=this.mergeView)==null||i.destroy();let s=this.containerEl.children[1];s.empty(),this.contentEl.addClass("git-split-diff-view","git-diff"),this.bIsEditable=await this.bShouldBeEditable(),this.indexUnmerged=!1;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 p=this.plugin.gitManager.getRelativeVaultPath(this.state.bFile);await this.app.vault.adapter.exists(p)?o=await this.app.vault.adapter.read(p):o=""}let l=[(0,pi.lineNumbers)(),(0,Dp.highlightSelectionMatches)(),(0,pi.drawSelection)(),pi.keymap.of([...lc.standardKeymap,lc.indentWithTab]),(0,lc.history)(),(0,Dp.search)(),pi.EditorView.lineWrapping,HR],c=pi.ViewPlugin.define(p=>({update:g=>{if(g.docChanged&&!g.transactions.some(w=>w.annotation(oc.Transaction.remote))){let w=p.state.doc.toString();this.fileSaveDebouncer(w)}}})),u={doc:a,extensions:[...l,oc.EditorState.readOnly.of(!0),GR]},f=[...l];this.bIsEditable?f.push(c):f.push(oc.EditorState.readOnly.of(!0),GR);let d={doc:o,extensions:f};s.addClasses(["cm-s-obsidian","mod-cm6","markdown-source-view","cm-content"]);let h=this.plugin.gitManager instanceof Me&&!this.indexUnmerged&&(this.state.bRef===void 0||this.state.bRef==="");this.mergeView=new vp({b:d,a:u,collapseUnchanged:{minSize:6,margin:4},renderRevertControl:h?()=>this.renderButtons(s):void 0,revertControls:h?"a-to-b":void 0,diffConfig:{timeout:fG(this.plugin.settings.diffTimeout,this.bIsEditable)},parent:s})}finally{this.refreshing=!1}}}};m();var P$=require("obsidian");m();m();m();var jR,zR,VR;typeof window!="undefined"&&((VR=(zR=(jR=window.__svelte)!=null?jR:window.__svelte={}).v)!=null?VR:zR.v=new Set).add("5");m();m();m();var Ss={};var et=Symbol("uninitialized"),Kn=Symbol("filename");var Lp="http://www.w3.org/1999/xhtml";m();m();m();m();var Np=!0;m();var M=!1;m();var ks=Array.isArray,WR=Array.prototype.indexOf,va=Array.prototype.includes,cc=Array.from,Mb=Object.keys,ir=Object.defineProperty,Qr=Object.getOwnPropertyDescriptor,Ob=Object.getOwnPropertyDescriptors,Db=Object.prototype,qR=Array.prototype,uc=Object.getPrototypeOf,Lb=Object.isExtensible;function Nb(r){return typeof r=="function"}var _r=()=>{};function Bp(r){for(var e=0;e<r.length;e++)r[e]()}function Up(){var r,e,t=new Promise((n,i)=>{r=n,e=i});return{promise:t,resolve:r,reject:e}}m();m();var Ir=Symbol("$state"),Hp=Symbol("component"),gf=Symbol("legacy props"),ZR=Symbol(""),Gp=Symbol("proxy path"),jp=Symbol("attributes"),wf=Symbol("class"),Bb=Symbol("style"),vf=Symbol("text"),wo=Symbol("form reset"),Ub=Symbol("hmr anchor"),Cs=new class extends Error{constructor(){super(...arguments);Ve(this,"name","StaleReactionError");Ve(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}},YR,Hb=!!((YR=globalThis.document)!=null&&YR.contentType)&&globalThis.document.contentType.includes("xml");var fc=3,Xn=8;m();m();m();m();var As="font-weight: bold",Ts="font-weight: normal";function KR(r){M?console.warn(`%c[svelte] await_reactivity_loss
|
|
%cDetected reactivity loss when reading \`${r}\`. This happens when state is read in an async function after an earlier \`await\`
|
|
https://svelte.dev/e/await_reactivity_loss`,As,Ts):console.warn("https://svelte.dev/e/await_reactivity_loss")}function XR(r,e){M?console.warn(`%c[svelte] await_waterfall
|
|
%cAn async derived, \`${r}\` (${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`,As,Ts):console.warn("https://svelte.dev/e/await_waterfall")}function QR(){M?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`,As,Ts):console.warn("https://svelte.dev/e/derived_inert")}function JR(r,e,t){M?console.warn(`%c[svelte] hydration_attribute_changed
|
|
%cThe \`${r}\` attribute on \`${e}\` changed its value between server and client renders. The client value, \`${t}\`, will be ignored in favour of the server value
|
|
https://svelte.dev/e/hydration_attribute_changed`,As,Ts):console.warn("https://svelte.dev/e/hydration_attribute_changed")}function vo(r){M?console.warn(`%c[svelte] hydration_mismatch
|
|
%c${r?`Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near ${r}`:"Hydration failed because the initial UI does not match what was rendered on the server"}
|
|
https://svelte.dev/e/hydration_mismatch`,As,Ts):console.warn("https://svelte.dev/e/hydration_mismatch")}function eP(){M?console.warn(`%c[svelte] lifecycle_double_unmount
|
|
%cTried to unmount a component that was not mounted
|
|
https://svelte.dev/e/lifecycle_double_unmount`,As,Ts):console.warn("https://svelte.dev/e/lifecycle_double_unmount")}function zp(r){M?console.warn(`%c[svelte] state_proxy_equality_mismatch
|
|
%cReactive \`$state(...)\` proxies and the values they proxy have different identities. Because of this, comparisons with \`${r}\` will produce unexpected results
|
|
https://svelte.dev/e/state_proxy_equality_mismatch`,As,Ts):console.warn("https://svelte.dev/e/state_proxy_equality_mismatch")}function tP(){M?console.warn("%c[svelte] svelte_boundary_reset_noop\n%cA `<svelte:boundary>` `reset` function only resets the boundary the first time it is called\nhttps://svelte.dev/e/svelte_boundary_reset_noop",As,Ts):console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function rP(r){M?console.warn(`%c[svelte] transition_slide_display
|
|
%cThe \`slide\` transition does not work correctly for elements with \`display: ${r}\`
|
|
https://svelte.dev/e/transition_slide_display`,As,Ts):console.warn("https://svelte.dev/e/transition_slide_display")}var re=!1;function jt(r){re=r}var pe;function Qe(r){if(r===null)throw vo(),Ss;return pe=r}function xr(){return Qe(pr(pe))}function G(r){if(re){if(pr(pe)!==null)throw vo(),Ss;pe=r}}function bo(r=1){if(re){for(var e=r,t=pe;e--;)t=pr(t);pe=t}}function qi(r=!0){for(var e=0,t=pe;;){if(t.nodeType===Xn){var n=t.data;if(n==="]"){if(e===0)return t;e-=1}else(n==="["||n==="[!"||n[0]==="["&&!isNaN(Number(n.slice(1))))&&(e+=1)}var i=pr(t);r&&t.remove(),t=i}}function yf(r){if(!r||r.nodeType!==Xn)throw vo(),Ss;return r.data}m();m();m();m();function Vp(r){return r===this.v}function Gb(r,e){return r!=r?e==e:r!==e||r!==null&&typeof r=="object"||typeof r=="function"}function Wp(r){return!Gb(r,this.v)}m();m();function nP(r){if(M){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: "${r}"
|
|
https://svelte.dev/e/invariant_violation`);throw e.name="Svelte error",e}else throw new Error("https://svelte.dev/e/invariant_violation")}function qp(r){if(M){let e=new Error(`lifecycle_outside_component
|
|
\`${r}(...)\` 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 sP(){if(M){let r=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 r.name="Svelte error",r}else throw new Error("https://svelte.dev/e/async_derived_orphan")}function jb(){if(M){let r=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 r.name="Svelte error",r}else throw new Error("https://svelte.dev/e/bind_invalid_checkbox_value")}function aP(){if(M){let r=new Error(`derived_references_self
|
|
A derived value cannot reference itself recursively
|
|
https://svelte.dev/e/derived_references_self`);throw r.name="Svelte error",r}else throw new Error("https://svelte.dev/e/derived_references_self")}function zb(r,e,t){if(M){let n=new Error(`each_key_duplicate
|
|
${t?`Keyed each block has duplicate key \`${t}\` at indexes ${r} and ${e}`:`Keyed each block has duplicate key at indexes ${r} and ${e}`}
|
|
https://svelte.dev/e/each_key_duplicate`);throw n.name="Svelte error",n}else throw new Error("https://svelte.dev/e/each_key_duplicate")}function oP(r,e,t){if(M){let n=new Error(`each_key_volatile
|
|
Keyed each block has key that is not idempotent \u2014 the key for item at index ${r} was \`${e}\` but is now \`${t}\`. Keys must be the same each time for a given item
|
|
https://svelte.dev/e/each_key_volatile`);throw n.name="Svelte error",n}else throw new Error("https://svelte.dev/e/each_key_volatile")}function lP(r){if(M){let e=new Error(`effect_in_teardown
|
|
\`${r}\` 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 cP(){if(M){let r=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 r.name="Svelte error",r}else throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function uP(r){if(M){let e=new Error(`effect_orphan
|
|
\`${r}\` 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 fP(){if(M){let r=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 r.name="Svelte error",r}else throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function dP(){if(M){let r=new Error(`hydration_failed
|
|
Failed to hydrate the application
|
|
https://svelte.dev/e/hydration_failed`);throw r.name="Svelte error",r}else throw new Error("https://svelte.dev/e/hydration_failed")}function hP(r){if(M){let e=new Error(`props_invalid_value
|
|
Cannot do \`bind:${r}={undefined}\` when \`${r}\` 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 pP(r){if(M){let e=new Error(`rune_outside_svelte
|
|
The \`${r}\` 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 mP(){if(M){let r=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 r.name="Svelte error",r}else throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function gP(){if(M){let r=new Error("state_prototype_fixed\nCannot set prototype of `$state` object\nhttps://svelte.dev/e/state_prototype_fixed");throw r.name="Svelte error",r}else throw new Error("https://svelte.dev/e/state_prototype_fixed")}function wP(){if(M){let r=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 r.name="Svelte error",r}else throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function vP(){if(M){let r=new Error("svelte_boundary_reset_onerror\nA `<svelte:boundary>` `reset` function cannot be called while an error is still being handled\nhttps://svelte.dev/e/svelte_boundary_reset_onerror");throw r.name="Svelte error",r}else throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}m();var zt=!1,Rs=!1,mi=!1;m();m();m();var _f=null;function Er(r,e){return r.label=e,Zp(r.v,e),r}function Zp(r,e){var t;return(t=r==null?void 0:r[Gp])==null||t.call(r,e),r}m();function gi(r){let e=new Error,t=hG();return t.length===0?null:(t.unshift(`
|
|
`),ir(e,"stack",{value:t.join(`
|
|
`)}),ir(e,"name",{value:r}),e)}function hG(){let r=Error.stackTraceLimit;Error.stackTraceLimit=1/0;let e=new Error().stack;if(Error.stackTraceLimit=r,!e)return[];let t=e.split(`
|
|
`),n=[];for(let i=0;i<t.length;i++){let s=t[i],a=s.replaceAll("\\","/");if(s.trim()!=="Error"){if(s.includes("validate_each_keys"))return[];a.includes("svelte/src/internal")||a.includes("node_modules/.vite")||n.push(s)}}return n}function yP(r,e){if(!M)throw new Error("invariant(...) was not guarded by if (DEV)");r||nP(e)}m();m();var Ee=null;function Ps(r){Ee=r}var Yi=null;function pc(r){Yi=r}var wi=null;function Kp(r){wi=r}function lt(r,e=!1,t){Ee={p:Ee,i:!1,c:null,e:null,s:r,x:null,r:X,l:Rs&&!e?{s:null,u:null,$:[]}:null},M&&(Ee.function=t,wi=t)}function ct(r){var i;var e=Ee,t=e.e;if(t!==null){e.e=null;for(var n of t)Vb(n)}return r!==void 0&&(e.x=r),e.i=!0,Ee=e.p,M&&(wi=(i=Ee==null?void 0:Ee.function)!=null?i:null),xf(r)}function xf(r={}){return ir(r,Hp,{value:!0}),r}function Zi(){return!Rs||Ee!==null&&Ee.l===null}m();m();var yo=[];function _P(){var r=yo;yo=[],Bp(r)}function Pt(r){if(yo.length===0&&!_o){var e=yo;queueMicrotask(()=>{e===yo&&_P()})}yo.push(r)}function xP(){for(;yo.length>0;)_P()}m();m();var pG=-7169;function qe(r,e){r.f=r.f&pG|e}function mc(r){(r.f&512)!==0||r.deps===null?qe(r,1024):qe(r,4096)}function Xp(r,e,t){(r.f&2048)!==0?e.add(r):(r.f&4096)!==0&&t.add(r),qe(r,1024)}m();m();m();m();function Wb(r){re&&or(r)!==null&&wc(r)}var EP=!1;function qb(){EP||(EP=!0,document.addEventListener("reset",r=>{Promise.resolve().then(()=>{var e;if(!r.defaultPrevented)for(let t of r.target.elements)(e=t[wo])==null||e.call(t)})},{capture:!0}))}function tn(r){var e=oe,t=X;Wt(null),qt(null);try{return r()}finally{Wt(e),qt(t)}}function Yb(r,e,t,n=t){r.addEventListener(e,()=>tn(t));let i=r[wo];i?r[wo]=()=>{i(),n(!0)}:r[wo]=()=>n(!0),qb()}m();function Qp(r,e,t,n){let i=Zi()?ya:Eo;var s=r.filter(h=>!h.settled),a=e.map(i);if(M&&a.forEach((h,p)=>{h.label=e[p].toString().replace("() => ","").replaceAll("$.eager(() => ","$state.eager(").replace(/\$\.get\((.+?)\)/g,(g,w)=>w)}),t.length===0&&s.length===0){n(a);return}var o=X,l=SP(),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{n([...a,...h])}catch(p){rn(p,o)}vc()}}var f=Zb();if(t.length===0){c.then(()=>u([])).finally(f);return}function d(){Promise.all(t.map(h=>Xb(h))).then(u).catch(h=>rn(h,o)).finally(f)}c?c.then(()=>{l(),d(),vc()}):d()}function SP(){var r=X,e=oe,t=Ee,n=ie;if(M)var i=Yi;return function(a=!0){qt(r),Wt(e),Ps(t),a&&(r.f&16384)===0&&(n==null||n.activate(),n==null||n.apply()),M&&(Kb(null),pc(i))}}var mG=!1;function vc(r=!0){var e;mG=!1,qt(null),Wt(null),Ps(null),r&&((e=ie)==null||e.deactivate()),M&&(Kb(null),pc(null))}function Zb(){var r=X,e=r.b,t=ie,n=!!(e!=null&&e.is_rendered());return e==null||e.update_pending_count(1,t),t.increment(n,r),()=>{e==null||e.update_pending_count(-1,t),t.decrement(n,r)}}var nn=null;function Kb(r){nn=r}var Sf=new Set;function ya(r){var e=2050;X!==null&&(X.f|=524288);let t={ctx:Ee,deps:null,effects:null,equals:Vp,f:e,fn:r,reactions:null,rv:0,v:et,wv:0,parent:X,ac:null};return M&&mi&&(t.created=gi("created at")),t}var bc=Symbol("obsolete");function Xb(r,e,t){let n=X;n===null&&sP();var i=void 0,s=Sr(et);M&&(s.label=e!=null?e:r.toString());var a=!oe,o=new Set;return AP(()=>{var h,p;var l=X;M&&(nn={effect:l,effect_deps:new Set,warned:!1});var c=Up();i=c.promise;try{Promise.resolve(r()).then(c.resolve,g=>{g!==Cs&&c.reject(g)}).finally(vc)}catch(g){c.reject(g),vc()}if(M){if(nn){if(l.deps!==null)for(let g=0;g<Mr;g+=1)nn.effect_deps.add(l.deps[g]);if(lr!==null)for(let g=0;g<lr.length;g+=1)nn.effect_deps.add(lr[g])}nn=null}var u=ie;if(a){if((l.f&32768)!==0)var f=Zb();if((h=n.b)!=null&&h.is_rendered())(p=u.async_deriveds.get(l))==null||p.reject(bc);else for(let g of o.values())g.reject(bc);o.add(c),u.async_deriveds.set(l,c)}let d=(g,w=void 0)=>{M&&(nn=null),f==null||f(),o.delete(c),w!==bc&&(u.activate(),w?(s.f|=8388608,bi(s,w)):((s.f&8388608)!==0&&(s.f^=8388608),M&&t!==void 0&&!s.equals(g)&&(Sf.add(s),setTimeout(()=>{Sf.has(s)&&(l.f&16384)===0&&(XR(s.label,t),Sf.delete(s))})),bi(s,g)),u.deactivate())};c.promise.then(d,g=>d(null,g||"unknown"))}),wr(()=>{for(let l of o)l.reject(bc)}),M&&(s.f|=4194304),new Promise(l=>{function c(u){function f(){u===i?l(s):c(i)}u.then(f,f)}c(i)})}function Pe(r){let e=ya(r);return zt||tm(e),e}function Eo(r){let e=ya(r);return e.equals=Wp,e}function kP(r){var e=r.effects;if(e!==null){r.effects=null;for(var t=0;t<e.length;t+=1)xt(e[t])}}var Qb=[];function kf(r){var e,t=X,n=r.parent;if(!Sn&&n!==null&&r.v!==et&&(n.f&24576)!==0)return QR(),r.v;if(qt(n),M){let i=So;Jp(new Set);try{va.call(Qb,r)&&aP(),Qb.push(r),kP(r),e=em(r)}finally{qt(t),Jp(i),Qb.pop()}}else try{kP(r),e=em(r)}finally{qt(t)}return e}function Jb(r){var t,n,i;var e=kf(r);if(!r.equals(e)&&(r.wv=yc(),(!((t=ie)!=null&&t.is_fork)||r.deps===null)&&(ie!==null?(ie.capture(r,e,!0),(n=Fs)==null||n.capture(r,e,!0)):r.v=e,r.deps===null))){qe(r,1024);return}Sn||(Lt!==null?(ba()||(i=ie)!=null&&i.is_fork)&&Lt.set(r,e):mc(r))}function CP(r){var e;if(r.effects!==null)for(let t of r.effects)(t.teardown||t.ac)&&((e=t.teardown)==null||e.call(t),t.ac!==null&&tn(()=>{t.ac.abort(Cs),t.ac=null}),t.fn!==null&&(t.teardown=_r),ko(t,0),Cf(t))}function ey(r){if(r.effects!==null)for(let e of r.effects)e.teardown&&e.fn!==null&&Ki(e)}var rm=null,_c=null,ie=null,Fs=null,Lt=null,ny=null,_o=!1,ty=!1,Ec=null,Rf=null,TP=0,ry=new Set,vG=1,Sc,Ms,Os,kc,Cc,Ac,Ds,Tc,sn,Pf,Ls,yi,Xi,Rc,_a,Be,iy,sy,Af,ay,PP,$P,xc,IP,Tf,nm=class nm{constructor(){de(this,Be);Ve(this,"id",vG++);de(this,Sc,!1);Ve(this,"linked",!0);de(this,Ms,null);de(this,Os,null);Ve(this,"async_deriveds",new Map);Ve(this,"current",new Map);Ve(this,"previous",new Map);de(this,kc,new Set);de(this,Cc,new Set);de(this,Ac,0);de(this,Ds,new Map);de(this,Tc,null);de(this,sn,[]);de(this,Pf,[]);de(this,Ls,new Set);de(this,yi,new Set);de(this,Xi,new Map);de(this,Rc,new Set);Ve(this,"is_fork",!1);de(this,_a,!1);_c===null?rm=_c=this:(le(_c,Os,this),le(this,Ms,_c)),_c=this}skip_effect(e){I(this,Xi).has(e)||I(this,Xi).set(e,{d:[],m:[]}),I(this,Rc).delete(e)}unskip_effect(e,t=n=>this.schedule(n)){var n=I(this,Xi).get(e);if(n){I(this,Xi).delete(e);for(var i of n.d)qe(i,2048),t(i);for(i of n.m)qe(i,4096),t(i)}I(this,Rc).add(e)}capture(e,t,n=!1){e.v!==et&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&8388608)===0&&(this.current.set(e,[t,n]),Lt==null||Lt.set(e,t)),this.is_fork||(e.v=t)}activate(){ie=this}deactivate(){ie=null,Lt=null}flush(){try{M&&ry.clear(),ty=!0,ie=this,_e(this,Be,Af).call(this)}finally{if(TP=0,ny=null,Ec=null,Rf=null,ty=!1,ie=null,Lt=null,Jn.clear(),M)for(let e of ry)e.updated=null}}discard(){var e;for(let t of I(this,Cc))t(this);I(this,Cc).clear();for(let t of this.async_deriveds.values())t.reject(bc);_e(this,Be,Tf).call(this),(e=I(this,Tc))==null||e.resolve()}register_created_effect(e){I(this,Pf).push(e)}increment(e,t){var n;if(le(this,Ac,I(this,Ac)+1),e){let i=(n=I(this,Ds).get(t))!=null?n:0;I(this,Ds).set(t,i+1)}}decrement(e,t){var n;if(le(this,Ac,I(this,Ac)-1),e){let i=(n=I(this,Ds).get(t))!=null?n:0;i===1?I(this,Ds).delete(t):I(this,Ds).set(t,i-1)}I(this,_a)||(le(this,_a,!0),Pt(()=>{le(this,_a,!1),this.linked&&this.flush()}))}transfer_effects(e,t){for(let n of e)I(this,Ls).add(n);for(let n of t)I(this,yi).add(n);e.clear(),t.clear()}oncommit(e){I(this,kc).add(e)}ondiscard(e){I(this,Cc).add(e)}settled(){var e;return((e=I(this,Tc))!=null?e:le(this,Tc,Up())).promise}static ensure(){if(ie===null){let e=ie=new nm;!ty&&!_o&&Pt(()=>{I(e,Sc)||e.flush()})}return ie}apply(){if(!zt||!this.is_fork&&I(this,Ms)===null&&I(this,Os)===null){Lt=null;return}Lt=new Map;for(let[t,[n]]of this.current)Lt.set(t,n);for(let t=rm;t!==null;t=I(t,Os))if(!(t===this||t.is_fork)){var e=!1;if(t.id<this.id){for(let[n,[,i]]of t.current)if(!i&&this.current.has(n)){e=!0;break}}if(!e)for(let[n,i]of t.previous)Lt.has(n)||Lt.set(n,i)}}schedule(e){var t;if(ny=e,(t=e.b)!=null&&t.is_pending&&(e.f&16777228)!==0&&(e.f&32768)===0){e.b.defer_effect(e);return}I(this,sn).push(e)}};Sc=new WeakMap,Ms=new WeakMap,Os=new WeakMap,kc=new WeakMap,Cc=new WeakMap,Ac=new WeakMap,Ds=new WeakMap,Tc=new WeakMap,sn=new WeakMap,Pf=new WeakMap,Ls=new WeakMap,yi=new WeakMap,Xi=new WeakMap,Rc=new WeakMap,_a=new WeakMap,Be=new WeakSet,iy=function(){if(this.is_fork)return!0;for(let n of I(this,Ds).keys()){for(var e=n,t=!1;e.parent!==null;){if(I(this,Xi).has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1},sy=function(){var e=[];for(let s of I(this,sn))if(!((s.f&16384)!==0||(s.f&6144)===0)){for(var t=s,n=!1;t.parent!==null;){t=t.parent;var i=t.f;if((i&96)!==0){if((i&1024)===0){n=!0;break}t.f^=1024}}n||e.push(t)}return le(this,sn,[]),e},Af=function(){var o,l,c,u;if(le(this,Sc,!0),M)for(let f of this.current.keys())ry.add(f);for(let f of I(this,Ls))I(this,yi).delete(f),qe(f,2048),this.schedule(f);for(let f of I(this,yi))qe(f,4096),this.schedule(f);this.apply();for(var e=Ec=[],t=[],n=Rf=[];I(this,sn).length>0;){TP++>1e3&&(_e(this,Be,Tf).call(this),bG());for(let f of _e(this,Be,sy).call(this))try{_e(this,Be,ay).call(this,f,e,t)}catch(d){throw OP(f),_e(this,Be,iy).call(this)||this.discard(),d}}if(ie=null,n.length>0){var i=nm.ensure();for(let f of n)i.schedule(f)}if(Ec=null,Rf=null,_e(this,Be,iy).call(this)){_e(this,Be,xc).call(this,t),_e(this,Be,xc).call(this,e);for(let[f,d]of I(this,Xi))MP(f,d);n.length>0&&_e(o=ie,Be,Af).call(o);return}let s=_e(this,Be,PP).call(this);if(s){_e(this,Be,xc).call(this,t),_e(this,Be,xc).call(this,e),_e(l=s,Be,$P).call(l,this);return}I(this,Ls).clear(),I(this,yi).clear();for(let f of I(this,kc))f(this);I(this,kc).clear(),Fs=this,RP(t),RP(e),Fs=null,(c=I(this,Tc))==null||c.resolve();var a=ie;if(I(this,Ac)===0&&(I(this,sn).length===0||a!==null)&&(_e(this,Be,Tf).call(this),zt&&(_e(this,Be,IP).call(this),ie=a)),I(this,sn).length>0)if(a!==null){for(let f of I(this,sn))I(a,sn).push(f);le(this,sn,[])}else a=this;a!==null&&(Jn.clear(),_e(u=a,Be,Af).call(u))},ay=function(e,t,n){e.f^=1024;for(var i=e.first;i!==null;){var s=i.f,a=(s&96)!==0,o=a&&(s&1024)!==0,l=o||(s&8192)!==0||I(this,Xi).has(i);if(!l&&i.fn!==null){a?i.f^=1024:(s&4)!==0?t.push(i):zt&&(s&16777224)!==0?n.push(i):xa(i)&&((s&16)!==0&&I(this,yi).add(i),Ki(i));var c=i.first;if(c!==null){i=c;continue}}for(;i!==null;){var u=i.next;if(u!==null){i=u;break}i=i.parent}}},PP=function(){for(var e=I(this,Ms);e!==null;){if(!e.is_fork){for(let[t,[,n]]of this.current)if(e.current.has(t)&&!n)return e}e=I(e,Ms)}return null},$P=function(e){var n;for(let[i,s]of e.current)!this.previous.has(i)&&e.previous.has(i)&&this.previous.set(i,e.previous.get(i)),this.current.set(i,s);for(let[i,s]of e.async_deriveds){let a=this.async_deriveds.get(i);a&&s.promise.then(a.resolve).catch(a.reject)}e.async_deriveds.clear(),this.transfer_effects(I(e,Ls),I(e,yi));let t=i=>{var s=i.reactions;if(s!==null&&!((i.f&2)!==0&&(i.f&6144)===0))for(let l of s){var a=l.f;if((a&2)!==0)t(l);else{var o=l;a&4194320&&!this.async_deriveds.has(o)&&(I(this,yi).delete(o),qe(o,2048),this.schedule(o))}}};for(let i of this.current.keys())t(i);this.oncommit(()=>e.discard()),_e(n=e,Be,Tf).call(n),ie=this,_e(this,Be,Af).call(this)},xc=function(e){for(var t=0;t<e.length;t+=1)Xp(e[t],I(this,Ls),I(this,yi))},IP=function(){var f,d;for(let h=rm;h!==null;h=I(h,Os)){var e=h.id<this.id,t=[];for(let[p,[g,w]]of this.current){if(h.current.has(p)){var n=h.current.get(p)[0];if(e&&g!==n)h.current.set(p,[g,w]);else continue}t.push(p)}if(e)for(let[p,g]of this.async_deriveds){let w=h.async_deriveds.get(p);w&&g.promise.then(w.resolve).catch(w.reject)}var i=[...h.current.keys()].filter(p=>!h.current.get(p)[1]);if(!(!I(h,Sc)||i.length===0)){var s=i.filter(p=>!this.current.has(p));if(s.length===0)e&&h.discard();else if(t.length>0){if(M&&!I(h,_a)&&yP(I(h,sn).length===0,"Batch has scheduled effects"),e)for(let p of I(this,Rc))h.unskip_effect(p,g=>{var w;(g.f&4194320)!==0?h.schedule(g):_e(w=h,Be,xc).call(w,[g])});h.activate();var a=new Set,o=new Map;for(var l of t)FP(l,s,a,o);o=new Map;var c=[...h.current].filter(([p,g])=>{let w=this.current.get(p);return w?w[0]!==g[0]||w[1]!==g[1]:!0}).map(([p])=>p);if(c.length>0)for(let p of I(this,Pf))(p.f&155648)===0&&oy(p,c,o)&&((p.f&4194320)!==0?(qe(p,2048),h.schedule(p)):I(h,Ls).add(p));if(I(h,sn).length>0&&!I(h,_a)){h.apply();for(var u of _e(f=h,Be,sy).call(f))_e(d=h,Be,ay).call(d,u,[],[])}h.deactivate()}}}},Tf=function(){if(this.linked){var e=I(this,Ms),t=I(this,Os);e===null?rm=t:le(e,Os,t),t===null?_c=e:le(t,Ms,e),this.linked=!1}};var kn=nm;function To(r){var e=_o;_o=!0;try{var t;for(r&&(ie!==null&&!ie.is_fork&&ie.flush(),t=r());;){if(xP(),ie===null)return t;ie.flush()}}finally{_o=e}}function bG(){var t;if(M){var r=new Map;for(let n of ie.current.keys())for(let[i,s]of(t=n.updated)!=null?t:[]){var e=r.get(i);e||(e={error:s.error,count:0},r.set(i,e)),e.count+=s.count}for(let n of r.values())n.error&&console.error(n.error)}try{fP()}catch(n){M&&ir(n,"stack",{value:""}),rn(n,ny)}}var an=null;function RP(r){var e=r.length;if(e!==0){for(var t=0;t<e;){var n=r[t++];if((n.f&24576)===0&&xa(n)&&(an=new Set,Ki(n),n.deps===null&&n.first===null&&n.nodes===null&&n.teardown===null&&n.ac===null&&ly(n),(an==null?void 0:an.size)>0)){Jn.clear();for(let i of an){if((i.f&24576)!==0)continue;let s=[i],a=i.parent;for(;a!==null;)an.has(a)&&(an.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&&Ki(l)}}an.clear()}}an=null}}function FP(r,e,t,n){if(!t.has(r)&&(t.add(r),r.reactions!==null))for(let i of r.reactions){let s=i.f;(s&2)!==0?FP(i,e,t,n):(s&4194320)!==0&&(s&2048)===0&&oy(i,e,n)&&(qe(i,2048),$f(i))}}function oy(r,e,t){let n=t.get(r);if(n!==void 0)return n;if(r.deps!==null)for(let i of r.deps){if(va.call(e,i))return!0;if((i.f&2)!==0&&oy(i,e,t))return t.set(i,!0),!0}return t.set(r,!1),!1}function $f(r){ie.schedule(r)}function MP(r,e){if(!((r.f&32)!==0&&(r.f&1024)!==0)){(r.f&2048)!==0?e.d.push(r):(r.f&4096)!==0&&e.m.push(r),qe(r,1024);for(var t=r.first;t!==null;)MP(t,e),t=t.next}}function OP(r){qe(r,1024);for(var e=r.first;e!==null;)OP(e),e=e.next}var So=new Set,Jn=new Map;function Jp(r){So=r}var uy=!1;function LP(){uy=!0}function Sr(r,e){var t={f:0,v:r,reactions:null,equals:Vp,rv:0,wv:0};return M&&mi&&(t.created=e!=null?e:gi("created at"),t.updated=null,t.set_during_effect=!1,t.trace=null),t}function Se(r,e){let t=Sr(r,e);return tm(t),t}function Po(r,e=!1,t=!0){var i,s;let n=Sr(r);return e||(n.equals=Wp),Rs&&t&&Ee!==null&&Ee.l!==null&&((s=(i=Ee.l).s)!=null?s:i.s=[]).push(n),n}function q(r,e,t=!1){oe!==null&&(!Or||(oe.f&131072)!==0)&&Zi()&&(oe.f&4325394)!==0&&(on===null||!on.has(r))&&wP();let n=t?Je(e):e;return M&&Zp(n,r.label),bi(r,n,Rf)}var Ro=null,cy=0;function bi(r,e,t=null){var i,s,a;if(!r.equals(e)){Sn?Jn.set(r,e):Jn.has(r)||Jn.set(r,r.v);var n=kn.ensure();if(n.capture(r,e),M){if(mi||X!==null){(i=r.updated)!=null||(r.updated=new Map);let o=((a=(s=r.updated.get(""))==null?void 0:s.count)!=null?a:0)+1;if(r.updated.set("",{error:null,count:o}),mi||o>5){let l=gi("updated at");if(l!==null){let c=r.updated.get(l.stack);c||(c={error:l,count:0},r.updated.set(l.stack,c)),c.count++}}}X!==null&&(r.set_during_effect=!0)}if((r.f&2)!==0){let o=r;(r.f&2048)!==0&&kf(o),Lt===null&&mc(o)}r.wv=yc(),Ro=null,cy=0,NP(r,2048,t),Ro=null,Zi()&&X!==null&&(X.f&1024)!==0&&(X.f&96)===0&&(Cn===null?BP([r]):Cn.push(r)),!n.is_fork&&So.size>0&&!uy&&im()}return e}function im(){uy=!1;for(let r of So){(r.f&1024)!==0&&qe(r,4096);let e;try{e=xa(r)}catch(t){e=!0}e&&Ki(r)}So.clear()}function $o(r){q(r,r.v+1)}function NP(r,e,t){var d;var n=r.reactions;if(n!==null){var i=Zi(),s=n.length;if(cy+=s,cy>1e5&&Ro===null&&(Ro=new Set),Ro!==null){if(Ro.has(r))return;Ro.add(r)}for(var a=0;a<s;a++){var o=n[a],l=o.f;if(!(!i&&o===X)){var c=(l&2048)===0;if(c&&qe(o,e),(l&131072)!==0)So.add(o);else if((l&2)!==0){var u=o;(d=Lt)==null||d.delete(u),NP(u,4096,t)}else if(c){var f=o;(l&16)!==0&&an!==null&&an.add(f),t!==null?t.push(f):$f(f)}}}}}var _G=/^[a-zA-Z_$][a-zA-Z_$0-9]*$/;function Je(r){if(typeof r!="object"||r===null||Ir in r||Hp in r)return r;let e=uc(r);if(e!==Db&&e!==qR)return r;var t=new Map,n=ks(r),i=Se(0),s=M&&mi?gi("created at"):null,a=Ea,o=f=>{if(Ea===a)return f();var d=oe,h=Ea;Wt(null),fy(a);var p=f();return Wt(d),fy(h),p};n&&(t.set("length",Se(r.length,s)),M&&(r=EG(r)));var l="";let c=!1;function u(f){if(!c){c=!0,l=f,Er(i,`${l} version`);for(let[d,h]of t)Er(h,Io(l,d));c=!1}}return new Proxy(r,{defineProperty(f,d,h){(!("value"in h)||h.configurable===!1||h.enumerable===!1||h.writable===!1)&&mP();var p=t.get(d);return p===void 0?o(()=>{var g=Se(h.value,s);return t.set(d,g),M&&typeof d=="string"&&Er(g,Io(l,d)),g}):q(p,h.value,!0),!0},deleteProperty(f,d){var h=t.get(d);if(h===void 0){if(d in f){let p=o(()=>Se(et,s));t.set(d,p),$o(i),M&&Er(p,Io(l,d))}}else q(h,et),$o(i);return!0},get(f,d,h){var b;if(d===Ir)return r;if(M&&d===Gp)return u;var p=t.get(d),g=d in f;if(p===void 0&&(!g||(b=Qr(f,d))!=null&&b.writable)&&(p=o(()=>{var y=Je(g?f[d]:et),k=Se(y,s);return M&&Er(k,Io(l,d)),k}),t.set(d,p)),p!==void 0){var w=T(p);return w===et?void 0:w}return Reflect.get(f,d,h)},getOwnPropertyDescriptor(f,d){var w;(w=this.has)==null||w.call(this,f,d);var h=Reflect.getOwnPropertyDescriptor(f,d),p=t.get(d);if(p!==void 0){var g=T(p);if(g===et)return;if(h&&"value"in h)h.value=g;else return{enumerable:!0,configurable:!0,value:g,writable:!0}}return h},has(f,d){var w;if(d===Ir)return!0;var h=t.get(d),p=h!==void 0&&h.v!==et||Reflect.has(f,d);if(h!==void 0||X!==null&&(!p||(w=Qr(f,d))!=null&&w.writable)){h===void 0&&(h=o(()=>{var b=p?Je(f[d]):et,y=Se(b,s);return M&&Er(y,Io(l,d)),y}),t.set(d,h));var g=T(h);if(g===et)return!1}return p},set(f,d,h,p){var v;var g=t.get(d),w=d in f;if(n&&d==="length")for(var b=h;b<g.v;b+=1){var y=t.get(b+"");y!==void 0?q(y,et):b in f&&(y=o(()=>Se(et,s)),t.set(b+"",y),M&&Er(y,Io(l,b)))}if(g===void 0)(!w||(v=Qr(f,d))!=null&&v.writable)&&(g=o(()=>Se(void 0,s)),M&&Er(g,Io(l,d)),q(g,Je(h)),t.set(d,g));else{w=g.v!==et;var k=o(()=>Je(h));q(g,k)}var C=Reflect.getOwnPropertyDescriptor(f,d);if(C!=null&&C.set&&C.set.call(p,h),!w){if(n&&typeof d=="string"){var S=t.get("length"),A=Number(d);Number.isInteger(A)&&A>=S.v&&q(S,A+1)}$o(i)}return!0},ownKeys(f){T(i);var d=Reflect.ownKeys(f).filter(g=>{var w=t.get(g);return w===void 0||w.v!==et});for(var[h,p]of t)p.v!==et&&!(h in f)&&d.push(h);return d},setPrototypeOf(){gP()}})}function Io(r,e){var t;return typeof e=="symbol"?`${r}[Symbol(${(t=e.description)!=null?t:""})]`:_G.test(e)?`${r}.${e}`:/^\d+$/.test(e)?`${r}[${e}]`:`${r}['${e}']`}function sm(r){try{if(r!==null&&typeof r=="object"&&Ir in r)return r[Ir]}catch(e){}return r}var xG=new Set(["copyWithin","fill","pop","push","reverse","shift","sort","splice","unshift"]);function EG(r){return new Proxy(r,{get(e,t,n){var i=Reflect.get(e,t,n);return xG.has(t)?function(...s){LP();var a=i.apply(this,s);return im(),a}:i}})}function UP(){let r=Array.prototype,e=Array.__svelte_cleanup;e&&e();let{indexOf:t,lastIndexOf:n,includes:i}=r;r.indexOf=function(s,a){let o=t.call(this,s,a);if(o===-1){for(let l=a!=null?a:0;l<this.length;l+=1)if(sm(this[l])===s){zp("array.indexOf(...)");break}}return o},r.lastIndexOf=function(s,a){let o=n.call(this,s,a!=null?a:this.length-1);if(o===-1){for(let l=0;l<=(a!=null?a:this.length-1);l+=1)if(sm(this[l])===s){zp("array.lastIndexOf(...)");break}}return o},r.includes=function(s,a){let o=i.call(this,s,a);if(!o){for(let l=0;l<this.length;l+=1)if(sm(this[l])===s){zp("array.includes(...)");break}}return o},Array.__svelte_cleanup=()=>{r.indexOf=t,r.lastIndexOf=n,r.includes=i}}var dy,HP,If,GP,jP;function am(){if(dy===void 0){dy=window,HP=document,If=/Firefox/.test(navigator.userAgent);var r=Element.prototype,e=Node.prototype,t=Text.prototype;GP=Qr(e,"firstChild").get,jP=Qr(e,"nextSibling").get,Lb(r)&&(r[wf]=void 0,r[jp]=null,r[Bb]=void 0,r.__e=void 0),Lb(t)&&(t[vf]=void 0),M&&(r.__svelte_meta=null,UP())}}function Nt(r=""){return document.createTextNode(r)}function or(r){return GP.call(r)}function pr(r){return jP.call(r)}function j(r,e){if(!re)return or(r);var t=or(pe);if(t===null)t=pe.appendChild(Nt());else if(e&&t.nodeType!==fc){var n=Nt();return t==null||t.before(n),Qe(n),n}return e&&lm(t),Qe(t),t}function An(r,e=!1){var i,s;if(!re){var t=or(r);return t instanceof Comment&&t.data===""?pr(t):t}if(e){if(((i=pe)==null?void 0:i.nodeType)!==fc){var n=Nt();return(s=pe)==null||s.before(n),Qe(n),n}lm(pe)}return pe}function De(r,e=!1){if(!re)return or(r);var t=j(r,e);return G(r),t}function V(r,e=1,t=!1){let n=re?pe:r;for(var i;e--;)i=n,n=pr(n);if(!re)return n;if(t){if((n==null?void 0:n.nodeType)!==fc){var s=Nt();return n===null?i==null||i.after(s):n.before(s),Qe(s),s}lm(n)}return Qe(n),n}function wc(r){r.textContent=""}function om(){if(!zt||an!==null)return!1;var r=X.f;return(r&32768)!==0}function _i(r,e,t){return e==null||e===Lp?t?document.createElement(r,{is:t}):document.createElement(r):t?document.createElementNS(e,r,{is:t}):document.createElementNS(e,r)}function lm(r){if(r.nodeValue.length<65536)return;let e=r.nextSibling;for(;e!==null&&e.nodeType===fc;)e.remove(),r.nodeValue+=e.nodeValue,e=r.nextSibling}var hy=new WeakMap;function zP(r){var e=X;if(e===null)return oe.f|=8388608,r;if(M&&r instanceof Error&&!hy.has(r)&&hy.set(r,SG(r,e)),(e.f&32768)===0&&(e.f&4)===0)throw M&&!e.parent&&r instanceof Error&&VP(r),r;rn(r,e)}function rn(r,e){if(!(e!==null&&(e.f&16384)!==0)){for(;e!==null;){if((e.f&128)!==0&&(e.f&33570816)===0){if((e.f&32768)===0)throw r;try{e.b.error(r);return}catch(t){r=t}}e=e.parent}throw M&&r instanceof Error&&VP(r),r}}function SG(r,e){var a,o,l;let t=Qr(r,"message");if(!(t&&!t.configurable)){for(var n=If?" ":" ",i=`
|
|
${n}in ${((a=e.fn)==null?void 0:a.name)||"<unknown>"}`,s=e.ctx;s!==null;)i+=`
|
|
${n}in ${(o=s.function)==null?void 0:o[Kn].split("/").pop()}`,s=s.p;return{message:r.message+`
|
|
${i}
|
|
`,stack:(l=r.stack)==null?void 0:l.split(`
|
|
`).filter(c=>!c.includes("svelte/src/internal")).join(`
|
|
`)}}}function VP(r){let e=hy.get(r);e&&(ir(r,"message",{value:e.message}),ir(r,"stack",{value:e.stack}))}function qP(r){X===null&&(oe===null&&uP(r),cP()),Sn&&lP(r)}function CG(r,e){var t=e.last;t===null?e.last=e.first=r:(t.next=r,r.prev=t,e.last=r)}function Qi(r,e){var a,o;var t=X;if(M)for(;t!==null&&(t.f&131072)!==0;)t=t.parent;t!==null&&(t.f&8192)!==0&&(r|=8192);var n={ctx:Ee,deps:null,nodes:null,f:r|2048|512,first:null,fn:e,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};M&&(n.component_function=wi),(a=ie)==null||a.register_created_effect(n);var i=n;if((r&4)!==0)Ec!==null?Ec.push(n):kn.ensure().schedule(n);else if(e!==null){try{Ki(n)}catch(l){throw xt(n),l}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&(i.f&524288)===0&&(i=i.first,(r&16)!==0&&(r&65536)!==0&&i!==null&&(i.f|=65536))}if(i!==null&&(i.parent=t,t!==null&&CG(i,t),oe!==null&&(oe.f&2)!==0&&(r&64)===0)){var s=oe;((o=s.effects)!=null?o:s.effects=[]).push(i)}return n}function ba(){return oe!==null&&!Or}function wr(r){let e=Qi(8,null);return qe(e,1024),e.teardown=r,e}function Yt(r){var i;qP("$effect"),M&&ir(r,"name",{value:"$effect"});var e=X.f,t=!oe&&(e&32)!==0&&Ee!==null&&!Ee.i;if(t){var n=Ee;((i=n.e)!=null?i:n.e=[]).push(r)}else return Vb(r)}function Vb(r){return Qi(1048580,r)}function gy(r){kn.ensure();let e=Qi(524352,r);return()=>{xt(e)}}function YP(r){kn.ensure();let e=Qi(524352,r);return(t={})=>new Promise(n=>{t.outro?Ji(e,()=>{xt(e),n(void 0)}):(xt(e),n(void 0))})}function cn(r){return Qi(4,r)}function AP(r){return Qi(4718592,r)}function vr(r,e=0){return Qi(8|e,r)}function $e(r,e=[],t=[],n=[]){Qp(n,e,t,i=>{Qi(8,()=>{r(...i.map(T))})})}function Tn(r,e=0){var t=Qi(16|e,r);return M&&(t.dev_stack=Yi),t}function Zt(r){return Qi(524320,r)}function wy(r){var e=r.teardown;if(e!==null){let t=Sn,n=oe;py(!0),Wt(null);try{e.call(null)}catch(i){rn(i,r.parent)}finally{py(t),Wt(n)}}}function Cf(r,e=!1){var t=r.first;for(r.first=r.last=null;t!==null;){let i=t.ac;i!==null&&tn(()=>{i.abort(Cs)});var n=t.next;(t.f&64)!==0?t.parent=null:xt(t,e),t=n}}function ZP(r){for(var e=r.first;e!==null;){var t=e.next;(e.f&32)===0&&xt(e),e=t}}function xt(r,e=!0){var t=!1;(e||(r.f&262144)!==0)&&r.nodes!==null&&r.nodes.end!==null&&(KP(r.nodes.start,r.nodes.end),t=!0),r.f|=33554432,Cf(r,e&&!t),ko(r,0);var n=r.nodes&&r.nodes.t;if(n!==null)for(let s of n)s.stop();wy(r),r.f^=33554432,r.f|=16384;var i=r.parent;i!==null&&i.first!==null&&ly(r),M&&(r.component_function=null),r.next=r.prev=r.teardown=r.ctx=r.deps=r.fn=r.nodes=r.ac=r.b=null}function KP(r,e){for(;r!==null;){var t=r===e?null:pr(r);r.remove(),r=t}}function ly(r){var e=r.parent,t=r.prev,n=r.next;t!==null&&(t.next=n),n!==null&&(n.prev=t),e!==null&&(e.first===r&&(e.first=n),e.last===r&&(e.last=t))}function Ji(r,e,t=!0){var n=[];r.f|=256,XP(r,n,!0);var i=()=>{t&&xt(r),e&&e()},s=n.length;if(s>0){var a=()=>--s||i();for(var o of n)o.out(a)}else i()}function XP(r,e,t){if((r.f&8192)===0){r.f^=8192;var n=r.nodes&&r.nodes.t;if(n!==null)for(let o of n)(o.is_global||t)&&e.push(o);for(var i=r.first;i!==null;){var s=i.next;if((i.f&64)===0){var a=(i.f&65536)!==0||(i.f&32)!==0&&(r.f&16)!==0;XP(i,e,a?t:!1)}i=s}}}function Pc(r){r.f&=-257,QP(r,!0)}function QP(r,e){if((r.f&256)===0&&(r.f&8192)!==0){r.f^=8192,(r.f&1024)===0&&(qe(r,2048),kn.ensure().schedule(r));for(var t=r.first;t!==null;){var n=t.next,i=(t.f&65536)!==0||(t.f&32)!==0;QP(t,i?e:!1),t=n}var s=r.nodes&&r.nodes.t;if(s!==null)for(let a of s)(a.is_global||e)&&a.in()}}function $c(r,e){if(r.nodes)for(var t=r.nodes.start,n=r.nodes.end;t!==null;){var i=t===n?null:pr(t);e.append(t),t=i}}m();var JP=null;var cm=!1,Sn=!1;function py(r){Sn=r}var oe=null,Or=!1;function Wt(r){oe=r}var X=null;function qt(r){X=r}var on=null;function tm(r){oe!==null&&(!zt&&(oe.f&2097152)!==0||(oe.f&2)!==0)&&(on!=null?on:on=new Set).add(r)}var lr=null,Mr=0,Cn=null;function BP(r){Cn=r}var t$=1,Fo=0,Ea=Fo;function fy(r){Ea=r}function yc(){return++t$}function xa(r){var e=r.f;if((e&2048)!==0)return!0;if((e&4096)!==0){for(var t=r.deps,n=t.length,i=0;i<n;i++){var s=t[i];if(xa(s)&&Jb(s),s.wv>r.wv)return!0}(e&512)!==0&&Lt===null&&qe(r,1024)}return!1}function r$(r,e,t=!0){var n=r.reactions;if(n!==null&&!(!zt&&on!==null&&on.has(r)))for(var i=0;i<n.length;i++){var s=n[i];(s.f&2)!==0?r$(s,e,!1):e===s&&(t?qe(s,2048):(s.f&1024)!==0&&qe(s,4096),$f(s))}}function em(r){var e=lr,t=Mr,n=Cn,i=oe,s=on,a=Ee,o=Or,l=Ea,c=r.f;lr=null,Mr=0,Cn=null,oe=(c&96)===0?r:null,on=null,Ps(r.ctx),Or=!1,Ea=++Fo,r.ac!==null&&(tn(()=>{r.ac.abort(Cs)}),r.ac=null);try{r.f|=2097152;var u=r.fn,f=u();r.f|=32768;var d=e$(r);if(Zi()&&Cn!==null&&!Or&&d!==null&&(r.f&6146)===0)for(var h=0;h<Cn.length;h++)r$(Cn[h],r);if(i!==null&&i!==r){if(Fo++,i.deps!==null)for(let p=0;p<t;p+=1)i.deps[p].rv=Fo;if(e!==null)for(let p of e)p.rv=Fo;Cn!==null&&(n===null?n=Cn:n.push(...Cn))}return(r.f&8388608)!==0&&(r.f^=8388608),f}catch(p){return e$(r),zP(p)}finally{r.f^=2097152,lr=e,Mr=t,Cn=n,oe=i,on=s,Ps(a),Or=o,Ea=l}}function e$(r){var i,s,a;var e=r.deps,t=(i=ie)==null?void 0:i.is_fork;if(lr!==null){var n;if(t||ko(r,Mr),e!==null&&Mr>0)for(e.length=Mr+lr.length,n=0;n<lr.length;n++)e[Mr+n]=lr[n];else r.deps=e=lr;if(ba()&&(r.f&512)!==0)for(n=Mr;n<e.length;n++)((a=(s=e[n]).reactions)!=null?a:s.reactions=[]).push(r)}else!t&&e!==null&&Mr<e.length&&(ko(r,Mr),e.length=Mr);return e}function AG(r,e){let t=e.reactions;if(t!==null){var n=WR.call(t,r);if(n!==-1){var i=t.length-1;i===0?t=e.reactions=null:(t[n]=t[i],t.pop())}}if(t===null&&(e.f&2)!==0&&(lr===null||!va.call(lr,e))){var s=e;(s.f&512)!==0&&(s.f^=512),s.v!==et&&mc(s),s.ac!==null&&tn(()=>{s.ac.abort(Cs),s.ac=null,qe(s,2048)}),CP(s),ko(s,0)}}function ko(r,e){var t=r.deps;if(t!==null)for(var n=e;n<t.length;n++)AG(r,t[n])}function Ki(r){var l;var e=r.f;if((e&16384)===0){qe(r,1024);var t=X,n=cm;if(X=r,cm=(e&96)===0,M){var i=wi;Kp(r.component_function);var s=Yi;pc((l=r.dev_stack)!=null?l:Yi)}try{(e&16777232)!==0?ZP(r):Cf(r),wy(r);var a=em(r);if(r.teardown=typeof a=="function"?a:null,r.wv=t$,M&&mi&&(r.f&2048)!==0&&r.deps!==null)for(var o of r.deps)o.set_during_effect&&(o.wv=yc(),o.set_during_effect=!1)}finally{cm=n,X=t,M&&(Kp(i),pc(s))}}}async function um(){if(zt)return new Promise(r=>{requestAnimationFrame(()=>r()),setTimeout(()=>r())});await Promise.resolve(),To()}function T(r){var h,p,g;var e=r.f,t=(e&2)!==0;if((h=JP)==null||h.add(r),oe!==null&&!Or){var n=X!==null&&(X.f&16384)!==0;if(!n&&(on===null||!on.has(r))){var i=oe.deps;if((oe.f&2097152)!==0)r.rv<Fo&&(r.rv=Fo,lr===null&&i!==null&&i[Mr]===r?Mr++:lr===null?lr=[r]:lr.push(r));else{(p=oe.deps)!=null||(oe.deps=[]),va.call(oe.deps,r)||oe.deps.push(r);var s=r.reactions;s===null?r.reactions=[oe]:va.call(s,oe)||s.push(oe)}}}if(M){if(!Or&&nn&&ie===null&&Fs===null&&!nn.warned&&(nn.effect.f&2097152)===0&&!nn.effect_deps.has(r)){nn.warned=!0,KR(r.label);var a=gi("traced at");a&&console.warn(a)}if(Sf.delete(r),mi&&!Or&&_f!==null&&oe!==null&&_f.reaction===oe){if(r.trace)r.trace();else if(a=gi("traced at"),a){var o=_f.entries.get(r);o===void 0&&(o={traces:[]},_f.entries.set(r,o));var l=o.traces[o.traces.length-1];a.stack!==(l==null?void 0:l.stack)&&o.traces.push(a)}}}if(Sn&&Jn.has(r))return Jn.get(r);if(t){var c=r;if(Sn){var u=c.v;return((c.f&1024)===0&&c.reactions!==null||i$(c))&&(u=kf(c)),Jn.set(c,u),u}var f=(c.f&512)===0&&!Or&&oe!==null&&(cm||(oe.f&512)!==0),d=(c.f&32768)===0;xa(c)&&(f&&(c.f|=512),Jb(c)),f&&!d&&(ey(c),n$(c))}if((g=Lt)!=null&&g.has(r))return Lt.get(r);if((r.f&8388608)!==0)throw r.v;return r.v}function n$(r){var e;if(r.f|=512,r.deps!==null)for(let t of r.deps)((e=t.reactions)!=null?e:t.reactions=[]).push(r),(t.f&2)!==0&&(t.f&512)===0&&(ey(t),n$(t))}function i$(r){if(r.v===et)return!0;if(r.deps===null)return!1;for(let e of r.deps)if(Jn.has(e)||(e.f&2)!==0&&i$(e))return!0;return!1}function tt(r){var e=Or;try{return Or=!0,r()}finally{Or=e}}m();m();m();var Mo=Symbol("events"),yy=new Set,fm=new Set;function s$(r,e,t,n={}){function i(s){if(n.capture||dm.call(e,s),!s.cancelBubble)return tn(()=>t==null?void 0:t.call(this,s))}return r.startsWith("pointer")||r.startsWith("touch")||r==="wheel"?(i.__removed=!1,Pt(()=>{i.__removed||e.addEventListener(r,i,n)})):e.addEventListener(r,i,n),i}function un(r,e,t,n,i){var s={capture:n,passive:i},a=s$(r,e,t,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&wr(()=>{a.__removed=!0,e.removeEventListener(r,a,s)})}function ne(r,e,t){var n;((n=e[Mo])!=null?n:e[Mo]={})[r]=t}function Et(r){for(var e=0;e<r.length;e++)yy.add(r[e]);for(var t of fm)t(r)}var vy=null,by=!1;function dm(r){var g,w;var e=this,t=e.ownerDocument,n=r.type,i=((g=r.composedPath)==null?void 0:g.call(r))||[],s=i[0]||r.target;vy=r,by||(by=!0,setTimeout(()=>{by=!1,vy=null}));var a=0,o=vy===r&&r[Mo];if(o){var l=i.indexOf(o);if(l!==-1&&(e===document||e===window)){r[Mo]=e;return}var c=i.indexOf(e);if(c===-1)return;l<=c&&(a=l)}if(s=i[a]||r.target,s!==e){ir(r,"currentTarget",{configurable:!0,get(){return s||t}});var u=oe,f=X;Wt(null),qt(null);try{for(var d,h=[];s!==null&&s!==e;){try{var p=(w=s[Mo])==null?void 0:w[n];p!=null&&(!s.disabled||r.target===s)&&p.call(s,r)}catch(b){d?h.push(b):d=b}if(r.cancelBubble)break;a++,s=a<i.length?i[a]:null}if(d){for(let b of h)queueMicrotask(()=>{throw b});throw d}}finally{r[Mo]=e,delete r.currentTarget,Wt(u),qt(f)}}}m();m();var a$,_y=((a$=globalThis==null?void 0:globalThis.window)==null?void 0:a$.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:r=>r});function o$(r){var e;return(e=_y==null?void 0:_y.createHTML(r))!=null?e:r}function xy(r){var e=_i("template");return e.innerHTML=o$(r.replaceAll("<!>","<!---->")),e.content}function xi(r,e){var t=X;t.nodes===null&&(t.nodes={start:r,end:e,a:null,t:null})}function se(r,e){var t=(e&1)!==0,n=(e&2)!==0,i,s=!r.startsWith("<!>");return()=>{if(re)return xi(pe,null),pe;i===void 0&&(i=xy(s?r:"<!>"+r),t||(i=or(i)));var a=n||If?document.importNode(i,!0):i.cloneNode(!0);if(t){var o=or(a),l=a.lastChild;xi(o,l)}else xi(a,a);return a}}function Ns(){if(re)return xi(pe,null),pe;var r=document.createDocumentFragment(),e=document.createComment(""),t=Nt();return r.append(e,t),xi(e,t),r}function Y(r,e){if(re){var t=X;((t.f&32768)===0||t.nodes.end===null)&&(t.nodes.end=pe),xr();return}r!==null&&r.before(e)}m();var FG=["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 cre=[...FG,"formNoValidate","isMap","noModule","playsInline","readOnly","value","volume","defaultValue","defaultChecked","srcObject","noValidate","allowFullscreen","disablePictureInPicture","disableRemotePlayback"];var MG=["touchstart","touchmove"];function l$(r){return MG.includes(r)}var OG=["$state","$state.raw","$derived","$derived.by"],ure=[...OG,"$state.eager","$state.snapshot","$props","$props.id","$bindable","$effect","$effect.pre","$effect.tracking","$effect.root","$effect.pending","$inspect","$inspect().with","$inspect.trace","$host"];m();m();function c$(r){let e=0,t=Sr(0),n;return M&&Er(t,"createSubscriber version"),()=>{ba()&&(T(t),vr(()=>(e===0&&(n=tt(()=>r(()=>$o(t)))),e+=1,()=>{Pt(()=>{e-=1,e===0&&(n==null||n(),n=void 0,$o(t))})})))}}var DG=589824;function Ry(r,e,t,n){new Sy(r,e,t,n)}var Rn,Of,ei,Oo,Dr,Pn,Lr,$n,es,Do,Sa,Ic,Df,Lf,ts,pm,Ye,f$,d$,ky,h$,Cy,Mf,hm,Ay,Ty,Sy=class{constructor(e,t,n,i){de(this,Ye);Ve(this,"parent");Ve(this,"is_pending",!1);Ve(this,"transform_error");de(this,Rn);de(this,Of,re?pe:null);de(this,ei);de(this,Oo);de(this,Dr);de(this,Pn,null);de(this,Lr,null);de(this,$n,null);de(this,es,null);de(this,Do,0);de(this,Sa,0);de(this,Ic,!1);de(this,Df,new Set);de(this,Lf,new Set);de(this,ts,null);de(this,pm,c$(()=>(le(this,ts,Sr(I(this,Do))),M&&Er(I(this,ts),"$effect.pending()"),()=>{le(this,ts,null)})));var s,a;le(this,Rn,e),le(this,ei,t),le(this,Oo,o=>{var l=X;l.b=this,l.f|=128,n(o)}),this.parent=X.b,this.transform_error=(a=i!=null?i:(s=this.parent)==null?void 0:s.transform_error)!=null?a:(o=>o),le(this,Dr,Tn(()=>{if(re){let o=I(this,Of);xr();let l=o.data==="[!";if(o.data.startsWith("[?")){let u=JSON.parse(o.data.slice("[?".length));_e(this,Ye,d$).call(this,u)}else l?_e(this,Ye,h$).call(this):_e(this,Ye,f$).call(this)}else _e(this,Ye,Cy).call(this)},DG)),re&&le(this,Rn,pe)}defer_effect(e){Xp(e,I(this,Df),I(this,Lf))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!I(this,ei).pending}update_pending_count(e,t){_e(this,Ye,Ay).call(this,e,t),le(this,Do,I(this,Do)+e),!(!I(this,ts)||I(this,Ic))&&(le(this,Ic,!0),Pt(()=>{le(this,Ic,!1),I(this,ts)&&bi(I(this,ts),I(this,Do))}))}get_effect_pending(){return I(this,pm).call(this),T(I(this,ts))}error(e){var t;if(!I(this,ei).onerror&&!I(this,ei).failed)throw e;(t=ie)!=null&&t.is_fork?(I(this,Pn)&&ie.skip_effect(I(this,Pn)),I(this,Lr)&&ie.skip_effect(I(this,Lr)),I(this,$n)&&ie.skip_effect(I(this,$n)),ie.oncommit(()=>{_e(this,Ye,Ty).call(this,e)})):_e(this,Ye,Ty).call(this,e)}};Rn=new WeakMap,Of=new WeakMap,ei=new WeakMap,Oo=new WeakMap,Dr=new WeakMap,Pn=new WeakMap,Lr=new WeakMap,$n=new WeakMap,es=new WeakMap,Do=new WeakMap,Sa=new WeakMap,Ic=new WeakMap,Df=new WeakMap,Lf=new WeakMap,ts=new WeakMap,pm=new WeakMap,Ye=new WeakSet,f$=function(){try{le(this,Pn,Zt(()=>I(this,Oo).call(this,I(this,Rn))))}catch(e){this.error(e)}},d$=function(e){let t=I(this,ei).failed,{reset:n,invoke_onerror:i}=_e(this,Ye,ky).call(this,e);Pt(i),t&&le(this,$n,Zt(()=>{t(I(this,Rn),()=>e,()=>n)}))},ky=function(e){var t=!1,n=!1;let i=()=>{if(t){tP();return}t=!0,n&&vP(),I(this,$n)!==null&&Ji(I(this,$n),()=>{le(this,$n,null)}),_e(this,Ye,hm).call(this,()=>{_e(this,Ye,Cy).call(this)})};return{reset:i,invoke_onerror:()=>{var a,o;try{n=!0,(o=(a=I(this,ei)).onerror)==null||o.call(a,e,i),n=!1}catch(l){rn(l,I(this,Dr)&&I(this,Dr).parent)}}}},h$=function(){let e=I(this,ei).pending;e&&(this.is_pending=!0,le(this,Lr,Zt(()=>e(I(this,Rn)))),Pt(()=>{var t=le(this,es,document.createDocumentFragment()),n=Nt(),i=!1;if(t.append(n),le(this,Pn,_e(this,Ye,hm).call(this,()=>{try{return Zt(()=>I(this,Oo).call(this,n))}catch(s){try{this.error(s),i=!0}catch(a){rn(a,I(this,Dr).parent)}return null}})),I(this,Pn)===null){le(this,es,null),i&&_e(this,Ye,Mf).call(this,ie);return}I(this,Sa)===0&&(I(this,Rn).before(t),le(this,es,null),Ji(I(this,Lr),()=>{le(this,Lr,null)}),_e(this,Ye,Mf).call(this,ie))}))},Cy=function(){try{if(this.is_pending=this.has_pending_snippet(),le(this,Sa,0),le(this,Do,0),le(this,Pn,Zt(()=>{I(this,Oo).call(this,I(this,Rn))})),I(this,Sa)>0){var e=le(this,es,document.createDocumentFragment());$c(I(this,Pn),e);let t=I(this,ei).pending;le(this,Lr,Zt(()=>t(I(this,Rn))))}else _e(this,Ye,Mf).call(this,ie)}catch(t){this.error(t)}},Mf=function(e){this.is_pending=!1,e.transfer_effects(I(this,Df),I(this,Lf))},hm=function(e){var t=X,n=oe,i=Ee;qt(I(this,Dr)),Wt(I(this,Dr)),Ps(I(this,Dr).ctx);try{return kn.ensure(),e()}finally{qt(t),Wt(n),Ps(i)}},Ay=function(e,t){var n;if(!this.has_pending_snippet()){this.parent&&_e(n=this.parent,Ye,Ay).call(n,e,t);return}le(this,Sa,I(this,Sa)+e),I(this,Sa)===0&&(_e(this,Ye,Mf).call(this,t),I(this,Lr)&&Ji(I(this,Lr),()=>{le(this,Lr,null)}),I(this,es)&&(I(this,Rn).before(I(this,es)),le(this,es,null)))},Ty=function(e){I(this,Pn)&&(xt(I(this,Pn)),le(this,Pn,null)),I(this,Lr)&&(xt(I(this,Lr)),le(this,Lr,null)),I(this,$n)&&(xt(I(this,$n)),le(this,$n,null)),re&&(Qe(I(this,Of)),bo(),Qe(qi()));let t=I(this,ei).failed,n=i=>{let{reset:s,invoke_onerror:a}=_e(this,Ye,ky).call(this,i);a(),t&&le(this,$n,_e(this,Ye,hm).call(this,()=>{try{return Zt(()=>{var o=X;o.b=this,o.f|=128,t(I(this,Rn),()=>i,()=>s)})}catch(o){return rn(o,I(this,Dr).parent),null}}))};Pt(()=>{var i;try{i=this.transform_error(e)}catch(s){rn(s,I(this,Dr)&&I(this,Dr).parent);return}i!==null&&typeof i=="object"&&typeof i.then=="function"?i.then(n,s=>rn(s,I(this,Dr)&&I(this,Dr).parent)):n(i)})};var gm=!0;function Le(r,e){var n,i;var t=e==null?"":typeof e=="object"?`${e}`:e;t!==((i=r[n=vf])!=null?i:r[n]=r.nodeValue)&&(r[vf]=t,r.nodeValue=`${t}`)}function ka(r,e){return p$(r,e)}function $y(r,e){var a;am(),e.intro=(a=e.intro)!=null?a:!1;let t=e.target,n=re,i=pe;try{for(var s=or(t);s&&(s.nodeType!==Xn||s.data!=="[");)s=pr(s);if(!s)throw Ss;jt(!0),Qe(s);let o=p$(r,{...e,anchor:s});return jt(!1),o}catch(o){if(o instanceof Error&&o.message.split(`
|
|
`).some(l=>l.startsWith("https://svelte.dev/e/")))throw o;return o!==Ss&&console.warn("Failed to hydrate: ",o),e.recover===!1&&dP(),am(),wc(t),jt(!1),ka(r,e)}finally{jt(n),Qe(i)}}var mm=new Map;function p$(r,{target:e,anchor:t,props:n={},events:i,context:s,intro:a=!0,transformError:o}){am();var l=void 0,c=YP(()=>{var u=t!=null?t:e.appendChild(Nt());Ry(u,{pending:()=>{}},h=>{lt({});var p=Ee;if(s&&(p.c=s),i&&(n.$$events=i),re&&xi(h,null),gm=a,l=r(h,n)||xf(),gm=!0,re&&(X.nodes.end=pe,pe===null||pe.nodeType!==Xn||pe.data!=="]"))throw vo(),Ss;ct()},o);var f=new Set,d=h=>{for(var p=0;p<h.length;p++){var g=h[p];if(!f.has(g)){f.add(g);var w=l$(g);for(let k of[e,document]){var b=mm.get(k);b===void 0&&(b=new Map,mm.set(k,b));var y=b.get(g);y===void 0?(k.addEventListener(g,dm,{passive:w}),b.set(g,1)):b.set(g,y+1)}}}};return d(cc(yy)),fm.add(d),()=>{var w;for(var h of f)for(let b of[e,document]){var p=mm.get(b),g=p.get(h);--g==0?(b.removeEventListener(h,dm),p.delete(h),p.size===0&&mm.delete(b)):p.set(h,g)}fm.delete(d),u!==t&&((w=u.parentNode)==null||w.removeChild(u))}});return Py.set(l,c),l}var Py=new WeakMap;function Bs(r,e){let t=Py.get(r);return t?(Py.delete(r),t(e)):(M&&eP(),Promise.resolve())}m();m();m();var Ei,rs,In,Lo,Nf,Bf,wm,Us=class{constructor(e,t=!0){Ve(this,"anchor");de(this,Ei,new Map);de(this,rs,new Map);de(this,In,new Map);de(this,Lo,new Set);de(this,Nf,!0);de(this,Bf,e=>{if(I(this,Ei).has(e)){var t=I(this,Ei).get(e),n=I(this,rs).get(t);if(n)Pc(n),I(this,Lo).delete(t);else{var i=I(this,In).get(t);i&&(Pc(i.effect),I(this,rs).set(t,i.effect),I(this,In).delete(t),M&&(i.fragment.lastChild[Ub]=this.anchor),i.fragment.lastChild.remove(),this.anchor.before(i.fragment),n=i.effect)}for(let[s,a]of I(this,Ei)){if(I(this,Ei).delete(s),s===e)break;let o=I(this,In).get(a);o&&(xt(o.effect),I(this,In).delete(a))}for(let[s,a]of I(this,rs)){if(s===t||I(this,Lo).has(s))continue;let o=()=>{if(Array.from(I(this,Ei).values()).includes(s)){var c=document.createDocumentFragment();$c(a,c),c.append(Nt()),I(this,In).set(s,{effect:a,fragment:c})}else xt(a);I(this,Lo).delete(s),I(this,rs).delete(s)};I(this,Nf)||!n?(I(this,Lo).add(s),Ji(a,o,!1)):o()}}});de(this,wm,e=>{I(this,Ei).delete(e);let t=Array.from(I(this,Ei).values());for(let[n,i]of I(this,In))t.includes(n)||(xt(i.effect),I(this,In).delete(n))});this.anchor=e,le(this,Nf,t)}ensure(e,t){var n=ie,i=om();if(t&&!I(this,rs).has(e)&&!I(this,In).has(e))if(i){var s=document.createDocumentFragment(),a=Nt();s.append(a),I(this,In).set(e,{effect:Zt(()=>t(a)),fragment:s})}else I(this,rs).set(e,Zt(()=>t(this.anchor)));if(I(this,Ei).set(n,e),i){for(let[o,l]of I(this,rs))o===e?n.unskip_effect(l):n.skip_effect(l);for(let[o,l]of I(this,In))o===e?n.unskip_effect(l.effect):n.skip_effect(l.effect);n.oncommit(I(this,Bf)),n.ondiscard(I(this,wm))}else re&&(this.anchor=pe),I(this,Bf).call(this,n)}};Ei=new WeakMap,rs=new WeakMap,In=new WeakMap,Lo=new WeakMap,Nf=new WeakMap,Bf=new WeakMap,wm=new WeakMap;if(M){let r=function(e){if(!(e in globalThis)){let t;Object.defineProperty(globalThis,e,{configurable:!0,get:()=>{if(t!==void 0)return t;pP(e)},set:n=>{t=n}})}};r("$state"),r("$effect"),r("$derived"),r("$inspect"),r("$props"),r("$bindable")}function No(r){Ee===null&&qp("onMount"),Rs&&Ee.l!==null?BG(Ee).m.push(r):Yt(()=>{let e=tt(r);if(typeof e=="function")return e})}function BG(r){var t;var e=r.l;return(t=e.u)!=null?t:e.u={a:[],b:[],m:[]}}m();m();var w$=new Map;function v$(r,e){var t=w$.get(r);t||(t=new Set,w$.set(r,t)),t.add(e)}m();m();m();m();m();m();m();m();m();function ve(r,e,t=!1){var n;re&&(n=pe,xr());var i=new Us(r),s=t?65536:0;function a(o,l){if(re){var c=yf(n);if(o!==parseInt(c.substring(1))){var u=qi();Qe(u),i.anchor=u,jt(!1),i.ensure(o,l),jt(!0);return}}i.ensure(o,l)}Tn(()=>{var o=!1;e((l,c=0)=>{o=!0,a(c,l)}),o||a(-1,null)},s)}m();m();m();function fn(r,e){return e}function qG(r,e,t){var f;for(var n=[],i=e.length,s,a=e.length,o=0;o<i;o++){let d=e[o];Ji(d,()=>{if(s){if(s.pending.delete(d),s.done.add(d),s.pending.size===0){var h=r.outrogroups;Iy(r,cc(s.done)),h.delete(s),h.size===0&&(r.outrogroups=null)}}else a-=1},!1)}if(a===0){var l=n.length===0&&t!==null&&r.pending.size===0;if(l){var c=t,u=c.parentNode;wc(u),u.append(c),r.items.clear()}Iy(r,e,!l)}else s={pending:new Set(e),done:new Set},((f=r.outrogroups)!=null?f:r.outrogroups=new Set).add(s)}function Iy(r,e,t=!0){var n;if(r.pending.size>0){n=new Set;for(let a of r.pending.values())for(let o of a)n.add(r.items.get(o).e)}for(var i=0;i<e.length;i++){var s=e[i];if(n!=null&&n.has(s)){s.f|=33554432;let a=document.createDocumentFragment();$c(s,a)}else xt(e[i],t)}}var Ca;function dn(r,e,t,n,i,s=null){var a=r,o=new Map,l=(e&4)!==0;if(l){var c=r;a=re?Qe(or(c)):c.appendChild(Nt())}re&&xr();var u=null,f=Eo(()=>{var k=t();return ks(k)?k:k==null?[]:cc(k)});M&&Er(f,"{#each ...}");var d,h=new Map,p=!0;function g(k){(y.effect.f&16384)===0&&(y.pending.delete(k),y.fallback=u,YG(y,d,a,e,n),u!==null&&(d.length===0?(u.f&33554432)===0?Pc(u):(u.f^=33554432,Hf(u,null,a)):Ji(u,()=>{u=null})))}function w(k){y.pending.delete(k)}var b=Tn(()=>{d=T(f);var k=d.length;let C=!1;if(re){var S=yf(a)==="[!";S!==(k===0)&&(a=qi(),Qe(a),jt(!1),C=!0)}for(var A=new Set,v=ie,x=om(),E=0;E<k;E+=1){re&&pe.nodeType===Xn&&pe.data==="]"&&(a=pe,C=!0,jt(!1));var R=d[E],$=n(R,E);if(M){var D=n(R,E);$!==D&&oP(String(E),String($),String(D))}var O=p?null:o.get($);O?(O.v&&bi(O.v,R),O.i&&bi(O.i,E),x&&v.unskip_effect(O.e)):(O=ZG(o,p?a:Ca!=null?Ca:Ca=Nt(),R,$,E,i,e,t),p||(O.e.f|=33554432),o.set($,O)),A.add($)}if(k===0&&s&&!u&&(p?u=Zt(()=>s(a)):(u=Zt(()=>s(Ca!=null?Ca:Ca=Nt())),u.f|=33554432)),k>A.size&&(M?KG(d,n):zb("","","")),re&&k>0&&Qe(qi()),!p)if(h.set(v,A),x){for(let[U,me]of o)A.has(U)||v.skip_effect(me.e);v.oncommit(g),v.ondiscard(w)}else g(v);C&&jt(!0),T(f)}),y={effect:b,flags:e,items:o,pending:h,outrogroups:null,fallback:u};p=!1,re&&(a=pe)}function Uf(r){for(;r!==null&&(r.f&32)===0;)r=r.next;return r}function YG(r,e,t,n,i){var R,$,D,O,U,me,Ne,Re,be;var s=(n&8)!==0,a=e.length,o=r.items,l=Uf(r.effect.first),c,u=null,f,d=[],h=[],p,g,w,b;if(s)for(b=0;b<a;b+=1)p=e[b],g=i(p,b),w=o.get(g).e,(w.f&33554432)===0&&(($=(R=w.nodes)==null?void 0:R.a)==null||$.measure(),(f!=null?f:f=new Set).add(w));for(b=0;b<a;b+=1){if(p=e[b],g=i(p,b),w=o.get(g).e,r.outrogroups!==null)for(let ye of r.outrogroups)ye.pending.delete(w),ye.done.delete(w);if((w.f&8192)!==0&&(Pc(w),s&&((O=(D=w.nodes)==null?void 0:D.a)==null||O.unfix(),(f!=null?f:f=new Set).delete(w))),(w.f&33554432)!==0)if(w.f^=33554432,w===l)Hf(w,null,t);else{var y=u?u.next:l;w===r.effect.last&&(r.effect.last=w.prev),w.prev&&(w.prev.next=w.next),w.next&&(w.next.prev=w.prev),Aa(r,u,w),Aa(r,w,y),Hf(w,y,t),u=w,d=[],h=[],l=Uf(u.next);continue}if(w!==l){if(c!==void 0&&c.has(w)){if(d.length<h.length){var k=h[0],C;u=k.prev;var S=d[0],A=d[d.length-1];for(C=0;C<d.length;C+=1)Hf(d[C],k,t);for(C=0;C<h.length;C+=1)c.delete(h[C]);Aa(r,S.prev,A.next),Aa(r,u,S),Aa(r,A,k),l=k,u=A,b-=1,d=[],h=[]}else c.delete(w),Hf(w,l,t),Aa(r,w.prev,w.next),Aa(r,w,u===null?r.effect.first:u.next),Aa(r,u,w),u=w;continue}for(d=[],h=[];l!==null&&l!==w;)(c!=null?c:c=new Set).add(l),h.push(l),l=Uf(l.next);if(l===null)continue}(w.f&33554432)===0&&d.push(w),u=w,l=Uf(w.next)}if(r.outrogroups!==null){for(let ye of r.outrogroups)ye.pending.size===0&&(Iy(r,cc(ye.done)),(U=r.outrogroups)==null||U.delete(ye));r.outrogroups.size===0&&(r.outrogroups=null)}if(l!==null||c!==void 0){var v=[];if(c!==void 0)for(w of c)(w.f&8192)===0&&v.push(w);for(;l!==null;)(l.f&8192)===0&&l!==r.fallback&&v.push(l),l=Uf(l.next);var x=v.length;if(x>0){var E=(n&4)!==0&&a===0?t:null;if(s){for(b=0;b<x;b+=1)(Ne=(me=v[b].nodes)==null?void 0:me.a)==null||Ne.measure();for(b=0;b<x;b+=1)(be=(Re=v[b].nodes)==null?void 0:Re.a)==null||be.fix()}qG(r,v,E)}}s&&Pt(()=>{var ye,ae;if(f!==void 0)for(w of f)(ae=(ye=w.nodes)==null?void 0:ye.a)==null||ae.apply()})}function ZG(r,e,t,n,i,s,a,o){var l=(a&1)!==0?(a&16)===0?Po(t,!1,!1):Sr(t):null,c=(a&2)!==0?Sr(i):null;return M&&l&&(l.trace=()=>{var u;o()[(u=c==null?void 0:c.v)!=null?u:i]}),{v:l,i:c,e:Zt(()=>(s(e,l!=null?l:t,c!=null?c:i,o),()=>{r.delete(n)}))}}function Hf(r,e,t){if(r.nodes)for(var n=r.nodes.start,i=r.nodes.end,s=e&&(e.f&33554432)===0?e.nodes.start:t;n!==null;){var a=pr(n);if(s.before(n),n===i)return;n=a}}function Aa(r,e,t){e===null?r.effect.first=t:e.next=t,t===null?r.effect.last=e:t.prev=e}function KG(r,e){let t=new Map,n=r.length;for(let i=0;i<n;i++){let s=e(r[i],i);if(t.has(s)){let a=String(t.get(s)),o=String(i),l=String(s);l.startsWith("[object ")&&(l=null),zb(a,o,l)}t.set(s,i)}}m();m();m();m();m();m();m();var XG=Np?()=>performance.now():()=>Date.now(),Si={tick:r=>(Np?requestAnimationFrame:_r)(r),now:()=>XG(),tasks:new Set};function y$(){let r=Si.now();Si.tasks.forEach(e=>{e.c(r)||(Si.tasks.delete(e),e.f())}),Si.tasks.size!==0&&Si.tick(y$)}function _$(r){let e;return Si.tasks.size===0&&Si.tick(y$),{promise:new Promise(t=>{Si.tasks.add(e={c:r,f:t})}),abort(){Si.tasks.delete(e)}}}function vm(r,e){tn(()=>{r.dispatchEvent(new CustomEvent(e))})}function tj(r){if(r==="float")return"cssFloat";if(r==="offset")return"cssOffset";if(r.startsWith("--"))return r;let e=r.split("-");return e.length===1?e[0]:e[0]+e.slice(1).map(t=>t[0].toUpperCase()+t.slice(1)).join("")}function x$(r){let e={},t=r.split(";");for(let n of t){let[i,s]=n.split(":");if(!i||s===void 0)break;let a=tj(i.trim());e[a]=s.trim()}return e}var rj=r=>r;function ti(r,e,t,n){var k,C;var i=(r&1)!==0,s=(r&2)!==0,a=i&&s,o=(r&4)!==0,l=a?"both":i?"in":"out",c,u=e.inert,f=e.style.overflow,d,h;function p(){return tn(()=>{var S;return c!=null?c:c=t()(e,(S=n==null?void 0:n())!=null?S:{},{direction:l})})}var g={is_global:o,in(){var S;if(e.inert=u,!i){h==null||h.abort(),(S=h==null?void 0:h.reset)==null||S.call(h);return}s||d==null||d.abort(),d=Fy(e,p(),h,1,()=>{vm(e,"introstart")},()=>{vm(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=Fy(e,p(),d,0,()=>{vm(e,"outrostart")},()=>{vm(e,"outroend"),S==null||S()})},stop:()=>{d==null||d.abort(),h==null||h.abort()}},w=X;if(((C=(k=w.nodes).t)!=null?C:k.t=[]).push(g),i&&gm){var b=o;if(!b){for(var y=w.parent;y&&(y.f&65536)!==0;)for(;(y=y.parent)&&(y.f&16)===0;);b=!y||(y.f&32768)!==0}b&&cn(()=>{tt(()=>g.in())})}}function Fy(r,e,t,n,i,s){var a=n===1,o=!1;if(Nb(e)){var l;return Pt(()=>{if(!o){var g=e({direction:a?"in":"out"});l=Fy(r,g,t,n,i,s)}}),{abort:()=>{o=!0,l==null||l.abort()},deactivate:()=>l.deactivate(),reset:()=>l.reset(),t:()=>l.t()}}if(t==null||t.deactivate(),!(e!=null&&e.duration)&&!(e!=null&&e.delay))return i(),s(),{abort:_r,deactivate:_r,reset:_r,t:()=>n};let{delay:c=0,css:u,tick:f,easing:d=rj}=e;var h,p=()=>1-n;return Pt(()=>{if(!o){var g=[];if(a&&t===void 0&&(f&&f(0,1),u)){var w=x$(u(0,1));g.push(w,w)}h=r.animate(g,{duration:c,fill:"forwards"}),h.onfinish=()=>{var R;h.cancel(),i();var b=(R=t==null?void 0:t.t())!=null?R:1-n;t==null||t.abort();var y=n-b,k=e.duration*Math.abs(y),C=[];if(k>0){var S=!1;if(u)for(var A=Math.ceil(k/16.666666666666668),v=0;v<=A;v+=1){var x=b+y*d(v/A),E=x$(u(x,1-x));C.push(E),S||(S=E.overflow==="hidden")}S&&(r.style.overflow="hidden"),p=()=>{var $=h.currentTime;return b+y*d($/k)},f&&_$(()=>{if(h.playState!=="running")return!1;var $=p();return f($,1-$),!0})}h=r.animate(C,{duration:k,fill:"forwards"}),h.onfinish=()=>{p=()=>n,f==null||f(n,1-n),s()}}}}),{abort:()=>{o=!0,h&&(h.cancel(),h.effect=null,h.onfinish=_r)},deactivate:()=>{s=_r},reset:()=>{n===0&&(f==null||f(1,0))},t:()=>p()}}m();m();function Fn(r,e){cn(()=>{var i,s,a,o,l;r=(o=(a=(s=(i=X)==null?void 0:i.parent)==null?void 0:s.nodes)==null?void 0:a.start)!=null?o:r;var t=r.getRootNode(),n=t.host?t:(l=t.head)!=null?l:t.ownerDocument.head;if(!n.querySelector("#"+e.hash)){let c=_i("style");c.id=e.hash,c.textContent=e.code,n.appendChild(c),M&&v$(e.hash,c)}})}m();m();m();m();m();m();var S$=[...`
|
|
\r\f\xA0\v\uFEFF`];function k$(r,e,t){var n=r==null?"":""+r;if(e&&(n=n?n+" "+e:e),t){for(var i of Object.keys(t))if(t[i])n=n?n+" "+i:i;else if(n.length)for(var s=i.length,a=0;(a=n.indexOf(i,a))>=0;){var o=a+s;(a===0||S$.includes(n[a-1]))&&(o===n.length||S$.includes(n[o]))?n=(a===0?"":n.substring(0,a))+n.substring(o+1):a=o}}return n===""?null:n}m();function nt(r,e,t,n,i,s){var a=r[wf];if(re||a!==t||a===void 0){var o=k$(t,n,s);(!re||o!==r.getAttribute("class"))&&(o==null?r.removeAttribute("class"):e?r.className=o:r.setAttribute("class",o)),r[wf]=t}else if(s&&i!==s)for(var l in s){var c=!!s[l];(i==null||c!==!!i[l])&&r.classList.toggle(l,c)}return s}m();m();var dj=Symbol("is custom element"),hj=Symbol("is html"),pj=Hb?"link":"LINK";function fe(r,e,t,n){var i=mj(r);if(re&&(i[e]=r.getAttribute(e),e==="src"||e==="srcset"||e==="href"&&r.nodeName===pj)){n||wj(r,e,t!=null?t:"");return}i[e]!==(i[e]=t)&&(e==="loading"&&(r[ZR]=t),t==null?r.removeAttribute(e):typeof t!="string"&&gj(r).has(e)?r[e]=t:r.setAttribute(e,t))}function mj(r){var e,t;return(t=r[e=jp])!=null?t:r[e]={[dj]:r.nodeName.includes("-"),[hj]:r.namespaceURI===Lp}}var C$=new Map;function gj(r){var e=r.getAttribute("is")||r.nodeName,t=C$.get(e);if(t)return t;C$.set(e,t=new Set);for(var n,i=r,s=Element.prototype;s!==i;){n=Ob(i);for(var a in n)n[a].set&&a!=="innerHTML"&&a!=="textContent"&&a!=="innerText"&&t.add(a);i=uc(i)}return t}function wj(r,e,t){var n;M&&(e==="srcset"&&vj(r,t)||My((n=r.getAttribute(e))!=null?n:"",t)||JR(e,r.outerHTML.replace(r.innerHTML,r.innerHTML&&"..."),String(t)))}function My(r,e){return r===e?!0:new URL(r,document.baseURI).href===new URL(e,document.baseURI).href}function A$(r){return r.split(",").map(e=>e.trim().split(" ").filter(Boolean))}function vj(r,e){var t=A$(r.srcset),n=A$(e);return n.length===t.length&&n.every(([i,s],a)=>s===t[a][1]&&(My(t[a][0],i)||My(i,t[a][0])))}m();m();m();function Ly(r,e,t=e){var n=new WeakSet;Yb(r,"input",async i=>{M&&r.type==="checkbox"&&jb();var s=i?r.defaultValue:r.value;if(s=Oy(r)?Dy(s):s,t(s),ie!==null&&n.add(ie),await um(),s!==(s=e())){var a=r.selectionStart,o=r.selectionEnd,l=r.value.length;if(r.value=s!=null?s:"",o!==null){var c=r.value.length;a===o&&o===l&&c>l?(r.selectionStart=c,r.selectionEnd=c):(r.selectionStart=a,r.selectionEnd=Math.min(o,c))}}}),(re&&r.defaultValue!==r.value||tt(e)==null&&r.value)&&(t(Oy(r)?Dy(r.value):r.value),ie!==null&&n.add(ie)),vr(()=>{M&&r.type==="checkbox"&&jb();var i=e();if(r===document.activeElement){var s=zt?Fs:ie;if(n.has(s))return}Oy(r)&&i===Dy(r.value)||r.type==="date"&&!i&&!r.value||i!==r.value&&(r.value=i!=null?i:"")})}function Oy(r){var e=r.type;return e==="number"||e==="range"}function Dy(r){return r===""?null:+r}m();m();m();m();m();function Ny(r,e){return r===e||(r==null?void 0:r[Ir])===e}function ze(r=xf(),e,t,n){var i=Ee.r,s=X;return cn(()=>{var a,o;return vr(()=>{a=o,o=(n==null?void 0:n())||[],tt(()=>{Ny(t(...o),r)||(e(r,...o),a&&Ny(t(...a),r)&&e(null,...a))})}),()=>{let l=s;for(;l!==i&&l.parent!==null&&l.parent.f&33554432;)l=l.parent;let c=()=>{o&&Ny(t(...o),r)&&e(null,...o)},u=l.teardown;l.teardown=()=>{c(),u==null||u()}}}),r}m();m();m();m();m();m();m();m();m();var ym=!1;function Uy(r){var e=ym;try{return ym=!1,[r(),ym]}finally{ym=e}}function Mn(r,e,t,n){var C,S;var i=!Rs||(t&2)!==0,s=(t&8)!==0,a=(t&16)!==0,o=n,l=!0,c=void 0,u=()=>a&&i?(c!=null||(c=ya(n)),T(c)):(l&&(l=!1,o=a?tt(n):n),o);let f;if(s){var d=Ir in r||gf in r;f=(S=(C=Qr(r,e))==null?void 0:C.set)!=null?S:d&&e in r?A=>r[e]=A:void 0}var h,p=!1;s?[h,p]=Uy(()=>r[e]):h=r[e],h===void 0&&n!==void 0&&(h=u(),f&&(i&&hP(e),f(h)));var g;if(i?g=()=>{var A=r[e];return A===void 0?u():(l=!0,A)}:g=()=>{var A=r[e];return A!==void 0&&(o=void 0),A===void 0?o:A},i&&(t&4)===0)return g;if(f){var w=r.$$legacy;return(function(A,v){return arguments.length>0?((!i||!v||w||p)&&f(v?g():A),A):g()})}var b=!1,y=((t&1)!==0?ya:Eo)(()=>(b=!1,g()));M&&(y.label=e),s&&T(y);var k=X;return(function(A,v){if(arguments.length>0){let x=v?T(y):i&&s?Je(A):A;return q(y,x),b=!0,o!==void 0&&(o=x),A}return Sn&&b||(k.f&16384)!==0?y.v:T(y)})}m();m();m();function R$(r){return new Hy(r)}var Hs,ri,Hy=class{constructor(e){de(this,Hs);de(this,ri);var s,a;var t=new Map,n=(o,l)=>{var c=Po(l,!1,!1);return t.set(o,c),c};let i=new Proxy({...e.props||{},$$events:{}},{get(o,l){var c;return T((c=t.get(l))!=null?c:n(l,Reflect.get(o,l)))},has(o,l){var c;return l===gf?!0:(T((c=t.get(l))!=null?c:n(l,Reflect.get(o,l))),Reflect.has(o,l))},set(o,l,c){var u;return q((u=t.get(l))!=null?u:n(l,c),c),Reflect.set(o,l,c)}});le(this,ri,(e.hydrate?$y:ka)(e.component,{target:e.target,anchor:e.anchor,props:i,context:e.context,intro:(s=e.intro)!=null?s:!1,recover:e.recover,transformError:e.transformError})),!zt&&(!((a=e==null?void 0:e.props)!=null&&a.$$host)||e.sync===!1)&&To(),le(this,Hs,i.$$events);for(let o of Object.keys(I(this,ri)))o==="$set"||o==="$destroy"||o==="$on"||ir(this,o,{get(){return I(this,ri)[o]},set(l){I(this,ri)[o]=l},enumerable:!0});I(this,ri).$set=o=>{Object.assign(i,o)},I(this,ri).$destroy=()=>{Bs(I(this,ri))}}$set(e){I(this,ri).$set(e)}$on(e,t){I(this,Hs)[e]=I(this,Hs)[e]||[];let n=(...i)=>t.call(this,...i);return I(this,Hs)[e].push(n),()=>{I(this,Hs)[e]=I(this,Hs)[e].filter(i=>i!==n)}}$destroy(){I(this,ri).$destroy()}};Hs=new WeakMap,ri=new WeakMap;var Ij;typeof HTMLElement=="function"&&(Ij=class extends HTMLElement{constructor(e,t,n){super();Ve(this,"$$ctor");Ve(this,"$$s");Ve(this,"$$c");Ve(this,"$$cn",!1);Ve(this,"$$d",{});Ve(this,"$$r",!1);Ve(this,"$$p_d",{});Ve(this,"$$l",{});Ve(this,"$$l_u",new Map);Ve(this,"$$me");Ve(this,"$$shadowRoot",null);this.$$ctor=e,this.$$s=t,n&&(this.$$shadowRoot=this.attachShadow(n))}addEventListener(e,t,n){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(t),this.$$c){let i=this.$$c.$on(e,t);this.$$l_u.set(t,i)}super.addEventListener(e,t,n)}removeEventListener(e,t,n){if(super.removeEventListener(e,t,n),this.$$c){let i=this.$$l_u.get(t);i&&(i(),this.$$l_u.delete(t))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(i){return s=>{let a=_i("slot");i!=="default"&&(a.name=i),Y(s,a)}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;let t={},n=Fj(this);for(let i of this.$$s)i in n&&(i==="default"&&!this.$$d.children?(this.$$d.children=e(i),t.default=!0):t[i]=e(i));for(let i of this.attributes){let s=this.$$g_p(i.name);s in this.$$d||(this.$$d[s]=Gy(s,i.value,this.$$p_d,"toProp"))}for(let i in this.$$p_d)!(i in this.$$d)&&this[i]!==void 0&&(this.$$d[i]=this[i],delete this[i]);this.$$c=R$({component:this.$$ctor,target:this.$$shadowRoot||this,props:{...this.$$d,$$slots:t,$$host:this}}),this.$$me=gy(()=>{vr(()=>{var i;this.$$r=!0;for(let s of Mb(this.$$c)){if(!((i=this.$$p_d[s])!=null&&i.reflect))continue;this.$$d[s]=this.$$c[s];let a=Gy(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 i in this.$$l)for(let s of this.$$l[i]){let a=this.$$c.$on(i,s);this.$$l_u.set(s,a)}this.$$l={}}}attributeChangedCallback(e,t,n){var i;this.$$r||(e=this.$$g_p(e),this.$$d[e]=Gy(e,n,this.$$p_d,"toProp"),(i=this.$$c)==null||i.$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 Mb(this.$$p_d).find(t=>this.$$p_d[t].attribute===e||!this.$$p_d[t].attribute&&t.toLowerCase()===e)||e}});function Gy(r,e,t,n){var s;let i=(s=t[r])==null?void 0:s.type;if(e=i==="Boolean"&&typeof e!="boolean"?e!=null:e,!n||!t[r])return e;if(n==="toAttribute")switch(i){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(i){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}function Fj(r){let e={};return r.childNodes.forEach(t=>{e[t.slot||"default"]=!0}),e}m();var Wy=require("obsidian");m();var zy=require("obsidian");m();function Mj(r){let e=r-1;return e*e*e+1}function Bo(r,e,t){return Number.isNaN(e)?"":`${r}: ${t*e}px;`}var jy=!1;function Ci(r,{delay:e=0,duration:t=400,easing:n=Mj,axis:i="y"}={}){let s=getComputedStyle(r);M&&!jy&&/(contents|inline|table)/.test(s.display)&&(jy=!0,Promise.resolve().then(()=>jy=!1),rP(s.display));let a=+s.opacity,o=i==="y"?"height":"width",l=parseFloat(s[o]),c=i==="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`]),w=parseFloat(s[`border${u[1]}Width`]);return{delay:e,duration:t,easing:n,css:b=>`overflow: hidden;opacity: ${Math.min(b*20,1)*a};`+Bo(o,l,b)+Bo(`padding-${c[0]}`,f,b)+Bo(`padding-${c[1]}`,d,b)+Bo(`margin-${c[0]}`,h,b)+Bo(`margin-${c[1]}`,p,b)+Bo(`border-${c[0]}-width`,g,b)+Bo(`border-${c[1]}-width`,w,b)+`min-${o}: 0`}}m();var _m=require("obsidian");var Oj=se('<div data-icon="file-clock" aria-label="Open file at this commit" class="clickable-icon"></div>'),Dj=se('<div data-icon="go-to-file" aria-label="Open File" class="clickable-icon"></div>'),Lj=se('<main class="tree-item nav-file svelte-1c0jiav"><div class="tree-item-self is-clickable nav-file-title svelte-1c0jiav"><div class="tree-item-inner nav-file-title-content"> </div> <div class="git-tools"><div class="buttons"><!> <!></div> <span class="type"> </span></div></div></main>'),Nj={hash:"svelte-1c0jiav",code:"main.svelte-1c0jiav .nav-file-title:where(.svelte-1c0jiav) {align-items:center;}"};function Gf(r,e){lt(e,!0),Fn(r,Nj);let t=Je([]),n=Pe(()=>yr(e.view.leaf));Yt(()=>{for(let A of t)A&&(0,_m.setIcon)(A,A.getAttr("data-icon"))});function i(A){A.stopPropagation(),no(e.diff.path)?s(A):a(A)}function s(A){var x;A.stopPropagation();let v=e.view.app.vault.getAbstractFileByPath(e.diff.vaultPath);v instanceof _m.TFile&&((x=bn(e.view.app,A))==null||x.openFile(v).catch(E=>e.view.plugin.displayError(E)))}function a(A){var v;e.view.plugin.tools.openDiff({event:A,aFile:(v=e.diff.fromPath)!=null?v:e.diff.path,aRef:`${e.diff.hash}^`,bFile:e.diff.path,bRef:e.diff.hash})}function o(A){A.stopPropagation(),e.view.plugin.tools.openFileAtCommit(e.diff.path,e.diff.hash).catch(v=>e.view.plugin.displayError(v))}var l=Lj(),c=j(l),u=j(c),f=De(u,!0),d=V(u,2),h=j(d),p=j(h);{var g=A=>{var v=Oj();ze(v,x=>t[1]=x,()=>t==null?void 0:t[1]),un("auxclick",v,o),ne("click",v,o),Y(A,v)},w=Pe(()=>e.diff.status!=="D"&&!e.diff.binary&&!no(e.diff.path));ve(p,A=>{T(w)&&A(g)})}var b=V(p,2);{var y=A=>{var v=Dj();ze(v,x=>t[0]=x,()=>t==null?void 0:t[0]),un("auxclick",v,s),ne("click",v,s),Y(A,v)},k=Pe(()=>Fl(e.diff.vaultPath,e.view.app));ve(b,A=>{T(k)&&A(y)})}G(h);var C=V(h,2),S=De(C,!0);G(d),G(c),G(l),$e(A=>{fe(c,"data-path",e.diff.vaultPath),fe(c,"data-tooltip-position",T(n)),fe(c,"aria-label",e.diff.vaultPath),Le(f,A),fe(C,"data-type",e.diff.status),Le(S,e.diff.status)},[()=>Vn(e.diff.vaultPath)]),ne("click",l,i),un("auxclick",l,A=>{A.stopPropagation(),A.button==2?Hi(e.view.app,A,e.diff.vaultPath,e.view.leaf,"git-history"):i(A)}),Y(r,l),ct()}Et(["click"]);m();var Bj=se("<div><!></div>"),Uj=se('<div class="tree-item-children nav-folder-children"><!></div>'),Hj=se('<div><div class="tree-item-self is-clickable nav-folder-title"><div data-icon="folder" style="padding-right: 5px; display: flex; "></div> <div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon right-triangle"><path d="M3 8L12 17L21 8"></path></svg></div> <div class="tree-item-inner nav-folder-title-content svelte-d9h7mp"> </div></div> <!></div>'),Gj=se("<main></main>"),jj={hash:"svelte-d9h7mp",code:"main.svelte-d9h7mp .nav-folder-title-content:where(.svelte-d9h7mp) {display:flex;align-items:center;}"};function jf(r,e){lt(e,!0),Fn(r,jj);let t=Mn(e,"topLevel",3,!1),n=Mn(e,"closed",15),i=Pe(()=>yr(e.view.leaf));function s(l,c){l.stopPropagation(),n(n()[c.path]=!n()[c.path],!0)}var a=Gj();let o;dn(a,21,()=>e.hierarchy.children,fn,(l,c)=>{var u=Ns(),f=An(u);{var d=p=>{var g=Bj(),w=j(g);Gf(w,{get diff(){return T(c).data},get view(){return e.view}}),G(g),Y(p,g)},h=p=>{var g=Hj();let w;var b=j(g),y=V(j(b),2);let k;var C=V(y,2),S=De(C,!0);G(b);var A=V(b,2);{var v=x=>{var E=Uj(),R=j(E);jf(R,{get hierarchy(){return T(c)},get plugin(){return e.plugin},get view(){return e.view},get closed(){return n()},set closed($){n($)}}),G(E),ti(3,E,()=>Ci,()=>({duration:150})),Y(x,E)};ve(A,x=>{n()[T(c).path]||x(v)})}G(g),$e(()=>{w=nt(g,1,"tree-item nav-folder",null,w,{"is-collapsed":n()[T(c).path]}),fe(b,"data-tooltip-position",T(i)),fe(b,"aria-label",T(c).vaultPath),k=nt(y,1,"tree-item-icon nav-folder-collapse-indicator collapse-icon",null,k,{"is-collapsed":n()[T(c).path]}),Le(S,T(c).title)}),ne("click",b,x=>s(x,T(c))),Y(p,g)};ve(f,p=>{T(c).data?p(d):p(h,-1)})}Y(l,u)}),G(a),$e(()=>o=nt(a,1,"svelte-d9h7mp",null,o,{topLevel:t()})),Y(r,a),ct()}Et(["click"]);var zj=se('<div class="git-ref"> </div>'),Vj=se('<div class="git-author"> </div>'),Wj=se('<div class="git-date"> </div>'),qj=se('<div class="tree-item-children nav-folder-children"><!></div>'),Yj=se('<main><div><div class="tree-item-self is-clickable nav-folder-title"><div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon right-triangle"><path d="M3 8L12 17L21 8"></path></svg></div> <div><!> <!> <!> <div class="tree-item-inner nav-folder-title-content"> </div></div></div> <!></div></main>'),Zj={hash:"svelte-1edsiy5",code:""};function Vy(r,e){lt(e,!0),Fn(r,Zj);let t=Pe(()=>({title:"",path:"",vaultPath:"",children:e.plugin.gitManager.getTreeStructure(e.log.diff.files)})),n=Pe(()=>yr(e.view.leaf)),i=Se(!0),s=Se(Je({}));function a(x){let E=x.author.name;return e.plugin.settings.authorInHistoryView=="full"?E:e.plugin.settings.authorInHistoryView=="initials"?E.split(" ").filter($=>$.length>0).map($=>$[0].toUpperCase()).join(""):""}var o=Yj(),l=j(o);let c;var u=j(l),f=j(u);let d;var h=V(f,2),p=j(h);{var g=x=>{var E=zj(),R=De(E,!0);$e($=>Le(R,$),[()=>e.log.refs.join(", ")]),Y(x,E)};ve(p,x=>{e.log.refs.length>0&&x(g)})}var w=V(p,2);{var b=x=>{var E=Vj(),R=De(E,!0);$e($=>Le(R,$),[()=>a(e.log)]),Y(x,E)};ve(w,x=>{var E;e.plugin.settings.authorInHistoryView!="hide"&&((E=e.log.author)!=null&&E.name)&&x(b)})}var y=V(w,2);{var k=x=>{var E=Wj(),R=De(E,!0);$e($=>Le(R,$),[()=>(0,zy.moment)(e.log.date).format(e.plugin.settings.commitDateFormat)]),Y(x,E)};ve(y,x=>{e.plugin.settings.dateInHistoryView&&x(k)})}var C=V(y,2),S=De(C,!0);G(h),G(u);var A=V(u,2);{var v=x=>{var E=qj(),R=j(E);{var $=O=>{jf(O,{get hierarchy(){return T(t)},get plugin(){return e.plugin},get view(){return e.view},topLevel:!0,get closed(){return T(s)},set closed(U){q(s,U,!0)}})},D=O=>{var U=Ns(),me=An(U);dn(me,17,()=>e.log.diff.files,fn,(Ne,Re)=>{Gf(Ne,{get view(){return e.view},get diff(){return T(Re)}})}),Y(O,U)};ve(R,O=>{e.showTree?O($):O(D,-1)})}G(E),ti(3,E,()=>Ci,()=>({duration:150})),Y(x,E)};ve(A,x=>{T(i)||x(v)})}G(l),G(o),$e(x=>{c=nt(l,1,"tree-item nav-folder",null,c,{"is-collapsed":T(i)}),fe(u,"aria-label",x),fe(u,"data-tooltip-position",T(n)),d=nt(f,1,"tree-item-icon nav-folder-collapse-indicator collapse-icon",null,d,{"is-collapsed":T(i)}),Le(S,e.log.message)},[()=>{var x;return`${e.log.refs.length>0?e.log.refs.join(", ")+`
|
|
`:""}${(x=e.log.author)==null?void 0:x.name}
|
|
${(0,zy.moment)(e.log.date).format(e.plugin.settings.commitDateFormat)}
|
|
${e.log.message}`}]),ne("click",u,()=>q(i,!T(i))),Y(r,o),ct()}Et(["click"]);var Kj=se('<div class="tree-item nav-folder mod-root"></div>'),Xj=se('<main class="git-view"><div class="nav-header"><div class="nav-buttons-container"><div id="layoutChange" class="clickable-icon nav-action-button" aria-label="Change Layout"></div> <div id="refresh" data-icon="refresh-cw" aria-label="Refresh"></div></div></div> <div class="nav-files-container" style="position: relative;"><!> <div id="sentinel"></div> <div style="margin-bottom:40px"></div></div></main>'),Qj={hash:"svelte-12n6twc",code:""};function qy(r,e){lt(e,!0),Fn(r,Qj);let t=Mn(e,"plugin",15),n=Se(!1),i=Je([]),s=Se(void 0),a=Se(Je(t().settings.treeStructure)),o;Yt(()=>{o&&o.empty()}),No(()=>{e.view.registerEvent(e.view.app.workspace.on("obsidian-git:head-change",()=>{c().catch(console.error)}))}),Yt(()=>{i.forEach(C=>(0,Wy.setIcon)(C,C.getAttr("data-icon")))}),No(()=>{let C=new IntersectionObserver(A=>{var v;(v=A[0])!=null&&v.isIntersecting&&!T(n)&&u().catch(console.error)}),S=activeDocument.querySelector("#sentinel");return S&&C.observe(S),()=>{C.disconnect()}}),c().catch(console.error);function l(){c().catch(console.error)}async function c(){var A,v;if(!t().gitReady){q(s,void 0);return}q(n,!0);let C=t().gitManager instanceof Me,S;((v=(A=T(s))==null?void 0:A.length)!=null?v:0)==0?S=C?50:10:S=T(s).length,q(s,await t().gitManager.log(void 0,!1,S),!0),q(n,!1)}async function u(){var v;if(!t().gitReady||T(s)===void 0)return;q(n,!0);let S=t().gitManager instanceof Me?50:10,A=await t().gitManager.log(void 0,!1,S,(v=T(s).last())==null?void 0:v.hash);T(s).push(...A.slice(1)),q(n,!1)}var f=Xj(),d=j(f),h=j(d),p=j(h);ze(p,C=>i[0]=C,()=>i==null?void 0:i[0]);var g=V(p,2);let w;ze(g,C=>i[1]=C,()=>i==null?void 0:i[1]),G(h),G(d);var b=V(d,2),y=j(b);{var k=C=>{var S=Kj();dn(S,21,()=>T(s),fn,(A,v)=>{Vy(A,{get view(){return e.view},get showTree(){return T(a)},get log(){return T(v)},get plugin(){return t()}})}),G(S),Y(C,S)};ve(y,C=>{T(s)&&C(k)})}bo(4),G(b),G(f),$e(()=>{fe(p,"data-icon",T(a)?"list":"folder"),w=nt(g,1,"clickable-icon nav-action-button",null,w,{loading:T(n)})}),ne("click",p,()=>{q(a,!T(a)),(0,Wy.setIcon)(i[0],T(a)?"list":"folder"),t(t().settings.treeStructure=T(a),!0),t().saveSettings()}),ne("click",g,l),Y(r,f),ct()}Et(["click"]);var zf=class extends P$.ItemView{constructor(e,t){super(e),this.plugin=t,this.hoverPopover=null}getViewType(){return jn.type}getDisplayText(){return jn.name}getIcon(){return jn.icon}async onClose(){return this._view&&await Bs(this._view),super.onClose()}async reload(){this._view&&await Bs(this._view),this._view=ka(qy,{target:this.contentEl,props:{plugin:this.plugin,view:this}})}async onOpen(){return await this.reload(),super.onOpen()}};m();var $$=require("@codemirror/commands"),I$=require("@codemirror/search"),Yy=require("@codemirror/state"),is=require("@codemirror/view"),F$=require("obsidian");var Jj=is.EditorView.theme({"&":{height:"100%"},".cm-scroller":{overflow:"auto"},"& .cm-content":{caretColor:"transparent !important"},"&.cm-focused .cm-cursor, & .cm-dropCursor":{display:"none !important"}}),Vf=class extends F$.ItemView{constructor(t,n){super(t);this.plugin=n;this.navigation=!0,this.contentEl.addClass("git-read-only-file-view","cm-s-obsidian","mod-cm6","markdown-source-view"),this.registerEvent(this.app.workspace.on("obsidian-git:head-change",()=>{this.editor||this.renderFile().catch(i=>this.plugin.displayError(i))}))}getViewType(){return aa.type}getDisplayText(){var n;return this.state?`${(n=this.state.file.split("/").last())!=null?n:this.state.file} (${this.state.ref.substring(0,7)})`:aa.name}getIcon(){return aa.icon}async setState(t,n){this.state=t,await super.setState(t,n),this.leaf.view.titleEl.textContent=this.getDisplayText(),await this.renderFile()}getState(){var t;return(t=this.state)!=null?t:{}}async onOpen(){await this.renderFile(),await super.onOpen()}async onClose(){var t;(t=this.editor)==null||t.destroy(),this.editor=void 0,await super.onClose()}async renderFile(){var n;if(!this.state||!this.plugin.gitReady)return;let t=await this.plugin.gitManager.show(this.state.ref,this.state.file,!1);(n=this.editor)==null||n.destroy(),this.contentEl.empty(),this.editor=new is.EditorView({state:Yy.EditorState.create({doc:t,extensions:[(0,is.lineNumbers)(),(0,is.drawSelection)(),is.keymap.of($$.standardKeymap),(0,I$.search)(),is.EditorView.lineWrapping,Yy.EditorState.readOnly.of(!0),Jj]}),parent:this.contentEl})}};m();var M$=require("obsidian"),xm=class extends M$.Modal{constructor(t){super(t.app);this.plugin=t}onOpen(){var o,l;let{contentEl:t,titleEl:n}=this,i=(l=(o=this.plugin.cachedStatus)==null?void 0:o.conflicted)!=null?l:[];if(n.setText("Merge in progress"),t.addClass("obsidian-git-merge-help"),t.createEl("p",{text:"Git is combining the version in your vault with changes from another version. The merge must be committed before Obsidian Git can push or resume automatic commits."}),i.length>0){t.createEl("h3",{text:"Resolve the conflicts"}),t.createEl("p",{text:"Git could not combine some parts automatically. Open each conflicted file and review every highlighted conflict block."});let c=t.createEl("ol");c.createEl("li",{text:"Choose \u201CKeep ours\u201D for your local text, \u201CKeep theirs\u201D for the incoming text, \u201CKeep both\u201D, or edit the block manually."}),c.createEl("li",{text:"When the file's conflict count reaches zero, select the plus icon next to it to mark it as resolved."}),c.createEl("li",{text:"Repeat this for every file in the Conflicts section."})}else{let c=t.createDiv({cls:"obsidian-git-merge-help-resolved"});c.createEl("strong",{text:"All conflicts have been marked as resolved."}),c.createEl("div",{text:"The merge is still active until you commit the staged changes."})}t.createEl("h3",{text:"Finish the merge"}),t.createEl("p",{text:"After the Conflicts section is empty, enter a commit message and commit the staged changes. This finishes the merge. You can then push normally."}),t.createDiv({cls:"modal-button-container"}).createEl("button",{cls:"mod-cta",text:"Got it"}).addEventListener("click",()=>this.close())}onClose(){this.contentEl.empty()}};m();var D$=require("obsidian");m();var Gs=require("obsidian");m();var Wf=require("obsidian");var ez=se('<div class="type resolved svelte-sczrxn" aria-label="No conflicts left"></div>'),tz=se('<div class="type conflict svelte-sczrxn"> </div>'),rz=se('<main class="tree-item nav-file"><div class="tree-item-self is-clickable nav-file-title"><div class="tree-item-inner nav-file-title-content"> </div> <div class="git-tools svelte-sczrxn"><div class="buttons svelte-sczrxn"><div aria-label="Mark resolved" class="clickable-icon"></div></div> <!></div></div></main>'),nz={hash:"svelte-sczrxn",code:".git-tools.svelte-sczrxn {display:grid;grid-template-columns:var(--icon-m, 18px) 4ch;column-gap:var(--size-2-1);align-items:center;}.git-tools.svelte-sczrxn .buttons:where(.svelte-sczrxn) {width:var(--icon-m, 18px);}.git-tools.svelte-sczrxn .type.conflict:where(.svelte-sczrxn) {color:var(--git-change);width:4ch;padding:0;justify-content:flex-end;font-variant-numeric:tabular-nums;}.git-tools.svelte-sczrxn .type.resolved:where(.svelte-sczrxn) {color:var(--git-insert);width:4ch;padding:0;justify-content:flex-end;}.git-tools.svelte-sczrxn .type.resolved:where(.svelte-sczrxn) svg {width:var(--icon-m, 18px);height:var(--icon-m, 18px);}"};function qf(r,e){lt(e,!0),Fn(r,nz);let t=Se(void 0),n=Se(void 0),i=Pe(()=>e.manager.getRelativeVaultPath(e.path)),s=Pe(()=>yr(e.view.leaf));Yt(()=>{T(t)&&(0,Wf.setIcon)(T(t),e.count===0?"plus":"check")}),Yt(()=>{T(n)&&(0,Wf.setIcon)(T(n),"check")});function a(y){var C;y.stopPropagation();let k=e.view.app.vault.getAbstractFileByPath(T(i));k instanceof Wf.TFile&&((C=bn(e.view.app,y))==null||C.openFile(k).catch(S=>e.view.plugin.displayError(S)))}function o(y){y.stopPropagation(),e.view.plugin.promiseQueue.addTask(()=>e.view.plugin.gitActions.stage(e.path,!1))}var l=rz(),c=j(l),u=j(c),f=De(u,!0),d=V(u,2),h=j(d),p=j(h);ze(p,y=>q(t,y),()=>T(t)),G(h);var g=V(h,2);{var w=y=>{var k=ez();ze(k,C=>q(n,C),()=>T(n)),Y(y,k)},b=y=>{var k=tz(),C=De(k,!0);$e(()=>{var S;fe(k,"aria-label",`${(S=e.count)!=null?S:""} conflict(s) left`),Le(C,e.count)}),Y(y,k)};ve(g,y=>{e.count===0?y(w):e.count!==void 0&&y(b,1)})}G(d),G(c),G(l),$e(y=>{fe(c,"data-path",T(i)),fe(c,"data-tooltip-position",T(s)),fe(c,"aria-label",T(i)),Le(f,y)},[()=>Vn(T(i))]),ne("click",l,a),ne("click",p,o),Y(r,l),ct()}Et(["click"]);m();var Em=require("obsidian");var iz=se('<div data-icon="go-to-file" aria-label="Open File" class="clickable-icon"></div>'),sz=se('<main class="tree-item nav-file"><div class="tree-item-self is-clickable nav-file-title"><div class="tree-item-inner nav-file-title-content"> </div> <div class="git-tools"><div class="buttons"><!> <div data-icon="undo" aria-label="Discard" class="clickable-icon"></div> <div data-icon="plus" aria-label="Stage" class="clickable-icon"></div></div> <div class="type"> </div></div></div></main>');function Yf(r,e){lt(e,!0);let t=Je([]),n=Pe(()=>yr(e.view.leaf));Yt(()=>{for(let v of t)v&&(0,Em.setIcon)(v,v.getAttr("data-icon"))});function i(v){v.stopPropagation(),no(e.change.path)?a(v):l(v)}function s(v){e.view.app.vault.getAbstractFileByPath(e.change.vaultPath)&&Ml(e.view.app,v,e.view,e.change.vaultPath)}function a(v){var E;v.stopPropagation();let x=e.view.app.vault.getAbstractFileByPath(e.change.vaultPath);x instanceof Em.TFile&&((E=bn(e.view.app,v))==null||E.openFile(x).catch(R=>e.view.plugin.displayError(R)))}function o(v){v.stopPropagation(),e.view.plugin.promiseQueue.addTask(()=>e.view.plugin.gitActions.stage(e.change.path,!1))}function l(v){v.stopPropagation(),e.view.plugin.tools.openDiff({aFile:e.change.path,aRef:"",event:v})}function c(v){v.stopPropagation(),e.view.plugin.promiseQueue.addTask(()=>e.view.plugin.gitActions.discardFile(e.change))}var u=sz(),f=j(u),d=j(f),h=De(d,!0),p=V(d,2),g=j(p),w=j(g);{var b=v=>{var x=iz();ze(x,E=>t[0]=E,()=>t==null?void 0:t[0]),un("auxclick",x,a),ne("click",x,a),Y(v,x)},y=Pe(()=>Fl(e.change.vaultPath,e.view.app));ve(w,v=>{T(y)&&v(b)})}var k=V(w,2);ze(k,v=>t[1]=v,()=>t==null?void 0:t[1]);var C=V(k,2);ze(C,v=>t[2]=v,()=>t==null?void 0:t[2]),G(g);var S=V(g,2),A=De(S,!0);G(p),G(f),G(u),$e(v=>{fe(f,"data-path",e.change.vaultPath),fe(f,"data-tooltip-position",T(n)),fe(f,"aria-label",e.change.vaultPath),Le(h,v),fe(S,"data-type",e.change.workingDir),Le(A,e.change.workingDir)},[()=>Vn(e.change.vaultPath)]),ne("mouseover",u,s),ne("click",u,i),un("auxclick",u,v=>{v.stopPropagation(),v.button==2?Hi(e.view.app,v,e.change.vaultPath,e.view.leaf,"git-source-control"):i(v)}),ne("click",k,c),ne("click",C,o),Y(r,u),ct()}Et(["mouseover","click"]);m();var O$=require("obsidian");var az=se('<main class="tree-item nav-file"><div class="tree-item-self is-clickable nav-file-title"><div class="tree-item-inner nav-file-title-content"> </div> <div class="git-tools"><span class="type"> </span></div></div></main>');function Zf(r,e){lt(e,!0);let t=Pe(()=>yr(e.view.leaf));function n(d){e.view.app.vault.getAbstractFileByPath(e.change.vaultPath)&&Ml(e.view.app,d,e.view,e.change.vaultPath)}function i(d){var p;d.stopPropagation();let h=e.view.app.vault.getAbstractFileByPath(e.change.vaultPath);h instanceof O$.TFile&&((p=bn(e.view.app,d))==null||p.openFile(h).catch(g=>e.view.plugin.displayError(g)))}var s=az(),a=j(s),o=j(a),l=De(o,!0),c=V(o,2),u=j(c),f=De(u,!0);G(c),G(a),G(s),$e(d=>{fe(a,"data-path",e.change.vaultPath),fe(a,"data-tooltip-position",T(t)),fe(a,"aria-label",e.change.vaultPath),Le(l,d),fe(u,"data-type",e.change.workingDir),Le(f,e.change.workingDir)},[()=>Vn(e.change.vaultPath)]),ne("mouseover",s,n),ne("click",s,i),un("auxclick",s,d=>{d.stopPropagation(),d.button==2?Hi(e.view.app,d,e.change.vaultPath,e.view.leaf,"git-source-control"):i(d)}),Y(r,s),ct()}Et(["mouseover","click"]);m();var Sm=require("obsidian");var oz=se('<div data-icon="go-to-file" aria-label="Open File" class="clickable-icon"></div>'),lz=se('<main class="tree-item nav-file"><div class="tree-item-self is-clickable nav-file-title"><div class="tree-item-inner nav-file-title-content"> </div> <div class="git-tools"><div class="buttons"><!> <div data-icon="minus" aria-label="Unstage" class="clickable-icon"></div></div> <div class="type"> </div></div></div></main>');function Kf(r,e){lt(e,!0);let t=Je([]),n=Pe(()=>yr(e.view.leaf));Yt(()=>{for(let S of t)S&&(0,Sm.setIcon)(S,S.getAttr("data-icon"))});function i(S){S.stopPropagation(),no(e.change.path)?a(S):o(S)}function s(S){e.view.app.vault.getFileByPath(e.change.vaultPath)&&Ml(e.view.app,S,e.view,e.change.vaultPath)}function a(S){var v;S.stopPropagation();let A=e.view.app.vault.getAbstractFileByPath(e.change.vaultPath);A instanceof Sm.TFile&&((v=bn(e.view.app,S))==null||v.openFile(A).catch(x=>e.view.plugin.displayError(x)))}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.view.plugin.promiseQueue.addTask(()=>e.view.plugin.gitActions.unstage(e.change.path,!1))}var c=lz(),u=j(c),f=j(u),d=De(f,!0),h=V(f,2),p=j(h),g=j(p);{var w=S=>{var A=oz();ze(A,v=>t[0]=v,()=>t==null?void 0:t[0]),ne("click",A,a),Y(S,A)},b=Pe(()=>Fl(e.change.vaultPath,e.view.app));ve(g,S=>{T(b)&&S(w)})}var y=V(g,2);ze(y,S=>t[1]=S,()=>t==null?void 0:t[1]),G(p);var k=V(p,2),C=De(k,!0);G(h),G(u),G(c),$e(S=>{fe(u,"data-path",e.change.vaultPath),fe(u,"data-tooltip-position",T(n)),fe(u,"aria-label",e.change.vaultPath),Le(d,S),fe(k,"data-type",e.change.index),Le(C,e.change.index)},[()=>Vn(e.change.vaultPath)]),ne("mouseover",c,s),ne("click",c,i),un("auxclick",c,S=>{S.stopPropagation(),S.button==2?Hi(e.view.app,S,e.change.vaultPath,e.view.leaf,"git-source-control"):i(S)}),ne("click",y,l),Y(r,c),ct()}Et(["mouseover","click"]);m();m();var cz=se('<div class="tree-item nav-file"><div class="tree-item-self nav-file-title"><div class="tree-item-inner nav-file-title-content"> </div></div></div>'),uz=se("<main><!></main>");function Uo(r,e){lt(e,!0);var t=uz(),n=j(t);{var i=s=>{var a=cz(),o=j(a),l=j(o),c=De(l,!0);G(o),G(a),$e(()=>{fe(o,"aria-label","And "+(e.files.length-500)+" more files"),Le(c,"And "+(e.files.length-500)+" more files")}),Y(s,a)};ve(n,s=>{e.files.length>500&&s(i)})}G(t),Y(r,t),ct()}var dz=se("<div><!></div>"),hz=se('<div data-icon="minus" aria-label="Unstage" class="clickable-icon"><svg width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-minus"><line x1="4" y1="9" x2="14" y2="9"></line></svg></div>'),pz=se('<div data-icon="undo" aria-label="Discard" class="clickable-icon"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-undo"><path d="M3 7v6h6"></path><path d="M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13"></path></svg></div> <div data-icon="plus" aria-label="Stage" class="clickable-icon"><svg width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-plus"><line x1="9" y1="4" x2="9" y2="14"></line><line x1="4" y1="9" x2="14" y2="9"></line></svg></div>',1),mz=se('<div class="tree-item-children nav-folder-children"><!></div>'),gz=se('<div><div class="tree-item-self is-clickable nav-folder-title"><div data-icon="folder" style="padding-right: 5px; display: flex; "></div> <div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon right-triangle"><path d="M3 8L12 17L21 8"></path></svg></div> <div class="tree-item-inner nav-folder-title-content"> </div> <div class="git-tools"><div class="buttons"><!> <div style="width:11px"></div></div></div></div> <!></div>'),wz=se("<main><!> <!></main>");function Ta(r,e){lt(e,!0);let t=Mn(e,"topLevel",3,!1),n=Mn(e,"closed",15),i=Mn(e,"conflictCounts",19,()=>({}));No(()=>{var p,g;for(let w of e.hierarchy.children)((g=(p=w.children)==null?void 0:p.length)!=null?g:0)>100&&n(n()[w.path]=!0,!0)});let s=Pe(()=>yr(e.view.leaf));function a(p,g){p.stopPropagation(),e.plugin.promiseQueue.addTask(()=>e.plugin.gitActions.stageAll(g))}function o(p,g){p.stopPropagation(),e.plugin.promiseQueue.addTask(()=>e.plugin.gitActions.unstageAll(g))}function l(p,g){p.stopPropagation(),e.plugin.promiseQueue.addTask(()=>e.plugin.gitActions.discardAll(g.vaultPath))}function c(p,g){p.stopPropagation(),n(n()[g.path]=!n()[g.path],!0)}var u=wz();let f;var d=j(u);dn(d,17,()=>ju(e.hierarchy.children,500),fn,(p,g)=>{var w=Ns(),b=An(w);{var y=C=>{var S=dz(),A=j(S);{var v=$=>{Kf($,{get change(){return T(g).data},get view(){return e.view}})},x=$=>{Yf($,{get change(){return T(g).data},get view(){return e.view}})},E=$=>{Zf($,{get change(){return T(g).data},get view(){return e.view}})},R=$=>{qf($,{get path(){return T(g).data.path},get count(){return i()[T(g).data.path]},get manager(){return e.plugin.gitManager},get view(){return e.view}})};ve(A,$=>{e.fileType==0?$(v):e.fileType==1?$(x,1):e.fileType==2?$(E,2):e.fileType==3&&$(R,3)})}G(S),Y(C,S)},k=C=>{var S=gz();let A;var v=j(S),x=V(j(v),2);let E;var R=V(x,2),$=De(R,!0),D=V(R,2),O=j(D),U=j(O);{var me=ye=>{var ae=hz();ne("click",ae,W=>o(W,T(g).path)),Y(ye,ae)},Ne=ye=>{var ae=pz(),W=An(ae),te=V(W,2);ne("click",W,H=>l(H,T(g))),ne("click",te,H=>a(H,T(g).path)),Y(ye,ae)};ve(U,ye=>{e.fileType==0?ye(me):e.fileType==1&&ye(Ne,1)})}bo(2),G(O),G(D),G(v);var Re=V(v,2);{var be=ye=>{var ae=mz(),W=j(ae);Ta(W,{get hierarchy(){return T(g)},get plugin(){return e.plugin},get view(){return e.view},get fileType(){return e.fileType},get conflictCounts(){return i()},get closed(){return n()},set closed(te){n(te)}}),G(ae),ti(3,ae,()=>Ci,()=>({duration:150})),Y(ye,ae)};ve(Re,ye=>{n()[T(g).path]||ye(be)})}G(S),$e(()=>{A=nt(S,1,"tree-item nav-folder",null,A,{"is-collapsed":n()[T(g).path]}),fe(v,"data-tooltip-position",T(s)),fe(v,"aria-label",T(g).vaultPath),E=nt(x,1,"tree-item-icon nav-folder-collapse-indicator collapse-icon",null,E,{"is-collapsed":n()[T(g).path]}),Le($,T(g).title)}),un("auxclick",S,ye=>Hi(e.view.app,ye,T(g).vaultPath,e.view.leaf,"git-source-control")),ne("click",v,ye=>c(ye,T(g))),Y(C,S)};ve(b,C=>{T(g).data?C(y):C(k,-1)})}Y(p,w)});var h=V(d,2);Uo(h,{get files(){return e.hierarchy.children}}),G(u),$e(()=>f=nt(u,1,"",null,f,{topLevel:t()})),Y(r,u),ct()}Et(["click"]);var vz=se('<div class="repository-notice svelte-5wq9p"><p class="svelte-5wq9p">No Git repository found.</p> <div class="repository-actions svelte-5wq9p"><button class="mod-cta">Initialize repository</button> <button>Clone repository</button></div></div>'),bz=se('<div id="merge-status" class="clickable-icon nav-action-button merge-status svelte-5wq9p" data-icon="git-merge" aria-label="Merge in progress \u2014 select for help"></div>'),yz=se('<div class="git-commit-msg-clear-button svelte-5wq9p"></div>'),_z=se('<div class="tree-item-children nav-folder-children svelte-5wq9p"><!></div>'),xz=se('<div><div class="tree-item-self is-clickable nav-folder-title svelte-5wq9p"><div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon right-triangle svelte-5wq9p"><path d="M3 8L12 17L21 8"></path></svg></div> <div class="tree-item-inner nav-folder-title-content">Conflicts</div> <div class="git-tools svelte-5wq9p"><div class="files-count svelte-5wq9p"> </div></div></div> <!></div>'),Zy=se("<!> <!>",1),Ky=se('<div class="tree-item-children nav-folder-children"><!></div>'),Ez=se('<div class="staged tree-item nav-folder"><div class="tree-item-self nav-folder-title svelte-5wq9p"><div class="tree-item-inner nav-folder-title-content">Staged outside vault</div> <div class="git-tools svelte-5wq9p"><div class="files-count svelte-5wq9p"> </div></div></div></div>'),Sz=se('<div class="changes tree-item nav-folder"><div class="tree-item-self nav-folder-title svelte-5wq9p"><div class="tree-item-inner nav-folder-title-content">Conflicts outside vault</div> <div class="git-tools svelte-5wq9p"><div class="files-count svelte-5wq9p"> </div></div></div></div>'),kz=se('<div><div class="tree-item-self is-clickable nav-folder-title svelte-5wq9p"><div class="tree-item-icon nav-folder-collapse-indicator collapse-icon"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon right-triangle"><path d="M3 8L12 17L21 8"></path></svg></div> <div class="tree-item-inner nav-folder-title-content">Recently Pulled Files</div> <span class="tree-item-flair"> </span></div> <!></div>'),Cz=se('<div class="tree-item nav-folder mod-root"><div><div class="tree-item-self is-clickable nav-folder-title svelte-5wq9p"><div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon right-triangle"><path d="M3 8L12 17L21 8"></path></svg></div> <div class="tree-item-inner nav-folder-title-content">Staged Changes</div> <div class="git-tools svelte-5wq9p"><div class="buttons"><div data-icon="minus" aria-label="Unstage" class="clickable-icon"><svg width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-minus"><line x1="4" y1="9" x2="14" y2="9"></line></svg></div></div> <div class="files-count svelte-5wq9p"> </div></div></div> <!></div> <!> <!> <div><div class="tree-item-self is-clickable nav-folder-title svelte-5wq9p"><div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon right-triangle"><path d="M3 8L12 17L21 8"></path></svg></div> <div class="tree-item-inner nav-folder-title-content">Changes</div> <div class="git-tools svelte-5wq9p"><div class="buttons"><div data-icon="undo" aria-label="Discard" class="clickable-icon"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-undo"><path d="M3 7v6h6"></path><path d="M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13"></path></svg></div> <div data-icon="plus" aria-label="Stage" class="clickable-icon"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-plus"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg></div></div> <div class="files-count svelte-5wq9p"> </div></div></div> <!></div> <!></div>'),Az=se('<main><!> <div class="nav-header svelte-5wq9p"><div class="nav-buttons-container"><div class="commit-action-group svelte-5wq9p"><div id="backup-btn" data-icon="arrow-up-circle"></div> <div id="commit-btn" data-icon="check"></div> <div id="commit-menu" data-icon="chevron-down" class="clickable-icon nav-action-button svelte-5wq9p" aria-label="More commit actions"></div></div> <div id="stage-all" class="clickable-icon nav-action-button" data-icon="plus-circle" aria-label="Stage all"></div> <div id="unstage-all" class="clickable-icon nav-action-button" data-icon="minus-circle" aria-label="Unstage all"></div> <div id="push" class="clickable-icon nav-action-button" data-icon="upload" aria-label="Push"></div> <div id="pull" class="clickable-icon nav-action-button" data-icon="download" aria-label="Pull"></div> <div id="layoutChange" class="clickable-icon nav-action-button" aria-label="Change Layout"></div> <div id="refresh" data-icon="refresh-cw" aria-label="Refresh"></div> <!></div></div> <div class="git-commit-msg svelte-5wq9p"><textarea class="commit-msg-input svelte-5wq9p" spellcheck="true" placeholder="Commit Message"></textarea> <!></div> <div class="nav-files-container svelte-5wq9p" style="position: relative;"><!> <!></div></main>'),Tz={hash:"svelte-5wq9p",code:`.repository-missing.svelte-5wq9p > .nav-header:where(.svelte-5wq9p),
|
|
.repository-missing.svelte-5wq9p > .git-commit-msg:where(.svelte-5wq9p),
|
|
.repository-missing.svelte-5wq9p > .nav-files-container:where(.svelte-5wq9p) {display:none;}.repository-notice.svelte-5wq9p {flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--size-4-3);padding:var(--size-4-6);text-align:center;}.repository-notice.svelte-5wq9p p:where(.svelte-5wq9p) {margin:0;color:var(--text-muted);}.repository-actions.svelte-5wq9p {display:flex;flex-wrap:wrap;justify-content:center;gap:var(--size-4-2);}.commit-action-group.svelte-5wq9p {display:inline-flex;flex:0 0 auto;gap:0;overflow:hidden;border:1px solid var(--background-modifier-border);border-radius:var(--radius-s);}.commit-action-group.svelte-5wq9p .nav-action-button:where(.svelte-5wq9p) {margin:0;border-radius:0;}.commit-action-group.svelte-5wq9p .nav-action-button:where(.svelte-5wq9p) + .nav-action-button:where(.svelte-5wq9p) {border-left:1px solid var(--background-modifier-border);}.commit-action-group.svelte-5wq9p #commit-menu:where(.svelte-5wq9p) {width:var(--size-4-5);padding-right:0;padding-left:0;}.merge-status.svelte-5wq9p {color:var(--text-warning);}.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;}.conflicts.svelte-5wq9p {--nav-indentation-guide-color: var(--text-warning);--collapse-icon-color: var(--text-warning);--collapse-icon-color-collapsed: var(--text-warning);}.conflicts.svelte-5wq9p > .nav-folder-title:where(.svelte-5wq9p) {color:var(--text-warning);}.conflicts.svelte-5wq9p .nav-folder-collapse-indicator:where(.svelte-5wq9p) {color:var(--text-warning);}.conflicts.svelte-5wq9p .nav-folder-collapse-indicator:where(.svelte-5wq9p) svg:where(.svelte-5wq9p) {color:var(--text-warning);}.conflicts.svelte-5wq9p .topLevel .nav-folder-collapse-indicator {color:var(--text-warning);}.conflicts.svelte-5wq9p .topLevel .nav-folder-collapse-indicator svg {color:var(--text-warning);}.conflicts.svelte-5wq9p .tree-item-children:where(.svelte-5wq9p) {border-inline-start-color:var(--text-warning);}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,<svg viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6 12C9.31371 12 12 9.31371 12 6C12 2.68629 9.31371 0 6 0C2.68629 0 0 2.68629 0 6C0 9.31371 2.68629 12 6 12ZM3.8705 3.09766L6.00003 5.22718L8.12955 3.09766L8.9024 3.8705L6.77287 6.00003L8.9024 8.12955L8.12955 8.9024L6.00003 6.77287L3.8705 8.9024L3.09766 8.12955L5.22718 6.00003L3.09766 3.8705L3.8705 3.09766Z' fill='currentColor'/></svg>");mask-repeat:no-repeat;-webkit-mask-image:url("data:image/svg+xml,<svg viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6 12C9.31371 12 12 9.31371 12 6C12 2.68629 9.31371 0 6 0C2.68629 0 0 2.68629 0 6C0 9.31371 2.68629 12 6 12ZM3.8705 3.09766L6.00003 5.22718L8.12955 3.09766L8.9024 3.8705L6.77287 6.00003L8.9024 8.12955L8.12955 8.9024L6.00003 6.77287L3.8705 8.9024L3.09766 8.12955L5.22718 6.00003L3.09766 3.8705L3.8705 3.09766Z' fill='currentColor'/></svg>");-webkit-mask-repeat:no-repeat;}`};function Xy(r,e){lt(e,!0),Fn(r,Tz);let t=Mn(e,"plugin",7),n=Mn(e,"view",7),i=Se(!1),s=Se(!1),a=Se(!1),o=Se(!1),l=Se(void 0),c=Se(Je([])),u=Pe(()=>t().settings.commitMessage),f=Je([]),d=Se(void 0),h=Se(void 0),p=Se(void 0),g=Se(void 0),w=Se(!0),b=Se(!0),y=Se(!0),k=Se(!0),C=Se(Je({})),S=Promise.resolve(),A=Pe(()=>{var N,Q;return[...(Q=(N=T(l))==null?void 0:N.conflicted)!=null?Q:[]].sort((xe,it)=>{let Ut=T(C)[xe]===0?0:1,Dn=T(C)[it]===0?0:1;return Ut!==Dn?Ut-Dn:xe.localeCompare(it)})}),v=Se(0),x=Se(Je({})),E=Se(Je({})),R=Se(Je({})),$=Se(Je({})),D=Pe(()=>{var N,Q,xe,it;return((Q=(N=T(l))==null?void 0:N.staged.length)!=null?Q:0)+((it=(xe=T(l))==null?void 0:xe.stagedOutsideVault)!=null?it:0)}),O=Pe(()=>{var N,Q;return(Q=(N=T(l))==null?void 0:N.changed.length)!=null?Q:0}),U=Pe(()=>{var N,Q,xe,it;return((Q=(N=T(l))==null?void 0:N.conflicted.length)!=null?Q:0)+((it=(xe=T(l))==null?void 0:xe.conflictedOutsideVault)!=null?it:0)>0}),me=Pe(()=>T(D)+T(O)>0),Ne=Pe(()=>!te("smart")),Re=Pe(()=>!H("all")),be=Pe(()=>W(!1)),ye=Pe(()=>W(!0)),ae=Pe(()=>t().settings.treeStructure);No(()=>{q(s,t().repositoryMissing,!0),n().registerEvent(n().app.workspace.on("obsidian-git:loading-status",()=>q(i,!0))),n().registerEvent(n().app.workspace.on("obsidian-git:status-changed",()=>{kt().catch(console.error)})),n().registerEvent(n().app.workspace.on("obsidian-git:repository-state-changed",()=>{q(s,t().repositoryMissing,!0),kt().catch(console.error)}));let N=n().app.vault.on("modify",Q=>{var it,Ut;if(!((it=T(l))!=null&&it.conflicted))return;let xe=t().gitManager.getRelativeRepoPath(Q.path);(Ut=T(l))!=null&&Ut.conflicted.includes(xe)&&Kt(xe)});return n().plugin.cachedStatus==null?n().plugin.refresh().catch(console.error):kt().catch(console.error),n().scope=new Gs.Scope(t().app.scope),n().scope.register(["Ctrl"],"Enter",Q=>Bt()),()=>n().app.vault.offref(N)}),Yt(()=>{f.forEach(N=>{N&&(0,Gs.setIcon)(N,N.getAttr("data-icon"))})}),Yt(()=>{f.forEach(N=>{var Q,xe;!N||N.id!="push"||(Gs.Platform.isMobile?(N.removeClass("button-border"),T(v)>0&&N.addClass("button-border")):((Q=N.firstElementChild)==null||Q.removeAttribute("color"),T(v)>0&&((xe=N.firstElementChild)==null||xe.setAttr("color","var(--text-accent)"))))})});function W(N){let Q=N?" and sync":"";return T(U)?"Resolve conflicts before committing":T(o)&&!T(me)?N?"Finish merge and sync":"Finish merge":T(me)?N?"Commit all changes and sync":T(D)>0?`Commit ${T(D)} staged ${T(D)===1?"file":"files"}${Q}`:t().settings.autoStageOnEmptyIndex?`Stage and commit all ${T(O)} changed ${T(O)===1?"file":"files"}${Q}`:"Nothing staged \u2014 stage changes before committing":N?"Sync (no changes to commit)":"No changes to commit"}function te(N){return T(U)?!1:N==="staged"?T(D)>0:N==="all"?T(me):T(o)||T(D)>0||t().settings.autoStageOnEmptyIndex&&T(O)>0}function H(N){return T(U)?!1:N==="all"||T(D)>0}function St(N="smart"){te(N)&&(q(i,!0),T(l)&&t().promiseQueue.addTask(()=>t().gitActions.commit({fromAuto:!1,commitMessage:T(u),mode:N}).then(()=>q(u,t().settings.commitMessage)).finally(ke)))}function st(){te("staged")&&(q(i,!0),t().promiseQueue.addTask(()=>t().gitActions.commit({fromAuto:!1,commitMessage:T(u),mode:"staged",amend:!0}).then(()=>q(u,t().settings.commitMessage)).finally(ke)))}function Bt(N="all"){H(N)&&(q(i,!0),T(l)&&t().promiseQueue.addTask(()=>t().gitActions.commitAndSync({fromAutoBackup:!1,commitMessage:T(u),mode:N}).then(()=>{q(u,t().settings.commitMessage)}).finally(ke)))}function Ze(N){N.stopPropagation();let Q=Gs.Menu.forEvent(N);Q.addItem(xe=>xe.setTitle("Commit staged").setIcon("git-commit").setDisabled(!te("staged")).onClick(()=>St("staged"))),Q.addItem(xe=>xe.setTitle("Stage all and commit").setIcon("list-plus").setDisabled(!te("all")).onClick(()=>St("all"))),Q.addItem(xe=>xe.setTitle("Amend staged").setIcon("git-commit").setDisabled(!te("staged")).onClick(st)),Q.addSeparator(),Q.addItem(xe=>xe.setTitle("Commit staged and sync").setIcon("arrow-up-circle").setDisabled(!te("staged")).onClick(()=>Bt("staged"))),Q.showAtMouseEvent(N)}async function kt(){if(!t().gitReady){q(l,void 0),q(i,!1);return}if(q(v,await t().getUnpushedCommits(),!0),q(l,t().cachedStatus,!0),q(o,t().state.mergeInProgress,!0),q(i,!1),t().lastPulledFiles&&t().lastPulledFiles!=T(c)&&(q(c,t().lastPulledFiles,!0),q(g,{title:"",path:"",vaultPath:"",children:t().gitManager.getTreeStructure(T(c),t().settings.limitToVault?"vault":"repository")},!0)),T(l)){let N=(Q,xe)=>Q.vaultPath.split("/").last().localeCompare(Vn(xe.vaultPath));T(l).changed.sort(N),T(l).staged.sort(N),q(d,{title:"",path:"",vaultPath:"",children:t().gitManager.getTreeStructure(T(l).changed,t().settings.limitToVault?"vault":"repository")},!0),q(h,{title:"",path:"",vaultPath:"",children:t().gitManager.getTreeStructure(T(l).staged,t().settings.limitToVault?"vault":"repository")},!0),q(p,{title:"",path:"",vaultPath:"",children:t().gitManager.getTreeStructure(T(l).conflicted.map(Q=>({path:Q,vaultPath:t().gitManager.getRelativeVaultPath(Q),index:"U",workingDir:"U"})))},!0)}else q(d,void 0),q(h,void 0),q(p,void 0);await Kt()}function Kt(N){let Q=S.then(()=>Nr(N));return S=Q.catch(()=>{}),Q}async function Nr(N){var it,Ut;let Q=N?[N]:(Ut=(it=T(l))==null?void 0:it.conflicted)!=null?Ut:[],xe=N?{...T(C)}:{};for(let Dn of Q){xe[Dn]=0;try{let js=await n().app.vault.adapter.read(t().gitManager.getRelativeVaultPath(Dn));xe[Dn]=Br(js)}catch(js){}}q(C,xe,!0)}function Br(N){var Q;return((Q=N.match(/^<{7}/gm))!=null?Q:[]).length}function ke(){n().app.workspace.trigger("obsidian-git:refresh")}function It(N){T(a)||(q(a,!0),t().promiseQueue.addTask(N,()=>{q(a,!1)}))}function kr(N){N.stopPropagation(),q(i,!0),t().promiseQueue.addTask(()=>t().gitActions.stageAll())}function pn(N){N.stopPropagation(),q(i,!0),t().promiseQueue.addTask(()=>t().gitActions.unstageAll())}function Oc(){q(i,!0),t().promiseQueue.addTask(()=>t().gitActions.push().finally(ke))}function Ra(){q(i,!0),t().promiseQueue.addTask(()=>t().gitActions.pullChangesFromRemote().finally(ke))}function Dc(N){N.stopPropagation(),t().promiseQueue.addTask(()=>t().gitActions.discardAll())}let rI=Pe(()=>(T(u).match(/\n/g)||[]).length+1||1);var Lc=Az();let o_;var l_=j(Lc);{var nI=N=>{var Q=vz(),xe=V(j(Q),2),it=j(xe),Ut=V(it,2);G(xe),G(Q),$e(()=>{it.disabled=T(a),Ut.disabled=T(a)}),ne("click",it,()=>It(()=>t().gitActions.createNewRepo())),ne("click",Ut,()=>It(()=>t().gitActions.cloneNewRepo())),Y(N,Q)};ve(l_,N=>{T(s)&&N(nI)})}var zm=V(l_,2),c_=j(zm),Vm=j(c_),zo=j(Vm);let u_;ze(zo,N=>f[0]=N,()=>f==null?void 0:f[0]);var Vo=V(zo,2);let f_;ze(Vo,N=>f[1]=N,()=>f==null?void 0:f[1]);var d_=V(Vo,2);ze(d_,N=>f[10]=N,()=>f==null?void 0:f[10]),G(Vm);var Wm=V(Vm,2);ze(Wm,N=>f[2]=N,()=>f==null?void 0:f[2]);var qm=V(Wm,2);ze(qm,N=>f[3]=N,()=>f==null?void 0:f[3]);var Ym=V(qm,2);ze(Ym,N=>f[4]=N,()=>f==null?void 0:f[4]);var Zm=V(Ym,2);ze(Zm,N=>f[5]=N,()=>f==null?void 0:f[5]);var Jf=V(Zm,2);ze(Jf,N=>f[6]=N,()=>f==null?void 0:f[6]);var td=V(Jf,2);let h_;ze(td,N=>f[7]=N,()=>f==null?void 0:f[7]);var iI=V(td,2);{var sI=N=>{var Q=bz();ze(Q,xe=>f[11]=xe,()=>f==null?void 0:f[11]),ne("click",Q,()=>t().openMergeConflictHelp()),Y(N,Q)};ve(iI,N=>{T(o)&&N(sI)})}G(c_),G(zm);var Km=V(zm,2),rd=j(Km);Wb(rd);var aI=V(rd,2);{var oI=N=>{var Q=yz();fe(Q,"aria-label","Clear"),ne("click",Q,()=>q(u,"")),Y(N,Q)};ve(aI,N=>{T(u)&&N(oI)})}G(Km);var p_=V(Km,2),m_=j(p_);{var lI=N=>{var Q=xz();let xe;var it=j(Q),Ut=j(it);let Dn;var js=V(Ut,4),nd=j(js),Nc=De(nd,!0);G(js),G(it);var id=V(it,2);{var Xm=Bc=>{var Wo=_z(),Qm=j(Wo);{var sd=ss=>{Ta(ss,{get hierarchy(){return T(p)},get plugin(){return t()},get view(){return n()},get fileType(){return 3},get conflictCounts(){return T(C)},topLevel:!0,get closed(){return T(R)},set closed(qo){q(R,qo,!0)}})},Jm=ss=>{var qo=Ns(),Yo=An(qo);dn(Yo,17,()=>T(A),fn,(ad,Pa)=>{qf(ad,{get path(){return T(Pa)},get count(){return T(C)[T(Pa)]},get view(){return n()},get manager(){return t().gitManager}})}),Y(ss,qo)};ve(Qm,ss=>{T(ae)&&T(p)?ss(sd):ss(Jm,-1)})}G(Wo),ti(3,Wo,()=>Ci,()=>({duration:150})),Y(Bc,Wo)};ve(id,Bc=>{T(k)&&Bc(Xm)})}G(Q),$e(()=>{xe=nt(Q,1,"conflicts tree-item nav-folder svelte-5wq9p",null,xe,{"is-collapsed":!T(k)}),Dn=nt(Ut,1,"tree-item-icon nav-folder-collapse-indicator collapse-icon svelte-5wq9p",null,Dn,{"is-collapsed":!T(k)}),Le(Nc,T(l).conflicted.length)}),ne("click",it,()=>q(k,!T(k))),Y(N,Q)};ve(m_,N=>{T(l)&&T(l).conflicted.length>0&&N(lI)})}var cI=V(m_,2);{var uI=N=>{var Q=Cz(),xe=j(Q);let it;var Ut=j(xe),Dn=j(Ut);let js;var nd=V(Dn,4),Nc=j(nd),id=j(Nc);ze(id,gt=>f[8]=gt,()=>f==null?void 0:f[8]),G(Nc);var Xm=V(Nc,2),Bc=De(Xm,!0);G(nd),G(Ut);var Wo=V(Ut,2);{var Qm=gt=>{var bt=Ky(),Ln=j(bt);{var Ur=Ht=>{Ta(Ht,{get hierarchy(){return T(h)},get plugin(){return t()},get view(){return n()},get fileType(){return 0},topLevel:!0,get closed(){return T(x)},set closed(ni){q(x,ni,!0)}})},as=Ht=>{var ni=Zy(),$a=An(ni);dn($a,17,()=>ju(T(l).staged,500),fn,(zs,Uc)=>{Kf(zs,{get change(){return T(Uc)},get view(){return n()}})});var Ia=V($a,2);Uo(Ia,{get files(){return T(l).staged}}),Y(Ht,ni)};ve(Ln,Ht=>{T(ae)?Ht(Ur):Ht(as,-1)})}G(bt),ti(3,bt,()=>Ci,()=>({duration:150})),Y(gt,bt)};ve(Wo,gt=>{T(b)&>(Qm)})}G(xe);var sd=V(xe,2);{var Jm=gt=>{var bt=Ez(),Ln=j(bt),Ur=V(j(Ln),2),as=j(Ur),Ht=De(as,!0);G(Ur),G(Ln),G(bt),$e(()=>Le(Ht,T(l).stagedOutsideVault)),Y(gt,bt)};ve(sd,gt=>{T(l).stagedOutsideVault>0&>(Jm)})}var ss=V(sd,2);{var qo=gt=>{var bt=Sz(),Ln=j(bt),Ur=V(j(Ln),2),as=j(Ur),Ht=De(as,!0);G(Ur),G(Ln),G(bt),$e(()=>Le(Ht,T(l).conflictedOutsideVault)),Y(gt,bt)};ve(ss,gt=>{T(l).conflictedOutsideVault>0&>(qo)})}var Yo=V(ss,2);let ad;var Pa=j(Yo),g_=j(Pa);let w_;var v_=V(g_,4),eg=j(v_),b_=j(eg),y_=V(b_,2);ze(y_,gt=>f[9]=gt,()=>f==null?void 0:f[9]),G(eg);var fI=V(eg,2),dI=De(fI,!0);G(v_),G(Pa);var hI=V(Pa,2);{var pI=gt=>{var bt=Ky(),Ln=j(bt);{var Ur=Ht=>{Ta(Ht,{get hierarchy(){return T(d)},get plugin(){return t()},get view(){return n()},get fileType(){return 1},topLevel:!0,get closed(){return T(E)},set closed(ni){q(E,ni,!0)}})},as=Ht=>{var ni=Zy(),$a=An(ni);dn($a,17,()=>ju(T(l).changed,500),fn,(zs,Uc)=>{Yf(zs,{get change(){return T(Uc)},get view(){return n()}})});var Ia=V($a,2);Uo(Ia,{get files(){return T(l).changed}}),Y(Ht,ni)};ve(Ln,Ht=>{T(ae)?Ht(Ur):Ht(as,-1)})}G(bt),ti(3,bt,()=>Ci,()=>({duration:150})),Y(gt,bt)};ve(hI,gt=>{T(w)&>(pI)})}G(Yo);var mI=V(Yo,2);{var gI=gt=>{var bt=kz();let Ln;var Ur=j(bt),as=V(j(Ur),4),Ht=De(as,!0);G(Ur);var ni=V(Ur,2);{var $a=Ia=>{var zs=Ky(),Uc=j(zs);{var wI=Zo=>{Ta(Zo,{get hierarchy(){return T(g)},get plugin(){return t()},get view(){return n()},get fileType(){return 2},topLevel:!0,get closed(){return T($)},set closed(od){q($,od,!0)}})},vI=Zo=>{var od=Zy(),__=An(od);dn(__,17,()=>T(c),fn,(yI,_I)=>{Zf(yI,{get change(){return T(_I)},get view(){return n()}})});var bI=V(__,2);Uo(bI,{get files(){return T(c)}}),Y(Zo,od)};ve(Uc,Zo=>{T(ae)?Zo(wI):Zo(vI,-1)})}G(zs),ti(3,zs,()=>Ci,()=>({duration:150})),Y(Ia,zs)};ve(ni,Ia=>{T(y)&&Ia($a)})}G(bt),$e(()=>{Ln=nt(bt,1,"pulled nav-folder",null,Ln,{"is-collapsed":!T(y)}),Le(Ht,T(c).length)}),ne("click",Ur,()=>q(y,!T(y))),Y(gt,bt)};ve(mI,gt=>{T(c).length>0&&T(g)&>(gI)})}G(Q),$e(()=>{it=nt(xe,1,"staged tree-item nav-folder",null,it,{"is-collapsed":!T(b)}),js=nt(Dn,1,"tree-item-icon nav-folder-collapse-indicator collapse-icon",null,js,{"is-collapsed":!T(b)}),Le(Bc,T(l).staged.length),ad=nt(Yo,1,"changes tree-item nav-folder",null,ad,{"is-collapsed":!T(w)}),w_=nt(g_,1,"tree-item-icon nav-folder-collapse-indicator collapse-icon",null,w_,{"is-collapsed":!T(w)}),Le(dI,T(l).changed.length)}),ne("click",Ut,()=>q(b,!T(b))),ne("click",id,pn),ne("click",Pa,()=>q(w,!T(w))),ne("click",b_,Dc),ne("click",y_,kr),Y(N,Q)};ve(cI,N=>{T(l)&&T(h)&&T(d)&&N(uI)})}G(p_),G(Lc),$e(()=>{fe(Lc,"data-type",fr.type),o_=nt(Lc,1,"git-view svelte-5wq9p",null,o_,{"repository-missing":T(s)}),u_=nt(zo,1,"clickable-icon nav-action-button svelte-5wq9p",null,u_,{"is-disabled":T(Re)}),fe(zo,"aria-label",T(ye)),fe(zo,"aria-disabled",T(Re)),f_=nt(Vo,1,"clickable-icon nav-action-button svelte-5wq9p",null,f_,{"is-disabled":T(Ne)}),fe(Vo,"aria-label",T(be)),fe(Vo,"aria-disabled",T(Ne)),fe(Jf,"data-icon",T(ae)?"list":"folder"),h_=nt(td,1,"clickable-icon nav-action-button",null,h_,{loading:T(i)}),fe(rd,"rows",T(rI))}),ne("click",zo,()=>Bt()),ne("click",Vo,()=>St()),ne("click",d_,Ze),ne("click",Wm,kr),ne("click",qm,pn),ne("click",Ym,Oc),ne("click",Zm,Ra),ne("click",Jf,()=>{q(ae,!T(ae)),(0,Gs.setIcon)(f[6],T(ae)?"list":"folder"),t().settings.treeStructure=T(ae),t().saveSettings()}),ne("click",td,ke),Ly(rd,()=>T(u),N=>q(u,N)),Y(r,Lc),ct()}Et(["click"]);var Xf=class extends D$.ItemView{constructor(e,t){super(e),this.plugin=t,this.hoverPopover=null}getViewType(){return fr.type}getDisplayText(){return fr.name}getIcon(){return fr.icon}async onClose(){return this._view&&await Bs(this._view),super.onClose()}async reload(){this._view&&await Bs(this._view),this._view=ka(Xy,{target:this.contentEl,props:{plugin:this.plugin,view:this}})}async onOpen(){return await this.reload(),super.onOpen()}};m();var km=class{constructor(e,t){this.statusBarEl=e;this.plugin=t;this.statusBarEl.addClass("mod-clickable"),this.statusBarEl.onClickEvent(n=>{this.plugin.promiseQueue.addTask(()=>this.plugin.gitActions.switchBranch())})}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 L$=require("obsidian");var Cm=class{constructor(e){this.plugin=e}get editor(){var n;let e=(n=this.plugin.app.workspace.activeEditor)==null?void 0:n.editor,t=e==null?void 0:e.cm;if(!(!e||!hi.hasHunksData(t.state)))return{editor:t,obEditor:e}}resetHunk(e){if(!this.editor)return;let{editor:t,obEditor:n}=this.editor,i=hi.getHunk(t.state,!1,e);if(i){let s,a;i.type==="delete"?(s=i.added.start+1,a=i.added.start+1):(s=i.added.start-0,a=i.added.start-1+i.added.count);let o=t.state.doc.line(s).from,l=i.type==="delete"?t.state.doc.line(a).from:t.state.doc.line(a).to+1,c=i.removed.lines.join(`
|
|
`);i.removed.lines.length>0&&!i.removed.no_nl_at_eof&&(c+=`
|
|
`),n.replaceRange(c,n.offsetToPos(o),n.offsetToPos(l)),n.setSelection(n.offsetToPos(o))}}async stageHunk(e){if(!this.editor)return;let{editor:t}=this.editor,n=hi.getHunk(t.state,!1,e),i=!1;if(n||(n=hi.getHunk(t.state,!0,e),i=!0),!n)return;let s=t.state.field(L$.editorInfoField).file.path,a=nr.createPatch(s,[n],"100644",i).join(`
|
|
`)+`
|
|
`;await this.plugin.gitActions.applyPatch(a)}goToHunk(e){if(!this.editor)return;let{editor:t,obEditor:n}=this.editor,i=hi.getHunks(t.state,!1),s=n.getCursor().line+1,a=nr.findNearestHunk(s,i,e,!0);if(a==null)return;let o=i[a];if(o){let l=o.added.start-1;n.setCursor(l,0),n.scrollIntoView({from:{line:l,ch:0},to:{line:l+1,ch:0}},!0)}}};m();function N$(r){let e,t,n=()=>e?(t!=null||(t=e.catch(()=>{}).then(()=>(t=void 0,n()))),t):(e=r().finally(()=>{e=void 0}),e);return n}m();m();var Ho=require("obsidian");var Am=class{constructor(e){this.plg=e;this.codeMirrorExtensions=[];this.handleWorkspaceLeaf=e=>{if(!this.lineAuthorInfoProvider){console.warn("Git: undefined lineAuthorInfoProvider. Unexpected situation.");return}let t=e==null?void 0:e.view;!(t instanceof Ho.MarkdownView)||t.file==null||(t==null?void 0:t.allowNoFile)===!0||this.lineAuthorInfoProvider.trackChanged(t.file).catch(console.error)}}onLoadPlugin(){this.plg.registerEditorExtension(this.codeMirrorExtensions),e2(()=>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;u2(this.plg.settings.lineAuthor),this.lineAuthorInfoProvider=new op(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&&Ho.Platform.isDesktopApp,gitManager:this.plg.gitManager instanceof Me?this.plg.gitManager:void 0}}refreshLineAuthorViews(){this.plg.settings.lineAuthor.show&&(this.deactivateFeature(),this.activateFeature())}activateCodeMirrorExtensions(){this.codeMirrorExtensions.push(_2),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(),s2(),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 t;e&&((t=this.lineAuthorInfoProvider)==null||t.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,t)=>{var n;return e instanceof Ho.TFile&&((n=this.lineAuthorInfoProvider)==null?void 0:n.trackChanged(e))})}createVaultFileModificationHandler(){return this.plg.app.vault.on("modify",e=>{var t;return e instanceof Ho.TFile&&((t=this.lineAuthorInfoProvider)==null?void 0:t.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",l2)}};m();var Fc=require("obsidian");m();m();var Go=require("@codemirror/state"),Rm=require("@codemirror/view");var Tm=class extends Rm.GutterMarker{constructor(t,n){super();this.type=t;this.staged=n}toDOM(t){let n=createDiv();return n.className=`git-gutter-marker git-${this.type} ${this.staged?"staged":"unstaged"}`,this.type=="changedelete"&&n.setText("~"),n}},Qy=Go.StateField.define({create:()=>Go.RangeSet.empty,update:(r,e)=>{let t=e.state.field(Xr,!1);if(!t)return Go.RangeSet.empty;let n=e.effects.some(s=>s.is(yp)),i=e.effects.some(s=>s.is(Ql));if(n||i||(e.docChanged||r.size==0)&&t.isDirty==!1){let s=new Set,a=B$(e,t.hunks,!1,s),o=B$(e,t.stagedHunks,!0,s);return r=Go.RangeSet.of([...a,...o],!0),r}else e.docChanged&&(r=r.map(e.changes));return r}});function B$(r,e,t,n){let i=[];for(let a=0;a<e.length;a++){let o=a>0?e[a-1]:void 0,l=a<e.length-1?e[a+1]:void 0,c=e[a];i.push(...nr.calcSigns(o,c,l))}let s=[];for(let a of i){if(n.has(a.lnum))continue;let o=r.state.doc.line(a.lnum);n.add(a.lnum),s.push(new Tm(a.type,t).range(o.from,o.to))}return s}var U$=(0,Rm.gutter)({class:"git-signs-gutter",markers:r=>{var e;return(e=r.state.field(Qy,!1))!=null?e:Go.RangeSet.empty},initialSpacer:r=>new Tm("delete",!1),domEventHandlers:{click:(r,e,t)=>{var i;return((i=hi.getHunkAtPos(r.state,e.from,!1))!=null?i:hi.getHunkAtPos(r.state,e.from,!0))&&(wa(r,e.from),t.preventDefault()),!1}}});var Pm=class{constructor(e){this.plugin=e}async trackChanged(e){try{await this.trackChangedHelper(e)}catch(t){throw console.warn("Git: Error in trackChanged.",t),t}}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 n=await this.plugin.editorIntegration.lineAuthoringFeature.isAvailableOnCurrentPlatform().gitManager.show("",e).catch(()=>{});this.notifySignComputationResultToSubscribers(e,{compareText:n,compareTextHead:void 0})}notifySignComputationResultToSubscribers(e,t){Wn.ifFilepathDefinedTransformSubscribers(e,n=>n.forEach(i=>i.notifyGitCompare(t)))}},H$=[DR,LR,U$,Qy,$p],G$=[Xr,af];m();var $m=require("obsidian"),Im=class{constructor(e,t){this.statusBarEl=e;this.plugin=t;var n;e.addClass("git-changes-status-bar"),t.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=(n=t.app.workspace.getActiveViewOfType($m.MarkdownView))!=null?n:void 0,t.app.workspace.on("active-leaf-change",i=>{!i||i.getRoot()==t.app.workspace.rootSplit&&!(i.view instanceof $m.MarkdownView)?this.statusBarEl.empty():i.view instanceof $m.MarkdownView&&(this.view=i.view)})}display(e,t){var a;if(!this.view||((a=this.view.file)==null?void 0:a.path)!==(t==null?void 0:t.path))return;let n=0,i=0,s=0;for(let o of e)n+=Math.max(0,o.added.count-o.removed.count),i+=Math.min(o.added.count,o.removed.count),s+=Math.max(0,o.removed.count-o.added.count);this.statusBarEl.empty(),n>0&&this.statusBarEl.createSpan({text:`+${n} `,cls:"git-add"}),i>0&&this.statusBarEl.createSpan({text:`~${i} `,cls:"git-change"}),s>0&&this.statusBarEl.createSpan({text:`-${s}`,cls:"git-delete"})}remove(){this.statusBarEl.remove()}};var Fm=class{constructor(e){this.plg=e;this.codeMirrorExtensions=[];this.handleWorkspaceLeaf=e=>{if(!this.signsProvider){console.warn("Git: undefined signsProvider. Unexpected situation.");return}let t=e==null?void 0:e.view;!(t instanceof Fc.MarkdownView)||t.file==null||(t==null?void 0:t.allowNoFile)===!0||this.signsProvider.trackChanged(t.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 Pm(this.plg),this.createEventHandlers(),this.activateCodeMirrorExtensions(),this.plg.settings.hunks.statusBar!="disabled"){let e=this.plg.addStatusBarItem();this.changeStatusBar=new Im(e,this.plg)}}catch(e){console.warn("Git: Error while loading signs feature.",e),this.deactivateFeature()}}deactivateFeature(){var e,t;this.destroyEventHandlers(),this.deactivateCodeMirrorExtensions(),(e=this.signsProvider)==null||e.destroy(),this.signsProvider=void 0,(t=this.changeStatusBar)==null||t.remove(),this.changeStatusBar=void 0}isAvailableOnCurrentPlatform(){return{available:this.plg.useSimpleGit&&Fc.Platform.isDesktopApp,gitManager:this.plg.gitManager instanceof Me?this.plg.gitManager:void 0}}refresh(){this.signsProvider&&this.plg.app.workspace.iterateAllLeaves(this.handleWorkspaceLeaf)}activateCodeMirrorExtensions(){this.codeMirrorExtensions.push(G$),this.plg.settings.hunks.showSigns&&this.codeMirrorExtensions.push(...H$),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,t)=>{var n;return Wn.ifFilepathDefinedTransformSubscribers(t,i=>i.forEach(s=>{s.changeToNewFilepath(e.path)})),e instanceof Fc.TFile&&((n=this.signsProvider)==null?void 0:n.trackChanged(e))})}createPluginRefreshedEvent(){return this.plg.app.workspace.on("obsidian-git:refreshed",()=>{this.refresh()})}createIntervalRefreshEvent(){return window.setInterval(()=>{var e,t;(e=this.plg.app.workspace.activeEditor)!=null&&e.file&&((t=this.signsProvider)==null||t.trackChanged(this.plg.app.workspace.activeEditor.file).catch(console.error))},10*1e3)}};m();var i_=require("@codemirror/state"),hn=require("@codemirror/view"),jo=require("obsidian");m();m();var j$=/^<{7}(?:[ \t].*)?$/,Rz=/^\|{7}(?:[ \t].*)?$/,Pz=/^={7}(?:[ \t].*)?$/,$z=/^>{7}(?:[ \t].*)?$/;function Iz(r){let e=[],t=0;for(;t<=r.length;){let n=r.indexOf(`
|
|
`,t),i=n===-1?r.length:n;if(e.push({from:t,to:i,text:r.slice(t,i)}),n===-1)break;t=n+1}return e}function Mm(r){let e=Iz(r),t=[];for(let n=0;n<e.length;n++){let i=e[n];if(!j$.test(i.text))continue;let s=-1,a=-1;for(let d=n+1;d<e.length;d++){let h=e[d];if(Pz.test(h.text)){a=d;break}s===-1&&Rz.test(h.text)&&(s=d)}if(a===-1)continue;let o=-1;for(let d=a+1;d<e.length;d++){let h=e[d];if($z.test(h.text)){o=d;break}if(j$.test(h.text))break}if(o===-1)continue;let l=e[a],c=e[o],u=s!==-1?e[s]:void 0,f=[{from:i.from,to:i.to}];u!==void 0&&f.push({from:u.from,to:u.to}),f.push({from:l.from,to:l.to},{from:c.from,to:c.to}),t.push({from:i.from,to:c.to<r.length?c.to+1:c.to,ours:r.slice(i.to+1,u!==void 0?u.from:l.from),theirs:r.slice(l.to+1,c.from),base:u!==void 0?r.slice(u.to+1,l.from):void 0,markers:f,oursRange:{from:i.to+1,to:u!==void 0?u.from:l.from},baseRange:u!==void 0?{from:u.to+1,to:l.from}:void 0,theirsRange:{from:l.to+1,to:c.from}}),n=o}return t}function Jy(r,e){switch(e){case"ours":return r.ours;case"theirs":return r.theirs;case"base":if(r.base===void 0)throw new Error("Cannot keep the base of a two-way conflict");return r.base;case"both":return r.ours+r.theirs}}function z$(r,e,t){r.dispatch({changes:{from:e.from,to:e.to,insert:Jy(e,t)}}),r.focus()}function V$(r,e){let t=Mm(r.state.doc.toString());r.dispatch({changes:t.map(n=>({from:n.from,to:n.to,insert:Jy(n,e)}))}),r.focus()}var Fz=["ours","base","theirs","both"];function W$(r){if(!r.field(jo.editorLivePreviewField,!1))return[];let e=r.doc.toString();return e.includes("<<<<<<<")?Mm(e):[]}var Mc=i_.StateField.define({create:W$,update:(r,e)=>e.docChanged||e.reconfigured?W$(e.state):r});function Y$(r,e,t){for(let n of Fz){let i=e[n];if(i===void 0)continue;new jo.ButtonComponent(r).setButtonText(i).onClick(a=>{a.preventDefault(),t(n)}).buttonEl.addClass("clickable-icon","nav-action-button",`git-conflict-choose-${n}`)}}var t_=class extends hn.WidgetType{constructor(t){super();this.block=t}eq(t){return t.block.from===this.block.from&&t.block.to===this.block.to&&t.block.ours===this.block.ours&&t.block.theirs===this.block.theirs&&t.block.base===this.block.base}toDOM(t){let n=createDiv({cls:"git-conflict-actions-group git-conflict-actions-widget"}),i={ours:"Keep ours",theirs:"Keep theirs",both:"Keep both"};return this.block.base!==void 0&&(i.base="Keep base"),Y$(n,i,s=>z$(t,this.block,s)),n}};function Z$(r,e){var i;let t=(i=e.state.field(Mc,!1))!=null?i:[];r.createSpan({cls:"git-conflict-panel-label",text:`${t.length} conflict${t.length===1?"":"s"} in file`});let n={ours:"Keep all ours",theirs:"Keep all theirs",both:"Keep both"};t.every(s=>s.base!==void 0)&&(n.base="Keep all base"),Y$(r.createDiv({cls:"git-conflict-actions-group"}),n,s=>V$(e,s))}var r_=class extends hn.WidgetType{constructor(t,n){super();this.count=t;this.hasBase=n}eq(t){return t.count===this.count&&t.hasBase===this.hasBase}toDOM(t){let n=createDiv({cls:"git-conflict-panel"});return Z$(n,t),n}};function e_(r,e,t,n){if(t.from>=t.to)return;let i=e.doc.lineAt(t.from).number,s=e.doc.lineAt(t.to-1).number;for(let a=i;a<=s;a++)r.push(hn.Decoration.line({class:n}).range(e.doc.line(a).from))}function q$(r){var n;let e=(n=r.field(Mc,!1))!=null?n:[],t=[];jo.Platform.isMobile&&e.length>0&&t.push(hn.Decoration.widget({widget:new r_(e.length,e.every(i=>i.base!==void 0)),block:!0,side:-1}).range(0));for(let i of e){let s=i.markers[0];for(let[a,o]of i.markers.entries()){let l=a===0?" git-conflict-marker-ours":a===i.markers.length-1?" git-conflict-marker-theirs":"";t.push(hn.Decoration.line({class:`git-conflict-marker-line${l}`}).range(o.from),hn.Decoration.mark({class:`git-conflict-marker${l}`}).range(o.from,o.to))}t.push(hn.Decoration.widget({widget:new t_(i),side:1}).range(s.to)),e_(t,r,i.oursRange,"git-conflict-ours-line"),i.baseRange!==void 0&&e_(t,r,i.baseRange,"git-conflict-base-line"),e_(t,r,i.theirsRange,"git-conflict-theirs-line")}return hn.Decoration.set(t,!0)}var Mz=i_.StateField.define({create:r=>q$(r),update:(r,e)=>e.docChanged||e.reconfigured?q$(e.state):r,provide:r=>hn.EditorView.decorations.from(r)}),n_=class{constructor(e){this.view=e;this.dom=createDiv({cls:"git-conflict-panel"});this.top=!0;this.render()}update(e){(e.docChanged||e.transactions.some(t=>t.reconfigured))&&this.render()}render(){var t;this.dom.empty(),((t=this.view.state.field(Mc,!1))!=null?t:[]).length!==0&&Z$(this.dom,this.view)}},Oz=r=>new n_(r),Dz=hn.showPanel.compute([Mc],r=>!jo.Platform.isMobile&&r.field(Mc).length>0?Oz:null),K$=[Mc,Mz,Dz];m();var X$=require("@codemirror/state"),Om=require("obsidian");var s_=class{constructor(e){this.state=e;this.subscribeMe()}notifyLineAuthoring(e,t){if(this.view===void 0){console.warn(`Git: View is not defined for editor cache key. Unforeseen situation. id: ${e}`);return}let n=this.view.state,i=JT(e,t,n);this.view.dispatch(i)}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 t=this.view.state,n=t.field(Xr);if(!n||n.compareText!=e.compareText||n.compareTextHead!=e.compareTextHead){let i=dR(e,t);this.view.dispatch(i)}}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(a_,!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&&(Wn.ifFilepathDefinedTransformSubscribers(e,t=>t.add(this)),this.lastSeenPath=e)}unsubscribeMe(e){Wn.ifFilepathDefinedTransformSubscribers(e,t=>t.delete(this))}get filepath(){var e,t;return(t=(e=this.state.field(Om.editorInfoField))==null?void 0:e.file)==null?void 0:t.path}get view(){return this.state.field(Om.editorEditorField)}},a_=X$.StateField.define({create:r=>new s_(r),update:(r,e)=>r.updateToNewState(e.state),compare:(r,e)=>r===e});var Dm=class{constructor(e){this.plg=e;this.lineAuthoringFeature=new Am(this.plg);this.signsFeature=new Fm(this.plg)}onUnloadPlugin(){this.lineAuthoringFeature.deactivateFeature(),this.signsFeature.deactivateFeature(),Wn.clear()}onLoadPlugin(){Wn.init(),this.plg.registerEditorExtension(a_),this.plg.registerEditorExtension(K$),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()}};m();async function Ai(r,e){try{return{status:"success",value:await e()}}catch(t){return await Lz(r,t),{status:t instanceof Gn.UserCanceledError?"cancelled":"failed"}}}async function Lz(r,e){if(!(e instanceof Gn.UserCanceledError)){if(e instanceof zn){let t=e.files;try{t=(await r.updateCachedStatus()).conflicted}catch(n){console.error("Failed to refresh conflict status",n)}r.log("Git conflict:",e.cause),r.handleConflict(t);return}if(e instanceof $l){r.handleNoNetworkError(e);return}r.displayError(e)}}m();var On=require("obsidian"),Gm=Ke(require("fs/promises"),1);m();var Nm=require("obsidian"),Lm=class extends Nm.SuggestModal{constructor(t){super(t.app);this.plugin=t;this.resolve=null;this.setPlaceholder("Type your message and select optional the version with the added date.")}openAndGetResult(){return new Promise(t=>{this.resolve=t,this.open()})}onClose(){new Promise(t=>window.setTimeout(t,10)).then(()=>{this.resolve&&this.resolve(void 0)})}getSuggestions(t){let n=(0,Nm.moment)().format(this.plugin.settings.commitDateFormat);return t==""&&(t="..."),[t,`${n}: ${t}`,`${t}: ${n}`]}renderSuggestion(t,n){n.innerText=t}onChooseSuggestion(t,n){this.resolve&&this.resolve(t)}};m();var Q$=require("obsidian"),Bm=class extends Q$.FuzzySuggestModal{constructor(t,n){super(t.app);this.branches=n;this.setPlaceholder("Select branch to checkout")}getItems(){return this.branches}getItemText(t){return t}onChooseItem(t,n){this.resolve(t)}openAndGetReslt(){return new Promise(t=>{this.resolve=t,this.open()})}onClose(){new Promise(t=>window.setTimeout(t,10)).then(()=>{this.resolve&&this.resolve(void 0)})}};m();var J$=require("obsidian"),Um=class extends J$.FuzzySuggestModal{constructor(e,t){super(e.app),this.plugin=e,this.changedFiles=t,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 t="",n="";return e.workingDir!=" "&&(t=`Working Dir: ${e.workingDir} `),e.index!=" "&&(n=`Index: ${e.index}`),`${t}${n} | ${e.vaultPath}`}onChooseItem(e,t){this.plugin.app.metadataCache.getFirstLinkpathDest(e.vaultPath,"")==null?this.app.openWithDefaultApp(e.vaultPath):this.plugin.app.workspace.openLinkText(e.vaultPath,"/")}};m();var eI=require("obsidian");var Qf=class extends eI.Modal{constructor({app:t,path:n,filesToDeleteCount:i,filesToDiscardCount:s}){super(t);this.resolve=null;this.path=n,this.deleteCount=i,this.discardCount=s}openAndGetResult(){return this.open(),new Promise(t=>{this.resolve=t})}onOpen(){let t=this.deleteCount+this.discardCount,{contentEl:n,titleEl:i}=this,s="";this.path!=""&&(t>1?s=`files in "${this.path}"`:s=`"${this.path}"`),i.setText(`${this.discardCount==0?"Delete":"Discard"} ${s}`),this.deleteCount>0&&n.createEl("p").setText(`Are you sure you want to DELETE the ${Gu(this.deleteCount,"untracked file")}? They are deleted according to your Obsidian trash settting.`),this.discardCount>0&&n.createEl("p").setText(`Are you sure you want to discard ALL changes in ${Gu(this.discardCount,"tracked file")}?`);let a=n.createDiv({cls:"modal-button-container"});if(this.deleteCount>0){let l=a.createEl("button",{cls:"mod-warning",text:`${this.discardCount>0?"Discard":"Delete"} all ${Gu(t,"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 ${Gu(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:t}=this;t.empty()}};var Hm=class{constructor(e){this.plugin=e}async addFileToGitignore(e,t){return this.runFileStateMutation(async()=>{let n=this.plugin.gitManager.getRelativeRepoPath(e,!0),i=wA({isFolder:t,gitRelativePath:n});await this.plugin.app.vault.adapter.append(this.plugin.gitManager.getRelativeVaultPath(".gitignore"),`
|
|
`+i)})}async createNewRepo(){let e=await Ai(this.plugin,async()=>(await this.plugin.gitManager.init(),await this.plugin.init({fromReload:!0}),{status:"initialized"}));return e.status==="success"&&this.reportInitRepositoryResult(e.value),e}reportInitRepositoryResult(e){if(e.status==="initialized"){this.plugin.displayMessage("Initialized new repo");return}}async deleteRepository(){let e=await Ai(this.plugin,async()=>{let t=this.plugin.settings.basePath?`${this.plugin.settings.basePath}/.git`:".git";return await this.plugin.app.vault.adapter.exists(t)?await new ft(this.plugin,{options:["NO","YES"],placeholder:"Do you really want to delete the repository (.git directory)? This action cannot be undone.",onlySelection:!0}).openAndGetResult()==="YES"?(await this.plugin.app.vault.adapter.rmdir(t,!0),{status:"deleted"}):{status:"cancelled"}:{status:"not-found"}});return e.status==="success"&&(this.reportDeleteRepositoryResult(e.value),e.value.status==="deleted"&&(this.plugin.unloadPlugin(),await this.plugin.init({fromReload:!0}))),e}reportDeleteRepositoryResult(e){switch(e.status){case"deleted":this.plugin.displayMessage("Successfully deleted repository. Reloading plugin...");return;case"not-found":this.plugin.displayMessage("No repository found");return;case"cancelled":return}}async cloneNewRepo(){let e=await Ai(this.plugin,()=>this.performCloneNewRepo());return e.status==="success"&&this.reportCloneRepositoryResult(e.value),e}async performCloneNewRepo(){let e=await new ft(this.plugin,{placeholder:"Enter remote URL"}).openAndGetResult();if(!e)return{status:"cancelled",reason:"no-url"};let t="Vault Root",n=await new ft(this.plugin,{options:this.plugin.gitManager instanceof ws?[t]:[],placeholder:"Enter directory for clone. It needs to be empty or not existent.",allowEmpty:this.plugin.gitManager instanceof ws}).openAndGetResult();if(n===void 0)return{status:"cancelled",reason:"no-directory"};if(n===t&&(n="."),n=(0,On.normalizePath)(n),n==="/"&&(n="."),n==="."){let l=await new ft(this.plugin,{options:["NO","YES"],placeholder:`Does your remote repo contain a ${this.plugin.app.vault.configDir} directory at the root?`,onlySelection:!0}).openAndGetResult();if(l===void 0)return{status:"cancelled",reason:"safety-declined"};if(l==="YES"){let c="DELETE ALL YOUR LOCAL CONFIG AND PLUGINS";if(!(await new ft(this.plugin,{options:["Abort clone",c],placeholder:`To avoid conflicts, the local ${this.plugin.app.vault.configDir} directory needs to be deleted.`,onlySelection:!0}).openAndGetResult()===c))return{status:"cancelled",reason:"safety-declined"};await this.plugin.app.vault.adapter.rmdir(this.plugin.app.vault.configDir,!0)}}let i=await new ft(this.plugin,{placeholder:"Specify depth of clone. Leave empty for full clone.",allowEmpty:!0}).openAndGetResult();if(i===void 0)return{status:"cancelled",reason:"no-depth"};let s;if(i!==""&&(s=parseInt(i),isNaN(s)))return{status:"invalid",reason:"depth"};new On.Notice(`Cloning new repo into "${n}"`);let a=this.plugin.settings.basePath,o=n!==".";o&&(this.plugin.settings.basePath=n);try{return await this.plugin.gitManager.clone(Jv(e),n,s),o&&await this.plugin.saveSettings(),{status:"cloned"}}catch(l){throw this.plugin.settings.basePath=a,await this.plugin.saveSettings(),l}}reportCloneRepositoryResult(e){switch(e.status){case"cloned":this.plugin.displayMessage("Cloned new repo."),this.plugin.displayMessage("Please restart Obsidian");return;case"cancelled":{switch(e.reason){case"safety-declined":case"no-depth":this.plugin.displayMessage("Aborted clone");return;case"no-url":case"no-directory":return}return}case"invalid":if(e.reason==="depth"){this.plugin.displayMessage("Invalid depth. Aborting clone.");return}}}runReadyGitAction(e){return Ai(this.plugin,async()=>await this.plugin.isAllInitialized()?e():{status:"skipped",reason:"not-ready"})}async listChangedFiles(){let e=await this.runReadyGitAction(async()=>{let t=await this.plugin.updateCachedStatus(),n=t.changed.length+t.staged.length;return n>500?{status:"blocked",reason:"too-many-changes",files:n}:(new Um(this.plugin,t.all).open(),{status:"displayed"})});return e.status==="success"&&this.reportListChangedFilesResult(e.value),e}reportListChangedFilesResult(e){switch(e.status){case"displayed":case"skipped":return;case"blocked":if(e.reason==="too-many-changes"){this.plugin.displayError("Too many changes to display");return}}}async pullChangesFromRemote(){let e=await this.pull();if(e.status!=="success")return;let t=e.value;t.status!=="skipped"&&(this.reportPullResult(t),this.plugin.app.workspace.trigger("obsidian-git:refresh"))}reportPullResult(e){switch(e.status){case"updated":{let t=e.files.length+e.outsideVault,n=e.outsideVault>0?` (${e.files.length} in the vault, ${e.outsideVault} outside)`:"";this.plugin.displayMessage(`Pulled ${t} ${t==1?"file":"files"} from remote${n}`),this.plugin.lastPulledFiles=e.files;return}case"up-to-date":this.plugin.displayMessage("Pull: Everything is up-to-date");return;case"skipped":switch(e.reason){case"not-ready":case"no-upstream":return}}}resolveCommitMode(e,t){return e==="all"?"all":t>0?"staged":e==="staged"?"nothing":this.plugin.settings.autoStageOnEmptyIndex?"all":"nothing"}async commitAndSync(e){return this.runReadyGitAction(()=>this.performCommitAndSync(e))}async performCommitAndSync({fromAutoBackup:e,requestCustomMessage:t=!1,commitMessage:n,mode:i="all"}){this.plugin.settings.syncMethod=="reset"&&this.plugin.settings.pullBeforePush&&this.reportPullResult(await this.performPull());let s=await this.performCommit({fromAuto:e,requestCustomMessage:t,commitMessage:n,mode:i});switch(this.reportCommitResult(s),s.status){case"committed":case"nothing-to-commit":break;case"skipped":return{status:"skipped",reason:"commit-skipped",commit:s}}if(this.plugin.settings.syncMethod!="reset"&&this.plugin.settings.pullBeforePush&&this.reportPullResult(await this.performPull()),this.plugin.settings.disablePush)return{status:"commit-only",reason:"push-disabled",commit:s};if(!await this.isPushRemoteSet())return{status:"skipped",reason:"push-skipped",commit:s};if(await this.plugin.gitManager.canPush()){let a=await this.performPush();switch(this.reportPushResult(a),a.status){case"pushed":return{status:"synced",commit:s};case"up-to-date":return{status:"nothing-to-push",commit:s};case"blocked":case"skipped":return{status:"skipped",reason:"push-skipped",commit:s}}}return this.reportPushResult({status:"up-to-date"}),{status:"nothing-to-push",commit:s}}async commit(e){let t=await this.runReadyGitAction(()=>this.performCommit(e));return t.status==="success"&&this.reportCommitResult(t.value),t}async performCommit({fromAuto:e,requestCustomMessage:t=!1,mode:n="all",commitMessage:i,amend:s=!1}){let a,o=[],l,c=await this.plugin.updateCachedStatus(),u=this.plugin.state.mergeInProgress;if(this.plugin.gitManager instanceof Me)a=c.staged,o=c.changed,l=this.resolveCommitMode(n,a.length+c.stagedOutsideVault);else{let h=this.plugin.gitManager;a=await h.getStagedFiles(),l=this.resolveCommitMode(n,a.length),l==="all"&&(o=(await h.getUnstagedFiles()).map(({path:g,type:w})=>({vaultPath:this.plugin.gitManager.getRelativeVaultPath(g),path:g,type:w})))}if(e&&u){if(c.conflicted.length+c.conflictedOutsideVault>0)throw new zn(c.conflicted,new Error("Automatic commit stopped because of unresolved conflicts"));return{status:"skipped",reason:"merge-in-progress"}}if(l==="nothing"&&u&&n==="smart"&&(l="staged"),l==="nothing")return{status:"nothing-to-commit",reason:"nothing-staged"};let f=l==="staged";if(await this.plugin.tools.hasTooBigFiles(f?a:[...a,...o]))return{status:"skipped",reason:"files-too-large"};if((f?0:o.length)+a.length+c.stagedOutsideVault!==0||u){let h=i!=null?i:e?this.plugin.settings.autoCommitMessage:this.plugin.settings.commitMessage,p=e&&this.plugin.settings.customMessageOnAutoBackup||t;if(!p&&this.plugin.gitManager instanceof Me&&this.plugin.settings.commitMessageScript&&(h=await this.getMessageFromScript(h)),p||!e&&!(h!=null&&h.trim())){!this.plugin.settings.disablePopups&&e&&new On.Notice("Auto backup: Please enter a custom commit message. Leave empty to abort");let w=await new Lm(this.plugin).openAndGetResult();if(w!=null&&w!=""&&w!="...")h=w;else throw new Gn.UserCanceledError}if(!h||h.trim()==="")throw new Gn.UserCanceledError;let g;return f?g=await this.plugin.gitManager.commit({message:h,amend:s}):g=await this.plugin.gitManager.commitAll({message:h,status:c,unstagedFiles:o,amend:s}),this.plugin.gitManager instanceof Me&&await this.plugin.updateCachedStatus(),this.plugin.app.workspace.trigger("obsidian-git:refresh"),g===0&&!u?{status:"nothing-to-commit",reason:"no-changes"}:{status:"committed",files:g}}else return this.plugin.app.workspace.trigger("obsidian-git:refresh"),{status:"nothing-to-commit",reason:"no-changes"}}async getMessageFromScript(e){let t=this.plugin.settings.commitMessageScript,n=this.plugin.localStorage.getHostname()||"",i=t.replace("{{hostname}}",n);i=i.replace("{{date}}",(0,On.moment)().format(this.plugin.settings.commitDateFormat));let s="sh";if(On.Platform.isWin){s=process.env.PROGRAMFILES+"\\Git\\bin\\sh.exe";let o;try{await Gm.access(s,Gm.constants.X_OK),o=!0}catch(l){o=!1}if(!o)throw new Error(`Cannot find sh.exe at ${s}. Please make sure Git is properly installed.`)}let a=await zu(s,["-c",i],{cwd:this.plugin.gitManager.absoluteRepoPath});if(a.code!=0)throw new Error(a.stderr||`Commit message script exited with code ${a.code}`);return a.stdout.trim().length==0?this.plugin.displayMessage("Stdout from commit message script is empty. Using default message."):e=a.stdout,e}reportCommitResult(e){switch(e.status){case"committed":this.plugin.displayMessage(`Committed ${e.files} ${e.files==1?"file":"files"}`);return;case"nothing-to-commit":{switch(e.reason){case"nothing-staged":this.plugin.displayMessage("Nothing staged. Stage changes first or use Commit all changes.");return;case"no-changes":this.plugin.displayMessage("No changes to commit");return}return}case"skipped":switch(e.reason){case"merge-in-progress":this.plugin.displayError("Did not commit automatically because a merge is in progress. Commit it manually.");return;case"not-ready":case"files-too-large":return}}}async push(){let e=await this.runReadyGitAction(()=>this.performPush());return e.status==="success"&&this.reportPushResult(e.value),e}async performPush(){if(!await this.isPushRemoteSet())return{status:"skipped",reason:"no-upstream"};let e=await this.plugin.updateCachedStatus(),t=e.conflicted.length+e.conflictedOutsideVault;if(t>0)return{status:"blocked",reason:"conflicts",files:t};if(this.plugin.state.mergeInProgress)return{status:"blocked",reason:"merge-in-progress"};this.plugin.settings.squashCommitsBeforePush&&this.plugin.gitManager instanceof Me&&await this.plugin.gitManager.squashAllUnpushedCommits(),this.plugin.log("Pushing....");let n=await this.plugin.gitManager.push();return this.plugin.setPluginState({offlineMode:!1}),this.plugin.app.workspace.trigger("obsidian-git:refresh"),n}reportPushResult(e){switch(e.status){case"pushed":e.files===null?this.plugin.displayMessage("Pushed to remote"):this.plugin.displayMessage(`Pushed ${e.files} ${e.files==1?"file":"files"} to remote`);return;case"up-to-date":this.plugin.displayMessage("No commits to push");return;case"blocked":{switch(e.reason){case"no-branch":this.plugin.displayError("No current branch found. Cannot push.");return;case"conflicts":this.plugin.displayError(`Cannot push. You have conflicts in ${e.files} ${e.files==1?"file":"files"}`);return;case"merge-in-progress":this.plugin.displayError("Cannot push while a merge is still in progress");return}return}case"skipped":switch(e.reason){case"not-ready":case"no-upstream":return}}}async pull(){return this.runReadyGitAction(()=>this.performPull())}async performPull(){if(!await this.isPullRemoteSet())return{status:"skipped",reason:"no-upstream"};this.plugin.log("Pulling....");let e=await this.plugin.gitManager.pull();return this.plugin.setPluginState({offlineMode:!1}),e}async fetch(){let e=await this.runReadyGitAction(async()=>await this.isPushRemoteSet()?(await this.plugin.gitManager.fetch(),this.plugin.setPluginState({offlineMode:!1}),this.plugin.app.workspace.trigger("obsidian-git:refresh"),{status:"fetched"}):{status:"skipped",reason:"no-upstream"});return e.status==="success"&&this.reportFetchResult(e.value),e}reportFetchResult(e){switch(e.status){case"fetched":this.plugin.displayMessage("Fetched from remote");return;case"skipped":switch(e.reason){case"not-ready":case"no-upstream":return}}}async stageFile(e){return this.stage(e.path,!0)}async stage(e,t){return this.runFileStateMutation(()=>this.plugin.gitManager.stage(e,t))}async stageAll(e){return this.runFileStateMutation(()=>this.plugin.gitManager.stageAll({dir:e}))}async unstageFile(e){return this.unstage(e.path,!0)}async unstage(e,t){return this.runFileStateMutation(()=>this.plugin.gitManager.unstage(e,t))}async unstageAll(e){return this.runFileStateMutation(()=>this.plugin.gitManager.unstageAll({dir:e}))}async applyPatch(e){return this.runFileStateMutation(async()=>{if(!(this.plugin.gitManager instanceof Me))throw new Error("Applying a patch is only supported on desktop");await this.plugin.gitManager.applyPatch(e)})}async runFileStateMutation(e){return this.runReadyGitAction(async()=>(await e(),this.plugin.app.workspace.trigger("obsidian-git:refresh"),{status:"updated"}))}async setGitConfig(e,t){return Ai(this.plugin,()=>this.plugin.gitManager.setConfig(e,t))}async runRawCommand(e){let t=new On.Notice(`Running '${e}'...`,999999),n=await Ai(this.plugin,async()=>{if(!(this.plugin.gitManager instanceof Me))throw new Error("Raw Git commands are only supported on desktop");return{status:"completed",output:await this.plugin.gitManager.rawCommand(e)}});return n.status==="success"&&n.value.output?(t.setMessage(n.value.output),window.setTimeout(()=>t.hide(),5e3)):t.hide(),n}async switchBranch(){let e=await this.runReadyGitAction(async()=>{var i;let t=await this.plugin.gitManager.branchInfo(),n=await new Bm(this.plugin,t.branches).openAndGetReslt();return n===void 0?{status:"cancelled"}:(await this.plugin.gitManager.checkout(n),this.plugin.app.workspace.trigger("obsidian-git:refresh"),await((i=this.plugin.branchBar)==null?void 0:i.display()),{status:"switched",branch:n})});return e.status==="success"&&this.reportSwitchBranchResult(e.value),e}async switchRemoteBranch(){let e=await this.runReadyGitAction(async()=>{var s;let t=await this.selectRemoteBranch();if(t===void 0)return{status:"cancelled"};let[n,i]=fa(t);return i===void 0||n===void 0?{status:"cancelled"}:(await this.plugin.gitManager.checkout(i,n),await((s=this.plugin.branchBar)==null?void 0:s.display()),{status:"switched",branch:t})});return e.status==="success"&&this.reportSwitchBranchResult(e.value),e}reportSwitchBranchResult(e){switch(e.status){case"switched":this.plugin.displayMessage(`Switched to ${e.branch}`);return;case"cancelled":case"skipped":return}}async createBranch(){let e=await this.runReadyGitAction(async()=>{var n;let t=await new ft(this.plugin,{placeholder:"Create new branch"}).openAndGetResult();return t===void 0?{status:"cancelled"}:(await this.plugin.gitManager.createBranch(t),await((n=this.plugin.branchBar)==null?void 0:n.display()),{status:"created",branch:t})});return e.status==="success"&&this.reportCreateBranchResult(e.value),e}reportCreateBranchResult(e){switch(e.status){case"created":this.plugin.displayMessage(`Created new branch ${e.branch}`);return;case"cancelled":case"skipped":return}}async deleteBranch(){let e=await this.runReadyGitAction(async()=>{var a;let t=await this.plugin.gitManager.branchInfo();t.current&&t.branches.remove(t.current);let n=await new ft(this.plugin,{options:t.branches,placeholder:"Delete branch",onlySelection:!0}).openAndGetResult();if(n===void 0)return{status:"cancelled"};let i=!1;if(!await this.plugin.gitManager.branchIsMerged(n)){if(await new ft(this.plugin,{options:["YES","NO"],placeholder:"This branch isn't merged into HEAD. Force delete?",onlySelection:!0}).openAndGetResult()!=="YES")return{status:"cancelled"};i=!0}return await this.plugin.gitManager.deleteBranch(n,i),await((a=this.plugin.branchBar)==null?void 0:a.display()),{status:"deleted",branch:n}});return e.status==="success"&&this.reportDeleteBranchResult(e.value),e}reportDeleteBranchResult(e){switch(e.status){case"deleted":this.plugin.displayMessage(`Deleted branch ${e.branch}`);return;case"cancelled":case"skipped":return}}async canAutoSetupPushRemote(){return this.plugin.gitManager instanceof Me&&await this.plugin.gitManager.getConfig("push.autoSetupRemote","all")=="true"}async isPullRemoteSet(){if(this.plugin.settings.updateSubmodules||(await this.plugin.gitManager.branchInfo()).tracking)return!0;if(await this.canAutoSetupPushRemote())return new On.Notice(`Upstream branch will be created on first push. Skipping pull.
|
|
Use set upstream branch command to set it manually if desired.`),!1;new On.Notice("No upstream branch is set. Please select one.");let e=await this.performSetUpstreamBranch();return this.reportSetUpstreamResult(e),e.status==="updated"}async isPushRemoteSet(){if(this.plugin.settings.updateSubmodules||await this.canAutoSetupPushRemote())return!0;if(!(await this.plugin.gitManager.branchInfo()).tracking){new On.Notice("No upstream branch is set. Please select one.");let e=await this.performSetUpstreamBranch();return this.reportSetUpstreamResult(e),e.status==="updated"}return!0}async setUpstreamBranch(){let e=await this.runReadyGitAction(async()=>this.performSetUpstreamBranch());return e.status==="success"&&this.reportSetUpstreamResult(e.value),e}async performSetUpstreamBranch(){let e=await this.selectRemoteBranch();return e==null?{status:"cancelled"}:(await this.plugin.gitManager.updateUpstreamBranch(e),{status:"updated",branch:e})}reportSetUpstreamResult(e){switch(e.status){case"updated":this.plugin.displayMessage(`Set upstream branch to ${e.branch}`);return;case"cancelled":this.plugin.displayError("Aborted. No upstream-branch is set!",1e4);return;case"skipped":return}}async discardFile(e){let t=await this.runReadyGitAction(async()=>{let n=e.workingDir==="U",i=await new Qf({app:this.plugin.app,filesToDeleteCount:n?1:0,filesToDiscardCount:n?0:1,path:e.vaultPath}).openAndGetResult();if(i===!1)return{status:"cancelled"};if(i==="delete"){let s=this.plugin.app.vault.getAbstractFileByPath(e.vaultPath);s?await this.plugin.app.fileManager.trashFile(s):await this.plugin.app.vault.adapter.remove(e.vaultPath)}else await this.plugin.gitManager.discard(e.path);return this.plugin.app.workspace.trigger("obsidian-git:refresh"),{status:"discarded",target:"file"}});return t.status==="success"&&this.reportDiscardResult(t.value,!1),t}async discardAll(e){let t=await this.runReadyGitAction(async()=>{let n=await this.plugin.gitManager.status({path:e}),i=0,s=0;for(let o of n.changed)o.workingDir=="U"?i++:s++;if(i+s==0)return{status:"skipped",reason:"no-changes"};let a=await new Qf({app:this.plugin.app,filesToDeleteCount:i,filesToDiscardCount:s,path:e!=null?e:""}).openAndGetResult();if(a===!1)return{status:"cancelled"};if(await this.plugin.gitManager.discardAll({dir:e,status:n}),a==="delete"){let o=await this.plugin.gitManager.getUntrackedPaths({path:e,status:n});for(let l of o){let c=this.plugin.gitManager.getRelativeVaultPath(l),u=this.plugin.app.vault.getAbstractFileByPath(c);u?await this.plugin.app.fileManager.trashFile(u):l.endsWith("/")?await this.plugin.app.vault.adapter.rmdir(c,!0):await this.plugin.app.vault.adapter.remove(c)}}return this.plugin.app.workspace.trigger("obsidian-git:refresh"),{status:"discarded",target:a==="delete"?"all":"tracked"}});return t.status==="success"&&this.reportDiscardResult(t.value,e===void 0),t}reportDiscardResult(e,t){switch(e.status){case"discarded":if(!t||e.target==="file")return;this.plugin.displayMessage(e.target==="all"?"Discarded all files.":"Discarded all changes in tracked files.");return;case"cancelled":case"skipped":return}}async editRemotes(){let e=await this.runReadyGitAction(async()=>this.performEditRemotes());return e.status==="success"&&this.reportEditRemoteResult(e.value),e}async performEditRemotes(){let e=await this.plugin.gitManager.getRemotes(),t=await new ft(this.plugin,{options:e,placeholder:"Select or create a new remote by typing its name and selecting it"}).openAndGetResult();if(!t)return{status:"cancelled"};let n=await this.plugin.gitManager.getRemoteUrl(t),i=await new ft(this.plugin,{initialValue:n,placeholder:"Enter remote URL"}).openAndGetResult();return i?(await this.plugin.gitManager.setRemote(t,Jv(i)),{status:"updated",remote:t}):{status:"cancelled"}}reportEditRemoteResult(e){switch(e.status){case"updated":case"cancelled":case"skipped":return}}async selectRemoteBranch(){let e=await this.plugin.gitManager.getRemotes(),t;if(e.length===0){let s=await this.performEditRemotes();s.status==="updated"&&(t=s.remote),t==null&&(e=await this.plugin.gitManager.getRemotes())}let n=new ft(this.plugin,{options:e,placeholder:"Select or create a new remote by typing its name and selecting it"}),i=t!=null?t:await n.openAndGetResult();if(i){this.plugin.displayMessage("Fetching remote branches"),await this.plugin.gitManager.fetch(i);let s=await this.plugin.gitManager.getRemoteBranches(i),o=await new ft(this.plugin,{options:s,placeholder:"Select or create a new remote branch by typing its name and selecting it"}).openAndGetResult();return o==null?void 0:o.startsWith(i+"/")?o:`${i}/${o}`}}async removeRemote(){let e=await this.runReadyGitAction(async()=>{let t=await this.plugin.gitManager.getRemotes(),n=await new ft(this.plugin,{options:t,placeholder:"Select a remote"}).openAndGetResult();return n?(await this.plugin.gitManager.removeRemote(n),{status:"removed",remote:n}):{status:"cancelled"}});return e.status==="success"&&this.reportRemoveRemoteResult(e.value),e}reportRemoveRemoteResult(e){switch(e.status){case"removed":case"cancelled":case"skipped":return}}};var jm=class extends $t.Plugin{constructor(){super(...arguments);this.gitActions=new Hm(this);this.automaticsManager=new ef(this);this.tools=new mf(this);this.localStorage=new Ip(this);this.state={operation:0,offlineMode:!1,mergeInProgress:!1};this.gitReady=!1;this.repositoryMissing=!1;this.promiseQueue=new lh;this.intervalsToClear=[];this.editorIntegration=new Dm(this);this.hunkActions=new Cm(this);this.refresh=N$(()=>this.refreshNow())}setPluginState(t){var n;this.state=Object.assign(this.state,t),(n=this.statusBar)==null||n.display()}async updateCachedStatus(){var n;this.unpushedCommits=void 0,this.app.workspace.trigger("obsidian-git:loading-status"),this.cachedStatus=await this.gitManager.status();let t=await this.gitManager.isMergeInProgress();return this.setPluginState({mergeInProgress:t}),await((n=this.branchBar)==null?void 0:n.display()),this.app.workspace.trigger("obsidian-git:status-changed",this.cachedStatus),this.cachedStatus}getUnpushedCommits(){if(!this.unpushedCommits){let t=this.gitManager.getUnpushedCommits();this.unpushedCommits=t,t.catch(()=>{this.unpushedCommits===t&&(this.unpushedCommits=void 0)})}return this.unpushedCommits}async refreshNow(){if(!this.gitReady)return;this.unpushedCommits=void 0;let t=this.app.workspace.getLeavesOfType(fr.type),n=this.app.workspace.getLeavesOfType(jn.type);(this.settings.changedFilesInStatusBar||t.some(i=>{var s;return!((s=i.isDeferred)!=null&&s)})||n.some(i=>{var s;return!((s=i.isDeferred)!=null&&s)}))&&await this.updateCachedStatus().catch(i=>this.displayError(i)),this.app.workspace.trigger("obsidian-git:refreshed")}refreshUpdatedHead(){}async onload(){console.log("loading "+this.manifest.name+" plugin: v"+this.manifest.version),At.plugin=this,this.localStorage.migrate(),await this.loadSettings(),await this.migrateSettings(),this.settingsTab=new lp(this.app,this),this.addSettingTab(this.settingsTab),this.localStorage.getPluginDisabled()||(this.registerStuff(),this.app.workspace.onLayoutReady(()=>this.init({fromReload:!1}).catch(t=>this.displayError(t))))}onExternalSettingsChange(){this.reloadSettings().catch(t=>this.displayError(t))}async reloadSettings(){var i,s;let t=JSON.stringify(this.settings);await this.loadSettings();let n=JSON.stringify(this.settings);if(t!==n){this.log("Reloading settings"),this.unloadPlugin(),await this.init({fromReload:!0});for(let a of this.app.workspace.getLeavesOfType(fr.type))(i=a.isDeferred)!=null&&i||await a.view.reload();for(let a of this.app.workspace.getLeavesOfType(jn.type))(s=a.isDeferred)!=null&&s||await a.view.reload()}}registerStuff(){this.registerEvent(this.app.workspace.on("obsidian-git:refresh",()=>{this.refresh().catch(t=>this.displayError(t))})),this.registerEvent(this.app.workspace.on("obsidian-git:head-change",()=>{this.refreshUpdatedHead()})),this.registerEvent(this.app.workspace.on("file-menu",(t,n,i)=>{this.handleFileMenu(t,n,i,"file-manu")})),this.registerEvent(this.app.workspace.on("obsidian-git:menu",(t,n,i)=>{this.handleFileMenu(t,n,i,"obsidian-git:menu")})),this.registerEvent(this.app.workspace.on("active-leaf-change",t=>{this.onActiveLeafChange(t)})),this.registerEvent(this.app.vault.on("modify",()=>{var t;this.debRefresh(),(t=this.autoCommitDebouncer)==null||t.call(this)})),this.registerEvent(this.app.vault.on("delete",()=>{var t;this.debRefresh(),(t=this.autoCommitDebouncer)==null||t.call(this)})),this.registerEvent(this.app.vault.on("create",()=>{var t;this.debRefresh(),(t=this.autoCommitDebouncer)==null||t.call(this)})),this.registerEvent(this.app.vault.on("rename",()=>{var t;this.debRefresh(),(t=this.autoCommitDebouncer)==null||t.call(this)})),this.registerView(fr.type,t=>new Xf(t,this)),this.registerView(jn.type,t=>new zf(t,this)),this.registerView(aa.type,t=>new Vf(t,this)),this.registerView(la.type,t=>new mo(t,this)),this.registerView(oa.type,t=>new go(t,this)),this.addRibbonIcon("git-pull-request","Open Git source control",async()=>{var i;let t=this.app.workspace.getLeavesOfType(fr.type),n;t.length===0?(n=(i=this.app.workspace.getRightLeaf(!1))!=null?i:this.app.workspace.getLeaf(),await n.setViewState({type:fr.type})):n=t.first(),await this.app.workspace.revealLeaf(n)}),this.registerHoverLinkSource(fr.type,{display:"Git View",defaultMod:!0}),this.editorIntegration.onLoadPlugin(),this.setRefreshDebouncer(),NR(this)}setRefreshDebouncer(){var t;(t=this.debRefresh)==null||t.cancel(),this.debRefresh=(0,$t.debounce)(()=>{this.settings.refreshSourceControl&&this.refresh().catch(console.error)},this.settings.refreshSourceControlTimer,!0)}handleFileMenu(t,n,i,s){if(!this.gitReady||!this.settings.showFileMenu||!n)return;let a;if(typeof n=="string"?a=n:a=n.path,i=="file-explorer-context-menu"&&(t.addItem(o=>{o.setTitle("Git: Stage").setIcon("plus-circle").setSection("action").onClick(l=>{this.promiseQueue.addTask(async()=>{n instanceof $t.TFile?await this.gitActions.stageFile(n):await this.gitActions.stageAll(this.gitManager.getRelativeRepoPath(a,!0))})})}),t.addItem(o=>{o.setTitle("Git: Unstage").setIcon("minus-circle").setSection("action").onClick(l=>{this.promiseQueue.addTask(async()=>{n instanceof $t.TFile?await this.gitActions.unstageFile(n):await this.gitActions.unstageAll(this.gitManager.getRelativeRepoPath(a,!0))})})}),t.addItem(o=>{o.setTitle("Git: Add to .gitignore").setIcon("file-x").setSection("action").onClick(l=>{this.promiseQueue.addTask(()=>this.gitActions.addFileToGitignore(a,n instanceof $t.TFolder))})})),i=="git-source-control"){t.addItem(l=>{l.setTitle("Git: Add to .gitignore").setIcon("file-x").setSection("action").onClick(c=>{this.promiseQueue.addTask(()=>this.gitActions.addFileToGitignore(a,n instanceof $t.TFolder))})});let o=this.app.vault.adapter;s==="obsidian-git:menu"&&o instanceof $t.FileSystemAdapter&&(t.addItem(l=>{l.setTitle("Open in default app").setIcon("arrow-up-right").setSection("action").onClick(c=>{this.app.openWithDefaultApp(a)})}),t.addItem(l=>{l.setTitle("Show in system explorer").setIcon("arrow-up-right").setSection("action").onClick(c=>{window.electron.shell.showItemInFolder(tI.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 t,n;this.gitReady=!1,this.repositoryMissing=!1,this.app.workspace.trigger("obsidian-git:repository-state-changed"),this.editorIntegration.onUnloadPlugin(),this.automaticsManager.unload(),(t=this.branchBar)==null||t.remove(),(n=this.statusBar)==null||n.remove(),this.statusBar=void 0,this.branchBar=void 0,this.gitManager.unload(),this.promiseQueue.clear();for(let i of this.intervalsToClear)window.clearInterval(i);this.intervalsToClear=[],this.debRefresh.cancel()}onunload(){this.unloadPlugin(),console.log("unloading "+this.manifest.name+" plugin")}async loadSettings(){let t=await this.loadData();t==null&&(t={showedMobileNotice:!0}),this.settings=zC(Yr,t)}async saveSettings(){var t;(t=this.settingsTab)==null||t.beforeSaveSettings(),await this.saveData(this.settings)}get useSimpleGit(){return $t.Platform.isDesktopApp}async init({fromReload:t=!1}){var n;if(!this.localStorage.getPluginDisabled()){if(this.gitReady=!1,this.repositoryMissing=!1,this.app.workspace.trigger("obsidian-git:repository-state-changed"),this.settings.showStatusBar&&!this.statusBar){let i=this.addStatusBarItem();this.statusBar=new cp(i,this),this.intervalsToClear.push(window.setInterval(()=>{var s;return(s=this.statusBar)==null?void 0:s.display()},1e3))}try{this.useSimpleGit?(this.gitManager=new Me(this),await this.gitManager.setGitInstance()):this.gitManager=new ws(this);let i=await this.gitManager.checkRequirements();this.repositoryMissing=i==="missing-repo",i==="valid"&&(this.gitReady=!0),this.app.workspace.trigger("obsidian-git:repository-state-changed");let s=this.localStorage.getPausedAutomatics();switch(i){case"missing-git":this.displayError(`Cannot run git command. Trying to run: '${this.localStorage.getGitPath()||"git"}' .`);break;case"missing-repo":new $t.Notice("Cannot find a Git repository. Please create one via the given command, clone an existing repo or configure repo location.",1e4);break;case"valid":if($t.Platform.isDesktop&&this.settings.showBranchStatusBar&&!this.branchBar){let a=this.addStatusBarItem();this.branchBar=new km(a,this),this.intervalsToClear.push(window.setInterval(()=>{var o;(o=this.branchBar)==null?void 0:o.display().catch(console.error)},6e4))}await((n=this.branchBar)==null?void 0:n.display()),this.editorIntegration.onReady(),this.app.workspace.trigger("obsidian-git:refresh"),this.app.workspace.trigger("obsidian-git:head-change"),!t&&this.settings.autoPullOnBoot&&!s&&this.promiseQueue.addTask(()=>this.gitActions.pullChangesFromRemote()),s||await this.automaticsManager.init(),s&&new $t.Notice("Automatic routines are currently paused.");break;default:this.log("Something weird happened. The 'checkRequirements' result is "+String(i))}}catch(i){this.displayError(i),console.error(i)}}}async isAllInitialized(){return this.gitReady||await this.init({fromReload:!0}),this.gitReady}async changeGitPath(t){return Ai(this,async()=>{this.localStorage.setGitPath(t),await this.gitManager.updateGitPath(t||"git")})}async reloadGitManager(){return Ai(this,async()=>{if(!(this.gitManager instanceof Me))throw new Error("Reloading native Git is only supported on desktop");await this.gitManager.setGitInstance()})}async changeBasePath(t){return Ai(this,async()=>{this.settings.basePath=t,await this.saveSettings(),await this.gitManager.updateBasePath(t)})}handleConflict(t){let n=t.length;this.displayError(n>0?`Merge conflict in ${n} ${n==1?"file":"files"}. Resolve conflicts and commit manually.`:"Merge conflict. Resolve conflicts and commit manually.")}openMergeConflictHelp(){new xm(this).open()}onActiveLeafChange(t){var a,o;let n=t==null?void 0:t.view;if(!(n!=null&&n.getState().file)&&!(n instanceof mo||n instanceof go))return;let i=this.app.workspace.getLeavesOfType(fr.type).first(),s=this.app.workspace.getLeavesOfType(jn.type).first();if((a=i==null?void 0:i.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"),(t==null?void 0:t.view)instanceof mo||(t==null?void 0:t.view)instanceof go){let c=t.view.state.bFile.replace(/["\\]/g,"\\$&");this.lastDiffViewState=t.view.getState();let u;i&&t.view.state.aRef=="HEAD"?u=i.view.containerEl.querySelector(`div.staged div.tree-item-self[data-path="${c}"]`):i&&t.view.state.aRef==""?u=i.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(t){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(t,n=4*1e3){var i;(i=this.statusBar)==null||i.displayMessage(t.toLowerCase(),n),this.settings.disablePopups||(!this.settings.disablePopupsForNoChanges||!t.startsWith("No changes"))&&new $t.Notice(t,5*1e3),this.log(t)}displayError(t,n=10*1e3){var s;if(t instanceof Gn.UserCanceledError){new $t.Notice("Aborted");return}let i;t instanceof Error?i=t:i=new Error(String(t)),this.settings.showErrorNotices&&new $t.Notice(i.message,n),console.error(`${this.manifest.id}:`,i.stack),(s=this.statusBar)==null||s.displayMessage(i.message.toLowerCase(),n)}log(...t){console.log(`${this.manifest.id}:`,...t)}};
|
|
/*! Bundled license information:
|
|
|
|
ieee754/index.js:
|
|
(*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> *)
|
|
|
|
buffer/index.js:
|
|
(*!
|
|
* The buffer module from node.js, for the browser.
|
|
*
|
|
* @author Feross Aboukhadijeh <https://feross.org>
|
|
* @license MIT
|
|
*)
|
|
|
|
safe-buffer/index.js:
|
|
(*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *)
|
|
|
|
crc-32/crc32.js:
|
|
(*! crc32.js (C) 2014-present SheetJS -- http://sheetjs.com *)
|
|
|
|
isomorphic-git/index.js:
|
|
isomorphic-git/managers/index.js:
|
|
isomorphic-git/models/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.
|
|
*)
|
|
*/
|
|
|
|
/* nosourcemap */ |