code-server
Version:
Run VS Code on a remote server.
136 lines • 757 kB
JavaScript
"use strict";var CI=Object.create;var qu=Object.defineProperty;var sE=Object.getOwnPropertyDescriptor;var wI=Object.getOwnPropertyNames;var EI=Object.getPrototypeOf,DI=Object.prototype.hasOwnProperty;var V=(i,e,t)=>()=>{if(t)throw t[0];try{return i&&(e=i(i=0)),e}catch(r){throw t=[r],r}};var Tt=(i,e)=>()=>{try{return e||i((e={exports:{}}).exports,e),e.exports}catch(t){throw e=0,t}},sl=(i,e)=>{for(var t in e)qu(i,t,{get:e[t],enumerable:!0})},cE=(i,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of wI(e))!DI.call(i,n)&&n!==t&&qu(i,n,{get:()=>e[n],enumerable:!(r=sE(e,n))||r.enumerable});return i};var tt=(i,e,t)=>(t=i!=null?CI(EI(i)):{},cE(e||!i||!i.__esModule?qu(t,"default",{value:i,enumerable:!0}):t,i)),cl=i=>cE(qu({},"__esModule",{value:!0}),i),D=(i,e,t,r)=>{for(var n=r>1?void 0:r?sE(e,t):e,o=i.length-1,a;o>=0;o--)(a=i[o])&&(n=(r?a(e,t,n):a(n))||n);return r&&n&&qu(e,t,n),n};var uE=Tt(ll=>{"use strict";Object.defineProperty(ll,"__esModule",{value:!0});ll.sync=ll.isexe=void 0;var RI=require("fs"),SI=require("fs/promises"),xI=async(i,e={})=>{let{ignoreErrors:t=!1}=e;try{return lE(await(0,SI.stat)(i),e)}catch(r){let n=r;if(t||n.code==="EACCES")return!1;throw n}};ll.isexe=xI;var PI=(i,e={})=>{let{ignoreErrors:t=!1}=e;try{return lE((0,RI.statSync)(i),e)}catch(r){let n=r;if(t||n.code==="EACCES")return!1;throw n}};ll.sync=PI;var lE=(i,e)=>i.isFile()&&TI(i,e),TI=(i,e)=>{let t=e.uid??process.getuid?.(),r=e.groups??process.getgroups?.()??[],n=e.gid??process.getgid?.()??r[0];if(t===void 0||n===void 0)throw new Error("cannot get uid or gid");let o=new Set([n,...r]),a=i.mode,s=i.uid,c=i.gid,l=parseInt("100",8),u=parseInt("010",8),f=parseInt("001",8),m=l|u;return!!(a&f||a&u&&o.has(c)||a&l&&s===t||a&m&&t===0)}});var fE=Tt(ul=>{"use strict";Object.defineProperty(ul,"__esModule",{value:!0});ul.sync=ul.isexe=void 0;var II=require("fs"),AI=require("fs/promises"),kI=async(i,e={})=>{let{ignoreErrors:t=!1}=e;try{return dE(await(0,AI.stat)(i),i,e)}catch(r){let n=r;if(t||n.code==="EACCES")return!1;throw n}};ul.isexe=kI;var NI=(i,e={})=>{let{ignoreErrors:t=!1}=e;try{return dE((0,II.statSync)(i),i,e)}catch(r){let n=r;if(t||n.code==="EACCES")return!1;throw n}};ul.sync=NI;var OI=(i,e)=>{let{pathExt:t=process.env.PATHEXT||""}=e,r=t.split(";");if(r.indexOf("")!==-1)return!0;for(let n=0;n<r.length;n++){let o=r[n].toLowerCase(),a=i.substring(i.length-o.length).toLowerCase();if(o&&a===o)return!0}return!1},dE=(i,e,t)=>i.isFile()&&OI(e,t)});var pE=Tt(mE=>{"use strict";Object.defineProperty(mE,"__esModule",{value:!0})});var bE=Tt(br=>{"use strict";var hE=br&&br.__createBinding||(Object.create?(function(i,e,t,r){r===void 0&&(r=t);var n=Object.getOwnPropertyDescriptor(e,t);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(i,r,n)}):(function(i,e,t,r){r===void 0&&(r=t),i[r]=e[t]})),MI=br&&br.__setModuleDefault||(Object.create?(function(i,e){Object.defineProperty(i,"default",{enumerable:!0,value:e})}):function(i,e){i.default=e}),gE=br&&br.__importStar||function(i){if(i&&i.__esModule)return i;var e={};if(i!=null)for(var t in i)t!=="default"&&Object.prototype.hasOwnProperty.call(i,t)&&hE(e,i,t);return MI(e,i),e},LI=br&&br.__exportStar||function(i,e){for(var t in i)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&hE(e,i,t)};Object.defineProperty(br,"__esModule",{value:!0});br.sync=br.isexe=br.posix=br.win32=void 0;var yE=gE(uE());br.posix=yE;var vE=gE(fE());br.win32=vE;LI(pE(),br);var BI=process.env._ISEXE_TEST_PLATFORM_||process.platform,_E=BI==="win32"?vE:yE;br.isexe=_E.isexe;br.sync=_E.sync});var IE=Tt((fF,TE)=>{var{isexe:FI,sync:GI}=bE(),{join:HI,delimiter:UI,sep:CE,posix:wE}=require("path"),EE=process.platform==="win32",DE=new RegExp(`[${wE.sep}${CE===wE.sep?"":CE}]`.replace(/(\\)/g,"\\$1")),WI=new RegExp(`^\\.${DE.source}`),RE=i=>Object.assign(new Error(`not found: ${i}`),{code:"ENOENT"}),SE=(i,{path:e=process.env.PATH,pathExt:t=process.env.PATHEXT,delimiter:r=UI})=>{let n=i.match(DE)?[""]:[...EE?[process.cwd()]:[],...(e||"").split(r)];if(EE){let o=t||[".EXE",".CMD",".BAT",".COM"].join(r),a=o.split(r).flatMap(s=>[s,s.toLowerCase()]);return i.includes(".")&&a[0]!==""&&a.unshift(""),{pathEnv:n,pathExt:a,pathExtExe:o}}return{pathEnv:n,pathExt:[""]}},xE=(i,e)=>{let t=/^".*"$/.test(i)?i.slice(1,-1):i;return(!t&&WI.test(e)?e.slice(0,2):"")+HI(t,e)},PE=async(i,e={})=>{let{pathEnv:t,pathExt:r,pathExtExe:n}=SE(i,e),o=[];for(let a of t){let s=xE(a,i);for(let c of r){let l=s+c;if(await FI(l,{pathExt:n,ignoreErrors:!0})){if(!e.all)return l;o.push(l)}}}if(e.all&&o.length)return o;if(e.nothrow)return null;throw RE(i)},YI=(i,e={})=>{let{pathEnv:t,pathExt:r,pathExtExe:n}=SE(i,e),o=[];for(let a of t){let s=xE(a,i);for(let c of r){let l=s+c;if(GI(l,{pathExt:n,ignoreErrors:!0})){if(!e.all)return l;o.push(l)}}}if(e.all&&o.length)return o;if(e.nothrow)return null;throw RE(i)};TE.exports=PE;PE.sync=YI});var OE=Tt(Oy=>{Oy.read=function(i,e,t,r,n){var o,a,s=n*8-r-1,c=(1<<s)-1,l=c>>1,u=-7,f=t?n-1:0,m=t?-1:1,h=i[e+f];for(f+=m,o=h&(1<<-u)-1,h>>=-u,u+=s;u>0;o=o*256+i[e+f],f+=m,u-=8);for(a=o&(1<<-u)-1,o>>=-u,u+=r;u>0;a=a*256+i[e+f],f+=m,u-=8);if(o===0)o=1-l;else{if(o===c)return a?NaN:(h?-1:1)*(1/0);a=a+Math.pow(2,r),o=o-l}return(h?-1:1)*a*Math.pow(2,o-r)};Oy.write=function(i,e,t,r,n,o){var a,s,c,l=o*8-n-1,u=(1<<l)-1,f=u>>1,m=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:o-1,p=r?1:-1,_=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=u):(a=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-a))<1&&(a--,c*=2),a+f>=1?e+=m/c:e+=m*Math.pow(2,1-f),e*c>=2&&(a++,c/=2),a+f>=u?(s=0,a=u):a+f>=1?(s=(e*c-1)*Math.pow(2,n),a=a+f):(s=e*Math.pow(2,f-1)*Math.pow(2,n),a=0));n>=8;i[t+h]=s&255,h+=p,s/=256,n-=8);for(a=a<<n|s,l+=n;l>0;i[t+h]=a&255,h+=p,a/=256,l-=8);i[t+h-p]|=_*128}});var WE=Tt((fG,UE)=>{var fl=1e3,ml=fl*60,pl=ml*60,Ns=pl*24,nA=Ns*7,oA=Ns*365.25;UE.exports=function(i,e){e=e||{};var t=typeof i;if(t==="string"&&i.length>0)return aA(i);if(t==="number"&&isFinite(i))return e.long?cA(i):sA(i);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(i))};function aA(i){if(i=String(i),!(i.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(i);if(e){var t=parseFloat(e[1]),r=(e[2]||"ms").toLowerCase();switch(r){case"years":case"year":case"yrs":case"yr":case"y":return t*oA;case"weeks":case"week":case"w":return t*nA;case"days":case"day":case"d":return t*Ns;case"hours":case"hour":case"hrs":case"hr":case"h":return t*pl;case"minutes":case"minute":case"mins":case"min":case"m":return t*ml;case"seconds":case"second":case"secs":case"sec":case"s":return t*fl;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function sA(i){var e=Math.abs(i);return e>=Ns?Math.round(i/Ns)+"d":e>=pl?Math.round(i/pl)+"h":e>=ml?Math.round(i/ml)+"m":e>=fl?Math.round(i/fl)+"s":i+"ms"}function cA(i){var e=Math.abs(i);return e>=Ns?pm(i,e,Ns,"day"):e>=pl?pm(i,e,pl,"hour"):e>=ml?pm(i,e,ml,"minute"):e>=fl?pm(i,e,fl,"second"):i+" ms"}function pm(i,e,t,r){var n=e>=t*1.5;return Math.round(i/t)+" "+r+(n?"s":"")}});var Ly=Tt((mG,YE)=>{function lA(i){t.debug=t,t.default=t,t.coerce=c,t.disable=a,t.enable=n,t.enabled=s,t.humanize=WE(),t.destroy=l,Object.keys(i).forEach(u=>{t[u]=i[u]}),t.names=[],t.skips=[],t.formatters={};function e(u){let f=0;for(let m=0;m<u.length;m++)f=(f<<5)-f+u.charCodeAt(m),f|=0;return t.colors[Math.abs(f)%t.colors.length]}t.selectColor=e;function t(u){let f,m=null,h,p;function _(...b){if(!_.enabled)return;let S=_,E=Number(new Date),R=E-(f||E);S.diff=R,S.prev=f,S.curr=E,f=E,b[0]=t.coerce(b[0]),typeof b[0]!="string"&&b.unshift("%O");let P=0;b[0]=b[0].replace(/%([a-zA-Z%])/g,(Y,$)=>{if(Y==="%%")return"%";P++;let G=t.formatters[$];if(typeof G=="function"){let W=b[P];Y=G.call(S,W),b.splice(P,1),P--}return Y}),t.formatArgs.call(S,b),(S.log||t.log).apply(S,b)}return _.namespace=u,_.useColors=t.useColors(),_.color=t.selectColor(u),_.extend=r,_.destroy=t.destroy,Object.defineProperty(_,"enabled",{enumerable:!0,configurable:!1,get:()=>m!==null?m:(h!==t.namespaces&&(h=t.namespaces,p=t.enabled(u)),p),set:b=>{m=b}}),typeof t.init=="function"&&t.init(_),_}function r(u,f){let m=t(this.namespace+(typeof f>"u"?":":f)+u);return m.log=this.log,m}function n(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 m of f)m[0]==="-"?t.skips.push(m.slice(1)):t.names.push(m)}function o(u,f){let m=0,h=0,p=-1,_=0;for(;m<u.length;)if(h<f.length&&(f[h]===u[m]||f[h]==="*"))f[h]==="*"?(p=h,_=m,h++):(m++,h++);else if(p!==-1)h=p+1,_++,m=_;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 s(u){for(let f of t.skips)if(o(u,f))return!1;for(let f of t.names)if(o(u,f))return!0;return!1}function c(u){return u instanceof Error?u.stack||u.message:u}function l(){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}YE.exports=lA});var $E=Tt((wi,hm)=>{wi.formatArgs=dA;wi.save=fA;wi.load=mA;wi.useColors=uA;wi.storage=pA();wi.destroy=(()=>{let i=!1;return()=>{i||(i=!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`."))}})();wi.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 uA(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let i;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(i=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(i[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function dA(i){if(i[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+i[0]+(this.useColors?"%c ":" ")+"+"+hm.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;i.splice(1,0,e,"color: inherit");let t=0,r=0;i[0].replace(/%[a-zA-Z%]/g,n=>{n!=="%%"&&(t++,n==="%c"&&(r=t))}),i.splice(r,0,e)}wi.log=console.debug||console.log||(()=>{});function fA(i){try{i?wi.storage.setItem("debug",i):wi.storage.removeItem("debug")}catch{}}function mA(){let i;try{i=wi.storage.getItem("debug")||wi.storage.getItem("DEBUG")}catch{}return!i&&typeof process<"u"&&"env"in process&&(i=process.env.DEBUG),i}function pA(){try{return localStorage}catch{}}hm.exports=Ly()(wi);var{formatters:hA}=hm.exports;hA.j=function(i){try{return JSON.stringify(i)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var jE={};sl(jE,{createSupportsColor:()=>Fy,default:()=>bA});function on(i,e=globalThis.Deno?globalThis.Deno.args:ym.default.argv){let t=i.startsWith("-")?"":i.length===1?"-":"--",r=e.indexOf(t+i),n=e.indexOf("--");return r!==-1&&(n===-1||r<n)}function gA(){if("FORCE_COLOR"in Ut)return Ut.FORCE_COLOR==="true"?1:Ut.FORCE_COLOR==="false"?0:Ut.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(Ut.FORCE_COLOR,10),3)}function yA(i){return i===0?!1:{level:i,hasBasic:!0,has256:i>=2,has16m:i>=3}}function vA(i,{streamIsTTY:e,sniffFlags:t=!0}={}){let r=gA();r!==void 0&&(gm=r);let n=t?gm:r;if(n===0)return 0;if(t){if(on("color=16m")||on("color=full")||on("color=truecolor"))return 3;if(on("color=256"))return 2}if("TF_BUILD"in Ut&&"AGENT_NAME"in Ut)return 1;if(i&&!e&&n===void 0)return 0;let o=n||0;if(Ut.TERM==="dumb")return o;if(ym.default.platform==="win32"){let a=KE.default.release().split(".");return Number(a[0])>=10&&Number(a[2])>=10586?Number(a[2])>=14931?3:2:1}if("CI"in Ut)return"GITHUB_ACTIONS"in Ut||"GITEA_ACTIONS"in Ut?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(a=>a in Ut)||Ut.CI_NAME==="codeship"?1:o;if("TEAMCITY_VERSION"in Ut)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ut.TEAMCITY_VERSION)?1:0;if(Ut.COLORTERM==="truecolor"||Ut.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in Ut){let a=Number.parseInt((Ut.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ut.TERM_PROGRAM){case"iTerm.app":return a>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Ut.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ut.TERM)||"COLORTERM"in Ut?1:o}function Fy(i,e={}){let t=vA(i,{streamIsTTY:i&&i.isTTY,...e});return yA(t)}var ym,KE,By,Ut,gm,_A,bA,zE=V(()=>{ym=tt(require("node:process"),1),KE=tt(require("node:os"),1),By=tt(require("node:tty"),1);({env:Ut}=ym.default);on("no-color")||on("no-colors")||on("color=false")||on("color=never")?gm=0:(on("color")||on("colors")||on("color=true")||on("color=always"))&&(gm=1);_A={stdout:Fy({isTTY:By.default.isatty(1)}),stderr:Fy({isTTY:By.default.isatty(2)})},bA=_A});var JE=Tt((Ir,_m)=>{var CA=require("tty"),vm=require("util");Ir.init=PA;Ir.log=RA;Ir.formatArgs=EA;Ir.save=SA;Ir.load=xA;Ir.useColors=wA;Ir.destroy=vm.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Ir.colors=[6,2,3,4,5,1];try{let i=(zE(),cl(jE));i&&(i.stderr||i).level>=2&&(Ir.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}Ir.inspectOpts=Object.keys(process.env).filter(i=>/^debug_/i.test(i)).reduce((i,e)=>{let t=e.substring(6).toLowerCase().replace(/_([a-z])/g,(n,o)=>o.toUpperCase()),r=process.env[e];return/^(yes|on|true|enabled)$/i.test(r)?r=!0:/^(no|off|false|disabled)$/i.test(r)?r=!1:r==="null"?r=null:r=Number(r),i[t]=r,i},{});function wA(){return"colors"in Ir.inspectOpts?!!Ir.inspectOpts.colors:CA.isatty(process.stderr.fd)}function EA(i){let{namespace:e,useColors:t}=this;if(t){let r=this.color,n="\x1B[3"+(r<8?r:"8;5;"+r),o=` ${n};1m${e} \x1B[0m`;i[0]=o+i[0].split(`
`).join(`
`+o),i.push(n+"m+"+_m.exports.humanize(this.diff)+"\x1B[0m")}else i[0]=DA()+e+" "+i[0]}function DA(){return Ir.inspectOpts.hideDate?"":new Date().toISOString()+" "}function RA(...i){return process.stderr.write(vm.formatWithOptions(Ir.inspectOpts,...i)+`
`)}function SA(i){i?process.env.DEBUG=i:delete process.env.DEBUG}function xA(){return process.env.DEBUG}function PA(i){i.inspectOpts={};let e=Object.keys(Ir.inspectOpts);for(let t=0;t<e.length;t++)i.inspectOpts[e[t]]=Ir.inspectOpts[e[t]]}_m.exports=Ly()(Ir);var{formatters:VE}=_m.exports;VE.o=function(i){return this.inspectOpts.colors=this.useColors,vm.inspect(i,this.inspectOpts).split(`
`).map(e=>e.trim()).join(" ")};VE.O=function(i){return this.inspectOpts.colors=this.useColors,vm.inspect(i,this.inspectOpts)}});var qE=Tt((pG,Gy)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Gy.exports=$E():Gy.exports=JE()});var Jy=Tt((UG,hl)=>{var Vy=require("stream"),ak=require("util"),sk=require("timers");hl.exports=function(i,e){return hl.exports.createStream(i,e)};hl.exports.createStream=function(i,e){return i?_D(i,e):new xa(e)};hl.exports.createLineStream=function(i){return console.log("WARNING: byline#createLineStream is deprecated and will be removed soon"),_D(i)};function _D(i,e){if(!i)throw new Error("expected readStream");if(!i.readable)throw new Error("readStream must be readable");var t=new xa(e);return i.pipe(t),t}hl.exports.LineStream=xa;function xa(i){Vy.Transform.call(this,i),i=i||{},this._readableState.objectMode=!0,this._lineBuffer=[],this._keepEmptyLines=i.keepEmptyLines||!1,this._lastChunkEndedWithCR=!1;var e=this;this.on("pipe",function(t){e.encoding||t instanceof Vy.Readable&&(e.encoding=t._readableState.encoding)})}ak.inherits(xa,Vy.Transform);xa.prototype._transform=function(i,e,t){e=e||"utf8",Buffer.isBuffer(i)&&(e=="buffer"?(i=i.toString(),e="utf8"):i=i.toString(e)),this._chunkEncoding=e;var r=i.split(/\r\n|[\n\v\f\r\x85\u2028\u2029]/g);this._lastChunkEndedWithCR&&i[0]==`
`&&r.shift(),this._lineBuffer.length>0&&(this._lineBuffer[this._lineBuffer.length-1]+=r[0],r.shift()),this._lastChunkEndedWithCR=i[i.length-1]=="\r",this._lineBuffer=this._lineBuffer.concat(r),this._pushBuffer(e,1,t)};xa.prototype._pushBuffer=function(i,e,t){for(;this._lineBuffer.length>e;){var r=this._lineBuffer.shift();if((this._keepEmptyLines||r.length>0)&&!this.push(this._reencode(r,i))){var n=this;sk.setImmediate(function(){n._pushBuffer(i,e,t)});return}}t()};xa.prototype._flush=function(i){this._pushBuffer(this._chunkEncoding,0,i)};xa.prototype._reencode=function(i,e){return this.encoding&&this.encoding!=e?new Buffer(i,e).toString(this.encoding):this.encoding?i:new Buffer(i,e)}});var cd=Tt((sH,rR)=>{"use strict";var Sk=require("path"),Jn="\\\\/",XD=`[^${Jn}]`,xk=0,Uo="\\.",Pk="\\+",Tk="\\?",Mm="\\/",Ik="(?=.)",ZD="[^/]",fv=`(?:${Mm}|$)`,eR=`(?:^|${Mm})`,mv=`${Uo}{1,2}${fv}`,Ak=`(?!${Uo})`,kk=`(?!${eR}${mv})`,Nk=`(?!${Uo}{0,1}${fv})`,Ok=`(?!${mv})`,Mk=`[^.${Mm}]`,Lk=`${ZD}*?`,tR={DOT_LITERAL:Uo,PLUS_LITERAL:Pk,QMARK_LITERAL:Tk,SLASH_LITERAL:Mm,ONE_CHAR:Ik,QMARK:ZD,END_ANCHOR:fv,DOTS_SLASH:mv,NO_DOT:Ak,NO_DOTS:kk,NO_DOT_SLASH:Nk,NO_DOTS_SLASH:Ok,QMARK_NO_DOT:Mk,STAR:Lk,START_ANCHOR:eR},Bk={...tR,SLASH_LITERAL:`[${Jn}]`,QMARK:XD,STAR:`${XD}*?`,DOTS_SLASH:`${Uo}{1,2}(?:[${Jn}]|$)`,NO_DOT:`(?!${Uo})`,NO_DOTS:`(?!(?:^|[${Jn}])${Uo}{1,2}(?:[${Jn}]|$))`,NO_DOT_SLASH:`(?!${Uo}{0,1}(?:[${Jn}]|$))`,NO_DOTS_SLASH:`(?!${Uo}{1,2}(?:[${Jn}]|$))`,QMARK_NO_DOT:`[^.${Jn}]`,START_ANCHOR:`(?:^|[${Jn}])`,END_ANCHOR:`(?:[${Jn}]|$)`},Fk={__proto__:null,alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};rR.exports={DEFAULT_MAX_EXTGLOB_RECURSION:xk,MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:Fk,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{__proto__:null,"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:Sk.sep,extglobChars(i){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${i.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(i){return i===!0?Bk:tR}}});var Lm=Tt(Di=>{"use strict";var Gk=require("path"),Hk=process.platform==="win32",{REGEX_BACKSLASH:Uk,REGEX_REMOVE_BACKSLASH:Wk,REGEX_SPECIAL_CHARS:Yk,REGEX_SPECIAL_CHARS_GLOBAL:$k}=cd();Di.isObject=i=>i!==null&&typeof i=="object"&&!Array.isArray(i);Di.hasRegexChars=i=>Yk.test(i);Di.isRegexChar=i=>i.length===1&&Di.hasRegexChars(i);Di.escapeRegex=i=>i.replace($k,"\\$1");Di.toPosixSlashes=i=>i.replace(Uk,"/");Di.removeBackslashes=i=>i.replace(Wk,e=>e==="\\"?"":e);Di.supportsLookbehinds=()=>{let i=process.version.slice(1).split(".").map(Number);return i.length===3&&i[0]>=9||i[0]===8&&i[1]>=10};Di.isWindows=i=>i&&typeof i.windows=="boolean"?i.windows:Hk===!0||Gk.sep==="\\";Di.escapeLast=(i,e,t)=>{let r=i.lastIndexOf(e,t);return r===-1?i:i[r-1]==="\\"?Di.escapeLast(i,e,r-1):`${i.slice(0,r)}\\${i.slice(r)}`};Di.removePrefix=(i,e={})=>{let t=i;return t.startsWith("./")&&(t=t.slice(2),e.prefix="./"),t};Di.wrapOutput=(i,e={},t={})=>{let r=t.contains?"":"^",n=t.contains?"":"$",o=`${r}(?:${i})${n}`;return e.negated===!0&&(o=`(?:^(?!${o}).*$)`),o}});var uR=Tt((lH,lR)=>{"use strict";var iR=Lm(),{CHAR_ASTERISK:pv,CHAR_AT:Kk,CHAR_BACKWARD_SLASH:ld,CHAR_COMMA:jk,CHAR_DOT:hv,CHAR_EXCLAMATION_MARK:gv,CHAR_FORWARD_SLASH:cR,CHAR_LEFT_CURLY_BRACE:yv,CHAR_LEFT_PARENTHESES:vv,CHAR_LEFT_SQUARE_BRACKET:zk,CHAR_PLUS:Vk,CHAR_QUESTION_MARK:nR,CHAR_RIGHT_CURLY_BRACE:Jk,CHAR_RIGHT_PARENTHESES:oR,CHAR_RIGHT_SQUARE_BRACKET:qk}=cd(),aR=i=>i===cR||i===ld,sR=i=>{i.isPrefix!==!0&&(i.depth=i.isGlobstar?1/0:1)},Qk=(i,e)=>{let t=e||{},r=i.length-1,n=t.parts===!0||t.scanToEnd===!0,o=[],a=[],s=[],c=i,l=-1,u=0,f=0,m=!1,h=!1,p=!1,_=!1,b=!1,S=!1,E=!1,R=!1,P=!1,L=!1,Y=0,$,G,W={value:"",depth:0,isGlob:!1},H=()=>l>=r,T=()=>c.charCodeAt(l+1),ee=()=>($=G,c.charCodeAt(++l));for(;l<r;){G=ee();let Z;if(G===ld){E=W.backslashes=!0,G=ee(),G===yv&&(S=!0);continue}if(S===!0||G===yv){for(Y++;H()!==!0&&(G=ee());){if(G===ld){E=W.backslashes=!0,ee();continue}if(G===yv){Y++;continue}if(S!==!0&&G===hv&&(G=ee())===hv){if(m=W.isBrace=!0,p=W.isGlob=!0,L=!0,n===!0)continue;break}if(S!==!0&&G===jk){if(m=W.isBrace=!0,p=W.isGlob=!0,L=!0,n===!0)continue;break}if(G===Jk&&(Y--,Y===0)){S=!1,m=W.isBrace=!0,L=!0;break}}if(n===!0)continue;break}if(G===cR){if(o.push(l),a.push(W),W={value:"",depth:0,isGlob:!1},L===!0)continue;if($===hv&&l===u+1){u+=2;continue}f=l+1;continue}if(t.noext!==!0&&(G===Vk||G===Kk||G===pv||G===nR||G===gv)===!0&&T()===vv){if(p=W.isGlob=!0,_=W.isExtglob=!0,L=!0,G===gv&&l===u&&(P=!0),n===!0){for(;H()!==!0&&(G=ee());){if(G===ld){E=W.backslashes=!0,G=ee();continue}if(G===oR){p=W.isGlob=!0,L=!0;break}}continue}break}if(G===pv){if($===pv&&(b=W.isGlobstar=!0),p=W.isGlob=!0,L=!0,n===!0)continue;break}if(G===nR){if(p=W.isGlob=!0,L=!0,n===!0)continue;break}if(G===zk){for(;H()!==!0&&(Z=ee());){if(Z===ld){E=W.backslashes=!0,ee();continue}if(Z===qk){h=W.isBracket=!0,p=W.isGlob=!0,L=!0;break}}if(n===!0)continue;break}if(t.nonegate!==!0&&G===gv&&l===u){R=W.negated=!0,u++;continue}if(t.noparen!==!0&&G===vv){if(p=W.isGlob=!0,n===!0){for(;H()!==!0&&(G=ee());){if(G===vv){E=W.backslashes=!0,G=ee();continue}if(G===oR){L=!0;break}}continue}break}if(p===!0){if(L=!0,n===!0)continue;break}}t.noext===!0&&(_=!1,p=!1);let le=c,I="",y="";u>0&&(I=c.slice(0,u),c=c.slice(u),f-=u),le&&p===!0&&f>0?(le=c.slice(0,f),y=c.slice(f)):p===!0?(le="",y=c):le=c,le&&le!==""&&le!=="/"&&le!==c&&aR(le.charCodeAt(le.length-1))&&(le=le.slice(0,-1)),t.unescape===!0&&(y&&(y=iR.removeBackslashes(y)),le&&E===!0&&(le=iR.removeBackslashes(le)));let x={prefix:I,input:i,start:u,base:le,glob:y,isBrace:m,isBracket:h,isGlob:p,isExtglob:_,isGlobstar:b,negated:R,negatedExtglob:P};if(t.tokens===!0&&(x.maxDepth=0,aR(G)||a.push(W),x.tokens=a),t.parts===!0||t.tokens===!0){let Z;for(let N=0;N<o.length;N++){let ue=Z?Z+1:u,te=o[N],Ce=i.slice(ue,te);t.tokens&&(N===0&&u!==0?(a[N].isPrefix=!0,a[N].value=I):a[N].value=Ce,sR(a[N]),x.maxDepth+=a[N].depth),(N!==0||Ce!=="")&&s.push(Ce),Z=te}if(Z&&Z+1<i.length){let N=i.slice(Z+1);s.push(N),t.tokens&&(a[a.length-1].value=N,sR(a[a.length-1]),x.maxDepth+=a[a.length-1].depth)}x.slashes=o,x.parts=s}return x};lR.exports=Qk});var hR=Tt((uH,pR)=>{"use strict";var ud=cd(),ii=Lm(),{MAX_LENGTH:Bm,POSIX_REGEX_SOURCE:Xk,REGEX_NON_SPECIAL_CHARS:Zk,REGEX_SPECIAL_CHARS_BACKREF:eN,REPLACEMENTS:dR}=ud,tN=(i,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...i,e);i.sort();let t=`[${i.join("-")}]`;try{new RegExp(t)}catch{return i.map(n=>ii.escapeRegex(n)).join("..")}return t},_l=(i,e)=>`Missing ${i}: "${e}" - use "\\\\${e}" to match literal characters`,fR=i=>{let e=[],t=0,r=0,n=0,o="",a=!1;for(let s of i){if(a===!0){o+=s,a=!1;continue}if(s==="\\"){o+=s,a=!0;continue}if(s==='"'){n=n===1?0:1,o+=s;continue}if(n===0){if(s==="[")t++;else if(s==="]"&&t>0)t--;else if(t===0){if(s==="(")r++;else if(s===")"&&r>0)r--;else if(s==="|"&&r===0){e.push(o),o="";continue}}}o+=s}return e.push(o),e},rN=i=>{let e=!1;for(let t of i){if(e===!0){e=!1;continue}if(t==="\\"){e=!0;continue}if(/[?*+@!()[\]{}]/.test(t))return!1}return!0},mR=i=>{let e=i.trim(),t=!0;for(;t===!0;)t=!1,/^@\([^\\()[\]{}|]+\)$/.test(e)&&(e=e.slice(2,-1),t=!0);if(rN(e))return e.replace(/\\(.)/g,"$1")},iN=i=>{let e=i.map(mR).filter(Boolean);for(let t=0;t<e.length;t++)for(let r=t+1;r<e.length;r++){let n=e[t],o=e[r],a=n[0];if(!(!a||n!==a.repeat(n.length)||o!==a.repeat(o.length))&&(n===o||n.startsWith(o)||o.startsWith(n)))return!0}return!1},_v=(i,e=!0)=>{if(i[0]!=="+"&&i[0]!=="*"||i[1]!=="(")return;let t=0,r=0,n=0,o=!1;for(let a=1;a<i.length;a++){let s=i[a];if(o===!0){o=!1;continue}if(s==="\\"){o=!0;continue}if(s==='"'){n=n===1?0:1;continue}if(n!==1){if(s==="["){t++;continue}if(s==="]"&&t>0){t--;continue}if(!(t>0)){if(s==="("){r++;continue}if(s===")"&&(r--,r===0))return e===!0&&a!==i.length-1?void 0:{type:i[0],body:i.slice(2,a),end:a}}}}},nN=i=>{let e=0,t=[];for(;e<i.length;){let n=_v(i.slice(e),!1);if(!n||n.type!=="*")return;let o=fR(n.body).map(s=>s.trim());if(o.length!==1)return;let a=mR(o[0]);if(!a||a.length!==1)return;t.push(a),e+=n.end+1}return t.length<1?void 0:`${t.length===1?ii.escapeRegex(t[0]):`[${t.map(n=>ii.escapeRegex(n)).join("")}]`}*`},oN=i=>{let e=0,t=i.trim(),r=_v(t);for(;r;)e++,t=r.body.trim(),r=_v(t);return e},aN=(i,e)=>{if(e.maxExtglobRecursion===!1)return{risky:!1};let t=typeof e.maxExtglobRecursion=="number"?e.maxExtglobRecursion:ud.DEFAULT_MAX_EXTGLOB_RECURSION,r=fR(i).map(n=>n.trim());if(r.length>1&&(r.some(n=>n==="")||r.some(n=>/^[*?]+$/.test(n))||iN(r)))return{risky:!0};for(let n of r){let o=nN(n);if(o)return{risky:!0,safeOutput:o};if(oN(n)>t)return{risky:!0}}return{risky:!1}},bv=(i,e)=>{if(typeof i!="string")throw new TypeError("Expected a string");i=dR[i]||i;let t={...e},r=typeof t.maxLength=="number"?Math.min(Bm,t.maxLength):Bm,n=i.length;if(n>r)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${r}`);let o={type:"bos",value:"",output:t.prepend||""},a=[o],s=t.capture?"":"?:",c=ii.isWindows(e),l=ud.globChars(c),u=ud.extglobChars(l),{DOT_LITERAL:f,PLUS_LITERAL:m,SLASH_LITERAL:h,ONE_CHAR:p,DOTS_SLASH:_,NO_DOT:b,NO_DOT_SLASH:S,NO_DOTS_SLASH:E,QMARK:R,QMARK_NO_DOT:P,STAR:L,START_ANCHOR:Y}=l,$=re=>`(${s}(?:(?!${Y}${re.dot?_:f}).)*?)`,G=t.dot?"":b,W=t.dot?R:P,H=t.bash===!0?$(t):L;t.capture&&(H=`(${H})`),typeof t.noext=="boolean"&&(t.noextglob=t.noext);let T={input:i,index:-1,start:0,dot:t.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:a};i=ii.removePrefix(i,T),n=i.length;let ee=[],le=[],I=[],y=o,x,Z=()=>T.index===n-1,N=T.peek=(re=1)=>i[T.index+re],ue=T.advance=()=>i[++T.index]||"",te=()=>i.slice(T.index+1),Ce=(re="",$e=0)=>{T.consumed+=re,T.index+=$e},ce=re=>{T.output+=re.output!=null?re.output:re.value,Ce(re.value)},U=()=>{let re=1;for(;N()==="!"&&(N(2)!=="("||N(3)==="?");)ue(),T.start++,re++;return re%2===0?!1:(T.negated=!0,T.start++,!0)},Ze=re=>{T[re]++,I.push(re)},at=re=>{T[re]--,I.pop()},xe=re=>{if(y.type==="globstar"){let $e=T.braces>0&&(re.type==="comma"||re.type==="brace"),ie=re.extglob===!0||ee.length&&(re.type==="pipe"||re.type==="paren");re.type!=="slash"&&re.type!=="paren"&&!$e&&!ie&&(T.output=T.output.slice(0,-y.output.length),y.type="star",y.value="*",y.output=H,T.output+=y.output)}if(ee.length&&re.type!=="paren"&&(ee[ee.length-1].inner+=re.value),(re.value||re.output)&&ce(re),y&&y.type==="text"&&re.type==="text"){y.value+=re.value,y.output=(y.output||"")+re.value;return}re.prev=y,a.push(re),y=re},wt=(re,$e)=>{let ie={...u[$e],conditions:1,inner:""};ie.prev=y,ie.parens=T.parens,ie.output=T.output,ie.startIndex=T.index,ie.tokensIndex=a.length;let he=(t.capture?"(":"")+ie.open;Ze("parens"),xe({type:re,value:$e,output:T.output?"":p}),xe({type:"paren",extglob:!0,value:ue(),output:he}),ee.push(ie)},ui=re=>{let $e=i.slice(re.startIndex,T.index+1),ie=i.slice(re.startIndex+2,T.index),he=aN(ie,t);if((re.type==="plus"||re.type==="star")&&he.risky){let Ae=he.safeOutput?(re.output?"":p)+(t.capture?`(${he.safeOutput})`:he.safeOutput):void 0,F=a[re.tokensIndex];F.type="text",F.value=$e,F.output=Ae||ii.escapeRegex($e);for(let se=re.tokensIndex+1;se<a.length;se++)a[se].value="",a[se].output="",delete a[se].suffix;T.output=re.output+F.output,T.backtrack=!0,xe({type:"paren",extglob:!0,value:x,output:""}),at("parens");return}let Ee=re.close+(t.capture?")":""),Ke;if(re.type==="negate"){let Ae=H;if(re.inner&&re.inner.length>1&&re.inner.includes("/")&&(Ae=$(t)),(Ae!==H||Z()||/^\)+$/.test(te()))&&(Ee=re.close=`)$))${Ae}`),re.inner.includes("*")&&(Ke=te())&&/^\.[^\\/.]+$/.test(Ke)){let F=bv(Ke,{...e,fastpaths:!1}).output;Ee=re.close=`)${F})${Ae})`}re.prev.type==="bos"&&(T.negatedExtglob=!0)}xe({type:"paren",extglob:!0,value:x,output:Ee}),at("parens")};if(t.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(i)){let re=!1,$e=i.replace(eN,(ie,he,Ee,Ke,Ae,F)=>Ke==="\\"?(re=!0,ie):Ke==="?"?he?he+Ke+(Ae?R.repeat(Ae.length):""):F===0?W+(Ae?R.repeat(Ae.length):""):R.repeat(Ee.length):Ke==="."?f.repeat(Ee.length):Ke==="*"?he?he+Ke+(Ae?H:""):H:he?ie:`\\${ie}`);return re===!0&&(t.unescape===!0?$e=$e.replace(/\\/g,""):$e=$e.replace(/\\+/g,ie=>ie.length%2===0?"\\\\":ie?"\\":"")),$e===i&&t.contains===!0?(T.output=i,T):(T.output=ii.wrapOutput($e,T,e),T)}for(;!Z();){if(x=ue(),x==="\0")continue;if(x==="\\"){let ie=N();if(ie==="/"&&t.bash!==!0||ie==="."||ie===";")continue;if(!ie){x+="\\",xe({type:"text",value:x});continue}let he=/^\\+/.exec(te()),Ee=0;if(he&&he[0].length>2&&(Ee=he[0].length,T.index+=Ee,Ee%2!==0&&(x+="\\")),t.unescape===!0?x=ue():x+=ue(),T.brackets===0){xe({type:"text",value:x});continue}}if(T.brackets>0&&(x!=="]"||y.value==="["||y.value==="[^")){if(t.posix!==!1&&x===":"){let ie=y.value.slice(1);if(ie.includes("[")&&(y.posix=!0,ie.includes(":"))){let he=y.value.lastIndexOf("["),Ee=y.value.slice(0,he),Ke=y.value.slice(he+2),Ae=Xk[Ke];if(Ae){y.value=Ee+Ae,T.backtrack=!0,ue(),!o.output&&a.indexOf(y)===1&&(o.output=p);continue}}}(x==="["&&N()!==":"||x==="-"&&N()==="]")&&(x=`\\${x}`),x==="]"&&(y.value==="["||y.value==="[^")&&(x=`\\${x}`),t.posix===!0&&x==="!"&&y.value==="["&&(x="^"),y.value+=x,ce({value:x});continue}if(T.quotes===1&&x!=='"'){x=ii.escapeRegex(x),y.value+=x,ce({value:x});continue}if(x==='"'){T.quotes=T.quotes===1?0:1,t.keepQuotes===!0&&xe({type:"text",value:x});continue}if(x==="("){Ze("parens"),xe({type:"paren",value:x});continue}if(x===")"){if(T.parens===0&&t.strictBrackets===!0)throw new SyntaxError(_l("opening","("));let ie=ee[ee.length-1];if(ie&&T.parens===ie.parens+1){ui(ee.pop());continue}xe({type:"paren",value:x,output:T.parens?")":"\\)"}),at("parens");continue}if(x==="["){if(t.nobracket===!0||!te().includes("]")){if(t.nobracket!==!0&&t.strictBrackets===!0)throw new SyntaxError(_l("closing","]"));x=`\\${x}`}else Ze("brackets");xe({type:"bracket",value:x});continue}if(x==="]"){if(t.nobracket===!0||y&&y.type==="bracket"&&y.value.length===1){xe({type:"text",value:x,output:`\\${x}`});continue}if(T.brackets===0){if(t.strictBrackets===!0)throw new SyntaxError(_l("opening","["));xe({type:"text",value:x,output:`\\${x}`});continue}at("brackets");let ie=y.value.slice(1);if(y.posix!==!0&&ie[0]==="^"&&!ie.includes("/")&&(x=`/${x}`),y.value+=x,ce({value:x}),t.literalBrackets===!1||ii.hasRegexChars(ie))continue;let he=ii.escapeRegex(y.value);if(T.output=T.output.slice(0,-y.value.length),t.literalBrackets===!0){T.output+=he,y.value=he;continue}y.value=`(${s}${he}|${y.value})`,T.output+=y.value;continue}if(x==="{"&&t.nobrace!==!0){Ze("braces");let ie={type:"brace",value:x,output:"(",outputIndex:T.output.length,tokensIndex:T.tokens.length};le.push(ie),xe(ie);continue}if(x==="}"){let ie=le[le.length-1];if(t.nobrace===!0||!ie){xe({type:"text",value:x,output:x});continue}let he=")";if(ie.dots===!0){let Ee=a.slice(),Ke=[];for(let Ae=Ee.length-1;Ae>=0&&(a.pop(),Ee[Ae].type!=="brace");Ae--)Ee[Ae].type!=="dots"&&Ke.unshift(Ee[Ae].value);he=tN(Ke,t),T.backtrack=!0}if(ie.comma!==!0&&ie.dots!==!0){let Ee=T.output.slice(0,ie.outputIndex),Ke=T.tokens.slice(ie.tokensIndex);ie.value=ie.output="\\{",x=he="\\}",T.output=Ee;for(let Ae of Ke)T.output+=Ae.output||Ae.value}xe({type:"brace",value:x,output:he}),at("braces"),le.pop();continue}if(x==="|"){ee.length>0&&ee[ee.length-1].conditions++,xe({type:"text",value:x});continue}if(x===","){let ie=x,he=le[le.length-1];he&&I[I.length-1]==="braces"&&(he.comma=!0,ie="|"),xe({type:"comma",value:x,output:ie});continue}if(x==="/"){if(y.type==="dot"&&T.index===T.start+1){T.start=T.index+1,T.consumed="",T.output="",a.pop(),y=o;continue}xe({type:"slash",value:x,output:h});continue}if(x==="."){if(T.braces>0&&y.type==="dot"){y.value==="."&&(y.output=f);let ie=le[le.length-1];y.type="dots",y.output+=x,y.value+=x,ie.dots=!0;continue}if(T.braces+T.parens===0&&y.type!=="bos"&&y.type!=="slash"){xe({type:"text",value:x,output:f});continue}xe({type:"dot",value:x,output:f});continue}if(x==="?"){if(!(y&&y.value==="(")&&t.noextglob!==!0&&N()==="("&&N(2)!=="?"){wt("qmark",x);continue}if(y&&y.type==="paren"){let he=N(),Ee=x;if(he==="<"&&!ii.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(y.value==="("&&!/[!=<:]/.test(he)||he==="<"&&!/<([!=]|\w+>)/.test(te()))&&(Ee=`\\${x}`),xe({type:"text",value:x,output:Ee});continue}if(t.dot!==!0&&(y.type==="slash"||y.type==="bos")){xe({type:"qmark",value:x,output:P});continue}xe({type:"qmark",value:x,output:R});continue}if(x==="!"){if(t.noextglob!==!0&&N()==="("&&(N(2)!=="?"||!/[!=<:]/.test(N(3)))){wt("negate",x);continue}if(t.nonegate!==!0&&T.index===0){U();continue}}if(x==="+"){if(t.noextglob!==!0&&N()==="("&&N(2)!=="?"){wt("plus",x);continue}if(y&&y.value==="("||t.regex===!1){xe({type:"plus",value:x,output:m});continue}if(y&&(y.type==="bracket"||y.type==="paren"||y.type==="brace")||T.parens>0){xe({type:"plus",value:x});continue}xe({type:"plus",value:m});continue}if(x==="@"){if(t.noextglob!==!0&&N()==="("&&N(2)!=="?"){xe({type:"at",extglob:!0,value:x,output:""});continue}xe({type:"text",value:x});continue}if(x!=="*"){(x==="$"||x==="^")&&(x=`\\${x}`);let ie=Zk.exec(te());ie&&(x+=ie[0],T.index+=ie[0].length),xe({type:"text",value:x});continue}if(y&&(y.type==="globstar"||y.star===!0)){y.type="star",y.star=!0,y.value+=x,y.output=H,T.backtrack=!0,T.globstar=!0,Ce(x);continue}let re=te();if(t.noextglob!==!0&&/^\([^?]/.test(re)){wt("star",x);continue}if(y.type==="star"){if(t.noglobstar===!0){Ce(x);continue}let ie=y.prev,he=ie.prev,Ee=ie.type==="slash"||ie.type==="bos",Ke=he&&(he.type==="star"||he.type==="globstar");if(t.bash===!0&&(!Ee||re[0]&&re[0]!=="/")){xe({type:"star",value:x,output:""});continue}let Ae=T.braces>0&&(ie.type==="comma"||ie.type==="brace"),F=ee.length&&(ie.type==="pipe"||ie.type==="paren");if(!Ee&&ie.type!=="paren"&&!Ae&&!F){xe({type:"star",value:x,output:""});continue}for(;re.slice(0,3)==="/**";){let se=i[T.index+4];if(se&&se!=="/")break;re=re.slice(3),Ce("/**",3)}if(ie.type==="bos"&&Z()){y.type="globstar",y.value+=x,y.output=$(t),T.output=y.output,T.globstar=!0,Ce(x);continue}if(ie.type==="slash"&&ie.prev.type!=="bos"&&!Ke&&Z()){T.output=T.output.slice(0,-(ie.output+y.output).length),ie.output=`(?:${ie.output}`,y.type="globstar",y.output=$(t)+(t.strictSlashes?")":"|$)"),y.value+=x,T.globstar=!0,T.output+=ie.output+y.output,Ce(x);continue}if(ie.type==="slash"&&ie.prev.type!=="bos"&&re[0]==="/"){let se=re[1]!==void 0?"|$":"";T.output=T.output.slice(0,-(ie.output+y.output).length),ie.output=`(?:${ie.output}`,y.type="globstar",y.output=`${$(t)}${h}|${h}${se})`,y.value+=x,T.output+=ie.output+y.output,T.globstar=!0,Ce(x+ue()),xe({type:"slash",value:"/",output:""});continue}if(ie.type==="bos"&&re[0]==="/"){y.type="globstar",y.value+=x,y.output=`(?:^|${h}|${$(t)}${h})`,T.output=y.output,T.globstar=!0,Ce(x+ue()),xe({type:"slash",value:"/",output:""});continue}T.output=T.output.slice(0,-y.output.length),y.type="globstar",y.output=$(t),y.value+=x,T.output+=y.output,T.globstar=!0,Ce(x);continue}let $e={type:"star",value:x,output:H};if(t.bash===!0){$e.output=".*?",(y.type==="bos"||y.type==="slash")&&($e.output=G+$e.output),xe($e);continue}if(y&&(y.type==="bracket"||y.type==="paren")&&t.regex===!0){$e.output=x,xe($e);continue}(T.index===T.start||y.type==="slash"||y.type==="dot")&&(y.type==="dot"?(T.output+=S,y.output+=S):t.dot===!0?(T.output+=E,y.output+=E):(T.output+=G,y.output+=G),N()!=="*"&&(T.output+=p,y.output+=p)),xe($e)}for(;T.brackets>0;){if(t.strictBrackets===!0)throw new SyntaxError(_l("closing","]"));T.output=ii.escapeLast(T.output,"["),at("brackets")}for(;T.parens>0;){if(t.strictBrackets===!0)throw new SyntaxError(_l("closing",")"));T.output=ii.escapeLast(T.output,"("),at("parens")}for(;T.braces>0;){if(t.strictBrackets===!0)throw new SyntaxError(_l("closing","}"));T.output=ii.escapeLast(T.output,"{"),at("braces")}if(t.strictSlashes!==!0&&(y.type==="star"||y.type==="bracket")&&xe({type:"maybe_slash",value:"",output:`${h}?`}),T.backtrack===!0){T.output="";for(let re of T.tokens)T.output+=re.output!=null?re.output:re.value,re.suffix&&(T.output+=re.suffix)}return T};bv.fastpaths=(i,e)=>{let t={...e},r=typeof t.maxLength=="number"?Math.min(Bm,t.maxLength):Bm,n=i.length;if(n>r)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${r}`);i=dR[i]||i;let o=ii.isWindows(e),{DOT_LITERAL:a,SLASH_LITERAL:s,ONE_CHAR:c,DOTS_SLASH:l,NO_DOT:u,NO_DOTS:f,NO_DOTS_SLASH:m,STAR:h,START_ANCHOR:p}=ud.globChars(o),_=t.dot?f:u,b=t.dot?m:u,S=t.capture?"":"?:",E={negated:!1,prefix:""},R=t.bash===!0?".*?":h;t.capture&&(R=`(${R})`);let P=G=>G.noglobstar===!0?R:`(${S}(?:(?!${p}${G.dot?l:a}).)*?)`,L=G=>{switch(G){case"*":return`${_}${c}${R}`;case".*":return`${a}${c}${R}`;case"*.*":return`${_}${R}${a}${c}${R}`;case"*/*":return`${_}${R}${s}${c}${b}${R}`;case"**":return _+P(t);case"**/*":return`(?:${_}${P(t)}${s})?${b}${c}${R}`;case"**/*.*":return`(?:${_}${P(t)}${s})?${b}${R}${a}${c}${R}`;case"**/.*":return`(?:${_}${P(t)}${s})?${a}${c}${R}`;default:{let W=/^(.*?)\.(\w+)$/.exec(G);if(!W)return;let H=L(W[1]);return H?H+a+W[2]:void 0}}},Y=ii.removePrefix(i,E),$=L(Y);return $&&t.strictSlashes!==!0&&($+=`${s}?`),$};pR.exports=bv});var yR=Tt((dH,gR)=>{"use strict";var sN=require("path"),cN=uR(),Cv=hR(),wv=Lm(),lN=cd(),uN=i=>i&&typeof i=="object"&&!Array.isArray(i),or=(i,e,t=!1)=>{if(Array.isArray(i)){let u=i.map(m=>or(m,e,t));return m=>{for(let h of u){let p=h(m);if(p)return p}return!1}}let r=uN(i)&&i.tokens&&i.input;if(i===""||typeof i!="string"&&!r)throw new TypeError("Expected pattern to be a non-empty string");let n=e||{},o=wv.isWindows(e),a=r?or.compileRe(i,e):or.makeRe(i,e,!1,!0),s=a.state;delete a.state;let c=()=>!1;if(n.ignore){let u={...e,ignore:null,onMatch:null,onResult:null};c=or(n.ignore,u,t)}let l=(u,f=!1)=>{let{isMatch:m,match:h,output:p}=or.test(u,a,e,{glob:i,posix:o}),_={glob:i,state:s,regex:a,posix:o,input:u,output:p,match:h,isMatch:m};return typeof n.onResult=="function"&&n.onResult(_),m===!1?(_.isMatch=!1,f?_:!1):c(u)?(typeof n.onIgnore=="function"&&n.onIgnore(_),_.isMatch=!1,f?_:!1):(typeof n.onMatch=="function"&&n.onMatch(_),f?_:!0)};return t&&(l.state=s),l};or.test=(i,e,t,{glob:r,posix:n}={})=>{if(typeof i!="string")throw new TypeError("Expected input to be a string");if(i==="")return{isMatch:!1,output:""};let o=t||{},a=o.format||(n?wv.toPosixSlashes:null),s=i===r,c=s&&a?a(i):i;return s===!1&&(c=a?a(i):i,s=c===r),(s===!1||o.capture===!0)&&(o.matchBase===!0||o.basename===!0?s=or.matchBase(i,e,t,n):s=e.exec(c)),{isMatch:!!s,match:s,output:c}};or.matchBase=(i,e,t,r=wv.isWindows(t))=>(e instanceof RegExp?e:or.makeRe(e,t)).test(sN.basename(i));or.isMatch=(i,e,t)=>or(e,t)(i);or.parse=(i,e)=>Array.isArray(i)?i.map(t=>or.parse(t,e)):Cv(i,{...e,fastpaths:!1});or.scan=(i,e)=>cN(i,e);or.compileRe=(i,e,t=!1,r=!1)=>{if(t===!0)return i.output;let n=e||{},o=n.contains?"":"^",a=n.contains?"":"$",s=`${o}(?:${i.output})${a}`;i&&i.negated===!0&&(s=`^(?!${s}).*$`);let c=or.toRegex(s,e);return r===!0&&(c.state=i),c};or.makeRe=(i,e={},t=!1,r=!1)=>{if(!i||typeof i!="string")throw new TypeError("Expected a non-empty string");let n={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(i[0]==="."||i[0]==="*")&&(n.output=Cv.fastpaths(i,e)),n.output||(n=Cv(i,e)),or.compileRe(n,e,t,r)};or.toRegex=(i,e)=>{try{let t=e||{};return new RegExp(i,t.flags||(t.nocase?"i":""))}catch(t){if(e&&e.debug===!0)throw t;return/$^/}};or.constants=lN;gR.exports=or});var _R=Tt((fH,vR)=>{"use strict";vR.exports=yR()});var Il,Ko,eo,Pn,Al,wd,u_=V(()=>{Il="function",Ko="object",eo="undefined",Pn="prototype",Al=Object,wd=Al[Pn]});function Qt(i,e){return i||e}function Et(i,e){return i?.[e]}function He(i,e){try{return{v:i.apply(this,e)}}catch(t){return{e:t}}}function $N(i,e,t){var r=He(i,t);return r.e?e:r.v}function Ep(i){return function(e){return typeof e===i}}function qR(i){var e="[object "+i+"]";return function(t){return!!(t&&Dp(t)===e)}}function Dp(i){return Pd[xd].call(i)}function P_(i,e){return typeof i===e}function Ve(i){return typeof i===Qs||i===Qs}function KN(i){return i===Kr}function X(i){return i===Wt||Ve(i)}function Tn(i){return i===Wt||i===Kr}function QR(i){return!!i||i!==Kr}function jN(i){return!d_&&(d_=["string","number","boolean",Qs,"symbol","bigint"]),i!==Sd&&d_.indexOf(i)!==-1}function Yt(i){return!i&&X(i)?!1:!!i&&typeof i===Sd}function pi(i){return!!(i&&i.then&&Se(i.then))}function T_(i){return!i||!In(i)}function In(i){return!(!i||$N(function(){return!(i&&0+i)},!i))}function I_(){}function zN(){return[]}function VN(){return!1}function ve(i,e){var t=R_,r=Pd[xd][lr](i);r===JN&&(i={stack:cr(i.stack),message:cr(i.message),name:cr(i.name)});try{t=JSON.stringify(i,Wt,e?typeof e=="number"?e:4:Kr),t=(t?t.replace(/"(\w+)"\s*:\s{0,1}/g,"$1: "):Wt)||cr(i)}catch(n){t=" - "+ve(n,e)}return r+": "+t}function Xt(i){throw new Error(i)}function oi(i){throw new TypeError(i)}function Sp(i){Tn(i)&&oi("Cannot convert undefined or null to object")}function XR(i){Ue(i)||oi("'"+ve(i)+"' is not a string")}function Cr(i,e){return!!i&&Pd.hasOwnProperty[lr](i,e)}function QN(i,e){return Sp(i),Cr(i,e)||!!qN(i,e)}function XN(i){return i===Dd||i===Rd||i===jr}function we(i,e,t){if(i&&(Yt(i)||Se(i))){for(var r in i)if(sn(i,r)&&e[lr](Tn(t)?i:t,r,i[r])===-1)break}}function z(i,e,t){if(i)for(var r=i[Zs]>>>0,n=0;n<r&&!(n in i&&e[lr](Tn(t)?i:t,i[n],n,i)===-1);n++);}function Ol(i,e,t){var r=e?e[i]:Wt;return function(n){var o=(n?n[i]:Wt)||r;if(o||t){var a=arguments;return(o||t).apply(n,o?to[lr](a,1):a)}oi('"'+cr(i)+'" not defined for '+ve(n))}}function ZN(i,e,t){var r=e?e[i]:Wt;return function(n){var o=r;if(o||t){var a=arguments;return(o||t).apply(n,o?to[lr](a,1):a)}oi('"'+cr(i)+'" not defined for '+ve(n))}}function eO(i){return function(e){return e[i]}}function tO(i,e){var t,r=Mr.getOwnPropertyDescriptor;return!Tn(i)&&r&&(t=He(r,[i,e]).v||Wt),!t&&!Tn(i)&&(t=He(function(){for(var n in i)if(n==e)return{enumerable:Cr(i,n)}}).v),t&&t.enumerable||!1}function ZR(i){var e={};if(e[gp.c]=!0,e[gp.e]=!0,i.l){e.get=function(){return i.l.v};var t=iO(i.l,"v");t&&t.set&&(e.set=function(r){i.l.v=r})}return we(i,function(r,n){e[gp[r]]=KN(n)?e[gp[r]]:n}),e}function k_(i,e,t,r,n,o){var a={e:o,c:n};return t&&(a.g=t),r&&(a.s=r),xi(i,e,ZR(a))}function ft(i,e,t){return xi(i,e,ZR(t))}function eS(i,e,t,r,n){var o={};return we(i,function(a,s){bp(o,a,e?s:a),bp(o,s,t?s:a)}),r?r(o):o}function bp(i,e,t,r){xi(i,e,{value:t,enumerable:!0,writable:!1})}function rS(i){return i}function oO(i){return Sp(i),i[Dd]||Wt}function iS(i,e){if((ye(i)||Yt(i)||Se(i))&&!nO(i)){for(var t=0;t<e.length;t++)if(e[t]===i)return i;e.push(i),we(i,function(r,n){iS(n,e)}),cn(i)}return i}function io(i){return tS?iS(i,[]):i}function nS(i){return eS(i,1,0,cn)}function aO(i){return eS(i,0,0,cn)}function sO(i){var e={};return we(i,function(t,r){bp(e,t,r[1]),bp(e,r[0],r[1])}),cn(e)}function oS(i){return sO(i)}function sS(){var i;return typeof globalThis!==Qs&&(i=globalThis),!i&&typeof self!==Qs&&(i=self),!i&&typeof window!==Qs&&(i=window),!i&&typeof global!==Qs&&(i=global),i}function xp(){if(!f_){var i=He(sS).v||{};f_=i[WR]=i[WR]||{}}return f_}function lO(i,e,t){return Sp(i),t<0?R_:(e=e||0,e<0&&(e=cO(e+i[Zs],0)),Ve(t)?YR(i,e):YR(i,e,e+t))}function rc(i,e){return wr(i,0,e)}function uO(i,e){return i&&(He(function(){i[HR]=!0,i[UR]=e}),He(ft,[i,HR,{v:!0,w:!1,e:!1}]),He(ft,[i,UR,{v:e,w:!1,e:!1}])),i}function dO(i,e){var t=null;function r(){}if(Tn(i))t={};else{var n=typeof i;n!==Sd&&n!==wp&&oi("Prototype must be an Object or function: "+ve(i)),r[jr]=i,He(function(){r[Dd]=i}),t=new r}return e&&He(A_,[t,e]),t}function $t(){return(Date.now||fO)()}function fO(){return new Date().getTime()}function Xs(i,e,t){return i.apply(e,t)}function Ia(){mr=xp()}function O_(i,e){var t={};return!mr&&Ia(),t.b=mr.lzy,xi(t,"v",{configurable:!0,get:function(){var r=Xs(i,null,e);return mr.lzy||xi(t,"v",{value:r}),t.b=mr.lzy,r}}),t}function yO(){if(!m_){var i=xp();m_=i.gblSym=i.gblSym||{k:{},s:{}}}return m_}function M_(i){var e="_"+gO+++"_"+pO.v,t=S_+"("+i+")";function r(o,a){ft(n,o,{v:a,e:!1,w:!1})}var n=An(null);return r("description",cr(i)),r(xd,function(){return t+hO+e}),r("valueOf",function(){return n}),r("v",t),r("_uid",e),uO(n,"symbol")}function vO(i){var e=yO();if(!sn(e.k,i)){var t=M_(i),r=Vr(e.s).length;t[$R]=function(){return r+"_"+t[xd]()},e.k[i]=t,e.s[t[$R]()]=cr(i)}return e.k[i]}function _O(i){!yp&&(yp={});var e,t=aS[i];return t&&(e=yp[t]=yp[t]||M_(S_+"."+t)),e}function Pi(i){return xi({toJSON:function(){return i}},"v",{value:i})}function Td(i,e){var t;return function(){return!mr&&Ia(),(!t||mr.lzy)&&(t=Pi(He(i,e).v)),t.v}}function hi(i){return!mr&&Ia(),(!Ed||i===!1||mr.lzy)&&(Ed=Pi(He(sS).v||Wt)),Ed.v}function Ie(i,e){var t;if(!Ed||e===!1?t=hi(e):t=Ed.v,t&&t[i])return t[i];if(i===cS)try{return window}catch{}return Wt}function ic(){return!!Zt()}function Ll(){return!!pr()}function Id(){return!!Er()}function L_(){return!!Pp()}function Tp(){return kl=Pi(He(Ie,[S_]).v),kl}function bO(i){var e=(mr.lzy?0:kl)||Tp();return e.v?e.v[i]:Kr}function uS(){return!!CO()}function CO(){return!mr&&Ia(),((mr.lzy?0:kl)||Tp()).v}function Ad(i,e){var t=aS[i];!mr&&Ia();var r=(mr.lzy?0:kl)||Tp();return r.v?r.v[t||i]:e?Kr:_O(i)}function Bl(i,e){!mr&&Ia();var t=(mr.lzy?0:kl)||Tp();return t.v?t.v(i):e?Wt:M_(i)}function Ip(i){return!mr&&Ia(),p_=(mr.lzy?0:p_)||Pi(He(bO,["for"]).v),(p_.v||vO)(i)}function Cp(i){return!!i&&Se(i.next)}function B_(i){return!Tn(i)&&Se(i[Ad(3)])}function Ap(i,e,t){if(i&&(Cp(i)||(!vp&&(vp=Pi(Ad(3))),i=i[vp.v]?i[vp.v]():Wt),Cp(i))){var r=Kr,n=Kr;try{for(var o=0;!(n=i.next()).done&&e[lr](Tn(t)?i:t,n.value,o,i)!==-1;)o++}catch(a){r={e:a},i.throw&&(n=Wt,i.throw(r))}finally{try{n&&!n.done&&i.return&&i.return(n)}finally{if(r)throw r.e}}}}function kn(i,e){return!Ve(e)&&i&&(ye(e)?Xs(i.push,i,e):Cp(e)||B_(e)?Ap(e,function(t){i.push(t)}):i.push(e)),i}function Fl(i,e,t){return((i?i.slice:Wt)||to).apply(i,to[lr](arguments,1))}function wO(i,e,t){return mt(i,e,t)!==-1}function EO(i,e){var t;return!h_&&(h_=Pi((t={},t[Dd]=[],t instanceof Array))),h_.v?i[Dd]=e:we(e,function(r,n){return i[r]=n}),i}function DO(i,e,t){He(ft,[e,_p,{v:i,c:!0,e:!1}]),e=dS(e,t);function r(){this[Rd]=e,He(ft,[this,_p,{v:i,c:!0,e:!1}])}return e[jr]=t===Wt?An(t):(r[jr]=t[jr],new r),e}function KR(i,e){e&&(i[_p]=e)}function G_(i,e,t,r){var n=t||Error,o=n[jr][_p],a=Error.captureStackTrace;return DO(i,function(){var s=this,c=arguments;try{He(KR,[n,i]);var l=Xs(n,s,r?r(c):to[lr](c))||s;if(l!==s){var u=D_(s);u!==D_(l)&&dS(l,u)}return a&&a(l,s[Rd]),e&&e(l,c),l}finally{He(KR,[n,o])}},n)}function SO(i){return function(t){return Sp(t),t=cr(t),t&&(t=RO(t,i,R_)),t}}function TO(i,e,t){if(i!==Wt&&i!==Kr){for(var r in i)if(sn(i,r)&&e[lr](Tn(t)?i:t,r,i[r])===-1)return;z(PO(i),function(n){if(rO(i,n)&&e[lr](Tn(t)?i:t,n,i[n])===-1)return-1})}}function IO(i,e,t){TO(i,function(r,n){if(!XN(r))return e[lr](Tn(t)?i:t,r,n)},t)}function Jr(i){if(!i||typeof i!==Sd)return!1;v_||(v_=Ll()?pr():!0);var e=!1;if(i!==v_){y_||(g_=Function[jr][xd],y_=g_[lr](Mr));try{var t=D_(i);e=!t,e||(Cr(t,Rd)&&(t=t[Rd]),e=!!(t&&typeof t===wp&&g_[lr](t)===y_))}catch{}}return e}function AO(i,e){e&&i.push(e)}function qt(i,e){e&&e[jr]}function kO(){var i=[Pd,jo,Nl,NN,MN,BN,GN,UN,YN];return He(Ie,["Map"]).v,He(Ie,["Set"]).v,He(Ie,["WeakMap"]).v,He(Ie,["WeakSet"]).v,He(Ie,["Promise"]).v,He(Ie,["Symbol"]).v,He(Ie,["ArrayBuffer"]).v,He(Ie,["SharedArrayBuffer"]).v,He(Ie,["DataView"]).v,He(Ie,["Int8Array"]).v,He(Ie,["Uint8Array"]).v,He(Ie,["Uint8ClampedArray"]).v,He(Ie,["Int16Array"]).v,He(Ie,["Uint16Array"]).v,He(Ie,["Int32Array"]).v,He(Ie,["Uint32Array"]).v,He(Ie,["Float32Array"]).v,He(Ie,["Float64Array"]).v,He(Ie,["BigInt64Array"]).v,He(Ie,["BigUint64Array"]).v,He(Ie,["WeakRef"]).v,He(Ie,["FinalizationRegistry"]).v,i}function NO(i){return __||(__=Pi(kO())),mt(__.v,i)>=0}function OO(i){return i.value&&pS(i),!0}function MO(i,e,t,r){var n;return z(i,function(o){if(o.k===e)return n=o,-1}),n||(n={k:e,v:e},i.push(n),r(n)),n.v}function H_(i,e,t,r){var n=t.handler,o=t.path?r?t.path.concat(r):t.path:[],a={handler:t.handler,src:t.src,path:o},s=typeof e,c=!1,l=e===Wt;l||(e&&s===Sd?c=Jr(e):l=jN(s));var u={type:s,isPrim:l,isPlain:c,value:e,result:e,path:o,origin:t.src,copy:function(f,m){return H_(i,f,m?a:t,m)},copyTo:function(f,m){return mS(i,f,m,a)}};return u.isPrim?n&&n[lr](t,u)?u.result:e:MO(i,e,o,function(f){ft(u,"result",{g:function(){return f.v},s:function(p){f.v=p}});for(var m=0,h=n;!(h||(m<jR.length?jR[m++]:OO))[lr](t,u);)h=Wt})}function mS(i,e,t,r){return NO(t)||IO(t,function(n,o){e[n]=H_(i,o,r,n)}),e}function LO(i,e,t){var r={handler:t,src:e,path:[]};return mS([],i,e,r)}function BO(i,e){var t={handler:e,src:i};return H_([],i,t)}function FO(i){var e=i.value;if(ye(e)){var t=i.result=[];return t.length=e.length,i.copyTo(t,e),!0}return!1}function GO(i){var e=i.value;return Rp(e)?(i.result=new Date(e.getTime()),!0):!1}function HO(i){return i.type===wp}function pS(i){var e=i.value;if(e&&i.isPlain){var t=i.result={};return i.copyTo(t,e),!0}return!1}function UO(i,e){return z(e,function(t){LO(i,t)}),i}function U_(i,e,t,r,n,o,a){return UO(BO(i)||{},to[lr](arguments))}function Aa(){return!mr&&Ia(),(!b_||mr.lzy)&&(b_=Pi(He(Ie,["performance"]).v)),b_.v}function Nd(){var i=Aa();return i&&i.now?i.now():$t()}function WO(i,e,t){XR(i);var r=Ue(e)?e:cr(e),n=!Ve(t)&&t<i[Zs]?t:i[Zs];return wr(i,n-r[Zs],n)===r}function YO(i,e,t){XR(i);var r=Ue(e)?e:cr(e),n=t>0?t:0;return wr(i,n,n+r[Zs])===r}function KO(i,e,t){var r=!0,n=i?e(Wt):Wt,o;function a(){return r=!1,n&&n[w_]&&n[w_](),o}function s(){n&&t(n),n=Wt}function c(){return n=e(n),r||a(),o}function l(u){!u&&n&&s(),u&&!n&&c()}return o={cancel:s,refresh:c},o[E_]=function(){return n&&n[E_]?n[E_]():r},o[C_]=function(){return r=!0,n&&n[C_]&&n[C_](),o},o[w_]=a,o=xi(o,$O,{get:function(){return!!n},set:l}),{h:o,dn:function(){n=Wt}}}function VO(i){var e=Se(i)?i:jO;if(!e){var t=xp().tmOut||[];ye(t)&&t.length>0&&Se(t[0])&&(e=t[0])}return e||setTimeout}function JO(i){var e=Se(i)?i:zO;if(!e){var t=xp().tmOut||[];ye(t)&&t.length>1&&Se(t[1])&&(e=t[1])}return e||clearTimeout}function W_(i,e,t){var r=ye(e),n=r?e.length:0,o=VO(n>0?e[0]:r?Kr:e),a=JO(n>1?e[1]:Kr),s=t[0];t[0]=function(){c.dn(),Xs(s,Kr,to[lr](arguments))};var c=KO(i,function(l){if(l){if(l.refresh)return l.refresh(),l;Xs(a,Kr,[l])}return Xs(o,Kr,t)},function(l){Xs(a,Kr,[l])});return c.h}function Ki(i,e){return W_(!0,Kr,to[lr](arguments))}function hS(i,e,t){return W_(!0,i,to[lr](arguments,1))}function gS(i,e){return W_(!1,Kr,to[lr](arguments))}var Kr,Wt,R_,wp,Sd,jr,Dd,Qs,Rd,S_,Zs,_p,lr,xd,x_,AN,Mr,Pd,zR,jo,VR,JR,Nl,to,kN,NN,ON,MN,LN,BN,FN,GN,HN,UN,WN,YN,HR,UR,d_,Ue,Se,ye,Rp,zr,ro,ec,cr,JN,qN,sn,tc,rO,iO,gp,xi,A_,nO,tS,Ml,Vr,cn,N_,D_,aS,WR,f_,cO,YR,wr,no,An,mr,mO,pO,$R,hO,m_,gO,yp,cS,Ed,Zt,pr,Er,Pp,lS,kl,p_,vp,mt,zo,F_,Gl,kd,h_,dS,RO,xO,pt,fS,PO,g_,y_,v_,__,jR,b_,Ti,nc,Hl,C_,w_,E_,$O,jO,zO,Be=V(()=>{Kr=void 0,Wt=null,R_="",wp="function",Sd="object",jr="prototype",Dd="__proto__",Qs="undefined",Rd="constructor",S_="Symbol",Zs="length",_p="name",lr="call",xd="toString",x_="getOwnPropertyDescriptor",AN="getOwnPropertySymbols",Mr=Qt(Object),Pd=Et(Mr,jr),zR=Qt(String),jo=Et(zR,jr),VR=Qt(Math),JR=Qt(Array),Nl=Et(JR,jr),to=Et(Nl,"slice"),kN=Qt(Number),NN=Et(kN,jr),ON=Qt(Function),MN=Et(ON,jr),LN=Qt(Date),BN=Et(LN,jr),FN=Qt(RegExp),GN=Et(FN,jr),HN=Qt(Boolean),UN=Et(HN,jr),WN=Qt(Error),YN=Et(WN,jr),HR="_polyfill",UR="__nw21$polytype__";Ue=Ep("string"),Se=Ep(wp);ye=Et(JR,"isArray"),Rp=qR("Date"),zr=Ep("number"),ro=Ep("boolean"),ec=qR("Error");cr=Qt(zR),JN="[object Error]";qN=Qt(Et(Mr,x_),I_),sn=Qt(Et(Mr,"hasOwn"),QN);tc=Ol;rO=ZN("propertyIsEnumerable",Pd,tO),iO=Qt(Et(Mr,x_),I_),gp={e:"enumerable",c:"configurable",v:"value",w:"writable",g:"get",s:"set"};xi=Et(Mr,"defineProperty"),A_=Et(Mr,"defineProperties");nO=Qt(Et(Mr,"isFrozen"),VN),tS=Et(Mr,"freeze");Ml=Et(Mr,"assign"),Vr=Et(Mr,"keys");cn=Qt(tS,rS),N_=Qt(Et(Mr,"seal"),rS),D_=Qt(Et(Mr,"getPrototypeOf"),oO);aS=aO({asyncIterator:0,hasInstance:1,isConcatSpreadable:2,iterator:3,match:4,matchAll:5,replace:6,search:7,species:8,split:9,toPrimitive:10,toStringTag:11,unscopables:12}),WR="__tsUtils$gblCfg";cO=Et(VR,"max"),YR=tc("slice",jo),wr=tc("substring",jo),no=Ol("substr",jo,lO);An=Qt(Et(Mr,"create"),dO);mO=Et(VR,"random"),pO=O_(function(){for(var i=$t().toString(36).slice(2);i.length<16;)i+=mO().toString(36).slice(2);return i=i.substring(0,16),i}),$R="_urid",hO="$nw21sym",gO=0;cS="window";Zt=Td(Ie,["document"]);pr=Td(Ie,[cS]);Er=Td(Ie,["navigator"]);Pp=Td(Ie,["history"]),lS=Td(function(){return!!He(function(){return process&&(process.versions||{}).node}).v});mt=tc("indexOf",Nl),zo=tc("map",Nl);F_=Ol("includes",Nl,wO),Gl=eO(Zs),kd=tc("reduce",Nl),dS=Qt(Et(Mr,"setPrototypeOf"),EO);RO=tc("replace",jo);xO=SO(/^\s+|(?=\s)\s+$/g),pt=Ol("trim",jo,xO),fS=Qt(Et(Mr,x_),I_),PO=Qt(Et(Mr,AN),zN);jR=[FO,pS,HO,GO];Ti=tc("indexOf",jo),nc=Ol("endsWith",jo,WO);Hl=Ol("startsWith",jo,YO);C_="ref",w_="unref",E_="hasRef",$O="enabled"});function Ii(i,e){typeof e!==Il&&e!==null&&oi("Class extends value "+String(e)+" is not a constructor or null"),Y_(i,e);function t(){this.constructor=i}i[Pn]=e===null?An(e):(t[Pn]=e[Pn],new t)}function kp(i,e){for(var t=0,r=e.length,n=i.length;t<r;t++,n++)i[n]=e[t];return i}var U2,W2,yS,QO,ln,Y_,vS=V(()=>{Be();u_();U2=(hi()||{}).Symbol,W2=(hi()||{}).Reflect,yS="hasOwnProperty",QO=function(i){for(var e,t=1,r=arguments.length;t<r;t++){e=arguments[t];for(var n in e)wd[yS].call(e,n)&&(i[n]=e[n])}return i},ln=Ml||QO,Y_=function(i,e){return Y_=Al.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var n in r)r[yS](n)&&(t[n]=r[n])},Y_(i,e)}});var _S=V(()=>{});var Ai=V(()=>{u_();vS();_S();Be()});function Lp(i){return i&&(i===Q_[Vo]||i===Array[Vo])}function X_(i){return Lp(i)||i===Function[Vo]}function oc(i){var e;if(i){if(Md)return Md(i);var t=i[q_]||i[Vo]||(i[Bp]?i[Bp][Vo]:null);e=i[Op]||t,Cr(i,Op)||(delete i[$_],e=i[Op]=i[$_]||i[Op],i[$_]=t)}return e}function Hp(i,e){var t=[];if(wS)t=wS(i);else for(var r in i)typeof r=="string"&&Cr(i,r)&&t.push(r);if(t&&t.length>0)for(var n=0;n<t.length;n++)e(t[n])}function Z_(i,e,t){return e!==Bp&&typeof i[e]===Fp&&(t||Cr(i,e))&&e!==q_&&e!==Vo}function Up(i){oi("DynamicProto: "+i)}function ZO(i){var e=An(null);return Hp(i,function(t){!e[t]&&Z_(i,t,!1)&&(e[t]=i[t])}),e}function eb(i,e){for(var t=i.length-1;t>=0;t--)if(i[t]===e)return!0;return!1}function eM(i,e,t,r){function n(c,l,u){var f=l[u];if(f[j_]&&r){var m=c[Gp]||{};m[Od]!==!1&&(f=(m[l[Ul]]||{})[u]||f)}return function(){return f.apply(c,arguments)}}var o=An(null);Hp(t,function(c){o[c]=n(e,t,c)});for(var a=oc(i),s=[];a&&!X_(a)&&!eb(s,a);)Hp(a,function(c){!o[c]&&Z_(a,c,!Md)&&(o[c]=n(e,a,c))}),s.push(a),a=oc(a);return o}function tM(i,e,t,r){var n=null;if(i&&Cr(t,Ul)){var o=i[Gp]||An(null);if(n=(o[t[Ul]]||An(null))[e],n||Up("Missing ["+e+"] "+Fp),!n[z_]&&o[Od]!==!1){for(var a=!Cr(i,e),s=oc(i),c=[];a&&s&&!X_(s)&&!eb(c,s);){var l=s[e];if(l){a=l===r;break}c.push(s),s=oc(s)}try{a&&(i[e]=n),n[z_]=1}catch{o[Od]=!1}}}return n}function rM(i,e,t){var r=e[i];return r===t&&(r=oc(e)[i]),typeof r!==Fp&&Up("["+i+"] is not a "+Fp),r}function iM(i,e,t,r,n){function o(c,l){var u=function(){var f=tM(this,l,c,u)||rM(l,c,u);return f.apply(this,arguments)};return u[j_]=1,u}if(!Lp(i)){var a=t[Gp]=t[Gp]||An(null);if(!Lp(a)){var s=a[e]=a[e]||An(null);a[Od]!==!1&&(a[Od]=!!n),Lp(s)||Hp(t,function(c){Z_(t,c,!1)&&t[c]!==r[c]&&(s[c]=t[c],delete t[c],(!Cr(i,c)||i[c]&&!i[c][j_])&&(i[c]=o(i,c)))})}}}function nM(i,e){if(Md){for(var t=[],r=oc(e);r&&!X_(r)&&!eb(t,r);){if(r===i)return!0;t.push(r),r=oc(r)}return!1}return!0}function K_(i,e){return Cr(i,Vo)?i.name||e||bS:((i||{})[Bp]||{}).name||e||bS}function rt(i,e,t,r){Cr(i,Vo)||Up("theClass is an invalid class definition.");var n=i[Vo];nM(n,e)||Up("["+K_(i)+"] not in hierarchy of ["+K_(e)+"]");var o=null;Cr(n,Ul)?o=n[Ul]:(o=XO+K_(i,"_")+"$"+J_.n,J_.n++,n[Ul]=o);var a=rt[DS],s=!!a[Mp];s&&r&&r[Mp]!==void 0&&(s=!!r[Mp]);var c=ZO(e),l=eM(n,e,c,s);t(e,l);var u=!!Md&&!!a[V_];u&&r&&(u=!!r[V_]),iM(n,o,e,c,u!==!1)}var Np,Bp,Vo,Fp,Gp,j_,Ul,XO,z_,Od,DS,bS,q_,Op,CS,$_,Mp,V_,Q_,Md,wS,ES,J_,Lr=V(()=>{Be();Bp="constructor",Vo="prototype",Fp="function",Gp="_dynInstFuncs",j_="_isDynProxy",Ul="_dynClass",XO="_dynCls$",z_="_dynInstChk",Od=z_,DS="_dfOpts",bS="_unknown_",q_="__proto__",Op="_dyn"+q_,CS="__dynProto$Gbl",$_="_dynInstProto",Mp="useBaseInst",V_="setInstFuncs",Q_=Object,Md=Q_.getPrototypeOf,wS=Q_.getOwnPropertyNames,ES=hi(),J_=ES[CS]||(ES[CS]={o:(Np={},Np[V_]=!0,Np[Mp]=!0,Np),n:1e3});rt[DS]=J_.o});var tb,RS=V(()=>{"use strict";tb=100});var er,rb,Ld=V(()=>{Be();er=nS,rb=oS});var Nn,oM,SS=V(()=>{Ld();Nn=er({Unknown:0,NonRetryableStatus:1,InvalidEvent:2,SizeLimitExceeded:3,KillSwitch:4,QueueFull:5}),oM=er({Unknown:0,NonRetryableStatus:1,CleanStorage:2,MaxInStorageTimeExceeded:3})});var ji,ib=V(()=>{Ld();ji=er({NONE:0,PENDING:3,INACTIVE:1,ACTIVE:2})});var ki,ka,me,ac,sc,Wl,Jo,On,Mn,Dt,Na,Je,oo,Wp,qo,Qo,ao,Yl,$l,Ni,nb,Yp,cc,Bd,Oa,Br,Kl,Ma,Dr,$p,ob,La,ab,Oi,Fd,lc,Kp,so,zi,jl,co,Ln,Mi,Ba,uc,Vi,Fa,jp,Gd,un,zp,Bn,sb,Li,Hd,dc,cb,lb,Ud,Ga,fc,Fn,Vp,ub,zl,db,Jp,mc,fb,Vl,Jl,Ha,qp,bt=V(()=>{ki="toLowerCase",ka="blkVal",me="length",ac="rdOnly",sc="notify",Wl="warnToConsole",Jo="throwInternal",On="setDf",Mn="watch",Dt="logger",Na="apply",Je="push",oo="splice",Wp="hdlr",qo="cancel",Qo="initialize",ao="identifier",Yl="removeNotificationListener",$l="addNotificationListener",Ni="isInitialized",nb="instrumentationKey",Yp="INACTIVE",cc="value",Bd="getNotifyMgr",Oa="getPlugin",Br="name",Kl="iKey",Ma="time",Dr="processNext",$p="getProcessTelContext",ob="pollInternalLogs",La="enabled",ab="stopPollingInternalLogs",Oi="unload",Fd="onComplete",lc="version",Kp="loggingLevelConsole",so="createNew",zi="teardown",jl="messageId",co="message",Ln="isAsync",Mi="diagLog",Ba="_doTeardown",uc="update",Vi="getNext",Fa="setNextPlugin",jp="protocol",Gd="userAgent",un="split",zp="nodeType",Bn="replace",sb="logInternalMessage",Li="type",Hd="handler",dc="status",cb="getResponseHeader",lb="getAllResponseHeaders",Ud="isChildEvt",Ga="data",fc="getCtx",Fn="setCtx",Vp="complete",ub="itemsReceived",zl="urlString",db="sendPOST",Jp="headers",mc="timeout",fb="setRequestHeader",Vl="traceId",Jl="spanId",Ha="traceFlags",qp="getAttribute"});function xS(i,e){mb||(mb=G_("AggregationError",function(r,n){n[me]>1&&(r.errors=n[1])}));var t=i||"One or more errors occurred.";throw z(e,function(r,n){t+=`
`.concat(n," > ").concat(ve(r))}),new mb(t,e||[])}var mb,PS=V(()=>{Be();bt()});function Ji(i,e){return kS(i,function(t){return e?e({status:"fulfilled",rejected:!1,value:t}):t},function(t){return e?e({status:Cb,rejected:!0,reason:t}):t})}function kS(i,e,t,r){var n=i;try{if(pi(i))(e||t)&&(n=i.then(e,t));else try{e&&(n=e(i))}catch(o){if(t)n=t(o);else throw o}}finally{r&&aM(n,r)}return n}function aM(i,e){var t=i;return e&&(pi(i)?i.finally?t=i.finally(e):t=i.then(function(r){return e(),r},function(r){throw e(),r}):e()),t}function sM(i,e,t,r){pb=pb||{toString:function(){return"[[PromiseState]]"}},hb=hb||{toString:function(){return"[[PromiseResult]]"}},gb=gb||{toString:function(){return"[[PromiseIsHandled]]"}};var n={};n[pb]={get:e},n[hb]={get:t},n[gb]={get:r},A_(i,n)}function cM(i){var e;return i&&i.createEvent&&(e=i.createEvent("Event")),!!e&&e.initEvent}function lM(i,e,t,r){var n=Zt();!Qp&&(Qp=Pi(!!He(cM,[n]).v));var o=Qp.v?n.createEvent("Event"):r?new Event(e):{};if(t&&t(o),Qp.v&&o.initEvent(e,!1,!0),o&&i[IS])i[IS](o);else{var a=i["on"+e];if(a)a(o);else{var s=Ie("console");s&&(s.error||s.log)(e,ve(o))}}}function AS(i){return Se(i)?i.toString():ve(i)}function MS(i,e,t){var r=Fl(arguments,3),n=0,o=!1,a,s=[],c=dM++,l=Wd.length>0?Wd[Wd.length-1]:void 0,u=!1,f=null,m;function h(L,Y){try{Wd.push(c),u=!0,f&&f.cancel(),f=null;var $=i(function(G,W){s.push(function(){try{var H=n===2?L:Y,T=Ve(H)?a:Se(H)?H(a):H;pi(T)?T.then(G,W):H?G(T):n===3?W(T):G(T)}catch(ee){W(ee)}}),o&&S()},r);return $}finally{Wd.pop()}}function p(L){return h(void 0,L)}function _(L){var Y=L,$=L;return Se(L)&&(Y=function(G){return L&&L(),G},$=function(G){throw L&&L(),G}),h(Y,$)}function b(){return NS[n]}function S(){if(s.length>0){var L=s.slice();s=[],u=!0,f&&f.cancel(),f=null,e(L)}}function E(L,Y){return function($){if(n===Y){if(L===2&&pi($)){n=1,$.then(E(2,1),E(3,1));return}n=L,o=!0,a=$,S(),!u&&L===3&&!f&&(f=Ki(R,fM))}}}function R(){if(!u)if(u=!0,lS())process.emit(OS,a,m);else{var L=pr()||hi();!yb&&(yb=Pi(He(Ie,[Xp+"RejectionEvent"]).v)),lM(L,uM,function(Y){return ft(Y,"promise",{g:function(){return m}}),Y.reason=a,Y},!!yb.v)}}m={then:h,catch:p,finally:_},xi(m,"state",{get:b}),TS&&sM(m,b,function(){return Dp(a)},function(){return u}),uS()&&(m[Ad(11)]="IPromise");function P(){return"IPromise"+(TS?"["+c+(Ve(l)?"":":"+l)+"]":"")+" "+b()+(o?" - "+AS(a):"")}return m.toString=P,(function(){Se(t)||oi(Xp+": executor is not a function - "+AS(t));var Y=E(3,0);try{t.call(m,E(2,0),Y)}catch($){Y($)}})(),m}function mM(i){return function(e){var t=Fl(arguments,1);return i(function(r,n){try{var o=[],a=1;Ap(e,function(s,c){s&&(a++,kS(s,function(l){o[c]=l,--a===0&&r(o)},n))}),a--,a===0&&r(o)}catch(s){n(s)}},t)}}function pM(i){return Pi(function(e){var t=Fl(arguments,1);return i(function(r,n){var o=[],a=1;function s(c,l){a++,Ji(c,function(u){u.rejected?o[l]={status:Cb,reason:u.reason}:o[l]={status:"fulfilled",value:u.value},--a===0&&r(o)})}try{ye(e)?z(e,s):B_(e)?Ap(e,s):oi("Input is not an iterable"),a--,a===0&&r(o)}catch(c){n(c)}},t)})}function LS(i){z(i,function(e){try{e()}catch{}})}function hM(i){var e=zr(i)?i:0;return function(t){Ki(function(){LS(t)},e)}}function BS(i,e){return MS(BS,hM(e),i,e)}function gM(i,e){!vb&&(vb=Pi(He(Ie,[Xp]).v||null));var t=vb.v;if(!t)return BS(i);Se(i)||oi(Xp+": executor is not a function - "+ve(i));var r=0;function n(){return NS[r]}var o=new t(function(a,s){function c(u){r=2,a(u)}function l(u){r=3,s(u)}i(c,l)});return xi(o,"state",{get:n}),o}function Yd(i){return MS(Yd,LS,i)}function FS(i,e){return!_b&&(_b=pM(Yd)),_b.v(i,e)}function dn(i,e){return!bb&&(bb=Pi(gM)),bb.v.call(this,i,e)}var Xp,Cb,pb,hb,gb,TS,NS,IS,Qp,OS,uM,Wd,dM,fM,yb,vb,_b,bb,GS,R$,pc=V(()=>{Be();Xp="Promise",Cb="rejected";TS=!1;NS=["pending","resolving","resolved",Cb],IS="dispatchEvent";OS="unhandledRejection",uM=OS.toLowerCase(),Wd=[],dM=0,fM=10;GS=mM(dn),R$=Ad(11)});var qi,Fe,Ua,Kt,Zp,$d,Xo,hc,Bi,gc,ql,Wa,Ql,lo,eh,th,rh,Xl,ih,nh,HS,hr=V(()=>{qi=void 0,Fe="",Ua="channels",Kt="core",Zp="createPerfMgr",$d="disabled",Xo="extensionConfig",hc="extensions",Bi="processTelemetry",gc="priority",ql="eventsSent",Wa="eventsDiscarded",Ql="eventsSendRequest",lo="perfEvent",eh="offlineEventsStored",th="offlineBatchSent",rh="offlineBatchDrop",Xl="getPerfMgr",ih="domain",nh="path",HS="Not dynamic - "});function fn(i){return!X(i)}function yc(i){var e=i;return e&&Ue(e)&&(e=e[Bn](vM,function(t,r){return r.toUpperCase()}),e=e[Bn](_M,"_"),e=e[Bn](bM,function(t,r){return"_"+r})),e}function ur(i,e){return i&&e?Ti(i,e)!==-1:!1}function Qi(i){return i&&i.toISOString()||""}function Pt(i){return ec(i)?i[Br]:Fe}function mn(i,e,t,r,n){var o=t;return i&&(o=i[e],o!==t&&(!n||n(o))&&(!r||r(t))&&(o=t,i[e]=o)),o}function Kd(i,e,t){var r;return i?(r=i[e],!r&&X(r)&&(r=Ve(t)?{}:t,i[e]=r)):r=Ve(t)?{}:t,r}function WS(i,e){var t=null,r=null;return Se(i)?t=i:r=i,function(){var n=arguments;if(t&&(r=t()),r)return r[e][Na](r,n)}}function wb(i,e,t){if(i&&e&&Yt(i)&&Yt(e)){var r=function(o){if(Ue(o)){var a=e[o];Se(a)?(!t||t(o,!0,e,i))&&(i[o]=WS(e,o)):(!t||t(o,!1,e,i))&&(sn(i,o)&&delete i[o],ft(i,o,{g:function(){return e[o]},s:function(s){e[o]=s}}))}};for(var n in e)r(n)}return i}function Zo(i,e,t,r,n){i&&e&&t&&(n!==!1||Ve(i[e]))&&(i[e]=WS(t,r))}function Xi(i,e,t,r){return i&&e&&Yt(i)&&ye(t)&&z(t,function(n){Ue(n)&&Zo(i,n,e,n,r)}),i}function Eb(i){return(function(){function e(){var t=this;i&&we(i,function(r,n){t[r]=n})}return e})()}function Fi(i){return i&&Ml&&(i=Al(Ml({},i))),i}function oh(i,e,t,r,n,o){var a=arguments,s=a[0]||{},c=a[me],l=!1,u=1;for(c>0&&ro(s)&&(l=s,s=a[u]||{},u++),Yt(s)||(s={});u<c;u++){var f=a[u],m=ye(f),h=Yt(f);for(var p in f){var _=m&&p in f||h&&sn(f,p);if(_){var b=f[p],S=void 0;if(l&&b&&((S=ye(b))||Jr(b))){var E=s[p];S?ye(E)||(E=[]):Jr(E)||(E={}),b=oh(l,E,b)}b!==void 0&&(s[p]=b)}}}return s}function Gn(i){try{return i.responseText}catch{}return null}function vc(i,e){return i?"XDomainRequest,Response:"+Gn(i)||"":e}function ea(i,e){return i?"XMLHttpRequest,Status:"+i[dc]+",Response:"+Gn(i)||i.response||"":e}function ta(i,e){return e&&(zr(e)?i=[e].concat(i):ye(e)&&(i=e.concat(i))),i}function Db(i,e,t,r,n,o){r===void 0&&(r=!1),n===void 0&&(n=!1);function a(c,l,u){try{c[l]=u}catch{}}var s=new XMLHttpRequest;return r&&a(s,CM,r),t&&a(s,US,t),s.open(i,e,!n),t&&a(s,US,t),!n&&o&&a(s,wM,o),s}function ah(i){var e={};if(Ue(i)){var t=pt(i)[un](/[\r\n]+/);z(t,function(r){if(r){var n=r.indexOf(": ");if(n!==-1){var o=pt(r.substring(0,n))[ki](),a=pt(r.substring(n+1));e[o]=a}else e[pt(r)]=1}})}return e}function Zl(i,e,t){if(!i[t]&&e&&e[cb]){var r=e[cb](t);r&&(i[t]=pt(r))}return i}function ra(i,e){var t={};return i[lb]?t=ah(i[lb]()):e&&(t=Zl(t,i,RM),t=Zl(t,i,EM),t=Zl(t,i,DM)),t}var yM,vM,_M,bM,k$,CM,US,wM,EM,DM,RM,uo=V(()=>{Ai();Be();bt();hr();yM="getPrototypeOf",vM=/-([a-z])/g,_M=/([^\w\d_$])/g,bM=/^(\d+[\w\d_$])/,k$=Object[yM];CM="Microsoft_ApplicationInsights_BypassAjaxInstrumentation",US="withCredentials",wM="timeout";EM="kill-duration",DM="kill-duration-seconds",RM="time-delta-millis"});function jS(i,e){var t=!1;if(i){try{if(t=e in i,!t){var r=i[Pn];r&&(t=e in r)}}catch{}if(!t)try{var n=new i;t=!Ve(n[e])}catch{}}return t}function Ib(i){KS=i}function _c(i){if(i&&KS){var e=Ie("__mockLocation");if(e)return e}return typeof location===Ko&&location?location:Ie(xM)}function jd(){return typeof console!==eo?console:Ie(PM)}function fo(){return!!(typeof JSON===Ko&&JSON||Ie(YS)!==null)}function qr(){return fo()?JSON||Ie(YS):null}function zd(){return Ie(TM)}function Vd(){return Ie(IM)}function Ya(){var i=Er();return i&&i.product?i.product===AM:!1}function $a(){var i=Er();if(i&&(i[Gd]!==Sb||Rb===null)){Sb=i[Gd];var e=(Sb||Fe)[ki]();Rb=ur(e,Pb)||ur(e,Tb)}return Rb}function Jd(i){if(i===void 0&&(i=null),!i){var e=Er()||{};i=e?(e.userAgent||Fe)[ki]():Fe}var t=(i||Fe)[ki]();if(ur(t,Pb)){var r=Zt()||{};return Math.max(parseInt(t[un](Pb)[1]),r[SM]||0)}else if(ur(t,Tb)){var n=parseInt(t[un](Tb)[1]);if(n)return n+4}return null}function Gi(i){return(xb===null||i===!1)&&(xb=Id()&&!!Er().sendBeacon),xb}function ia(i){var e=!1;try{e=!!Ie("fetch");var t=Ie("Request");e&&i&&t&&(e=jS(t,"keepalive"))}catch{}return e}function qd(){return eu===null&&(eu=typeof XDomainRequest!==eo,eu&&tu()&&(eu=eu&&!jS(Ie($S),"withCredentials"))),eu}function tu(){var i=!1;try{var e=Ie($S);i=!!e}catch{}return i}function zS(i,e){if(i)for(var t=0;t<i[me];t++){var r=i[t];if(r[Br]&&r[Br]===e)return r}return{}}function Ab(i){var e=Zt();return e&&i?zS(e.querySelectorAll("meta"),i).content:null}function kb(i){var e,t=Aa();if(t){var r=t.getEntriesByType("navigation")||[];e=zS((r[me]>0?r[0]:{}).serverTiming,i).description}return e}var SM,xM,PM,YS,TM,IM,AM,Pb,Tb,$S,Rb,Sb,KS,eu,xb,Ka=V(()=>{"use strict";Ai();Be();bt();uo();hr();SM="documentMode",xM="location",PM="console",YS="JSON",TM="crypto",IM="msCrypto",AM="ReactNative",Pb="msie",Tb="trident/",$S="XMLHttpRequest",Rb=null,Sb=null,KS=!1,eu=null,xb=null});function kM(i){i<0&&(i>>>=0),Qd=JS+i&ja,Xd=qS-i&ja,QS=!0}function NM(){try{var i=$t()&2147483647;kM((Math.random()*VS^i)+i)}catch{}}function Zd(i){return i>0?Math.floor(na()/ja*(i+1))>>>0:0}function na(i){var e=0,t=zd()||Vd();return t&&t.getRandomValues&&(e=t.getRandomValues(new Uint32Array(1))[0]&ja),e===0&&$a()&&(QS||NM(),e=XS()&ja),e===0&&(e=Math.floor(VS*Math.random()|0)),i||(e>>>=0),e}function XS(i){Xd=36969*(Xd&65535)+(Xd>>16)&ja,Qd=18e3*(Qd&65535)+(Qd>>16)&ja;var e=(Xd<<16)+(Qd&65535)>>>0&ja|0;return i||(e>>>=0),e}function ef(i){i===void 0&&(i=22);for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=na()>>>0,r=0,n=Fe;n[me]<i;)r++,n+=e.charAt(t&63),t>>>=6,r===5&&(t=(na()<<2&4294967295|t&3)>>>0,r=0);return n}var VS,ja,JS,qS,QS,Qd,Xd,sh=V(()=>{Be();bt();Ka();hr();VS=4294967296,ja=4294967295,JS=123456789,qS=987654321,QS=!1,Qd=JS,Xd=qS});function ex(i){return i[zp]===1||i[zp]===9||!+i[zp]}function LM(i,e){var t=e[i.id];if(!t){t={};try{ex(e)&&ft(e,i.id,{e:!1,v:t})}catch{}}return t}function Qr(i,e){return e===void 0&&(e=!1),yc(i+MM+++(e?"."+ZS:Fe)+OM)}function ch(i){var e={id:Qr("_aiData-"+(i||Fe)+"."+ZS),accept:function(t){return ex(t)},get:function(t,r,n,o){var a=t[e.id];return a?a[yc(r)]:(o&&(a=LM(e,t),a[yc(r)]=n),n)},kill:function(t,r){if(t&&t[r])try{delete t[r]}catch{}}};return e}var ZS,OM,MM,ru=V(()=>{Be();bt();uo();hr();sh();ZS="3.3.4",OM="."+ef(6),MM=0});function lh(i){return i&&Yt(i)&&(i.isVal||i.fb||sn(i,"v")||sn(i,"mrg")||sn(i,"ref")||i.set)}function tx(i,e,t){var r,n=t.dfVal||QR;if(e&&t.fb){var o=t.fb;ye(o)||(o=[o]);for(var a=0;a<o[me];a++){var s=o[a],c=e[s];if(n(c)?r=c:i&&(c=i.cfg[s],n(c)&&(r=c),i.set(i.cfg,cr(s),c)),n(r))break}}return!n(r)&&n(t.v)&&(r=t.v),r}function Nb(i,e,t){var r=t;if(t&&lh(t)&&(r=tx(i,e,t)),r){lh(r)&&(r=Nb(i,e,r));var n;ye(r)?(n=[],n[me]=r[me]):Jr(r)&&(n={}),n&&(we(r,function(o,a){a&&lh(a)&&(a=Nb(i,e,a)),n[o]=a}),r=n)}return r}function tf(i,e,t,r){var n,o,a,s=r,c,l,u,f;lh(s)?(n=s.isVal,o=s.set,u=s[ac],f=s[ka],c=s.mrg,l=s.ref,!l&&Ve(l)&&(l=!!c),a=tx(i,e,s)):a=r,f&&i[ka](e,t);var m,h=!0,p=e[t];(p||!X(p))&&(m=p,h=!1,n&&m!==a&&!n(m)&&(m=a,h=!0),o&&(m=o(m,a,e),h=m===a)),h?a?m=Nb(i,e,a):m=a:(Jr(m)||ye(a))&&c&&a&&(Jr(a)||ye(a))&&we(a,function(_,b){tf(i,m,_,b)}),i.set(e,t,m),l&&i.ref(e,t),u&&i[ac](e,t)}var Ob=V(()=>{Be();bt()});function Mb(i){if(i){var e;if(ye(i)?(e=[],e[me]=i[me]):Jr(i)&&(e={}),e)return we(i,function(t,r){e[t]=Mb(r)}),e}return i}function rf(i){if(i){var e=i[mo]||i;if(e.cfg&&(e.cfg===i||e.cfg[mo]===e))return e}return null}function nf(i){if(i&&(Jr(i)||ye(i)))try{i[rx]=!0}catch{}return i}function Lb(i){if(i)try{i[ix]=!0}catch{}return i}function uh(i,e,t){var r=!1;return t&&!i[e.blkVal]&&(r=t[ix],!r&&!t[rx]&&(r=Jr(t)||ye(t))),r}function dh(i){oi("InvalidAccess:"+i)}var mo,rx,ix,fh=V(()=>{Be();bt();mo=Ip("[[ai_dynCfg_1]]"),rx=Ip("[[ai_blkDynCfg_1]]"),ix=Ip("[[ai_frcDynCfg_1]]")});function FM(i,e,t){ye(e)&&z(BM,function(r){var n=e[r];e[r]=function(){for(var o=[],a=0;a<arguments.length;a++)o[a]=arguments[a];var s=n[Na](this,o);return of(i,e,t,"Patching"),s}})}function mh(i,e){var t=fS(i,e);return t&&t.get}function GM(i,e,t,r){var n={n:t,h:[],trk:function(l){l&&l.fn&&(mt(n.h,l)===-1&&n.h[Je](l),i.trk(l,n))},clr:function(l){var u=mt(n.h,l);u!==-1&&n.h[oo](u,1)}},o=!0,a=!1;function s(){o&&(a=a||uh(s,i,r),r&&!r[mo]&&a&&(r=of(i,r,t,"Converting")),o=!1);var l=i.act;return l&&n.trk(l),r}s[i.prop]={chng:function(){i.add(n)}};function c(l){if(r!==l){s[i.ro]&&!i.upd&&dh("["+t+"] is read-only:"+ve(e)),o&&(a=a||uh(s,i,r),o=!1);var u=a&&s[i.rf];if(a)if(u){we(r,function(m){r[m]=l?l[m]:qi});try{we(l,function(m,h){af(i,r,m,h)}),l=r}catch(m){iu((i.hdlr||{})[Dt],t,"Assigning",m),a=!1}}else r&&r[mo]&&we(r,function(m){var h=mh(r,m);if(h){var p=h[i.prop];p&&p.chng()}});if(l!==r){var f=l&&uh(s,i,l);!u&&f&&(l=of(i,l,t,"Converting")),r=l,a=f}i.add(n)}}ft(e,n.n,{g:s,s:c})}function af(i,e,t,r){if(e){var n=mh(e,t),o=n&&!!n[i.prop];o?e[t]=r:GM(i,e,t,r)}return e}function ph(i,e,t,r){if(e){var n=mh(e,t),o=n&&!!n[i.prop],a=r&&r[0],s=r&&r[1],c=r&&r[2];if(!o){if(c)try{nf(e)}catch(l){iu((i.hdlr||{})[Dt],t,"Blocking",l)}try{af(i,e,t,e[t]),n=mh(e,t)}catch(l){iu((i.hdlr||{})[Dt],t,"State",l)}}a&&(n[i.rf]=a),s&&(n[i.ro]=s),c&&(n[i.blkVal]=!0)}return e}function of(i,e,t,r){try{we(e,function(n,o){af(i,e,n,o)}),e[mo]||(xi(e,mo,{get:function(){return i[Wp]}}),FM(i,e,t))}catch(n){iu((i.hdlr||{})[Dt],t,r,n)}return e}var BM,iu,nx=V(()=>{Be();hr();bt();fh();BM=["push","pop","shift","unshift","splice"],iu=function(i,e,t,r){i&&i[Jo](3,108,"".concat(t," [").concat(e,"] failed - ")+ve(r))}});function ox(i){var e,t=Bl(sf+"get"+i.uid+cf),r=Bl(sf+"ro"+i.uid+cf),n=Bl(sf+"rf"+i.uid+cf),o=Bl(sf+"blkVal"+i.uid+cf),a=Bl(sf+"dtl"+i.uid+cf),s=null,c=null,l;function u(p,_){var b=l.act;try{l.act=p,p&&p[a]&&(z(p[a],function(E){E.clr(p)}),p[a]=[]),_({cfg:i.cfg,set:i.set.bind(i),setDf:i[On].bind(i),ref:i.ref.bind(i),rdOnly:i[ac].bind(i)})}catch(E){var S=i[Dt];throw S&&S[Jo](1,107,ve(E)),E}finally{l.act=b||null}}function f(){if(s){var p=s;s=null,c&&c[qo](),c=null;var _=[];if(z(p,function(b){if(b&&(b[a]&&(z(b[a],function(S){S.clr(b)}),b[a]=null),b.fn))try{u(b,b.fn)}catch(S){_[Je](S)}}),s)try{f()}catch(b){_[Je](b)}_[me]>0&&xS("Watcher error(s): ",_)}}function m(p){if(p&&p.h[me]>0){s||(s=[]),c||(c=Ki(function(){c=null,f()},0));for(var _=0;_<p.h[me];_++){var b=p.h[_];b&&mt(s,b)===-1&&s[Je](b)}}}function h(p,_){if(p){var b=p[a]=p[a]||[];mt(b,_)===-1&&b[Je](_)}}return l=(e={prop:t,ro:r,rf:n},e[ka]=o,e[Wp]=i,e.add=m,e[sc]=f,e.use=u,e.trk=h,e),l}var sf,cf,ax=V(()=>{Be();PS();bt();sf="[[ai_",cf="]]"});function HM(i,e){var t={fn:e,rm:function(){t.fn=null,i=null,e=null}};return ft(t,"toJSON",{v:function(){return"WatcherHandler"+(t.fn?"":"[X]")}}),i.use(t,e),t}function UM(i,e,t){var r,n=rf(e);if(n)return n;var o=Qr("dyncfg",!0),a=e&&t!==!1?e:Mb(e),s;function c(){s[sc]()}function l(S,E,R){try{S=af(s,S,E,R)}catch(P){iu(i,E,"Setting value",P)}return S[E]}function u(S){return HM(s,S)}function f(S,E){s.use(null,function(R){var P=s.upd;try{Ve(E)||(s.upd=E),S(R)}finally{s.upd=P}})}function m(S,E){var R;return ph(s,S,E,(R={},R[0]=!0,R))[E]}function h(S,E){var R;return ph(s,S,E,(R={},R[1]=!0,R))[E]}function p(S,E){var R;return ph(s,S,E,(R={},R[2]=!0,R))[E]}function _(S,E){return E&&we(E,function(R,P){tf(b,S,R,P)}),S}var b=(r={uid:null,cfg:a},r[Dt]=i,r[sc]=c,r.set=l,r[On]=_,r[Mn]=u,r.ref=m,r[ac]=h,r[ka]=p,r._block=f,r);return ft(b,"uid",{c:!1,e:!1,w:!1,v:o}),s=ox(b),of(s,a,"config","Creating"),b}function WM(i,e){i?(i[Wl](e),i[Jo](2,108,e)):dh(e)}function Bt(i,e,t,r){var n=UM(t,i||{},r);return e&&n[On](n.cfg,e),n}function gr(i,e,t){var r=i[mo]||i;return r.cfg&&(r.cfg===i||r.cfg[mo]===r)?r[Mn](e):(WM(t,HS+ve(i)),Bt(i,null,t)[Mn](e))}var za=V(()=>{Be();ru();hr();bt();Ob();nx();ax();fh()});function oa(i,e){if(i&&i[Oi])return i[Oi](e)}function hh(i,e,t){var r;return t||(r=dn(function(n){t=n})),i&&Gl(i)>0?Ji(oa(i[0],e),function(){hh(Fl(i,1),e,t)}):t(),r}var Bb=V(()=>{pc();Be();bt()});var sx,Fb,Gb=V(()=>{sx=500,Fb="Microsoft_ApplicationInsights_BypassAjaxInstrumentation"});function YM(i,e,t){return!i&&X(i)?e:ro(i)?i:cr(i)[ki]()==="true"}function Hb(i){return{mrg:!0,v:i}}function nu(i,e,t){return{fb:t,isVal:i,v:e}}function pn(i,e){return{fb:e,set:YM,v:!!i}}var Ub=V(()=>{Be();bt()});function $M(i,e){return function(){var t=arguments,r=Yb(e);if(r){var n=r.listener;n&&n[i]&&n[i][Na](n,t)}}}function KM(){var i=Ie("Microsoft");return i&&(yh=i.ApplicationInsights),yh}function Yb(i){var e=yh;return!e&&i.disableDbgExt!==!0&&(e=yh||KM()),e?e.ChromeDbgExt:null}function cx(i){if(!gh){gh={};for(var e=0;e<Wb[me];e++)gh[Wb[e]]=$M(Wb[e],i)}return gh}var Wb,yh,gh,$b=V(()=>{Be();bt();hr();Wb=[ql,Wa,Ql,lo],yh=null});function lx(i){return i?'"'+i[Bn](/\"/g,Fe)+'"':Fe}function Kb(i,e){var t=jd();if(t){var r="log";t[i]&&(r=i),Se(t[r])&&t[r](e)}}function Hn(i,e){return(i||{})[Dt]||new Va(e)}function jb(i){return i||new Va}function oe(i,e,t,r,n,o){o===void 0&&(o=!1),jb(i)[Jo](e,t,r,n,o)}function gi(i,e){jb(i)[Wl](e)}function zb(i,e,t){jb(i)[sb](e,t)}var ou,ux,jM,zM,VM,JM,qM,bc,Va,Un=V(()=>{"use strict";Lr();Be();za();bt();$b();Ka();hr();ux="warnToConsole",jM="AI (Internal): ",zM="AI: ",VM="AITR_",JM={loggingLevelConsole:0,loggingLevelTelemetry:1,maxMessageLimit:25,enableDebug:!1},qM=(ou={},ou[0]=null,ou[1]="errorToConsole",ou[2]=ux,ou[3]="debugToConsole",ou);bc=(function(){function i(e,t,r,n){r===void 0&&(r=!1);var o=this;o[jl]=e,o[co]=(r?zM:jM)+e;var a=Fe;fo()&&(a=qr().stringify(n));var s=(t?" message:"+lx(t):Fe)+(n?" props:"+lx(a):Fe);o[co]+=s}return i.dataType="MessageData",i})();Va=(function(){function i(e){this.identifier="DiagnosticLogger",this.queue=[];var t=0,r={},n,o,a,s,c;rt(i,this,function(l){c=f(e||{}),l.consoleLoggingLevel=function(){return n},l[Jo]=function(p,_,b,S,E){E===void 0&&(E=!1);var R=new bc(_,b,E,S);if(s)throw ve(R);var P=qM[p]||ux;if(Ve(R[co]))h("throw"+(p===1?"Critical":"Warning"),R);else{if(E){var L=+R[jl];!r[L]&&n>=p&&(l[P](R[co]),r[L]=!0)}else n>=p&&l[P](R[co]);u(p,R)}},l.debugToConsole=function(p){Kb("debug",p),h("warning",p)},l[Wl]=function(p){Kb("warn",p),h("warning",p)},l.errorToConsole=function(p){Kb("error",p),h("error",p)},l.resetInternalMessageCount=function(){t=0,r={}},l[sb]=u,l[Oi]=function(p){c&&c.rm(),c=null};function u(p,_){if(!m()){var b=!0,S=VM+_[jl];if(r[S]?b=!1:r[S]=!0,b&&(p<=o&&(l.queue[Je](_),t++,h(p===1?"error":"warn",_)),t===a)){var E="Internal events throttle limit per PageView reached for this app.",R=new bc(23,E,!1);l.queue[Je](R),p===1?l.errorToConsole(E):l[Wl](E)}}}function f(p){return gr(Bt(p,JM,l).cfg,function(_){var b=_.cfg;n=b[Kp],o=b.loggingLevelTelemetry,a=b.maxMessageLimit,s=b.enableDebug})}function m(){return t>=a}function h(p,_){var b=Yb(e||{});b&&b[Mi]&&b[Mi](p,_)}})}return i.__ieDyn=1,i})()});function Zb(){!po&&(po=O_(function(){return Zt()}))}function XM(i,e){var t=aa[Ja]||bh[Ja];return t||(t=aa[Ja]=aa(i,e),bh[Ja]=t),t}function _h(i){return i?i.isEnabled():!0}function bx(i,e){return e&&i&&ye(i.ignoreCookies)?mt(i.ignoreCookies,e)!==-1:!1}function ZM(i,e){return e&&i&&ye(i.blockedCookies)&&mt(i.blockedCookies,e)!==-1?!0:bx(i,e)}function gx(i,e){var t=e[La];if(X(t)){var r=void 0;Ve(i[mx])||(r=!i[mx]),Ve(i[Qb])||(r=!i[Qb]),t=r}return t}function eC(i,e){var t;if(i)t=i.getCookieMgr();else if(e){var r=e.cookieCfg;r&&r[Ja]?t=r[Ja]:t=aa(e)}return t||(t=XM(e,(i||{})[Dt])),t}function aa(i,e){var t,r,n,o,a,s,c,l,u;i=Bt(i||bh,null,e).cfg,a=gr(i,function(m){m[On](m.cfg,QM),r=m.ref(m.cfg,"cookieCfg"),n=r[nh]||"/",o=r[ih],s=gx(i,r)!==!1,c=r.getCookie||eL,l=r.setCookie||_x,u=r.delCookie||_x},e);var f=(t={isEnabled:function(){var m=gx(i,r)!==!1&&s&&au(e),h=bh[Ja];return m&&h&&f!==h&&(m=_h(h)),m},setEnabled:function(m){s=m!==!1,r[La]=m},set:function(m,h,p,_,b){var S=!1;if(_h(f)&&!ZM(r,m)){var E={},R=pt(h||Fe),P=Ti(R,";");if(P!==-1&&(R=pt(rc(h,P)),E=Cx(wr(h,P+1))),mn(E,ih,_||o,In,Ve),!X(p)){var L=$a();if(Ve(E[Jb])){var Y=$t(),$=Y+p*1e3;if($>0){var G=new Date;G.setTime($),mn(E,Jb,yx(G,L?dx:fx)||yx(G,L?dx:fx)||Fe,In)}}L||mn(E,"max-age",Fe+p,null,Ve)}var W=_c();W&&W[jp]==="https:"&&(mn(E,"secure",null,null,Ve),qb===null&&(qb=!Ch((Er()||{})[Gd])),qb&&mn(E,"SameSite","None",null,Ve)),mn(E,nh,b||n,null,Ve),l(m,vx(R,E)),S=!0}return S},get:function(m){var h=Fe;return _h(f)&&!bx(r,m)&&(h=c(m)),h},del:function(m,h){var p=!1;return _h(f)&&(p=f.purge(m,h)),p},purge:function(m,h){var p,_=!1;if(au(e)){var b=(p={},p[nh]=h||"/",p[Jb]="Thu, 01 Jan 1970 00:00:01 GMT",p);$a()||(b["max-age"]="0"),u(m,vx(Fe,b)),_=!0}return _}},t[Oi]=function(m){a&&a.rm(),a=null},t);return f[Ja]=f,f}function au(i){if(vh===null){vh=!1,!po&&Zb();try{var e=po.v||{};vh=e[Xb]!==void 0}catch(t){oe(i,2,68,"Cannot access document.cookie - "+Pt(t),{exception:ve(t)})}}return vh}function Cx(i){var e={};if(i&&i[me]){var t=pt(i)[un](";");z(t,function(r){if(r=pt(r||Fe),r){var n=Ti(r,"=");n===-1?e[r]=null:e[pt(rc(r,n))]=pt(wr(r,n+1))}})}return e}function yx(i,e){return Se(i[e])?i[e]():null}function vx(i,e){var t=i||Fe;return we(e,function(r,n){t+="; "+r+(X(n)?Fe:"="+n)}),t}function eL(i){var e=Fe;if(!po&&Zb(),po.v){var t=po.v[Xb]||Fe;px!==t&&(hx=Cx(t),px=t),e=pt(hx[i]||Fe)}return e}function _x(i,e){!po&&Zb(),po.v&&(po.v[Xb]=i+"="+e)}function Ch(i){return Ue(i)?!!(ur(i,"CPU iPhone OS 12")||ur(i,"iPad; CPU OS 12")||ur(i,"Macintosh; Intel Mac OS X 10_14")&&ur(i,"Version/")&&ur(i,"Safari")||ur(i,"Macintosh; Intel Mac OS X 10_14")&&nc(i,"AppleWebKit/605.1.15 (KHTML, like Gecko)")||ur(i,"Chrome/5")||ur(i,"Chrome/6")||ur(i,"UnrealEngine")&&!ur(i,"Chrome")||ur(i,"UCBrowser/12")||ur(i,"UCBrowser/11")):!1}var Vb,Cc,dx,fx,Xb,Jb,mx,Qb,Ja,vh,qb,px,po,hx,bh,QM,tC=V(()=>{Be();Ub();za();bt();Un();Ka();uo();hr();dx="toGMTString",fx="toUTCString",Xb="cookie",Jb="expires",mx="isCookieUseDisabled",Qb="disableCookiesUsage",Ja="_ckMgr",vh=null,qb=null,px=null,hx={},bh={},QM=(Vb={cookieCfg:Hb((Cc={},Cc[ih]={fb:"cookieDomain",dfVal:fn},Cc.path={fb:"cookiePath",dfVal:fn},Cc.enabled=qi,Cc.ignoreCookies=qi,Cc.blockedCookies=qi,Cc)),cookieDomain:qi,cookiePath:qi},Vb[Qb]=qi,Vb)});function rL(i){i.h=null;var e=i.cb;i.cb=[],z(e,function(t){He(t.fn,[t.arg])})}function qa(i,e,t,r){z(i,function(n){n&&n[e]&&(t?(t.cb[Je]({fn:r,arg:n}),t.h=t.h||Ki(rL,0,t)):He(r,[n]))})}var tL,lf,rC=V(()=>{Lr();pc();Be();za();bt();hr();tL={perfEvtsSendAll:!1};lf=(function(){function i(e){this.listeners=[];var t,r,n=[],o={h:null,cb:[]},a=Bt(e,tL);r=a[Mn](function(s){t=!!s.cfg.perfEvtsSendAll}),rt(i,this,function(s){ft(s,"listeners",{g:function(){return n}}),s[$l]=function(c){n[Je](c)},s[Yl]=function(c){for(var l=mt(n,c);l>-1;)n[oo](l,1),l=mt(n,c)},s[ql]=function(c){qa(n,ql,o,function(l){l[ql](c)})},s[Wa]=function(c,l){qa(n,Wa,o,function(u){u[Wa](c,l)})},s[Ql]=function(c,l){qa(n,Ql,l?o:null,function(u){u[Ql](c,l)})},s[lo]=function(c){c&&(t||!c[Ud]())&&qa(n,lo,null,function(l){c[Ln]?Ki(function(){return l[lo](c)},0):l[lo](c)})},s[eh]=function(c){c&&c[me]&&qa(n,eh,o,function(l){l[eh](c)})},s[th]=function(c){c&&c[Ga]&&qa(n,th,o,function(l){l[th](c)})},s[rh]=function(c,l){if(c>0){var u=l||0;qa(n,rh,o,function(f){f[rh](c,u)})}},s[Oi]=function(c){var l=function(){r&&r.rm(),r=null,n=[],o.h&&o.h[qo](),o.h=null,o.cb=[]},u;if(qa(n,"unload",null,function(f){var m=f[Oi](c);m&&(u||(u=[]),u[Je](m))}),u)return dn(function(f){return Ji(GS(u),function(){l(),f()})});l()}})}return i.__ieDyn=1,i})()});function tr(i,e,t,r,n){if(i){var o=i;if(o[Xl]&&(o=o[Xl]()),o){var a=void 0,s=o[fc](iC);try{if(a=o.create(e(),r,n),a){if(s&&a[Fn]&&(a[Fn](wc[nC],s),s[fc]&&s[Fn])){var c=s[fc](wc[uf]);c||(c=[],s[Fn](wc[uf],c)),c[Je](a)}return o[Fn](iC,a),t(a)}}catch(l){a&&a[Fn]&&a[Fn]("exception",l)}finally{a&&o.fire(a),o[Fn](iC,s)}}}return t()}function oC(){return iL}var su,nC,uf,iL,wc,df,iC,wh=V(()=>{Lr();Be();bt();hr();su="ctx",nC="ParentContextKey",uf="ChildrenContextKey",iL=null,wc=(function(){function i(e,t,r){var n=this;if(n.start=$t(),n[Br]=e,n[Ln]=r,n[Ud]=function(){return!1},Se(t)){var o;ft(n,"payload",{g:function(){return!o&&Se(t)&&(o=t(),t=null),o}})}n[fc]=function(a){return a?a===i[nC]||a===i[uf]?n[a]:(n[su]||{})[a]:null},n[Fn]=function(a,s){if(a)if(a===i[nC])n[a]||(n[Ud]=function(){return!0}),n[a]=s;else if(a===i[uf])n[a]=s;else{var c=n[su]=n[su]||{};c[a]=s}},n[Vp]=function(){var a=0,s=n[fc](i[uf]);if(ye(s))for(var c=0;c<s[me];c++){var l=s[c];l&&(a+=l[Ma])}n[Ma]=$t()-n.start,n.exTime=n[Ma]-a,n[Vp]=function(){}}}return i.ParentContextKey="parent",i.ChildrenContextKey="childEvts",i})(),df=(function(){function i(e){this.ctx={},rt(i,this,function(t){t.create=function(r,n,o){return new wc(r,n,o)},t.fire=function(r){r&&(r[Vp](),e&&Se(e[lo])&&e[lo](r))},t[Fn]=function(r,n){if(r){var o=t[su]=t[su]||{};o[r]=n}},t[fc]=function(r){return(t[su]||{})[r]}})}return i.__ieDyn=1,i})(),iC="CoreUtils.doPerf"});function ff(){var i=Ec();return wr(i,0,8)+"-"+wr(i,8,12)+"-"+wr(i,12,16)+"-"+wr(i,16,20)+"-"+wr(i,20)}function Ec(){for(var i=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"],e=Fe,t,r=0;r<4;r++)t=na(),e+=i[t&15]+i[t>>4&15]+i[t>>8&15]+i[t>>12&15]+i[t>>16&15]+i[t>>20&15]+i[t>>24&15]+i[t>>28&15];var n=i[8+(na()&3)|0];return no(e,0,8)+no(e,9,4)+"4"+no(e,13,3)+n+no(e,16,3)+no(e,19,12)}var aC=V(()=>{"use strict";Be();hr();sh()});function sa(i,e,t){return i&&i[me]===e&&i!==t?!!i.match(/^[\da-f]*$/i):!1}function Ex(i,e,t){return sa(i,e)?i:t}function Dx(i){(isNaN(i)||i<0||i>255)&&(i=1);for(var e=i.toString(16);e[me]<2;)e="0"+e;return e}function mf(i,e,t,r){var n;return n={},n[lc]=sa(r,2,cC)?r:sC,n[Vl]=ho(i)?i:Ec(),n[Jl]=go(e)?e:rc(Ec(),16),n.traceFlags=t>=0&&t<=255?t:1,n}function Dc(i,e){var t;if(!i||(ye(i)&&(i=i[0]||""),!i||!Ue(i)||i[me]>8192))return null;if(i.indexOf(",")!==-1){var r=i[un](",");i=r[e>0&&r[me]>e?e:0]}var n=nL.exec(pt(i));return!n||n[1]===cC||n[2]===Eh||n[3]===Dh?null:(t={version:(n[1]||Fe)[ki](),traceId:(n[2]||Fe)[ki](),spanId:(n[3]||Fe)[ki]()},t[Ha]=parseInt(n[4],16),t)}function ho(i){return sa(i,32,Eh)}function go(i){return sa(i,16,Dh)}function cu(i){return!(!i||!sa(i[lc],2,cC)||!sa(i[Vl],32,Eh)||!sa(i[Jl],16,Dh)||!sa(Dx(i[Ha]),2))}function pf(i){return cu(i)?(i[Ha]&wx)===wx:!1}function hf(i){if(i){var e=Dx(i[Ha]);sa(e,2)||(e="01");var t=i[lc]||sC;return t!=="00"&&t!=="ff"&&(t=sC),"".concat(t.toLowerCase(),"-").concat(Ex(i.traceId,32,Eh).toLowerCase(),"-").concat(Ex(i.spanId,16,Dh).toLowerCase(),"-").concat(e.toLowerCase())}return""}function gf(i){var e="traceparent",t=Dc(Ab(e),i);return t||(t=Dc(kb(e),i)),t}function lC(i){var e=i.getElementsByTagName("script"),t=[];return z(e,function(r){var n=r[qp]("src");if(n){var o=r[qp]("crossorigin"),a=r.hasAttribute("async")===!0,s=r.hasAttribute("defer")===!0,c=r[qp]("referrerpolicy"),l={url:n};o&&(l.crossOrigin=o),a&&(l.async=a),s&&(l.defer=s),c&&(l.referrerPolicy=c),t[Je](l)}}),t}var nL,sC,cC,Eh,Dh,wx,uC=V(()=>{Be();bt();aC();Ka();hr();nL=/^([\da-f]{2})-([\da-f]{32})-([\da-f]{16})-([\da-f]{2})(-[^\s]{1,64})?$/i,sC="00",cC="ff",Eh="00000000000000000000000000000000",Dh="0000000000000000",wx=1});function ca(i){return oL.get(i,"state",{},!0)}function dC(i,e){for(var t=[],r=null,n=i[Vi](),o;n;){var a=n[Oa]();if(a){r&&r[Fa]&&a[Bi]&&r[Fa](a),o=ca(a);var s=!!o[Ni];a[Ni]&&(s=a[Ni]()),s||t[Je](a),r=a,n=n[Vi]()}}z(t,function(c){var l=i[Kt]();c[Qo](i.getCfg(),l,e,i[Vi]()),o=ca(c),!c[Kt]&&!o[Kt]&&(o[Kt]=l),o[Ni]=!0,delete o[zi]})}function Rh(i){return i.sort(function(e,t){var r=0;if(t){var n=t[Bi];e[Bi]?r=n?e[gc]-t[gc]:1:n&&(r=-1)}else r=e?1:-1;return r})}function Rx(i){var e={};return{getName:function(){return e[Br]},setName:function(t){i&&i.setName(t),e[Br]=t},getTraceId:function(){return e[Vl]},setTraceId:function(t){i&&i.setTraceId(t),ho(t)&&(e[Vl]=t)},getSpanId:function(){return e[Jl]},setSpanId:function(t){i&&i.setSpanId(t),go(t)&&(e[Jl]=t)},getTraceFlags:function(){return e[Ha]},setTraceFlags:function(t){i&&i.setTraceFlags(t),e[Ha]=t}}}var oL,fC=V(()=>{"use strict";Be();bt();ru();hr();uC();oL=ch("plugin")});function sL(i,e,t){for(;i;){if(i[Oa]()===t)return i;i=i[Vi]()}return Qa([t],e.config||{},e)}function mC(i,e,t,r){var n=null,o=[];e||(e=Bt({},null,t[Dt])),r!==null&&(n=r?sL(i,t,r):i);var a={_next:c,ctx:{core:function(){return t},diagLog:function(){return Hn(t,e.cfg)},getCfg:function(){return e.cfg},getExtCfg:u,getConfig:f,hasNext:function(){return!!n},getNext:function(){return n},setNext:function(h){n=h},iterate:m,onComplete:s}};function s(h,p){for(var _=[],b=2;b<arguments.length;b++)_[b-2]=arguments[b];h&&o[Je]({func:h,self:Ve(p)?a.ctx:p,args:_})}function c(){var h=n;if(n=h?h[Vi]():null,!h){var p=o;p&&p[me]>0&&(z(p,function(_){try{_.func.call(_.self,_.args)}catch(b){oe(t[Dt],2,73,"Unexpected Exception during onComplete - "+ve(b))}}),o=[])}return h}function l(h,p){var _=null,b=e.cfg;if(b&&h){var S=b[Xo];!S&&p&&(S={}),b[Xo]=S,S=e.ref(b,Xo),S&&(_=S[h],!_&&p&&(_={}),S[h]=_,_=e.ref(S,h))}return _}function u(h,p){var _=l(h,!0);return p&&we(p,function(b,S){if(X(_[b])){var E=e.cfg[b];(E||!X(E))&&(_[b]=E)}tf(e,_,b,S)}),e[On](_,p)}function f(h,p,_){_===void 0&&(_=!1);var b,S=l(h,!1),E=e.cfg;return S&&(S[p]||!X(S[p]))?b=S[p]:(E[p]||!X(E[p]))&&(b=E[p]),b||!X(b)?b:_}function m(h){for(var p;p=a._next();){var _=p[Oa]();_&&h(_)}}return a}function yi(i,e,t,r){var n=Bt(e),o=mC(i,n,t,r),a=o.ctx;function s(l){var u=o._next();return u&&u[Bi](l,a),!u}function c(l,u){return l===void 0&&(l=null),ye(l)&&(l=Qa(l,n.cfg,t,u)),yi(l||a[Vi](),n.cfg,t,u)}return a[Dr]=s,a[so]=c,a}function lu(i,e,t){var r=Bt(e.config),n=mC(i,r,e,t),o=n.ctx;function a(c){var l=n._next();return l&&l[Oi](o,c),!l}function s(c,l){return c===void 0&&(c=null),ye(c)&&(c=Qa(c,r.cfg,e,l)),lu(c||o[Vi](),e,l)}return o[Dr]=a,o[so]=s,o}function yf(i,e,t){var r=Bt(e.config),n=mC(i,r,e,t),o=n.ctx;function a(c){return o.iterate(function(l){Se(l[uc])&&l[uc](o,c)})}function s(c,l){return c===void 0&&(c=null),ye(c)&&(c=Qa(c,r.cfg,e,l)),yf(c||o[Vi](),e,l)}return o[Dr]=a,o[so]=s,o}function Qa(i,e,t,r){var n=null,o=!r;if(ye(i)&&i[me]>0){var a=null;z(i,function(s){if(!o&&r===s&&(o=!0),o&&s&&Se(s[Bi])){var c=cL(s,e,t);n||(n=c),a&&a._setNext(c),a=c}})}return r&&!n?Qa([r],e,t):n}function cL(i,e,t){var r=null,n=Se(i[Bi]),o=Se(i[Fa]),a;i?a=i[ao]+"-"+i[gc]+"-"+Px++:a="Unknown-0-"+Px++;var s={getPlugin:function(){return i},getNext:function(){return r},processTelemetry:u,unload:f,update:m,_id:a,_setNext:function(h){r=h}};function c(){var h;return i&&Se(i[xx])&&(h=i[xx]()),h||(h=yi(s,e,t)),h}function l(h,p,_,b,S){var E=!1,R=i?i[ao]:aL,P=h[Sx];return P||(P=h[Sx]={}),h.setNext(r),i&&tr(h[Kt](),function(){return R+":"+_},function(){P[a]=!0;try{var L=r?r._id:Fe;L&&(P[L]=!1),E=p(h)}catch($){var Y=r?P[r._id]:!0;Y&&(E=!0),(!r||!Y)&&oe(h[Mi](),1,73,"Plugin ["+R+"] failed during "+_+" - "+ve($)+", run flags: "+ve(P))}},b,S),E}function u(h,p){p=p||c();function _(b){if(!i||!n)return!1;var S=ca(i);return S[zi]||S[$d]?!1:(o&&i[Fa](r),i[Bi](h,b),!0)}l(p,_,"processTelemetry",function(){return{item:h}},!h.sync)||p[Dr](h)}function f(h,p){function _(){var b=!1;if(i){var S=ca(i),E=i[Kt]||S[Kt];i&&(!E||E===h.core())&&!S[zi]&&(S[Kt]=null,S[zi]=!0,S[Ni]=!1,i[zi]&&i[zi](h,p)===!0&&(b=!0))}return b}l(h,_,"unload",function(){},p[Ln])||h[Dr](p)}function m(h,p){function _(){var b=!1;if(i){var S=ca(i),E=i[Kt]||S[Kt];i&&(!E||E===h.core())&&!S[zi]&&i[uc]&&i[uc](h,p)===!0&&(b=!0)}return b}l(h,_,"update",function(){},!1)||h[Dr](p)}return cn(s)}var aL,Sx,xx,Px,pC,Sh=V(()=>{"use strict";Be();Ob();za();bt();Un();uo();hr();wh();fC();aL="TelemetryPluginChain",Sx="_hasRun",xx="_getTelCtx",Px=0;pC=(function(){function i(e,t,r,n){var o=this,a=yi(e,t,r,n);Xi(o,a,Vr(a))}return i})()});function Rc(){var i=[];function e(r){r&&i[Je](r)}function t(r,n){z(i,function(o){try{o(r,n)}catch(a){oe(r[Mi](),2,73,"Unexpected error calling unload handler - "+ve(a))}}),i=[]}return{add:e,run:t}}var xh=V(()=>{Be();bt();Un()});function hC(i,e){vf=i,_f=e}function bf(){var i=[];function e(r){var n=i;i=[],z(n,function(o){try{(o.rm||o.remove).call(o)}catch(a){oe(r,2,73,"Unloading:"+ve(a))}}),vf&&n[me]>vf&&(_f?_f("doUnload",n):oe(null,1,48,"Max unload hooks exceeded. An excessive number of unload hooks has been detected."))}function t(r){r&&(kn(i,r),vf&&i[me]>vf&&(_f?_f("Add",i):oe(null,1,48,"Max unload hooks exceeded. An excessive number of unload hooks has been detected.")))}return{run:e,add:t}}var vf,_f,Ph=V(()=>{Be();bt();Un()});var gC,Xa,lL,la,yC=V(()=>{"use strict";Lr();Be();za();bt();Un();uo();hr();Sh();xh();Ph();Xa="getPlugin",lL=(gC={},gC[Xo]={isVal:fn,v:{}},gC),la=(function(){function i(){var e=this,t,r,n,o,a;l(),rt(i,e,function(u){u[Qo]=function(f,m,h,p){c(f,m,p),t=!0},u[zi]=function(f,m){var h,p=u[Kt];if(!p||f&&p!==f[Kt]())return;var _,b=!1,S=f||lu(null,p,n&&n[Xa]?n[Xa]():n),E=m||(h={reason:0},h[Ln]=!1,h);function R(){b||(b=!0,o.run(S,m),a.run(S[Mi]()),_===!0&&S[Dr](E),l())}return!u[Ba]||u[Ba](S,E,R)!==!0?R():_=!0,_},u[uc]=function(f,m){var h=u[Kt];if(!h||f&&h!==f[Kt]())return;var p,_=!1,b=f||yf(null,h,n&&n[Xa]?n[Xa]():n),S=m||{reason:0};function E(){_||(_=!0,c(b.getCfg(),b.core(),b[Vi]()))}return!u._doUpdate||u._doUpdate(b,S,E)!==!0?E():p=!0,p},Zo(u,"_addUnloadCb",function(){return o},"add"),Zo(u,"_addHook",function(){return a},"add"),ft(u,"_unloadHooks",{g:function(){return a}})}),e[Mi]=function(u){return s(u)[Mi]()},e[Ni]=function(){return t},e.setInitialized=function(u){t=u},e[Fa]=function(u){n=u},e[Dr]=function(u,f){f?f[Dr](u):n&&Se(n[Bi])&&n[Bi](u,null)},e._getTelCtx=s;function s(u){u===void 0&&(u=null);var f=u;if(!f){var m=r||yi(null,{},e[Kt]);n&&n[Xa]?f=m[so](null,n[Xa]):f=m[so](null,n)}return f}function c(u,f,m){Bt(u,lL,Hn(f)),!m&&f&&(m=f[$p]()[Vi]());var h=n;n&&n[Xa]&&(h=n[Xa]()),e[Kt]=f,r=yi(m,u,f,h)}function l(){t=!1,e[Kt]=null,r=null,n=null,a=bf(),o=Rc()}}return i.__ieDyn=1,i})()});function uL(i,e,t){var r={id:e,fn:t};kn(i,r);var n={remove:function(){z(i,function(o,a){if(o.id===r.id)return i[oo](a,1),-1})}};return n}function dL(i,e,t){for(var r=!1,n=i[me],o=0;o<n;++o){var a=i[o];if(a)try{if(a.fn[Na](null,[e])===!1){r=!0;break}}catch(s){oe(t,2,64,"Telemetry initializer failed: "+Pt(s),{exception:ve(s)},!0)}}return!r}var Tx,Ix=V(()=>{Ai();Lr();Be();bt();yC();Un();uo();hr();Tx=(function(i){Ii(e,i);function e(){var t=i.call(this)||this;t.identifier="TelemetryInitializerPlugin",t.priority=199;var r,n;o(),rt(e,t,function(a,s){a.addTelemetryInitializer=function(c){return uL(n,r++,c)},a[Bi]=function(c,l){dL(n,c,l?l[Mi]():a[Mi]())&&a[Dr](c,l)},a[Ba]=function(){o()}});function o(){r=0,n=[]}return t}return e.__ieDyn=1,e})(la)});function gL(i,e){return new df(e)}function yL(i,e,t){var r,n=[],o=[],a={};return z(t,function(s){(X(s)||X(s[Qo]))&&Xt(Ox);var c=s[gc],l=s[ao];s&&c&&(X(a[c])?a[c]=l:gi(i,"Two extensions have same priority #"+c+" - "+a[c]+", "+l)),!c||c<e?n[Je](s):o[Je](s)}),r={},r[Kt]=n,r[Ua]=o,r}function kx(i,e){var t=!1;return z(e,function(r){if(r===i)return t=!0,-1}),t}function _C(i,e,t,r){t&&we(t,function(n,o){r&&Jr(o)&&Jr(e[n])&&_C(i,e[n],o,r),r&&Jr(o)&&Jr(e[n])?_C(i,e[n],o,r):i.set(e,n,o)})}function Nx(i,e){var t=null,r=-1;return z(i,function(n,o){if(n.w===e)return t=n,r=o,-1}),{i:r,l:t}}function vL(i,e){var t=Nx(i,e).l;return t||(t={w:e,rm:function(){var r=Nx(i,e);r.i!==-1&&i[oo](r.i,1)}},i[Je](t)),t}function _L(i,e,t){z(e,function(r){var n=gr(i,r.w,t);delete r.w,r.rm=function(){n.rm()}})}function bL(i,e,t,r){return e.add(i[Mn](function(n){var o=n.cfg.disableDbgExt;o===!0&&r&&(t[Yl](r),r=null),t&&!r&&o!==!0&&(r=cx(n.cfg),t[$l](r))})),r}function CL(i){return ft({rm:function(){i.rm()}},"toJSON",{v:function(){return"aicore::onCfgChange<"+JSON.stringify(i)+">"}})}var Za,Ox,fL,Ax,mL,pL,hL,vC,ua,Mx=V(()=>{"use strict";Ai();Lr();pc();Be();za();ib();bt();Bb();Gb();tC();ru();$b();Un();uo();hr();rC();wh();Sh();fC();Ix();xh();Ph();Ox="Plugins must provide initialize method",fL="_notificationManager",Ax="SDK is still unloading...",mL="SDK is not initialized",pL=100,hL=5e4,vC=io((Za={cookieCfg:{}},Za[hc]={rdOnly:!0,ref:!0,v:[]},Za[Ua]={rdOnly:!0,ref:!0,v:[]},Za[Xo]={ref:!0,v:{}},Za[Zp]=qi,Za.loggingLevelConsole=0,Za.diagnosticLogInterval=qi,Za));ua=(function(){function i(){var e,t,r,n,o,a,s,c,l,u,f,m,h,p,_,b,S,E,R,P,L,Y,$,G,W,H,T,ee,le,I,y,x,Z;rt(i,this,function(N){U(),N._getDbgPlgTargets=function(){return[$,n]},N[Ni]=function(){return t},N.activeStatus=function(){return H},N._setPendingStatus=function(){H=3},N[Qo]=function(F,se,De,pe){h&&Xt(Ax),N[Ni]()&&Xt("Core cannot be initialized more than once"),e=Bt(F,vC,De||N[Dt],!1),F=e.cfg,Ae(e[Mn](function(it){var ht=it.cfg,kt=H===3;if(!kt){ee=ht.initInMemoMaxSize||pL;var jt=ht[nb],ti=ht.endpointUrl;if(X(jt)){L=null,H=ji[Yp];var ri="Please provide instrumentation key";t?(oe(r,1,100,ri),te()):Xt(ri);return}var nn=[];if(pi(jt)?(nn[Je](jt),L=null):L=jt,pi(ti)?(nn[Je](ti),T=null):T=ti,nn[me]){le=!1,H=3;var Tr=fn(ht.initTimeOut)?ht.initTimeOut:hL,Mo=FS(nn);I=Ki(function(){I=null,le||ue()},Tr),Ji(Mo,function(J){try{if(le)return;if(!J.rejected){var ne=J[cc];if(ne&&ne[me]){var ge=ne[0];if(L=ge&&ge[cc],ne[me]>1){var Ne=ne[1];T=Ne&&Ne[cc]}}L&&(F[nb]=L,F.endpointUrl=T)}ue()}catch{le||ue()}})}else ue();var O=it.ref(it.cfg,Xo);we(O,function(J){it.ref(O,J)})}})),o=pe,R=bL(e,E,o&&N[Bd](),R),ie(),N[Dt]=De;var Re=F[hc];if(u=[],u[Je].apply(u,kp(kp([],se,!1),Re,!1)),f=F[Ua],at(null),(!m||m[me]===0)&&Xt("No "+Ua+" available"),f&&f[me]>1){var st=N[Oa]("TeeChannelController");(!st||!st.plugin)&&oe(r,1,28,"TeeChannel required")}_L(F,Y,r),Y=null,t=!0,H===ji.ACTIVE&&te()},N.getChannels=function(){var F=[];return m&&z(m,function(se){F[Je](se)}),cn(F)},N.track=function(F){tr(N[Xl](),function(){return"AppInsightsCore:track"},function(){F===null&&(Ke(F),Xt("Invalid telemetry item")),!F[Br]&&X(F[Br])&&(Ke(F),Xt("telemetry name required")),F[Kl]=F[Kl]||L,F[Ma]=F[Ma]||Qi(new Date),F.ver=F.ver||"4.0",!h&&N[Ni]()&&H===ji.ACTIVE?Ze()[Dr](F):H!==ji[Yp]&&n[me]<=ee&&n[Je](F)},function(){return{item:F}},!F.sync)},N[$p]=Ze,N[Bd]=function(){return o||(o=new lf(e.cfg),N[fL]=o),o},N[$l]=function(F){N.getNotifyMgr()[$l](F)},N[Yl]=function(F){o&&o[Yl](F)},N.getCookieMgr=function(){return c||(c=aa(e.cfg,N[Dt])),c},N.setCookieMgr=function(F){c!==F&&(oa(c,!1),c=F)},N[Xl]=function(){return a||s||oC()},N.setPerfMgr=function(F){a=F},N.eventCnt=function(){return n[me]},N.releaseQueue=function(){if(t&&n[me]>0){var F=n;n=[],H===2?z(F,function(se){se[Kl]=se[Kl]||L,Ze()[Dr](se)}):oe(r,2,20,"core init status is not active")}},N[ob]=function(F){return _=F||null,Z=!1,y&&y[qo](),Ce(!0)};function ue(){le=!0,X(L)?(H=ji[Yp],oe(r,1,112,"ikey can't be resolved from promises")):H=ji.ACTIVE,te()}function te(){t&&(N.releaseQueue(),N[ob]())}function Ce(F){if((!y||!y[La])&&!Z){var se=F||r&&r.queue[me]>0;se&&(x||(x=!0,Ae(e[Mn](function(De){var pe=De.cfg.diagnosticLogInterval;(!pe||!(pe>0))&&(pe=1e4);var Re=!1;y&&(Re=y[La],y[qo]()),y=gS(re,pe),y.unref(),y[La]=Re}))),y[La]=!0)}return y}N[ab]=function(){Z=!0,y&&y[qo](),re()},Xi(N,function(){return p},["addTelemetryInitializer"]),N[Oi]=function(F,se,De){var pe;F===void 0&&(F=!0),t||Xt(mL),h&&Xt(Ax);var Re=(pe={reason:50},pe[Ln]=F,pe.flushComplete=!1,pe),st;F&&!se&&(st=dn(function(kt){se=kt}));var it=lu(wt(),N);it[Fd](function(){E.run(N[Dt]),hh([c,o,r],F,function(){U(),se&&se(Re)})},N);function ht(kt){Re.flushComplete=kt,h=!0,S.run(it,Re),N[ab](),it[Dr](Re)}return re(),$e(F,ht,6,De)||ht(!1),st},N[Oa]=xe,N.addPlugin=function(F,se,De,pe){if(!F){pe&&pe(!1),Ee(Ox);return}var Re=xe(F[ao]);if(Re&&!se){pe&&pe(!1),Ee("Plugin ["+F[ao]+"] is already loaded!");return}var st={reason:16};function it(jt){u[Je](F),st.added=[F],at(st),pe&&pe(!0)}if(Re){var ht=[Re.plugin],kt={reason:2,isAsync:!!De};ui(ht,kt,function(jt){jt?(st.removed=ht,st.reason|=32,it(!0)):pe&&pe(!1)})}else it(!1)},N.updateCfg=function(F,se){se===void 0&&(se=!0);var De;if(N[Ni]()){De={reason:1,cfg:e.cfg,oldCfg:U_({},e.cfg),newConfig:U_({},F),merge:se},F=De.newConfig;var pe=e.cfg;F[hc]=pe[hc],F[Ua]=pe[Ua]}e._block(function(Re){var st=Re.cfg;_C(Re,st,F,se),se||we(st,function(it){sn(F,it)||Re.set(st,it,qi)}),Re[On](st,vC)},!0),e[sc](),De&&he(De)},N.evtNamespace=function(){return b},N.flush=$e,N.getTraceCtx=function(F){return P||(P=Rx()),P},N.setTraceCtx=function(F){P=F||null},N.addUnloadHook=Ae,Zo(N,"addUnloadCb",function(){return S},"add"),N.onCfgChange=function(F){var se;return t?se=gr(e.cfg,F,N[Dt]):se=vL(Y,F),CL(se)},N.getWParam=function(){return ic()||e.cfg.enableWParam?0:-1};function ce(){var F={};G=[];var se=function(De){De&&z(De,function(pe){if(pe[ao]&&pe[lc]&&!F[pe.identifier]){var Re=pe[ao]+"="+pe[lc];G[Je](Re),F[pe.identifier]=pe}})};se(m),f&&z(f,function(De){se(De)}),se(u)}function U(){t=!1,e=Bt({},vC,N[Dt]),e.cfg[Kp]=1,ft(N,"config",{g:function(){return e.cfg},s:function(se){N.updateCfg(se,!1)}}),ft(N,"pluginVersionStringArr",{g:function(){return G||ce(),G}}),ft(N,"pluginVersionString",{g:function(){return W||(G||ce(),W=G.join(";")),W||Fe}}),ft(N,"logger",{g:function(){return r||(r=new Va(e.cfg),e[Dt]=r),r},s:function(se){e[Dt]=se,r!==se&&(oa(r,!1),r=se)}}),N[Dt]=new Va(e.cfg),$=[];var F=N.config[hc]||[];F.splice(0,F[me]),kn(F,$),p=new Tx,n=[],oa(o,!1),o=null,a=null,s=null,oa(c,!1),c=null,l=null,u=[],f=null,m=null,h=!1,_=null,b=Qr("AIBaseCore",!0),S=Rc(),P=null,L=null,E=bf(),Y=[],W=null,G=null,Z=!1,y=null,x=!1,H=0,T=null,ee=null,le=!1,I=null}function Ze(){var F=yi(wt(),e.cfg,N);return F[Fd](Ce),F}function at(F){var se=yL(N[Dt],sx,u);l=null,W=null,G=null,m=(f||[])[0]||[],m=Rh(kn(m,se[Ua]));var De=kn(Rh(se[Kt]),m);$=cn(De);var pe=N.config[hc]||[];pe.splice(0,pe[me]),kn(pe,$);var Re=Ze();m&&m[me]>0&&dC(Re[so](m),De),dC(Re,De),F&&he(F)}function xe(F){var se=null,De=null,pe=[];return z($,function(Re){if(Re[ao]===F&&Re!==p)return De=Re,-1;Re.getChannel&&pe[Je](Re)}),!De&&pe[me]>0&&z(pe,function(Re){if(De=Re.getChannel(F),!De)return-1}),De&&(se={plugin:De,setEnabled:function(Re){ca(De)[$d]=!Re},isEnabled:function(){var Re=ca(De);return!Re[zi]&&!Re[$d]},remove:function(Re,st){var it;Re===void 0&&(Re=!0);var ht=[De],kt=(it={reason:1},it[Ln]=Re,it);ui(ht,kt,function(jt){jt&&at({reason:32,removed:ht}),st&&st(jt)})}}),se}function wt(){if(!l){var F=($||[]).slice();mt(F,p)===-1&&F[Je](p),l=Qa(Rh(F),e.cfg,N)}return l}function ui(F,se,De){if(F&&F[me]>0){var pe=Qa(F,e.cfg,N),Re=lu(pe,N);Re[Fd](function(){var st=!1,it=[];z(u,function(kt,jt){kx(kt,F)?st=!0:it[Je](kt)}),u=it,W=null,G=null;var ht=[];f&&(z(f,function(kt,jt){var ti=[];z(kt,function(ri){kx(ri,F)?st=!0:ti[Je](ri)}),ht[Je](ti)}),f=ht),De&&De(st),Ce()}),Re[Dr](se)}else De(!1)}function re(){if(r&&r.queue){var F=r.queue.slice(0);r.queue[me]=0,z(F,function(se){var De,pe=(De={},De[Br]=_||"InternalMessageId: "+se[jl],De[Kl]=L,De[Ma]=Qi(new Date),De.baseType=bc.dataType,De.baseData={message:se[co]},De);N.track(pe)})}}function $e(F,se,De,pe){var Re=1,st=!1,it=null;pe=pe||5e3;function ht(){Re--,st&&Re===0&&(it&&it[qo](),it=null,se&&se(st),se=null)}if(m&&m[me]>0){var kt=Ze()[so](m);kt.iterate(function(jt){if(jt.flush){Re++;var ti=!1;jt.flush(F,function(){ti=!0,ht()},De)||ti||(F&&it==null?it=Ki(function(){it=null,ht()},pe):ht())}})}return st=!0,ht(),!0}function ie(){var F;Ae(e[Mn](function(se){var De=se.cfg.enablePerfMgr;if(De){var pe=se.cfg[Zp];(F!==pe||!F)&&(pe||(pe=gL),Kd(se.cfg,Zp,pe),F=pe,s=null),!a&&!s&&Se(pe)&&(s=pe(N,N[Bd]()))}else s=null,F=null}))}function he(F){var se=yf(wt(),N);se[Fd](Ce),(!N._updateHook||N._updateHook(se,F)!==!0)&&se[Dr](F)}function Ee(F){var se=N[Dt];se?(oe(se,2,73,F),Ce()):Xt(F)}function Ke(F){var se=N[Bd]();se&&se[Wa]([F],2)}function Ae(F){E.add(F)}})}return i.__ieDyn=1,i})()});function Sc(i,e){try{if(i&&i!==""){var t=qr().parse(i);if(t&&t[ub]&&t[ub]>=t.itemsAccepted&&t.itemsReceived-t.itemsAccepted===t.errors[me])return t}}catch(r){oe(e,1,43,"Cannot parse the response. "+(r[Br]||ve(r)),{response:i})}return null}var Lx=V(()=>{Be();bt();Un();Ka()});var yo,wL,Bx,bC,xc,Fx=V(()=>{Lr();pc();Be();bt();Gb();Un();Ka();uo();yo="",wL="NoResponseBody",Bx="&"+wL+"=true",bC="POST",xc=(function(){function i(){var e=0,t,r,n,o,a,s,c,l,u,f,m,h,p,_;rt(i,this,function(b,S){var E=!0;le(),b[Qo]=function(I,y){n=y,r&&oe(n,1,28,"Sender is already initialized"),b.SetConfig(I),r=!0},b._getDbgPlgTargets=function(){return[r,o,s,t]},b.SetConfig=function(I){try{if(a=I.senderOnCompleteCallBack||{},s=!!I.disableCredentials,c=I.fetchCredentials,o=!!I.isOneDs,t=!!I.enableSendPromise,u=!!I.disableXhr,f=!!I.disableBeacon,m=!!I.disableBeaconSync,_=I.timeWrapper,p=!!I.addNoResponse,h=!!I.disableFetchKeepAlive,l={sendPOST:H},o||(E=!1),s){var y=_c();y&&y.protocol&&y.protocol[ki]()==="file:"&&(E=!1)}return!0}catch{}return!1},b.getSyncFetchPayload=function(){return e},b.getSenderInst=function(I,y){return I&&I[me]?Y(I,y):null},b.getFallbackInst=function(){return l},b[Ba]=function(I,y){le()};function R(I,y){$(y,200,{},I)}function P(I,y){oe(n,2,26,"Failed to send telemetry.",{message:I}),$(y,400,{})}function L(I){P("No endpoint url is provided for the batch",I)}function Y(I,y){for(var x,Z=0,N=null,ue=0;N==null&&ue<I[me];)Z=I[ue],!u&&Z===1?qd()?N=ee:tu()&&(N=H):Z===2&&ia(y)&&(!y||!h)?N=T:Z===3&&Gi()&&(y?!m:!f)&&(N=W),ue++;return N?(x={_transport:Z,_isSync:y},x[db]=N,x):null}function $(I,y,x,Z){try{I&&I(y,x,Z)}catch{}}function G(I,y){var x=Er(),Z=I[zl];if(!Z)return L(y),!0;Z=I[zl]+(p?Bx:yo);var N=I[Ga],ue=o?N:new Blob([N],{type:"text/plain;charset=UTF-8"}),te=x.sendBeacon(Z,ue);return te}function W(I,y,x){var Z=I[Ga];try{if(Z)if(G(I,y))R(yo,y);else{var N=a&&a.beaconOnRetry;N&&Se(N)?N(I,y,G):(l&&l[db](I,y,!0),oe(n,2,40,". Failed to send telemetry with Beacon API, retried with normal sender."))}}catch(ue){o&&gi(n,"Failed to send telemetry using sendBeacon API. Ex:"+ve(ue)),$(y,o?0:400,{},yo)}}function H(I,y,x){var Z,N,ue,te=I[Jp]||{};!x&&t&&(Z=dn(function(Ze,at){N=Ze,ue=at})),o&&x&&I.disableXhrSync&&(x=!1);var Ce=I[zl];if(!Ce){L(y),N&&N(!1);return}var ce=Db(bC,Ce,E,!0,x,I[mc]);o||ce[fb]("Content-type","application/json"),z(Vr(te),function(Ze){ce[fb](Ze,te[Ze])}),ce.onreadystatechange=function(){o||(U(ce),ce.readyState===4&&N&&N(!0))},ce.onload=function(){o&&U(ce)};function U(Ze){var at=a&&a.xhrOnComplete,xe=at&&Se(at);if(xe)at(Ze,y,I);else{var wt=Gn(Ze);$(y,Ze[dc],ra(Ze,o),wt)}}return ce.onerror=function(Ze){$(y,o?ce[dc]:400,ra(ce,o),o?yo:ea(ce)),ue&&ue(Ze)},ce.ontimeout=function(){$(y,o?ce[dc]:500,ra(ce,o),o?yo:ea(ce)),N&&N(!1)},ce.send(I[Ga]),Z}function T(I,y,x){var Z,N=I[zl],ue=I[Ga],te=o?ue:new Blob([ue],{type:"application/json"}),Ce,ce,U,Ze=new Headers,at=ue[me],xe=!1,wt=!1,ui=I[Jp]||{},re=(Z={method:bC,body:te},Z[Fb]=!0,Z);I.headers&&Vr(I.headers)[me]>0&&(z(Vr(ui),function(Ee){Ze.append(Ee,ui[Ee])}),re[Jp]=Ze),c?re.credentials=c:E&&o&&(re.credentials="include"),x&&(re.keepalive=!0,e+=at,o?I._sendReason===2&&(xe=!0,p&&(N+=Bx)):xe=!0);var $e=new Request(N,re);try{$e[Fb]=!0}catch{}if(!x&&t&&(Ce=dn(function(Ee,Ke){ce=Ee,U=Ke})),!N){L(y),ce&&ce(!1);return}function ie(Ee){$(y,o?0:400,{},o?yo:Ee)}function he(Ee,Ke,Ae){var F=Ee[dc],se=a.fetchOnComplete;se&&Se(se)?se(Ee,y,Ae||yo,Ke):$(y,F,{},Ae||yo)}try{Ji(fetch(o?N:$e,o?re:null),function(Ee){if(x&&(e-=at,at=0),!wt)if(wt=!0,Ee.rejected)ie(Ee.reason&&Ee.reason[co]),U&&U(Ee.reason);else{var Ke=Ee[cc];try{!o&&!Ke.ok?(ie(Ke.statusText),ce&&ce(!1)):o&&!Ke.body?(he(Ke,null,yo),ce&&ce(!0)):Ji(Ke.text(),function(Ae){he(Ke,I,Ae[cc]),ce&&ce(!0)})}catch(Ae){ie(ve(Ae)),U&&U(Ae)}}})}catch(Ee){wt||(ie(ve(Ee)),U&&U(Ee))}return xe&&!wt&&(wt=!0,$(y,200,{}),ce&&ce(!0)),o&&!wt&&I[mc]>0&&_&&_.set(function(){wt||(wt=!0,$(y,500,{}),ce&&ce(!0))},I[mc]),Ce}function ee(I,y,x){var Z=pr(),N=new XDomainRequest,ue=I[Ga];N.onload=function(){var Ze=Gn(N),at=a&&a.xdrOnComplete;at&&Se(at)?at(N,y,I):$(y,200,{},Ze)},N.onerror=function(){$(y,400,{},o?yo:vc(N))},N.ontimeout=function(){$(y,500,{})},N.onprogress=function(){};var te=Z&&Z.location&&Z.location[jp]||"",Ce=I[zl];if(!Ce){L(y);return}if(!o&&Ce.lastIndexOf(te,0)!==0){var ce="Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.";oe(n,2,40,". "+ce),P(ce,y);return}var U=o?Ce:Ce[Bn](/^(https?:)/,"");N.open(bC,U),I[mc]&&(N[mc]=I[mc]),N.send(ue),o&&x?_&&_.set(function(){N.send(ue)},0):N.send(ue)}function le(){e=0,r=!1,t=!1,n=null,o=null,a=null,s=null,c=null,l=null,u=!1,f=!1,m=!1,h=!1,p=!1,_=null}})}return i.__ieDyn=1,i})()});function Yx(i){return i&&i[Bn]?i[Bn](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g,Fe):i}function Ah(i,e){var t;if(e){var r=Fe;ye(e)?(r=Fe,z(e,function(o){o=Yx(o),o&&(o[0]!=="."&&(o="."+o),r+=o)})):r=Yx(e),r&&(r[0]!=="."&&(r="."+r),i=(i||Fe)+r)}var n=SL.exec(i||Fe)||[];return t={},t[Li]=n[1],t.ns=(n[2]||Fe).replace(EL,".").replace(DL,Fe)[un](".").sort().join("."),t}function CC(i,e,t){var r=[],n=wf.get(i,Th,{},!1),o=Ah(e,t);return we(n,function(a,s){z(s,function(c){var l;(!o[Li]||o[Li]===c.evtName[Li])&&(!o.ns||o.ns===o.ns)&&r[Je]((l={},l[Br]=c.evtName[Li]+(c.evtName.ns?"."+c.evtName.ns:Fe),l.handler=c[Hd],l))})}),r}function Qx(i,e,t){t===void 0&&(t=!0);var r=wf.get(i,Th,{},t),n=r[e];return n||(n=r[e]=[]),n}function Xx(i,e,t,r){i&&e&&e[Li]&&(i[Wx]?i[Wx](e[Li],t,r):i[Ux]&&i[Ux](Kx+e[Li],t))}function xL(i,e,t,r){var n=!1;return i&&e&&e[Li]&&t&&(i[Hx]?(i[Hx](e[Li],t,r),n=!0):i[Gx]&&(i[Gx](Kx+e[Li],t),n=!0)),n}function $x(i,e,t,r){for(var n=e[me];n--;){var o=e[n];o&&(!t.ns||t.ns===o.evtName.ns)&&(!r||r(o))&&(Xx(i,o.evtName,o[Hd],o.capture),e[oo](n,1))}}function PL(i,e,t){if(e[Li])$x(i,Qx(i,e[Li]),e,t);else{var r=wf.get(i,Th,{});we(r,function(n,o){$x(i,o,e,t)}),Vr(r)[me]===0&&wf.kill(i,Th)}}function Zi(i,e){var t;return e?(ye(e)?t=[i].concat(e):t=[i,e],t=Ah("xx",t).ns[un](".")):t=i,t}function vo(i,e,t,r,n){var o;n===void 0&&(n=!1);var a=!1;if(i)try{var s=Ah(e,r);if(a=xL(i,s,t,n),a&&wf.accept(i)){var c=(o={guid:RL++,evtName:s},o[Hd]=t,o.capture=n,o);Qx(i,s.type)[Je](c)}}catch{}return a}function da(i,e,t,r,n){if(n===void 0&&(n=!1),i)try{var o=Ah(e,r),a=!1;PL(i,o,function(s){return o.ns&&!t||s[Hd]===t?(a=!0,!0):!1}),a||Xx(i,o,t,n)}catch{}}function wC(i,e,t,r){return r===void 0&&(r=!1),vo(i,e,t,null,r)}function EC(i,e,t,r){r===void 0&&(r=!1),da(i,e,t,null,r)}function kh(i,e,t){var r=!1,n=pr();n&&(r=vo(n,i,e,t),r=vo(n.body,i,e,t)||r);var o=Zt();return o&&(r=vo(o,i,e,t)||r),r}function Nh(i,e,t){var r=pr();r&&(da(r,i,e,t),da(r.body,i,e,t));var n=Zt();n&&da(n,i,e,t)}function uu(i,e,t,r){var n=!1;return e&&i&&i[me]>0&&z(i,function(o){o&&(!t||mt(t,o)===-1)&&(n=kh(o,e,r)||n)}),n}function Oh(i,e,t,r){var n=!1;return e&&i&&ye(i)&&(n=uu(i,e,t,r),!n&&t&&t[me]>0&&(n=uu(i,e,null,r))),n}function es(i,e,t){i&&ye(i)&&z(i,function(r){r&&Nh(r,e,t)})}function Ef(i,e,t){return Oh([Vx,zx,Ih],i,e,t)}function Df(i,e){es([Vx,zx,Ih],i,e)}function du(i,e,t){function r(a){var s=Zt();i&&s&&s.visibilityState==="hidden"&&i(a)}var n=Zi(Jx,t),o=uu([Ih],i,e,n);return(!e||mt(e,Cf)===-1)&&(o=uu([Cf],r,e,n)||o),!o&&e&&(o=du(i,null,t)),o}function Rf(i,e){var t=Zi(Jx,e);es([Ih],i,t),es([Cf],null,t)}function fu(i,e,t){function r(a){var s=Zt();i&&s&&s.visibilityState==="visible"&&i(a)}var n=Zi(qx,t),o=uu([jx],i,e,n);return o=uu([Cf],r,e,n)||o,!o&&e&&(o=fu(i,null,t)),o}function Sf(i,e){var t=Zi(qx,e);es([jx],i,t),es([Cf],null,t)}var Kx,Gx,Hx,Ux,Wx,Th,Cf,Ih,jx,zx,Vx,Jx,qx,EL,DL,RL,wf,SL,Zx=V(()=>{Be();bt();ru();hr();Kx="on",Gx="attachEvent",Hx="addEventListener",Ux="detachEvent",Wx="removeEventListener",Th="events",Cf="visibilitychange",Ih="pagehide",jx="pageshow",zx="unload",Vx="beforeunload",Jx=Qr("aiEvtPageHide"),qx=Qr("aiEvtPageShow"),EL=/\.[\.]+/g,DL=/[\.]+$/,RL=1,wf=ch("events"),SL=/^([^.]*)(?:\.(.+)|)/});var DC,eP=V(()=>{Ld();DC=er({DISABLED:0,CRITICAL:1,WARNING:2,DEBUG:3})});var yt=V(()=>{RS();SS();ib();Mx();yC();sh();aC();Bb();uo();Lx();Fx();Be();Ld();Zx();Ka();Ai();rC();wh();Un();Sh();eP();tC();ru();xh();Ph();uC();za();fh();Ub()});var _o,tP,RC,Mh,Lh=V(()=>{_o="",tP="https://browser.events.data.microsoft.com/OneCollector/1.0/",RC="version",Mh="properties"});var SC,xC,mu,bo,PC,Ft,Pc,fa,Bh,Fh,Gh,Hh,xf,Uh=V(()=>{SC="initialize",xC="logger",mu="indexOf",bo="timings",PC="pollInternalLogs",Ft="value",Pc="kind",fa="length",Bh="processTelemetryStart",Fh="handleField",Gh="rmSanitizer",Hh="rmFieldSanitizer",xf="canHandle"});function Fr(i){return!(i===_o||X(i))}function Wh(i){if(i){var e=Ti(i,"-");if(e>-1)return rc(i,e)}return _o}function aP(){return TC===null&&(TC=!Ve(Uint8Array)&&!NL()&&!Ya()),TC}function Yh(i){return!!(i&&zr(i)&&i>=1&&i<=4)}function $h(i,e,t){if(!e&&!Fr(e)||typeof i!="string")return null;var r=typeof e;if(r==="string"||r==="number"||r==="boolean"||ye(e))e={value:e};else if(r==="object"&&!iP.call(e,"value"))e={value:t?JSON.stringify(e):e};else if(X(e[Ft])||e[Ft]===_o||!Ue(e[Ft])&&!zr(e[Ft])&&!ro(e[Ft])&&!ye(e[Ft]))return null;if(ye(e[Ft])&&!AC(e[Ft]))return null;if(!X(e[Pc])){if(ye(e[Ft])||!Pf(e[Pc]))return null;e[Ft]=e[Ft].toString()}return e}function hu(i,e,t){var r=-1;if(!Ve(i))if(e>0&&(e===32?r=8192:e<=13&&(r=e<<5)),kL(t))r===-1&&(r=0),r|=t;else{var n=AL[Co(i)]||-1;r!==-1&&n!==-1?r|=n:n===6&&(r=n)}return r}function sP(i,e,t){t===void 0&&(t=!0);var r;return i&&(r=i.get(e),t&&r&&decodeURIComponent&&(r=decodeURIComponent(r))),r||_o}function cP(i){i===void 0&&(i="D");var e=ff();return i==="B"?e="{"+e+"}":i==="P"?e="("+e+")":i==="N"&&(e=e.replace(/-/g,_o)),e}function Tc(i,e,t,r,n){var o={},a=!1,s=0,c=arguments[fa],l=arguments;for(ro(l[0])&&(a=l[0],s++);s<c;s++){var i=l[s];we(i,function(f,m){a&&m&&Yt(m)?ye(m)?(o[f]=o[f]||[],z(m,function(h,p){h&&Yt(h)?o[f][p]=Tc(!0,o[f][p],h):o[f][p]=h})):o[f]=Tc(!0,o[f],m):o[f]=m})}return o}function Pf(i){return i===0||i>0&&i<=13||i===32}function kL(i){return i>=0&&i<=9}function NL(){var i=Er();if(!Ve(i)&&i.userAgent){var e=i.userAgent.toLowerCase();if((e[mu]("safari")>=0||e[mu]("firefox")>=0)&&e[mu]("chrome")<0)return!0}return!1}function AC(i){return i[fa]>0}function Tf(i,e){var t=i;t[bo]=t[bo]||{},t[bo][Bh]=t[bo][Bh]||{},t[bo][Bh][e]=Hi()}function Co(i){var e=0;if(i!=null){var t=typeof i;t==="string"?e=1:t==="number"?e=2:t==="boolean"?e=3:t===Ko&&(e=4,ye(i)?(e=4096,i[fa]>0&&(e|=Co(i[0]))):iP.call(i,"value")&&(e=8192|Co(i[Ft])))}return e}function Kh(){return!!Ie("chrome")}function lP(i,e,t,r,n,o){r===void 0&&(r=!1),n===void 0&&(n=!1);function a(c,l,u){try{c[l]=u}catch{}}var s=new XMLHttpRequest;return r&&a(s,TL,r),t&&a(s,rP,t),s.open(i,e,!n),t&&a(s,rP,t),!n&&o&&a(s,IL,o),s}function ts(i){return i>0}var ma,IC,pu,iP,TL,rP,IL,AL,TC,nP,oP,Hi,jh=V(()=>{yt();Ai();Be();Lh();Uh();IC="4.3.4",pu="1DS-Web-JS-"+IC,iP=wd.hasOwnProperty,TL="Microsoft_ApplicationInsights_BypassAjaxInstrumentation",rP="withCredentials",IL="timeout",AL=(ma={},ma[0]=0,ma[2]=6,ma[1]=1,ma[3]=7,ma[4098]=6,ma[4097]=1,ma[4099]=7,ma),TC=null,nP=ic(),oP=Ll();Hi=Nd});function ML(i){return i&&(!i.getProperty||!i.setProperty)&&Xt("Invalid property storage override passed."),!0}var OL,uP,dP=V(()=>{Ai();Lr();yt();Be();Lh();jh();Uh();OL=io({endpointUrl:tP,propertyStorageOverride:{isVal:ML}});uP=(function(i){Ii(e,i);function e(){var t=i.call(this)||this;return rt(e,t,function(r,n){r[SC]=function(o,a,s,c){tr(r,function(){return"AppInsightsCore.initialize"},function(){try{n[SC](Bt(o,OL,s||r[xC],!1).cfg,a,s,c)}catch(f){var l=r[xC],u=ve(f);u[mu]("channels")!==-1&&(u+=`
- Channels must be provided through config.channels only!`),oe(l,1,514,"SDK Initialization Failed - no telemetry will be sent: "+u)}},function(){return{config:o,extensions:a,logger:s,notificationManager:c}})},r.track=function(o){tr(r,function(){return"AppInsightsCore.track"},function(){var a=o;if(a){a[bo]=a[bo]||{},a[bo].trackStart=Hi(),Yh(a.latency)||(a.latency=1);var s=a.ext=a.ext||{};s.sdk=s.sdk||{},s.sdk.ver=pu;var c=a.baseData=a.baseData||{};c[Mh]=c[Mh]||{};var l=c[Mh];l[RC]=l[RC]||r.pluginVersionString||_o}n.track(a)},function(){return{item:o}},!o.sync)},r[PC]=function(o){return n[PC](o||"InternalLog")}}),t}return e.__ieDyn=1,e})(ua)});var fP,mP,pP,hP,gP,yP=V(()=>{yt();fP=er({NotSet:0,Pii_DistinguishedName:1,Pii_GenericData:2,Pii_IPV4Address:3,Pii_IPv6Address:4,Pii_MailSubject:5,Pii_PhoneNumber:6,Pii_QueryString:7,Pii_SipAddress:8,Pii_SmtpAddress:9,Pii_Identity:10,Pii_Uri:11,Pii_Fqdn:12,Pii_IPV4AddressLegacy:13,Pii_IPv6ScrubLastHextets:14,Pii_DropValue:15,CustomerContent_GenericContent:32}),mP=er({Normal:1,CostDeferred:2,RealTime:3,Immediate:4}),pP=er({Unspecified:0,String:1,Int32:2,UInt32:3,Int64:4,UInt64:5,Double:6,Bool:7,Guid:8,DateTime:9}),hP=er({Normal:1,Critical:2}),gP=er({NONE:0,ERROR:1,WARNING:2,INFORMATION:3})});var vP,_P=V(()=>{yt();Be();Lh();jh();Uh();vP=(function(){function i(e){var t=this,r={},n=[],o=[];e&&o.push(e);function a(u,f){var m,h=r[u];if(h&&(m=h[f]),!m&&m!==null){if(Ue(u)&&Ue(f))if(o[fa]>0){for(var p=0;p<o[fa];p++)if(o[p][Fh](u,f)){m={canHandle:!0,fieldHandler:o[p]};break}}else n[fa]===0&&(m={canHandle:!0});if(!m&&m!==null){m=null;for(var p=0;p<n[fa];p++)if(n[p][Fh](u,f)){m={canHandle:!0,handler:n[p],fieldHandler:null};break}}h||(h=r[u]={}),h[f]=m}return m}t.clearCache=function(){r={}},t.addSanitizer=function(u){u&&(F_(n,u)||n.push(u),r={})},t.addFieldSanitizer=function(u){u&&(F_(o,u)||o.push(u),r={})},t[Gh]=function(u){if(u){var f=mt(n,u);f!==-1&&(n.splice(f,1),r={}),z(n,function(m){m&&m[Gh]&&m[Gh](u)})}},t[Hh]=function(u){if(u){var f=mt(o,u);f!==-1&&(o.splice(f,1),r={}),z(n,function(m){m&&m[Hh]&&m[Hh](u)})}},t.isEmpty=function(){return Gl(n)+Gl(o)===0},t[Fh]=function(u,f){var m=a(u,f);return m?m[xf]:!1},t[Ft]=function(u,f,m,h){var p=a(u,f);if(p&&p[xf]){if(!p||!p[xf])return null;if(p.handler)return p.handler[Ft](u,f,m,h);if(!Ue(f)||X(m)||m===_o)return null;var _=null,b=Co(m);if((b&8192)===8192){var S=b&-8193;if(_=m,!Fr(_[Ft])||S!==1&&S!==2&&S!==3&&(S&4096)!==4096)return null}else b===1||b===2||b===3||(b&4096)===4096?_=c(u,f,m):b===4&&(_=c(u,f,h?JSON.stringify(m):m));if(_)return s(p,u,f,b,_,h)}return null},t.property=function(u,f,m,h){var p=a(u,f);if(!p||!p[xf]||!Ue(f)||X(m)||!Fr(m[Ft]))return null;var _=Co(m[Ft]);return _===0?null:s(p,u,f,_,m,h)};function s(u,f,m,h,p,_){if(u.handler)return u.handler.property(f,m,p,_);if(!X(p[Pc])){if((h&4096)===4096||!Pf(p[Pc]))return null;p[Ft]=p[Ft].toString()}return l(u.fieldHandler,f,m,h,p)}function c(u,f,m){return Fr(m)?{value:m}:null}function l(u,f,m,h,p){if(p&&u){var _=u.getSanitizer(f,m,h,p[Pc],p.propertyType);if(_)if(h===4){var b={},S=p[Ft];we(S,function(R,P){var L=f+"."+m;if(Fr(P)){var Y=c(L,R,P);Y=l(u,L,R,Co(P),Y),Y&&(b[R]=Y[Ft])}}),p[Ft]=b}else{var E={path:f,name:m,type:h,prop:p,sanitizer:t};p=_.call(t,E)}}return p}}return i.getFieldType=Co,i})()});var bP={};sl(bP,{ActiveStatus:()=>ji,AppInsightsCore:()=>uP,BaseTelemetryPlugin:()=>la,DiagnosticLogger:()=>Va,EventLatency:()=>mP,EventPersistence:()=>hP,EventPropertyType:()=>pP,EventsDiscardedReason:()=>Nn,FullVersionString:()=>pu,InternalAppInsightsCore:()=>ua,LoggingSeverity:()=>DC,MinChannelPriorty:()=>tb,NotificationManager:()=>lf,PerfEvent:()=>wc,PerfManager:()=>df,ProcessTelemetryContext:()=>pC,SenderPostManager:()=>xc,TraceLevel:()=>gP,Undefined:()=>eo,ValueKind:()=>fP,ValueSanitizer:()=>vP,Version:()=>IC,_InternalLogMessage:()=>bc,__getRegisteredEvents:()=>CC,_appendHeader:()=>Zl,_getAllResponseHeaders:()=>ra,_logInternalMessage:()=>zb,_testHookMaxUnloadHooksCb:()=>hC,_throwInternal:()=>oe,_warnToConsole:()=>gi,addEventHandler:()=>kh,addEventListeners:()=>Oh,addPageHideEventListener:()=>du,addPageShowEventListener:()=>fu,addPageUnloadEventListener:()=>Ef,areCookiesSupported:()=>au,arrForEach:()=>z,arrIndexOf:()=>mt,arrMap:()=>zo,arrReduce:()=>kd,attachEvent:()=>wC,blockDynamicConversion:()=>nf,convertAllHeadersToMap:()=>ah,cookieAvailable:()=>au,createCookieMgr:()=>aa,createDynamicConfig:()=>Bt,createEnumStyle:()=>er,createGuid:()=>cP,createProcessTelemetryContext:()=>yi,createTraceParent:()=>mf,createUniqueNamespace:()=>Qr,createUnloadHandlerContainer:()=>Rc,dateNow:()=>$t,detachEvent:()=>EC,disallowsSameSiteNone:()=>Ch,doPerf:()=>tr,dumpObj:()=>ve,eventOff:()=>da,eventOn:()=>vo,extend:()=>Tc,findW3cTraceParent:()=>gf,forceDynamicConversion:()=>Lb,formatErrorMessageXdr:()=>vc,formatErrorMessageXhr:()=>ea,formatTraceParent:()=>hf,generateW3CId:()=>Ec,getCommonSchemaMetaData:()=>hu,getConsole:()=>jd,getCookieValue:()=>sP,getCrypto:()=>zd,getDocument:()=>Zt,getDynamicConfigHandler:()=>rf,getExceptionName:()=>Pt,getFieldValueType:()=>Co,getGlobal:()=>hi,getGlobalInst:()=>Ie,getHistory:()=>Pp,getIEVersion:()=>Jd,getISOString:()=>Qi,getJSON:()=>qr,getLocation:()=>_c,getMsCrypto:()=>Vd,getNavigator:()=>Er,getPerformance:()=>Aa,getResponseText:()=>Gn,getSetValue:()=>Kd,getTenantId:()=>Wh,getTime:()=>Hi,getWindow:()=>pr,hasDocument:()=>ic,hasHistory:()=>L_,hasJSON:()=>fo,hasNavigator:()=>Id,hasOwnProperty:()=>Cr,hasWindow:()=>Ll,isArray:()=>ye,isArrayValid:()=>AC,isBeaconsSupported:()=>Gi,isBoolean:()=>ro,isChromium:()=>Kh,isDate:()=>Rp,isDocumentObjectAvailable:()=>nP,isError:()=>ec,isFetchSupported:()=>ia,isFunction:()=>Se,isGreaterThanZero:()=>ts,isIE:()=>$a,isLatency:()=>Yh,isNotTruthy:()=>T_,isNullOrUndefined:()=>X,isNumber:()=>zr,isObject:()=>Yt,isReactNative:()=>Ya,isSampledFlag:()=>pf,isString:()=>Ue,isTruthy:()=>In,isTypeof:()=>P_,isUint8ArrayAvailable:()=>aP,isUndefined:()=>Ve,isValidSpanId:()=>go,isValidTraceId:()=>ho,isValidTraceParent:()=>cu,isValueAssigned:()=>Fr,isValueKind:()=>Pf,isWindowObjectAvailable:()=>oP,isXhrSupported:()=>tu,mergeEvtNamespace:()=>Zi,newGuid:()=>ff,newId:()=>ef,normalizeJsName:()=>yc,objDefineAccessors:()=>k_,objForEachKey:()=>we,objFreeze:()=>cn,objKeys:()=>Vr,objSeal:()=>N_,onConfigChange:()=>gr,openXhr:()=>lP,optimizeObject:()=>Fi,parseResponse:()=>Sc,parseTraceParent:()=>Dc,perfNow:()=>Nd,prependTransports:()=>ta,proxyAssign:()=>wb,proxyFunctionAs:()=>Zo,proxyFunctions:()=>Xi,random32:()=>na,randomValue:()=>Zd,removeEventHandler:()=>Nh,removeEventListeners:()=>es,removePageHideEventListener:()=>Rf,removePageShowEventListener:()=>Sf,removePageUnloadEventListener:()=>Df,safeGetCookieMgr:()=>eC,safeGetLogger:()=>Hn,sanitizeProperty:()=>$h,setEnableEnvMocks:()=>Ib,setProcessTelemetryTimings:()=>Tf,setValue:()=>mn,strContains:()=>ur,strEndsWith:()=>nc,strFunction:()=>Il,strObject:()=>Ko,strPrototype:()=>Pn,strStartsWith:()=>Hl,strTrim:()=>pt,strUndefined:()=>eo,throwError:()=>Xt,toISOString:()=>Qi,useXDomainRequest:()=>qd});var Ic=V(()=>{dP();yP();_P();yt();jh()});var Ac,zh,Vh,kC=V(()=>{Ac="REAL_TIME",zh="NEAR_REAL_TIME",Vh="BEST_EFFORT"});var Wn,Jh,CP,NC,wP,EP,OC,qh,If,gu,DP,RP,SP,Qh,MC,Xh,Zh,eg,Af,LC,BC,xP,yu,FC,tg,kf=V(()=>{Wn="",Jh="drop",CP="send",NC="requeue",wP="rspFail",EP="oth",OC="no-cache, no-store",qh="application/x-json-stream",If="cache-control",gu="content-type",DP="kill-tokens",RP="kill-duration",SP="time-delta-millis",Qh="client-version",MC="client-id",Xh="time-delta-to-apply-millis",Zh="upload-time",eg="apikey",Af="AuthMsaDeviceTicket",LC="WebAuthToken",BC="AuthXToken",xP="NoResponseBody",yu="msfpc",FC="trace",tg="user"});var Nf,rg,ig,ng,Of,Xe,wo,en,rr,Eo,Rr,Do,kc,og,Nc,ag,Oc,sg,cg,PP,GC,HC,TP,IP,lg,UC,WC,AP,kP,YC,$C,KC,NP,ug,dg,fg,Mf,jC,Yn,vu,zC,ai,Ui,Lf,Bf,_u,mg,Ff,OP,bu,pg,hg,Cu,VC,Gf,gg,yg,wu,MP,vg,_g,bg,Hf,LP,BP,JC,qC,FP,GP,HP,Cg,Uf,rs,Mc,Eu=V(()=>{Nf="allowRequestSending",rg="firstRequestSent",ig="shouldAddClockSkewHeaders",ng="getClockSkewHeaderValue",Of="setClockSkew",Xe="length",wo="concat",en="iKey",rr="count",Eo="events",Rr="push",Do="split",kc="splice",og="toLowerCase",Nc="hdrs",ag="useHdrs",Oc="initialize",sg="setTimeoutOverride",cg="clearTimeoutOverride",PP="payloadPreprocessor",GC="overrideEndpointUrl",HC="avoidOptions",TP="disableEventTimings",IP="stringifyObjects",lg="enableCompoundKey",UC="disableXhrSync",WC="disableFetchKeepAlive",AP="addNoResponse",kP="excludeCsMetaData",YC="useSendBeacon",$C="fetchCredentials",KC="alwaysUseXhrOverride",NP="unloadTransports",ug="serializeOfflineEvt",dg="getOfflineRequestDetails",fg="createPayload",Mf="createOneDSPayload",jC="payloadBlob",Yn="headers",vu="_thePayload",zC="urlString",ai="batches",Ui="sendType",Lf="addHeader",Bf="canSendRequest",_u="sendQueuedRequests",mg="isCompletelyIdle",Ff="setUnloading",OP="isTenantKilled",bu="resume",pg="sendSynchronousBatch",hg="_transport",Cu="getWParam",VC="isBeacon",Gf="timings",gg="isTeardown",yg="isSync",wu="data",MP="timeout",vg="_sendReason",_g="setKillSwitchTenants",bg="_backOffTransmission",Hf="identifier",LP="disableOptimizeObj",BP="ignoreMc1Ms0CookieProcessing",JC="eventsLimitInMem",qC="autoFlushEventsLimit",FP="disableAutoBatchFlushLimit",GP="overrideInstrumentationKey",HP="disableTelemetry",Cg="baseData",Uf="sendAttempt",rs="latency",Mc="sync"});function WP(i){var e=(i.ext||{}).intweb;return e&&Fr(e[yu])?e[yu]:null}function UP(i){for(var e=null,t=0;e===null&&t<i[Xe];t++)e=WP(i[t]);return e}var is,wg=V(()=>{Ic();kf();Eu();is=(function(){function i(e,t){var r=t?[][wo](t):[],n=this,o=UP(r);n[en]=function(){return e},n.Msfpc=function(){return o||Wn},n[rr]=function(){return r[Xe]},n[Eo]=function(){return r},n.addEvent=function(a){return a?(r[Rr](a),o||(o=WP(a)),!0):!1},n[Do]=function(a,s){var c;if(a<r[Xe]){var l=r[Xe]-a;X(s)||(l=s<l?s:l),c=r[kc](a,l),o=UP(r)}return new i(e,c)}}return i.create=function(e,t){return new i(e,t)},i})()});var YP,$P=V(()=>{Lr();Eu();YP=(function(){function i(){var e=!0,t=!0,r=!0,n="use-collector-delta",o=!1;rt(i,this,function(a){a[Nf]=function(){return e},a[rg]=function(){r&&(r=!1,o||(e=!1))},a[ig]=function(){return t},a[ng]=function(){return n},a[Of]=function(s){o||(s?(n=s,t=!0,o=!0):t=!1,e=!0)}})}return i.__ieDyn=1,i})()});var LL,KP,jP=V(()=>{Lr();Ic();Eu();LL=1e3,KP=(function(){function i(){var e={};function t(r){var n=[];return r&&z(r,function(o){n[Rr](pt(o))}),n}rt(i,this,function(r){r[_g]=function(n,o){if(n&&o)try{var a=t(n[Do](","));if(o==="this-request-only")return a;for(var s=parseInt(o,10)*LL,c=0;c<a[Xe];++c)e[a[c]]=$t()+s}catch{return[]}return[]},r[OP]=function(n){var o=e,a=pt(n);return o[a]!==void 0&&o[a]>$t()?!0:(delete o[a],!1)}})}return i.__ieDyn=1,i})()});function VP(i){return!(i>=300&&i<500&&i!=429||i==501||i==505)}function Eg(i){var e=0,t=zP*BL,r=zP*FL,n=Math.floor(Math.random()*(r-t))+t;return e=Math.pow(2,i)*n,Math.min(e,GL)}var BL,FL,zP,GL,QC=V(()=>{BL=.8,FL=1.2,zP=3e3,GL=6e5});function $L(i,e,t,r,n){if(n&&e){var o=i(n.value,n.kind,n.propertyType);if(o>-1){var a=e[JP];a||(a=e[JP]={f:{}});var s=a[Dg];if(s||(s=a[Dg]={}),t)for(var c=0;c<t.length;c++){var l=t[c];s[l]||(s[l]={f:{}});var u=s[l][Dg];u||(u=s[l][Dg]={}),s=u}s=s[r]={},ye(n.value)?s.a={t:o}:s.t=o}}}var HL,UL,qP,QP,WL,JP,Dg,YL,XP,ZP=V(()=>{Lr();Ic();wg();kf();Be();HL=20,UL=3984588,qP=65e3,QP=2e6,WL=Math.min(QP,qP),JP="metadata",Dg="f",YL=/\./,XP=(function(){function i(e,t,r,n,o,a){var s="data",c="baseData",l="ext",u=!!n,f=!0,m=t,h={},p=!!a,_=o||hu;rt(i,this,function(b){b.createPayload=function(R,P,L,Y,$,G){return{apiKeys:[],payloadBlob:Wn,overflow:null,sizeExceed:[],failedEvts:[],batches:[],numEvents:0,retryCnt:R,isTeardown:P,isSync:L,isBeacon:Y,sendType:G,sendReason:$}},b.appendPayload=function(R,P,L){var Y=R&&P&&!R.overflow;return Y&&tr(e,function(){return"Serializer:appendPayload"},function(){for(var $=P.events(),G=R.payloadBlob,W=R.numEvents,H=!1,T=[],ee=[],le=R.isBeacon,I=le?qP:UL,y=le?WL:QP,x=0,Z=0;x<$.length;){var N=$[x];if(N){if(W>=L){R.overflow=P.split(x);break}var ue=b.getEventBlob(N);if(ue&&ue.length<=y){var te=ue.length,Ce=G.length;if(Ce+te>I){R.overflow=P.split(x);break}G&&(G+=`
`),G+=ue,Z++,Z>HL&&(no(G,0,1),Z=0),H=!0,W++}else ue?T.push(N):ee.push(N),$.splice(x,1),x--}x++}if(T.length>0&&R.sizeExceed.push(is.create(P.iKey(),T)),ee.length>0&&R.failedEvts.push(is.create(P.iKey(),ee)),H){R.batches.push(P),R.payloadBlob=G,R.numEvents=W;var ce=P.iKey();mt(R.apiKeys,ce)===-1&&R.apiKeys.push(ce)}},function(){return{payload:R,theBatch:{iKey:P.iKey(),evts:P.events()},max:L}}),Y},b.getEventBlob=function(R){try{return tr(e,function(){return"Serializer.getEventBlob"},function(){var P={};P.name=R.name,P.time=R.time,P.ver=R.ver,P.iKey="o:"+Wh(R.iKey);var L={},Y;p||(Y=function(H,T,ee){$L(_,L,H,T,ee)});var $=R[l];$&&(P[l]=L,we($,function(H,T){var ee=L[H]={};E(T,ee,"ext."+H,!0,null,null,!0)}));var G=P[s]={};G.baseType=R.baseType;var W=G[c]={};return E(R.baseData,W,c,!1,[c],Y,f),E(R.data,G,s,!1,[],Y,f),JSON.stringify(P)},function(){return{item:R}})}catch{return null}};function S(R,P){var L=h[R];return L===void 0&&(R.length>=7&&(L=Hl(R,"ext.metadata")||Hl(R,"ext.web")),h[R]=L),L}function E(R,P,L,Y,$,G,W){we(R,function(H,T){var ee=null;if(T||Fr(T)){var le=L,I=H,y=$,x=P;if(u&&!Y&&YL.test(H)){var Z=H.split("."),N=Z.length;if(N>1){y&&(y=y.slice());for(var ue=0;ue<N-1;ue++){var te=Z[ue];x=x[te]=x[te]||{},le+="."+te,y&&y.push(te)}I=Z[N-1]}}var Ce=Y&&S(le,I);if(!Ce&&m&&m.handleField(le,I)?ee=m.value(le,I,T,r):ee=$h(I,T,r),ee){var ce=ee.value;if(x[I]=ce,G&&G(y,I,ee),W&&typeof ce=="object"&&!ye(ce)){var U=y;U&&(U=U.slice(),U.push(I)),E(T,ce,le+"."+I,Y,U,G,W)}}}})}})}return i.__ieDyn=1,i})()});function Du(i,e){return{set:function(t,r){for(var n=[],o=2;o<arguments.length;o++)n[o-2]=arguments[o];return hS([i,e],t,r,n)}}}var XC=V(()=>{Be()});function Bc(i,e,t){ew[i]=e,t!==!1&&(tw[e]=i)}function Rg(i,e){var t=!1;if(i&&e){var r=Vr(i);if(r&&r[Xe]>0)for(var n=e[og](),o=0;o<r[Xe];o++){var a=r[o];if(a&&Cr(e,a)&&a[og]()===n){t=!0;break}}}return t}function Ru(i,e,t,r){e&&t&&t[Xe]>0&&(r&&ew[e]?(i[Nc][ew[e]]=t,i[ag]=!0):i.url+="&"+e+"="+t)}function VL(i,e,t){for(var r=0;r<i[Xe];r++)if(i[r].name===e){i[r].value=t;return}i[Rr]({name:e,value:t})}function JL(i,e){for(var t=0;t<i[Xe];t++)if(i[t].name===e){i[kc](t,1);return}}var Lc,ZC,KL,jL,zL,ew,tw,eT,tT=V(()=>{Lr();Ic();Be();$P();wg();kf();jP();QC();ZP();XC();Eu();ZC="sendAttempt",KL="&"+xP+"=true",jL="?cors=true&"+gu[og]()+"="+qh,zL=(Lc={},Lc[1]=NC,Lc[100]=NC,Lc[200]="sent",Lc[8004]=Jh,Lc[8003]=Jh,Lc),ew={},tw={};Bc(Af,Af,!1);Bc(Qh,Qh);Bc(MC,"Client-Id");Bc(eg,eg);Bc(Xh,Xh);Bc(Zh,Zh);Bc(BC,BC);eT=(function(){function i(e,t,r,n){var o,a,s,c,l=!1,u,f,m,h,p,_,b,S,E,R,P,L,Y,$,G,W,H,T,ee,le,I,y,x,Z,N,ue,te,Ce;rt(i,this,function(ce){wt();var U=!0;ce[Oc]=function(O,J,ne){Z||(p=J,L=J.getCookieMgr(),f=ne,m=f.diagLog(),kn(le,gr(O,function(ge){var Ne,Qe=ge.cfg,_e=ge.cfg.extensionConfig[ne.identifier];N=Du(_e[sg],_e[cg]),Fr(Qe.anonCookieName)?VL(b,"anoncknm",Qe.anonCookieName):JL(b,"anoncknm"),I=_e[PP],y=_e.payloadListener;var g=_e.httpXHROverride,C=_e[GC]?_e[GC]:Qe.endpointUrl;o=C+jL,$=Ve(_e[HC])?!0:!_e[HC],P=!_e[TP];var M=_e.valueSanitizer,B=_e[IP],j=!!Qe[lg];Ve(_e[lg])||(j=!!_e[lg]),G=_e.xhrTimeout,W=!!_e[UC],H=!!_e[WC],ee=_e[AP]!==!1,ue=!!_e[kP],J.getPlugin("LocalStorage")&&(H=!0),l=!Ya(),R=new XP(p,M,B,j,hu,ue),X(_e[YC])||(l=!!_e[YC]),_e[$C]&&(Ce=_e[$C]);var q=at();te?te.SetConfig(q):(te=new xc,te[Oc](q,m));var fe=g,Me=_e[KC]?g:null,nt=_e[KC]?g:null,Te=[3,2];if(!g){_=!1;var vi=[];Ya()?(vi=[2,1],Te=[2,1,3]):vi=[1,2,3],vi=ta(vi,_e.transports),g=Ze(vi,!1),g||gi(m,"No available transport to send events"),fe=Ze(vi,!0)}Me||(Te=ta(Te,_e[NP]),Me=Ze(Te,!0)),T=!_&&(l&&Gi()||!H&&ia(!0)),h=(Ne={},Ne[0]=g,Ne[1]=fe||Ze([1,2,3],!0),Ne[2]=Me||fe||Ze([1],!0),Ne[3]=nt||Ze([2,3],!0)||fe||Ze([1],!0),Ne)})),Z=!0)},ce.addResponseHandler=function(O){return x[Rr](O),{rm:function(){var J=x.indexOf(O);J>=0&&x[kc](J,1)}}},ce[ug]=function(O){try{if(R)return R.getEventBlob(O)}catch{}return Wn},ce[dg]=function(){try{var O=R&&R[fg](0,!1,!1,!1,1,0);return pe(O,$)}catch{}return null},ce[Mf]=function(O,J){try{var ne=[];z(O,function(g){J&&(g=Fi(g));var C=is.create(g[en],[g]);ne[Rr](C)});for(var ge=null;ne[Xe]>0&&R;){var Ne=ne.shift();Ne&&Ne[rr]()>0&&(ge=ge||R[fg](0,!1,!1,!1,1,0),R.appendPayload(ge,Ne,e))}var Qe=pe(ge,$),_e={data:ge[jC],urlString:Qe.url,headers:Qe[Nc],timeout:G,disableXhrSync:W,disableFetchKeepAlive:H};return $&&(Rg(_e[Yn],If)||(_e[Yn][If]=OC),Rg(_e[Yn],gu)||(_e[Yn][gu]=qh)),_e}catch{}return null};function Ze(O,J){try{return te&&te.getSenderInst(O,J)}catch{}return null}ce._getDbgPlgTargets=function(){return[h[0],a,R,h,at(),o]};function at(){try{var O={xdrOnComplete:xe,fetchOnComplete:ui,xhrOnComplete:re,beaconOnRetry:ie},J={enableSendPromise:!1,isOneDs:!0,disableCredentials:!U,fetchCredentials:Ce,disableXhr:!1,disableBeacon:!l,disableBeaconSync:!l,disableFetchKeepAlive:H,timeWrapper:N,addNoResponse:ee,senderOnCompleteCallBack:O};return J}catch{}return null}function xe(O,J,ne){var ge=Gn(O);$e(J,200,{},ge),nn(ge)}function wt(){var O;o=null,a=new KP,s=!1,c=new YP,l=!1,u=0,f=null,m=null,h=null,p=null,_=!0,b=[],S={},E=[],R=null,P=!1,L=null,Y=!1,$=!1,G=O,W=O,H=O,T=O,ee=O,le=[],I=O,y=O,x=[],Z=!1,N=Du(),ue=!1,te=null}function ui(O,J,ne,ge){var Ne=function(g,C,M){$e(J,g,C,M),nn(M)},Qe={},_e=O[Yn];_e&&_e.forEach(function(g,C){Qe[C]=g}),Ne(O.status,Qe,ne||Wn)}function re(O,J,ne){var ge=Gn(O);$e(J,O.status,ra(O,!0),ge),nn(ge)}function $e(O,J,ne,ge){try{O(J,ne,ge)}catch(Ne){oe(m,2,518,ve(Ne))}}function ie(O,J,ne){var ge=O,Ne=200,Qe=ge[vu],_e=O[zC]+(ee?KL:Wn);try{var g=Er();if(Qe){var C=!!p.getPlugin("LocalStorage"),M=[],B=[];z(Qe[ai],function(j){if(M&&j&&j[rr]()>0)for(var q=j[Eo](),fe=0;fe<q[Xe];fe++)if(g.sendBeacon(_e,R.getEventBlob(q[fe])))B[Rr](j[fe]);else{M[Rr](j[Do](fe));break}else M[Rr](j[Do](0))}),B[Xe]>0&&(Qe.sentEvts=B),C||Tr(M,8003,Qe[Ui],!0)}else Ne=0}catch(j){gi(m,"Failed to send telemetry using sendBeacon API. Ex:"+ve(j)),Ne=0}finally{$e(J,Ne,{},Wn)}}function he(O){return O===2||O===3}function Ee(O){return Y&&he(O)&&(O=2),O}ce[Lf]=function(O,J){S[O]=J},ce.removeHeader=function(O){delete S[O]},ce[Bf]=function(){return Ke()&&c[Nf]()},ce[_u]=function(O,J){Ve(O)&&(O=0),Y&&(O=Ee(O),J=2),F(E,O,0)&&De(Ae(),0,!1,O,J||0)},ce[mg]=function(){return!s&&u===0&&E[Xe]===0},ce[Ff]=function(O){Y=O},ce.addBatch=function(O){if(O&&O[rr]()>0){if(a.isTenantKilled(O[en]()))return!1;E[Rr](O)}return!0},ce.teardown=function(){E[Xe]>0&&De(Ae(),0,!0,2,2),z(le,function(O){O&&O.rm&&O.rm()}),le=[]},ce.pause=function(){s=!0},ce[bu]=function(){s=!1,ce[_u](0,4)},ce[pg]=function(O,J,ne){O&&O[rr]()>0&&(X(J)&&(J=1),Y&&(J=Ee(J),ne=2),De([O],0,!1,J,ne||0))};function Ke(){return!s&&u<t}function Ae(){var O=E;return E=[],O}function F(O,J,ne){var ge=!1;return O&&O[Xe]>0&&!s&&h[J]&&R&&(ge=J!==0||Ke()&&(ne>0||c[Nf]())),ge}function se(O){var J={};return O&&z(O,function(ne,ge){J[ge]={iKey:ne[en](),evts:ne[Eo]()}}),J}function De(O,J,ne,ge,Ne){if(!(!O||O[Xe]===0)){if(s){Tr(O,1,ge);return}ge=Ee(ge);try{var Qe=O,_e=ge!==0;tr(p,function(){return"HttpManager:_sendBatches"},function(g){g&&(O=O.slice(0));for(var C=[],M=null,B=Hi(),j=h[ge]||(_e?h[1]:h[0]),q=j&&j[hg],fe=T&&(Y||he(ge)||q===3||j._isSync&&q===2);F(O,ge,J);){var Me=O.shift();Me&&Me[rr]()>0&&(a.isTenantKilled(Me[en]())?C[Rr](Me):(M=M||R[fg](J,ne,_e,fe,Ne,ge),R.appendPayload(M,Me,e)?M.overflow!==null&&(O=[M.overflow][wo](O),M.overflow=null,st(M,B,Hi(),Ne),B=Hi(),M=null):(st(M,B,Hi(),Ne),B=Hi(),O=[Me][wo](O),M=null)))}M&&st(M,B,Hi(),Ne),O[Xe]>0&&(E=O[wo](E)),Tr(C,8004,ge)},function(){return{batches:se(Qe),retryCount:J,isTeardown:ne,isSynchronous:_e,sendReason:Ne,useSendBeacon:he(ge),sendType:ge}},!_e)}catch(g){oe(m,2,48,"Unexpected Exception sending batch: "+ve(g))}}}function pe(O,J){var ne={url:o,hdrs:{},useHdrs:!1};J?(ne[Nc]=Tc(ne[Nc],S),ne.useHdrs=Vr(ne.hdrs)[Xe]>0):we(S,function(g,C){tw[g]?Ru(ne,tw[g],C,!1):(ne[Nc][g]=C,ne[ag]=!0)}),Ru(ne,MC,"NO_AUTH",J),Ru(ne,Qh,pu,J);var ge=Wn;z(O.apiKeys,function(g){ge[Xe]>0&&(ge+=","),ge+=g}),Ru(ne,eg,ge,J),Ru(ne,Zh,$t().toString(),J);var Ne=ri(O);if(Fr(Ne)&&(ne.url+="&ext.intweb.msfpc="+Ne),c[ig]()&&Ru(ne,Xh,c[ng](),J),p[Cu]){var Qe=p[Cu]();Qe>=0&&(ne.url+="&w="+Qe)}for(var _e=0;_e<b[Xe];_e++)ne.url+="&"+b[_e].name+"="+b[_e].value;return ne}function Re(O,J,ne){O[J]=O[J]||{},O[J][f.identifier]=ne}function st(O,J,ne,ge){if(O&&O.payloadBlob&&O.payloadBlob[Xe]>0){var Ne=!!I,Qe=h[O.sendType];!he(O[Ui])&&O[VC]&&O.sendReason===2&&(Qe=h[2]||h[3]||Qe);var _e=$;(O.isBeacon||Qe[hg]===3)&&(_e=!1);var g=pe(O,_e);_e=_e||g[ag];var C=Hi();tr(p,function(){return"HttpManager:_doPayloadSend"},function(){for(var M=0;M<O.batches[Xe];M++)for(var B=O[ai][M],j=B[Eo](),q=0;q<j[Xe];q++){var fe=j[q];if(P){var Me=fe[Gf]=fe[Gf]||{};Re(Me,"sendEventStart",C),Re(Me,"serializationStart",J),Re(Me,"serializationCompleted",ne)}fe[ZC]>0?fe[ZC]++:fe[ZC]=1}Tr(O[ai],1e3+(ge||0),O[Ui],!0);var nt={data:O[jC],urlString:g.url,headers:g[Nc],_thePayload:O,_sendReason:ge,timeout:G,disableXhrSync:W,disableFetchKeepAlive:H};_e&&(Rg(nt[Yn],If)||(nt[Yn][If]=OC),Rg(nt[Yn],gu)||(nt[Yn][gu]=qh));var Te=null;Qe&&(Te=function(vi){c[rg]();var Lo=function(jn,am){ht(jn,am,O,ge)},_i=O[gg]||O[yg];try{Qe.sendPOST(vi,Lo,_i),y&&y(nt,vi,_i,O[VC])}catch(jn){gi(m,"Unexpected exception sending payload. Ex:"+ve(jn)),$e(Lo,0,{})}}),tr(p,function(){return"HttpManager:_doPayloadSend.sender"},function(){if(Te)if(O[Ui]===0&&u++,Ne&&!O.isBeacon&&Qe[hg]!==3){var vi={data:nt[wu],urlString:nt[zC],headers:Tc({},nt[Yn]),timeout:nt[MP],disableXhrSync:nt[UC],disableFetchKeepAlive:nt[WC]},Lo=!1;tr(p,function(){return"HttpManager:_doPayloadSend.sendHook"},function(){try{I(vi,function(_i){Lo=!0,!_&&!_i[vu]&&(_i[vu]=_i[vu]||nt[vu],_i[vg]=_i[vg]||nt[vg]),Te(_i)},O.isSync||O[gg])}catch{Lo||Te(nt)}})}else Te(nt)})},function(){return{thePayload:O,serializationStart:J,serializationCompleted:ne,sendReason:ge}},O[yg])}O.sizeExceed&&O.sizeExceed[Xe]>0&&Tr(O.sizeExceed,8003,O[Ui]),O.failedEvts&&O.failedEvts[Xe]>0&&Tr(O.failedEvts,8002,O[Ui])}function it(O,J){P&&z(O,function(ne){var ge=ne[Gf]=ne[Gf]||{};Re(ge,"sendEventCompleted",J)})}function ht(O,J,ne,ge){var Ne=9e3,Qe=null,_e=!1,g=!1;try{var C=!0;if(typeof O!==eo){if(J){c[Of](J[SP]);var M=J[RP]||J["kill-duration-seconds"];z(a[_g](J[DP],M),function(j){z(ne[ai],function(q){if(q[en]()===j){Qe=Qe||[];var fe=q[Do](0);ne.numEvents-=fe[rr](),Qe[Rr](fe)}})})}if(O==200||O==204){Ne=200;return}(!VP(O)||ne.numEvents<=0)&&(C=!1),Ne=9e3+O%1e3}if(C){Ne=100;var B=ne.retryCnt;ne[Ui]===0&&(B<r?(_e=!0,ti(function(){ne[Ui]===0&&u--,De(ne[ai],B+1,ne[gg],Y?2:ne[Ui],5)},Y,Eg(B))):(g=!0,Y&&(Ne=8001)))}}finally{_e||(c[Of](),kt(ne,Ne,ge,g)),Tr(Qe,8004,ne[Ui])}}function kt(O,J,ne,ge){try{ge&&f[bg]();var Ne=O[ai];J===200&&(Ne=O.sentEvts||O[ai],!ge&&!O[yg]&&f._clearBackOff(),jt(Ne)),Tr(Ne,J,O[Ui],!0)}finally{O[Ui]===0&&(u--,ne!==5&&ce.sendQueuedRequests(O[Ui],ne))}}function jt(O){if(P){var J=Hi();z(O,function(ne){ne&&ne[rr]()>0&&it(ne[Eo](),J)})}}function ti(O,J,ne){J?O():N.set(O,ne)}function ri(O){for(var J=0;J<O.batches[Xe];J++){var ne=O[ai][J].Msfpc();if(ne)return encodeURIComponent(ne)}return Wn}function nn(O){var J=x;try{for(var ne=0;ne<J[Xe];ne++)try{J[ne](O)}catch(Ne){oe(m,1,519,"Response handler failed: "+Ne)}if(O){var ge=JSON.parse(O);Fr(ge.webResult)&&Fr(ge.webResult[yu])&&L.set("MSFPC",ge.webResult[yu],365*86400)}}catch{}}function Tr(O,J,ne,ge){if(O&&O[Xe]>0&&n){var Ne=n[Mo(J)];if(Ne){var Qe=ne!==0;tr(p,function(){return"HttpManager:_sendBatchesNotification"},function(){ti(function(){try{Ne.call(n,O,J,Qe,ne)}catch(_e){oe(m,1,74,"send request notification failed: "+_e)}},ge||Qe,0)},function(){return{batches:se(O),reason:J,isSync:Qe,sendSync:ge,sendType:ne}},!Qe)}}}function Mo(O){var J=zL[O];return Fr(J)||(J=EP,O>=9e3&&O<=9999?J=wP:O>=8e3&&O<=8999?J=Jh:O>=1e3&&O<=1999&&(J=CP)),J}})}return i.__ieDyn=1,i})()});function tB(i){return i&&i.sendPOST}var qL,rT,QL,oT,aT,XL,iT,ZL,rw,Fc,nT,yr,eB,sT,cT=V(()=>{Ai();Lr();Ic();pc();Be();kC();wg();tT();kf();QC();XC();Eu();qL=.25,rT=500,QL=20,oT=6,aT=2,XL=4,iT=2,ZL=1,rw=1e4,Fc="eventsDiscarded",nT="",yr=void 0,eB=io({eventsLimitInMem:{isVal:ts,v:rw},immediateEventLimit:{isVal:ts,v:500},autoFlushEventsLimit:{isVal:ts,v:0},disableAutoBatchFlushLimit:!1,httpXHROverride:{isVal:tB,v:yr},overrideInstrumentationKey:yr,overrideEndpointUrl:yr,disableTelemetry:!1,ignoreMc1Ms0CookieProcessing:!1,setTimeoutOverride:yr,clearTimeoutOverride:yr,payloadPreprocessor:yr,payloadListener:yr,disableEventTimings:yr,valueSanitizer:yr,stringifyObjects:yr,enableCompoundKey:yr,disableOptimizeObj:!1,fetchCredentials:yr,transports:yr,unloadTransports:yr,useSendBeacon:yr,disableFetchKeepAlive:yr,avoidOptions:!1,xhrTimeout:yr,disableXhrSync:yr,alwaysUseXhrOverride:!1,maxEventRetryAttempts:{isVal:zr,v:oT},maxUnloadEventRetryAttempts:{isVal:zr,v:aT},addNoResponse:yr,excludeCsMetaData:yr});sT=(function(i){Ii(e,i);function e(){var t=i.call(this)||this;t.identifier="PostChannel",t.priority=1011,t.version="4.3.4";var r,n=!1,o=[],a,s=!1,c=0,l,u=0,f,m={},h=Ac,p,_,b,S,E,R,P,L,Y,$,G,W,H,T,ee,le,I,y,x,Z,N,ue;return rt(e,t,function(te,Ce){Ee(),te._getDbgPlgTargets=function(){return[E,r]},te[Oc]=function(g,C,M){tr(C,function(){return"PostChannel:initialize"},function(){Ce[Oc](g,C,M),x=C.getNotifyMgr();try{ee=Zi(Qr(te[Hf]),C.evtNamespace&&C.evtNamespace()),te._addHook(gr(g,function(B){var j=B.cfg,q=yi(null,j,C);r=q.getExtCfg(te[Hf],eB),le=Du(r[sg],r[cg]),G=!r[LP]&&Kh(),I=r[BP],U(C),f=r[JC],l=r.immediateEventLimit,P=r[qC],H=r.maxEventRetryAttempts,T=r.maxUnloadEventRetryAttempts,y=r[FP],pi(j.endpointUrl)?te.pause():s&&te[bu](),_e(),N=r[GP],ue=!!r[HP],Z&&ce();var fe=j.disablePageUnloadEvents||[];Z=Ef(xe,fe,ee),Z=du(xe,fe,ee)||Z,Z=fu(wt,j.disablePageShowEvents,ee)||Z})),E[Oc](g,te.core,te)}catch(B){throw te.setInitialized(!1),B}},function(){return{theConfig:g,core:C,extensions:M}})},te.processTelemetry=function(g,C){Tf(g,te[Hf]),C=C||te._getTelCtx(C);var M=g;!ue&&!n&&(N&&(M[en]=N),re(M,!0),W?F(2,2):he()),te.processNext(M,C)},te.getOfflineSupport=function(){try{var g=E&&E[dg]();if(E)return{getUrl:function(){return g?g.url:null},serialize:at,batch:Ze,shouldProcess:function(C){return!ue},createPayload:function(C){return null},createOneDSPayload:function(C){if(E[Mf])return E[Mf](C,G)}}}catch{}return null},te._doTeardown=function(g,C){F(2,2),n=!0,E.teardown(),ce(),Ee()};function ce(){Df(null,ee),Rf(null,ee),Sf(null,ee)}function U(g){var C=g[Cu];g[Cu]=function(){var M=0;return I&&(M=M|2),M|C.call(g)}}function Ze(g){var C=nT;return g&&g[Xe]&&z(g,function(M){C&&(C+=`
`),C+=M}),C}function at(g){var C=nT;try{ui(g),C=E[ug](g)}catch{}return C}function xe(g){var C=g||pr().event;C.type!=="beforeunload"&&(W=!0,E[Ff](W)),F(2,2)}function wt(g){W=!1,E[Ff](W)}function ui(g){g.ext&&g.ext[FC]&&delete g.ext[FC],g.ext&&g.ext[tg]&&g.ext[tg].id&&delete g.ext[tg].id,G&&(g.ext=Fi(g.ext),g[Cg]&&(g[Cg]=Fi(g[Cg])),g[wu]&&(g[wu]=Fi(g[wu])))}function re(g,C){if(g[Uf]||(g[Uf]=0),g[rs]||(g[rs]=1),ui(g),g[Mc]){if(b||s)g[rs]=3,g[Mc]=!1;else if(E){G&&(g=Fi(g)),E[pg](is.create(g[en],[g]),g[Mc]===!0?1:g[Mc],3);return}}var M=g[rs],B=u,j=f;M===4&&(B=c,j=l);var q=!1;if(B<j)q=!Re(g,C);else{var fe=1,Me=QL;M===4&&(fe=4,Me=1),q=!0,st(g[en],g[rs],fe,Me)&&(q=!Re(g,C))}q&&Mo(Fc,[g],Nn.QueueFull)}te.setEventQueueLimits=function(g,C){r[JC]=f=ts(g)?g:rw,r[qC]=P=ts(C)?C:0,_e();var M=u>g;if(!M&&L>0)for(var B=1;!M&&B<=3;B++){var j=R[B];j&&j[ai]&&z(j[ai],function(q){q&&q[rr]()>=L&&(M=!0)})}pe(!0,M)},te.pause=function(){Ae(),s=!0,E&&E.pause()},te[bu]=function(){s=!1,E&&E[bu](),he()},te._loadTransmitProfiles=function(g){ti(),we(g,function(C,M){var B=M[Xe];if(B>=2){var j=B>2?M[2]:0;if(M[kc](0,B-2),M[1]<0&&(M[0]=-1),M[1]>0&&M[0]>0){var q=M[0]/M[1];M[0]=Math.ceil(q)*M[1]}j>=0&&M[1]>=0&&j>M[1]&&(j=M[1]),M[Rr](j),m[C]=M}})},te.flush=function(g,C,M){g===void 0&&(g=!0);var B;if(!s)if(M=M||1,g)C||(B=dn(function(q){C=q})),a==null?(Ae(),ht(1,0,M),a=Ke(function(){a=null,kt(C,M)},0)):o[Rr](C);else{var j=Ae();$e(1,1,M),C&&C(),j&&he()}return B},te.setMsaAuthTicket=function(g){E[Lf](Af,g)},te.setAuthPluginHeader=function(g){E[Lf](LC,g)},te.removeAuthPluginHeader=function(){E.removeHeader(LC)},te.hasEvents=ie,te._setTransmitProfile=function(g){h!==g&&m[g]!==void 0&&(Ae(),h=g,he())},Xi(te,function(){return E},["addResponseHandler"]);function $e(g,C,M){var B=ht(g,C,M);return E[_u](C,M),B}function ie(){return u>0}function he(){if(Y>=0&&ht(Y,0,$)&&E[_u](0,$),c>0&&!_&&!s){var g=m[h][2];g>=0&&(_=Ke(function(){_=null,$e(4,0,1),he()},g))}var C=m[h][1];!p&&!a&&C>=0&&!s&&(ie()?p=Ke(function(){p=null,$e(S===0?3:1,0,1),S++,S%=2,he()},C):S=0)}te[bg]=function(){b<XL&&(b++,Ae(),he())},te._clearBackOff=function(){b&&(b=0,Ae(),he())};function Ee(){r=null,n=!1,o=[],a=null,s=!1,c=0,l=500,u=0,f=rw,m={},h=Ac,p=null,_=null,b=0,S=0,R={},P=0,Z=!1,L=0,Y=-1,$=null,G=!0,W=!1,H=oT,T=aT,ee=null,N=null,ue=!1,le=Du(),E=new eT(rT,iT,ZL,{requeue:nn,send:J,sent:ne,drop:ge,rspFail:Ne,oth:Qe}),ri(),se(),_e()}function Ke(g,C){C===0&&b&&(C=1);var M=1e3;return b&&(M=Eg(b-1)),le.set(g,C*M)}function Ae(){return p!==null?(p.cancel(),p=null,S=0,!0):!1}function F(g,C){Ae(),a&&(a.cancel(),a=null),s||$e(1,g,C)}function se(){R[4]={batches:[],iKeyMap:{}},R[3]={batches:[],iKeyMap:{}},R[2]={batches:[],iKeyMap:{}},R[1]={batches:[],iKeyMap:{}}}function De(g,C,M){var B=R[C];B||(C=1,B=R[C]);var j=B.iKeyMap[g];return!j&&M&&(j=is.create(g),B.batches[Rr](j),B.iKeyMap[g]=j),j}function pe(g,C){E[Bf]()&&!b&&(P>0&&u>P&&(C=!0),C&&a==null&&te.flush(g,function(){},20))}function Re(g,C){G&&(g=Fi(g));var M=g[rs],B=De(g[en],M,!0);return B.addEvent(g)?(M!==4?(u++,C&&g[Uf]===0&&pe(!g.sync,L>0&&B[rr]()>=L)):c++,!0):!1}function st(g,C,M,B){for(;M<=C;){var j=De(g,C,!0);if(j&&j[rr]()>0){var q=j[Do](0,B),fe=q[rr]();if(fe>0)return M===4?c-=fe:u-=fe,O(Fc,[q],Nn.QueueFull),!0}M++}return it(),!1}function it(){for(var g=0,C=0,M=function(j){var q=R[j];q&&q[ai]&&z(q[ai],function(fe){j===4?g+=fe[rr]():C+=fe[rr]()})},B=1;B<=4;B++)M(B);u=C,c=g}function ht(g,C,M){var B=!1,j=C===0;return!j||E[Bf]()?tr(te.core,function(){return"PostChannel._queueBatches"},function(){for(var q=[],fe=4;fe>=g;){var Me=R[fe];Me&&Me.batches&&Me.batches[Xe]>0&&(z(Me[ai],function(nt){E.addBatch(nt)?B=B||nt&&nt[rr]()>0:q=q[wo](nt[Eo]()),fe===4?c-=nt[rr]():u-=nt[rr]()}),Me[ai]=[],Me.iKeyMap={}),fe--}q[Xe]>0&&Mo(Fc,q,Nn.KillSwitch),B&&Y>=g&&(Y=-1,$=0)},function(){return{latency:g,sendType:C,sendReason:M}},!j):(Y=Y>=0?Math.min(Y,g):g,$=Math.max($,M)),B}function kt(g,C){$e(1,0,C),it(),jt(function(){g&&g(),o[Xe]>0?a=Ke(function(){a=null,kt(o.shift(),C)},0):(a=null,he())})}function jt(g){E[mg]()?g():a=Ke(function(){a=null,jt(g)},qL)}function ti(){Ae(),ri(),h=Ac,he()}function ri(){m={},m[Ac]=[2,1,0],m[zh]=[6,3,0],m[Vh]=[18,9,0]}function nn(g,C){var M=[],B=H;W&&(B=T),z(g,function(j){j&&j[rr]()>0&&z(j[Eo](),function(q){q&&(q[Mc]&&(q[rs]=4,q[Mc]=!1),q[Uf]<B?(Tf(q,te[Hf]),re(q,!1)):M[Rr](q))})}),M[Xe]>0&&Mo(Fc,M,Nn.NonRetryableStatus),W&&F(2,2)}function Tr(g,C){var M=x||{},B=M[g];if(B)try{B.apply(M,C)}catch(j){oe(te.diagLog(),1,74,g+" notification failed: "+j)}}function Mo(g,C){for(var M=[],B=2;B<arguments.length;B++)M[B-2]=arguments[B];C&&C[Xe]>0&&Tr(g,[C][wo](M))}function O(g,C){for(var M=[],B=2;B<arguments.length;B++)M[B-2]=arguments[B];C&&C[Xe]>0&&z(C,function(j){j&&j[rr]()>0&&Tr(g,[j.events()][wo](M))})}function J(g,C,M){g&&g[Xe]>0&&Tr("eventsSendRequest",[C>=1e3&&C<=1999?C-1e3:0,M!==!0])}function ne(g,C){O("eventsSent",g,C),he()}function ge(g,C){O(Fc,g,C>=8e3&&C<=8999?C-8e3:Nn.Unknown)}function Ne(g){O(Fc,g,Nn.NonRetryableStatus),he()}function Qe(g,C){O(Fc,g,Nn.Unknown),he()}function _e(){y?L=0:L=Math.max(rT*(iT+1),f/6)}}),t}return e.__ieDyn=1,e})(la)});var lT={};sl(lT,{BE_PROFILE:()=>Vh,NRT_PROFILE:()=>zh,PostChannel:()=>sT,RT_PROFILE:()=>Ac});var uT=V(()=>{kC();cT()});var fT=Tt(Ro=>{"use strict";var rB=Ro&&Ro.__createBinding||(Object.create?(function(i,e,t,r){r===void 0&&(r=t);var n=Object.getOwnPropertyDescriptor(e,t);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(i,r,n)}):(function(i,e,t,r){r===void 0&&(r=t),i[r]=e[t]})),iB=Ro&&Ro.__setModuleDefault||(Object.create?(function(i,e){Object.defineProperty(i,"default",{enumerable:!0,value:e})}):function(i,e){i.default=e}),dT=Ro&&Ro.__importStar||function(i){if(i&&i.__esModule)return i;var e={};if(i!=null)for(var t in i)t!=="default"&&Object.prototype.hasOwnProperty.call(i,t)&&rB(e,i,t);return iB(e,i),e};Object.defineProperty(Ro,"__esModule",{value:!0});Ro.oneDataSystemClientFactory=void 0;var nB=async(i,e,t)=>{let r=await Promise.resolve().then(()=>dT((Ic(),cl(bP)))),n=await Promise.resolve().then(()=>dT((uT(),cl(lT)))),o=new r.AppInsightsCore,a=new n.PostChannel,s={instrumentationKey:i,endpointUrl:"https://mobile.events.data.microsoft.com/OneCollector/1.0",loggingLevelTelemetry:0,loggingLevelConsole:0,disableCookiesUsage:!0,disableDbgExt:!0,disableInstrumentationKeyValidation:!0,channels:[[a]]};if(t){s.extensionConfig={};let u={alwaysUseXhrOverride:!0,httpXHROverride:t};s.extensionConfig[a.identifier]=u}let l=e.workspace.getConfiguration("telemetry").get("internalTesting");return o.initialize(s,[]),o.addTelemetryInitializer(u=>{u.ext=u.ext??{},u.ext.web=u.ext.web??{},u.ext.web.consentDetails='{"GPC_DataSharingOptIn":false}',l&&(u.ext.utc=u.ext.utc??{},u.ext.utc.flags=8462029)}),o},oB=async(i,e,t)=>{let r=await nB(i,e,t);return{logEvent:(a,s)=>{try{r?.track({name:a,baseData:{name:a,properties:s?.properties,measurements:s?.measurements}})}catch(c){throw new Error(`Failed to log event to app insights!
`+c.message)}},flush:async()=>{try{return new Promise((s,c)=>{if(!r){s();return}r.flush(!0,l=>{if(!l){c("Failed to flush app 1DS!");return}})})}catch(a){throw new Error(`Failed to flush 1DS!
`+a.message)}},dispose:async()=>new Promise(s=>{if(!r){s();return}r.unload(!1,()=>{s(),r=void 0},1e3)})}};Ro.oneDataSystemClientFactory=oB});var mT,Su,xu,Wf,ns,$n,Sr,Sg,hn=V(()=>{mT="Microsoft_ApplicationInsights_BypassAjaxInstrumentation",Su="sampleRate",xu="ProcessLegacy",Wf="http.method",ns="https://dc.services.visualstudio.com",$n="/v2/track",Sr="not_specified",Sg="iKey"});var Gc,iw=V(()=>{yt();Gc=rb({requestContextHeader:[0,"Request-Context"],requestContextTargetKey:[1,"appId"],requestContextAppIdFormat:[2,"appId=cid-v1:"],requestIdHeader:[3,"Request-Id"],traceParentHeader:[4,"traceparent"],traceStateHeader:[5,"tracestate"],sdkContextHeader:[6,"Sdk-Context"],sdkContextHeaderAppIdRequest:[7,"appId"],requestContextHeaderLowerCase:[8,"request-context"]})});var pa,Ge,So,os,ha,ga,xg,vr,Kn,as,Pg,Tg,Ig,nw,Ag,kg,Hc,Pu,ow,Yf,Uc,gn,Xr,si,Wc,xo,Yc,Ng,Og,aw,$c,ss,$f,Kf,Kc,Tu,jc,sw,xr=V(()=>{pa="split",Ge="length",So="toLowerCase",os="ingestionendpoint",ha="toString",ga="push",xg="removeItem",vr="name",Kn="message",as="count",Pg="preTriggerDate",Tg="disabled",Ig="interval",nw="daysOfMonth",Ag="date",kg="getUTCDate",Hc="stringify",Pu="pathname",ow="correlationHeaderExcludePatterns",Yf="extensionConfig",Uc="exceptions",gn="parsedStack",Xr="properties",si="measurements",Wc="sizeInBytes",xo="typeName",Yc="severityLevel",Ng="problemGroup",Og="isManual",aw="CreateFromInterface",$c="assembly",ss="fileName",$f="hasFullStack",Kf="level",Kc="method",Tu="line",jc="duration",sw="receivedResponse"});function Mg(i,e,t){var r=e[Ge],n=cw(i,e);if(n[Ge]!==r){for(var o=0,a=n;t[a]!==void 0;)o++,a=wr(n,0,147)+lw(o);n=a}return n}function cw(i,e){var t;return e&&(e=pt(cr(e)),e[Ge]>150&&(t=wr(e,0,150),oe(i,2,57,"name is too long. It has been truncated to 150 characters.",{name:e},!0))),t||e}function Ct(i,e,t){t===void 0&&(t=1024);var r;return e&&(t=t||1024,e=pt(cr(e)),e[Ge]>t&&(r=wr(e,0,t),oe(i,2,61,"string value is too long. It has been truncated to "+t+" characters.",{value:e},!0))),r||e}function cs(i,e){return Fg(i,e,2048,66)}function Iu(i,e){var t;return e&&e[Ge]>32768&&(t=wr(e,0,32768),oe(i,2,56,"message is too long, it has been truncated to 32768 characters.",{message:e},!0)),t||e}function Lg(i,e){var t;if(e){var r=""+e;r[Ge]>32768&&(t=wr(r,0,32768),oe(i,2,52,"exception is too long, it has been truncated to 32768 characters.",{exception:e},!0))}return t||e}function ci(i,e){if(e){var t={};we(e,function(r,n){if(Yt(n)&&fo())try{n=qr()[Hc](n)}catch(o){oe(i,2,49,"custom property is not valid",{exception:o},!0)}n=Ct(i,n,8192),r=Mg(i,r,t),t[r]=n}),e=t}return e}function li(i,e){if(e){var t={};we(e,function(r,n){r=Mg(i,r,t),t[r]=n}),e=t}return e}function Bg(i,e){return e&&Fg(i,e,128,69)[ha]()}function Fg(i,e,t,r){var n;return e&&(e=pt(cr(e)),e[Ge]>t&&(n=wr(e,0,t),oe(i,2,r,"input is too long, it has been truncated to "+t+" characters.",{data:e},!0))),n||e}function lw(i){var e="00"+i;return no(e,e[Ge]-3)}var yn=V(()=>{yt();Be();xr()});function zc(i){var e=hT,t=aB,r=t[e];return pT.createElement?t[e]||(r=t[e]=pT.createElement("a")):r={host:uw(i,!0)},r.href=i,e++,e>=t[Ge]&&(e=0),hT=e,r}function gT(i){var e,t=zc(i);return t&&(e=t.href),e}function yT(i){var e,t=zc(i);return t&&(e=t[Pu]),e}function vT(i,e){return i?i.toUpperCase()+" "+e:e}function uw(i,e){var t=jf(i,e)||"";if(t){var r=t.match(/(www\d{0,5}\.)?([^\/:]{1,256})(:\d{1,20})?/i);if(r!=null&&r[Ge]>3&&Ue(r[2])&&r[2][Ge]>0)return r[2]+(r[3]||"")}return t}function jf(i,e){var t=null;if(i){var r=i.match(/(\w{1,150}):\/\/([^\/:]{1,256})(:\d{1,20})?/i);if(r!=null&&r[Ge]>2&&Ue(r[2])&&r[2][Ge]>0&&(t=r[2]||"",e&&r[Ge]>2)){var n=(r[1]||"")[So](),o=r[3]||"";(n==="http"&&o===":80"||n==="https"&&o===":443")&&(o=""),t+=o}}return t}var pT,hT,aB,dw=V(()=>{yt();xr();pT=Zt()||{},hT=0,aB=[null,null,null,null,null]});function zf(i){return mt(sB,i[So]())!==-1}function _T(i){fw=i}function bT(){return fw}function CT(i,e,t){if(!e||i&&i.disableCorrelationHeaders)return!1;if(i&&i[ow]){for(var r=0;r<i.correlationHeaderExcludePatterns[Ge];r++)if(i[ow][r].test(e))return!1}var n=zc(e).host[So]();if(n&&(Ti(n,":443")!==-1||Ti(n,":80")!==-1)&&(n=(jf(e,!0)||"")[So]()),(!i||!i.enableCorsCorrelation)&&n&&n!==t)return!1;var o=i&&i.correlationHeaderDomains;if(o){var a;if(z(o,function(l){var u=new RegExp(l.toLowerCase().replace(/\\/g,"\\\\").replace(/\./g,"\\.").replace(/\*/g,".*"));a=a||u.test(n)}),!a)return!1}var s=i&&i.correlationHeaderExcludedDomains;if(!s||s[Ge]===0)return!0;for(var r=0;r<s[Ge];r++){var c=new RegExp(s[r].toLowerCase().replace(/\\/g,"\\\\").replace(/\./g,"\\.").replace(/\*/g,".*"));if(c.test(n))return!1}return n&&n[Ge]>0}function wT(i){if(i){var e=mw(i,Gc[1]);if(e&&e!==fw)return e}}function mw(i,e){if(i)for(var t=i[pa](","),r=0;r<t[Ge];++r){var n=t[r][pa]("=");if(n[Ge]===2&&n[0]===e)return n[1]}}function ET(i,e,t,r){var n,o=r,a=r;if(e&&e[Ge]>0){var s=zc(e);if(n=s.host,!o)if(s[Pu]!=null){var c=s.pathname[Ge]===0?"/":s[Pu];c.charAt(0)!=="/"&&(c="/"+c),a=s[Pu],o=Ct(i,t?t+" "+c:c)}else o=Ct(i,e)}else n=r,o=r;return{target:n,name:o,data:a}}function DT(){var i=Aa();if(i&&i.now&&i.timing){var e=i.now()+i.timing.navigationStart;if(e>0)return e}return $t()}function RT(i,e){var t=null;return i!==0&&e!==0&&!X(i)&&!X(e)&&(t=e-i),t}function ST(i,e){var t=i||{};return{getName:function(){return t[vr]},setName:function(r){e&&e.setName(r),t[vr]=r},getTraceId:function(){return t.traceID},setTraceId:function(r){e&&e.setTraceId(r),ho(r)&&(t.traceID=r)},getSpanId:function(){return t.parentID},setSpanId:function(r){e&&e.setSpanId(r),go(r)&&(t.parentID=r)},getTraceFlags:function(){return t.traceFlags},setTraceFlags:function(r){e&&e.setTraceFlags(r),t.traceFlags=r}}}var sB,fw,pw=V(()=>{yt();Be();hn();iw();yn();dw();xr();sB=[ns+$n,"https://breeze.aimon.applicationinsights.io"+$n,"https://dc-int.services.visualstudio.com"+$n],fw="cid-v1:"});var Au,xT,PT,hw=V(()=>{yt();Au=er({LocalStorage:0,SessionStorage:1}),xT=er({AI:0,AI_AND_W3C:1,W3C:2}),PT=er({Normal:1,Critical:2})});function gw(){return ku()?Gg(Au.LocalStorage):null}function Gg(i){try{if(X(hi()))return null;var e=new Date()[ha](),t=Ie(i===Au.LocalStorage?"localStorage":"sessionStorage"),r=TT+e;t.setItem(r,e);var n=t.getItem(r)!==e;if(t[xg](r),!n)return t}catch{}return null}function yw(){return Vc()?Gg(Au.SessionStorage):null}function IT(){ls=!1,us=!1}function Hg(i){TT=i||""}function AT(){ls=ku(!0),us=Vc(!0)}function ku(i){return(i||ls===void 0)&&(ls=!!Gg(Au.LocalStorage)),ls}function Ug(i,e){var t=gw();if(t!==null)try{return t.getItem(e)}catch(r){ls=!1,oe(i,2,1,"Browser failed read of local storage. "+Pt(r),{exception:ve(r)})}return null}function Wg(i,e,t){var r=gw();if(r!==null)try{return r.setItem(e,t),!0}catch(n){ls=!1,oe(i,2,3,"Browser failed write to local storage. "+Pt(n),{exception:ve(n)})}return!1}function kT(i,e){var t=gw();if(t!==null)try{return t[xg](e),!0}catch(r){ls=!1,oe(i,2,5,"Browser failed removal of local storage item. "+Pt(r),{exception:ve(r)})}return!1}function Vc(i){return(i||us===void 0)&&(us=!!Gg(Au.SessionStorage)),us}function NT(){var i=[];return Vc()&&we(Ie("sessionStorage"),function(e){i[ga](e)}),i}function Yg(i,e){var t=yw();if(t!==null)try{return t.getItem(e)}catch(r){us=!1,oe(i,2,2,"Browser failed read of session storage. "+Pt(r),{exception:ve(r)})}return null}function $g(i,e,t){var r=yw();if(r!==null)try{return r.setItem(e,t),!0}catch(n){us=!1,oe(i,2,4,"Browser failed write to session storage. "+Pt(n),{exception:ve(n)})}return!1}function Kg(i,e){var t=yw();if(t!==null)try{return t[xg](e),!0}catch(r){us=!1,oe(i,2,6,"Browser failed removal of session storage item. "+Pt(r),{exception:ve(r)})}return!1}var ls,us,TT,vw=V(()=>{yt();hw();xr();ls=void 0,us=void 0,TT=""});var cB,OT,MT=V(()=>{yt();Be();vw();xr();cB="appInsightsThrottle",OT=(function(){function i(e,t){var r=this,n,o,a,s,c,l,u,f=!1,m=!1;p(),r._getDbgPlgTargets=function(){return[u]},r.getConfig=function(){return a},r.canThrottle=function(I){var y=T(I),x=_(I);return E(x,n,y)},r.isTriggered=function(I){return ee(I)},r.isReady=function(){return f},r.flush=function(I){try{var y=le(I);if(y&&y[Ge]>0){var x=y.slice(0);return u[I]=[],z(x,function(Z){h(Z.msgID,Z[Kn],Z.severity,!1)}),!0}}catch{}return!1},r.flushAll=function(){try{if(u){var I=!0;return we(u,function(y){var x=r.flush(parseInt(y));I=I&&x}),I}}catch{}return!1},r.onReadyState=function(I,y){return y===void 0&&(y=!0),f=X(I)?!0:I,f&&y?r.flushAll():null},r.sendMessage=function(I,y,x){return h(I,y,x,!0)};function h(I,y,x,Z){if(f){var N=H(I);if(!N)return;var ue=_(I),te=T(I),Ce=E(ue,n,te),ce=!1,U=0,Ze=ee(I);try{Ce&&!Ze?(U=Math.min(ue.limit.maxSendNumber,te[as]+1),te[as]=0,ce=!0,c[I]=!0,te[Pg]=new Date):(c[I]=Ce,te[as]+=1);var at=R(I);$(o,at,te);for(var xe=0;xe<U;xe++)W(I,o,y,x)}catch{}return{isThrottled:ce,throttleNum:U}}else if(Z){var wt=le(I);wt[ga]({msgID:I,message:y,severity:x})}return null}function p(){o=Hn(e),c={},s={},u={},a={},b(109),l=fn(t)?t:"",e.addUnloadHook(gr(e.config,function(I){var y=I.cfg;n=ku();var x=y.throttleMgrCfg||{};we(x,function(Z,N){b(parseInt(Z),N)})}))}function _(I){return a[I]||a[109]}function b(I,y){var x,Z;try{var N=y||{},ue={};ue[Tg]=!!N[Tg];var te=N[Ig]||{};m=te?.daysOfMonth&&te?.daysOfMonth[Ge]>0,ue[Ig]=S(te);var Ce={samplingRate:((x=N.limit)===null||x===void 0?void 0:x.samplingRate)||100,maxSendNumber:((Z=N.limit)===null||Z===void 0?void 0:Z.maxSendNumber)||1};ue.limit=Ce,a[I]=ue}catch{}}function S(I){I=I||{};var y=I?.monthInterval,x=I?.dayInterval;return X(y)&&X(x)&&(I.monthInterval=3,m||(I[nw]=[28],m=!0)),I={monthInterval:I?.monthInterval,dayInterval:I?.dayInterval,daysOfMonth:I?.daysOfMonth},I}function E(I,y,x){if(I&&!I[Tg]&&y&&fn(x)){var Z=Y(),N=x[Ag],ue=I[Ig],te=1;if(ue?.monthInterval){var Ce=(Z.getUTCFullYear()-N.getUTCFullYear())*12+Z.getUTCMonth()-N.getUTCMonth();te=G(ue.monthInterval,0,Ce)}var ce=1;if(m)ce=mt(ue[nw],Z[kg]());else if(ue?.dayInterval){var U=Math.floor((Z.getTime()-N.getTime())/864e5);ce=G(ue.dayInterval,0,U)}return te>=0&&ce>=0}return!1}function R(I,y){var x=fn(y)?y:"";return I?cB+x+"-"+I:null}function P(I){try{if(I){var y=new Date;return I.getUTCFullYear()===y.getUTCFullYear()&&I.getUTCMonth()===y.getUTCMonth()&&I[kg]()===y[kg]()}}catch{}return!1}function L(I,y,x){try{var Z={date:Y(),count:0};if(I){var N=JSON.parse(I),ue={date:Y(N[Ag])||Z[Ag],count:N[as]||Z[as],preTriggerDate:N.preTriggerDate?Y(N[Pg]):void 0};return ue}else return $(y,x,Z),Z}catch{}return null}function Y(I){try{if(I){var y=new Date(I);if(!isNaN(y.getDate()))return y}else return new Date}catch{}return null}function $(I,y,x){try{return Wg(I,y,pt(JSON[Hc](x)))}catch{}return!1}function G(I,y,x){return I<=0?1:x>=y&&(x-y)%I==0?Math.floor((x-y)/I)+1:-1}function W(I,y,x,Z){oe(y,Z||1,I,x)}function H(I){try{var y=_(I);return Zd(1e6)<=y.limit.samplingRate}catch{}return!1}function T(I){try{var y=s[I];if(!y){var x=R(I,l);y=L(Ug(o,x),o,x),s[I]=y}return s[I]}catch{}return null}function ee(I){var y=c[I];if(X(y)){y=!1;var x=T(I);x&&(y=P(x[Pg])),c[I]=y}return c[I]}function le(I){return u=u||{},X(u[I])&&(u[I]=[]),u[I]}}return i})()});function Jc(i){if(!i)return{};var e=i[pa](lB),t=kd(e,function(n,o){var a=o[pa](uB);if(a[Ge]===2){var s=a[0][So](),c=a[1];n[s]=c}return n},{});if(Vr(t)[Ge]>0){if(t.endpointsuffix){var r=t.location?t.location+".":"";t[os]=t[os]||"https://"+r+"dc."+t.endpointsuffix}t[os]=t[os]||ns,nc(t[os],"/")&&(t[os]=t[os].slice(0,-1))}return t}var lB,uB,LT,BT=V(()=>{yt();hn();xr();lB=";",uB="=";LT={parse:Jc}});var jg,FT=V(()=>{yt();hn();xr();yn();jg=(function(){function i(e,t,r){var n=this,o=this;o.ver=1,o.sampleRate=100,o.tags={},o[vr]=Ct(e,r)||Sr,o.data=t,o.time=Qi(new Date),o.aiDataContract={time:1,iKey:1,name:1,sampleRate:function(){return n.sampleRate===100?4:1},tags:1,data:1}}return i})()});var Po,GT=V(()=>{hn();xr();yn();Po=(function(){function i(e,t,r,n){this.aiDataContract={ver:1,name:1,properties:0,measurements:0};var o=this;o.ver=2,o[vr]=Ct(e,t)||Sr,o[Xr]=ci(e,r),o[si]=li(e,n)}return i.envelopeType="Microsoft.ApplicationInsights.{0}.Event",i.dataType="EventData",i})()});function ww(i,e){var t=i;return t&&!Ue(t)&&(JSON&&JSON[Hc]?(t=JSON[Hc](i),e&&(!t||t==="{}")&&(Se(i[ha])?t=i[ha]():t=""+i)):t=""+i+" - (Missing JSON.stringify)"),t||""}function $T(i,e){var t=i;return i&&(t&&!Ue(t)&&(t=i[Cw]||i[YT]||t),t&&!Ue(t)&&(t=ww(t,!0)),i.filename&&(t=t+" @"+(i.filename||"")+":"+(i.lineno||"?")+":"+(i.colno||"?"))),e&&e!=="String"&&e!=="Object"&&e!=="Error"&&Ti(t||"",e)===-1&&(t=e+": "+t),t||""}function fB(i){try{if(Yt(i))return"hasFullStack"in i&&"typeName"in i}catch{}return!1}function mB(i){try{if(Yt(i))return"ver"in i&&"exceptions"in i&&"properties"in i}catch{}return!1}function UT(i){return i&&i.src&&Ue(i.src)&&i.obj&&ye(i.obj)}function qc(i){var e=i||"";Ue(e)||(Ue(e[Wi])?e=e[Wi]:e=""+e);var t=e[pa](`
`);return{src:e,obj:t}}function pB(i){for(var e=[],t=i[pa](`
`),r=0;r<t[Ge];r++){var n=t[r];t[r+1]&&(n+="@"+t[r+1],r++),e[ga](n)}return{src:i,obj:e}}function KT(i){var e=null;if(i)try{if(i[Wi])e=qc(i[Wi]);else if(i[Nu]&&i[Nu][Wi])e=qc(i[Nu][Wi]);else if(i.exception&&i.exception[Wi])e=qc(i.exception[Wi]);else if(UT(i))e=i;else if(UT(i[bw]))e=i[bw];else if(pr()&&pr().opera&&i[Cw])e=pB(i[Kn]);else if(i.reason&&i.reason[Wi])e=qc(i.reason[Wi]);else if(Ue(i))e=qc(i);else{var t=i[Cw]||i[YT]||"";Ue(i[HT])&&(t&&(t+=`
`),t+=" from "+i[HT]),t&&(e=qc(t))}}catch(r){e=qc(r)}return e||{src:"",obj:null}}function hB(i){var e="";return i&&(i.obj?z(i.obj,function(t){e+=t+`
`}):e=i.src||""),e}function gB(i){var e,t=i.obj;if(t&&t[Ge]>0){e=[];var r=0,n=0;z(t,function(p){var _=p[ha]();if(Ew.regex.test(_)){var b=new Ew(_,r++);n+=b[Wc],e[ga](b)}});var o=32*1024;if(n>o)for(var a=0,s=e[Ge]-1,c=0,l=a,u=s;a<s;){var f=e[a][Wc],m=e[s][Wc];if(c+=f+m,c>o){var h=u-l+1;e.splice(l,h);break}l=a,u=s,a++,s--}}return e}function zg(i){var e="";if(i&&(e=i.typeName||i[vr]||"",!e))try{var t=/function (.{1,200})\(/,r=t.exec(i.constructor[ha]());e=r&&r[Ge]>1?r[1]:""}catch{}return e}function _w(i){if(i)try{if(!Ue(i)){var e=zg(i),t=ww(i,!1);return(!t||t==="{}")&&(i[Nu]&&(i=i[Nu],e=zg(i)),t=ww(i,!0)),Ti(t,e)!==0&&e!=="String"?e+":"+t:t}}catch{}return""+(i||"")}var dB,Nu,Wi,bw,HT,Cw,YT,ds,WT,Ew,jT=V(()=>{Ai();yt();Be();hn();xr();yn();dB="<no_method>",Nu="error",Wi="stack",bw="stackDetails",HT="errorSrc",Cw="message",YT="description";ds=(function(){function i(e,t,r,n,o,a){this.aiDataContract={ver:1,exceptions:1,severityLevel:0,properties:0,measurements:0};var s=this;s.ver=2,mB(t)?(s[Uc]=t[Uc]||[],s[Xr]=t[Xr],s[si]=t[si],t[Yc]&&(s[Yc]=t[Yc]),t.id&&(s.id=t.id,t[Xr].id=t.id),t[Ng]&&(s[Ng]=t[Ng]),X(t[Og])||(s[Og]=t[Og])):(r||(r={}),a&&(r.id=a),s[Uc]=[new WT(e,t,r)],s[Xr]=ci(e,r),s[si]=li(e,n),o&&(s[Yc]=o),a&&(s.id=a))}return i.CreateAutoException=function(e,t,r,n,o,a,s,c){var l,u=zg(o||a||e);return l={},l[Kn]=$T(e,u),l.url=t,l.lineNumber=r,l.columnNumber=n,l.error=_w(o||a||e),l.evt=_w(a||e),l[xo]=u,l.stackDetails=KT(s||o||a),l.errorSrc=c,l},i.CreateFromInterface=function(e,t,r,n){var o=t[Uc]&&zo(t[Uc],function(s){return WT[aw](e,s)}),a=new i(e,ln(ln({},t),{exceptions:o}),r,n);return a},i.prototype.toInterface=function(){var e,t=this,r=t.exceptions,n=t.properties,o=t.measurements,a=t.severityLevel,s=t.problemGroup,c=t.id,l=t.isManual,u=r instanceof Array&&zo(r,function(f){return f.toInterface()})||void 0;return e={ver:"4.0"},e[Uc]=u,e.severityLevel=a,e.properties=n,e.measurements=o,e.problemGroup=s,e.id=c,e.isManual=l,e},i.CreateSimpleException=function(e,t,r,n,o,a){var s;return{exceptions:[(s={},s[$f]=!0,s.message=e,s.stack=o,s.typeName=t,s)]}},i.envelopeType="Microsoft.ApplicationInsights.{0}.Exception",i.dataType="ExceptionData",i.formatError=_w,i})(),WT=(function(){function i(e,t,r){this.aiDataContract={id:0,outerId:0,typeName:1,message:1,hasFullStack:0,stack:0,parsedStack:2};var n=this;if(fB(t))n[xo]=t[xo],n[Kn]=t[Kn],n[Wi]=t[Wi],n[gn]=t[gn]||[],n[$f]=t[$f];else{var o=t,a=o&&o.evt;ec(o)||(o=o[Nu]||a||o),n[xo]=Ct(e,zg(o))||Sr,n[Kn]=Iu(e,$T(t||o,n[xo]))||Sr;var s=t[bw]||KT(t);n[gn]=gB(s),ye(n[gn])&&zo(n[gn],function(c){c[$c]=Ct(e,c[$c]),c[ss]=Ct(e,c[ss])}),n[Wi]=Lg(e,hB(s)),n.hasFullStack=ye(n.parsedStack)&&n.parsedStack[Ge]>0,r&&(r[xo]=r[xo]||n[xo])}}return i.prototype.toInterface=function(){var e,t=this,r=t[gn]instanceof Array&&zo(t[gn],function(o){return o.toInterface()}),n=(e={id:t.id,outerId:t.outerId,typeName:t[xo],message:t[Kn],hasFullStack:t[$f],stack:t[Wi]},e[gn]=r||void 0,e);return n},i.CreateFromInterface=function(e,t){var r=t[gn]instanceof Array&&zo(t[gn],function(o){return Ew[aw](o)})||t[gn],n=new i(e,ln(ln({},t),{parsedStack:r}));return n},i})(),Ew=(function(){function i(e,t){this.aiDataContract={level:1,method:1,assembly:0,fileName:0,line:0};var r=this;if(r[Wc]=0,typeof e=="string"){var n=e;r[Kf]=t,r[Kc]=dB,r[$c]=pt(n),r[ss]="",r[Tu]=0;var o=n.match(i.regex);o&&o[Ge]>=5&&(r[Kc]=pt(o[2])||r[Kc],r[ss]=pt(o[4]),r[Tu]=parseInt(o[5])||0)}else r[Kf]=e[Kf],r[Kc]=e[Kc],r[$c]=e[$c],r[ss]=e[ss],r[Tu]=e[Tu],r[Wc]=0;r.sizeInBytes+=r.method[Ge],r.sizeInBytes+=r.fileName[Ge],r.sizeInBytes+=r.assembly[Ge],r[Wc]+=i.baseSize,r.sizeInBytes+=r.level.toString()[Ge],r.sizeInBytes+=r.line.toString()[Ge]}return i.CreateFromInterface=function(e){return new i(e,null)},i.prototype.toInterface=function(){var e=this;return{level:e[Kf],method:e[Kc],assembly:e[$c],fileName:e[ss],line:e[Tu]}},i.regex=/^([\s]+at)?[\s]{0,50}([^\@\()]+?)[\s]{0,50}(\@|\()([^\(\n]+):([0-9]+):([0-9]+)(\)?)$/,i.baseSize=58,i})()});var zT,VT=V(()=>{zT=(function(){function i(){this.aiDataContract={name:1,kind:0,value:1,count:0,min:0,max:0,stdDev:0},this.kind=0}return i})()});var To,JT=V(()=>{hn();xr();VT();yn();To=(function(){function i(e,t,r,n,o,a,s,c,l){this.aiDataContract={ver:1,metrics:1,properties:0};var u=this;u.ver=2;var f=new zT;f[as]=n>0?n:void 0,f.max=isNaN(a)||a===null?void 0:a,f.min=isNaN(o)||o===null?void 0:o,f[vr]=Ct(e,t)||Sr,f.value=r,f.stdDev=isNaN(s)||s===null?void 0:s,u.metrics=[f],u[Xr]=ci(e,c),u[si]=li(e,l)}return i.envelopeType="Microsoft.ApplicationInsights.{0}.Metric",i.dataType="MetricData",i})()});function qT(i,e){return e===void 0&&(e=!1),i==null?e:i.toString()[So]()==="true"}function Ou(i){(isNaN(i)||i<0)&&(i=0),i=Math.round(i);var e=Vf+i%1e3,t=Vf+Math.floor(i/1e3)%60,r=Vf+Math.floor(i/(1e3*60))%60,n=Vf+Math.floor(i/(1e3*60*60))%24,o=Math.floor(i/(1e3*60*60*24));return e=e[Ge]===1?"00"+e:e[Ge]===2?"0"+e:e,t=t[Ge]<2?"0"+t:t,r=r[Ge]<2?"0"+r:r,n=n[Ge]<2?"0"+n:n,(o>0?o+".":Vf)+n+":"+r+":"+t+"."+e}function QT(i,e){var t=null;return z(i,function(r){if(r.identifier===e)return t=r,-1}),t}function XT(i,e,t,r,n){return!n&&Ue(i)&&(i==="Script error."||i==="Script error")}var Vf,Vg=V(()=>{yt();xr();Vf=""});var fs,ZT=V(()=>{hn();Vg();xr();yn();fs=(function(){function i(e,t,r,n,o,a,s){this.aiDataContract={ver:1,name:0,url:0,duration:0,properties:0,measurements:0,id:0};var c=this;c.ver=2,c.id=Bg(e,s),c.url=cs(e,r),c[vr]=Ct(e,t)||Sr,isNaN(n)||(c[jc]=Ou(n)),c[Xr]=ci(e,o),c[si]=li(e,a)}return i.envelopeType="Microsoft.ApplicationInsights.{0}.Pageview",i.dataType="PageviewData",i})()});var ms,e0=V(()=>{Vg();pw();xr();yn();ms=(function(){function i(e,t,r,n,o,a,s,c,l,u,f,m){l===void 0&&(l="Ajax"),this.aiDataContract={id:1,ver:1,name:0,resultCode:0,duration:0,success:0,data:0,target:0,type:0,properties:0,measurements:0,kind:0,value:0,count:0,min:0,max:0,stdDev:0,dependencyKind:0,dependencySource:0,commandName:0,dependencyTypeName:0};var h=this;h.ver=2,h.id=t,h[jc]=Ou(o),h.success=a,h.resultCode=s+"",h.type=Ct(e,l);var p=ET(e,r,c,n);h.data=cs(e,n)||p.data,h.target=Ct(e,p.target),u&&(h.target="".concat(h.target," | ").concat(u)),h[vr]=Ct(e,p[vr]),h[Xr]=ci(e,f),h[si]=li(e,m)}return i.envelopeType="Microsoft.ApplicationInsights.{0}.RemoteDependency",i.dataType="RemoteDependencyData",i})()});var ps,t0=V(()=>{hn();xr();yn();ps=(function(){function i(e,t,r,n,o){this.aiDataContract={ver:1,message:1,severityLevel:0,properties:0};var a=this;a.ver=2,t=t||Sr,a[Kn]=Iu(e,t),a[Xr]=ci(e,n),a[si]=li(e,o),r&&(a[Yc]=r)}return i.envelopeType="Microsoft.ApplicationInsights.{0}.Message",i.dataType="MessageData",i})()});var hs,r0=V(()=>{hn();xr();yn();hs=(function(){function i(e,t,r,n,o,a,s){this.aiDataContract={ver:1,name:0,url:0,duration:0,perfTotal:0,networkConnect:0,sentRequest:0,receivedResponse:0,domProcessing:0,properties:0,measurements:0};var c=this;c.ver=2,c.url=cs(e,r),c[vr]=Ct(e,t)||Sr,c[Xr]=ci(e,o),c[si]=li(e,a),s&&(c.domProcessing=s.domProcessing,c[jc]=s[jc],c.networkConnect=s.networkConnect,c.perfTotal=s.perfTotal,c[sw]=s[sw],c.sentRequest=s.sentRequest)}return i.envelopeType="Microsoft.ApplicationInsights.{0}.PageviewPerformance",i.dataType="PageviewPerformanceData",i})()});var Io,i0=V(()=>{Io=(function(){function i(e,t){this.aiDataContract={baseType:1,baseData:1},this.baseType=e,this.baseData=t}return i})()});var Jg,n0=V(()=>{yt();Jg=er({Verbose:0,Information:1,Warning:2,Error:3,Critical:4})});var o0,a0=V(()=>{yt();xr();o0=(function(){function i(){}return i.getConfig=function(e,t,r,n){n===void 0&&(n=!1);var o;return r&&e[Yf]&&e[Yf][r]&&!X(e[Yf][r][t])?o=e[Yf][r][t]:o=e[t],X(o)?n:o},i})()});function ys(i){var e="ai."+i+".";return function(t){return e+t}}var Jf,Pr,qg,Mu,Dw,gs,Qc,qf,Lu,Rw=V(()=>{Ai();yt();Jf=ys("application"),Pr=ys("device"),qg=ys("location"),Mu=ys("operation"),Dw=ys("session"),gs=ys("user"),Qc=ys("cloud"),qf=ys("internal"),Lu=(function(i){Ii(e,i);function e(){return i.call(this)||this}return e})(Eb({applicationVersion:Jf("ver"),applicationBuild:Jf("build"),applicationTypeId:Jf("typeId"),applicationId:Jf("applicationId"),applicationLayer:Jf("layer"),deviceId:Pr("id"),deviceIp:Pr("ip"),deviceLanguage:Pr("language"),deviceLocale:Pr("locale"),deviceModel:Pr("model"),deviceFriendlyName:Pr("friendlyName"),deviceNetwork:Pr("network"),deviceNetworkName:Pr("networkName"),deviceOEMName:Pr("oemName"),deviceOS:Pr("os"),deviceOSVersion:Pr("osVersion"),deviceRoleInstance:Pr("roleInstance"),deviceRoleName:Pr("roleName"),deviceScreenResolution:Pr("screenResolution"),deviceType:Pr("type"),deviceMachineName:Pr("machineName"),deviceVMName:Pr("vmName"),deviceBrowser:Pr("browser"),deviceBrowserVersion:Pr("browserVersion"),locationIp:qg("ip"),locationCountry:qg("country"),locationProvince:qg("province"),locationCity:qg("city"),operationId:Mu("id"),operationName:Mu("name"),operationParentId:Mu("parentId"),operationRootId:Mu("rootId"),operationSyntheticSource:Mu("syntheticSource"),operationCorrelationVector:Mu("correlationVector"),sessionId:Dw("id"),sessionIsFirst:Dw("isFirst"),sessionIsNew:Dw("isNew"),userAccountAcquisitionDate:gs("accountAcquisitionDate"),userAccountId:gs("accountId"),userAgent:gs("userAgent"),userId:gs("id"),userStoreRegion:gs("storeRegion"),userAuthUserId:gs("authUserId"),userAnonymousUserAcquisitionDate:gs("anonUserAcquisitionDate"),userAuthenticatedUserAcquisitionDate:gs("authUserAcquisitionDate"),cloudName:Qc("name"),cloudRole:Qc("role"),cloudRoleVer:Qc("roleVer"),cloudRoleInstance:Qc("roleInstance"),cloudEnvironment:Qc("environment"),cloudLocation:Qc("location"),cloudDeploymentUnit:Qc("deploymentUnit"),internalNodeName:qf("nodeName"),internalSdkVersion:qf("sdkVersion"),internalAgentVersion:qf("agentVersion"),internalSnippet:qf("snippet"),internalSdkSrc:qf("sdkSrc")}))});function Sw(i,e,t,r,n,o){var a;t=Ct(r,t)||Sr,(X(i)||X(e)||X(t))&&Xt("Input doesn't contain all required fields");var s="";i[Sg]&&(s=i[Sg],delete i[Sg]);var c=(a={},a[vr]=t,a.time=Qi(new Date),a.iKey=s,a.ext=o||{},a.tags=[],a.data={},a.baseType=e,a.baseData=i,a);return X(n)||we(n,function(l,u){c.data[l]=u}),c}var s0,c0=V(()=>{yt();hn();yn();xr();s0=(function(){function i(){}return i.create=Sw,i})()});var l0,dr,u0=V(()=>{Rw();l0={UserExt:"user",DeviceExt:"device",TraceExt:"trace",WebExt:"web",AppExt:"app",OSExt:"os",SessionExt:"ses",SDKExt:"sdk"},dr=new Lu});function d0(i){var e=null;if(Se(Event))e=new Event(i);else{var t=Zt();t&&t.createEvent&&(e=t.createEvent("Event"),e.initEvent(i,!0,!0))}return e}var f0=V(()=>{yt()});function m0(i,e){da(i,null,null,e)}function Qg(i){var e=Zt(),t=Er(),r=!1,n=[],o=1;t&&!X(t.onLine)&&!t.onLine&&(o=2);var a=0,s=m(),c=Zi(Qr("OfflineListener"),i);try{if(u(pr())&&(r=!0),e){var l=e.body||e;l.ononline&&u(l)&&(r=!0)}}catch{r=!1}function u(R){var P=!1;return R&&(P=vo(R,"online",_,c),P&&vo(R,"offline",b,c)),P}function f(){return s}function m(){return!(a===2||o===2)}function h(){var R=m();s!==R&&(s=R,z(n,function(P){var L={isOnline:s,rState:o,uState:a};try{P(L)}catch{}}))}function p(R){a=R,h()}function _(){o=1,h()}function b(){o=2,h()}function S(){var R=pr();if(R&&r){if(m0(R,c),e){var P=e.body||e;Ve(P.ononline)||m0(P,c)}r=!1}}function E(R){return n[ga](R),{rm:function(){var P=n.indexOf(R);if(P>-1)return n.splice(P,1)}}}return{isOnline:f,isListening:function(){return r},unload:S,addListener:E,setOnlineState:p}}var p0=V(()=>{yt();xr()});var h0={};sl(h0,{AnalyticsPluginIdentifier:()=>vB,BreezeChannelIdentifier:()=>xw,ConfigurationManager:()=>o0,ConnectionStringParser:()=>LT,ContextTagKeys:()=>Lu,CtxTagKeys:()=>dr,DEFAULT_BREEZE_ENDPOINT:()=>ns,DEFAULT_BREEZE_PATH:()=>$n,Data:()=>Io,DisabledPropertyName:()=>mT,DistributedTracingModes:()=>xT,Envelope:()=>jg,Event:()=>Po,EventPersistence:()=>PT,Exception:()=>ds,Extensions:()=>l0,HttpMethod:()=>Wf,Metric:()=>To,PageView:()=>fs,PageViewPerformance:()=>hs,ProcessLegacy:()=>xu,PropertiesPluginIdentifier:()=>yB,RemoteDependencyData:()=>ms,RequestHeaders:()=>Gc,SampleRate:()=>Su,SeverityLevel:()=>Jg,TelemetryItemCreator:()=>s0,ThrottleMgr:()=>OT,Trace:()=>ps,correlationIdCanIncludeCorrelationHeader:()=>CT,correlationIdGetCorrelationContext:()=>wT,correlationIdGetCorrelationContextValue:()=>mw,correlationIdGetPrefix:()=>bT,correlationIdSetPrefix:()=>_T,createDistributedTraceContextFromTrace:()=>ST,createDomEvent:()=>d0,createOfflineListener:()=>Qg,createTelemetryItem:()=>Sw,createTraceParent:()=>mf,dataSanitizeException:()=>Lg,dataSanitizeId:()=>Bg,dataSanitizeInput:()=>Fg,dataSanitizeKey:()=>cw,dataSanitizeKeyAndAddUniqueness:()=>Mg,dataSanitizeMeasurements:()=>li,dataSanitizeMessage:()=>Iu,dataSanitizeProperties:()=>ci,dataSanitizeString:()=>Ct,dataSanitizeUrl:()=>cs,dateTimeUtilsDuration:()=>RT,dateTimeUtilsNow:()=>DT,dsPadNumber:()=>lw,findAllScripts:()=>lC,findW3cTraceParent:()=>gf,formatTraceParent:()=>hf,getExtensionByName:()=>QT,isBeaconApiSupported:()=>Gi,isCrossOriginError:()=>XT,isInternalApplicationInsightsEndpoint:()=>zf,isSampledFlag:()=>pf,isValidSpanId:()=>go,isValidTraceId:()=>ho,isValidTraceParent:()=>cu,msToTimeSpan:()=>Ou,parseConnectionString:()=>Jc,parseTraceParent:()=>Dc,strNotSpecified:()=>Sr,stringToBoolOrDefault:()=>qT,urlGetAbsoluteUrl:()=>gT,urlGetCompleteUrl:()=>vT,urlGetPathName:()=>yT,urlParseFullHost:()=>jf,urlParseHost:()=>uw,urlParseUrl:()=>zc,utlCanUseLocalStorage:()=>ku,utlCanUseSessionStorage:()=>Vc,utlDisableStorage:()=>IT,utlEnableStorage:()=>AT,utlGetLocalStorage:()=>Ug,utlGetSessionStorage:()=>Yg,utlGetSessionStorageKeys:()=>NT,utlRemoveSessionStorage:()=>Kg,utlRemoveStorage:()=>kT,utlSetLocalStorage:()=>Wg,utlSetSessionStorage:()=>$g,utlSetStoragePrefix:()=>Hg});var yB,xw,vB,ya=V(()=>{pw();MT();BT();iw();hn();FT();GT();jT();JT();ZT();e0();t0();r0();i0();n0();a0();Rw();yn();c0();u0();hw();Vg();yt();f0();vw();dw();p0();yB="AppInsightsPropertiesPlugin",xw="AppInsightsChannelPlugin",vB="ApplicationInsightsAnalytics"});var Tw=Tt(Xg=>{"use strict";Object.defineProperty(Xg,"__esModule",{value:!0});Xg.TelemetryUtil=void 0;var Pw=class i{static applyReplacements(e,t){for(let r of Object.keys(e))for(let n of t)n.lookup.test(r)&&(n.replacementString!==void 0?e[r]=n.replacementString:delete e[r])}static shouldUseOneDataSystemSDK(e){return e.length===74&&e[32]==="-"&&e[41]==="-"&&e[46]==="-"&&e[51]==="-"&&e[56]==="-"&&e[69]==="-"}static getAdditionalCommonProperties(e){return{"common.os":e.platform,"common.nodeArch":e.architecture,"common.platformversion":(e.release||"").replace(/^(\d+)(\.\d+)?(\.\d+)?(.*)/,"$1$2$3"),"common.telemetryclientversion":"0.9.8"}}static getInstance(){return i._instance||(i._instance=new i),i._instance}};Xg.TelemetryUtil=Pw});var vs,g0=V(()=>{vs="duration"});var _r,Zg,Zr,Ao,Xc,qe,_s,bs,vn,Cs,va,Bu,_a,ba,ey,_n,Fu,Qf,ws,Xf,Gu,Zc,Zf,ty,Ca,Es,Hu,Uu,ei,ry,Wu,Yu,$u,iy,Iw,ny,oy,Aw,ay,kw,wa,Nw,Ow,Mw,em,Lw,Bw,Fw,Ku,Ds,sy,tm,cy,ly,uy,dy,ju,Gw,fy,y0,Rs=V(()=>{_r="tags",Zg="deviceType",Zr="data",Ao="name",Xc="traceID",qe="length",_s="stringify",bs="measurements",vn="dataType",Cs="envelopeType",va="toString",Bu="_get",_a="enqueue",ba="count",ey="eventsLimitInMem",_n="push",Fu="item",Qf="emitLineDelimitedJson",ws="clear",Xf="createNew",Gu="markAsSent",Zc="clearSent",Zf="bufferOverride",ty="BUFFER_KEY",Ca="SENT_BUFFER_KEY",Es="concat",Hu="MAX_BUFFER_SIZE",Uu="triggerSend",ei="diagLog",ry="initialize",Wu="_sender",Yu="endpointUrl",$u="instrumentationKey",iy="customHeaders",Iw="maxBatchSizeInBytes",ny="onunloadDisableBeacon",oy="isBeaconApiDisabled",Aw="alwaysUseXhrOverride",ay="disableXhr",kw="enableSessionStorageBuffer",wa="_buffer",Nw="onunloadDisableFetch",Ow="disableSendBeaconSplit",Mw="enableSendPromise",em="getSenderInst",Lw="unloadTransports",Bw="convertUndefined",Fw="maxBatchInterval",Ku="serialize",Ds="_onError",sy="_onPartialSuccess",tm="_onSuccess",cy="itemsReceived",ly="itemsAccepted",uy="oriPayload",dy="baseType",ju="sampleRate",Gw="eventsSendRequest",fy="getSamplingScore",y0="getHashCodeScore"});function fr(i,e,t){return mn(i,e,t,In)}function _B(i,e,t){var r=t[_r]=t[_r]||{},n=e.ext=e.ext||{},o=e[_r]=e[_r]||[],a=n.user;a&&(fr(r,dr.userAuthUserId,a.authId),fr(r,dr.userId,a.id||a.localId));var s=n.app;s&&fr(r,dr.sessionId,s.sesId);var c=n.device;c&&(fr(r,dr.deviceId,c.id||c.localId),fr(r,dr[Zg],c.deviceClass),fr(r,dr.deviceIp,c.ip),fr(r,dr.deviceModel,c.model),fr(r,dr[Zg],c[Zg]));var l=e.ext.web;if(l){fr(r,dr.deviceLanguage,l.browserLang),fr(r,dr.deviceBrowserVersion,l.browserVer),fr(r,dr.deviceBrowser,l.browser);var u=t[Zr]=t[Zr]||{},f=u[Gt]=u[Gt]||{},m=f[Gr]=f[Gr]||{};fr(m,"domain",l.domain),fr(m,"isManual",l.isManual?v0:null),fr(m,"screenRes",l.screenRes),fr(m,"userConsent",l.userConsent?v0:null)}var h=n.os;h&&(fr(r,dr.deviceOS,h[Ao]),fr(r,dr.deviceOSVersion,h.osVer));var p=n.trace;p&&(fr(r,dr.operationParentId,p.parentID),fr(r,dr.operationName,Ct(i,p[Ao])),fr(r,dr.operationId,p[Xc]));for(var _={},b=o[qe]-1;b>=0;b--){var S=o[b];we(S,function(R,P){_[R]=P}),o.splice(b,1)}we(o,function(R,P){_[R]=P});var E=ln(ln({},r),_);E[dr.internalSdkVersion]||(E[dr.internalSdkVersion]=Ct(i,"javascript:".concat(bB.Version),64)),t[_r]=Fi(E)}function Ss(i,e,t){X(i)||we(i,function(r,n){zr(n)?t[r]=n:Ue(n)?e[r]=n:fo()&&(e[r]=qr()[_s](n))})}function el(i,e){X(i)||we(i,function(t,r){i[t]=r||e})}function tl(i,e,t,r){var n=new jg(i,r,e);fr(n,"sampleRate",t[Su]),(t[Gt]||{}).startTime&&(n.time=Qi(t[Gt].startTime)),n.iKey=t.iKey;var o=t.iKey.replace(/-/g,"");return n[Ao]=n[Ao].replace("{0}",o),_B(i,t,n),t[_r]=t[_r]||[],Fi(n)}function rl(i,e){X(e[Gt])&&oe(i,1,46,"telemetryItem.baseData cannot be null.")}function _0(i,e,t){rl(i,e);var r=e[Gt][bs]||{},n=e[Gt][Gr]||{};Ss(e[Zr],n,r),X(t)||el(n,t);var o=e[Gt];if(X(o))return gi(i,"Invalid input for dependency data"),null;var a=o[Gr]&&o[Gr][Wf]?o[Gr][Wf]:"GET",s=new ms(i,o.id,o.target,o[Ao],o[vs],o.success,o.responseCode,a,o.type,o.correlationContext,n,r),c=new Io(ms[vn],s);return tl(i,ms[Cs],e,c)}function Uw(i,e,t){rl(i,e);var r={},n={};e[Hw]!==Po[vn]&&(r.baseTypeSource=e[Hw]),e[Hw]===Po[vn]?(r=e[Gt][Gr]||{},n=e[Gt][bs]||{}):e[Gt]&&Ss(e[Gt],r,n),Ss(e[Zr],r,n),X(t)||el(r,t);var o=e[Gt][Ao],a=new Po(i,o,r,n),s=new Io(Po[vn],a);return tl(i,Po[Cs],e,s)}function b0(i,e,t){rl(i,e);var r=e[Gt][bs]||{},n=e[Gt][Gr]||{};Ss(e[Zr],n,r),X(t)||el(n,t);var o=e[Gt],a=ds.CreateFromInterface(i,o,n,r),s=new Io(ds[vn],a);return tl(i,ds[Cs],e,s)}function C0(i,e,t){rl(i,e);var r=e[Gt],n=r[Gr]||{},o=r[bs]||{};Ss(e[Zr],n,o),X(t)||el(n,t);var a=new To(i,r[Ao],r.average,r.sampleCount,r.min,r.max,r.stdDev,n,o),s=new Io(To[vn],a);return tl(i,To[Cs],e,s)}function w0(i,e,t){rl(i,e);var r,n=e[Gt];!X(n)&&!X(n[Gr])&&!X(n[Gr][vs])?(r=n[Gr][vs],delete n[Gr][vs]):!X(e[Zr])&&!X(e[Zr][vs])&&(r=e[Zr][vs],delete e[Zr][vs]);var o=e[Gt],a;((e.ext||{}).trace||{})[Xc]&&(a=e.ext.trace[Xc]);var s=o.id||a,c=o[Ao],l=o.uri,u=o[Gr]||{},f=o[bs]||{};if(X(o.refUri)||(u.refUri=o.refUri),X(o.pageType)||(u.pageType=o.pageType),X(o.isLoggedIn)||(u.isLoggedIn=o.isLoggedIn[va]()),!X(o[Gr])){var m=o[Gr];we(m,function(_,b){u[_]=b})}Ss(e[Zr],u,f),X(t)||el(u,t);var h=new fs(i,c,l,r,u,f,s),p=new Io(fs[vn],h);return tl(i,fs[Cs],e,p)}function E0(i,e,t){rl(i,e);var r=e[Gt],n=r[Ao],o=r.uri||r.url,a=r[Gr]||{},s=r[bs]||{};Ss(e[Zr],a,s),X(t)||el(a,t);var c=new hs(i,n,o,void 0,a,s,r),l=new Io(hs[vn],c);return tl(i,hs[Cs],e,l)}function D0(i,e,t){rl(i,e);var r=e[Gt].message,n=e[Gt].severityLevel,o=e[Gt][Gr]||{},a=e[Gt][bs]||{};Ss(e[Zr],o,a),X(t)||el(o,t);var s=new ps(i,r,n,o,a),c=new Io(ps[vn],s);return tl(i,ps[Cs],e,c)}var Hw,Gt,Gr,v0,bB,R0=V(()=>{Ai();ya();yt();g0();Rs();Hw="baseType",Gt="baseData",Gr="properties",v0="true";bB={Version:"3.3.4"}});var S0,my,CB,Ww,x0=V(()=>{Ai();Lr();ya();yt();Rs();S0=(function(){function i(e,t){var r=[],n=!1,o=t.maxRetryCnt;this[Bu]=function(){return r},this._set=function(a){return r=a,r},rt(i,this,function(a){a[_a]=function(s){if(a[ba]()>=t[ey]){n||(oe(e,2,105,"Maximum in-memory buffer size reached: "+a[ba](),!0),n=!0);return}s.cnt=s.cnt||0,!(!X(o)&&s.cnt>o)&&r[_n](s)},a[ba]=function(){return r[qe]},a.size=function(){for(var s=r[qe],c=0;c<r[qe];c++)s+=r[c].item[qe];return t[Qf]||(s+=2),s},a[ws]=function(){r=[],n=!1},a.getItems=function(){return r.slice(0)},a.batchPayloads=function(s){if(s&&s[qe]>0){var c=[];z(s,function(u){c[_n](u[Fu])});var l=t[Qf]?c.join(`
`):"["+c.join(",")+"]";return l}return null},a[Xf]=function(s,c,l){var u=r.slice(0);s=s||e,c=c||{};var f=l?new Ww(s,c):new my(s,c);return z(u,function(m){f[_a](m)}),f}})}return i.__ieDyn=1,i})(),my=(function(i){Ii(e,i);function e(t,r){var n=i.call(this,t,r)||this;return rt(e,n,function(o,a){o[Gu]=function(s){a[ws]()},o[Zc]=function(s){}}),n}return e.__ieDyn=1,e})(S0),CB=["AI_buffer","AI_sentBuffer"],Ww=(function(i){Ii(e,i);function e(r,n){var o=i.call(this,r,n)||this,a=!1,s=n?.namePrefix,c=n[Zf]||{getItem:Yg,setItem:$g},l=c.getItem,u=c.setItem,f=n.maxRetryCnt;return rt(e,o,function(m,h){var p=P(e[ty]),_=P(e[Ca]),b=$(),S=_[Es](b),E=m._set(p[Es](S));E[qe]>e[Hu]&&(E[qe]=e[Hu]),Y(e[Ca],[]),Y(e[ty],E),m[_a]=function(W){if(m[ba]()>=e[Hu]){a||(oe(r,2,67,"Maximum buffer size reached: "+m[ba](),!0),a=!0);return}W.cnt=W.cnt||0,!(!X(f)&&W.cnt>f)&&(h[_a](W),Y(e.BUFFER_KEY,m[Bu]()))},m[ws]=function(){h[ws](),Y(e.BUFFER_KEY,m[Bu]()),Y(e[Ca],[]),a=!1},m[Gu]=function(W){Y(e[ty],m._set(R(W,m[Bu]())));var H=P(e[Ca]);H instanceof Array&&W instanceof Array&&(H=H[Es](W),H[qe]>e[Hu]&&(oe(r,1,67,"Sent buffer reached its maximum size: "+H[qe],!0),H[qe]=e[Hu]),Y(e[Ca],H))},m[Zc]=function(W){var H=P(e[Ca]);H=R(W,H),Y(e[Ca],H)},m[Xf]=function(W,H,T){T=!!T;var ee=m[Bu]().slice(0),le=P(e[Ca]).slice(0);W=W||r,H=H||{},m[ws]();var I=T?new e(W,H):new my(W,H);return z(ee,function(y){I[_a](y)}),T&&I[Gu](le),I};function R(W,H){var T=[],ee=[];return z(W,function(le){ee[_n](le[Fu])}),z(H,function(le){!Se(le)&&mt(ee,le[Fu])===-1&&T[_n](le)}),T}function P(W){var H=W;return H=s?s+"_"+H:H,L(H)}function L(W){try{var H=l(r,W);if(H){var T=qr().parse(H);if(Ue(T)&&(T=qr().parse(T)),T&&ye(T))return T}}catch(ee){oe(r,1,42," storage key: "+W+", "+Pt(ee),{exception:ve(ee)})}return[]}function Y(W,H){var T=W;try{T=s?s+"_"+T:T;var ee=JSON[_s](H);u(r,T,ee)}catch(le){u(r,T,JSON[_s]([])),oe(r,2,41," storage key: "+T+", "+Pt(le)+". Buffer cleared",{exception:ve(le)})}}function $(){var W=[];try{return z(CB,function(H){var T=G(H);if(W=W[Es](T),s){var ee=s+"_"+H,le=G(ee);W=W[Es](le)}}),W}catch(H){oe(r,2,41,"Transfer events from previous buffers: "+Pt(H)+". previous Buffer items can not be removed",{exception:ve(H)})}return[]}function G(W){try{var H=L(W),T=[];return z(H,function(ee){var le={item:ee,cnt:0};T[_n](le)}),Kg(r,W),T}catch{}return[]}}),o}var t;return t=e,e.VERSION="_1",e.BUFFER_KEY="AI_buffer"+t.VERSION,e.SENT_BUFFER_KEY="AI_sentBuffer"+t.VERSION,e.MAX_BUFFER_SIZE=2e3,e})(S0)});var P0,T0=V(()=>{Lr();yt();Rs();P0=(function(){function i(e){rt(i,this,function(t){t[Ku]=function(a){var s=r(a,"root");try{return qr()[_s](s)}catch(c){oe(e,1,48,c&&Se(c[va])?c[va]():"Error serializing object",null,!0)}};function r(a,s){var c="__aiCircularRefCheck",l={};if(!a)return oe(e,1,48,"cannot serialize object because it is null or undefined",{name:s},!0),l;if(a[c])return oe(e,2,50,"Circular reference detected while serializing object",{name:s},!0),l;if(!a.aiDataContract){if(s==="measurements")l=o(a,"number",s);else if(s==="properties")l=o(a,"string",s);else if(s==="tags")l=o(a,"string",s);else if(ye(a))l=n(a,s);else{oe(e,2,49,"Attempting to serialize an object which does not implement ISerializable",{name:s},!0);try{qr()[_s](a),l=a}catch(u){oe(e,1,48,u&&Se(u[va])?u[va]():"Error serializing object",null,!0)}}return l}return a[c]=!0,we(a.aiDataContract,function(u,f){var m=Se(f)?f()&1:f&1,h=Se(f)?f()&4:f&4,p=f&2,_=a[u]!==void 0,b=Yt(a[u])&&a[u]!==null;if(m&&!_&&!p)oe(e,1,24,"Missing required field specification. The field is required but not present on source",{field:u,name:s});else if(!h){var S=void 0;b?p?S=n(a[u],u):S=r(a[u],u):S=a[u],S!==void 0&&(l[u]=S)}}),delete a[c],l}function n(a,s){var c;if(a)if(!ye(a))oe(e,1,54,`This field was specified as an array in the contract but the item is not an array.\r
`,{name:s},!0);else{c=[];for(var l=0;l<a[qe];l++){var u=a[l],f=r(u,s+"["+l+"]");c[_n](f)}}return c}function o(a,s,c){var l;return a&&(l={},we(a,function(u,f){if(s==="string")f===void 0?l[u]="undefined":f===null?l[u]="null":f[va]?l[u]=f[va]():l[u]="invalid field: toString() is not defined.";else if(s==="number")if(f===void 0)l[u]="undefined";else if(f===null)l[u]="null";else{var m=parseFloat(f);l[u]=m}else l[u]="invalid field: "+c+" is of unknown type.",oe(e,1,l[u],null,!0)})),l}})}return i.__ieDyn=1,i})()});var wB,I0,A0=V(()=>{Rs();wB=8,I0=(function(){function i(){}return i.prototype.getHashCodeScore=function(e){var t=this.getHashCode(e)/i.INT_MAX_VALUE;return t*100},i.prototype.getHashCode=function(e){if(e==="")return 0;for(;e[qe]<wB;)e=e[Es](e);for(var t=5381,r=0;r<e[qe];++r)t=(t<<5)+t+e.charCodeAt(r),t=t&t;return Math.abs(t)},i.INT_MAX_VALUE=2147483647,i})()});var k0,N0=V(()=>{ya();Rs();A0();k0=(function(){function i(){var e=this,t=new I0,r=new Lu;e[fy]=function(n){var o=0;return n[_r]&&n[_r][r.userId]?o=t.getHashCodeScore(n[_r][r.userId]):n.ext&&n.ext.user&&n.ext.user.id?o=t[y0](n.ext.user.id):n[_r]&&n[_r][r.operationId]?o=t.getHashCodeScore(n[_r][r.operationId]):n.ext&&n.ext.telemetryTrace&&n.ext.telemetryTrace[Xc]?o=t.getHashCodeScore(n.ext.telemetryTrace[Xc]):o=Math.random()*100,o}}return i})()});var O0,M0=V(()=>{ya();yt();Rs();N0();O0=(function(){function i(e,t){this.INT_MAX_VALUE=2147483647;var r=t||Hn(null);(e>100||e<0)&&(r.throwInternal(2,58,"Sampling rate is out of range (0..100). Sampling will be disabled, you may be sending too much data which may affect your AI service level.",{samplingRate:e},!0),e=100),this[ju]=e,this.samplingScoreGenerator=new k0}return i.prototype.isSampledIn=function(e){var t=this[ju],r=!1;return t==null||t>=100||e.baseType===To[vn]?!0:(r=this.samplingScoreGenerator[fy](e)<t,r)},i})()});function B0(i){try{return i.responseText}catch{}return null}function DB(i){return i&&i.sendPOST}function RB(i){return!isNaN(i)&&i>0&&i<=100}var At,Ea,ko,L0,EB,F0,SB,rm,G0=V(()=>{Ai();Lr();ya();yt();Be();R0();x0();T0();M0();Rs();ko=void 0,L0="",EB=65e3;F0=io((At={endpointUrl:nu(In,ns+$n)},At[Qf]=pn(),At[Fw]=15e3,At[Iw]=102400,At.disableTelemetry=pn(),At[kw]=pn(!0),At.isRetryDisabled=pn(),At[oy]=pn(!0),At[Ow]=pn(!0),At[ay]=pn(),At[Nw]=pn(),At[ny]=pn(),At[$u]=ko,At.namePrefix=ko,At.samplingPercentage=nu(RB,100),At[iy]=ko,At[Bw]=ko,At[ey]=1e4,At[Zf]=!1,At.httpXHROverride={isVal:DB,v:ko},At[Aw]=pn(),At.transports=ko,At.retryCodes=ko,At.maxRetryCnt={isVal:zr,v:10},At));SB=(Ea={},Ea[Po.dataType]=Uw,Ea[ps.dataType]=D0,Ea[fs.dataType]=w0,Ea[hs.dataType]=E0,Ea[ds.dataType]=b0,Ea[To.dataType]=C0,Ea[ms.dataType]=_0,Ea),rm=(function(i){Ii(e,i);function e(){var t=i.call(this)||this;t.priority=1001,t.identifier=xw;var r,n,o,a,s,c,l,u,f=0,m,h,p,_,b,S,E,R,P,L,Y,$,G,W,H,T,ee,le,I,y,x,Z,N,ue,te,Ce,ce;return rt(e,t,function(U,Ze){_e(),U.pause=function(){J(),a=!0},U.resume=function(){a&&(a=!1,n=null,it(),O())},U.flush=function(g,C,M){if(g===void 0&&(g=!0),!a){J();try{return U[Uu](g,null,M||1)}catch(B){oe(U[ei](),1,22,"flush failed, telemetry will not be collected: "+Pt(B),{exception:ve(B)})}}},U.onunloadFlush=function(){if(!a)if(E||y)try{return U[Uu](!0,jt,2)}catch(g){oe(U[ei](),1,20,"failed to flush with beacon sender on page unload, telemetry will not be collected: "+Pt(g),{exception:ve(g)})}else U.flush(!1)},U.addHeader=function(g,C){u[g]=C},U[ry]=function(g,C,M,B){U.isInitialized()&&oe(U[ei](),1,28,"Sender is already initialized"),Ze[ry](g,C,M,B);var j=U.identifier;c=new P0(C.logger),r=0,n=null,o=0,U[Wu]=null,l=0;var q=U[ei]();p=Zi(Qr("Sender"),C.evtNamespace&&C.evtNamespace()),h=Qg(p),U._addHook(gr(g,function(fe){var Me=fe.cfg;Me.storagePrefix&&Hg(Me.storagePrefix);var nt=yi(null,Me,C),Te=nt.getExtCfg(j,F0),vi=Te[Yu];if(_&&vi===_){var Lo=Me[Yu];Lo&&Lo!==vi&&(Te[Yu]=Lo)}pi(Te[$u])&&(Te[$u]=Me[$u]),ft(U,"_senderConfig",{g:function(){return Te}}),b!==Te[Yu]&&(_=b=Te[Yu]),C.activeStatus()===ji.PENDING?U.pause():C.activeStatus()===ji.ACTIVE&&U.resume(),L&&L!==Te[iy]&&z(L,function(Ur){delete u[Ur.header]}),S=Te[Iw],E=(Te[ny]===!1||Te[oy]===!1)&&Gi(),R=Te[ny]===!1&&Gi(),P=Te[oy]===!1&&Gi(),y=Te[Aw],x=!!Te[ay],ce=Te.retryCodes;var _i=Te[Zf],jn=!!Te[kw]&&(!!_i||Vc()),am=Te.namePrefix,_I=jn!==T||jn&&le!==am||jn&&ee!==_i;if(U[wa]){if(_I)try{U._buffer=U._buffer[Xf](q,Te,jn)}catch(Ur){oe(U[ei](),1,12,"failed to transfer telemetry to different buffer storage, telemetry will be lost: "+Pt(Ur),{exception:ve(Ur)})}it()}else U[wa]=jn?new Ww(q,Te):new my(q,Te);le=am,T=jn,ee=_i,Z=!Te[Nw]&&ia(!0),te=!!Te[Ow],U._sample=new O0(Te.samplingPercentage,q),$=Te[$u],!pi($)&&!Qe($,Me)&&oe(q,1,100,"Invalid Instrumentation key "+$),L=Te[iy],Ue(_)&&!zf(_)&&L&&L[qe]>0?z(L,function(Ur){t.addHeader(Ur.header,Ur.value)}):L=null,I=Te[Mw];var aE=xe();Ce?Ce.SetConfig(aE):(Ce=new xc,Ce[ry](aE,q));var sm=Te.httpXHROverride,cm=null,Ju=null,bI=ta([3,1,2],Te.transports);cm=Ce&&Ce[em](bI,!1);var Iy=Ce&&Ce.getFallbackInst();N=function(Ur,Ps){return pe(Iy,Ur,Ps)},ue=function(Ur,Ps){return pe(Iy,Ur,Ps,!1)},cm=y?sm:cm||sm||Iy,U[Wu]=function(Ur,Ps){return pe(cm,Ur,Ps)},Z&&(m=nn);var Ay=ta([3,1],Te[Lw]);Z||(Ay=Ay.filter(function(Ur){return Ur!==2})),Ju=Ce&&Ce[em](Ay,!0),Ju=y?sm:Ju||sm,(y||Te[Lw]||!m)&&Ju&&(m=function(Ur,Ps){return pe(Ju,Ur,Ps)}),m||(m=N),Y=Te.disableTelemetry,G=Te[Bw]||ko,W=Te.isRetryDisabled,H=Te[Fw]}))},U.processTelemetry=function(g,C){var M;C=U._getTelCtx(C);var B=C[ei]();try{var j=he(g,B);if(!j)return;var q=Ee(g,B);if(!q)return;var fe=c[Ku](q),Me=U[wa];it(fe);var nt=(M={},M[Fu]=fe,M.cnt=0,M);Me[_a](nt),O()}catch(Te){oe(B,2,12,"Failed adding telemetry to the sender's buffer, some telemetry will be lost: "+Pt(Te),{exception:ve(Te)})}U.processNext(g,C)},U.isCompletelyIdle=function(){return!a&&f===0&&U._buffer[ba]()===0},U.getOfflineListener=function(){return h},U._xhrReadyStateChange=function(g,C,M){if(!ri(C))return wt(g,C,M)},U[Uu]=function(g,C,M){g===void 0&&(g=!0);var B;if(!a)try{var j=U[wa];if(Y)j[ws]();else{if(j[ba]()>0){var q=j.getItems();Ne(M||0,g),C?B=C.call(U,q,g):B=U[Wu](q,g)}o=+new Date}J()}catch(Me){var fe=Jd();(!fe||fe>9)&&oe(U[ei](),1,40,"Telemetry transmission failed, some telemetry will be lost: "+Pt(Me),{exception:ve(Me)})}return B},U.getOfflineSupport=function(){var g;return g={getUrl:function(){return _},createPayload:F},g[Ku]=Ke,g.batch=Ae,g.shouldProcess=function(C){return!!he(C)},g},U._doTeardown=function(g,C){U.onunloadFlush(),oa(h,!1),_e()},U[Ds]=function(g,C,M){if(!ri(g))return ui(g,C,M)},U[sy]=function(g,C){if(!ri(g))return re(g,C)},U[tm]=function(g,C){if(!ri(g))return $e(g,C)},U._xdrOnLoad=function(g,C){if(!ri(C))return at(g,C)};function at(g,C){var M=B0(g);if(g&&(M+""=="200"||M===""))r=0,U[tm](C,0);else{var B=Sc(M);B&&B[cy]&&B[cy]>B[ly]&&!W?U[sy](C,B):U[Ds](C,vc(g))}}function xe(){var g;try{var C={xdrOnComplete:function(B,j,q){var fe=ie(q);if(fe)return at(B,fe)},fetchOnComplete:function(B,j,q,fe){var Me=ie(fe);if(Me)return ht(B.status,Me,B.url,Me[qe],B.statusText,q||"")},xhrOnComplete:function(B,j,q){var fe=ie(q);if(fe)return wt(B,fe,fe[qe])},beaconOnRetry:function(B,j,q){return ti(B,j,q)}},M=(g={},g[Mw]=I,g.isOneDs=!1,g.disableCredentials=!1,g[ay]=x,g.disableBeacon=!P,g.disableBeaconSync=!R,g.senderOnCompleteCallBack=C,g);return M}catch{}return null}function wt(g,C,M){g.readyState===4&&ht(g.status,C,g.responseURL,M,ea(g),B0(g)||g.response)}function ui(g,C,M){oe(U[ei](),2,26,"Failed to send telemetry.",{message:C}),U._buffer&&U._buffer[Zc](g)}function re(g,C){for(var M=[],B=[],j=C.errors.reverse(),q=0,fe=j;q<fe.length;q++){var Me=fe[q],nt=g.splice(Me.index,1)[0];ne(Me.statusCode)?B[_n](nt):M[_n](nt)}g[qe]>0&&U[tm](g,C[ly]),M[qe]>0&&U[Ds](M,ea(null,["partial success",C[ly],"of",C.itemsReceived].join(" "))),B[qe]>0&&(Tr(B),oe(U[ei](),2,40,"Partial success. Delivered: "+g[qe]+", Failed: "+M[qe]+". Will retry to send "+B[qe]+" our of "+C[cy]+" items"))}function $e(g,C){U._buffer&&U._buffer[Zc](g)}function ie(g){try{if(g){var C=g,M=C[uy];return M&&M[qe]?M:null}}catch{}return null}function he(g,C){if(Y)return!1;if(!g)return C&&oe(C,1,7,"Cannot send empty telemetry"),!1;if(g.baseData&&!g[dy])return C&&oe(C,1,70,"Cannot send telemetry without baseData and baseType"),!1;if(g[dy]||(g[dy]="EventData"),!U[Wu])return C&&oe(C,1,28,"Sender was not initialized"),!1;if(se(g))g[Su]=U._sample[ju];else return C&&oe(C,2,33,"Telemetry item was sampled out and not sent",{SampleRate:U._sample[ju]}),!1;return!0}function Ee(g,C){var M=g.iKey||$,B=e.constructEnvelope(g,M,C,G);if(!B){oe(C,1,47,"Unable to create an AppInsights envelope");return}var j=!1;if(g[_r]&&g[_r][xu]&&(z(g[_r][xu],function(q){try{q&&q(B)===!1&&(j=!0,gi(C,"Telemetry processor check returns false"))}catch(fe){oe(C,1,64,"One of telemetry initializers failed, telemetry item will not be sent: "+Pt(fe),{exception:ve(fe)},!0)}}),delete g[_r][xu]),!j)return B}function Ke(g){var C=L0,M=U[ei]();try{var B=he(g,M),j=null;B&&(j=Ee(g,M)),j&&(C=c[Ku](j))}catch{}return C}function Ae(g){var C=L0;return g&&g[qe]&&(C="["+g.join(",")+"]"),C}function F(g){var C,M=st();return C={urlString:_},C[Zr]=g,C.headers=M,C}function se(g){return U._sample.isSampledIn(g)}function De(g,C,M,B){C===200&&g?U._onSuccess(g,g[qe]):B&&U[Ds](g,B)}function pe(g,C,M,B){B===void 0&&(B=!0);var j=function(Me,nt,Te){return De(C,Me,nt,Te)},q=Re(C),fe=g&&g.sendPOST;return fe&&q?(B&&U._buffer[Gu](C),fe(q,j,!M)):null}function Re(g){var C;if(ye(g)&&g[qe]>0){var M=U[wa].batchPayloads(g),B=st(),j=(C={},C[Zr]=M,C.urlString=_,C.headers=B,C.disableXhrSync=x,C.disableFetchKeepAlive=!Z,C[uy]=g,C);return j}return null}function st(){try{var g=u||{};return zf(_)&&(g[Gc[6]]=Gc[7]),g}catch{}return null}function it(g){var C=g?g[qe]:0;return U[wa].size()+C>S?((!h||h.isOnline())&&U[Uu](!0,null,10),!0):!1}function ht(g,C,M,B,j,q){var fe=null;if(U._appId||(fe=Sc(q),fe&&fe.appId&&(U._appId=fe.appId)),(g<200||g>=300)&&g!==0){if((g===301||g===307||g===308)&&!kt(M)){U[Ds](C,j);return}if(h&&!h.isOnline()){if(!W){var Me=10;Tr(C,Me),oe(U[ei](),2,40,". Offline - Response Code: ".concat(g,". Offline status: ").concat(!h.isOnline(),". Will retry to send ").concat(C.length," items."))}return}!W&&ne(g)?(Tr(C),oe(U[ei](),2,40,". Response code "+g+". Will retry to send "+C[qe]+" items.")):U[Ds](C,j)}else kt(M),g===206?(fe||(fe=Sc(q)),fe&&!W?U[sy](C,fe):U[Ds](C,j)):(r=0,U[tm](C,B))}function kt(g){return l>=10?!1:!X(g)&&g!==""&&g!==_?(_=g,++l,!0):!1}function jt(g,C){if(m)m(g,!1);else{var M=Ce&&Ce[em]([3],!0);return pe(M,g,C)}}function ti(g,C,M){var B=g,j=B&&B[uy];if(te)ue&&ue(j,!0),oe(U[ei](),2,40,". Failed to send telemetry with Beacon API, retried with normal sender.");else{for(var q=[],fe=0;fe<j[qe];fe++){var Me=j[fe],nt=[Me],Te=Re(nt);M(Te,C)?U._onSuccess(nt,nt[qe]):q[_n](Me)}q[qe]>0&&(ue&&ue(q,!0),oe(U[ei](),2,40,". Failed to send telemetry with Beacon API, retried with normal sender."))}}function ri(g){try{if(g&&g[qe])return Ue(g[0])}catch{}return null}function nn(g,C){var M=null;if(ye(g)){for(var B=g[qe],j=0;j<g[qe];j++)B+=g[j].item[qe];var q=Ce.getSyncFetchPayload();q+B<=EB?M=2:Gi()?M=3:(M=1,oe(U[ei](),2,40,". Failed to send telemetry with Beacon API, retried with xhrSender."));var fe=Ce&&Ce[em]([M],!0);return pe(fe,g,C)}return null}function Tr(g,C){if(C===void 0&&(C=1),!(!g||g[qe]===0)){var M=U[wa];M[Zc](g),r++;for(var B=0,j=g;B<j.length;B++){var q=j[B];q.cnt=q.cnt||0,q.cnt++,M[_a](q)}Mo(C),O()}}function Mo(g){var C=10,M;if(r<=1)M=C;else{var B=(Math.pow(2,r)-1)/2,j=Math.floor(Math.random()*B*C)+1;j=g*j,M=Math.max(Math.min(j,3600),C)}var q=$t()+M*1e3;n=q}function O(){if(!s&&!a){var g=n?Math.max(0,n-$t()):0,C=Math.max(H,g);s=Ki(function(){s=null,U[Uu](!0,null,1)},C)}}function J(){s&&s.cancel(),s=null,n=null}function ne(g){return X(ce)?g===401||g===408||g===429||g===500||g===502||g===503||g===504:ce[qe]&&ce.indexOf(g)>-1}function ge(){var g="getNotifyMgr";return U.core[g]?U.core[g]():U.core._notificationManager}function Ne(g,C){var M=ge();if(M&&M[Gw])try{M[Gw](g,C)}catch(B){oe(U[ei](),1,74,"send request notification failed: "+Pt(B),{exception:ve(B)})}}function Qe(g,C){var M=C.disableInstrumentationKeyValidation,B=X(M)?!1:M;if(B)return!0;var j="^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",q=new RegExp(j);return q.test(g)}function _e(){U[Wu]=null,U[wa]=null,U._appId=null,U._sample=null,u={},h=null,r=0,n=null,o=null,a=!1,s=null,c=null,l=0,f=0,m=null,p=null,_=null,b=null,S=0,E=!1,L=null,Y=!1,$=null,G=ko,W=!1,T=null,le=ko,x=!1,Z=!1,te=!1,N=null,ue=null,Ce=null,ft(U,"_senderConfig",{g:function(){return oh({},F0)}})}}),t}return e.constructEnvelope=function(t,r,n,o){var a;r!==t.iKey&&!X(r)?a=ln(ln({},t),{iKey:r}):a=t;var s=SB[a.baseType]||Uw;return s(n,a,o)},e})(la)});var Yw=V(()=>{G0()});var il,im,$w,nl,Kw,zu,H0=V(()=>{il="instrumentationKey",im="connectionString",$w="instrumentationkey",nl="endpointUrl",Kw="ingestionendpoint",zu="userOverrideEndpointUrl"});var U0={};sl(U0,{AppInsightsCore:()=>ua,ApplicationInsights:()=>TB,Sender:()=>rm,SeverityLevel:()=>Jg,arrForEach:()=>z,isNullOrUndefined:()=>X,proxyFunctions:()=>Xi,throwError:()=>Xt});function PB(i){return i&&i>0}var Vu,jw,xB,TB,W0=V(()=>{Lr();Yw();ya();yt();pc();Be();H0();yt();ya();Yw();jw=void 0,xB=(Vu={diagnosticLogInterval:nu(PB,1e4)},Vu[im]=jw,Vu[nl]=jw,Vu[il]=jw,Vu.extensionConfig={},Vu);TB=(function(){function i(e){var t=new ua,r;(X(e)||X(e[il])&&X(e[im]))&&Xt("Invalid input configuration"),rt(i,this,function(o){ft(o,"config",{g:function(){return r}}),a(),o.initialize=a,o.track=n,Xi(o,t,["flush","pollInternalLogs","stopPollingInternalLogs","unload","getPlugin","addPlugin","evtNamespace","addUnloadCb","onCfgChange","getTraceCtx","updateCfg","addTelemetryInitializer"]);function a(){var s=Bt(e||{},xB);r=s.cfg,t.addUnloadHook(gr(s,function(){var c=r[im];if(pi(c)){var l=Yd(function(h,p){Ji(c,function(_){var b=_.value,S=r[il];if(!_.rejected&&b){r[im]=b;var E=Jc(b);S=E[$w]||S}h(S)})}),u=Yd(function(h,p){Ji(c,function(_){var b=_.value,S=r[nl];if(!_.rejected&&b){var E=Jc(b),R=E[Kw];S=R?R+$n:S}h(S)})});r[il]=l,r[nl]=r[zu]||u}if(Ue(c)){var f=Jc(c),m=f[Kw];r[nl]=r[zu]?r[zu]:m+$n,r[il]=f[$w]||r[il]}r[nl]=r[zu]?r[zu]:r[nl]})),t.initialize(r,[new rm])}});function n(o){o&&(o.baseData=o.baseData||{},o.baseType=o.baseType||"EventData"),t.track(o)}}return i.__ieDyn=1,i})()});var Y0=Tt(No=>{"use strict";var IB=No&&No.__createBinding||(Object.create?(function(i,e,t,r){r===void 0&&(r=t);var n=Object.getOwnPropertyDescriptor(e,t);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(i,r,n)}):(function(i,e,t,r){r===void 0&&(r=t),i[r]=e[t]})),AB=No&&No.__setModuleDefault||(Object.create?(function(i,e){Object.defineProperty(i,"default",{enumerable:!0,value:e})}):function(i,e){i.default=e}),kB=No&&No.__importStar||function(i){if(i&&i.__esModule)return i;var e={};if(i!=null)for(var t in i)t!=="default"&&Object.prototype.hasOwnProperty.call(i,t)&&IB(e,i,t);return AB(e,i),e};Object.defineProperty(No,"__esModule",{value:!0});No.appInsightsClientFactory=void 0;var NB=(ya(),cl(h0)),OB=Tw(),MB=async(i,e,t,r,n)=>{let o;try{let s=await Promise.resolve().then(()=>kB((W0(),cl(U0)))),c={};if(r){let f={alwaysUseXhrOverride:!0,httpXHROverride:r};c[NB.BreezeChannelIdentifier]=f}let l;i.startsWith("InstrumentationKey=")||(l=i);let u=l?{instrumentationKey:l}:{connectionString:i};o=new s.ApplicationInsights({...u,disableAjaxTracking:!0,disableExceptionTracking:!0,disableFetchTracking:!0,disableCorrelationHeaders:!0,disableCookiesUsage:!0,autoTrackPageVisitTime:!1,emitLineDelimitedJson:!1,disableInstrumentationKeyValidation:!0,extensionConfig:c})}catch(s){return Promise.reject(s)}return{logEvent:(s,c)=>{let l={...c?.properties,...c?.measurements};n?.length&&OB.TelemetryUtil.applyReplacements(l,n),o?.track({name:s,data:l,baseType:"EventData",ext:{user:{id:e,authId:e},app:{sesId:t}},baseData:{name:s,properties:c?.properties,measurements:c?.measurements}})},flush:async()=>{o?.flush(!1)},dispose:async()=>new Promise(c=>{o?.unload(!0,()=>{c(),o=void 0},1e3)})}};No.appInsightsClientFactory=MB});var $0=Tt(py=>{"use strict";Object.defineProperty(py,"__esModule",{value:!0});py.BaseTelemetryReporter=void 0;var zw=class{constructor(e,t,r){this.telemetrySender=e,this.vscodeAPI=t,this.userOptIn=!1,this.errorOptIn=!1,this.disposables=[],this._onDidChangeTelemetryLevel=new this.vscodeAPI.EventEmitter,this.onDidChangeTelemetryLevel=this._onDidChangeTelemetryLevel.event,this.telemetryLogger=this.vscodeAPI.env.createTelemetryLogger(this.telemetrySender,r),this.updateUserOptIn(),this.telemetryLogger.onDidChangeEnableStates(()=>{this.updateUserOptIn()})}updateUserOptIn(){this.errorOptIn=this.telemetryLogger.isErrorsEnabled,this.userOptIn=this.telemetryLogger.isUsageEnabled,(this.telemetryLogger.isErrorsEnabled||this.telemetryLogger.isUsageEnabled)&&this.telemetrySender.instantiateSender(),this._onDidChangeTelemetryLevel.fire(this.telemetryLevel)}get telemetryLevel(){return this.errorOptIn&&this.userOptIn?"all":this.errorOptIn?"error":"off"}internalSendTelemetryEvent(e,t,r,n){n?this.telemetrySender.sendEventData(e,{properties:t,measurements:r}):this.telemetryLogger.logUsage(e,{properties:t,measurements:r})}sendTelemetryEvent(e,t,r){this.internalSendTelemetryEvent(e,t,r,!1)}sendRawTelemetryEvent(e,t,r){let n={...t};for(let o of Object.keys(n??{})){let a=n[o];typeof o=="string"&&a!==void 0&&(n[o]=new this.vscodeAPI.TelemetryTrustedValue(typeof a=="string"?a:a.value))}this.sendTelemetryEvent(e,n,r)}sendDangerousTelemetryEvent(e,t,r){this.telemetrySender.instantiateSender(),this.internalSendTelemetryEvent(e,t,r,!0)}internalSendTelemetryErrorEvent(e,t,r,n){n?this.telemetrySender.sendEventData(e,{properties:t,measurements:r}):this.telemetryLogger.logError(e,{properties:t,measurements:r})}sendTelemetryErrorEvent(e,t,r){this.internalSendTelemetryErrorEvent(e,t,r,!1)}sendDangerousTelemetryErrorEvent(e,t,r){this.telemetrySender.instantiateSender(),this.internalSendTelemetryErrorEvent(e,t,r,!0)}async dispose(){return await this.telemetrySender.dispose(),this.telemetryLogger.dispose(),Promise.all(this.disposables.map(e=>e.dispose()))}};py.BaseTelemetryReporter=zw});var K0=Tt(hy=>{"use strict";Object.defineProperty(hy,"__esModule",{value:!0});hy.BaseTelemetrySender=void 0;var Da;(function(i){i[i.NOT_INSTANTIATED=0]="NOT_INSTANTIATED",i[i.INSTANTIATING=1]="INSTANTIATING",i[i.INSTANTIATED=2]="INSTANTIATED"})(Da||(Da={}));var Vw=class{constructor(e,t){this._instantiationStatus=Da.NOT_INSTANTIATED,this._eventQueue=[],this._exceptionQueue=[],this._clientFactory=t,this._key=e}sendEventData(e,t){if(!this._telemetryClient){this._instantiationStatus!==Da.INSTANTIATED&&this._eventQueue.push({eventName:e,data:t});return}this._telemetryClient.logEvent(e,t)}sendErrorData(e,t){if(!this._telemetryClient){this._instantiationStatus!==Da.INSTANTIATED&&this._exceptionQueue.push({exception:e,data:t});return}let r={stack:e.stack,message:e.message,name:e.name};if(t){let n=t.properties||t;t.properties={...n,...r}}else t={properties:r};this._telemetryClient.logEvent("unhandlederror",t)}async flush(){return this._telemetryClient?.flush()}async dispose(){this._telemetryClient&&(await this._telemetryClient.dispose(),this._telemetryClient=void 0)}_flushQueues(){this._eventQueue.forEach(({eventName:e,data:t})=>this.sendEventData(e,t)),this._eventQueue=[],this._exceptionQueue.forEach(({exception:e,data:t})=>this.sendErrorData(e,t)),this._exceptionQueue=[]}instantiateSender(){this._instantiationStatus===Da.NOT_INSTANTIATED&&(this._instantiationStatus=Da.INSTANTIATING,this._clientFactory(this._key).then(e=>{this._telemetryClient=e,this._instantiationStatus=Da.INSTANTIATED,this._flushQueues()}).catch(e=>{console.error(e),this._instantiationStatus=Da.INSTANTIATED}))}};hy.BaseTelemetrySender=Vw});var V0=Tt(Ra=>{"use strict";var LB=Ra&&Ra.__createBinding||(Object.create?(function(i,e,t,r){r===void 0&&(r=t);var n=Object.getOwnPropertyDescriptor(e,t);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(i,r,n)}):(function(i,e,t,r){r===void 0&&(r=t),i[r]=e[t]})),BB=Ra&&Ra.__setModuleDefault||(Object.create?(function(i,e){Object.defineProperty(i,"default",{enumerable:!0,value:e})}):function(i,e){i.default=e}),Qw=Ra&&Ra.__importStar||function(i){if(i&&i.__esModule)return i;var e={};if(i!=null)for(var t in i)t!=="default"&&Object.prototype.hasOwnProperty.call(i,t)&&LB(e,i,t);return BB(e,i),e};Object.defineProperty(Ra,"__esModule",{value:!0});var FB=Qw(require("https")),Jw=Qw(require("os")),gy=Qw(require("vscode")),GB=fT(),HB=Y0(),UB=$0(),WB=K0(),j0=Tw();function z0(){return{sendPOST:(e,t)=>{let r={method:"POST",headers:{...e.headers,"Content-Type":"application/json","Content-Length":Buffer.byteLength(e.data)}};try{let n=FB.request(e.urlString,r,o=>{o.on("data",function(a){t(o.statusCode??200,o.headers,a.toString())}),o.on("error",function(){t(0,{})})});n.write(e.data,o=>{o&&t(0,{})}),n.end()}catch{t(0,{})}}}}var qw=class extends UB.BaseTelemetryReporter{constructor(e,t){let r=a=>(0,HB.appInsightsClientFactory)(a,gy.env.machineId,gy.env.sessionId,z0(),t);j0.TelemetryUtil.shouldUseOneDataSystemSDK(e)&&(r=a=>(0,GB.oneDataSystemClientFactory)(a,gy,z0()));let n={release:Jw.release(),platform:Jw.platform(),architecture:Jw.arch()},o=new WB.BaseTelemetrySender(e,r);if(e&&e.indexOf("AIF-")===0)throw new Error("AIF keys are no longer supported. Please switch to 1DS keys for 1st party extensions");super(o,gy,{additionalCommonProperties:j0.TelemetryUtil.getAdditionalCommonProperties(n)})}};Ra.default=qw});var fI=Tt((Wq,XB)=>{XB.exports={name:"git",displayName:"%displayName%",description:"%description%",publisher:"vscode",license:"MIT",version:"10.0.0",engines:{vscode:"^1.5.0"},aiKey:"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255",enabledApiProposals:["agentSessionsWorkspace","agentsWindowConfiguration","canonicalUriProvider","contribEditSessions","contribEditorContentMenu","contribMergeEditorMenus","contribMultiDiffEditorMenus","contribDiffEditorGutterToolBarMenus","contribSourceControlArtifactGroupMenu","contribSourceControlArtifactMenu","contribSourceControlHistoryItemMenu","contribSourceControlHistoryTitleMenu","contribSourceControlInputBoxMenu","contribSourceControlTitleMenu","contribViewsWelcome","editSessionIdentityProvider","envIsConnectionMetered","findFiles2","quickDiffProvider","quickPickSortByLabel","scmActionButton","scmArtifactProvider","scmHistoryProvider","scmMultiDiffEditor","scmProviderOptions","scmSelectedProvider","scmTextDocument","scmValidation","statusBarItemTooltip","taskRunOptions","tabInputMultiDiff","tabInputTextMerge","textEditorDiffInformation","timeline","workspaceTrust"],categories:["Other"],activationEvents:["*","onEditSession:file","onFileSystem:git","onFileSystem:git-show"],extensionDependencies:["vscode.git-base"],main:"./out/main",icon:"resources/icons/git.png",scripts:{compile:"gulp compile-extension:git",watch:"gulp watch-extension:git","update-emoji":"node ./build/update-emoji.js",test:"node ../../node_modules/mocha/bin/mocha"},capabilities:{virtualWorkspaces:!0,untrustedWorkspaces:{supported:!1}},contributes:{commands:[{command:"git.continueInLocalClone",title:"%command.continueInLocalClone%",category:"Git",icon:"$(repo-clone)",enablement:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && remoteName"},{command:"git.clone",title:"%command.clone%",category:"Git",enablement:"!operationInProgress"},{command:"git.cloneRecursive",title:"%command.cloneRecursive%",category:"Git",enablement:"!operationInProgress"},{command:"git.init",title:"%command.init%",category:"Git",icon:"$(add)",enablement:"!operationInProgress"},{command:"git.openRepository",title:"%command.openRepository%",category:"Git",enablement:"!operationInProgress"},{command:"git.reopenClosedRepositories",title:"%command.reopenClosedRepositories%",icon:"$(repo)",category:"Git",enablement:"!operationInProgress && git.closedRepositoryCount != 0"},{command:"git.close",title:"%command.close%",category:"Git",enablement:"!operationInProgress"},{command:"git.closeOtherRepositories",title:"%command.closeOtherRepositories%",category:"Git",enablement:"!operationInProgress"},{command:"git.openWorktree",title:"%command.openWorktree%",category:"Git",enablement:"!operationInProgress"},{command:"git.openWorktreeInNewWindow",title:"%command.openWorktreeInNewWindow%",category:"Git",enablement:"!operationInProgress"},{command:"git.refresh",title:"%command.refresh%",category:"Git",icon:"$(refresh)",enablement:"!operationInProgress"},{command:"git.compareWithWorkspace",title:"%command.compareWithWorkspace%",category:"Git"},{command:"git.openChange",title:"%command.openChange%",category:"Git",icon:"$(compare-changes)"},{command:"git.openAllChanges",title:"%command.openAllChanges%",category:"Git"},{command:"git.openFile",title:"%command.openFile%",category:"Git",icon:"$(go-to-file)"},{command:"git.openFile2",title:"%command.openFile%",category:"Git",icon:"$(go-to-file)"},{command:"git.openHEADFile",title:"%command.openHEADFile%",category:"Git"},{command:"git.stage",title:"%command.stage%",category:"Git",icon:"$(add)",enablement:"!operationInProgress"},{command:"git.stageAll",title:"%command.stageAll%",category:"Git",icon:"$(add)",enablement:"!operationInProgress"},{command:"git.stageAllTracked",title:"%command.stageAllTracked%",category:"Git",icon:"$(add)",enablement:"!operationInProgress"},{command:"git.stageAllUntracked",title:"%command.stageAllUntracked%",category:"Git",icon:"$(add)",enablement:"!operationInProgress"},{command:"git.stageAllMerge",title:"%command.stageAllMerge%",category:"Git",icon:"$(add)",enablement:"!operationInProgress"},{command:"git.stageSelectedRanges",title:"%command.stageSelectedRanges%",category:"Git",enablement:"!operationInProgress"},{command:"git.diff.stageHunk",title:"%command.stageBlock%",category:"Git",icon:"$(plus)"},{command:"git.diff.stageSelection",title:"%command.stageSelection%",category:"Git",icon:"$(plus)"},{command:"git.revertSelectedRanges",title:"%command.revertSelectedRanges%",category:"Git",enablement:"!operationInProgress"},{command:"git.stageChange",title:"%command.stageChange%",category:"Git",icon:"$(add)",enablement:"!operationInProgress"},{command:"git.stageFile",title:"%command.stage%",category:"Git",icon:"$(add)",enablement:"!operationInProgress"},{command:"git.revertChange",title:"%command.revertChange%",category:"Git",icon:"$(discard)",enablement:"!operationInProgress"},{command:"git.unstage",title:"%command.unstage%",category:"Git",icon:"$(remove)",enablement:"!operationInProgress"},{command:"git.unstageAll",title:"%command.unstageAll%",category:"Git",icon:"$(remove)",enablement:"!operationInProgress"},{command:"git.unstageSelectedRanges",title:"%command.unstageSelectedRanges%",category:"Git",enablement:"!operationInProgress"},{command:"git.unstageChange",title:"%command.unstageChange%",category:"Git",icon:"$(remove)",enablement:"!operationInProgress"},{command:"git.unstageFile",title:"%command.unstage%",category:"Git",icon:"$(remove)",enablement:"!operationInProgress"},{command:"git.clean",title:"%command.clean%",category:"Git",icon:"$(discard)",enablement:"!operationInProgress"},{command:"git.cleanAll",title:"%command.cleanAll%",category:"Git",icon:"$(discard)",enablement:"!operationInProgress"},{command:"git.cleanAllTracked",title:"%command.cleanAllTracked%",category:"Git",icon:"$(discard)",enablement:"!operationInProgress"},{command:"git.cleanAllUntracked",title:"%command.cleanAllUntracked%",category:"Git",icon:"$(discard)",enablement:"!operationInProgress"},{command:"git.rename",title:"%command.rename%",category:"Git",icon:"$(discard)",enablement:"!operationInProgress"},{command:"git.delete",title:"%command.delete%",category:"Git",icon:"$(trash)",enablement:"!operationInProgress"},{command:"git.commit",title:"%command.commit%",category:"Git",icon:"$(check)",enablement:"!operationInProgress"},{command:"git.commitAmend",title:"%command.commitAmend%",category:"Git",icon:"$(check)",enablement:"!operationInProgress"},{command:"git.commitSigned",title:"%command.commitSigned%",category:"Git",icon:"$(check)",enablement:"!operationInProgress"},{command:"git.commitStaged",title:"%command.commitStaged%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitEmpty",title:"%command.commitEmpty%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitStagedSigned",title:"%command.commitStagedSigned%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitStagedAmend",title:"%command.commitStagedAmend%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitAll",title:"%command.commitAll%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitAllSigned",title:"%command.commitAllSigned%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitAllAmend",title:"%command.commitAllAmend%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitNoVerify",title:"%command.commitNoVerify%",category:"Git",icon:"$(check)",enablement:"!operationInProgress"},{command:"git.commitStagedNoVerify",title:"%command.commitStagedNoVerify%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitEmptyNoVerify",title:"%command.commitEmptyNoVerify%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitStagedSignedNoVerify",title:"%command.commitStagedSignedNoVerify%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitAmendNoVerify",title:"%command.commitAmendNoVerify%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitSignedNoVerify",title:"%command.commitSignedNoVerify%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitStagedAmendNoVerify",title:"%command.commitStagedAmendNoVerify%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitAllNoVerify",title:"%command.commitAllNoVerify%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitAllSignedNoVerify",title:"%command.commitAllSignedNoVerify%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitAllAmendNoVerify",title:"%command.commitAllAmendNoVerify%",category:"Git",enablement:"!operationInProgress"},{command:"git.commitMessageAccept",title:"%command.commitMessageAccept%",category:"Git"},{command:"git.commitMessageDiscard",title:"%command.commitMessageDiscard%",icon:"$(close)",category:"Git"},{command:"git.restoreCommitTemplate",title:"%command.restoreCommitTemplate%",category:"Git",enablement:"!operationInProgress"},{command:"git.undoCommit",title:"%command.undoCommit%",category:"Git",enablement:"!operationInProgress"},{command:"git.checkout",title:"%command.checkout%",category:"Git",enablement:"!operationInProgress"},{command:"git.graph.checkout",title:"%command.graphCheckout%",category:"Git",enablement:"!operationInProgress"},{command:"git.checkoutDetached",title:"%command.checkoutDetached%",category:"Git",enablement:"!operationInProgress"},{command:"git.graph.checkoutDetached",title:"%command.graphCheckoutDetached%",category:"Git",enablement:"!operationInProgress"},{command:"git.branch",title:"%command.branch%",category:"Git",enablement:"!operationInProgress"},{command:"git.branchFrom",title:"%command.branchFrom%",category:"Git",enablement:"!operationInProgress"},{command:"git.deleteBranch",title:"%command.deleteBranch%",category:"Git",enablement:"!operationInProgress"},{command:"git.graph.deleteBranch",title:"%command.graphDeleteBranch%",category:"Git",enablement:"!operationInProgress"},{command:"git.deleteRemoteBranch",title:"%command.deleteRemoteBranch%",category:"Git",enablement:"!operationInProgress"},{command:"git.renameBranch",title:"%command.renameBranch%",category:"Git",enablement:"!operationInProgress"},{command:"git.merge",title:"%command.merge%",category:"Git",enablement:"!operationInProgress"},{command:"git.mergeAbort",title:"%command.mergeAbort%",category:"Git",enablement:"gitMergeInProgress"},{command:"git.rebase",title:"%command.rebase%",category:"Git",enablement:"!operationInProgress"},{command:"git.createTag",title:"%command.createTag%",icon:"$(plus)",category:"Git",enablement:"!operationInProgress"},{command:"git.deleteTag",title:"%command.deleteTag%",category:"Git",enablement:"!operationInProgress"},{command:"git.migrateWorktreeChanges",title:"%command.migrateWorktreeChanges%",category:"Git",enablement:"!operationInProgress"},{command:"git.createWorktree",title:"%command.createWorktree%",category:"Git",enablement:"!operationInProgress"},{command:"git.deleteWorktree",title:"%command.deleteWorktree%",category:"Git",enablement:"!operationInProgress"},{command:"git.deleteWorktree2",title:"%command.deleteWorktree2%",category:"Git",enablement:"!operationInProgress"},{command:"git.graph.deleteTag",title:"%command.graphDeleteTag%",category:"Git",enablement:"!operationInProgress"},{command:"git.deleteRemoteTag",title:"%command.deleteRemoteTag%",category:"Git",enablement:"!operationInProgress"},{command:"git.fetch",title:"%command.fetch%",category:"Git",enablement:"!operationInProgress"},{command:"git.fetchPrune",title:"%command.fetchPrune%",category:"Git",enablement:"!operationInProgress"},{command:"git.fetchAll",title:"%command.fetchAll%",icon:"$(git-fetch)",category:"Git",enablement:"!operationInProgress"},{command:"git.fetchRef",title:"%command.fetch%",icon:"$(git-fetch)",category:"Git",enablement:"!operationInProgress"},{command:"git.pull",title:"%command.pull%",category:"Git",enablement:"!operationInProgress"},{command:"git.pullRebase",title:"%command.pullRebase%",category:"Git",enablement:"!operationInProgress"},{command:"git.pullFrom",title:"%command.pullFrom%",category:"Git",enablement:"!operationInProgress"},{command:"git.pullRef",title:"%command.pull%",icon:"$(repo-pull)",category:"Git",enablement:"!operationInProgress && scmCurrentHistoryItemRefInFilter && scmCurrentHistoryItemRefHasRemote"},{command:"git.push",title:"%command.push%",category:"Git",enablement:"!operationInProgress"},{command:"git.pushForce",title:"%command.pushForce%",category:"Git",enablement:"!operationInProgress"},{command:"git.pushTo",title:"%command.pushTo%",category:"Git",enablement:"!operationInProgress"},{command:"git.pushToForce",title:"%command.pushToForce%",category:"Git",enablement:"!operationInProgress"},{command:"git.pushTags",title:"%command.pushTags%",category:"Git",enablement:"!operationInProgress"},{command:"git.pushWithTags",title:"%command.pushFollowTags%",category:"Git",enablement:"!operationInProgress"},{command:"git.pushWithTagsForce",title:"%command.pushFollowTagsForce%",category:"Git",enablement:"!operationInProgress"},{command:"git.pushRef",title:"%command.push%",icon:"$(repo-push)",category:"Git",enablement:"!operationInProgress && scmCurrentHistoryItemRefInFilter && scmCurrentHistoryItemRefHasRemote"},{command:"git.cherryPick",title:"%command.cherryPick%",category:"Git",enablement:"!operationInProgress"},{command:"git.graph.cherryPick",title:"%command.graphCherryPick%",category:"Git",enablement:"!operationInProgress"},{command:"git.cherryPickAbort",title:"%command.cherryPickAbort%",category:"Git",enablement:"!operationInProgress"},{command:"git.addRemote",title:"%command.addRemote%",category:"Git",enablement:"!operationInProgress"},{command:"git.removeRemote",title:"%command.removeRemote%",category:"Git",enablement:"!operationInProgress"},{command:"git.sync",title:"%command.sync%",category:"Git",enablement:"!operationInProgress"},{command:"git.syncRebase",title:"%command.syncRebase%",category:"Git",enablement:"!operationInProgress"},{command:"git.publish",title:"%command.publish%",category:"Git",icon:"$(cloud-upload)",enablement:"!operationInProgress"},{command:"git.showOutput",title:"%command.showOutput%",category:"Git"},{command:"git.ignore",title:"%command.ignore%",category:"Git",enablement:"!operationInProgress"},{command:"git.revealInExplorer",title:"%command.revealInExplorer%",category:"Git"},{command:"git.revealFileInOS.linux",title:"%command.revealFileInOS.linux%",category:"Git"},{command:"git.revealFileInOS.mac",title:"%command.revealFileInOS.mac%",category:"Git"},{command:"git.revealFileInOS.windows",title:"%command.revealFileInOS.windows%",category:"Git"},{command:"git.stashIncludeUntracked",title:"%command.stashIncludeUntracked%",category:"Git",enablement:"!operationInProgress"},{command:"git.stash",title:"%command.stash%",category:"Git",enablement:"!operationInProgress"},{command:"git.stashStaged",title:"%command.stashStaged%",category:"Git",enablement:"!operationInProgress && gitVersion2.35"},{command:"git.stashPop",title:"%command.stashPop%",category:"Git",enablement:"!operationInProgress"},{command:"git.stashPopLatest",title:"%command.stashPopLatest%",category:"Git",enablement:"!operationInProgress"},{command:"git.stashPopEditor",title:"%command.stashPopEditor%",icon:"$(git-stash-pop)",category:"Git",enablement:"!operationInProgress"},{command:"git.stashApply",title:"%command.stashApply%",category:"Git",enablement:"!operationInProgress"},{command:"git.stashApplyLatest",title:"%command.stashApplyLatest%",category:"Git",enablement:"!operationInProgress"},{command:"git.stashApplyEditor",title:"%command.stashApplyEditor%",icon:"$(git-stash-apply)",category:"Git",enablement:"!operationInProgress"},{command:"git.stashDrop",title:"%command.stashDrop%",category:"Git",enablement:"!operationInProgress"},{command:"git.stashDropAll",title:"%command.stashDropAll%",category:"Git",enablement:"!operationInProgress"},{command:"git.stashDropEditor",title:"%command.stashDropEditor%",icon:"$(trash)",category:"Git",enablement:"!operationInProgress"},{command:"git.stashView",title:"%command.stashView%",category:"Git",enablement:"!operationInProgress"},{command:"git.timeline.openDiff",title:"%command.timelineOpenDiff%",icon:"$(compare-changes)",category:"Git"},{command:"git.timeline.copyCommitId",title:"%command.timelineCopyCommitId%",category:"Git"},{command:"git.timeline.copyCommitMessage",title:"%command.timelineCopyCommitMessage%",category:"Git"},{command:"git.timeline.selectForCompare",title:"%command.timelineSelectForCompare%",category:"Git"},{command:"git.timeline.compareWithSelected",title:"%command.timelineCompareWithSelected%",category:"Git"},{command:"git.timeline.viewCommit",title:"%command.viewCommit%",icon:"$(diff-multiple)",category:"Git"},{command:"git.rebaseAbort",title:"%command.rebaseAbort%",category:"Git",enablement:"gitRebaseInProgress"},{command:"git.closeAllDiffEditors",title:"%command.closeAllDiffEditors%",category:"Git",enablement:"!operationInProgress"},{command:"git.closeAllUnmodifiedEditors",title:"%command.closeAllUnmodifiedEditors%",category:"Git",enablement:"!operationInProgress"},{command:"git.api.getRepositories",title:"%command.api.getRepositories%",category:"Git API"},{command:"git.api.getRepositoryState",title:"%command.api.getRepositoryState%",category:"Git API"},{command:"git.api.getRemoteSources",title:"%command.api.getRemoteSources%",category:"Git API"},{command:"git.acceptMerge",title:"%command.git.acceptMerge%",category:"Git",enablement:"isMergeEditor && mergeEditorResultUri in git.mergeChanges"},{command:"git.openMergeEditor",title:"%command.git.openMergeEditor%",category:"Git"},{command:"git.runGitMerge",title:"%command.git.runGitMerge%",category:"Git",enablement:"isMergeEditor"},{command:"git.runGitMergeDiff3",title:"%command.git.runGitMergeDiff3%",category:"Git",enablement:"isMergeEditor"},{command:"git.manageUnsafeRepositories",title:"%command.manageUnsafeRepositories%",category:"Git"},{command:"git.openRepositoriesInParentFolders",title:"%command.openRepositoriesInParentFolders%",category:"Git"},{command:"git.viewChanges",title:"%command.viewChanges%",icon:"$(diff-multiple)",category:"Git",enablement:"!operationInProgress"},{command:"git.viewStagedChanges",title:"%command.viewStagedChanges%",icon:"$(diff-multiple)",category:"Git",enablement:"!operationInProgress"},{command:"git.viewUntrackedChanges",title:"%command.viewUntrackedChanges%",icon:"$(diff-multiple)",category:"Git",enablement:"!operationInProgress"},{command:"git.viewCommit",title:"%command.viewCommit%",icon:"$(diff-multiple)",category:"Git",enablement:"!operationInProgress"},{command:"git.copyCommitId",title:"%command.timelineCopyCommitId%",category:"Git"},{command:"git.copyCommitMessage",title:"%command.timelineCopyCommitMessage%",category:"Git"},{command:"git.blame.toggleEditorDecoration",title:"%command.blameToggleEditorDecoration%",category:"Git"},{command:"git.blame.toggleStatusBarItem",title:"%command.blameToggleStatusBarItem%",category:"Git"},{command:"git.graph.compareRef",title:"%command.graphCompareRef%",category:"Git",enablement:"!operationInProgress"},{command:"git.graph.compareWithRemote",title:"%command.graphCompareWithRemote%",category:"Git",enablement:"!operationInProgress && scmCurrentHistoryItemRefHasRemote"},{command:"git.graph.compareWithMergeBase",title:"%command.graphCompareWithMergeBase%",category:"Git",enablement:"!operationInProgress && scmCurrentHistoryItemRefHasBase"},{command:"git.repositories.checkout",title:"%command.graphCheckout%",icon:"$(target)",category:"Git",enablement:"!operationInProgress && !scmArtifactIsHistoryItemRef"},{command:"git.repositories.checkoutDetached",title:"%command.graphCheckoutDetached%",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.compareRef",title:"%command.graphCompareRef%",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.createBranch",title:"%command.branch%",icon:"$(plus)",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.createTag",title:"%command.createTag%",icon:"$(plus)",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.merge",title:"%command.merge2%",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.rebase",title:"%command.rebase2%",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.deleteBranch",title:"%command.deleteRef%",category:"Git",enablement:"!operationInProgress && !scmArtifactIsHistoryItemRef"},{command:"git.repositories.deleteTag",title:"%command.deleteRef%",category:"Git",enablement:"!operationInProgress && !scmArtifactIsHistoryItemRef"},{command:"git.repositories.createFrom",title:"%command.createFrom%",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.stashView",title:"%command.stashView2%",icon:"$(diff-multiple)",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.stashApply",title:"%command.stashApplyEditor%",icon:"$(git-stash-apply)",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.stashPop",title:"%command.stashPopEditor%",icon:"$(git-stash-pop)",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.stashDrop",title:"%command.stashDropEditor%",icon:"$(trash)",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.createWorktree",title:"%command.createWorktree%",icon:"$(plus)",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.openWorktree",title:"%command.openWorktree2%",icon:"$(folder-opened)",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.openWorktreeInNewWindow",title:"%command.openWorktreeInNewWindow2%",icon:"$(folder-opened)",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.deleteWorktree",title:"%command.deleteRef%",category:"Git",enablement:"!operationInProgress"},{command:"git.repositories.worktreeCopyBranchName",title:"%command.artifactCopyBranchName%",category:"Git"},{command:"git.repositories.worktreeCopyCommitHash",title:"%command.artifactCopyCommitHash%",category:"Git"},{command:"git.repositories.worktreeCopyPath",title:"%command.artifactCopyWorktreePath%",category:"Git"},{command:"git.repositories.copyCommitHash",title:"%command.artifactCopyCommitHash%",category:"Git"},{command:"git.repositories.copyBranchName",title:"%command.artifactCopyBranchName%",category:"Git"},{command:"git.repositories.copyTagName",title:"%command.artifactCopyTagName%",category:"Git"},{command:"git.repositories.copyStashName",title:"%command.artifactCopyStashName%",category:"Git"},{command:"git.repositories.stashCopyBranchName",title:"%command.artifactCopyBranchName%",category:"Git"}],continueEditSession:[{command:"git.continueInLocalClone",qualifiedName:"%command.continueInLocalClone.qualifiedName%",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && remoteName",remoteGroup:"remote_42_git_0_local@0"}],keybindings:[{command:"git.stageSelectedRanges",key:"ctrl+k ctrl+alt+s",mac:"cmd+k cmd+alt+s",when:"editorTextFocus && resourceScheme == file"},{command:"git.unstageSelectedRanges",key:"ctrl+k ctrl+n",mac:"cmd+k cmd+n",when:"editorTextFocus && isInDiffEditor && isInDiffRightEditor && resourceScheme == git"},{command:"git.revertSelectedRanges",key:"ctrl+k ctrl+r",mac:"cmd+k cmd+r",when:"editorTextFocus && resourceScheme == file"}],menus:{commandPalette:[{command:"git.continueInLocalClone",when:"false"},{command:"git.clone",when:"config.git.enabled && !git.missing"},{command:"git.cloneRecursive",when:"config.git.enabled && !git.missing"},{command:"git.init",when:"config.git.enabled && !git.missing && remoteName != 'codespaces'"},{command:"git.openRepository",when:"config.git.enabled && !git.missing"},{command:"git.close",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.closeOtherRepositories",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount > 1"},{command:"git.openWorktree",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount > 1"},{command:"git.openWorktreeInNewWindow",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount > 1"},{command:"git.refresh",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.openFile",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file && scmActiveResourceHasChanges"},{command:"git.openHEADFile",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file && scmActiveResourceHasChanges"},{command:"git.openChange",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stage",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stageAll",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stageAllTracked",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stageAllUntracked",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stageAllMerge",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stageSelectedRanges",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file"},{command:"git.stageChange",when:"false"},{command:"git.revertSelectedRanges",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file"},{command:"git.revertChange",when:"false"},{command:"git.openFile2",when:"false"},{command:"git.unstage",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.unstageAll",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.unstageSelectedRanges",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == git"},{command:"git.unstageChange",when:"false"},{command:"git.clean",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.cleanAll",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.cleanAllTracked",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.cleanAllUntracked",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.rename",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file && scmActiveResourceRepository"},{command:"git.delete",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file"},{command:"git.commit",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.commitAmend",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.commitSigned",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.commitStaged",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.commitEmpty",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.commitStagedSigned",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.commitStagedAmend",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.commitAll",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.commitAllSigned",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.commitAllAmend",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.rebaseAbort",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && gitRebaseInProgress"},{command:"git.commitNoVerify",when:"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{command:"git.commitStagedNoVerify",when:"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{command:"git.commitEmptyNoVerify",when:"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{command:"git.commitStagedSignedNoVerify",when:"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{command:"git.commitAmendNoVerify",when:"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{command:"git.commitSignedNoVerify",when:"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{command:"git.commitStagedAmendNoVerify",when:"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{command:"git.commitAllNoVerify",when:"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{command:"git.commitAllSignedNoVerify",when:"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{command:"git.commitAllAmendNoVerify",when:"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{command:"git.restoreCommitTemplate",when:"false"},{command:"git.commitMessageAccept",when:"false"},{command:"git.commitMessageDiscard",when:"false"},{command:"git.revealInExplorer",when:"false"},{command:"git.revealFileInOS.linux",when:"false"},{command:"git.revealFileInOS.mac",when:"false"},{command:"git.revealFileInOS.windows",when:"false"},{command:"git.undoCommit",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.checkout",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.branch",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.branchFrom",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.deleteBranch",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.deleteRemoteBranch",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.renameBranch",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.cherryPick",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.cherryPickAbort",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && gitCherryPickInProgress"},{command:"git.pull",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.pullFrom",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.pullRebase",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.merge",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.mergeAbort",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && gitMergeInProgress"},{command:"git.rebase",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.createTag",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.deleteTag",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.migrateWorktreeChanges",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.createWorktree",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.openWorktree",when:"false"},{command:"git.openWorktreeInNewWindow",when:"false"},{command:"git.deleteWorktree",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.deleteWorktree2",when:"false"},{command:"git.deleteRemoteTag",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.fetch",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.fetchPrune",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.fetchAll",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.push",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.pushForce",when:"config.git.enabled && !git.missing && config.git.allowForcePush && gitOpenRepositoryCount != 0"},{command:"git.pushTo",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.pushToForce",when:"config.git.enabled && !git.missing && config.git.allowForcePush && gitOpenRepositoryCount != 0"},{command:"git.pushWithTags",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.pushWithTagsForce",when:"config.git.enabled && !git.missing && config.git.allowForcePush && gitOpenRepositoryCount != 0"},{command:"git.pushTags",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.addRemote",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.removeRemote",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.sync",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.syncRebase",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.publish",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.showOutput",when:"config.git.enabled"},{command:"git.ignore",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file && scmActiveResourceRepository"},{command:"git.stashIncludeUntracked",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stash",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stashStaged",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && gitVersion2.35"},{command:"git.stashPop",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stashPopLatest",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stashPopEditor",when:"false"},{command:"git.stashApply",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stashApplyLatest",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stashApplyEditor",when:"false"},{command:"git.stashDrop",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stashDropAll",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.stashDropEditor",when:"false"},{command:"git.timeline.openDiff",when:"false"},{command:"git.timeline.copyCommitId",when:"false"},{command:"git.timeline.copyCommitMessage",when:"false"},{command:"git.timeline.selectForCompare",when:"false"},{command:"git.timeline.compareWithSelected",when:"false"},{command:"git.timeline.viewCommit",when:"false"},{command:"git.closeAllDiffEditors",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{command:"git.api.getRepositories",when:"false"},{command:"git.api.getRepositoryState",when:"false"},{command:"git.api.getRemoteSources",when:"false"},{command:"git.openMergeEditor",when:"false"},{command:"git.manageUnsafeRepositories",when:"config.git.enabled && !git.missing && git.unsafeRepositoryCount != 0"},{command:"git.openRepositoriesInParentFolders",when:"config.git.enabled && !git.missing && git.parentRepositoryCount != 0"},{command:"git.stashView",when:"config.git.enabled && !git.missing"},{command:"git.viewChanges",when:"config.git.enabled && !git.missing"},{command:"git.viewStagedChanges",when:"config.git.enabled && !git.missing"},{command:"git.viewUntrackedChanges",when:"config.git.enabled && !git.missing && config.git.untrackedChanges == separate"},{command:"git.viewCommit",when:"false"},{command:"git.stageFile",when:"false"},{command:"git.unstageFile",when:"false"},{command:"git.fetchRef",when:"false"},{command:"git.pullRef",when:"false"},{command:"git.pushRef",when:"false"},{command:"git.copyCommitId",when:"false"},{command:"git.copyCommitMessage",when:"false"},{command:"git.graph.checkout",when:"false"},{command:"git.graph.checkoutDetached",when:"false"},{command:"git.graph.deleteBranch",when:"false"},{command:"git.graph.compareRef",when:"false"},{command:"git.graph.deleteTag",when:"false"},{command:"git.graph.cherryPick",when:"false"},{command:"git.graph.compareWithMergeBase",when:"false"},{command:"git.graph.compareWithRemote",when:"false"},{command:"git.diff.stageHunk",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && diffEditorOriginalUri =~ /^git\\:.*%22ref%22%3A%22~%22%7D$/"},{command:"git.diff.stageSelection",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && diffEditorOriginalUri =~ /^git\\:.*%22ref%22%3A%22~%22%7D$/"},{command:"git.repositories.checkout",when:"false"},{command:"git.repositories.checkoutDetached",when:"false"},{command:"git.repositories.compareRef",when:"false"},{command:"git.repositories.createBranch",when:"false"},{command:"git.repositories.createTag",when:"false"},{command:"git.repositories.merge",when:"false"},{command:"git.repositories.rebase",when:"false"},{command:"git.repositories.deleteBranch",when:"false"},{command:"git.repositories.deleteTag",when:"false"},{command:"git.repositories.createFrom",when:"false"},{command:"git.repositories.stashView",when:"false"},{command:"git.repositories.stashApply",when:"false"},{command:"git.repositories.stashPop",when:"false"},{command:"git.repositories.stashDrop",when:"false"},{command:"git.repositories.createWorktree",when:"false"},{command:"git.repositories.openWorktree",when:"false"},{command:"git.repositories.openWorktreeInNewWindow",when:"false"},{command:"git.repositories.deleteWorktree",when:"false"},{command:"git.repositories.worktreeCopyBranchName",when:"false"},{command:"git.repositories.worktreeCopyCommitHash",when:"false"},{command:"git.repositories.worktreeCopyPath",when:"false"},{command:"git.repositories.copyCommitHash",when:"false"},{command:"git.repositories.copyBranchName",when:"false"},{command:"git.repositories.copyTagName",when:"false"},{command:"git.repositories.copyStashName",when:"false"},{command:"git.repositories.stashCopyBranchName",when:"false"}],"scm/title":[{command:"git.commit",group:"navigation",when:"scmProvider == git"},{command:"git.refresh",group:"navigation",when:"scmProvider == git"},{command:"git.pull",group:"1_header@1",when:"scmProvider == git"},{command:"git.push",group:"1_header@2",when:"scmProvider == git"},{command:"git.clone",group:"1_header@3",when:"scmProvider == git"},{command:"git.checkout",group:"1_header@4",when:"scmProvider == git"},{command:"git.fetch",group:"1_header@5",when:"scmProvider == git"},{submenu:"git.commit",group:"2_main@1",when:"scmProvider == git"},{submenu:"git.changes",group:"2_main@2",when:"scmProvider == git"},{submenu:"git.pullpush",group:"2_main@3",when:"scmProvider == git"},{submenu:"git.branch",group:"2_main@4",when:"scmProvider == git"},{submenu:"git.remotes",group:"2_main@5",when:"scmProvider == git"},{submenu:"git.stash",group:"2_main@6",when:"scmProvider == git"},{submenu:"git.tags",group:"2_main@7",when:"scmProvider == git"},{submenu:"git.worktrees",group:"2_main@8",when:"scmProvider == git"},{command:"git.showOutput",group:"3_footer",when:"scmProvider == git"}],"scm/repositories/title":[{command:"git.reopenClosedRepositories",group:"navigation@1",when:"git.closedRepositoryCount > 0"}],"scm/repository":[{command:"git.pull",group:"1_header@1",when:"scmProvider == git"},{command:"git.push",group:"1_header@2",when:"scmProvider == git"},{command:"git.clone",group:"1_header@3",when:"scmProvider == git"},{command:"git.checkout",group:"1_header@4",when:"scmProvider == git"},{command:"git.fetch",group:"1_header@5",when:"scmProvider == git"},{submenu:"git.commit",group:"2_main@1",when:"scmProvider == git"},{submenu:"git.changes",group:"2_main@2",when:"scmProvider == git"},{submenu:"git.pullpush",group:"2_main@3",when:"scmProvider == git"},{submenu:"git.branch",group:"2_main@4",when:"scmProvider == git"},{submenu:"git.remotes",group:"2_main@5",when:"scmProvider == git"},{submenu:"git.stash",group:"2_main@6",when:"scmProvider == git"},{submenu:"git.tags",group:"2_main@7",when:"scmProvider == git"},{submenu:"git.worktrees",group:"2_main@8",when:"scmProvider == git"},{command:"git.showOutput",group:"3_footer",when:"scmProvider == git"}],"scm/sourceControl":[{command:"git.close",group:"navigation@1",when:"scmProvider == git"},{command:"git.closeOtherRepositories",group:"navigation@2",when:"scmProvider == git && gitOpenRepositoryCount > 1"},{command:"git.openWorktree",group:"1_worktree@1",when:"scmProvider == git && scmProviderContext == worktree"},{command:"git.openWorktreeInNewWindow",group:"1_worktree@2",when:"scmProvider == git && scmProviderContext == worktree"},{command:"git.deleteWorktree2",group:"2_worktree@1",when:"scmProvider == git && scmProviderContext == worktree"}],"scm/artifactGroup/context":[{command:"git.repositories.createBranch",group:"inline@1",when:"scmProvider == git && scmArtifactGroup == branches"},{command:"git.repositories.createTag",group:"inline@1",when:"scmProvider == git && scmArtifactGroup == tags"},{submenu:"git.repositories.stash",group:"inline@1",when:"scmProvider == git && scmArtifactGroup == stashes"},{command:"git.repositories.createWorktree",group:"inline@1",when:"scmProvider == git && scmArtifactGroup == worktrees"}],"scm/artifact/context":[{command:"git.repositories.checkout",group:"inline@1",when:"scmProvider == git && (scmArtifactGroupId == branches || scmArtifactGroupId == tags)"},{command:"git.repositories.stashApply",alt:"git.repositories.stashPop",group:"inline@1",when:"scmProvider == git && scmArtifactGroupId == stashes"},{command:"git.repositories.stashView",group:"1_view@1",when:"scmProvider == git && scmArtifactGroupId == stashes"},{command:"git.repositories.stashApply",group:"2_apply@1",when:"scmProvider == git && scmArtifactGroupId == stashes"},{command:"git.repositories.stashPop",group:"2_apply@2",when:"scmProvider == git && scmArtifactGroupId == stashes"},{command:"git.repositories.stashDrop",group:"3_drop@3",when:"scmProvider == git && scmArtifactGroupId == stashes"},{command:"git.repositories.stashCopyBranchName",group:"4_copy@1",when:"scmProvider == git && scmArtifactGroupId == stashes"},{command:"git.repositories.copyStashName",group:"4_copy@2",when:"scmProvider == git && scmArtifactGroupId == stashes"},{command:"git.repositories.checkout",group:"1_checkout@1",when:"scmProvider == git && (scmArtifactGroupId == branches || scmArtifactGroupId == tags)"},{command:"git.repositories.checkoutDetached",group:"1_checkout@2",when:"scmProvider == git && (scmArtifactGroupId == branches || scmArtifactGroupId == tags)"},{command:"git.repositories.merge",group:"2_modify@1",when:"scmProvider == git && scmArtifactGroupId == branches"},{command:"git.repositories.rebase",group:"2_modify@2",when:"scmProvider == git && scmArtifactGroupId == branches"},{command:"git.repositories.createFrom",group:"3_modify@1",when:"scmProvider == git && scmArtifactGroupId == branches"},{command:"git.repositories.deleteBranch",group:"3_modify@2",when:"scmProvider == git && scmArtifactGroupId == branches"},{command:"git.repositories.deleteTag",group:"3_modify@1",when:"scmProvider == git && scmArtifactGroupId == tags"},{command:"git.repositories.compareRef",group:"4_compare@1",when:"scmProvider == git && (scmArtifactGroupId == branches || scmArtifactGroupId == tags)"},{command:"git.repositories.copyCommitHash",group:"5_copy@2",when:"scmProvider == git && (scmArtifactGroupId == branches || scmArtifactGroupId == tags)"},{command:"git.repositories.copyBranchName",group:"5_copy@1",when:"scmProvider == git && scmArtifactGroupId == branches"},{command:"git.repositories.copyTagName",group:"5_copy@2",when:"scmProvider == git && scmArtifactGroupId == tags"},{command:"git.repositories.openWorktreeInNewWindow",group:"inline@1",when:"scmProvider == git && scmArtifactGroupId == worktrees"},{command:"git.repositories.openWorktree",group:"1_open@1",when:"scmProvider == git && scmArtifactGroupId == worktrees"},{command:"git.repositories.openWorktreeInNewWindow",group:"1_open@2",when:"scmProvider == git && scmArtifactGroupId == worktrees"},{command:"git.repositories.deleteWorktree",group:"2_modify@1",when:"scmProvider == git && scmArtifactGroupId == worktrees"},{command:"git.repositories.worktreeCopyCommitHash",group:"3_copy@2",when:"scmProvider == git && scmArtifactGroupId == worktrees"},{command:"git.repositories.worktreeCopyBranchName",group:"3_copy@1",when:"scmProvider == git && scmArtifactGroupId == worktrees"},{command:"git.repositories.worktreeCopyPath",group:"3_copy@3",when:"scmProvider == git && scmArtifactGroupId == worktrees"}],"scm/resourceGroup/context":[{command:"git.stageAllMerge",when:"scmProvider == git && scmResourceGroup == merge",group:"1_modification"},{command:"git.stageAllMerge",when:"scmProvider == git && scmResourceGroup == merge",group:"inline@2"},{command:"git.unstageAll",when:"scmProvider == git && scmResourceGroup == index",group:"1_modification"},{command:"git.unstageAll",when:"scmProvider == git && scmResourceGroup == index",group:"inline@2"},{command:"git.viewStagedChanges",when:"scmProvider == git && scmResourceGroup == index",group:"inline@1"},{command:"git.viewChanges",when:"scmProvider == git && scmResourceGroup == workingTree",group:"inline@1"},{command:"git.cleanAll",when:"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges == mixed",group:"1_modification"},{command:"git.stageAll",when:"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges == mixed",group:"1_modification"},{command:"git.cleanAll",when:"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges == mixed",group:"inline@2"},{command:"git.stageAll",when:"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges == mixed",group:"inline@2"},{command:"git.cleanAllTracked",when:"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges != mixed",group:"1_modification"},{command:"git.stageAllTracked",when:"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges != mixed",group:"1_modification"},{command:"git.cleanAllTracked",when:"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges != mixed",group:"inline@2"},{command:"git.stageAllTracked",when:"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges != mixed",group:"inline@2"},{command:"git.cleanAllUntracked",when:"scmProvider == git && scmResourceGroup == untracked",group:"1_modification"},{command:"git.stageAllUntracked",when:"scmProvider == git && scmResourceGroup == untracked",group:"1_modification"},{command:"git.viewUntrackedChanges",when:"scmProvider == git && scmResourceGroup == untracked",group:"inline@1"},{command:"git.cleanAllUntracked",when:"scmProvider == git && scmResourceGroup == untracked",group:"inline@2"},{command:"git.stageAllUntracked",when:"scmProvider == git && scmResourceGroup == untracked",group:"inline@2"}],"scm/resourceFolder/context":[{command:"git.stage",when:"scmProvider == git && scmResourceGroup == merge",group:"1_modification"},{command:"git.stage",when:"scmProvider == git && scmResourceGroup == merge",group:"inline@2"},{command:"git.unstage",when:"scmProvider == git && scmResourceGroup == index",group:"1_modification"},{command:"git.unstage",when:"scmProvider == git && scmResourceGroup == index",group:"inline@2"},{command:"git.stage",when:"scmProvider == git && scmResourceGroup == workingTree",group:"1_modification"},{command:"git.clean",when:"scmProvider == git && scmResourceGroup == workingTree",group:"1_modification"},{command:"git.clean",when:"scmProvider == git && scmResourceGroup == workingTree",group:"inline@2"},{command:"git.stage",when:"scmProvider == git && scmResourceGroup == workingTree",group:"inline@2"},{command:"git.ignore",when:"scmProvider == git && scmResourceGroup == workingTree",group:"1_modification@3"},{command:"git.stage",when:"scmProvider == git && scmResourceGroup == untracked",group:"1_modification"},{command:"git.stage",when:"scmProvider == git && scmResourceGroup == untracked",group:"inline@2"},{command:"git.clean",when:"scmProvider == git && scmResourceGroup == untracked",group:"1_modification"},{command:"git.clean",when:"scmProvider == git && scmResourceGroup == untracked",group:"inline@2"},{command:"git.ignore",when:"scmProvider == git && scmResourceGroup == untracked",group:"1_modification@3"}],"scm/resourceState/context":[{command:"git.stage",when:"scmProvider == git && scmResourceGroup == merge",group:"1_modification"},{command:"git.openFile",when:"scmProvider == git && scmResourceGroup == merge",group:"navigation"},{command:"git.stage",when:"scmProvider == git && scmResourceGroup == merge",group:"inline@2"},{command:"git.revealFileInOS.linux",when:"scmProvider == git && scmResourceGroup == merge && remoteName == '' && isLinux",group:"2_view@1"},{command:"git.revealFileInOS.mac",when:"scmProvider == git && scmResourceGroup == merge && remoteName == '' && isMac",group:"2_view@1"},{command:"git.revealFileInOS.windows",when:"scmProvider == git && scmResourceGroup == merge && remoteName == '' && isWindows",group:"2_view@1"},{command:"git.revealInExplorer",when:"scmProvider == git && scmResourceGroup == merge",group:"2_view@2"},{command:"git.openFile2",when:"scmProvider == git && scmResourceGroup == merge && config.git.showInlineOpenFileAction && config.git.openDiffOnClick",group:"inline@1"},{command:"git.openChange",when:"scmProvider == git && scmResourceGroup == merge && config.git.showInlineOpenFileAction && !config.git.openDiffOnClick",group:"inline@1"},{command:"git.openChange",when:"scmProvider == git && scmResourceGroup == index",group:"navigation"},{command:"git.openFile",when:"scmProvider == git && scmResourceGroup == index",group:"navigation"},{command:"git.openHEADFile",when:"scmProvider == git && scmResourceGroup == index",group:"navigation"},{command:"git.unstage",when:"scmProvider == git && scmResourceGroup == index",group:"1_modification"},{command:"git.unstage",when:"scmProvider == git && scmResourceGroup == index",group:"inline@2"},{command:"git.revealFileInOS.linux",when:"scmProvider == git && scmResourceGroup == index && remoteName == '' && isLinux",group:"2_view@1"},{command:"git.revealFileInOS.mac",when:"scmProvider == git && scmResourceGroup == index && remoteName == '' && isMac",group:"2_view@1"},{command:"git.revealFileInOS.windows",when:"scmProvider == git && scmResourceGroup == index && remoteName == '' && isWindows",group:"2_view@1"},{command:"git.revealInExplorer",when:"scmProvider == git && scmResourceGroup == index",group:"2_view@2"},{command:"git.compareWithWorkspace",when:"scmProvider == git && scmResourceGroup == index && scmResourceState == worktree",group:"worktree_diff"},{command:"git.openFile2",when:"scmProvider == git && scmResourceGroup == index && config.git.showInlineOpenFileAction && config.git.openDiffOnClick",group:"inline@1"},{command:"git.openChange",when:"scmProvider == git && scmResourceGroup == index && config.git.showInlineOpenFileAction && !config.git.openDiffOnClick",group:"inline@1"},{command:"git.openChange",when:"scmProvider == git && scmResourceGroup == workingTree",group:"navigation"},{command:"git.openHEADFile",when:"scmProvider == git && scmResourceGroup == workingTree",group:"navigation"},{command:"git.openFile",when:"scmProvider == git && scmResourceGroup == workingTree",group:"navigation"},{command:"git.stage",when:"scmProvider == git && scmResourceGroup == workingTree",group:"1_modification"},{command:"git.clean",when:"scmProvider == git && scmResourceGroup == workingTree",group:"1_modification"},{command:"git.clean",when:"scmProvider == git && scmResourceGroup == workingTree",group:"inline@2"},{command:"git.stage",when:"scmProvider == git && scmResourceGroup == workingTree",group:"inline@2"},{command:"git.compareWithWorkspace",when:"scmProvider == git && scmResourceGroup == workingTree && scmResourceState == worktree",group:"worktree_diff"},{command:"git.openFile2",when:"scmProvider == git && scmResourceGroup == workingTree && config.git.showInlineOpenFileAction && config.git.openDiffOnClick",group:"inline@1"},{command:"git.openChange",when:"scmProvider == git && scmResourceGroup == workingTree && config.git.showInlineOpenFileAction && !config.git.openDiffOnClick",group:"inline@1"},{command:"git.ignore",when:"scmProvider == git && scmResourceGroup == workingTree",group:"1_modification@3"},{command:"git.revealFileInOS.linux",when:"scmProvider == git && scmResourceGroup == workingTree && remoteName == '' && isLinux",group:"2_view@1"},{command:"git.revealFileInOS.mac",when:"scmProvider == git && scmResourceGroup == workingTree && remoteName == '' && isMac",group:"2_view@1"},{command:"git.revealFileInOS.windows",when:"scmProvider == git && scmResourceGroup == workingTree && remoteName == '' && isWindows",group:"2_view@1"},{command:"git.revealInExplorer",when:"scmProvider == git && scmResourceGroup == workingTree",group:"2_view@2"},{command:"git.openChange",when:"scmProvider == git && scmResourceGroup == untracked",group:"navigation"},{command:"git.openHEADFile",when:"scmProvider == git && scmResourceGroup == untracked",group:"navigation"},{command:"git.openFile",when:"scmProvider == git && scmResourceGroup == untracked",group:"navigation"},{command:"git.stage",when:"scmProvider == git && scmResourceGroup == untracked",group:"1_modification"},{command:"git.clean",when:"scmProvider == git && scmResourceGroup == untracked && !gitFreshRepository",group:"1_modification"},{command:"git.clean",when:"scmProvider == git && scmResourceGroup == untracked && !gitFreshRepository",group:"inline@2"},{command:"git.stage",when:"scmProvider == git && scmResourceGroup == untracked",group:"inline@2"},{command:"git.openFile2",when:"scmProvider == git && scmResourceGroup == untracked && config.git.showInlineOpenFileAction && config.git.openDiffOnClick",group:"inline@1"},{command:"git.openChange",when:"scmProvider == git && scmResourceGroup == untracked && config.git.showInlineOpenFileAction && !config.git.openDiffOnClick",group:"inline@1"},{command:"git.ignore",when:"scmProvider == git && scmResourceGroup == untracked",group:"1_modification@3"}],"scm/history/title":[{command:"git.fetchAll",group:"navigation@900",when:"scmProvider == git"},{command:"git.pullRef",group:"navigation@901",when:"scmProvider == git"},{command:"git.pushRef",when:"scmProvider == git && scmCurrentHistoryItemRefHasRemote",group:"navigation@902"},{command:"git.publish",when:"scmProvider == git && !scmCurrentHistoryItemRefHasRemote",group:"navigation@903"}],"scm/historyItem/context":[{command:"git.graph.checkoutDetached",when:"scmProvider == git",group:"1_checkout@2"},{command:"git.branch",when:"scmProvider == git",group:"2_branch@2"},{command:"git.createTag",when:"scmProvider == git",group:"3_tag@1"},{command:"git.graph.cherryPick",when:"scmProvider == git",group:"4_modify@1"},{command:"git.graph.compareWithRemote",when:"scmProvider == git",group:"5_compare@1"},{command:"git.graph.compareWithMergeBase",when:"scmProvider == git",group:"5_compare@2"},{command:"git.graph.compareRef",when:"scmProvider == git",group:"5_compare@3"},{command:"git.copyCommitId",when:"scmProvider == git && !listMultiSelection",group:"9_copy@1"},{command:"git.copyCommitMessage",when:"scmProvider == git && !listMultiSelection",group:"9_copy@2"}],"scm/historyItemRef/context":[{command:"git.graph.checkout",when:"scmProvider == git",group:"1_checkout@1"},{command:"git.graph.deleteBranch",when:"scmProvider == git && scmHistoryItemRef =~ /^refs\\/heads\\/|^refs\\/remotes\\//",group:"2_branch@2"},{command:"git.graph.deleteTag",when:"scmProvider == git && scmHistoryItemRef =~ /^refs\\/tags\\//",group:"3_tag@2"}],"editor/title":[{command:"git.openFile",group:"navigation",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && resourceScheme =~ /^git$|^file$/"},{command:"git.openFile",group:"navigation",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInNotebookTextDiffEditor && resourceScheme =~ /^git$|^file$/"},{command:"git.openFile",group:"navigation",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && !isInDiffEditor && !isInNotebookTextDiffEditor && resourceScheme == git"},{command:"git.openChange",group:"navigation@2",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && !isInDiffEditor && !isMergeEditor && resourceScheme == file && scmActiveResourceHasChanges && !isSessionsWindow"},{command:"git.stashApplyEditor",alt:"git.stashPopEditor",group:"navigation@1",when:"config.git.enabled && !git.missing && resourceScheme == git-stash"},{command:"git.stashDropEditor",group:"navigation@2",when:"config.git.enabled && !git.missing && resourceScheme == git-stash"},{command:"git.stage",group:"2_git@1",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && !isInDiffEditor && !isMergeEditor && resourceScheme == file && git.activeResourceHasUnstagedChanges && !isSessionsWindow"},{command:"git.unstage",group:"2_git@2",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && !isInDiffEditor && !isMergeEditor && resourceScheme == file && git.activeResourceHasStagedChanges && !isSessionsWindow"},{command:"git.stage",group:"2_git@1",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file && !isSessionsWindow"},{command:"git.stageSelectedRanges",group:"2_git@2",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file && !isSessionsWindow"},{command:"git.unstage",group:"2_git@3",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == git && !isSessionsWindow"},{command:"git.unstageSelectedRanges",group:"2_git@4",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == git && !isSessionsWindow"},{command:"git.revertSelectedRanges",group:"2_git@5",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file && !isSessionsWindow"}],"editor/context":[{command:"git.stageSelectedRanges",group:"2_git@1",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file"},{command:"git.unstageSelectedRanges",group:"2_git@2",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == git"},{command:"git.revertSelectedRanges",group:"2_git@3",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file"}],"editor/content":[{command:"git.acceptMerge",when:"isMergeResultEditor && mergeEditorBaseUri =~ /^(git|file):/ && mergeEditorResultUri in git.mergeChanges"},{command:"git.openMergeEditor",group:"navigation@-10",when:"config.git.enabled && !git.missing && !isInDiffEditor && !isMergeEditor && resource in git.mergeChanges && git.activeResourceHasMergeConflicts"},{command:"git.commitMessageAccept",group:"navigation",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && editorLangId == git-commit"},{command:"git.commitMessageDiscard",group:"secondary",when:"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && editorLangId == git-commit"}],"multiDiffEditor/resource/title":[{command:"git.stageFile",group:"navigation",when:"scmProvider == git && scmResourceGroup == workingTree"},{command:"git.stageFile",group:"navigation",when:"scmProvider == git && scmResourceGroup == untracked"},{command:"git.unstageFile",group:"navigation",when:"scmProvider == git && scmResourceGroup == index"}],"diffEditor/gutter/hunk":[{command:"git.diff.stageHunk",group:"primary@10",when:"diffEditorOriginalUri =~ /^git\\:.*%22ref%22%3A%22~%22%7D$/"}],"diffEditor/gutter/selection":[{command:"git.diff.stageSelection",group:"primary@10",when:"diffEditorOriginalUri =~ /^git\\:.*%22ref%22%3A%22~%22%7D$/"}],"scm/change/title":[{command:"git.stageChange",when:"config.git.enabled && !git.missing && originalResource =~ /^git\\:.*%22ref%22%3A%22%22%7D$/"},{command:"git.revertChange",when:"config.git.enabled && !git.missing && originalResource =~ /^git\\:.*%22ref%22%3A%22%22%7D$/"},{command:"git.unstageChange",when:"false"}],"timeline/item/context":[{command:"git.timeline.viewCommit",group:"inline",when:"config.git.enabled && !git.missing && timelineItem =~ /git:file:commit\\b/ && !listMultiSelection"},{command:"git.timeline.openDiff",group:"1_actions@1",when:"config.git.enabled && !git.missing && timelineItem =~ /git:file\\b/ && !listMultiSelection"},{command:"git.timeline.viewCommit",group:"1_actions@2",when:"config.git.enabled && !git.missing && timelineItem =~ /git:file:commit\\b/ && !listMultiSelection"},{command:"git.timeline.compareWithSelected",group:"3_compare@1",when:"config.git.enabled && !git.missing && git.timeline.selectedForCompare && timelineItem =~ /git:file\\b/ && !listMultiSelection"},{command:"git.timeline.selectForCompare",group:"3_compare@2",when:"config.git.enabled && !git.missing && timelineItem =~ /git:file\\b/ && !listMultiSelection"},{command:"git.timeline.copyCommitId",group:"5_copy@1",when:"config.git.enabled && !git.missing && timelineItem =~ /git:file:commit\\b/ && !listMultiSelection"},{command:"git.timeline.copyCommitMessage",group:"5_copy@2",when:"config.git.enabled && !git.missing && timelineItem =~ /git:file:commit\\b/ && !listMultiSelection"}],"git.commit":[{command:"git.commit",group:"1_commit@1"},{command:"git.commitStaged",group:"1_commit@2"},{command:"git.commitAll",group:"1_commit@3"},{command:"git.undoCommit",group:"1_commit@4"},{command:"git.rebaseAbort",group:"1_commit@5"},{command:"git.commitNoVerify",group:"2_commit_noverify@1",when:"config.git.allowNoVerifyCommit"},{command:"git.commitStagedNoVerify",group:"2_commit_noverify@2",when:"config.git.allowNoVerifyCommit"},{command:"git.commitAllNoVerify",group:"2_commit_noverify@3",when:"config.git.allowNoVerifyCommit"},{command:"git.commitAmend",group:"3_amend@1"},{command:"git.commitStagedAmend",group:"3_amend@2"},{command:"git.commitAllAmend",group:"3_amend@3"},{command:"git.commitAmendNoVerify",group:"4_amend_noverify@1",when:"config.git.allowNoVerifyCommit"},{command:"git.commitStagedAmendNoVerify",group:"4_amend_noverify@2",when:"config.git.allowNoVerifyCommit"},{command:"git.commitAllAmendNoVerify",group:"4_amend_noverify@3",when:"config.git.allowNoVerifyCommit"},{command:"git.commitSigned",group:"5_signoff@1"},{command:"git.commitStagedSigned",group:"5_signoff@2"},{command:"git.commitAllSigned",group:"5_signoff@3"},{command:"git.commitSignedNoVerify",group:"6_signoff_noverify@1",when:"config.git.allowNoVerifyCommit"},{command:"git.commitStagedSignedNoVerify",group:"6_signoff_noverify@2",when:"config.git.allowNoVerifyCommit"},{command:"git.commitAllSignedNoVerify",group:"6_signoff_noverify@3",when:"config.git.allowNoVerifyCommit"}],"git.changes":[{command:"git.stageAll",group:"changes@1"},{command:"git.unstageAll",group:"changes@2"},{command:"git.cleanAll",group:"changes@3"}],"git.pullpush":[{command:"git.sync",group:"1_sync@1"},{command:"git.syncRebase",when:"gitState == idle",group:"1_sync@2"},{command:"git.pull",group:"2_pull@1"},{command:"git.pullRebase",group:"2_pull@2"},{command:"git.pullFrom",group:"2_pull@3"},{command:"git.push",group:"3_push@1"},{command:"git.pushForce",when:"config.git.allowForcePush",group:"3_push@2"},{command:"git.pushTo",group:"3_push@3"},{command:"git.pushToForce",when:"config.git.allowForcePush",group:"3_push@4"},{command:"git.fetch",group:"4_fetch@1"},{command:"git.fetchPrune",group:"4_fetch@2"},{command:"git.fetchAll",group:"4_fetch@3"}],"git.branch":[{command:"git.merge",group:"1_merge@1"},{command:"git.rebase",group:"1_merge@2"},{command:"git.branch",group:"2_branch@1"},{command:"git.branchFrom",group:"2_branch@2"},{command:"git.renameBranch",group:"3_modify@1"},{command:"git.deleteBranch",group:"3_modify@2"},{command:"git.deleteRemoteBranch",group:"3_modify@3"},{command:"git.publish",group:"4_publish@1"}],"git.remotes":[{command:"git.addRemote",group:"remote@1"},{command:"git.removeRemote",group:"remote@2"}],"git.stash":[{command:"git.stash",group:"1_stash@1"},{command:"git.stashIncludeUntracked",group:"1_stash@2"},{command:"git.stashStaged",when:"gitVersion2.35",group:"1_stash@3"},{command:"git.stashApplyLatest",group:"2_apply@1"},{command:"git.stashApply",group:"2_apply@2"},{command:"git.stashPopLatest",group:"3_pop@1"},{command:"git.stashPop",group:"3_pop@2"},{command:"git.stashDrop",group:"4_drop@1"},{command:"git.stashDropAll",group:"4_drop@2"},{command:"git.stashView",group:"5_preview@1"}],"git.repositories.stash":[{command:"git.stash",group:"1_stash@1"},{command:"git.stashStaged",when:"gitVersion2.35",group:"2_stash@1"},{command:"git.stashIncludeUntracked",group:"2_stash@2"}],"git.tags":[{command:"git.createTag",group:"1_tags@1"},{command:"git.deleteTag",group:"1_tags@2"},{command:"git.deleteRemoteTag",group:"1_tags@3"},{command:"git.pushTags",group:"2_tags@1"}],"git.worktrees":[{when:"scmProviderContext == worktree",command:"git.openWorktree",group:"openWorktrees@1"},{when:"scmProviderContext == worktree",command:"git.openWorktreeInNewWindow",group:"openWorktrees@2"},{when:"scmProviderContext == repository",command:"git.createWorktree",group:"worktrees@1"},{when:"scmProviderContext == worktree",command:"git.deleteWorktree2",group:"worktrees@2"}]},submenus:[{id:"git.commit",label:"%submenu.commit%"},{id:"git.changes",label:"%submenu.changes%"},{id:"git.pullpush",label:"%submenu.pullpush%"},{id:"git.branch",label:"%submenu.branch%"},{id:"git.remotes",label:"%submenu.remotes%"},{id:"git.stash",label:"%submenu.stash%"},{id:"git.tags",label:"%submenu.tags%"},{id:"git.worktrees",label:"%submenu.worktrees%"},{id:"git.repositories.stash",label:"%submenu.stash%",icon:"$(plus)"}],configuration:{title:"Git",properties:{"git.enabled":{type:"boolean",scope:"resource",description:"%config.enabled%",default:!0,agentsWindow:{default:!0,readOnly:!0}},"git.path":{type:["string","null","array"],markdownDescription:"%config.path%",default:null,scope:"machine"},"git.autoRepositoryDetection":{type:["boolean","string"],enum:[!0,!1,"subFolders","openEditors"],enumDescriptions:["%config.autoRepositoryDetection.true%","%config.autoRepositoryDetection.false%","%config.autoRepositoryDetection.subFolders%","%config.autoRepositoryDetection.openEditors%"],description:"%config.autoRepositoryDetection%",default:!0},"git.autorefresh":{type:"boolean",description:"%config.autorefresh%",default:!0,agentsWindow:{default:!0}},"git.autofetch":{type:["boolean","string"],enum:[!0,!1,"all"],scope:"resource",markdownDescription:"%config.autofetch%",default:!1,tags:["usesOnlineServices"],agentsWindow:{default:!0}},"git.autofetchPeriod":{type:"number",scope:"resource",markdownDescription:"%config.autofetchPeriod%",default:180},"git.defaultBranchName":{type:"string",markdownDescription:"%config.defaultBranchName%",default:"main",scope:"resource"},"git.branchPrefix":{type:"string",description:"%config.branchPrefix%",default:"",scope:"resource"},"git.branchProtection":{type:"array",markdownDescription:"%config.branchProtection%",items:{type:"string"},default:[],scope:"resource"},"git.branchProtectionPrompt":{type:"string",description:"%config.branchProtectionPrompt%",enum:["alwaysCommit","alwaysCommitToNewBranch","alwaysPrompt"],enumDescriptions:["%config.branchProtectionPrompt.alwaysCommit%","%config.branchProtectionPrompt.alwaysCommitToNewBranch%","%config.branchProtectionPrompt.alwaysPrompt%"],default:"alwaysPrompt",scope:"resource"},"git.branchValidationRegex":{type:"string",description:"%config.branchValidationRegex%",default:""},"git.branchWhitespaceChar":{type:"string",description:"%config.branchWhitespaceChar%",default:"-"},"git.branchRandomName.enable":{type:"boolean",description:"%config.branchRandomNameEnable%",default:!1,scope:"resource",agentsWindow:{default:!0}},"git.branchRandomName.dictionary":{type:"array",markdownDescription:"%config.branchRandomNameDictionary%",items:{type:"string",enum:["adjectives","animals","colors","numbers"],enumDescriptions:["%config.branchRandomNameDictionary.adjectives%","%config.branchRandomNameDictionary.animals%","%config.branchRandomNameDictionary.colors%","%config.branchRandomNameDictionary.numbers%"]},minItems:1,maxItems:5,default:["adjectives","animals"],scope:"resource"},"git.confirmSync":{type:"boolean",description:"%config.confirmSync%",default:!0,agentsWindow:{default:!1,readOnly:!0}},"git.confirmCommittedDelete":{type:"boolean",description:"%config.confirmCommittedDelete%",default:!0},"git.countBadge":{type:"string",enum:["all","tracked","off"],enumDescriptions:["%config.countBadge.all%","%config.countBadge.tracked%","%config.countBadge.off%"],description:"%config.countBadge%",default:"all",scope:"resource"},"git.checkoutType":{type:"array",items:{type:"string",enum:["local","tags","remote"],enumDescriptions:["%config.checkoutType.local%","%config.checkoutType.tags%","%config.checkoutType.remote%"]},uniqueItems:!0,markdownDescription:"%config.checkoutType%",default:["local","remote","tags"]},"git.ignoreLegacyWarning":{type:"boolean",description:"%config.ignoreLegacyWarning%",default:!1},"git.ignoreMissingGitWarning":{type:"boolean",description:"%config.ignoreMissingGitWarning%",default:!1},"git.ignoreWindowsGit27Warning":{type:"boolean",description:"%config.ignoreWindowsGit27Warning%",default:!1},"git.ignoreLimitWarning":{type:"boolean",description:"%config.ignoreLimitWarning%",default:!1},"git.ignoreRebaseWarning":{type:"boolean",description:"%config.ignoreRebaseWarning%",default:!1},"git.defaultCloneDirectory":{type:["string","null"],default:null,scope:"machine",description:"%config.defaultCloneDirectory%"},"git.useEditorAsCommitInput":{type:"boolean",description:"%config.useEditorAsCommitInput%",default:!0},"git.verboseCommit":{type:"boolean",scope:"resource",markdownDescription:"%config.verboseCommit%",default:!1},"git.enableSmartCommit":{type:"boolean",scope:"resource",description:"%config.enableSmartCommit%",default:!1},"git.smartCommitChanges":{type:"string",enum:["all","tracked"],enumDescriptions:["%config.smartCommitChanges.all%","%config.smartCommitChanges.tracked%"],scope:"resource",description:"%config.smartCommitChanges%",default:"all"},"git.suggestSmartCommit":{type:"boolean",scope:"resource",description:"%config.suggestSmartCommit%",default:!0},"git.enableCommitSigning":{type:"boolean",scope:"resource",description:"%config.enableCommitSigning%",default:!1},"git.confirmEmptyCommits":{type:"boolean",scope:"resource",description:"%config.confirmEmptyCommits%",default:!0},"git.decorations.enabled":{type:"boolean",default:!0,description:"%config.decorations.enabled%"},"git.enableStatusBarSync":{type:"boolean",default:!0,description:"%config.enableStatusBarSync%",scope:"resource"},"git.followTagsWhenSync":{type:"boolean",scope:"resource",default:!1,description:"%config.followTagsWhenSync%"},"git.replaceTagsWhenPull":{type:"boolean",scope:"resource",default:!1,description:"%config.replaceTagsWhenPull%"},"git.promptToSaveFilesBeforeStash":{type:"string",enum:["always","staged","never"],enumDescriptions:["%config.promptToSaveFilesBeforeStash.always%","%config.promptToSaveFilesBeforeStash.staged%","%config.promptToSaveFilesBeforeStash.never%"],scope:"resource",default:"always",description:"%config.promptToSaveFilesBeforeStash%"},"git.promptToSaveFilesBeforeCommit":{type:"string",enum:["always","staged","never"],enumDescriptions:["%config.promptToSaveFilesBeforeCommit.always%","%config.promptToSaveFilesBeforeCommit.staged%","%config.promptToSaveFilesBeforeCommit.never%"],scope:"resource",default:"always",description:"%config.promptToSaveFilesBeforeCommit%"},"git.postCommitCommand":{type:"string",enum:["none","push","sync"],enumDescriptions:["%config.postCommitCommand.none%","%config.postCommitCommand.push%","%config.postCommitCommand.sync%"],markdownDescription:"%config.postCommitCommand%",scope:"resource",default:"none",agentsWindow:{default:"none",readOnly:!0}},"git.rememberPostCommitCommand":{type:"boolean",description:"%config.rememberPostCommitCommand%",scope:"resource",default:!1,agentsWindow:{default:!1,readOnly:!0}},"git.openAfterClone":{type:"string",enum:["always","alwaysNewWindow","whenNoFolderOpen","prompt"],enumDescriptions:["%config.openAfterClone.always%","%config.openAfterClone.alwaysNewWindow%","%config.openAfterClone.whenNoFolderOpen%","%config.openAfterClone.prompt%"],default:"prompt",description:"%config.openAfterClone%"},"git.showInlineOpenFileAction":{type:"boolean",default:!0,description:"%config.showInlineOpenFileAction%"},"git.showPushSuccessNotification":{type:"boolean",description:"%config.showPushSuccessNotification%",default:!1},"git.inputValidation":{type:"boolean",default:!1,description:"%config.inputValidation%"},"git.inputValidationLength":{type:"number",default:72,description:"%config.inputValidationLength%"},"git.inputValidationSubjectLength":{type:["number","null"],default:50,markdownDescription:"%config.inputValidationSubjectLength%"},"git.detectSubmodules":{type:"boolean",scope:"resource",default:!0,description:"%config.detectSubmodules%"},"git.detectSubmodulesLimit":{type:"number",scope:"resource",default:10,description:"%config.detectSubmodulesLimit%"},"git.detectWorktrees":{type:"boolean",scope:"resource",default:!1,description:"%config.detectWorktrees%",agentsWindow:{default:!1}},"git.detectWorktreesLimit":{type:"number",scope:"resource",default:50,description:"%config.detectWorktreesLimit%"},"git.worktreeIncludeFiles":{type:"array",items:{type:"string"},default:[],markdownDescription:"%config.worktreeIncludeFiles%",scope:"resource",tags:["experimental"]},"git.alwaysShowStagedChangesResourceGroup":{type:"boolean",scope:"resource",default:!1,description:"%config.alwaysShowStagedChangesResourceGroup%"},"git.alwaysSignOff":{type:"boolean",scope:"resource",default:!1,description:"%config.alwaysSignOff%"},"git.addAICoAuthor":{type:"string",enum:["off","chatAndAgent","all"],enumDescriptions:["%config.addAICoAuthor.off%","%config.addAICoAuthor.chatAndAgent%","%config.addAICoAuthor.all%"],scope:"resource",default:"off",description:"%config.addAICoAuthor%"},"git.ignoreSubmodules":{type:"boolean",scope:"resource",default:!1,description:"%config.ignoreSubmodules%"},"git.ignoredRepositories":{type:"array",items:{type:"string"},default:[],scope:"window",description:"%config.ignoredRepositories%"},"git.scanRepositories":{type:"array",items:{type:"string"},default:[],scope:"resource",description:"%config.scanRepositories%"},"git.showProgress":{type:"boolean",description:"%config.showProgress%",default:!0,scope:"resource",agentsWindow:{default:!1,readOnly:!0}},"git.rebaseWhenSync":{type:"boolean",scope:"resource",default:!1,description:"%config.rebaseWhenSync%"},"git.pullBeforeCheckout":{type:"boolean",scope:"resource",default:!1,description:"%config.pullBeforeCheckout%"},"git.fetchOnPull":{type:"boolean",scope:"resource",default:!1,description:"%config.fetchOnPull%"},"git.pruneOnFetch":{type:"boolean",scope:"resource",default:!1,description:"%config.pruneOnFetch%"},"git.pullTags":{type:"boolean",scope:"resource",default:!0,description:"%config.pullTags%"},"git.autoStash":{type:"boolean",scope:"resource",default:!1,description:"%config.autoStash%"},"git.allowForcePush":{type:"boolean",default:!1,description:"%config.allowForcePush%"},"git.useForcePushWithLease":{type:"boolean",default:!0,description:"%config.useForcePushWithLease%"},"git.useForcePushIfIncludes":{type:"boolean",default:!0,markdownDescription:"%config.useForcePushIfIncludes%"},"git.confirmForcePush":{type:"boolean",default:!0,description:"%config.confirmForcePush%"},"git.allowNoVerifyCommit":{type:"boolean",default:!1,description:"%config.allowNoVerifyCommit%"},"git.confirmNoVerifyCommit":{type:"boolean",default:!0,description:"%config.confirmNoVerifyCommit%"},"git.closeDiffOnOperation":{type:"boolean",scope:"resource",default:!1,description:"%config.closeDiffOnOperation%"},"git.openDiffOnClick":{type:"boolean",scope:"resource",default:!0,description:"%config.openDiffOnClick%"},"git.supportCancellation":{type:"boolean",scope:"resource",default:!1,description:"%config.supportCancellation%"},"git.branchSortOrder":{type:"string",enum:["committerdate","alphabetically"],default:"committerdate",description:"%config.branchSortOrder%"},"git.untrackedChanges":{type:"string",enum:["mixed","separate","hidden"],enumDescriptions:["%config.untrackedChanges.mixed%","%config.untrackedChanges.separate%","%config.untrackedChanges.hidden%"],default:"mixed",description:"%config.untrackedChanges%",scope:"resource"},"git.requireGitUserConfig":{type:"boolean",description:"%config.requireGitUserConfig%",default:!0,scope:"resource"},"git.showCommitInput":{type:"boolean",scope:"resource",default:!0,description:"%config.showCommitInput%"},"git.terminalAuthentication":{type:"boolean",default:!0,description:"%config.terminalAuthentication%"},"git.terminalGitEditor":{type:"boolean",default:!1,description:"%config.terminalGitEditor%"},"git.useCommitInputAsStashMessage":{type:"boolean",scope:"resource",default:!1,description:"%config.useCommitInputAsStashMessage%"},"git.useIntegratedAskPass":{type:"boolean",default:!0,description:"%config.useIntegratedAskPass%"},"git.githubAuthentication":{markdownDeprecationMessage:"This setting is now deprecated, please use `#github.gitAuthentication#` instead."},"git.timeline.date":{type:"string",enum:["committed","authored"],enumDescriptions:["%config.timeline.date.committed%","%config.timeline.date.authored%"],default:"committed",description:"%config.timeline.date%",scope:"window"},"git.timeline.showAuthor":{type:"boolean",default:!0,description:"%config.timeline.showAuthor%",scope:"window"},"git.timeline.showUncommitted":{type:"boolean",default:!1,description:"%config.timeline.showUncommitted%",scope:"window"},"git.showActionButton":{type:"object",additionalProperties:!1,description:"%config.showActionButton%",properties:{commit:{type:"boolean",description:"%config.showActionButton.commit%"},publish:{type:"boolean",description:"%config.showActionButton.publish%"},sync:{type:"boolean",description:"%config.showActionButton.sync%"}},default:{commit:!0,publish:!0,sync:!0},scope:"resource"},"git.statusLimit":{type:"number",scope:"resource",default:1e4,description:"%config.statusLimit%"},"git.repositoryScanIgnoredFolders":{type:"array",items:{type:"string"},default:["node_modules"],scope:"resource",markdownDescription:"%config.repositoryScanIgnoredFolders%"},"git.repositoryScanMaxDepth":{type:"number",scope:"resource",default:1,markdownDescription:"%config.repositoryScanMaxDepth%"},"git.commandsToLog":{type:"array",items:{type:"string"},default:[],markdownDescription:"%config.commandsToLog%"},"git.mergeEditor":{type:"boolean",default:!1,markdownDescription:"%config.mergeEditor%",scope:"window"},"git.optimisticUpdate":{type:"boolean",default:!0,markdownDescription:"%config.optimisticUpdate%",scope:"resource",tags:["experimental"]},"git.openRepositoryInParentFolders":{type:"string",enum:["always","never","prompt"],enumDescriptions:["%config.openRepositoryInParentFolders.always%","%config.openRepositoryInParentFolders.never%","%config.openRepositoryInParentFolders.prompt%"],default:"prompt",markdownDescription:"%config.openRepositoryInParentFolders%",scope:"resource"},"git.similarityThreshold":{type:"number",default:50,minimum:0,maximum:100,markdownDescription:"%config.similarityThreshold%",scope:"resource"},"git.blame.editorDecoration.enabled":{type:"boolean",default:!1,markdownDescription:"%config.blameEditorDecoration.enabled%"},"git.blame.editorDecoration.template":{type:"string",default:"${subject}, ${authorName} (${authorDateAgo})",markdownDescription:"%config.blameEditorDecoration.template%"},"git.blame.editorDecoration.disableHover":{type:"boolean",default:!1,markdownDescription:"%config.blameEditorDecoration.disableHover%"},"git.blame.statusBarItem.enabled":{type:"boolean",default:!0,markdownDescription:"%config.blameStatusBarItem.enabled%"},"git.blame.statusBarItem.template":{type:"string",default:"${authorName} (${authorDateAgo})",markdownDescription:"%config.blameStatusBarItem.template%"},"git.blame.ignoreWhitespace":{type:"boolean",default:!1,markdownDescription:"%config.blameIgnoreWhitespace%"},"git.commitShortHashLength":{type:"number",default:7,minimum:7,maximum:40,markdownDescription:"%config.commitShortHashLength%",scope:"resource"},"git.diagnosticsCommitHook.enabled":{type:"boolean",default:!1,markdownDescription:"%config.diagnosticsCommitHook.enabled%",scope:"resource"},"git.diagnosticsCommitHook.sources":{type:"object",additionalProperties:{type:"string",enum:["error","warning","information","hint","none"]},default:{"*":"error"},markdownDescription:"%config.diagnosticsCommitHook.sources%",scope:"resource"},"git.discardUntrackedChangesToTrash":{type:"boolean",default:!0,markdownDescription:"%config.discardUntrackedChangesToTrash%"},"git.showReferenceDetails":{type:"boolean",default:!0,markdownDescription:"%config.showReferenceDetails%"}}},colors:[{id:"gitDecoration.addedResourceForeground",description:"%colors.added%",defaults:{light:"#587c0c",dark:"#81b88b",highContrast:"#a1e3ad",highContrastLight:"#374e06"}},{id:"gitDecoration.modifiedResourceForeground",description:"%colors.modified%",defaults:{light:"#895503",dark:"#E2C08D",highContrast:"#E2C08D",highContrastLight:"#895503"}},{id:"gitDecoration.deletedResourceForeground",description:"%colors.deleted%",defaults:{light:"#ad0707",dark:"#c74e39",highContrast:"#c74e39",highContrastLight:"#ad0707"}},{id:"gitDecoration.renamedResourceForeground",description:"%colors.renamed%",defaults:{light:"#007100",dark:"#73C991",highContrast:"#73C991",highContrastLight:"#007100"}},{id:"gitDecoration.untrackedResourceForeground",description:"%colors.untracked%",defaults:{light:"#007100",dark:"#73C991",highContrast:"#73C991",highContrastLight:"#007100"}},{id:"gitDecoration.ignoredResourceForeground",description:"%colors.ignored%",defaults:{light:"#8E8E90",dark:"#8C8C8C",highContrast:"#A7A8A9",highContrastLight:"#8e8e90"}},{id:"gitDecoration.stageModifiedResourceForeground",description:"%colors.stageModified%",defaults:{light:"#895503",dark:"#E2C08D",highContrast:"#E2C08D",highContrastLight:"#895503"}},{id:"gitDecoration.stageDeletedResourceForeground",description:"%colors.stageDeleted%",defaults:{light:"#ad0707",dark:"#c74e39",highContrast:"#c74e39",highContrastLight:"#ad0707"}},{id:"gitDecoration.conflictingResourceForeground",description:"%colors.conflict%",defaults:{light:"#ad0707",dark:"#e4676b",highContrast:"#c74e39",highContrastLight:"#ad0707"}},{id:"gitDecoration.submoduleResourceForeground",description:"%colors.submodule%",defaults:{light:"#1258a7",dark:"#8db9e2",highContrast:"#8db9e2",highContrastLight:"#1258a7"}},{id:"git.blame.editorDecorationForeground",description:"%colors.blameEditorDecoration%",defaults:{dark:"editorInlayHint.foreground",light:"editorInlayHint.foreground",highContrast:"editorInlayHint.foreground",highContrastLight:"editorInlayHint.foreground"}}],configurationDefaults:{"[git-commit]":{"editor.rulers":[50,72],"editor.wordWrap":"off","workbench.editor.restoreViewState":!1},"[git-rebase]":{"workbench.editor.restoreViewState":!1}},viewsWelcome:[{view:"scm",contents:"%view.workbench.scm.disabled%",when:"!config.git.enabled"},{view:"scm",contents:"%view.workbench.scm.missing%",when:"config.git.enabled && git.missing && remoteName != ''"},{view:"scm",contents:"%view.workbench.scm.missing.mac%",when:"config.git.enabled && git.missing && remoteName == '' && isMac"},{view:"scm",contents:"%view.workbench.scm.missing.windows%",when:"config.git.enabled && git.missing && remoteName == '' && isWindows"},{view:"scm",contents:"%view.workbench.scm.missing.linux%",when:"config.git.enabled && git.missing && remoteName == '' && isLinux"},{view:"scm",contents:"%view.workbench.scm.empty%",when:"config.git.enabled && !git.missing && workbenchState == empty && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0",enablement:"git.state == initialized",group:"2_open@1"},{view:"scm",contents:"%view.workbench.scm.emptyWorkspace%",when:"config.git.enabled && !git.missing && workbenchState == workspace && workspaceFolderCount == 0 && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0",enablement:"git.state == initialized",group:"2_open@1"},{view:"scm",contents:"%view.workbench.scm.scanFolderForRepositories%",when:"config.git.enabled && !git.missing && workbenchState == folder && workspaceFolderCount != 0 && git.state != initialized"},{view:"scm",contents:"%view.workbench.scm.scanWorkspaceForRepositories%",when:"config.git.enabled && !git.missing && workbenchState == workspace && workspaceFolderCount != 0 && git.state != initialized"},{view:"scm",contents:"%view.workbench.scm.folder%",when:"config.git.enabled && !git.missing && git.state == initialized && workbenchState == folder && scm.providerCount == 0 && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0 && remoteName != 'codespaces'",group:"5_scm@1"},{view:"scm",contents:"%view.workbench.scm.workspace%",when:"config.git.enabled && !git.missing && git.state == initialized && workbenchState == workspace && workspaceFolderCount != 0 && scm.providerCount == 0 && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0 && remoteName != 'codespaces'",group:"5_scm@1"},{view:"scm",contents:"%view.workbench.scm.repositoryInParentFolders%",when:"config.git.enabled && !git.missing && git.state == initialized && git.parentRepositoryCount == 1"},{view:"scm",contents:"%view.workbench.scm.repositoriesInParentFolders%",when:"config.git.enabled && !git.missing && git.state == initialized && git.parentRepositoryCount > 1"},{view:"scm",contents:"%view.workbench.scm.unsafeRepository%",when:"config.git.enabled && !git.missing && git.state == initialized && git.unsafeRepositoryCount == 1"},{view:"scm",contents:"%view.workbench.scm.unsafeRepositories%",when:"config.git.enabled && !git.missing && git.state == initialized && git.unsafeRepositoryCount > 1"},{view:"scm",contents:"%view.workbench.scm.closedRepository%",when:"config.git.enabled && !git.missing && git.state == initialized && git.closedRepositoryCount == 1"},{view:"scm",contents:"%view.workbench.scm.closedRepositories%",when:"config.git.enabled && !git.missing && git.state == initialized && git.closedRepositoryCount > 1"},{view:"explorer",contents:"%view.workbench.cloneRepository%",when:"config.git.enabled && git.state == initialized && scm.providerCount == 0",group:"5_scm@1"},{view:"explorer",contents:"%view.workbench.learnMore%",when:"config.git.enabled && git.state == initialized && scm.providerCount == 0",group:"5_scm@10"}]},dependencies:{"@joaomoreno/unique-names-generator":"^5.2.0","@vscode/extension-telemetry":"^0.9.8","@vscode/fs-copyfile":"2.0.0",byline:"^5.0.0","file-type":"21.3.2",picomatch:"2.3.2","vscode-uri":"^2.0.0",which:"4.0.0"},devDependencies:{"@types/byline":"4.2.31","@types/mocha":"^10.0.10","@types/node":"24.x","@types/picomatch":"2.3.0","@types/which":"3.0.0"},repository:{type:"git",url:"https://github.com/microsoft/vscode.git"},allowScripts:{"@vscode/fs-copyfile@2.0.0":!0}}});var aF={};sl(aF,{_activate:()=>yI,activate:()=>rF,deactivate:()=>ZB,getExtensionContext:()=>Tv});module.exports=cl(aF);var Oe=require("vscode");var Yr=require("fs"),Pe=tt(require("path")),Am=tt(require("os")),Us=tt(require("child_process")),MD=require("url"),LD=tt(IE()),BD=require("events");var $I="End-Of-Stream",ct=class extends Error{constructor(){super($I),this.name="EndOfStreamError"}},Ts=class extends Error{constructor(e="The operation was aborted"){super(e),this.name="AbortError"}};var Is=class{constructor(){this.endOfStream=!1,this.interrupted=!1,this.peekQueue=[]}async peek(e,t=!1){let r=await this.read(e,t);return this.peekQueue.push(e.subarray(0,r)),r}async read(e,t=!1){if(e.length===0)return 0;let r=this.readFromPeekBuffer(e);if(this.endOfStream||(r+=await this.readRemainderFromStream(e.subarray(r),t)),r===0&&!t)throw new ct;return r}readFromPeekBuffer(e){let t=e.length,r=0;for(;this.peekQueue.length>0&&t>0;){let n=this.peekQueue.pop();if(!n)throw new Error("peekData should be defined");let o=Math.min(n.length,t);e.set(n.subarray(0,o),r),r+=o,t-=o,o<n.length&&this.peekQueue.push(n.subarray(o))}return r}async readRemainderFromStream(e,t){let r=0;for(;r<e.length&&!this.endOfStream;){if(this.interrupted)throw new Ts;let n=await this.readFromStream(e.subarray(r),t);if(n===0)break;r+=n}if(!t&&r<e.length)throw new ct;return r}};var lm=class extends Is{constructor(e){super(),this.reader=e}async abort(){return this.close()}async close(){this.reader.releaseLock()}};var Qu=class extends lm{async readFromStream(e,t){if(e.length===0)return 0;let r=await this.reader.read(new Uint8Array(e.length),{min:t?void 0:e.length});return r.done&&(this.endOfStream=r.done),r.value?(e.set(r.value),r.value.length):0}};var dl=class extends Is{constructor(e){super(),this.reader=e,this.buffer=null}writeChunk(e,t){let r=Math.min(t.length,e.length);return e.set(t.subarray(0,r)),r<t.length?this.buffer=t.subarray(r):this.buffer=null,r}async readFromStream(e,t){if(e.length===0)return 0;let r=0;for(this.buffer&&(r+=this.writeChunk(e,this.buffer));r<e.length&&!this.endOfStream;){let n=await this.reader.read();if(n.done){this.endOfStream=!0;break}n.value&&(r+=this.writeChunk(e.subarray(r),n.value))}if(!t&&r===0&&this.endOfStream)throw new ct;return r}abort(){return this.interrupted=!0,this.reader.cancel()}async close(){await this.abort(),this.reader.releaseLock()}};function ky(i){try{let e=i.getReader({mode:"byob"});return e instanceof ReadableStreamDefaultReader?new dl(e):new Qu(e)}catch(e){if(e instanceof TypeError)return new dl(i.getReader());throw e}}var bn=class{constructor(e){this.numBuffer=new Uint8Array(8),this.position=0,this.onClose=e?.onClose,e?.abortSignal&&e.abortSignal.addEventListener("abort",()=>{this.abort()})}async readToken(e,t=this.position){let r=new Uint8Array(e.len);if(await this.readBuffer(r,{position:t})<e.len)throw new ct;return e.get(r,0)}async peekToken(e,t=this.position){let r=new Uint8Array(e.len);if(await this.peekBuffer(r,{position:t})<e.len)throw new ct;return e.get(r,0)}async readNumber(e){if(await this.readBuffer(this.numBuffer,{length:e.len})<e.len)throw new ct;return e.get(this.numBuffer,0)}async peekNumber(e){if(await this.peekBuffer(this.numBuffer,{length:e.len})<e.len)throw new ct;return e.get(this.numBuffer,0)}async ignore(e){if(this.fileInfo.size!==void 0){let t=this.fileInfo.size-this.position;if(e>t)return this.position+=t,t}return this.position+=e,e}async close(){await this.abort(),await this.onClose?.()}normalizeOptions(e,t){if(!this.supportsRandomAccess()&&t&&t.position!==void 0&&t.position<this.position)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");return{mayBeLess:!1,offset:0,length:e.length,position:this.position,...t}}abort(){return Promise.resolve()}};var jI=256e3,um=class extends bn{constructor(e,t){super(t),this.streamReader=e,this.fileInfo=t?.fileInfo??{}}async readBuffer(e,t){let r=this.normalizeOptions(e,t),n=r.position-this.position;if(n>0)return await this.ignore(n),this.readBuffer(e,t);if(n<0)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");if(r.length===0)return 0;let o=await this.streamReader.read(e.subarray(0,r.length),r.mayBeLess);if(this.position+=o,(!t||!t.mayBeLess)&&o<r.length)throw new ct;return o}async peekBuffer(e,t){let r=this.normalizeOptions(e,t),n=0;if(r.position){let o=r.position-this.position;if(o>0){let a=new Uint8Array(r.length+o);return n=await this.peekBuffer(a,{mayBeLess:r.mayBeLess}),e.set(a.subarray(o)),n-o}if(o<0)throw new Error("Cannot peek from a negative offset in a stream")}if(r.length>0){try{n=await this.streamReader.peek(e.subarray(0,r.length),r.mayBeLess)}catch(o){if(t?.mayBeLess&&o instanceof ct)return 0;throw o}if(!r.mayBeLess&&n<r.length)throw new ct}return n}async ignore(e){let t=Math.min(jI,e),r=new Uint8Array(t),n=0;for(;n<e;){let o=e-n,a=await this.readBuffer(r,{length:Math.min(t,o)});if(a<0)return a;n+=a}return n}abort(){return this.streamReader.abort()}async close(){return this.streamReader.close()}supportsRandomAccess(){return!1}};var dm=class extends bn{constructor(e,t){super(t),this.uint8Array=e,this.fileInfo={...t?.fileInfo??{},size:e.length}}async readBuffer(e,t){t?.position&&(this.position=t.position);let r=await this.peekBuffer(e,t);return this.position+=r,r}async peekBuffer(e,t){let r=this.normalizeOptions(e,t),n=Math.min(this.uint8Array.length-r.position,r.length);if(!r.mayBeLess&&n<r.length)throw new ct;return e.set(this.uint8Array.subarray(r.position,r.position+n)),n}close(){return super.close()}supportsRandomAccess(){return!0}setPosition(e){this.position=e}};var fm=class extends bn{constructor(e,t){super(t),this.blob=e,this.fileInfo={...t?.fileInfo??{},size:e.size,mimeType:e.type}}async readBuffer(e,t){t?.position&&(this.position=t.position);let r=await this.peekBuffer(e,t);return this.position+=r,r}async peekBuffer(e,t){let r=this.normalizeOptions(e,t),n=Math.min(this.blob.size-r.position,r.length);if(!r.mayBeLess&&n<r.length)throw new ct;let o=await this.blob.slice(r.position,r.position+n).arrayBuffer();return e.set(new Uint8Array(o)),n}close(){return super.close()}supportsRandomAccess(){return!0}setPosition(e){this.position=e}};function Ny(i,e){let t=ky(i),r=e??{},n=r.onClose;return r.onClose=async()=>{if(await t.close(),n)return n()},new um(t,r)}function AE(i,e){return new dm(i,e)}function kE(i,e){return new fm(i,e)}var NE=require("node:fs/promises"),Xu=class i extends bn{static async fromFile(e){let t=await(0,NE.open)(e,"r"),r=await t.stat();return new i(t,{fileInfo:{path:e,size:r.size}})}constructor(e,t){super(t),this.fileHandle=e,this.fileInfo=t.fileInfo}async readBuffer(e,t){let r=this.normalizeOptions(e,t);if(this.position=r.position,r.length===0)return 0;let n=await this.fileHandle.read(e,0,r.length,r.position);if(this.position+=n.bytesRead,n.bytesRead<r.length&&(!t||!t.mayBeLess))throw new ct;return n.bytesRead}async peekBuffer(e,t){let r=this.normalizeOptions(e,t),n=await this.fileHandle.read(e,0,r.length,r.position);if(!r.mayBeLess&&n.bytesRead<r.length)throw new ct;return n.bytesRead}async close(){return await this.fileHandle.close(),super.close()}setPosition(e){this.position=e}supportsRandomAccess(){return!0}};var VI=Xu.fromFile;var BE=tt(OE(),1);var ME={128:"\u20AC",130:"\u201A",131:"\u0192",132:"\u201E",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02C6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017D",145:"\u2018",146:"\u2019",147:"\u201C",148:"\u201D",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02DC",153:"\u2122",154:"\u0161",155:"\u203A",156:"\u0153",158:"\u017E",159:"\u0178"},qI={};for(let[i,e]of Object.entries(ME))qI[e]=Number.parseInt(i,10);var mm;function QI(){if(!(typeof globalThis.TextDecoder>"u"))return mm??(mm=new globalThis.TextDecoder("utf-8"))}var As=32*1024;function LE(i,e="utf-8"){switch(e.toLowerCase()){case"utf-8":case"utf8":{let t=QI();return t?t.decode(i):XI(i)}case"utf-16le":return ZI(i);case"us-ascii":case"ascii":return eA(i);case"latin1":case"iso-8859-1":return tA(i);case"windows-1252":return rA(i);default:throw new RangeError(`Encoding '${e}' not supported`)}}function XI(i){let e=[],t="",r=0;for(;r<i.length;){let n=i[r++];if(n<128)t+=String.fromCharCode(n);else if(n<224){let o=i[r++]&63;t+=String.fromCharCode((n&31)<<6|o)}else if(n<240){let o=i[r++]&63,a=i[r++]&63;t+=String.fromCharCode((n&15)<<12|o<<6|a)}else{let o=i[r++]&63,a=i[r++]&63,s=i[r++]&63,c=(n&7)<<18|o<<12|a<<6|s;c-=65536,t+=String.fromCharCode(55296+(c>>10&1023),56320+(c&1023))}t.length>=As&&(e.push(t),t="")}return t&&e.push(t),e.join("")}function ZI(i){let e=i.length&-2;if(e===0)return"";let t=[],r=As;for(let n=0;n<e;){let o=Math.min(r,e-n>>1),a=new Array(o);for(let s=0;s<o;s++,n+=2)a[s]=i[n]|i[n+1]<<8;t.push(String.fromCharCode.apply(null,a))}return t.join("")}function eA(i){let e=[];for(let t=0;t<i.length;t+=As){let r=Math.min(i.length,t+As),n=new Array(r-t);for(let o=t,a=0;o<r;o++,a++)n[a]=i[o]&127;e.push(String.fromCharCode.apply(null,n))}return e.join("")}function tA(i){let e=[];for(let t=0;t<i.length;t+=As){let r=Math.min(i.length,t+As),n=new Array(r-t);for(let o=t,a=0;o<r;o++,a++)n[a]=i[o];e.push(String.fromCharCode.apply(null,n))}return e.join("")}function rA(i){let e=[],t="";for(let r=0;r<i.length;r++){let n=i[r],o=n>=128&&n<=159?ME[n]:void 0;t+=o??String.fromCharCode(n),t.length>=As&&(e.push(t),t="")}return t&&e.push(t),e.join("")}function bi(i){return new DataView(i.buffer,i.byteOffset)}var FE={len:1,get(i,e){return bi(i).getUint8(e)},put(i,e,t){return bi(i).setUint8(e,t),e+1}},Ht={len:2,get(i,e){return bi(i).getUint16(e,!0)},put(i,e,t){return bi(i).setUint16(e,t,!0),e+2}},ks={len:2,get(i,e){return bi(i).getUint16(e)},put(i,e,t){return bi(i).setUint16(e,t),e+2}};var Nt={len:4,get(i,e){return bi(i).getUint32(e,!0)},put(i,e,t){return bi(i).setUint32(e,t,!0),e+4}},My={len:4,get(i,e){return bi(i).getUint32(e)},put(i,e,t){return bi(i).setUint32(e,t),e+4}};var GE={len:4,get(i,e){return bi(i).getInt32(e)},put(i,e,t){return bi(i).setInt32(e,t),e+4}};var HE={len:8,get(i,e){return bi(i).getBigUint64(e,!0)},put(i,e,t){return bi(i).setBigUint64(e,t,!0),e+8}};var Ci=class{constructor(e,t){this.len=e,this.encoding=t}get(e,t=0){let r=e.subarray(t,t+this.len);return LE(r,this.encoding)}};var eD=tt(qE(),1);var Os={LocalFileHeader:67324752,DataDescriptor:134695760,CentralFileHeader:33639248,EndOfCentralDirectory:101010256},Hy={get(i){return{signature:Nt.get(i,0),compressedSize:Nt.get(i,8),uncompressedSize:Nt.get(i,12)}},len:16},QE={get(i){let e=Ht.get(i,6);return{signature:Nt.get(i,0),minVersion:Ht.get(i,4),dataDescriptor:!!(e&8),compressedMethod:Ht.get(i,8),compressedSize:Nt.get(i,18),uncompressedSize:Nt.get(i,22),filenameLength:Ht.get(i,26),extraFieldLength:Ht.get(i,28),filename:null}},len:30},XE={get(i){return{signature:Nt.get(i,0),nrOfThisDisk:Ht.get(i,4),nrOfThisDiskWithTheStart:Ht.get(i,6),nrOfEntriesOnThisDisk:Ht.get(i,8),nrOfEntriesOfSize:Ht.get(i,10),sizeOfCd:Nt.get(i,12),offsetOfStartOfCd:Nt.get(i,16),zipFileCommentLength:Ht.get(i,20)}},len:22},ZE={get(i){let e=Ht.get(i,8);return{signature:Nt.get(i,0),minVersion:Ht.get(i,6),dataDescriptor:!!(e&8),compressedMethod:Ht.get(i,10),compressedSize:Nt.get(i,20),uncompressedSize:Nt.get(i,24),filenameLength:Ht.get(i,28),extraFieldLength:Ht.get(i,30),fileCommentLength:Ht.get(i,32),relativeOffsetOfLocalHeader:Nt.get(i,42),filename:null}},len:46};function tD(i){let e=new Uint8Array(Nt.len);return Nt.put(e,0,i),e}var zn=(0,eD.default)("tokenizer:inflate"),Uy=256*1024,TA=tD(Os.DataDescriptor),bm=tD(Os.EndOfCentralDirectory),Ms=class i{constructor(e){this.tokenizer=e,this.syncBuffer=new Uint8Array(Uy)}async isZip(){return await this.peekSignature()===Os.LocalFileHeader}peekSignature(){return this.tokenizer.peekToken(Nt)}async findEndOfCentralDirectoryLocator(){let e=this.tokenizer,t=Math.min(16*1024,e.fileInfo.size),r=this.syncBuffer.subarray(0,t);await this.tokenizer.readBuffer(r,{position:e.fileInfo.size-t});for(let n=r.length-4;n>=0;n--)if(r[n]===bm[0]&&r[n+1]===bm[1]&&r[n+2]===bm[2]&&r[n+3]===bm[3])return e.fileInfo.size-t+n;return-1}async readCentralDirectory(){if(!this.tokenizer.supportsRandomAccess()){zn("Cannot reading central-directory without random-read support");return}zn("Reading central-directory...");let e=this.tokenizer.position,t=await this.findEndOfCentralDirectoryLocator();if(t>0){zn("Central-directory 32-bit signature found");let r=await this.tokenizer.readToken(XE,t),n=[];this.tokenizer.setPosition(r.offsetOfStartOfCd);for(let o=0;o<r.nrOfEntriesOfSize;++o){let a=await this.tokenizer.readToken(ZE);if(a.signature!==Os.CentralFileHeader)throw new Error("Expected Central-File-Header signature");a.filename=await this.tokenizer.readToken(new Ci(a.filenameLength,"utf-8")),await this.tokenizer.ignore(a.extraFieldLength),await this.tokenizer.ignore(a.fileCommentLength),n.push(a),zn(`Add central-directory file-entry: n=${o+1}/${n.length}: filename=${n[o].filename}`)}return this.tokenizer.setPosition(e),n}this.tokenizer.setPosition(e)}async unzip(e){let t=await this.readCentralDirectory();if(t)return this.iterateOverCentralDirectory(t,e);let r=!1;do{let n=await this.readLocalFileHeader();if(!n)break;let o=e(n);r=!!o.stop;let a;if(await this.tokenizer.ignore(n.extraFieldLength),n.dataDescriptor&&n.compressedSize===0){let s=[],c=Uy;zn("Compressed-file-size unknown, scanning for next data-descriptor-signature....");let l=-1;for(;l<0&&c===Uy;){c=await this.tokenizer.peekBuffer(this.syncBuffer,{mayBeLess:!0}),l=IA(this.syncBuffer.subarray(0,c),TA);let u=l>=0?l:c;if(o.handler){let f=new Uint8Array(u);await this.tokenizer.readBuffer(f),s.push(f)}else await this.tokenizer.ignore(u)}zn(`Found data-descriptor-signature at pos=${this.tokenizer.position}`),o.handler&&await this.inflate(n,AA(s),o.handler)}else o.handler?(zn(`Reading compressed-file-data: ${n.compressedSize} bytes`),a=new Uint8Array(n.compressedSize),await this.tokenizer.readBuffer(a),await this.inflate(n,a,o.handler)):(zn(`Ignoring compressed-file-data: ${n.compressedSize} bytes`),await this.tokenizer.ignore(n.compressedSize));if(zn(`Reading data-descriptor at pos=${this.tokenizer.position}`),n.dataDescriptor&&(await this.tokenizer.readToken(Hy)).signature!==134695760)throw new Error(`Expected data-descriptor-signature at position ${this.tokenizer.position-Hy.len}`)}while(!r)}async iterateOverCentralDirectory(e,t){for(let r of e){let n=t(r);if(n.handler){this.tokenizer.setPosition(r.relativeOffsetOfLocalHeader);let o=await this.readLocalFileHeader();if(o){await this.tokenizer.ignore(o.extraFieldLength);let a=new Uint8Array(r.compressedSize);await this.tokenizer.readBuffer(a),await this.inflate(o,a,n.handler)}}if(n.stop)break}}async inflate(e,t,r){if(e.compressedMethod===0)return r(t);if(e.compressedMethod!==8)throw new Error(`Unsupported ZIP compression method: ${e.compressedMethod}`);zn(`Decompress filename=${e.filename}, compressed-size=${t.length}`);let n=await i.decompressDeflateRaw(t);return r(n)}static async decompressDeflateRaw(e){let t=new ReadableStream({start(o){o.enqueue(e),o.close()}}),r=new DecompressionStream("deflate-raw"),n=t.pipeThrough(r);try{let a=await new Response(n).arrayBuffer();return new Uint8Array(a)}catch(o){let a=o instanceof Error?`Failed to deflate ZIP entry: ${o.message}`:"Unknown decompression error in ZIP entry";throw new TypeError(a)}}async readLocalFileHeader(){let e=await this.tokenizer.peekToken(Nt);if(e===Os.LocalFileHeader){let t=await this.tokenizer.readToken(QE);return t.filename=await this.tokenizer.readToken(new Ci(t.filenameLength,"utf-8")),t}if(e===Os.CentralFileHeader)return!1;throw e===3759263696?new Error("Encrypted ZIP"):new Error("Unexpected signature")}};function IA(i,e){let t=i.length,r=e.length;if(r>t)return-1;for(let n=0;n<=t-r;n++){let o=!0;for(let a=0;a<r;a++)if(i[n+a]!==e[a]){o=!1;break}if(o)return n}return-1}function AA(i){let e=i.reduce((n,o)=>n+o.length,0),t=new Uint8Array(e),r=0;for(let n of i)t.set(n,r),r+=n.length;return t}var Zu=class{constructor(e){this.tokenizer=e}inflate(){let e=this.tokenizer;return new ReadableStream({async pull(t){let r=new Uint8Array(1024),n=await e.readBuffer(r,{mayBeLess:!0});if(n===0){t.close();return}t.enqueue(r.subarray(0,n))}}).pipeThrough(new DecompressionStream("gzip"))}};var DG={utf8:new globalThis.TextDecoder("utf8")};var RG=new globalThis.TextEncoder;var SG=Array.from({length:256},(i,e)=>e.toString(16).padStart(2,"0"));function Wy(i){let{byteLength:e}=i;if(e===6)return i.getUint16(0)*2**32+i.getUint32(2);if(e===5)return i.getUint8(0)*2**32+i.getUint32(1);if(e===4)return i.getUint32(0);if(e===3)return i.getUint8(0)*2**16+i.getUint16(1);if(e===2)return i.getUint16(0);if(e===1)return i.getUint8(0)}function rD(i,e){if(e==="utf-16le"){let t=[];for(let r=0;r<i.length;r++){let n=i.charCodeAt(r);t.push(n&255,n>>8&255)}return t}if(e==="utf-16be"){let t=[];for(let r=0;r<i.length;r++){let n=i.charCodeAt(r);t.push(n>>8&255,n&255)}return t}return[...i].map(t=>t.charCodeAt(0))}function iD(i,e=0){let t=Number.parseInt(new Ci(6).get(i,148).replace(/\0.*$/,"").trim(),8);if(Number.isNaN(t))return!1;let r=256;for(let n=e;n<e+148;n++)r+=i[n];for(let n=e+156;n<e+512;n++)r+=i[n];return t===r}var nD={get:(i,e)=>i[e+3]&127|i[e+2]<<7|i[e+1]<<14|i[e]<<21,len:4};var oD=["jpg","png","apng","gif","webp","flif","xcf","cr2","cr3","orf","arw","dng","nef","rw2","raf","tif","bmp","icns","jxr","psd","indd","zip","tar","rar","gz","bz2","7z","dmg","mp4","mid","mkv","webm","mov","avi","mpg","mp2","mp3","m4a","oga","ogg","ogv","opus","flac","wav","spx","amr","pdf","epub","elf","macho","exe","swf","rtf","wasm","woff","woff2","eot","ttf","otf","ttc","ico","flv","ps","xz","sqlite","nes","crx","xpi","cab","deb","ar","rpm","Z","lz","cfb","mxf","mts","blend","bpg","docx","pptx","xlsx","3gp","3g2","j2c","jp2","jpm","jpx","mj2","aif","qcp","odt","ods","odp","xml","mobi","heic","cur","ktx","ape","wv","dcm","ics","glb","pcap","dsf","lnk","alias","voc","ac3","m4v","m4p","m4b","f4v","f4p","f4b","f4a","mie","asf","ogm","ogx","mpc","arrow","shp","aac","mp1","it","s3m","xm","skp","avif","eps","lzh","pgp","asar","stl","chm","3mf","zst","jxl","vcf","jls","pst","dwg","parquet","class","arj","cpio","ace","avro","icc","fbx","vsdx","vtt","apk","drc","lz4","potx","xltx","dotx","xltm","ott","ots","otp","odg","otg","xlsm","docm","dotm","potm","pptm","jar","jmp","rm","sav","ppsm","ppsx","tar.gz","reg","dat"],aD=["image/jpeg","image/png","image/gif","image/webp","image/flif","image/x-xcf","image/x-canon-cr2","image/x-canon-cr3","image/tiff","image/bmp","image/vnd.ms-photo","image/vnd.adobe.photoshop","application/x-indesign","application/epub+zip","application/x-xpinstall","application/vnd.ms-powerpoint.slideshow.macroenabled.12","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.spreadsheet","application/vnd.oasis.opendocument.presentation","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.openxmlformats-officedocument.presentationml.slideshow","application/zip","application/x-tar","application/x-rar-compressed","application/gzip","application/x-bzip2","application/x-7z-compressed","application/x-apple-diskimage","application/vnd.apache.arrow.file","video/mp4","audio/midi","video/matroska","video/webm","video/quicktime","video/vnd.avi","audio/wav","audio/qcelp","audio/x-ms-asf","video/x-ms-asf","application/vnd.ms-asf","video/mpeg","video/3gpp","audio/mpeg","audio/mp4","video/ogg","audio/ogg","audio/ogg; codecs=opus","application/ogg","audio/flac","audio/ape","audio/wavpack","audio/amr","application/pdf","application/x-elf","application/x-mach-binary","application/x-msdownload","application/x-shockwave-flash","application/rtf","application/wasm","font/woff","font/woff2","application/vnd.ms-fontobject","font/ttf","font/otf","font/collection","image/x-icon","video/x-flv","application/postscript","application/eps","application/x-xz","application/x-sqlite3","application/x-nintendo-nes-rom","application/x-google-chrome-extension","application/vnd.ms-cab-compressed","application/x-deb","application/x-unix-archive","application/x-rpm","application/x-compress","application/x-lzip","application/x-cfb","application/x-mie","application/mxf","video/mp2t","application/x-blender","image/bpg","image/j2c","image/jp2","image/jpx","image/jpm","image/mj2","audio/aiff","application/xml","application/x-mobipocket-ebook","image/heif","image/heif-sequence","image/heic","image/heic-sequence","image/icns","image/ktx","application/dicom","audio/x-musepack","text/calendar","text/vcard","text/vtt","model/gltf-binary","application/vnd.tcpdump.pcap","audio/x-dsf","application/x.ms.shortcut","application/x.apple.alias","audio/x-voc","audio/vnd.dolby.dd-raw","audio/x-m4a","image/apng","image/x-olympus-orf","image/x-sony-arw","image/x-adobe-dng","image/x-nikon-nef","image/x-panasonic-rw2","image/x-fujifilm-raf","video/x-m4v","video/3gpp2","application/x-esri-shape","audio/aac","audio/x-it","audio/x-s3m","audio/x-xm","video/MP1S","video/MP2P","application/vnd.sketchup.skp","image/avif","application/x-lzh-compressed","application/pgp-encrypted","application/x-asar","model/stl","application/vnd.ms-htmlhelp","model/3mf","image/jxl","application/zstd","image/jls","application/vnd.ms-outlook","image/vnd.dwg","application/vnd.apache.parquet","application/java-vm","application/x-arj","application/x-cpio","application/x-ace-compressed","application/avro","application/vnd.iccprofile","application/x.autodesk.fbx","application/vnd.visio","application/vnd.android.package-archive","application/vnd.google.draco","application/x-lz4","application/vnd.openxmlformats-officedocument.presentationml.template","application/vnd.openxmlformats-officedocument.spreadsheetml.template","application/vnd.openxmlformats-officedocument.wordprocessingml.template","application/vnd.ms-excel.template.macroenabled.12","application/vnd.oasis.opendocument.text-template","application/vnd.oasis.opendocument.spreadsheet-template","application/vnd.oasis.opendocument.presentation-template","application/vnd.oasis.opendocument.graphics","application/vnd.oasis.opendocument.graphics-template","application/vnd.ms-excel.sheet.macroenabled.12","application/vnd.ms-word.document.macroenabled.12","application/vnd.ms-word.template.macroenabled.12","application/vnd.ms-powerpoint.template.macroenabled.12","application/vnd.ms-powerpoint.presentation.macroenabled.12","application/java-archive","application/vnd.rn-realmedia","application/x-spss-sav","application/x-ms-regedit","application/x-ft-windows-registry-hive","application/x-jmp-data"];var ed=4100,kA=ed-2,td=1024*1024,sD=1024,NA=2**31-1,Sa=16*1024*1024,cD=td,OA=Sa,MA=1,lD=Sa,uD=64,dD=Sa,LA=256,BA=512,FA=512,GA=512,fD=256,Yy=Sa,mD=Sa,HA=new Set(["Unexpected signature","Encrypted ZIP","Expected Central-File-Header signature"]),UA=["ZIP entry count exceeds ","Unsupported ZIP compression method:","ZIP entry compressed data exceeds ","ZIP entry decompressed data exceeds "],WA=new Set(["Z_BUF_ERROR","Z_DATA_ERROR","ERR_INVALID_STATE"]),Bs=class extends Error{};function jy(i,e,t){if(!Number.isFinite(i)||i<0||i>e)throw new Bs(`${t} has invalid size ${i} (maximum ${e} bytes)`);return i}async function Ls(i,e,{maximumLength:t=Sa,reason:r="skip"}={}){let n=jy(e,t,r);await i.ignore(n)}async function $y(i,e,t,{maximumLength:r=e.length,reason:n="read"}={}){let o=t?.length??e.length,a=jy(o,r,n);return i.readBuffer(e,{...t,length:a})}async function YA(i,{maximumLength:e=td}={}){let n=new ReadableStream({start(l){l.enqueue(i),l.close()}}).pipeThrough(new DecompressionStream("deflate-raw")).getReader(),o=[],a=0;try{for(;;){let{done:l,value:u}=await n.read();if(l)break;if(a+=u.length,a>e)throw await n.cancel(),new Error(`ZIP entry decompressed data exceeds ${e} bytes`);o.push(u)}}finally{n.releaseLock()}let s=new Uint8Array(a),c=0;for(let l of o)s.set(l,c),c+=l.length;return s}var vD=134695760,Cm=16,$A=Cm-1;function KA(i,e){if(i.length<Cm)return-1;let t=i.length-Cm;for(let r=0;r<=t;r++)if(Nt.get(i,r)===vD&&Nt.get(i,r+8)===e+r)return r;return-1}function jA(i,e){let t=new Uint8Array(e),r=0;for(let n of i)t.set(n,r),r+=n.length;return t}async function zA(i,{shouldBuffer:e,maximumLength:t=td}={}){let{syncBuffer:r}=i,{length:n}=r,o=[],a=0;for(;;){let s=await i.tokenizer.peekBuffer(r,{mayBeLess:!0}),c=KA(r.subarray(0,s),a),l=c>=0?0:s===n?Math.min($A,s-1):0,u=c>=0?c:s-l;if(u===0)break;if(a+=u,a>t)throw new Error(`ZIP entry compressed data exceeds ${t} bytes`);if(e){let f=new Uint8Array(u);await i.tokenizer.readBuffer(f),o.push(f)}else await i.tokenizer.ignore(u);if(c>=0)break}if(e)return jA(o,a)}async function VA(i,e,{shouldBuffer:t}={}){if(e.dataDescriptor&&e.compressedSize===0)return zA(i,{shouldBuffer:t});if(!t){await i.tokenizer.ignore(e.compressedSize);return}let r=ZA(i.tokenizer);if(!Number.isFinite(e.compressedSize)||e.compressedSize<0||e.compressedSize>r)throw new Error(`ZIP entry compressed data exceeds ${r} bytes`);let n=new Uint8Array(e.compressedSize);return await i.tokenizer.readBuffer(n),n}Ms.prototype.inflate=async function(i,e,t){if(i.compressedMethod===0)return t(e);if(i.compressedMethod!==8)throw new Error(`Unsupported ZIP compression method: ${i.compressedMethod}`);let r=await YA(e,{maximumLength:td});return t(r)};Ms.prototype.unzip=async function(i){let e=!1,t=0;do{let r=await this.readLocalFileHeader();if(!r)break;if(t++,t>sD)throw new Error(`ZIP entry count exceeds ${sD}`);let n=i(r);e=!!n.stop,await this.tokenizer.ignore(r.extraFieldLength);let o=await VA(this,r,{shouldBuffer:!!n.handler});if(n.handler&&await this.inflate(r,o,n.handler),r.dataDescriptor){let a=new Uint8Array(Cm);if(await this.tokenizer.readBuffer(a),Nt.get(a,0)!==vD)throw new Error(`Expected data-descriptor-signature at position ${this.tokenizer.position-a.length}`)}}while(!e)};function JA(i,e){let t=i.getReader(),r=0,n=!1,o=!1,a=async s=>{n||o||(o=!0,await t.cancel(s))};return new ReadableStream({async pull(s){if(r>=e){s.close(),await a();return}let{done:c,value:l}=await t.read();if(c||!l){n=!0,s.close();return}let u=e-r;if(l.length>u){s.enqueue(l.subarray(0,u)),r+=u,s.close(),await a();return}s.enqueue(l),r+=l.length},async cancel(s){await a(s)}})}async function zy(i,e){return new Ky(e).fromBuffer(i)}function pD(i){switch(i=i.toLowerCase(),i){case"application/epub+zip":return{ext:"epub",mime:i};case"application/vnd.oasis.opendocument.text":return{ext:"odt",mime:i};case"application/vnd.oasis.opendocument.text-template":return{ext:"ott",mime:i};case"application/vnd.oasis.opendocument.spreadsheet":return{ext:"ods",mime:i};case"application/vnd.oasis.opendocument.spreadsheet-template":return{ext:"ots",mime:i};case"application/vnd.oasis.opendocument.presentation":return{ext:"odp",mime:i};case"application/vnd.oasis.opendocument.presentation-template":return{ext:"otp",mime:i};case"application/vnd.oasis.opendocument.graphics":return{ext:"odg",mime:i};case"application/vnd.oasis.opendocument.graphics-template":return{ext:"otg",mime:i};case"application/vnd.openxmlformats-officedocument.presentationml.slideshow":return{ext:"ppsx",mime:i};case"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":return{ext:"xlsx",mime:i};case"application/vnd.ms-excel.sheet.macroenabled":return{ext:"xlsm",mime:"application/vnd.ms-excel.sheet.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.spreadsheetml.template":return{ext:"xltx",mime:i};case"application/vnd.ms-excel.template.macroenabled":return{ext:"xltm",mime:"application/vnd.ms-excel.template.macroenabled.12"};case"application/vnd.ms-powerpoint.slideshow.macroenabled":return{ext:"ppsm",mime:"application/vnd.ms-powerpoint.slideshow.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.wordprocessingml.document":return{ext:"docx",mime:i};case"application/vnd.ms-word.document.macroenabled":return{ext:"docm",mime:"application/vnd.ms-word.document.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.wordprocessingml.template":return{ext:"dotx",mime:i};case"application/vnd.ms-word.template.macroenabledtemplate":return{ext:"dotm",mime:"application/vnd.ms-word.template.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.presentationml.template":return{ext:"potx",mime:i};case"application/vnd.ms-powerpoint.template.macroenabled":return{ext:"potm",mime:"application/vnd.ms-powerpoint.template.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.presentationml.presentation":return{ext:"pptx",mime:i};case"application/vnd.ms-powerpoint.presentation.macroenabled":return{ext:"pptm",mime:"application/vnd.ms-powerpoint.presentation.macroenabled.12"};case"application/vnd.ms-visio.drawing":return{ext:"vsdx",mime:"application/vnd.visio"};case"application/vnd.ms-package.3dmanufacturing-3dmodel+xml":return{ext:"3mf",mime:"model/3mf"};default:}}function Vn(i,e,t){t={offset:0,...t};for(let[r,n]of e.entries())if(t.mask){if(n!==(t.mask[r]&i[r+t.offset]))return!1}else if(n!==i[r+t.offset])return!1;return!0}function qA(i){return Number.isFinite(i)?Math.max(1,Math.trunc(i)):ed}function QA(i){return Number.isFinite(i)?Math.max(0,Math.min(kA,Math.trunc(i))):0}function XA(i){return Number.isFinite(i)?Math.max(0,i):Number.MAX_SAFE_INTEGER}function Bo(i){let e=i.fileInfo.size;return!Number.isFinite(e)||e===Number.MAX_SAFE_INTEGER}function hD(i,e,t){return Bo(i)&&i.position-e>t}function ZA(i){let e=i.fileInfo.size,t=Number.isFinite(e)?Math.max(0,e-i.position):Number.MAX_SAFE_INTEGER;return Math.min(t,NA)}function ek(i){if(i instanceof ct||i instanceof Bs)return!0;if(!(i instanceof Error))return!1;if(HA.has(i.message)||WA.has(i.code))return!0;for(let e of UA)if(i.message.startsWith(e))return!0;return!1}function gD(i,e=td){let t=[i.compressedSize,i.uncompressedSize];for(let r of t)if(!Number.isFinite(r)||r<0||r>e)return!1;return!0}function tk(){return{hasContentTypesEntry:!1,hasParsedContentTypesEntry:!1,isParsingContentTypes:!1,hasUnparseableContentTypes:!1,hasWordDirectory:!1,hasPresentationDirectory:!1,hasSpreadsheetDirectory:!1,hasThreeDimensionalModelEntry:!1}}function rk(i,e){e.startsWith("word/")&&(i.hasWordDirectory=!0),e.startsWith("ppt/")&&(i.hasPresentationDirectory=!0),e.startsWith("xl/")&&(i.hasSpreadsheetDirectory=!0),e.startsWith("3D/")&&e.endsWith(".model")&&(i.hasThreeDimensionalModelEntry=!0)}function yD(i){if(!(!i.hasContentTypesEntry||i.hasUnparseableContentTypes||i.isParsingContentTypes||i.hasParsedContentTypesEntry)){if(i.hasWordDirectory)return{ext:"docx",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"};if(i.hasPresentationDirectory)return{ext:"pptx",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"};if(i.hasSpreadsheetDirectory)return{ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"};if(i.hasThreeDimensionalModelEntry)return{ext:"3mf",mime:"model/3mf"}}}function ik(i){let e=i.indexOf('.main+xml"');if(e===-1){let n="application/vnd.ms-package.3dmanufacturing-3dmodel+xml";return i.includes(`ContentType="${n}"`)?n:void 0}let t=i.slice(0,e),r=t.lastIndexOf('"');return t.slice(r+1)}var Ky=class{constructor(e){let t=QA(e?.mpegOffsetTolerance);this.options={...e,mpegOffsetTolerance:t},this.detectors=[...this.options.customDetectors??[],{id:"core",detect:this.detectConfident},{id:"core.imprecise",detect:this.detectImprecise}],this.tokenizerOptions={abortSignal:this.options.signal},this.gzipProbeDepth=0}getTokenizerOptions(){return{...this.tokenizerOptions}}async fromTokenizer(e,t=0){this.detectionReentryCount=t;let r=e.position;for(let n of this.detectors){let o;try{o=await n.detect(e)}catch(a){if(a instanceof ct||a instanceof Bs)return;throw a}if(o)return o;if(r!==e.position)return}}async fromBuffer(e){if(!(e instanceof Uint8Array||e instanceof ArrayBuffer))throw new TypeError(`Expected the \`input\` argument to be of type \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof e}\``);let t=e instanceof Uint8Array?e:new Uint8Array(e);if(t?.length>1)return this.fromTokenizer(AE(t,this.getTokenizerOptions()))}async fromBlob(e){let t=kE(e,this.getTokenizerOptions());try{return await this.fromTokenizer(t)}finally{await t.close()}}async fromStream(e){let t=Ny(e,this.getTokenizerOptions());try{return await this.fromTokenizer(t)}finally{await t.close()}}async toDetectionStream(e,t){let r=qA(t?.sampleSize??ed),n,o,a=e.getReader({mode:"byob"});try{let{value:l,done:u}=await a.read(new Uint8Array(r));if(o=l,!u&&l)try{n=await this.fromBuffer(l.subarray(0,r))}catch(f){if(!(f instanceof ct))throw f;n=void 0}o=l}finally{a.releaseLock()}let s=new TransformStream({async start(l){l.enqueue(o)},transform(l,u){u.enqueue(l)}}),c=e.pipeThrough(s);return c.fileType=n,c}check(e,t){return Vn(this.buffer,e,t)}checkString(e,t){return this.check(rD(e,t?.encoding),t)}detectConfident=async e=>{if(this.buffer=new Uint8Array(ed),e.fileInfo.size===void 0&&(e.fileInfo.size=Number.MAX_SAFE_INTEGER),this.tokenizer=e,await e.peekBuffer(this.buffer,{length:32,mayBeLess:!0}),this.check([66,77]))return{ext:"bmp",mime:"image/bmp"};if(this.check([11,119]))return{ext:"ac3",mime:"audio/vnd.dolby.dd-raw"};if(this.check([120,1]))return{ext:"dmg",mime:"application/x-apple-diskimage"};if(this.check([77,90]))return{ext:"exe",mime:"application/x-msdownload"};if(this.check([37,33]))return await e.peekBuffer(this.buffer,{length:24,mayBeLess:!0}),this.checkString("PS-Adobe-",{offset:2})&&this.checkString(" EPSF-",{offset:14})?{ext:"eps",mime:"application/eps"}:{ext:"ps",mime:"application/postscript"};if(this.check([31,160])||this.check([31,157]))return{ext:"Z",mime:"application/x-compress"};if(this.check([199,113]))return{ext:"cpio",mime:"application/x-cpio"};if(this.check([96,234]))return{ext:"arj",mime:"application/x-arj"};if(this.check([239,187,191]))return this.detectionReentryCount>=fD?void 0:(this.detectionReentryCount++,await this.tokenizer.ignore(3),this.detectConfident(e));if(this.check([71,73,70]))return{ext:"gif",mime:"image/gif"};if(this.check([73,73,188]))return{ext:"jxr",mime:"image/vnd.ms-photo"};if(this.check([31,139,8])){if(this.gzipProbeDepth>=MA)return{ext:"gz",mime:"application/gzip"};let t=new Zu(e),r=JA(t.inflate(),OA),n;try{this.gzipProbeDepth++,n=await this.fromStream(r)}catch(o){if(o?.name==="AbortError")throw o}finally{this.gzipProbeDepth--}return n?.ext==="tar"?{ext:"tar.gz",mime:"application/gzip"}:{ext:"gz",mime:"application/gzip"}}if(this.check([66,90,104]))return{ext:"bz2",mime:"application/x-bzip2"};if(this.checkString("ID3")){await Ls(e,6,{maximumLength:6,reason:"ID3 header prefix"});let t=await e.readToken(nD),r=Bo(e);if(!Number.isFinite(t)||t<0||r&&t>lD)return;if(e.position+t>e.fileInfo.size)return r?void 0:{ext:"mp3",mime:"audio/mpeg"};try{await Ls(e,t,{maximumLength:r?lD:e.fileInfo.size,reason:"ID3 payload"})}catch(n){if(n instanceof ct)return;throw n}return this.detectionReentryCount>=fD?void 0:(this.detectionReentryCount++,this.fromTokenizer(e,this.detectionReentryCount))}if(this.checkString("MP+"))return{ext:"mpc",mime:"audio/x-musepack"};if((this.buffer[0]===67||this.buffer[0]===70)&&this.check([87,83],{offset:1}))return{ext:"swf",mime:"application/x-shockwave-flash"};if(this.check([255,216,255]))return this.check([247],{offset:3})?{ext:"jls",mime:"image/jls"}:{ext:"jpg",mime:"image/jpeg"};if(this.check([79,98,106,1]))return{ext:"avro",mime:"application/avro"};if(this.checkString("FLIF"))return{ext:"flif",mime:"image/flif"};if(this.checkString("8BPS"))return{ext:"psd",mime:"image/vnd.adobe.photoshop"};if(this.checkString("MPCK"))return{ext:"mpc",mime:"audio/x-musepack"};if(this.checkString("FORM"))return{ext:"aif",mime:"audio/aiff"};if(this.checkString("icns",{offset:0}))return{ext:"icns",mime:"image/icns"};if(this.check([80,75,3,4])){let t,r=tk();try{await new Ms(e).unzip(n=>{rk(r,n.filename);let o=n.filename==="[Content_Types].xml",a=yD(r);if(!o&&a)return t=a,{stop:!0};switch(n.filename){case"META-INF/mozilla.rsa":return t={ext:"xpi",mime:"application/x-xpinstall"},{stop:!0};case"META-INF/MANIFEST.MF":return t={ext:"jar",mime:"application/java-archive"},{stop:!0};case"mimetype":return gD(n,cD)?{async handler(s){let c=new TextDecoder("utf-8").decode(s).trim();t=pD(c)},stop:!0}:{};case"[Content_Types].xml":return r.hasContentTypesEntry=!0,gD(n,cD)?(r.isParsingContentTypes=!0,{async handler(s){let c=new TextDecoder("utf-8").decode(s),l=ik(c);l&&(t=pD(l)),r.hasParsedContentTypesEntry=!0,r.isParsingContentTypes=!1},stop:!0}):(r.hasUnparseableContentTypes=!0,{});default:return/classes\d*\.dex/.test(n.filename)?(t={ext:"apk",mime:"application/vnd.android.package-archive"},{stop:!0}):{}}})}catch(n){if(!ek(n))throw n;r.isParsingContentTypes&&(r.isParsingContentTypes=!1,r.hasUnparseableContentTypes=!0)}return t??yD(r)??{ext:"zip",mime:"application/zip"}}if(this.checkString("OggS")){await e.ignore(28);let t=new Uint8Array(8);return await e.readBuffer(t),Vn(t,[79,112,117,115,72,101,97,100])?{ext:"opus",mime:"audio/ogg; codecs=opus"}:Vn(t,[128,116,104,101,111,114,97])?{ext:"ogv",mime:"video/ogg"}:Vn(t,[1,118,105,100,101,111,0])?{ext:"ogm",mime:"video/ogg"}:Vn(t,[127,70,76,65,67])?{ext:"oga",mime:"audio/ogg"}:Vn(t,[83,112,101,101,120,32,32])?{ext:"spx",mime:"audio/ogg"}:Vn(t,[1,118,111,114,98,105,115])?{ext:"ogg",mime:"audio/ogg"}:{ext:"ogx",mime:"application/ogg"}}if(this.check([80,75])&&(this.buffer[2]===3||this.buffer[2]===5||this.buffer[2]===7)&&(this.buffer[3]===4||this.buffer[3]===6||this.buffer[3]===8))return{ext:"zip",mime:"application/zip"};if(this.checkString("MThd"))return{ext:"mid",mime:"audio/midi"};if(this.checkString("wOFF")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4})))return{ext:"woff",mime:"font/woff"};if(this.checkString("wOF2")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4})))return{ext:"woff2",mime:"font/woff2"};if(this.check([212,195,178,161])||this.check([161,178,195,212]))return{ext:"pcap",mime:"application/vnd.tcpdump.pcap"};if(this.checkString("DSD "))return{ext:"dsf",mime:"audio/x-dsf"};if(this.checkString("LZIP"))return{ext:"lz",mime:"application/x-lzip"};if(this.checkString("fLaC"))return{ext:"flac",mime:"audio/flac"};if(this.check([66,80,71,251]))return{ext:"bpg",mime:"image/bpg"};if(this.checkString("wvpk"))return{ext:"wv",mime:"audio/wavpack"};if(this.checkString("%PDF"))return{ext:"pdf",mime:"application/pdf"};if(this.check([0,97,115,109]))return{ext:"wasm",mime:"application/wasm"};if(this.check([73,73])){let t=await this.readTiffHeader(!1);if(t)return t}if(this.check([77,77])){let t=await this.readTiffHeader(!0);if(t)return t}if(this.checkString("MAC "))return{ext:"ape",mime:"audio/ape"};if(this.check([26,69,223,163])){async function t(){let s=await e.peekNumber(FE),c=128,l=0;for(;(s&c)===0&&c!==0;)++l,c>>=1;let u=new Uint8Array(l+1);return await $y(e,u,void 0,{maximumLength:u.length,reason:"EBML field"}),u}async function r(){let s=await t(),c=await t();c[0]^=128>>c.length-1;let l=Math.min(6,c.length),u=new DataView(s.buffer),f=new DataView(c.buffer,c.length-l,l);return{id:Wy(u),len:Wy(f)}}async function n(s){let c=0;for(;s>0;){if(c++,c>LA)return;let l=e.position,u=await r();if(u.id===17026){if(u.len>uD)return;let f=jy(u.len,uD,"EBML DocType");return(await e.readToken(new Ci(f))).replaceAll(/\00.*$/g,"")}if(Bo(e)&&(!Number.isFinite(u.len)||u.len<0||u.len>dD)||(await Ls(e,u.len,{maximumLength:Bo(e)?dD:e.fileInfo.size,reason:"EBML payload"}),--s,e.position<=l))return}}let o=await r();switch(await n(o.len)){case"webm":return{ext:"webm",mime:"video/webm"};case"matroska":return{ext:"mkv",mime:"video/matroska"};default:return}}if(this.checkString("SQLi"))return{ext:"sqlite",mime:"application/x-sqlite3"};if(this.check([78,69,83,26]))return{ext:"nes",mime:"application/x-nintendo-nes-rom"};if(this.checkString("Cr24"))return{ext:"crx",mime:"application/x-google-chrome-extension"};if(this.checkString("MSCF")||this.checkString("ISc("))return{ext:"cab",mime:"application/vnd.ms-cab-compressed"};if(this.check([237,171,238,219]))return{ext:"rpm",mime:"application/x-rpm"};if(this.check([197,208,211,198]))return{ext:"eps",mime:"application/eps"};if(this.check([40,181,47,253]))return{ext:"zst",mime:"application/zstd"};if(this.check([127,69,76,70]))return{ext:"elf",mime:"application/x-elf"};if(this.check([33,66,68,78]))return{ext:"pst",mime:"application/vnd.ms-outlook"};if(this.checkString("PAR1")||this.checkString("PARE"))return{ext:"parquet",mime:"application/vnd.apache.parquet"};if(this.checkString("ttcf"))return{ext:"ttc",mime:"font/collection"};if(this.check([254,237,250,206])||this.check([254,237,250,207])||this.check([206,250,237,254])||this.check([207,250,237,254]))return{ext:"macho",mime:"application/x-mach-binary"};if(this.check([4,34,77,24]))return{ext:"lz4",mime:"application/x-lz4"};if(this.checkString("regf"))return{ext:"dat",mime:"application/x-ft-windows-registry-hive"};if(this.checkString("$FL2")||this.checkString("$FL3"))return{ext:"sav",mime:"application/x-spss-sav"};if(this.check([79,84,84,79,0]))return{ext:"otf",mime:"font/otf"};if(this.checkString("#!AMR"))return{ext:"amr",mime:"audio/amr"};if(this.checkString("{\\rtf"))return{ext:"rtf",mime:"application/rtf"};if(this.check([70,76,86,1]))return{ext:"flv",mime:"video/x-flv"};if(this.checkString("IMPM"))return{ext:"it",mime:"audio/x-it"};if(this.checkString("-lh0-",{offset:2})||this.checkString("-lh1-",{offset:2})||this.checkString("-lh2-",{offset:2})||this.checkString("-lh3-",{offset:2})||this.checkString("-lh4-",{offset:2})||this.checkString("-lh5-",{offset:2})||this.checkString("-lh6-",{offset:2})||this.checkString("-lh7-",{offset:2})||this.checkString("-lzs-",{offset:2})||this.checkString("-lz4-",{offset:2})||this.checkString("-lz5-",{offset:2})||this.checkString("-lhd-",{offset:2}))return{ext:"lzh",mime:"application/x-lzh-compressed"};if(this.check([0,0,1,186])){if(this.check([33],{offset:4,mask:[241]}))return{ext:"mpg",mime:"video/MP1S"};if(this.check([68],{offset:4,mask:[196]}))return{ext:"mpg",mime:"video/MP2P"}}if(this.checkString("ITSF"))return{ext:"chm",mime:"application/vnd.ms-htmlhelp"};if(this.check([202,254,186,190])){let t=My.get(this.buffer,4),r=ks.get(this.buffer,6);if(t>0&&t<=30)return{ext:"macho",mime:"application/x-mach-binary"};if(r>30)return{ext:"class",mime:"application/java-vm"}}if(this.checkString(".RMF"))return{ext:"rm",mime:"application/vnd.rn-realmedia"};if(this.checkString("DRACO"))return{ext:"drc",mime:"application/vnd.google.draco"};if(this.check([253,55,122,88,90,0]))return{ext:"xz",mime:"application/x-xz"};if(this.checkString("<?xml "))return{ext:"xml",mime:"application/xml"};if(this.check([55,122,188,175,39,28]))return{ext:"7z",mime:"application/x-7z-compressed"};if(this.check([82,97,114,33,26,7])&&(this.buffer[6]===0||this.buffer[6]===1))return{ext:"rar",mime:"application/x-rar-compressed"};if(this.checkString("solid "))return{ext:"stl",mime:"model/stl"};if(this.checkString("AC")){let t=new Ci(4,"latin1").get(this.buffer,2);if(t.match("^d*")&&t>=1e3&&t<=1050)return{ext:"dwg",mime:"image/vnd.dwg"}}if(this.checkString("070707"))return{ext:"cpio",mime:"application/x-cpio"};if(this.checkString("BLENDER"))return{ext:"blend",mime:"application/x-blender"};if(this.checkString("!<arch>"))return await e.ignore(8),await e.readToken(new Ci(13,"ascii"))==="debian-binary"?{ext:"deb",mime:"application/x-deb"}:{ext:"ar",mime:"application/x-unix-archive"};if(this.checkString("WEBVTT")&&[`
`,"\r"," "," ","\0"].some(t=>this.checkString(t,{offset:6})))return{ext:"vtt",mime:"text/vtt"};if(this.check([137,80,78,71,13,10,26,10])){let t={ext:"png",mime:"image/png"},r={ext:"apng",mime:"image/apng"};await e.ignore(8);async function n(){return{length:await e.readToken(GE),type:await e.readToken(new Ci(4,"latin1"))}}let o=Bo(e),a=e.position,s=0;do{if(s++,s>BA||hD(e,a,Yy))break;let c=e.position,l=await n();if(l.length<0)return;switch(l.type){case"IDAT":return t;case"acTL":return r;default:if(o&&l.length>Yy)return;try{await Ls(e,l.length+4,{maximumLength:o?Yy+4:e.fileInfo.size,reason:"PNG chunk payload"})}catch(u){if(!o&&(u instanceof Bs||u instanceof ct))return t;throw u}}if(e.position<=c)break}while(e.position+8<e.fileInfo.size);return t}if(this.check([65,82,82,79,87,49,0,0]))return{ext:"arrow",mime:"application/vnd.apache.arrow.file"};if(this.check([103,108,84,70,2,0,0,0]))return{ext:"glb",mime:"model/gltf-binary"};if(this.check([102,114,101,101],{offset:4})||this.check([109,100,97,116],{offset:4})||this.check([109,111,111,118],{offset:4})||this.check([119,105,100,101],{offset:4}))return{ext:"mov",mime:"video/quicktime"};if(this.check([73,73,82,79,8,0,0,0,24]))return{ext:"orf",mime:"image/x-olympus-orf"};if(this.checkString("gimp xcf "))return{ext:"xcf",mime:"image/x-xcf"};if(this.checkString("ftyp",{offset:4})&&(this.buffer[8]&96)!==0){let t=new Ci(4,"latin1").get(this.buffer,8).replace("\0"," ").trim();switch(t){case"avif":case"avis":return{ext:"avif",mime:"image/avif"};case"mif1":return{ext:"heic",mime:"image/heif"};case"msf1":return{ext:"heic",mime:"image/heif-sequence"};case"heic":case"heix":return{ext:"heic",mime:"image/heic"};case"hevc":case"hevx":return{ext:"heic",mime:"image/heic-sequence"};case"qt":return{ext:"mov",mime:"video/quicktime"};case"M4V":case"M4VH":case"M4VP":return{ext:"m4v",mime:"video/x-m4v"};case"M4P":return{ext:"m4p",mime:"video/mp4"};case"M4B":return{ext:"m4b",mime:"audio/mp4"};case"M4A":return{ext:"m4a",mime:"audio/x-m4a"};case"F4V":return{ext:"f4v",mime:"video/mp4"};case"F4P":return{ext:"f4p",mime:"video/mp4"};case"F4A":return{ext:"f4a",mime:"audio/mp4"};case"F4B":return{ext:"f4b",mime:"audio/mp4"};case"crx":return{ext:"cr3",mime:"image/x-canon-cr3"};default:return t.startsWith("3g")?t.startsWith("3g2")?{ext:"3g2",mime:"video/3gpp2"}:{ext:"3gp",mime:"video/3gpp"}:{ext:"mp4",mime:"video/mp4"}}}if(this.checkString(`REGEDIT4\r
`))return{ext:"reg",mime:"application/x-ms-regedit"};if(this.check([82,73,70,70])){if(this.checkString("WEBP",{offset:8}))return{ext:"webp",mime:"image/webp"};if(this.check([65,86,73],{offset:8}))return{ext:"avi",mime:"video/vnd.avi"};if(this.check([87,65,86,69],{offset:8}))return{ext:"wav",mime:"audio/wav"};if(this.check([81,76,67,77],{offset:8}))return{ext:"qcp",mime:"audio/qcelp"}}if(this.check([73,73,85,0,24,0,0,0,136,231,116,216]))return{ext:"rw2",mime:"image/x-panasonic-rw2"};if(this.check([48,38,178,117,142,102,207,17,166,217])){let t=!1;try{async function r(){let s=new Uint8Array(16);return await $y(e,s,void 0,{maximumLength:s.length,reason:"ASF header GUID"}),{id:s,size:Number(await e.readToken(HE))}}await Ls(e,30,{maximumLength:30,reason:"ASF header prelude"});let n=Bo(e),o=e.position,a=0;for(;e.position+24<e.fileInfo.size&&(a++,!(a>FA||hD(e,o,Sa)));){let s=e.position,c=await r(),l=c.size-24;if(!Number.isFinite(l)||l<0){t=!0;break}if(Vn(c.id,[145,7,220,183,183,169,207,17,142,230,0,192,12,32,83,101])){let u=new Uint8Array(16);if(l-=await $y(e,u,void 0,{maximumLength:u.length,reason:"ASF stream type GUID"}),Vn(u,[64,158,105,248,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"audio/x-ms-asf"};if(Vn(u,[192,239,25,188,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"video/x-ms-asf"};break}if(await Ls(e,l,{maximumLength:n?Sa:e.fileInfo.size,reason:"ASF header payload"}),e.position<=s){t=!0;break}}}catch(r){if(r instanceof ct||r instanceof Bs)Bo(e)&&(t=!0);else throw r}return t?void 0:{ext:"asf",mime:"application/vnd.ms-asf"}}if(this.check([171,75,84,88,32,49,49,187,13,10,26,10]))return{ext:"ktx",mime:"image/ktx"};if((this.check([126,16,4])||this.check([126,24,4]))&&this.check([48,77,73,69],{offset:4}))return{ext:"mie",mime:"application/x-mie"};if(this.check([39,10,0,0,0,0,0,0,0,0,0,0],{offset:2}))return{ext:"shp",mime:"application/x-esri-shape"};if(this.check([255,79,255,81]))return{ext:"j2c",mime:"image/j2c"};if(this.check([0,0,0,12,106,80,32,32,13,10,135,10]))switch(await e.ignore(20),await e.readToken(new Ci(4,"ascii"))){case"jp2 ":return{ext:"jp2",mime:"image/jp2"};case"jpx ":return{ext:"jpx",mime:"image/jpx"};case"jpm ":return{ext:"jpm",mime:"image/jpm"};case"mjp2":return{ext:"mj2",mime:"image/mj2"};default:return}if(this.check([255,10])||this.check([0,0,0,12,74,88,76,32,13,10,135,10]))return{ext:"jxl",mime:"image/jxl"};if(this.check([254,255]))return this.checkString("<?xml ",{offset:2,encoding:"utf-16be"})?{ext:"xml",mime:"application/xml"}:void 0;if(this.check([208,207,17,224,161,177,26,225]))return{ext:"cfb",mime:"application/x-cfb"};if(await e.peekBuffer(this.buffer,{length:Math.min(256,e.fileInfo.size),mayBeLess:!0}),this.check([97,99,115,112],{offset:36}))return{ext:"icc",mime:"application/vnd.iccprofile"};if(this.checkString("**ACE",{offset:7})&&this.checkString("**",{offset:12}))return{ext:"ace",mime:"application/x-ace-compressed"};if(this.checkString("BEGIN:")){if(this.checkString("VCARD",{offset:6}))return{ext:"vcf",mime:"text/vcard"};if(this.checkString("VCALENDAR",{offset:6}))return{ext:"ics",mime:"text/calendar"}}if(this.checkString("FUJIFILMCCD-RAW"))return{ext:"raf",mime:"image/x-fujifilm-raf"};if(this.checkString("Extended Module:"))return{ext:"xm",mime:"audio/x-xm"};if(this.checkString("Creative Voice File"))return{ext:"voc",mime:"audio/x-voc"};if(this.check([4,0,0,0])&&this.buffer.length>=16){let t=new DataView(this.buffer.buffer).getUint32(12,!0);if(t>12&&this.buffer.length>=t+16)try{let r=new TextDecoder().decode(this.buffer.subarray(16,t+16));if(JSON.parse(r).files)return{ext:"asar",mime:"application/x-asar"}}catch{}}if(this.check([6,14,43,52,2,5,1,1,13,1,2,1,1,2]))return{ext:"mxf",mime:"application/mxf"};if(this.checkString("SCRM",{offset:44}))return{ext:"s3m",mime:"audio/x-s3m"};if(this.check([71])&&this.check([71],{offset:188}))return{ext:"mts",mime:"video/mp2t"};if(this.check([71],{offset:4})&&this.check([71],{offset:196}))return{ext:"mts",mime:"video/mp2t"};if(this.check([66,79,79,75,77,79,66,73],{offset:60}))return{ext:"mobi",mime:"application/x-mobipocket-ebook"};if(this.check([68,73,67,77],{offset:128}))return{ext:"dcm",mime:"application/dicom"};if(this.check([76,0,0,0,1,20,2,0,0,0,0,0,192,0,0,0,0,0,0,70]))return{ext:"lnk",mime:"application/x.ms.shortcut"};if(this.check([98,111,111,107,0,0,0,0,109,97,114,107,0,0,0,0]))return{ext:"alias",mime:"application/x.apple.alias"};if(this.checkString("Kaydara FBX Binary \0"))return{ext:"fbx",mime:"application/x.autodesk.fbx"};if(this.check([76,80],{offset:34})&&(this.check([0,0,1],{offset:8})||this.check([1,0,2],{offset:8})||this.check([2,0,2],{offset:8})))return{ext:"eot",mime:"application/vnd.ms-fontobject"};if(this.check([6,6,237,245,216,29,70,229,189,49,239,231,254,116,183,29]))return{ext:"indd",mime:"application/x-indesign"};if(this.check([255,255,0,0,7,0,0,0,4,0,0,0,1,0,1,0])||this.check([0,0,255,255,0,0,0,7,0,0,0,4,0,1,0,1]))return{ext:"jmp",mime:"application/x-jmp-data"};if(await e.peekBuffer(this.buffer,{length:Math.min(512,e.fileInfo.size),mayBeLess:!0}),this.checkString("ustar",{offset:257})&&(this.checkString("\0",{offset:262})||this.checkString(" ",{offset:262}))||this.check([0,0,0,0,0,0],{offset:257})&&iD(this.buffer))return{ext:"tar",mime:"application/x-tar"};if(this.check([255,254])){let t="utf-16le";return this.checkString("<?xml ",{offset:2,encoding:t})?{ext:"xml",mime:"application/xml"}:this.check([255,14],{offset:2})&&this.checkString("SketchUp Model",{offset:4,encoding:t})?{ext:"skp",mime:"application/vnd.sketchup.skp"}:this.checkString(`Windows Registry Editor Version 5.00\r
`,{offset:2,encoding:t})?{ext:"reg",mime:"application/x-ms-regedit"}:void 0}if(this.checkString("-----BEGIN PGP MESSAGE-----"))return{ext:"pgp",mime:"application/pgp-encrypted"}};detectImprecise=async e=>{this.buffer=new Uint8Array(ed);let t=XA(e.fileInfo.size);if(await e.peekBuffer(this.buffer,{length:Math.min(8,t),mayBeLess:!0}),this.check([0,0,1,186])||this.check([0,0,1,179]))return{ext:"mpg",mime:"video/mpeg"};if(this.check([0,1,0,0,0]))return{ext:"ttf",mime:"font/ttf"};if(this.check([0,0,1,0]))return{ext:"ico",mime:"image/x-icon"};if(this.check([0,0,2,0]))return{ext:"cur",mime:"image/x-icon"};if(await e.peekBuffer(this.buffer,{length:Math.min(2+this.options.mpegOffsetTolerance,t),mayBeLess:!0}),this.buffer.length>=2+this.options.mpegOffsetTolerance)for(let r=0;r<=this.options.mpegOffsetTolerance;++r){let n=this.scanMpeg(r);if(n)return n}};async readTiffTag(e){let t=await this.tokenizer.readToken(e?ks:Ht);switch(await this.tokenizer.ignore(10),t){case 50341:return{ext:"arw",mime:"image/x-sony-arw"};case 50706:return{ext:"dng",mime:"image/x-adobe-dng"};default:}}async readTiffIFD(e){let t=await this.tokenizer.readToken(e?ks:Ht);if(!(t>GA)&&!(Bo(this.tokenizer)&&2+t*12>mD))for(let r=0;r<t;++r){let n=await this.readTiffTag(e);if(n)return n}}async readTiffHeader(e){let t={ext:"tif",mime:"image/tiff"},r=(e?ks:Ht).get(this.buffer,2),n=(e?My:Nt).get(this.buffer,4);if(r===42){if(n>=6){if(this.checkString("CR",{offset:8}))return{ext:"cr2",mime:"image/x-canon-cr2"};if(n>=8){let s=(e?ks:Ht).get(this.buffer,8),c=(e?ks:Ht).get(this.buffer,10);if(s===28&&c===254||s===31&&c===11)return{ext:"nef",mime:"image/x-nikon-nef"}}}let o=Bo(this.tokenizer)?mD:this.tokenizer.fileInfo.size;try{await Ls(this.tokenizer,n,{maximumLength:o,reason:"TIFF IFD offset"})}catch(s){if(s instanceof ct)return;throw s}let a;try{a=await this.readTiffIFD(e)}catch(s){if(s instanceof ct)return;throw s}return a??t}if(r===43)return t}scanMpeg(e){if(this.check([255,224],{offset:e,mask:[255,224]})){if(this.check([16],{offset:e+1,mask:[22]}))return this.check([8],{offset:e+1,mask:[8]})?{ext:"aac",mime:"audio/aac"}:{ext:"aac",mime:"audio/aac"};if(this.check([2],{offset:e+1,mask:[6]}))return{ext:"mp3",mime:"audio/mpeg"};if(this.check([4],{offset:e+1,mask:[6]}))return{ext:"mp2",mime:"audio/mpeg"};if(this.check([6],{offset:e+1,mask:[6]}))return{ext:"mp1",mime:"audio/mpeg"}}}},nk=new Set(oD),ok=new Set(aD);var be=require("vscode"),di=require("path"),rd=require("fs"),ED=tt(Jy()),Xy=process.platform==="darwin",Cn=process.platform==="win32",Dm=be.env.remoteName!==void 0,ck=process.platform==="linux",Rm=ck&&!!process.env.SNAP&&!!process.env.SNAP_REVISION;function Le(i){return i.forEach(e=>e.dispose()),[]}function Wr(i){return{dispose:i}}function Fs(i){return Wr(()=>Le(i))}var wn=Wr(()=>null);function Pa(i,e){return(t,r,n)=>i(o=>t.call(r,e(o)),null,n)}function We(i,e){return(t,r,n)=>i(o=>e(o)&&t.call(r,o),null,n)}function Zy(i,e,t){return e(t),i(r=>e(r))}function fi(...i){return(e,t,r)=>{let n=Fs(i.map(o=>o(a=>e.call(t,a))));return r?.push(n),n}}function ev(i){return i.then(()=>{})}function Go(i){return(e,t,r)=>{let n=i(o=>(n.dispose(),e.call(t,o)),null,r);return n}}function DD(i,e){return(t,r,n)=>{let o;return i(a=>{clearTimeout(o),o=setTimeout(()=>t.call(r,a),e)},null,n)}}function Yi(i){return new Promise(e=>Go(i)(e))}function Sm(i,...e){for(let t of e)Object.keys(t).forEach(r=>i[r]=t[r]);return i}function RD(i,e){return i.reduce((t,r)=>{let n=e(r);return t[n]=[...t[n]||[],r],t},Object.create(null))}function gl(i){return i.filter(e=>!!e)}async function tv(i,e){let t=async()=>{try{await rd.promises.mkdir(i,e)}catch(r){if(r.code==="EEXIST"){if((await rd.promises.stat(i)).isDirectory())return;throw new Error(`'${i}' exists and is not a directory.`)}throw r}};if(i===(0,di.dirname)(i))return!0;try{await t()}catch(r){if(r.code!=="ENOENT")throw r;await tv((0,di.dirname)(i),e),await t()}return!0}function rv(i,e){let t;return i.some(r=>e(r)?(t=r,!0):!1),t}async function SD(i,e){return new Promise((t,r)=>{let n=(0,rd.createReadStream)(i,{encoding:"utf8"}),o=(0,ED.default)(n);o.on("data",a=>{e.test(a)&&(n.close(),t(!0))}),o.on("error",r),o.on("end",()=>t(!1))})}function xD(i,e){return new Promise((t,r)=>{let n=!1,o=Buffer.allocUnsafe(e),a=0;i.on("data",s=>{let c=Math.min(e-a,s.length);s.copy(o,a,0,c),a+=c,a===e&&i.destroy()}),i.on("error",s=>{n||(n=!0,r(s))}),i.on("close",()=>{n||(n=!0,t(o.slice(0,a)))})})}function PD(i){if(i.length<2)return null;let e=i.readUInt8(0),t=i.readUInt8(1);if(e===254&&t===255)return"utf16be";if(e===255&&t===254)return"utf16le";if(i.length<3)return null;let r=i.readUInt8(2);return e===239&&t===187&&r===191?"utf8":null}function Ei(i,e=20,t=!0){return i.length<=e?i:`${i.substring(0,e)}${t?"\u2026":""}`}function nd(i){let e=i.indexOf(`
`);return e===-1?i:Ei(i,e,!1)}function wm(i){return(Cn||Xy)&&(i=i.toLowerCase()),/[/\\]$/.test(i)&&(i=i.substring(0,i.length-1)),(0,di.normalize)(i)}function nr(i,e){return i===e?!0:(i=wm(i),e=wm(e),i.charAt(i.length-1)!==di.sep&&(i+=di.sep),e.startsWith(i))}function et(i,e){return wm(i)===wm(e)}function yl(i,e){return xm(i,e)??(0,di.relative)(i,e)}function xm(i,e){if(i.charAt(i.length-1)!==di.sep&&(i+=di.sep),nr(i,e)&&i.length<e.length)return e.substring(i.length)}function*Gs(i,e){let t=[],r=0;for(let n of i){let o=r+n.length;o>e&&t.length>0&&(yield t,t=[],o=n.length),t.push(n),r=o}t.length>0&&(yield t)}function iv(i){return!lk(i)}function lk(i){return uk(i)||i===null}function uk(i){return typeof i>"u"}var Fo=class{runningPromises;maxDegreeOfParalellism;outstandingPromises;constructor(e){this.maxDegreeOfParalellism=e,this.outstandingPromises=[],this.runningPromises=0}queue(e){return new Promise((t,r)=>{this.outstandingPromises.push({factory:e,c:t,e:r}),this.consume()})}consume(){for(;this.outstandingPromises.length&&this.runningPromises<this.maxDegreeOfParalellism;){let e=this.outstandingPromises.shift();this.runningPromises++;let t=e.factory();t.then(e.c,e.e),t.then(()=>this.consumed(),()=>this.consumed())}}consumed(){this.runningPromises--,this.outstandingPromises.length>0&&this.consume()}},Em=class{_onDidComplete=new be.EventEmitter;_promise;get promise(){return this._promise?this._promise:Yi(this._onDidComplete.event).then(e=>{if(e.success)return e.value;throw e.err})}resolve(e){this._promise||(this._promise=Promise.resolve(e),this._onDidComplete.fire({success:!0,value:e}))}reject(e){this._promise||(this._promise=Promise.reject(e),this._onDidComplete.fire({success:!1,err:e}))}},od;(r=>{function i(n,o){return typeof n=="string"&&(n=t(n)),typeof o=="string"&&(o=t(o)),n.major>o.major?1:n.major<o.major?-1:n.minor>o.minor?1:n.minor<o.minor?-1:n.patch>o.patch?1:n.patch<o.patch?-1:n.pre===void 0&&o.pre!==void 0?1:n.pre!==void 0&&o.pre===void 0?-1:n.pre!==void 0&&o.pre!==void 0?n.pre.localeCompare(o.pre):0}r.compare=i;function e(n,o,a,s){return{major:typeof n=="string"?parseInt(n,10):n,minor:typeof o=="string"?parseInt(o,10):o,patch:a==null?0:typeof a=="string"?parseInt(a,10):a,pre:s}}r.from=e;function t(n){let[o,a]=n.split("-"),[s,c,l]=o.split(".");return e(s,c,l,a)}r.fromString=t})(od||={});function TD(i,e){if(i.length===0)return{added:e,modified:[],removed:[]};let t=[],r=[],n=[],o=0,a=0;for(;;){if(o===i.length){t.push(...e.slice(a));break}if(a===e.length){n.push(...i.slice(o));break}let s=i[o],c=e[a],l=s.id.localeCompare(c.id);l===0?(s.revision!==c.revision&&r.push(c),o+=1,a+=1):l<0?(n.push(s),o+=1):l>0&&(t.push(c),a+=1)}return{added:t,modified:r,removed:n}}var qy=60,Qy=qy*60,id=Qy*24,bD=id*7,CD=id*30,wD=id*365;function Ho(i,e,t,r){typeof i!="number"&&(i=i.getTime());let n=Math.round((new Date().getTime()-i)/1e3);if(n<-30)return be.l10n.t("in {0}",Ho(new Date().getTime()+n*1e3,!1));if(!r&&n<30)return be.l10n.t("now");let o;return n<qy?(o=n,e?o===1?t?be.l10n.t("{0} second ago",o):be.l10n.t("{0} sec ago",o):t?be.l10n.t("{0} seconds ago",o):be.l10n.t("{0} secs ago",o):o===1?t?be.l10n.t("{0} second",o):be.l10n.t("{0} sec",o):t?be.l10n.t("{0} seconds",o):be.l10n.t("{0} secs",o)):n<Qy?(o=Math.floor(n/qy),e?o===1?t?be.l10n.t("{0} minute ago",o):be.l10n.t("{0} min ago",o):t?be.l10n.t("{0} minutes ago",o):be.l10n.t("{0} mins ago",o):o===1?t?be.l10n.t("{0} minute",o):be.l10n.t("{0} min",o):t?be.l10n.t("{0} minutes",o):be.l10n.t("{0} mins",o)):n<id?(o=Math.floor(n/Qy),e?o===1?t?be.l10n.t("{0} hour ago",o):be.l10n.t("{0} hr ago",o):t?be.l10n.t("{0} hours ago",o):be.l10n.t("{0} hrs ago",o):o===1?t?be.l10n.t("{0} hour",o):be.l10n.t("{0} hr",o):t?be.l10n.t("{0} hours",o):be.l10n.t("{0} hrs",o)):n<bD?(o=Math.floor(n/id),e?o===1?be.l10n.t("{0} day ago",o):be.l10n.t("{0} days ago",o):o===1?be.l10n.t("{0} day",o):be.l10n.t("{0} days",o)):n<CD?(o=Math.floor(n/bD),e?o===1?t?be.l10n.t("{0} week ago",o):be.l10n.t("{0} wk ago",o):t?be.l10n.t("{0} weeks ago",o):be.l10n.t("{0} wks ago",o):o===1?t?be.l10n.t("{0} week",o):be.l10n.t("{0} wk",o):t?be.l10n.t("{0} weeks",o):be.l10n.t("{0} wks",o)):n<wD?(o=Math.floor(n/CD),e?o===1?t?be.l10n.t("{0} month ago",o):be.l10n.t("{0} mo ago",o):t?be.l10n.t("{0} months ago",o):be.l10n.t("{0} mos ago",o):o===1?t?be.l10n.t("{0} month",o):be.l10n.t("{0} mo",o):t?be.l10n.t("{0} months",o):be.l10n.t("{0} mos",o)):(o=Math.floor(n/wD),e?o===1?t?be.l10n.t("{0} year ago",o):be.l10n.t("{0} yr ago",o):t?be.l10n.t("{0} years ago",o):be.l10n.t("{0} yrs ago",o):o===1?t?be.l10n.t("{0} year",o):be.l10n.t("{0} yr",o):t?be.l10n.t("{0} years",o):be.l10n.t("{0} yrs",o))}function Hs(i,e){let r=be.workspace.getConfiguration("git",i).get("commitShortHashLength",7);return e.substring(0,r)}function Pm(i){return i.references?.length?i.references[0].name:i.displayId??i.id}function nv(i){return i==="error"?be.DiagnosticSeverity.Error:i==="warning"?be.DiagnosticSeverity.Warning:i==="information"?be.DiagnosticSeverity.Information:be.DiagnosticSeverity.Hint}function ov(i,e){let t=i[e];if(!t.match(/^["']/))return t.replace(/^["']+|["':]+$/g,"");let r=t[0];if(t.endsWith(r)&&t.length>1)return t.slice(1,-1);let n=t;for(let o=e+1;o<i.length;o++)if(n=`${n} ${i[o]}`,i[o].endsWith(r))return n.slice(1,-1);return n.slice(1)}function ID(i){if(!i.commitDate&&!i.branchName)return;let e=[];return i.commitDate&&e.push(Ho(i.commitDate)),i.branchName&&e.push(i.branchName),e.join(" \u2022 ")}function ad(i){return(0,di.basename)(i).startsWith("copilot-")||(0,di.basename)(i).startsWith("agents-")}var Ar=require("vscode");var En=Object.freeze({Force:0,ForceWithLease:1,ForceWithLeaseIfIncludes:2}),de=Object.freeze({Head:0,RemoteHead:1,Tag:2}),w=Object.freeze({INDEX_MODIFIED:0,INDEX_ADDED:1,INDEX_DELETED:2,INDEX_RENAMED:3,INDEX_COPIED:4,MODIFIED:5,DELETED:6,UNTRACKED:7,IGNORED:8,INTENT_TO_ADD:9,INTENT_TO_RENAME:10,TYPE_CHANGED:11,ADDED_BY_US:12,ADDED_BY_THEM:13,DELETED_BY_US:14,DELETED_BY_THEM:15,BOTH_ADDED:16,BOTH_DELETED:17,BOTH_MODIFIED:18}),Q=Object.freeze({BadConfigFile:"BadConfigFile",BadRevision:"BadRevision",AuthenticationFailed:"AuthenticationFailed",NoUserNameConfigured:"NoUserNameConfigured",NoUserEmailConfigured:"NoUserEmailConfigured",NoRemoteRepositorySpecified:"NoRemoteRepositorySpecified",NotAGitRepository:"NotAGitRepository",NotASafeGitRepository:"NotASafeGitRepository",NotAtRepositoryRoot:"NotAtRepositoryRoot",Conflict:"Conflict",StashConflict:"StashConflict",UnmergedChanges:"UnmergedChanges",PushRejected:"PushRejected",ForcePushWithLeaseRejected:"ForcePushWithLeaseRejected",ForcePushWithLeaseIfIncludesRejected:"ForcePushWithLeaseIfIncludesRejected",RemoteConnectionError:"RemoteConnectionError",DirtyWorkTree:"DirtyWorkTree",CantOpenResource:"CantOpenResource",GitNotFound:"GitNotFound",CantCreatePipe:"CantCreatePipe",PermissionDenied:"PermissionDenied",CantAccessRemote:"CantAccessRemote",RepositoryNotFound:"RepositoryNotFound",RepositoryIsLocked:"RepositoryIsLocked",BranchNotFullyMerged:"BranchNotFullyMerged",NoRemoteReference:"NoRemoteReference",InvalidBranchName:"InvalidBranchName",BranchAlreadyExists:"BranchAlreadyExists",NoLocalChanges:"NoLocalChanges",NoStashFound:"NoStashFound",LocalChangesOverwritten:"LocalChangesOverwritten",NoUpstreamBranch:"NoUpstreamBranch",IsInSubmodule:"IsInSubmodule",WrongCase:"WrongCase",CantLockRef:"CantLockRef",CantRebaseMultipleBranches:"CantRebaseMultipleBranches",PatchDoesNotApply:"PatchDoesNotApply",NoPathFound:"NoPathFound",UnknownPath:"UnknownPath",EmptyCommitMessage:"EmptyCommitMessage",BranchFastForwardRejected:"BranchFastForwardRejected",BranchNotYetBorn:"BranchNotYetBorn",TagConflict:"TagConflict",CherryPickEmpty:"CherryPickEmpty",CherryPickConflict:"CherryPickConflict",WorktreeContainsChanges:"WorktreeContainsChanges",WorktreeAlreadyExists:"WorktreeAlreadyExists",WorktreeBranchAlreadyUsed:"WorktreeBranchAlreadyUsed"});var FD=tt(Jy()),GD=require("string_decoder"),vl=3e4;function HD(i){return i.replace(/^git version /,"")}function km(i,e){return new Promise((t,r)=>{if(!e(i))return r(new Error(`Path "${i}" is invalid.`));let n=[],o=Us.spawn(i,["--version"]);o.stdout.on("data",a=>n.push(a)),o.on("error",uv(r)),o.on("close",a=>a?r(new Error(`Not found. Code: ${a}`)):t({path:i,version:HD(Buffer.concat(n).toString("utf8").trim())}))})}function dk(i){return new Promise((e,t)=>{Us.exec("which git",(r,n)=>{if(r)return t(new Error(`Executing "which git" failed: ${r.message}`));let o=n.toString().trim();function a(s){if(!i(s))return t(new Error(`Path "${s}" is invalid.`));Us.exec("git --version",(c,l)=>c?t(new Error(`Executing "git --version" failed: ${c.message}`)):e({path:s,version:HD(l.trim())}))}if(o!=="/usr/bin/git")return a(o);Us.exec("xcode-select -p",s=>{if(s&&s.code===2)return t(new Error('Executing "xcode-select -p" failed with error code 2.'));a(o)})})})}function Tm(i,e){return i?km(Pe.join(i,"Git","cmd","git.exe"),e):Promise.reject("Not found")}async function fk(i){let e=await(0,LD.default)("git.exe");return km(e,i)}function mk(i){return Tm(process.env.ProgramW6432,i).then(void 0,()=>Tm(process.env["ProgramFiles(x86)"],i)).then(void 0,()=>Tm(process.env.ProgramFiles,i)).then(void 0,()=>Tm(Pe.join(process.env.LocalAppData,"Programs"),i)).then(void 0,()=>fk(i))}async function UD(i,e,t){for(let r of i)try{return await km(r,e)}catch(n){t.info(`Unable to find git on the PATH: "${r}". Error: ${n.message}`)}try{switch(process.platform){case"darwin":return await dk(e);case"win32":return await mk(e);default:return await km("git",e)}}catch(r){t.warn(`Unable to find git. Error: ${r.message}`)}throw new Error("Git installation not found.")}function uv(i){return e=>{/ENOENT/.test(e.message)&&(e=new zt({error:e,message:"Failed to execute git (ENOENT)",gitErrorCode:Q.NotAGitRepository})),i(e)}}async function cv(i,e){if(!i.stdout||!i.stderr)throw new zt({message:"Failed to get stdout or stderr from git process."});if(e&&e.isCancellationRequested)throw new Ar.CancellationError;let t=[],r=(a,s,c)=>{a.once(s,c),t.push(Wr(()=>a.removeListener(s,c)))},n=(a,s,c)=>{a.on(s,c),t.push(Wr(()=>a.removeListener(s,c)))},o=Promise.all([new Promise((a,s)=>{r(i,"error",uv(s)),r(i,"exit",a)}),new Promise(a=>{let s=[];n(i.stdout,"data",c=>s.push(c)),r(i.stdout,"close",()=>a(Buffer.concat(s)))}),new Promise(a=>{let s=[];n(i.stderr,"data",c=>s.push(c)),r(i.stderr,"close",()=>a(Buffer.concat(s).toString("utf8")))})]);if(e){let a=new Promise((s,c)=>{Go(e.onCancellationRequested)(()=>{try{i.kill()}catch{}c(new Ar.CancellationError)})});o=Promise.race([o,a])}try{let[a,s,c]=await o;return{exitCode:a,stdout:s,stderr:c}}finally{Le(t)}}var zt=class extends Error{error;stdout;stderr;exitCode;gitErrorCode;gitCommand;gitArgs;constructor(e){super(e.error?.message||e.message||"Git error"),this.error=e.error,this.stdout=e.stdout,this.stderr=e.stderr,this.exitCode=e.exitCode,this.gitErrorCode=e.gitErrorCode,this.gitCommand=e.gitCommand,this.gitArgs=e.gitArgs}toString(){let e=this.message+" "+JSON.stringify({exitCode:this.exitCode,gitErrorCode:this.gitErrorCode,gitCommand:this.gitCommand,stdout:this.stdout,stderr:this.stderr},null,2);return this.error?.stack&&(e+=this.error.stack),e}};function WD(i){if(/Another git process seems to be running in this repository|If no other git process is currently running/.test(i))return Q.RepositoryIsLocked;if(/Authentication failed/i.test(i))return Q.AuthenticationFailed;if(/Not a git repository/i.test(i))return Q.NotAGitRepository;if(/bad config file/.test(i))return Q.BadConfigFile;if(/cannot make pipe for command substitution|cannot create standard input pipe/.test(i))return Q.CantCreatePipe;if(/Repository not found/.test(i))return Q.RepositoryNotFound;if(/unable to access/.test(i))return Q.CantAccessRemote;if(/branch '.+' is not fully merged/.test(i))return Q.BranchNotFullyMerged;if(/Couldn\'t find remote ref/.test(i))return Q.NoRemoteReference;if(/A branch named '.+' already exists/.test(i))return Q.BranchAlreadyExists;if(/'.+' is not a valid branch name/.test(i))return Q.InvalidBranchName;if(/Please,? commit your changes or stash them/.test(i))return Q.DirtyWorkTree;if(/detected dubious ownership in repository at/.test(i))return Q.NotASafeGitRepository;if(/contains modified or untracked files|use --force to delete it/.test(i))return Q.WorktreeContainsChanges;if(/fatal: '[^']+' already exists/.test(i))return Q.WorktreeAlreadyExists;if(/is already used by worktree at/.test(i))return Q.WorktreeBranchAlreadyUsed}function YD(i){return i.replace(/^([a-z]):\\/i,(e,t)=>`${t.toUpperCase()}:\\`)}function Im(i){return i.replace(/\\/g,"/")}var av="%H%n%aN%n%aE%n%at%n%ct%n%P%n%D%n%B",pk="%H%n%P%n%gd%n%gs%n%at%n%ct",Nm=class{path;userAgent;version;env;commandsToLog=[];_onOutput=new BD.EventEmitter;get onOutput(){return this._onOutput}constructor(e){this.path=e.gitPath,this.version=e.version,this.userAgent=e.userAgent,this.env=e.env||{};let t=r=>{if(r!==void 0&&!r.affectsConfiguration("git.commandsToLog"))return;let n=Ar.workspace.getConfiguration("git");this.commandsToLog=n.get("commandsToLog",[])};Ar.workspace.onDidChangeConfiguration(t,this),t()}compareGitVersionTo(e){return od.compare(od.fromString(this.version),od.fromString(e))}open(e,t,r,n){return new Dn(this,e,t,r,n)}async init(e,t={}){let r=["init"];t.defaultBranch&&t.defaultBranch!==""&&this.compareGitVersionTo("2.28.0")!==-1&&r.push("-b",t.defaultBranch),await this.exec(e,r)}async clone(e,t,r){let n=t.targetName||decodeURI(e).replace(/[\/]+$/,"").replace(/^.*[\/\\]/,"").replace(/\.git$/,"")||"repository",o=n,a=Pe.join(t.parentPath,o),s=1;if(!t.targetName)for(;s<20&&await new Promise(l=>(0,Yr.exists)(a,l));)o=`${n}-${s++}`,a=Pe.join(t.parentPath,o);await tv(t.parentPath);let c=l=>{let u=new GD.StringDecoder("utf8"),f=new FD.LineStream({encoding:"utf8"});l.stderr.on("data",p=>f.write(u.write(p)));let m=0,h=0;f.on("data",p=>{let _=null;(_=/Counting objects:\s*(\d+)%/i.exec(p))?m=Math.floor(parseInt(_[1])*.1):(_=/Compressing objects:\s*(\d+)%/i.exec(p))?m=10+Math.floor(parseInt(_[1])*.1):(_=/Receiving objects:\s*(\d+)%/i.exec(p))?m=20+Math.floor(parseInt(_[1])*.4):(_=/Resolving deltas:\s*(\d+)%/i.exec(p))&&(m=60+Math.floor(parseInt(_[1])*.4)),m!==h&&(t.progress.report({increment:m-h}),h=m)})};try{let l=["clone",e.includes(" ")?encodeURI(e):e,a,"--progress"];t.recursive&&l.push("--recursive"),t.ref&&l.push("--branch",t.ref),await this.exec(t.parentPath,l,{cancellationToken:r,env:{GIT_HTTP_USER_AGENT:this.userAgent},onSpawn:c})}catch(l){throw l.stderr&&(l.stderr=l.stderr.replace(/^Cloning.+$/m,"").trim(),l.stderr=l.stderr.replace(/^ERROR:\s+/,"").trim()),l}return a}async getRepositoryRoot(e){let t=await this.exec(e,["rev-parse","--show-toplevel"]),r=Pe.normalize(t.stdout.trimStart().replace(/[\r\n]+$/,""));if(!et(e,r)&&!nr(r,e)&&!nr(e,r)&&this.compareGitVersionTo("2.31.0")!==-1){let n=await this.exec(e,["rev-parse","--path-format=relative","--show-toplevel"]);return Pe.resolve(e,n.stdout.trimStart().replace(/[\r\n]+$/,""))}if(Cn){let n=Ar.Uri.file(r),o=Ar.Uri.file(e);if(n.authority.length!==0&&o.authority.length===0){let a=/^[\/]?([a-zA-Z])[:\/]/.exec(o.path);if(a!==null){let[,s]=a;try{let c=await new Promise(l=>Yr.realpath.native(`${s}:\\`,{encoding:"utf8"},(u,f)=>l(u!==null?void 0:f)));if(c!==void 0){let l=et(n.fsPath,c);return Pe.normalize(n.fsPath.replace(c,`${s.toLowerCase()}:${l||c.endsWith("\\")?"\\":""}`))}}catch{}}return Pe.normalize(o.fsPath)}}return r}async getRepositoryDotGit(e){let t,r,n,o=["rev-parse","--git-dir","--git-common-dir"];this.compareGitVersionTo("2.13.0")>=0&&o.push("--show-superproject-working-tree"),[t,r,n]=(await this.exec(e,o)).stdout.split(`
`).map(u=>u.trim()),Pe.isAbsolute(t)||(t=Pe.join(e,t)),t=Pe.normalize(t),r&&(Pe.isAbsolute(r)||(r=Pe.join(e,r)),r=Pe.normalize(r));let s=await Yr.promises.readFile(Pe.join(r??t,"config"),"utf8");return{isBare:sd.parse(s).find(u=>u.name==="core")?.properties.bare==="true",path:t,commonPath:r!==t?r:void 0,superProjectPath:n?Pe.normalize(n):void 0}}async exec(e,t,r={}){return r=Sm({cwd:e},r||{}),await this._exec(t,r)}async exec2(e,t={}){return await this._exec(e,t)}stream(e,t,r={}){r=Sm({cwd:e},r||{});let n=this.spawn(t,r);if(r.log!==!1){let o=Date.now();n.on("exit",a=>{this.log(`> git ${t.join(" ")} [${Date.now()-o}ms]${n.killed?" (cancelled)":""}
`)})}return n}async _exec(e,t={}){let r=this.spawn(e,t);t.onSpawn?.(r),t.input&&r.stdin.end(t.input,"utf8");let n=Date.now(),o;try{o=await cv(r,t.cancellationToken)}catch(s){throw s instanceof Ar.CancellationError&&this.log(`> git ${e.join(" ")} [${Date.now()-n}ms] (cancelled)
`),s}t.log!==!1&&(this.log(`> git ${e.join(" ")} [${Date.now()-n}ms]
`),o.stdout.length>0&&e.find(s=>this.commandsToLog.includes(s))&&this.log(`${o.stdout}
`),o.stderr.length>0&&this.log(`${o.stderr}
`));let a={exitCode:o.exitCode,stdout:o.stdout.toString("utf8"),stderr:o.stderr};return o.exitCode?Promise.reject(new zt({message:"Failed to execute git",stdout:a.stdout,stderr:a.stderr,exitCode:a.exitCode,gitErrorCode:WD(a.stderr),gitCommand:e[0],gitArgs:e})):a}spawn(e,t={}){if(!this.path)throw new Error("git could not be found in the system.");t||(t={}),!t.stdio&&!t.input&&(t.stdio=["ignore",null,null]),t.env=Sm({},process.env,this.env,t.env||{},{VSCODE_GIT_COMMAND:e[0],LANGUAGE:"en",LC_ALL:"en_US.UTF-8",LANG:"en_US.UTF-8",GIT_PAGER:"cat"});let r=this.getCwd(t);return r&&(t.cwd=YD(r)),Us.spawn(this.path,e,t)}getCwd(e){let t=e.cwd;if(typeof t>"u"||typeof t=="string")return t;if(t.protocol==="file:")return(0,MD.fileURLToPath)(t)}log(e){this._onOutput.emit("log",e)}async mergeFile(e){let t=["merge-file","-p",e.input1Path,e.basePath,e.input2Path];e.diff3?t.push("--diff3"):t.push("--no-diff3");try{return(await this.exec(Am.homedir(),t)).stdout}catch(r){if(typeof r.stdout=="string")return r.stdout;throw r}}async addSafeDirectory(e){await this.exec(Am.homedir(),["config","--global","--add","safe.directory",e])}},sd=class i{static _lineSeparator=/\r?\n/;static _propertyRegex=/^\s*(\w+)\s*=\s*"?([^"]+)"?$/;static _sectionRegex=/^\s*\[\s*([^\]]+?)\s*(\"[^"]+\")*\]\s*$/;static parse(e){let t={sections:[]},r={name:"DEFAULT",properties:{}},n=o=>{o&&t.sections.push(o)};for(let o of e.split(i._lineSeparator)){let a=o.match(i._sectionRegex);if(a?.length===3){n(r),r={name:a[1],subSectionName:a[2]?.replaceAll('"',""),properties:{}};continue}let s=o.match(i._propertyRegex);s?.length===3&&!Object.keys(r.properties).includes(s[1])&&(r.properties[s[1]]=s[2])}return n(r),t.sections}},lv=class{lastRaw="";result=[];get status(){return this.result}update(e){let t=0,r;for(e=this.lastRaw+e;(r=this.parseEntry(e,t))!==void 0;)t=r;this.lastRaw=e.substr(t)}parseEntry(e,t){if(t+4>=e.length)return;let r,n={x:e.charAt(t++),y:e.charAt(t++),rename:void 0,path:""};if(t++,n.x==="R"||n.y==="R"||n.x==="C"){if(r=e.indexOf("\0",t),r===-1)return;n.rename=e.substring(t,r),t=r+1}if(r=e.indexOf("\0",t),r!==-1)return n.path=e.substring(t,r),n.path[n.path.length-1]!=="/"&&this.result.push(n),r+1}};function hk(i){let e=[];for(let t of sd.parse(i).filter(r=>r.name==="submodule"))t.subSectionName&&t.properties.path&&t.properties.url&&e.push({name:t.subSectionName,path:t.properties.path,url:t.properties.url});return e}function gk(i){let e=[];for(let t of sd.parse(i).filter(r=>r.name==="remote"))t.subSectionName&&e.push({name:t.subSectionName,fetchUrl:t.properties.url,pushUrl:t.properties.pushurl??t.properties.url,isReadOnly:!1});return e}var yk=/([0-9a-f]{40})\n(.*)\n(.*)\n(.*)\n(.*)\n(.*)\n(.*)(?:\n([^]*?))?(?:\x00)(?:\n((?:.*)files? changed(?:.*))$)?/gm;function sv(i){let e=[],t,r,n,o,a,s,c,l,u,f;do{if(f=yk.exec(i),f===null)break;[,t,r,n,o,a,s,c,l,u]=f,l[l.length-1]===`
`&&(l=l.substr(0,l.length-1)),e.push({hash:` ${t}`.substr(1),message:` ${l}`.substr(1),parents:s?s.split(" "):[],authorDate:new Date(Number(o)*1e3),authorName:` ${r}`.substr(1),authorEmail:` ${n}`.substr(1),commitDate:new Date(Number(a)*1e3),refNames:c.split(",").map(m=>m.trim()),shortStat:u?$D(u):void 0,coAuthors:vk(l)})}while(!0);return e}var AD=/^Co-authored-by:\s*(.+?)\s*<([^>]+)>\s*$/gim;function vk(i){let e=[],t;for(AD.lastIndex=0;(t=AD.exec(i))!==null;){let r=t[1].trim(),n=t[2].trim();r&&n&&e.push({name:r,email:n})}return e}var _k=/(\d+) files? changed(?:, (\d+) insertions?\(\+\))?(?:, (\d+) deletions?\(-\))?/;function $D(i){let e=i.trim().match(_k);if(!e)return{files:0,insertions:0,deletions:0};let[,t,r=void 0,n=void 0]=e;return{files:parseInt(t),insertions:parseInt(r??"0"),deletions:parseInt(n??"0")}}function bk(i){return i.split(`
`).filter(e=>!!e).map(e=>/^(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(.*)$/.exec(e)).filter(e=>!!e).map(([,e,t,r,n,o])=>({mode:e,type:t,object:r,size:n,file:o}))}function Ck(i){return i.split(`
`).filter(e=>!!e).map(e=>/^(\S+)\s+(\S+)\s+(\S+)\s+(.*)$/.exec(e)).filter(e=>!!e).map(([,e,t,r,n])=>({mode:e,object:t,stage:r,file:n}))}var wk=/([0-9a-f]{40})\n(.*)\nstash@{(\d+)}\n(WIP\s)?on\s([^:]+):\s(.*)\n(\d+)\n(\d+)(?:\x00)/gmi;function Ek(i){let e=[],t,r,n,o,a,s,c,l,u;do{if(t=wk.exec(i),t===null)break;[,r,n,o,a,s,c,l,u]=t,e.push({hash:r,parents:n.split(" "),index:parseInt(o),branchName:s.trim(),description:a?`WIP (${c.trim()})`:c.trim(),authorDate:l?new Date(Number(l)*1e3):void 0,commitDate:u?new Date(Number(u)*1e3):void 0})}while(!0);return e}function kD(i,e){let t=0,r=[],n=e.trim().split("\0").filter(o=>o);e:for(;t<n.length-1;){let o=n[t++],a=n[t++];if(!o||!a)break;let s=Ar.Uri.file(Pe.isAbsolute(a)?a:Pe.join(i,a)),c=s,l=s,u=w.UNTRACKED;switch(o[0]){case"A":u=w.INDEX_ADDED;break;case"M":u=w.MODIFIED;break;case"D":u=w.DELETED;break;case"R":{if(t>=n.length)break;let f=n[t++];if(!f)break;u=w.INDEX_RENAMED,c=l=Ar.Uri.file(Pe.isAbsolute(f)?f:Pe.join(i,f));break}default:break e}r.push({status:u,uri:c,originalUri:s,renameUri:l})}return r}function ND(i,e){let t=[],r=new Map,n=0,o=e.trim().split("\0").filter(a=>a);e:for(;n<o.length;){let a=o[n++];if(!a)break;if(a.startsWith(":")){let[,,,,s]=a.split(" "),c=o[n++],l=Ar.Uri.file(Pe.isAbsolute(c)?c:Pe.join(i,c)),u=l,f=l,m=w.UNTRACKED;switch(s[0]){case"A":m=w.INDEX_ADDED;break;case"M":m=w.MODIFIED;break;case"D":m=w.DELETED;break;case"R":{if(n>=o.length)break;let h=o[n++];if(!h)break;m=w.INDEX_RENAMED,u=f=Ar.Uri.file(Pe.isAbsolute(h)?h:Pe.join(i,h));break}default:break e}t.push({status:m,uri:u,originalUri:l,renameUri:f})}else{let[s,c,l]=a.split(" "),u;if(l===""){n++;let f=o[n++];u=Pe.isAbsolute(f)?f:Pe.join(i,f)}else u=Pe.isAbsolute(l)?l:Pe.join(i,l);r.set(u,{insertions:s==="-"?0:parseInt(s),deletions:c==="-"?0:parseInt(c)})}}return t.map(a=>({...a,insertions:r.get(a.uri.fsPath)?.insertions??0,deletions:r.get(a.uri.fsPath)?.deletions??0}))}function Dk(i){let e=/\r?\n/,t=/^([0-9a-f]{40})/gm,r=new Map,n,o,a,s,c,l,u;for(let f of i.split(e)){let m=f.match(t);if(!n&&m){let h=f.split(" ");n=m[0],l=Number(h[2]),u=Number(h[2])+Number(h[3])-1}if(n&&f.startsWith("author ")&&(o=f.substring(7)),n&&f.startsWith("author-mail ")&&(a=f.substring(13,f.length-1)),n&&f.startsWith("author-time ")&&(s=Number(f.substring(12))*1e3),n&&f.startsWith("summary ")&&(c=f.substring(8)),n&&l&&u&&f.startsWith("filename ")){let h=r.get(n);h?(h.ranges.push({startLineNumber:l,endLineNumber:u}),r.set(n,h)):r.set(n,{hash:n,authorName:o,authorEmail:a,authorDate:s,subject:c,ranges:[{startLineNumber:l,endLineNumber:u}]}),n=o=a=s=c=l=u=void 0}}return Array.from(r.values())}var KD="%(refname)%00%(objectname)%00%(*objectname)",OD=`${KD}%00%(parent)%00%(*parent)%00%(authorname)%00%(*authorname)%00%(committerdate:unix)%00%(*committerdate:unix)%00%(subject)%00%(*subject)`;function Rk(i){let e=/^(refs\/[^\0]+)\0([0-9a-f]{40})\0([0-9a-f]{40})?(?:\0(.*))?$/gm,t=/^refs\/heads\/([^ ]+)$/,r=/^refs\/remotes\/([^/]+)\/([^ ]+)$/,n=/^refs\/tags\/([^ ]+)$/,o=/\[(?:ahead ([0-9]+))?[,\s]*(?:behind ([0-9]+))?]|\[gone]/,a,s,c,l,u,f,m,h,p,_,b,S,E,R=[],P,L;do{if(P=e.exec(i),P===null)break;[,a,s,c,l]=P,[u,f,p,_,b,S,m,h,E]=l?.split("\0")??[];let Y=f||u,$=h||m,G=_||p,W=S||b,H=Y&&$&&G&&W?{hash:s,message:$,parents:Y.split(" "),authorName:G,commitDate:W?new Date(Number(W)*1e3):void 0}:void 0;if(L=t.exec(a)){let[,T,ee]=o.exec(E)??[],le=E?T?Number(T):0:void 0,I=E?ee?Number(ee):0:void 0;R.push({name:L[1],commit:s,commitDetails:H,ahead:le,behind:I,type:de.Head})}else if(L=r.exec(a)){let T=`${L[1]}/${L[2]}`;R.push({name:T,remote:L[1],commit:s,commitDetails:H,type:de.RemoteHead})}else(L=n.exec(a))&&R.push({name:L[1],commit:c??s,commitDetails:H,type:de.Tag})}while(!0);return R}var Dn=class{constructor(e,t,r,n,o){this._git=e;this.repositoryRoot=t;this.repositoryRootRealPath=r;this.dotGit=n;this.logger=o;this._kind=this.dotGit.commonPath?"worktree":this.dotGit.superProjectPath?"submodule":"repository"}_git;repositoryRoot;repositoryRootRealPath;dotGit;logger;_isUsingRefTable=!1;_kind;get kind(){return this._kind}get git(){return this._git}get root(){return this.repositoryRoot}get rootRealPath(){return this.repositoryRootRealPath}async exec(e,t={}){return await this.git.exec(this.repositoryRoot,e,t)}stream(e,t={}){return this.git.stream(this.repositoryRoot,e,t)}spawn(e,t={}){return this.git.spawn(e,t)}async config(e,t,r,n=null,o={}){let a=["config",`--${e}`];t&&a.push(`--${t}`),a.push(r),n&&a.push(n);try{return(await this.exec(a,o)).stdout.trim()}catch(s){return this.logger.warn(`[Git][config] git config failed: ${s.message}`),""}}async getConfigs(e){let t=["config"];return e&&t.push("--"+e),t.push("-l"),(await this.exec(t)).stdout.trim().split(/\r|\r\n|\n/).map(o=>{let a=o.indexOf("=");return{key:o.substr(0,a),value:o.substr(a+1)}})}async log(e,t){let r={cancellationToken:t},n=["log",`--format=${av}`,"-z"];e?.shortStats&&(n.push("--shortstat"),this._git.compareGitVersionTo("2.31")!==-1&&n.push("--diff-merges=first-parent")),e?.reverse&&n.push("--reverse","--ancestry-path"),e?.sortByAuthorDate&&n.push("--author-date-order"),e?.range?n.push(e.range):n.push(`-n${e?.maxEntries??32}`),e?.author&&n.push(`--author=${e.author}`),e?.grep&&(n.push(`--grep=${e.grep}`),n.push("--extended-regexp"),n.push("--regexp-ignore-case")),typeof e?.maxParents=="number"&&n.push(`--max-parents=${e.maxParents}`),typeof e?.skip=="number"&&n.push(`--skip=${e.skip}`),e?.refNames&&(n.push("--topo-order"),n.push("--decorate=full"),r.input=e.refNames.join(`
`),n.push("--stdin")),e?.path&&n.push("--",e.path);let o=await this.exec(n,r);return o.exitCode?[]:sv(o.stdout)}async logFile(e,t,r){let n=["log",`--format=${av}`,"-z"];t?.maxEntries&&!t?.reverse&&n.push(`-n${t.maxEntries}`),t?.hash&&(t?.reverse?n.push("--reverse","--ancestry-path",`${t.hash}..HEAD`):n.push(t.hash)),t?.shortStats&&n.push("--shortstat"),t?.sortByAuthorDate&&n.push("--author-date-order"),t?.follow&&n.push("--follow"),n.push("--",e.fsPath);try{let o=await this.exec(n,{cancellationToken:r});return o.exitCode?[]:sv(o.stdout)}catch(o){if(/does not have any commits yet/.test(o.stderr))return[];throw o}}async reflog(e,t){let r=["reflog",e,`--grep-reflog=${t}`],n=await this.exec(r);return n.exitCode?[]:n.stdout.split(`
`).filter(o=>!!o)}async buffer(e,t){let r=this.sanitizeRelativePath(t),n=this.stream(["show","--textconv",`${e}:${r}`]);if(!n.stdout)return Promise.reject("Can't open file from git");let{exitCode:o,stdout:a,stderr:s}=await cv(n);if(o){let c=new zt({message:"Could not show object.",exitCode:o});return/exists on disk, but not in/.test(s)&&(c.gitErrorCode=Q.WrongCase),Promise.reject(c)}return a}async getObjectDetails(e,t){if(!e||e===":1"||e===":2"||e===":3"){let s=await this.lsfiles(t);if(s.length===0)throw new zt({message:"Path not known by git",gitErrorCode:Q.UnknownPath});let{mode:c,object:l}=e!==""?s.find(m=>m.stage===e.substring(1))??s[0]:s[0],u=await this.exec(["cat-file","-s",l]),f=parseInt(u.stdout);return{mode:c,object:l,size:f}}let r=await this.lstree(e,t);if(r.length===0)throw new zt({message:"Path not known by git",gitErrorCode:Q.UnknownPath});let{mode:n,object:o,size:a}=r[0];return{mode:n,object:o,size:parseInt(a)||0}}async lstree(e,t,r){let n=["ls-tree","-l"];r?.recursive&&n.push("-r"),n.push(e),t&&n.push("--",this.sanitizeRelativePath(t));let{stdout:o}=await this.exec(n);return bk(o)}async lsfiles(e){let t=["ls-files","--stage"],r=this.sanitizeRelativePath(e);r&&t.push("--",r);let{stdout:n}=await this.exec(t);return Ck(n)}async getGitFilePath(e,t){let r=e?await this.lstree(e,void 0,{recursive:!0}):await this.lsfiles(this.repositoryRoot),n=this.sanitizeRelativePath(t).toLowerCase(),o=r.find(a=>a.file.toLowerCase()===n);if(!o)throw new zt({message:`Git relative path not found. Was looking for ${n} among ${JSON.stringify(r.map(({file:a})=>a),null,2)}`});return Pe.join(this.repositoryRoot,o.file)}async detectObjectType(e){let t=await this.stream(["show","--textconv",e]),r=await xD(t.stdout,4100);try{t.kill()}catch{}let n=PD(r),o=!0;if(n!=="utf16be"&&n!=="utf16le"){for(let a=0;a<r.length;a++)if(r.readInt8(a)===0){o=!1;break}}if(!o){let a=await zy(r);return a?{mimetype:a.mime}:{mimetype:"application/octet-stream"}}return n?{mimetype:"text/plain",encoding:n}:{mimetype:"text/plain"}}async apply(e,t){let r=["apply",e];t?.allowEmpty&&r.push("--allow-empty"),t?.reverse&&r.push("--reverse"),t?.threeWay&&r.push("--3way");try{await this.exec(r)}catch(n){throw/patch does not apply/.test(n.stderr)&&(n.gitErrorCode=Q.PatchDoesNotApply),n}}async diff(e=!1){let t=["diff"];return e&&t.push("--cached"),(await this.exec(t)).stdout}async diffWithHEAD(e){if(!e)return await this.diffFiles(void 0,{cached:!1});let t=["diff","--",this.sanitizeRelativePath(e)];return(await this.exec(t)).stdout}async diffWithHEADShortStats(e){return this.diffFilesShortStat(void 0,{cached:!1,path:e})}async diffWith(e,t){if(!t)return await this.diffFiles(e,{cached:!1});let r=["diff",e,"--",this.sanitizeRelativePath(t)];return(await this.exec(r)).stdout}async diffIndexWithHEAD(e){if(!e)return await this.diffFiles(void 0,{cached:!0});let t=["diff","--cached","--",this.sanitizeRelativePath(e)];return(await this.exec(t)).stdout}async diffIndexWithHEADShortStats(e){return this.diffFilesShortStat(void 0,{cached:!0,path:e})}async diffIndexWith(e,t){if(!t)return await this.diffFiles(e,{cached:!0});let r=["diff","--cached",e,"--",this.sanitizeRelativePath(t)];return(await this.exec(r)).stdout}async diffBlobs(e,t){let r=["diff",e,t];return(await this.exec(r)).stdout}async diffBetween(e,t,r){let n=`${e}...${t}`;if(!r)return await this.diffFiles(n,{cached:!1});let o=["diff",n,"--",this.sanitizeRelativePath(r)];return(await this.exec(o)).stdout.trim()}async diffBetweenPatch(e,t){let r=["diff",e,"--"];return t.path&&r.push(this.sanitizeRelativePath(t.path)),(await this.exec(r)).stdout}async diffBetweenWithStats(e,t){let r=["diff","--raw","--numstat","--diff-filter=ADMR","-z"];t.similarityThreshold&&r.push(`--find-renames=${t.similarityThreshold}%`),r.push(e,"--"),t.path&&r.push(this.sanitizeRelativePath(t.path));let n=await this.exec(r);return n.exitCode?[]:ND(this.repositoryRoot,n.stdout)}async diffFiles(e,t){let r=["diff","--name-status","-z","--diff-filter=ADMR"];t.cached&&r.push("--cached"),t.similarityThreshold&&r.push(`--find-renames=${t.similarityThreshold}%`),e&&r.push(e),r.push("--");let n=await this.exec(r);return n.exitCode?[]:kD(this.repositoryRoot,n.stdout)}async diffFilesShortStat(e,t){let r=["diff","--shortstat"];t.cached&&r.push("--cached"),e!==void 0&&r.push(e),r.push("--"),t.path&&r.push(this.sanitizeRelativePath(t.path));let n=await this.exec(r);return n.exitCode?{files:0,insertions:0,deletions:0}:$D(n.stdout.trim())}async diffTrees(e,t,r){let n=["diff-tree","-r","--raw","--numstat","--diff-filter=ADMR","-z"];r?.similarityThreshold&&n.push(`--find-renames=${r.similarityThreshold}%`),n.push(e),t&&n.push(t),n.push("--");let o=await this.exec(n);return o.exitCode?[]:ND(this.repositoryRoot,o.stdout)}async getMergeBase(e,t,...r){try{let n=["merge-base"];return r.length!==0&&(n.push("--octopus"),n.push(...r)),n.push(e,t),(await this.exec(n)).stdout.trim()}catch{return}}async hashObject(e){let t=["hash-object","-w","--stdin"];return(await this.exec(t,{input:e})).stdout.trim()}async add(e,t){let r=["add"];if(t&&t.update?r.push("-u"):r.push("-A"),e&&e.length)for(let n of Gs(e.map(o=>this.sanitizeRelativePath(o)),vl))await this.exec([...r,"--",...n]);else await this.exec([...r,"--","."])}async rm(e){let t=["rm","--"];!e||!e.length||(t.push(...e.map(r=>this.sanitizeRelativePath(r))),await this.exec(t))}async stage(e,t){let r=this.sanitizeRelativePath(e),n=this.stream(["hash-object","--stdin","-w","--path",r],{stdio:[null,null,null]});if(!n.stdin)throw new zt({message:"Failed to spawn git process",exitCode:-1});n.stdin.end(t);let{exitCode:o,stdout:a}=await cv(n),s=a.toString("utf8");if(o)throw new zt({message:"Could not hash object.",exitCode:o});let c=await this.getCommit("HEAD").then(()=>"HEAD",()=>""),l,u="";try{l=(await this.getObjectDetails(c,e)).mode}catch(f){if(f.gitErrorCode!==Q.UnknownPath)throw f;l="100644",u="--add"}await this.exec(["update-index",u,"--cacheinfo",l,s,r])}async checkout(e,t,r=Object.create(null)){let n=["checkout","-q"];r.track&&n.push("--track"),r.detached&&n.push("--detach"),e&&n.push(e);try{if(t&&t.length>0)for(let o of Gs(t.map(a=>this.sanitizeRelativePath(a)),vl))await this.exec([...n,"--",...o]);else await this.exec(n)}catch(o){throw/Please,? commit your changes or stash them/.test(o.stderr||"")?(o.gitErrorCode=Q.DirtyWorkTree,o.gitTreeish=e):/You are on a branch yet to be born/.test(o.stderr||"")&&(o.gitErrorCode=Q.BranchNotYetBorn),o}}async commit(e,t=Object.create(null)){let r=["commit","--quiet"],n={};e&&(n.input=e,r.push("--allow-empty-message","--file","-")),t.verbose&&r.push("--verbose"),t.all&&r.push("--all"),t.amend&&r.push("--amend"),t.useEditor||(e||(t.amend?r.push("--no-edit"):(n.input="",r.push("--file","-"))),r.push("--allow-empty-message")),t.signoff&&r.push("--signoff"),t.signCommit!==void 0&&(t.signCommit?r.push("-S"):r.push("--no-gpg-sign")),t.empty&&r.push("--allow-empty"),t.noVerify&&r.push("--no-verify"),(t.requireUserConfig??!0)&&r.splice(0,0,"-c","user.useConfigOnly=true");try{await this.exec(r,n)}catch(o){await this.handleCommitError(o)}}async rebaseAbort(){await this.exec(["rebase","--abort"])}async rebaseContinue(){let e=["rebase","--continue"];try{await this.exec(e,{env:{GIT_EDITOR:"true"}})}catch(t){await this.handleCommitError(t)}}async handleCommitError(e){if(e instanceof zt&&/not possible because you have unmerged files/.test(e.stderr||""))throw e.gitErrorCode=Q.UnmergedChanges,e;if(e instanceof zt&&/Aborting commit due to empty commit message/.test(e.stderr||""))throw e.gitErrorCode=Q.EmptyCommitMessage,e;try{await this.exec(["config","--get-all","user.name"])}catch(t){throw t.gitErrorCode=Q.NoUserNameConfigured,t}try{await this.exec(["config","--get-all","user.email"])}catch(t){throw t.gitErrorCode=Q.NoUserEmailConfigured,t}throw e}async branch(e,t,r){let n=t?["checkout","-q","-b",e,"--no-track"]:["branch","-q",e];r&&n.push(r),await this.exec(n)}async deleteBranch(e,t){let r=["branch",t?"-D":"-d",e];await this.exec(r)}async renameBranch(e){let t=["branch","-m",e];await this.exec(t)}async move(e,t){let r=["mv",e,t];await this.exec(r)}async setBranchUpstream(e,t){let r=["branch","--set-upstream-to",t,e];await this.exec(r)}async deleteRef(e){let t=["update-ref","-d",e];await this.exec(t)}async merge(e){let t=["merge",e];try{await this.exec(t)}catch(r){throw/^CONFLICT /m.test(r.stdout||"")&&(r.gitErrorCode=Q.Conflict),r}}async mergeAbort(){await this.exec(["merge","--abort"])}async tag(e){let t=["tag"];e.message?t=[...t,"-a",e.name,"-m",e.message]:t=[...t,e.name],e.ref&&t.push(e.ref),await this.exec(t)}async deleteTag(e){let t=["tag","-d",e];await this.exec(t)}async addWorktree(e){let t=["worktree","add"];e.branch&&t.push("-b",e.branch),e.noTrack&&t.push("--no-track"),t.push(e.path,e.commitish),await this.exec(t)}async deleteWorktree(e,t){let r=["worktree","remove"];t?.force&&r.push("--force"),r.push(e),await this.exec(r)}async deleteRemoteRef(e,t,r){let n=["push",e,"--delete"];r?.force&&n.push("--force"),n.push(t),await this.exec(n)}async clean(e){let t=RD(e.map(YD),s=>Pe.dirname(s)),r=Object.keys(t).map(s=>t[s]),n=new Fo(5),o=[],a=["clean","-f","-q"];for(let s of r)for(let c of Gs(s.map(l=>this.sanitizeRelativePath(l)),vl))o.push(n.queue(()=>this.exec([...a,"--",...c])));await Promise.all(o)}async undo(){await this.exec(["clean","-fd"]);try{await this.exec(["checkout","--","."])}catch(e){if(/did not match any file\(s\) known to git\./.test(e.stderr||""))return;throw e}}async reset(e,t=!1){let r=["reset",t?"--hard":"--soft",e];await this.exec(r)}async revert(e,t){let r=await this.exec(["branch"]),n;r.stdout?n=["reset","-q",e]:n=["rm","--cached","-r"];try{if(t&&t.length>0)for(let o of Gs(t.map(a=>this.sanitizeRelativePath(a)),vl))await this.exec([...n,"--",...o]);else await this.exec([...n,"--","."])}catch(o){if(/([^:]+: needs merge\n)+/m.test(o.stdout||""))return;throw o}}async restore(e,t){let r=["restore"];if(t?.staged&&r.push("--staged"),t?.ref&&r.push("--source",t.ref),e.length>0)for(let n of Gs(e.map(o=>this.sanitizeRelativePath(o)),vl))await this.exec([...r,"--",...n]);else await this.exec([...r,"--","."])}async addRemote(e,t){let r=["remote","add",e,t];await this.exec(r)}async removeRemote(e){let t=["remote","remove",e];await this.exec(t)}async renameRemote(e,t){let r=["remote","rename",e,t];await this.exec(r)}async fetch(e={}){let t=["fetch"],r={cancellationToken:e.cancellationToken,env:{GIT_HTTP_USER_AGENT:this.git.userAgent}};e.remote?(t.push(e.remote),e.ref&&t.push(e.ref)):e.all&&t.push("--all"),e.prune&&t.push("--prune"),typeof e.depth=="number"&&t.push(`--depth=${e.depth}`),e.silent&&(r.env.VSCODE_GIT_FETCH_SILENT="true");try{await this.exec(t,r)}catch(n){throw/No remote repository specified\./.test(n.stderr||"")?n.gitErrorCode=Q.NoRemoteRepositorySpecified:/Could not read from remote repository/.test(n.stderr||"")?n.gitErrorCode=Q.RemoteConnectionError:/! \[rejected\].*\(non-fast-forward\)/m.test(n.stderr||"")&&(n.gitErrorCode=Q.BranchFastForwardRejected),n}}async fetchTags(e){let t=["fetch"],r={env:{GIT_HTTP_USER_AGENT:this.git.userAgent}};t.push(e.remote);for(let n of e.tags)t.push(`refs/tags/${n}:refs/tags/${n}`);e.force&&t.push("--force"),await this.exec(t,r)}async pull(e,t,r,n={}){let o=["pull"];n.tags&&o.push("--tags"),n.unshallow&&o.push("--unshallow"),n.autoStash&&this._git.compareGitVersionTo("2.27.0")!==-1&&o.push("--autostash"),e&&o.push("-r"),t&&r&&(o.push(t),o.push(r));try{let a=await this.exec(o,{cancellationToken:n.cancellationToken,env:{GIT_HTTP_USER_AGENT:this.git.userAgent}});return!/Already up to date/i.test(a.stdout)}catch(a){throw/^CONFLICT \([^)]+\): \b/m.test(a.stdout||"")?a.gitErrorCode=Q.Conflict:/Please tell me who you are\./.test(a.stderr||"")?a.gitErrorCode=Q.NoUserNameConfigured:/Could not read from remote repository/.test(a.stderr||"")?a.gitErrorCode=Q.RemoteConnectionError:/Pull(?:ing)? is not possible because you have unmerged files|Cannot pull with rebase: You have unstaged changes|Your local changes to the following files would be overwritten|Please, commit your changes before you can merge/i.test(a.stderr)?(a.stderr=a.stderr.replace(/Cannot pull with rebase: You have unstaged changes/i,"Cannot pull with rebase, you have unstaged changes"),a.gitErrorCode=Q.DirtyWorkTree):/cannot lock ref|unable to update local ref/i.test(a.stderr||"")?a.gitErrorCode=Q.CantLockRef:/cannot rebase onto multiple branches/i.test(a.stderr||"")?a.gitErrorCode=Q.CantRebaseMultipleBranches:/! \[rejected\].*\(would clobber existing tag\)/m.test(a.stderr||"")&&(a.gitErrorCode=Q.TagConflict),a}}async rebase(e,t={}){let r=["rebase"];r.push(e);try{await this.exec(r,t)}catch(n){throw/^CONFLICT \([^)]+\): \b/m.test(n.stdout||"")?n.gitErrorCode=Q.Conflict:/cannot rebase onto multiple branches/i.test(n.stderr||"")&&(n.gitErrorCode=Q.CantRebaseMultipleBranches),n}}async push(e,t,r=!1,n=!1,o,a=!1){let s=["push"];o===En.ForceWithLease||o===En.ForceWithLeaseIfIncludes?(s.push("--force-with-lease"),o===En.ForceWithLeaseIfIncludes&&this._git.compareGitVersionTo("2.30")!==-1&&s.push("--force-if-includes")):o===En.Force&&s.push("--force"),r&&s.push("-u"),n&&s.push("--follow-tags"),a&&s.push("--tags"),e&&s.push(e),t&&s.push(t);try{await this.exec(s,{env:{GIT_HTTP_USER_AGENT:this.git.userAgent}})}catch(c){throw/^error: failed to push some refs to\b/m.test(c.stderr||"")?o===En.ForceWithLease&&/! \[rejected\].*\(stale info\)/m.test(c.stderr||"")?c.gitErrorCode=Q.ForcePushWithLeaseRejected:o===En.ForceWithLeaseIfIncludes&&/! \[rejected\].*\(remote ref updated since checkout\)/m.test(c.stderr||"")?c.gitErrorCode=Q.ForcePushWithLeaseIfIncludesRejected:c.gitErrorCode=Q.PushRejected:/Permission.*denied/.test(c.stderr||"")?c.gitErrorCode=Q.PermissionDenied:/Could not read from remote repository/.test(c.stderr||"")?c.gitErrorCode=Q.RemoteConnectionError:/^fatal: The current branch .* has no upstream branch/.test(c.stderr||"")&&(c.gitErrorCode=Q.NoUpstreamBranch),c}}async cherryPick(e){try{await this.exec(["cherry-pick",e])}catch(t){throw/The previous cherry-pick is now empty, possibly due to conflict resolution./.test(t.stderr??"")?(await this.cherryPickAbort(),t.gitErrorCode=Q.CherryPickEmpty):t.gitErrorCode=Q.CherryPickConflict,t}}async cherryPickAbort(){await this.exec(["cherry-pick","--abort"])}async blame(e){try{let t=["blame","--",this.sanitizeRelativePath(e)];return(await this.exec(t)).stdout.trim()}catch(t){throw/^fatal: no such path/.test(t.stderr||"")&&(t.gitErrorCode=Q.NoPathFound),t}}async blame2(e,t,r){try{let n=["blame","--root","--incremental"];r&&n.push("-w"),t&&n.push(t),n.push("--",this.sanitizeRelativePath(e));let o=await this.exec(n);return Dk(o.stdout.trim())}catch{return}}async createStash(e,t,r){try{let n=["stash","push"];t&&n.push("-u"),r&&n.push("-S"),e&&n.push("-m",e),await this.exec(n)}catch(n){throw/No local changes to save/.test(n.stderr||"")&&(n.gitErrorCode=Q.NoLocalChanges),n}}async popStash(e,t){let r=["stash","pop"];t?.reinstateStagedChanges&&r.push("--index"),await this.popOrApplyStash(r,e)}async applyStash(e,t){let r=["stash","apply"];t?.reinstateStagedChanges&&r.push("--index"),await this.popOrApplyStash(r,e)}async popOrApplyStash(e,t){try{typeof t=="number"&&e.push(`stash@{${t}}`),await this.exec(e)}catch(r){throw/No stash found/.test(r.stderr||"")?r.gitErrorCode=Q.NoStashFound:/error: Your local changes to the following files would be overwritten/.test(r.stderr||"")?r.gitErrorCode=Q.LocalChangesOverwritten:/^CONFLICT/m.test(r.stdout||"")&&(r.gitErrorCode=Q.StashConflict),r}}async dropStash(e){let t=["stash"];typeof e=="number"?(t.push("drop"),t.push(`stash@{${e}}`)):t.push("clear");try{await this.exec(t)}catch(r){throw/No stash found/.test(r.stderr||"")&&(r.gitErrorCode=Q.NoStashFound),r}}async showStash(e){let t=["stash","show",`stash@{${e}}`,"--name-status","-z","-u"];try{let r=await this.exec(t);return r.exitCode?[]:kD(this.repositoryRoot,r.stdout.trim())}catch(r){if(/No stash found/.test(r.stderr||""))return;throw r}}async getStatus(e){if(e?.cancellationToken&&e?.cancellationToken.isCancellationRequested)throw new Ar.CancellationError;let t=[],r={GIT_OPTIONAL_LOCKS:"0"},n=["status","-z"];e?.untrackedChanges==="hidden"?n.push("-uno"):n.push("-uall"),e?.ignoreSubmodules&&n.push("--ignore-submodules"),e?.similarityThreshold&&e.similarityThreshold!==50&&this._git.compareGitVersionTo("2.18.0")!==-1&&n.push(`--find-renames=${e.similarityThreshold}%`);let o=this.stream(n,{env:r}),a=new Promise((s,c)=>{let l=new lv,u=p=>{if(p!==0){let _=h.join("");return c(new zt({message:"Failed to execute git",stderr:_,exitCode:p,gitErrorCode:WD(_),gitCommand:"status",gitArgs:n}))}s({status:l.status,statusLength:l.status.length,didHitLimit:!1})},f=e?.limit??1e4,m=p=>{l.update(p),f!==0&&l.status.length>f&&(o.removeListener("close",u),o.stdout?.removeListener("data",m),o.kill(),s({status:l.status.slice(0,f),statusLength:l.status.length,didHitLimit:!0}))};o.stdout&&(o.stdout.setEncoding("utf8"),o.stdout.on("data",m));let h=[];o.stderr&&(o.stderr.setEncoding("utf8"),o.stderr.on("data",p=>h.push(p))),o.on("error",uv(c)),o.on("close",u)});if(e?.cancellationToken){let s=new Promise((c,l)=>{t.push(Go(e.cancellationToken.onCancellationRequested)(()=>{try{o.kill()}catch{}l(new Ar.CancellationError)}))});a=Promise.race([a,s])}try{let{status:s,statusLength:c,didHitLimit:l}=await a;return{status:s,statusLength:c,didHitLimit:l}}finally{Le(t)}}async getHEADRef(){let e;try{if(e=await this.getHEAD(),e.name){if(e=await this.getBranch(e.name),e&&e.upstream){let t=e.upstream.remote!=="."?`refs/remotes/${e.upstream.remote}/${e.upstream.name}`:`refs/heads/${e.upstream.name}`,r=await this.revParse(t);e={...e,upstream:{...e.upstream,commit:r}}}}else if(e.commit){let r=(await this.getRefs({pattern:"refs/tags"})).find(n=>n.commit===e.commit);r&&(e={...e,name:r.name,type:de.Tag})}}catch{}return e}async getHEAD(){if(!this._isUsingRefTable)try{let t=await this.getHEADFS();if(t.name===".invalid")this._isUsingRefTable=!0,this.logger.warn("[Git][getHEAD] Failed to parse HEAD file: Repository is using reftable format.");else return t}catch(t){this.logger.warn(`[Git][getHEAD] Failed to parse HEAD file: ${t.message}`)}try{let t=await this.exec(["symbolic-ref","--short","HEAD"]);if(!t.stdout)throw new Error("Not in a branch");return{name:t.stdout.trim(),commit:void 0,type:de.Head}}catch{}let e=await this.exec(["rev-parse","HEAD"]);if(!e.stdout)throw new Error("Error parsing HEAD");return{name:void 0,commit:e.stdout.trim(),type:de.Head}}async getHEADFS(){let e=await Yr.promises.readFile(Pe.join(this.dotGit.path,"HEAD"),"utf8"),t=e.match(/^ref: refs\/heads\/(?<name>.*)$/m);if(t?.groups?.name)return{name:t.groups.name,commit:void 0,type:de.Head};let r=e.match(/^(?<commit>[0-9a-f]{40})$/m);if(r?.groups?.commit)return{name:void 0,commit:r.groups.commit,type:de.Head};throw new Error(`Unable to parse HEAD file. HEAD file contents: ${e}.`)}async findTrackingBranches(e){return(await this.exec(["for-each-ref","--format","%(refname:short)%00%(upstream:short)","refs/heads"])).stdout.trim().split(`
`).map(r=>r.trim().split("\0")).filter(([r,n])=>n===e).map(([r])=>({name:r,type:de.Head}))}async getRefs(e,t){if(t&&t.isCancellationRequested)throw new Ar.CancellationError;let r=["for-each-ref"];if(e.count&&r.push(`--count=${e.count}`),e.sort&&e.sort!=="alphabetically"&&r.push("--sort",`-${e.sort}`),e.includeCommitDetails){let o=this._git.compareGitVersionTo("1.9.0")!==-1?`${OD}%00%(upstream:track)`:OD;r.push("--format",o)}else r.push("--format",KD);if(e.pattern){let o=Array.isArray(e.pattern)?e.pattern:[e.pattern];for(let a of o)r.push(a.startsWith("refs/")?a:`refs/${a}`)}e.contains&&r.push("--contains",e.contains);let n=await this.exec(r,{cancellationToken:t});return Rk(n.stdout)}async getRemoteRefs(e,t){if(t?.cancellationToken&&t?.cancellationToken.isCancellationRequested)throw new Ar.CancellationError;let r=["ls-remote"];t?.heads&&r.push("--heads"),t?.tags&&r.push("--tags"),r.push(e);let n=await this.exec(r,{cancellationToken:t?.cancellationToken}),o=a=>{let s;return(s=/^([0-9a-f]{40})\trefs\/heads\/([^ ]+)$/.exec(a))?{name:s[1],commit:s[2],type:de.Head}:(s=/^([0-9a-f]{40})\trefs\/tags\/([^ ]+)$/.exec(a))?{name:s[2],commit:s[1],type:de.Tag}:null};return n.stdout.split(`
`).filter(a=>!!a).map(o).filter(a=>!!a)}async getStashes(){let e=await this.exec(["stash","list",`--format=${pk}`,"-z"]);return Ek(e.stdout.trim())}async getWorktrees(){return await this.getWorktreesFS()}async getWorktreesFS(){let e=[],t=this.dotGit.commonPath??this.dotGit.path;try{if(!this.dotGit.isBare){let o=Pe.join(t,"HEAD"),a=(await Yr.promises.readFile(o,"utf8")).trim(),s=Pe.basename(Pe.dirname(t));e.push({name:s,path:Pe.dirname(t),ref:a.replace(/^ref: /,""),detached:!a.startsWith("ref: "),main:!0})}let r=Pe.join(t,"worktrees"),n=await Yr.promises.readdir(r,{withFileTypes:!0});for(let o of n)if(o.isDirectory())try{let a=Pe.join(r,o.name,"HEAD"),s=(await Yr.promises.readFile(a,"utf8")).trim(),c=Pe.join(r,o.name,"gitdir"),l=(await Yr.promises.readFile(c,"utf8")).trim();e.push({name:o.name,path:l.replace(/\/.git.*$/,""),ref:s.replace(/^ref: /,""),detached:!s.startsWith("ref: "),main:!1})}catch(a){if(/ENOENT/.test(a.message))continue;throw a}return e}catch(r){if(/ENOENT/.test(r.message)||/ENOTDIR/.test(r.message))return e;throw r}}async getRemotes(){let e=[];try{e.push(...await this.getRemotesFS()),e.length===0&&this.logger.info("[Git][getRemotes] No remotes found in the git config file")}catch(t){this.logger.warn(`[Git][getRemotes] Error: ${t.message}`),e.push(...await this.getRemotesGit())}for(let t of e)t.isReadOnly=t.pushUrl===void 0||t.pushUrl==="no_push";return e}async getRemotesFS(){let e=await Yr.promises.readFile(Pe.join(this.dotGit.commonPath??this.dotGit.path,"config"),"utf8");return gk(e)}async getRemotesGit(){let e=[],r=(await this.exec(["remote","--verbose"])).stdout.trim().split(`
`).filter(n=>!!n);for(let n of r){let o=n.split(/\s/),[a,s,c]=o,l=e.find(u=>u.name===a);l||(l={name:a,isReadOnly:!1},e.push(l)),/fetch/i.test(c)?l.fetchUrl=s:(/push/i.test(c)||(l.fetchUrl=s),l.pushUrl=s)}return e}async getBranch(e){if(e==="HEAD")return this.getHEAD();let t=["for-each-ref"],r=!0;this._git.compareGitVersionTo("1.9.0")===-1?(t.push("--format=%(refname)%00%(upstream:short)%00%(objectname)"),r=!1):this._git.compareGitVersionTo("2.16.0")===-1?t.push("--format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)"):t.push("--format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref)"),this.git.compareGitVersionTo("2.12")!==-1&&(Cn||Xy)&&t.push("--ignore-case"),/^refs\/(heads|remotes)\//i.test(e)?t.push(e):t.push(`refs/heads/${e}`,`refs/remotes/${e}`);let o=(await this.exec(t)).stdout.trim().split(`
`).map(a=>{let[s,c,l,u,f,m]=a.trim().split("\0");if(s.startsWith("refs/heads/")){s=s.substring(11);let h=c.indexOf("/"),p,_,b=/\[(?:ahead ([0-9]+))?[,\s]*(?:behind ([0-9]+))?]|\[gone]/.exec(u);return b&&([,p,_]=b),{type:de.Head,name:s,upstream:c!==""&&u!=="[gone]"?{name:m?m.substring(11):c.substring(h+1),remote:f||c.substring(0,h)}:void 0,commit:l||void 0,ahead:Number(p)||0,behind:Number(_)||0}}else if(s.startsWith("refs/remotes/")){s=s.substring(13);let h=s.indexOf("/");return{type:de.RemoteHead,name:s.substring(h+1),remote:s.substring(0,h),commit:l}}else return}).filter(a=>!!a);if(o.length){let[a]=o;if(!r&&a.upstream)try{let s=await this.exec(["rev-list","--left-right","--count",`${a.name}...${a.upstream.remote}/${a.upstream.name}`]),[c,l]=s.stdout.trim().split(" ");a.ahead=Number(c)||0,a.behind=Number(l)||0}catch{}return a}return this.logger.warn(`[Git][getBranch] No such branch: ${e}`),Promise.reject(new Error(`No such branch: ${e}.`))}async getDefaultBranch(e){let t=await this.exec(["symbolic-ref","--short",`refs/remotes/${e}/HEAD`]);if(!t.stdout||t.stderr)throw new Error("No default branch");return this.getBranch(t.stdout.trim())}stripCommitMessageComments(e){return e.replace(/^\s*#.*$\n?/gm,"").trim()}async getSquashMessage(){let e=Pe.join(this.repositoryRoot,".git","SQUASH_MSG");try{let t=await Yr.promises.readFile(e,"utf8");return this.stripCommitMessageComments(t)}catch{return}}async getMergeMessage(){let e=Pe.join(this.repositoryRoot,".git","MERGE_MSG");try{let t=await Yr.promises.readFile(e,"utf8");return this.stripCommitMessageComments(t)}catch{return}}async getCommitTemplate(){try{let e=await this.exec(["config","--get","commit.template"]);if(!e.stdout)return"";let t=Am.homedir(),r=e.stdout.trim().replace(/^~([^\/]*)\//,(o,a)=>`${a?Pe.join(Pe.dirname(t),a):t}/`);Pe.isAbsolute(r)||(r=Pe.join(this.repositoryRoot,r));let n=await Yr.promises.readFile(r,"utf8");return this.stripCommitMessageComments(n)}catch{return""}}async getCommit(e){let t=await this.exec(["show","-s","--decorate=full","--shortstat",`--format=${av}`,"-z",e,"--"]),r=sv(t.stdout);return r.length===0?Promise.reject("bad commit format"):r[0]}async showChanges(e){try{return(await this.exec(["log","-p","-n1",e,"--"])).stdout.trim()}catch(t){throw/^fatal: bad revision '.+'/.test(t.stderr||"")&&(t.gitErrorCode=Q.BadRevision),t}}async showChangesBetween(e,t,r){try{let n=["log","-p",`${e}..${t}`,"--"];return r&&n.push(this.sanitizeRelativePath(r)),(await this.exec(n)).stdout.trim()}catch(n){throw/^fatal: bad revision '.+'/.test(n.stderr||"")&&(n.gitErrorCode=Q.BadRevision),n}}async revList(e,t){let r=await this.exec(["rev-list",`${e}..${t}`]);return r.stderr?[]:r.stdout.trim().split(`
`)}async revParse(e){try{return(await Yr.promises.readFile(Pe.join(this.dotGit.path,e),"utf8")).trim()}catch(t){this.logger.warn(`[Git][revParse] Unable to read file: ${t.message}`)}try{let t=await this.exec(["rev-parse",e]);return t.stderr?void 0:t.stdout.trim()}catch{return}}async updateSubmodules(e){let t=["submodule","update"];for(let r of Gs(e.map(n=>this.sanitizeRelativePath(n)),vl))await this.exec([...t,"--",...r])}async getSubmodules(){let e=Pe.join(this.root,".gitmodules");try{let t=await Yr.promises.readFile(e,"utf8");return hk(t)}catch(t){if(/ENOENT/.test(t.message))return[];throw t}}sanitizeRelativePath(e){if(this.logger.trace(`[Git][sanitizeRelativePath] filePath: ${e}`),!Pe.isAbsolute(e))return e=Im(e),this.logger.trace(`[Git][sanitizeRelativePath] relativePath (noop): ${e}`),e;let t;return this.repositoryRootRealPath&&(t=xm(this.repositoryRootRealPath,e),t)?(t=Im(t),this.logger.trace(`[Git][sanitizeRelativePath] relativePath (real path): ${t}`),t):(t=xm(this.repositoryRoot,e),t?(t=Im(t),this.logger.trace(`[Git][sanitizeRelativePath] relativePath (path): ${t}`),t):(e=Im(Pe.relative(this.repositoryRoot,e)),this.logger.trace(`[Git][sanitizeRelativePath] relativePath (fallback): ${e}`),e))}};var K=require("vscode");var TR=require("@vscode/fs-copyfile");var jD=i=>{i=1831565813+(i|=0)|0;let e=Math.imul(i^i>>>15,1|i);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296},dv=class{constructor(e){this.dictionaries=void 0,this.length=void 0,this.separator=void 0,this.style=void 0,this.seed=void 0;let{length:t,separator:r,dictionaries:n,style:o,seed:a}=e;this.dictionaries=n,this.separator=r,this.length=t,this.style=o,this.seed=a}generate(){if(!this.dictionaries)throw new Error('Cannot find any dictionary. Please provide at least one, or leave the "dictionary" field empty in the config object');if(this.length<=0)throw new Error("Invalid length provided");if(this.length>this.dictionaries.length)throw new Error(`The length cannot be bigger than the number of dictionaries.
Length provided: ${this.length}. Number of dictionaries provided: ${this.dictionaries.length}`);let e=this.seed;return this.dictionaries.slice(0,this.length).reduce((t,r)=>{let n;e?(n=(a=>{if(typeof a=="string"){let s=a.split("").map(l=>l.charCodeAt(0)).reduce((l,u)=>l+u,1),c=Math.floor(Number(s));return jD(c)}return jD(a)})(e),e=4294967296*n):n=Math.random();let o=r[Math.floor(n*r.length)]||"";if(this.style==="lowerCase")o=o.toLowerCase();else if(this.style==="capital"){let[a,...s]=o.split("");o=a.toUpperCase()+s.join("")}else this.style==="upperCase"&&(o=o.toUpperCase());return t?`${t}${this.separator}${o}`:`${o}`},"")}},zD={separator:"_",dictionaries:[]},VD=i=>{let e=[...i&&i.dictionaries||zD.dictionaries],t={...zD,...i,length:i&&i.length||e.length,dictionaries:e};if(!i||!i.dictionaries||!i.dictionaries.length)throw new Error('A "dictionaries" array must be provided. This is a breaking change introduced starting from Unique Name Generator v4. Read more about the breaking change here: https://github.com/andreasonny83/unique-names-generator#migration-guide');return new dv(t).generate()},JD=["able","above","absent","absolute","abstract","abundant","academic","acceptable","accepted","accessible","accurate","accused","active","actual","acute","added","additional","adequate","adjacent","administrative","adorable","advanced","adverse","advisory","aesthetic","afraid","aggregate","aggressive","agreeable","agreed","agricultural","alert","alive","alleged","allied","alone","alright","alternative","amateur","amazing","ambitious","amused","ancient","angry","annoyed","annual","anonymous","anxious","appalling","apparent","applicable","appropriate","arbitrary","architectural","armed","arrogant","artificial","artistic","ashamed","asleep","assistant","associated","atomic","attractive","automatic","autonomous","available","average","awake","aware","awful","awkward","back","bad","balanced","bare","basic","beautiful","beneficial","better","bewildered","big","binding","biological","bitter","bizarre","blank","blonde","blushing","boiling","bold","bored","boring","bottom","brainy","brave","breakable","breezy","brief","bright","brilliant","broad","broken","bumpy","burning","busy","calm","capable","careful","casual","causal","cautious","central","certain","changing","characteristic","charming","cheap","cheerful","chemical","chief","chilly","chosen","chronic","chubby","circular","civic","civil","classic","classical","clean","clear","clever","clinical","close","closed","cloudy","clumsy","coastal","cognitive","coherent","cold","collective","colorful","colossal","coloured","colourful","combined","comfortable","commercial","common","compact","comparable","comparative","compatible","competent","competitive","complete","complex","complicated","comprehensive","compulsory","conceptual","concerned","concrete","condemned","confident","confidential","confused","conscious","conservation","considerable","consistent","constant","constitutional","contemporary","content","continental","continued","continuing","continuous","controlled","controversial","convenient","conventional","convinced","convincing","cooing","cool","cooperative","corporate","correct","corresponding","costly","courageous","creative","creepy","criminal","critical","crooked","crowded","crucial","crude","cruel","cuddly","cultural","curious","curly","current","curved","cute","daily","damaged","damp","dangerous","dark","dead","deafening","dear","decent","decisive","deep","defeated","defensive","defiant","definite","deliberate","delicate","delicious","delighted","delightful","democratic","dependent","depressed","desirable","desperate","detailed","determined","developed","developing","devoted","different","difficult","digital","diplomatic","direct","dirty","disappointed","disastrous","disciplinary","disgusted","distant","distinct","distinctive","distinguished","disturbed","disturbing","diverse","divine","dizzy","domestic","dominant","double","doubtful","drab","dramatic","dreadful","driving","dry","dual","due","dull","dusty","dutch","dying","dynamic","eager","early","eastern","easy","economic","educational","eerie","effective","efficient","elaborate","elated","elderly","eldest","electoral","electric","electrical","electronic","elegant","eligible","embarrassed","embarrassing","emotional","empirical","empty","enchanting","encouraging","endless","energetic","enormous","enthusiastic","entire","entitled","envious","environmental","equal","equivalent","essential","established","estimated","ethical","eventual","everyday","evident","evil","evolutionary","exact","excellent","exceptional","excess","excessive","excited","exciting","exclusive","existing","exotic","expected","expensive","experienced","experimental","explicit","extended","extensive","external","extra","extraordinary","extreme","exuberant","faint","fair","faithful","familiar","famous","fancy","fantastic","far","fascinating","fashionable","fast","fatal","favourable","favourite","federal","fellow","few","fierce","final","financial","fine","firm","fiscal","fit","fixed","flaky","flat","flexible","fluffy","fluttering","flying","following","fond","foolish","foreign","formal","formidable","forthcoming","fortunate","forward","fragile","frail","frantic","free","frequent","fresh","friendly","frightened","front","frozen","full","fun","functional","fundamental","funny","furious","future","fuzzy","gastric","general","generous","genetic","gentle","genuine","geographical","giant","gigantic","given","glad","glamorous","gleaming","global","glorious","golden","good","gorgeous","gothic","governing","graceful","gradual","grand","grateful","greasy","great","grieving","grim","gross","grotesque","growing","grubby","grumpy","guilty","handsome","happy","hard","harsh","head","healthy","heavy","helpful","helpless","hidden","high","hilarious","hissing","historic","historical","hollow","holy","homely","hon","honest","horizontal","horrible","hostile","hot","huge","human","hungry","hurt","hushed","husky","icy","ideal","identical","ideological","ill","illegal","imaginative","immediate","immense","implicit","important","impossible","impressed","impressive","improved","inadequate","inc","inclined","increased","increasing","incredible","independent","indirect","individual","industrial","inevitable","influential","informal","inherent","initial","injured","inland","inner","innocent","innovative","inquisitive","instant","institutional","insufficient","intact","integral","integrated","intellectual","intelligent","intense","intensive","interested","interesting","interim","interior","intermediate","internal","international","invisible","involved","irrelevant","isolated","itchy","jealous","jittery","joint","jolly","joyous","judicial","juicy","junior","just","keen","key","kind","known","labour","large","late","latin","lazy","leading","left","legal","legislative","legitimate","lengthy","lesser","level","lexical","liable","light","like","likely","limited","linear","linguistic","liquid","literary","little","live","lively","living","local","logical","lonely","long","loose","lost","loud","lovely","low","loyal","ltd","lucky","mad","magic","magnetic","magnificent","main","major","mammoth","managerial","managing","manual","many","marginal","marine","marked","married","marvellous","mass","massive","mathematical","mature","maximum","mean","meaningful","mechanical","medical","medieval","melodic","melted","mental","mere","metropolitan","mid","middle","mighty","mild","military","miniature","minimal","minimum","ministerial","minor","miserable","misleading","missing","misty","mixed","moaning","mobile","moderate","modern","modest","molecular","monetary","monthly","moral","motionless","muddy","multiple","mushy","musical","mutual","mysterious","naked","narrow","nasty","national","natural","naughty","naval","near","nearby","neat","necessary","negative","neighbouring","nervous","net","neutral","new","nice","noble","noisy","normal","northern","nosy","notable","novel","nuclear","numerous","nursing","nutritious","nutty","obedient","objective","obliged","obnoxious","obvious","occasional","occupational","odd","official","ok","okay","old","only","open","operational","opposite","optimistic","ordinary","organic","organisational","original","orthodox","other","outdoor","outer","outrageous","outside","outstanding","overall","overseas","overwhelming","painful","pale","panicky","parallel","parental","parliamentary","partial","particular","passing","passive","past","patient","payable","peaceful","peculiar","perfect","permanent","persistent","personal","petite","philosophical","physical","plain","planned","plastic","pleasant","pleased","poised","polite","poor","popular","positive","possible","potential","powerful","practical","precious","precise","preferred","pregnant","preliminary","premier","prepared","present","presidential","pretty","previous","prickly","primary","prime","principal","printed","prior","private","probable","productive","professional","profitable","profound","progressive","prominent","promising","proper","proposed","prospective","protective","proud","provincial","psychiatric","psychological","public","puny","pure","purring","puzzled","quaint","qualified","quarrelsome","querulous","quick","quickest","quiet","quintessential","quixotic","racial","radical","rainy","random","rapid","rare","raspy","rational","ratty","raw","ready","real","realistic","rear","reasonable","recent","reduced","redundant","regional","registered","regular","regulatory","related","relative","relaxed","relevant","reliable","relieved","religious","reluctant","remaining","remarkable","remote","renewed","representative","repulsive","required","resident","residential","resonant","respectable","respective","responsible","resulting","retail","retired","revolutionary","rich","ridiculous","right","rigid","ripe","rising","rival","roasted","robust","rolling","romantic","rotten","rough","round","royal","rubber","rude","ruling","running","rural","sacred","sad","safe","salty","satisfactory","satisfied","scared","scary","scattered","scientific","scornful","scrawny","screeching","secondary","secret","secure","select","selected","selective","selfish","semantic","senior","sensible","sensitive","separate","serious","severe","shaggy","shaky","shallow","shared","sharp","sheer","shiny","shivering","shocked","short","shrill","shy","sick","significant","silent","silky","silly","similar","simple","single","skilled","skinny","sleepy","slight","slim","slimy","slippery","slow","small","smart","smiling","smoggy","smooth","social","soft","solar","sole","solid","sophisticated","sore","sorry","sound","sour","southern","spare","sparkling","spatial","special","specific","specified","spectacular","spicy","spiritual","splendid","spontaneous","sporting","spotless","spotty","square","squealing","stable","stale","standard","static","statistical","statutory","steady","steep","sticky","stiff","still","stingy","stormy","straight","straightforward","strange","strategic","strict","striking","striped","strong","structural","stuck","subjective","subsequent","substantial","subtle","successful","successive","sudden","sufficient","suitable","sunny","super","superb","superior","supporting","supposed","supreme","sure","surprised","surprising","surrounding","surviving","suspicious","sweet","swift","symbolic","sympathetic","systematic","tall","tame","tart","tasteless","tasty","technical","technological","teenage","temporary","tender","tense","terrible","territorial","testy","then","theoretical","thick","thin","thorough","thoughtful","thoughtless","thundering","tight","tiny","tired","top","total","tough","toxic","traditional","tragic","tremendous","tricky","tropical","troubled","typical","ugliest","ugly","ultimate","unable","unacceptable","unaware","uncertain","unchanged","uncomfortable","unconscious","underground","underlying","unemployed","uneven","unexpected","unfair","unfortunate","unhappy","uniform","uninterested","unique","united","universal","unknown","unlikely","unnecessary","unpleasant","unsightly","unusual","unwilling","upper","upset","uptight","urban","urgent","used","useful","useless","usual","vague","valid","valuable","variable","varied","various","varying","vast","verbal","vertical","very","vicarious","vicious","victorious","violent","visible","visiting","visual","vital","vitreous","vivacious","vivid","vocal","vocational","voiceless","voluminous","voluntary","vulnerable","wandering","warm","wasteful","watery","weak","wealthy","weary","wee","weekly","weird","welcome","well","western","wet","whispering","whole","wicked","wide","widespread","wild","wilful","willing","willowy","wily","wise","wispy","wittering","witty","wonderful","wooden","working","worldwide","worried","worrying","worthwhile","worthy","written","wrong","xenacious","xenial","xenogeneic","xeric","xerothermic","yabbering","yammering","yappiest","yappy","yawning","yearling","yearning","yeasty","yelling","yelping","yielding","yodelling","young","youngest","youthful","ytterbic","yucky","yummy","zany","zealous","zeroth","zestful","zesty","zippy","zonal","zoophagous","zygomorphic","zygotic"],qD=["aardvark","aardwolf","albatross","alligator","alpaca","amphibian","anaconda","angelfish","anglerfish","ant","anteater","antelope","antlion","ape","aphid","armadillo","asp","baboon","badger","bandicoot","barnacle","barracuda","basilisk","bass","bat","bear","beaver","bedbug","bee","beetle","bird","bison","blackbird","boa","boar","bobcat","bobolink","bonobo","bovid","bug","butterfly","buzzard","camel","canid","canidae","capybara","cardinal","caribou","carp","cat","caterpillar","catfish","catshark","cattle","centipede","cephalopod","chameleon","cheetah","chickadee","chicken","chimpanzee","chinchilla","chipmunk","cicada","clam","clownfish","cobra","cockroach","cod","condor","constrictor","coral","cougar","cow","coyote","crab","crane","crawdad","crayfish","cricket","crocodile","crow","cuckoo","damselfly","deer","dingo","dinosaur","dog","dolphin","donkey","dormouse","dove","dragon","dragonfly","duck","eagle","earthworm","earwig","echidna","eel","egret","elephant","elk","emu","ermine","falcon","felidae","ferret","finch","firefly","fish","flamingo","flea","fly","flyingfish","fowl","fox","frog","galliform","gamefowl","gayal","gazelle","gecko","gerbil","gibbon","giraffe","goat","goldfish","goose","gopher","gorilla","grasshopper","grouse","guan","guanaco","guineafowl","gull","guppy","haddock","halibut","hamster","hare","harrier","hawk","hedgehog","heron","herring","hippopotamus","hookworm","hornet","horse","hoverfly","hummingbird","hyena","iguana","impala","jackal","jaguar","jay","jellyfish","junglefowl","kangaroo","kingfisher","kite","kiwi","koala","koi","krill","ladybug","lamprey","landfowl","lark","leech","lemming","lemur","leopard","leopon","limpet","lion","lizard","llama","lobster","locust","loon","louse","lungfish","lynx","macaw","mackerel","magpie","mammal","manatee","mandrill","marlin","marmoset","marmot","marsupial","marten","mastodon","meadowlark","meerkat","mink","minnow","mite","mockingbird","mole","mollusk","mongoose","monkey","moose","mosquito","moth","mouse","mule","muskox","narwhal","newt","nightingale","ocelot","octopus","opossum","orangutan","orca","ostrich","otter","owl","ox","panda","panther","parakeet","parrot","parrotfish","partridge","peacock","peafowl","pelican","penguin","perch","pheasant","pig","pigeon","pike","pinniped","piranha","planarian","platypus","pony","porcupine","porpoise","possum","prawn","primate","ptarmigan","puffin","puma","python","quail","quelea","quokka","rabbit","raccoon","rat","rattlesnake","raven","reindeer","reptile","rhinoceros","roadrunner","rodent","rook","rooster","roundworm","sailfish","salamander","salmon","sawfish","scallop","scorpion","seahorse","shark","sheep","shrew","shrimp","silkworm","silverfish","skink","skunk","sloth","slug","smelt","snail","snake","snipe","sole","sparrow","spider","spoonbill","squid","squirrel","starfish","stingray","stoat","stork","sturgeon","swallow","swan","swift","swordfish","swordtail","tahr","takin","tapir","tarantula","tarsier","termite","tern","thrush","tick","tiger","tiglon","toad","tortoise","toucan","trout","tuna","turkey","turtle","tyrannosaurus","unicorn","urial","vicuna","viper","vole","vulture","wallaby","walrus","warbler","wasp","weasel","whale","whippet","whitefish","wildcat","wildebeest","wildfowl","wolf","wolverine","wombat","woodpecker","worm","wren","xerinae","yak","zebra"],QD=["amaranth","amber","amethyst","apricot","aqua","aquamarine","azure","beige","black","blue","blush","bronze","brown","chocolate","coffee","copper","coral","crimson","cyan","emerald","fuchsia","gold","gray","green","harlequin","indigo","ivory","jade","lavender","lime","magenta","maroon","moccasin","olive","orange","peach","pink","plum","purple","red","rose","salmon","sapphire","scarlet","silver","tan","teal","tomato","turquoise","violet","white","yellow"];var Om=class{static generate(e={}){let t=e.min||1,r=e.max||999;if(e.length){let n=Math.pow(10,e.length);return t=n/10,r=n-1,[`${Math.floor(Math.random()*(r-t))+t}`]}return[`${Math.floor(Math.random()*(r-t))+t}`]}};var xn=tt(require("fs")),IR=tt(require("fs/promises")),Ye=tt(require("path")),Nv=tt(_R()),v=require("vscode");var gt=require("vscode");var ae={Add:i=>({kind:"Add",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:i}),Apply:{kind:"Apply",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Blame:i=>({kind:"Blame",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:i}),Branch:{kind:"Branch",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},CheckIgnore:{kind:"CheckIgnore",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!1},CherryPick:{kind:"CherryPick",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Checkout:i=>({kind:"Checkout",blocking:!0,readOnly:!1,remote:!1,retry:!1,showProgress:!0,refLabel:i}),CheckoutTracking:i=>({kind:"CheckoutTracking",blocking:!0,readOnly:!1,remote:!1,retry:!1,showProgress:!0,refLabel:i}),Clean:i=>({kind:"Clean",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:i}),Commit:{kind:"Commit",blocking:!0,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Config:i=>({kind:"Config",blocking:!1,readOnly:i,remote:!1,retry:!1,showProgress:!1}),DeleteBranch:{kind:"DeleteBranch",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},DeleteRef:{kind:"DeleteRef",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},DeleteRemoteRef:{kind:"DeleteRemoteRef",blocking:!1,readOnly:!1,remote:!0,retry:!1,showProgress:!0},DeleteTag:{kind:"DeleteTag",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Diff:{kind:"Diff",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!1},Fetch:i=>({kind:"Fetch",blocking:!1,readOnly:!1,remote:!0,retry:!0,showProgress:i}),FindTrackingBranches:{kind:"GetTracking",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!0},GetBranch:{kind:"GetBranch",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!1},GetBranches:{kind:"GetBranches",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!0},GetCommitTemplate:{kind:"GetCommitTemplate",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!0},GetObjectDetails:{kind:"GetObjectDetails",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!1},GetObjectFiles:{kind:"GetObjectFiles",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!1},GetRefs:{kind:"GetRefs",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!1},GetRemoteRefs:{kind:"GetRemoteRefs",blocking:!1,readOnly:!0,remote:!0,retry:!1,showProgress:!1},HashObject:{kind:"HashObject",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Ignore:{kind:"Ignore",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Log:i=>({kind:"Log",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:i}),LogFile:{kind:"LogFile",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!1},Merge:{kind:"Merge",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},MergeAbort:{kind:"MergeAbort",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},MergeBase:{kind:"MergeBase",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!0},Move:{kind:"Move",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},PostCommitCommand:{kind:"PostCommitCommand",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Pull:{kind:"Pull",blocking:!0,readOnly:!1,remote:!0,retry:!0,showProgress:!0},Push:{kind:"Push",blocking:!0,readOnly:!1,remote:!0,retry:!1,showProgress:!0},Remote:{kind:"Remote",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},RenameBranch:{kind:"RenameBranch",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Remove:{kind:"Remove",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Reset:{kind:"Reset",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Rebase:{kind:"Rebase",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},RebaseAbort:{kind:"RebaseAbort",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},RebaseContinue:{kind:"RebaseContinue",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Refresh:{kind:"Refresh",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Restore:i=>({kind:"Restore",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:i}),RevertFiles:i=>({kind:"RevertFiles",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:i}),RevList:{kind:"RevList",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!1},RevParse:{kind:"RevParse",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!1},SetBranchUpstream:{kind:"SetBranchUpstream",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Show:{kind:"Show",blocking:!1,readOnly:!0,remote:!1,retry:!1,showProgress:!1},Stage:{kind:"Stage",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Status:{kind:"Status",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Stash:i=>({kind:"Stash",blocking:!1,readOnly:i,remote:!1,retry:!1,showProgress:!0}),SubmoduleUpdate:{kind:"SubmoduleUpdate",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Sync:{kind:"Sync",blocking:!0,readOnly:!1,remote:!0,retry:!0,showProgress:!0},Tag:{kind:"Tag",blocking:!1,readOnly:!1,remote:!1,retry:!1,showProgress:!0},Worktree:i=>({kind:"Worktree",blocking:!1,readOnly:i,remote:!1,retry:!1,showProgress:!0})},Fm=class{constructor(e){this.logger=e}logger;operations=new Map;start(e){this.operations.has(e.kind)?this.operations.get(e.kind).add(e):this.operations.set(e.kind,new Set([e])),this.logger.trace(`[OperationManager][start] ${e.kind} (blocking: ${e.blocking}, readOnly: ${e.readOnly}; retry: ${e.retry}; showProgress: ${e.showProgress})`)}end(e){let t=this.operations.get(e.kind);t&&(t.delete(e),t.size===0&&this.operations.delete(e.kind)),this.logger.trace(`[OperationManager][end] ${e.kind} (blocking: ${e.blocking}, readOnly: ${e.readOnly}; retry: ${e.retry}; showProgress: ${e.showProgress})`)}getOperations(e){let t=this.operations.get(e);return t?Array.from(t):[]}isIdle(){let e=this.operations.values();for(let t of e)for(let r of t)if(!r.readOnly)return!1;return!0}isRunning(e){return this.operations.has(e)}shouldDisableCommands(){let e=this.operations.values();for(let t of e)for(let r of t)if(r.blocking)return!0;return!1}shouldShowProgress(){let e=this.operations.values();for(let t of e)for(let r of t)if(r.showProgress)return!0;return!1}};function dN(i,e){return i.HEAD?.name===e.HEAD?.name&&i.HEAD?.commit===e.HEAD?.commit&&i.HEAD?.remote===e.HEAD?.remote&&i.HEAD?.type===e.HEAD?.type&&i.HEAD?.ahead===e.HEAD?.ahead&&i.HEAD?.behind===e.HEAD?.behind&&i.HEAD?.upstream?.name===e.HEAD?.upstream?.name&&i.HEAD?.upstream?.remote===e.HEAD?.upstream?.remote&&i.HEAD?.upstream?.commit===e.HEAD?.upstream?.commit&&i.isCheckoutInProgress===e.isCheckoutInProgress&&i.isCommitInProgress===e.isCommitInProgress&&i.isMergeInProgress===e.isMergeInProgress&&i.isRebaseInProgress===e.isRebaseInProgress&&i.isSyncInProgress===e.isSyncInProgress&&i.repositoryHasChangesToCommit===e.repositoryHasChangesToCommit&&i.repositoryHasUnresolvedConflicts===e.repositoryHasUnresolvedConflicts}var Gm=class{constructor(e,t,r){this.repository=e;this.postCommitCommandCenter=t;this.logger=r;this._state={HEAD:void 0,isCheckoutInProgress:!1,isCommitInProgress:!1,isMergeInProgress:!1,isRebaseInProgress:!1,isSyncInProgress:!1,repositoryHasChangesToCommit:!1,repositoryHasUnresolvedConflicts:!1},e.onDidRunGitStatus(this.onDidRunGitStatus,this,this.disposables),e.onDidChangeOperations(this.onDidChangeOperations,this,this.disposables),this.disposables.push(e.onDidChangeBranchProtection(()=>this._onDidChange.fire())),this.disposables.push(t.onDidChange(()=>this._onDidChange.fire()));let n=gt.Uri.file(e.root);this.disposables.push(gt.workspace.onDidChangeConfiguration(o=>{(o.affectsConfiguration("git.enableSmartCommit",n)||o.affectsConfiguration("git.smartCommitChanges",n)||o.affectsConfiguration("git.suggestSmartCommit",n))&&this.onDidChangeSmartCommitSettings(),(o.affectsConfiguration("git.branchProtectionPrompt",n)||o.affectsConfiguration("git.postCommitCommand",n)||o.affectsConfiguration("git.rememberPostCommitCommand",n)||o.affectsConfiguration("git.showActionButton",n))&&this._onDidChange.fire()}))}repository;postCommitCommandCenter;logger;_onDidChange=new gt.EventEmitter;get onDidChange(){return this._onDidChange.event}_state;get state(){return this._state}set state(e){dN(this._state,e)||(this.logger.trace(`[ActionButton][setState] ${JSON.stringify(e)}`),this._state=e,this._onDidChange.fire())}disposables=[];get button(){if(!this.state.HEAD)return;let e;return this.state.repositoryHasChangesToCommit&&(e=this.getCommitActionButton()),e=e??this.getPublishBranchActionButton()??this.getSyncChangesActionButton()??this.getCommitActionButton(),this.logger.trace(`[ActionButton][getButton] ${JSON.stringify({command:e?.command.command,title:e?.command.title,enabled:e?.enabled})}`),e}getCommitActionButton(){return gt.workspace.getConfiguration("git",gt.Uri.file(this.repository.root)).get("showActionButton",{commit:!0}).commit?{command:this.getCommitActionButtonPrimaryCommand(),secondaryCommands:this.getCommitActionButtonSecondaryCommands(),enabled:(this.state.repositoryHasChangesToCommit||this.state.isRebaseInProgress&&!this.state.repositoryHasUnresolvedConflicts||this.state.isMergeInProgress&&!this.state.repositoryHasUnresolvedConflicts)&&!this.state.isCommitInProgress}:void 0}getCommitActionButtonPrimaryCommand(){return this.state.isRebaseInProgress?{command:"git.commit",title:gt.l10n.t("{0} Continue","$(check)"),tooltip:this.state.isCommitInProgress?gt.l10n.t("Continuing Rebase..."):gt.l10n.t("Continue Rebase"),arguments:[this.repository.sourceControl,null]}:this.state.isMergeInProgress?{command:"git.commit",title:gt.l10n.t("{0} Continue","$(check)"),tooltip:this.state.isCommitInProgress?gt.l10n.t("Continuing Merge..."):gt.l10n.t("Continue Merge"),arguments:[this.repository.sourceControl,null]}:this.state.HEAD?.type===de.Tag||!this.state.HEAD?.name?{command:"git.commit",title:gt.l10n.t("{0} Commit","$(check)"),tooltip:this.state.isCommitInProgress?gt.l10n.t("Committing Changes..."):gt.l10n.t("Commit Changes"),arguments:[this.repository.sourceControl,null]}:this.postCommitCommandCenter.getPrimaryCommand()}getCommitActionButtonSecondaryCommands(){if(this.state.isRebaseInProgress)return[];if(this.state.isMergeInProgress)return[];if(this.state.HEAD?.type===de.Tag||!this.state.HEAD?.name)return[];let e=[];for(let t of this.postCommitCommandCenter.getSecondaryCommands())e.push(t.map(r=>({command:r.command,title:r.title,tooltip:r.tooltip,arguments:r.arguments})));return e}getPublishBranchActionButton(){let t=gt.workspace.getConfiguration("git",gt.Uri.file(this.repository.root)).get("showActionButton",{publish:!0});if(this.state.HEAD?.type===de.Tag||!this.state.HEAD?.name||this.state.HEAD?.upstream||this.state.isCommitInProgress||this.state.isMergeInProgress||this.state.isRebaseInProgress||!t.publish)return;let r=this.state.isSyncInProgress?"$(sync~spin)":"$(cloud-upload)";return{command:{command:"git.publish",title:gt.l10n.t({message:"{0} Publish Branch",args:[r],comment:['{Locked="Branch"}','Do not translate "Branch" as it is a git term']}),tooltip:this.state.isSyncInProgress?this.state.HEAD?.name?gt.l10n.t({message:'Publishing Branch "{0}"...',args:[this.state.HEAD.name],comment:['{Locked="Branch"}','Do not translate "Branch" as it is a git term']}):gt.l10n.t({message:"Publishing Branch...",comment:['{Locked="Branch"}','Do not translate "Branch" as it is a git term']}):this.repository.HEAD?.name?gt.l10n.t({message:'Publish Branch "{0}"',args:[this.state.HEAD?.name],comment:['{Locked="Branch"}','Do not translate "Branch" as it is a git term']}):gt.l10n.t({message:"Publish Branch",comment:['{Locked="Branch"}','Do not translate "Branch" as it is a git term']}),arguments:[this.repository.sourceControl]},enabled:!this.state.isCheckoutInProgress&&!this.state.isSyncInProgress}}getSyncChangesActionButton(){let t=gt.workspace.getConfiguration("git",gt.Uri.file(this.repository.root)).get("showActionButton",{sync:!0}),r=(this.state.HEAD?.behind??0)>0||(this.state.HEAD?.ahead??0)>0;if(!this.state.HEAD?.upstream||!r||this.state.isCommitInProgress||this.state.isMergeInProgress||this.state.isRebaseInProgress||!t.sync)return;let n=this.state.HEAD.ahead?` ${this.state.HEAD.ahead}$(arrow-up)`:"",o=this.state.HEAD.behind?` ${this.state.HEAD.behind}$(arrow-down)`:"",a=this.state.isSyncInProgress?"$(sync~spin)":"$(sync)";return{command:{command:"git.sync",title:gt.l10n.t("{0} Sync Changes{1}{2}",a,o,n),shortTitle:`${a}${o}${n}`,tooltip:this.state.isSyncInProgress?gt.l10n.t("Synchronizing Changes..."):this.repository.syncTooltip,arguments:[this.repository.sourceControl]},enabled:!this.state.isCheckoutInProgress&&!this.state.isSyncInProgress}}onDidChangeOperations(){let e=this.repository.operations.isRunning("Checkout")||this.repository.operations.isRunning("CheckoutTracking"),t=this.repository.operations.isRunning("Commit")||this.repository.operations.isRunning("PostCommitCommand")||this.repository.operations.isRunning("RebaseContinue"),r=this.repository.operations.isRunning("Sync")||this.repository.operations.isRunning("Push")||this.repository.operations.isRunning("Pull");this.state={...this.state,isCheckoutInProgress:e,isCommitInProgress:t,isSyncInProgress:r}}onDidChangeSmartCommitSettings(){this.state={...this.state,repositoryHasChangesToCommit:this.repositoryHasChangesToCommit()}}onDidRunGitStatus(){this.state={...this.state,HEAD:this.repository.HEAD,isMergeInProgress:this.repository.mergeInProgress,isRebaseInProgress:!!this.repository.rebaseCommit,repositoryHasChangesToCommit:this.repositoryHasChangesToCommit(),repositoryHasUnresolvedConflicts:this.repository.mergeGroup.resourceStates.length>0}}repositoryHasChangesToCommit(){let e=gt.workspace.getConfiguration("git",gt.Uri.file(this.repository.root)),t=e.get("enableSmartCommit")===!0,r=e.get("suggestSmartCommit")===!0,n=e.get("smartCommitChanges","all"),o=[...this.repository.indexGroup.resourceStates];return(t&&n==="all"||!t&&r)&&o.push(...this.repository.workingTreeGroup.resourceStates),t&&n==="tracked"&&o.push(...this.repository.workingTreeGroup.resourceStates.filter(a=>a.type!==w.UNTRACKED)),o.length!==0}dispose(){this.disposables=Le(this.disposables)}};var $r=require("vscode");function Rn(i){return/^git$/.test(i.scheme)}function kr(i){return JSON.parse(i.query)}function je(i,e,t={}){let r={path:i.fsPath,ref:e};t.submoduleOf&&(r.submoduleOf=t.submoduleOf);let n=i.path;return t.replaceFileExtension?n=`${n}.git`:t.submoduleOf&&(n=`${n}.diff`),i.with({scheme:t.scheme??"git",path:n,query:JSON.stringify(r)})}function Ev(i){return{base:je(i,":1"),ours:je(i,":2"),theirs:je(i,":3")}}function Ys(i,e,t){switch(i.status){case w.INDEX_ADDED:return{originalUri:void 0,modifiedUri:je(i.uri,t)};case w.DELETED:return{originalUri:je(i.uri,e),modifiedUri:void 0};case w.INDEX_RENAMED:return{originalUri:je(i.originalUri,e),modifiedUri:je(i.uri,t)};default:return{originalUri:je(i.uri,e),modifiedUri:je(i.uri,t)}}}var bR=require("vscode"),$s=class{static _gitBaseApi;static getAPI(){if(!this._gitBaseApi){let e=bR.extensions.getExtension("vscode.git-base").exports,t=r=>{this._gitBaseApi=r?e.getAPI(1):void 0};if(e.onDidChangeEnablement(t),t(e.enabled),!this._gitBaseApi)throw new Error("vscode.git-base extension is not enabled.")}return this._gitBaseApi}};var Dv=class{#e;constructor(e){this.#e=e}set value(e){this.#e.value=e}get value(){return this.#e.value}},bl=class{#e;constructor(e){this.#e=e}get uri(){return this.#e.resourceUri}get originalUri(){return this.#e.original}get renameUri(){return this.#e.renameResourceUri}get status(){return this.#e.type}},Rv=class{#e;onDidChange;constructor(e){this.#e=e,this.onDidChange=this.#e.onDidRunGitStatus}get HEAD(){return this.#e.HEAD}get refs(){return console.warn("Deprecated. Use ApiRepository.getRefs() instead."),[]}get remotes(){return[...this.#e.remotes]}get submodules(){return[...this.#e.submodules]}get worktrees(){return this.#e.worktrees}get rebaseCommit(){return this.#e.rebaseCommit}get mergeChanges(){return this.#e.mergeGroup.resourceStates.map(e=>new bl(e))}get indexChanges(){return this.#e.indexGroup.resourceStates.map(e=>new bl(e))}get workingTreeChanges(){return this.#e.workingTreeGroup.resourceStates.map(e=>new bl(e))}get untrackedChanges(){return this.#e.untrackedGroup.resourceStates.map(e=>new bl(e))}},Sv=class{#e;onDidChange;constructor(e){this.#e=e,this.onDidChange=Pa(this.#e.onDidChangeSelection,()=>null)}get selected(){return this.#e.selected}},Vt=class{#e;rootUri;inputBox;kind;state;ui;isUsingVirtualFileSystem;onDidCommit;onDidCheckout;constructor(e){this.#e=e,this.kind=this.#e.kind,this.rootUri=$r.Uri.file(this.#e.root),this.inputBox=new Dv(this.#e.inputBox),this.state=new Rv(this.#e),this.ui=new Sv(this.#e.sourceControl),this.isUsingVirtualFileSystem=this.#e.isUsingVirtualFileSystem,this.onDidCommit=Pa(We(this.#e.onDidRunOperation,t=>t.operation.kind==="Commit"),()=>null),this.onDidCheckout=Pa(We(this.#e.onDidRunOperation,t=>t.operation.kind==="Checkout"||t.operation.kind==="CheckoutTracking"),()=>null)}apply(e,t){let r=typeof t=="boolean"?{reverse:t}:t;return this.#e.apply(e,r)}getConfigs(){return this.#e.getConfigs()}getConfig(e){return this.#e.getConfig(e)}setConfig(e,t){return this.#e.setConfig(e,t)}unsetConfig(e){return this.#e.unsetConfig(e)}getGlobalConfig(e){return this.#e.getGlobalConfig(e)}getObjectDetails(e,t){return this.#e.getObjectDetails(e,t)}detectObjectType(e){return this.#e.detectObjectType(e)}buffer(e,t){return this.#e.buffer(e,t)}show(e,t){return this.#e.show(e,t)}getCommit(e){return this.#e.getCommit(e)}add(e){return this.#e.add(e.map(t=>$r.Uri.file(t)))}revert(e){return this.#e.revert(e.map(t=>$r.Uri.file(t)))}clean(e){return this.#e.clean(e.map(t=>$r.Uri.file(t)))}restore(e,t){return this.#e.restore(e.map(r=>$r.Uri.file(r)),t)}diff(e){return this.#e.diff(e)}diffWithHEAD(e){return this.#e.diffWithHEAD(e)}diffWithHEADShortStats(e){return this.#e.diffWithHEADShortStats(e)}diffWith(e,t){return this.#e.diffWith(e,t)}diffIndexWithHEAD(e){return this.#e.diffIndexWithHEAD(e)}diffIndexWithHEADShortStats(e){return this.#e.diffIndexWithHEADShortStats(e)}diffIndexWith(e,t){return this.#e.diffIndexWith(e,t)}diffBlobs(e,t){return this.#e.diffBlobs(e,t)}diffBetween(e,t,r){return this.#e.diffBetween(e,t,r)}diffBetweenPatch(e,t,r){return this.#e.diffBetweenPatch(e,t,r)}diffBetweenWithStats(e,t,r){return this.#e.diffBetweenWithStats(e,t,r)}diffBetweenWithStats2(e,t){return this.#e.diffBetweenWithStats2(e,t)}hashObject(e){return this.#e.hashObject(e)}createBranch(e,t,r){return this.#e.branch(e,t,r)}deleteBranch(e,t){return this.#e.deleteBranch(e,t)}getBranch(e){return this.#e.getBranch(e)}getBranches(e,t){return this.#e.getBranches(e,t)}getBranchBase(e){return this.#e.getBranchBase(e)}setBranchUpstream(e,t){return this.#e.setBranchUpstream(e,t)}getRefs(e,t){return this.#e.getRefs(e,t)}checkIgnore(e){return this.#e.checkIgnore(e)}getMergeBase(e,t){return this.#e.getMergeBase(e,t)}tag(e,t,r){return this.#e.tag({name:e,message:t,ref:r})}deleteTag(e){return this.#e.deleteTag(e)}status(){return this.#e.status()}checkout(e){return this.#e.checkout(e)}addRemote(e,t){return this.#e.addRemote(e,t)}removeRemote(e){return this.#e.removeRemote(e)}renameRemote(e,t){return this.#e.renameRemote(e,t)}fetch(e,t,r,n){return e!==void 0&&typeof e!="string"?this.#e.fetch(e):this.#e.fetch({remote:e,ref:t,depth:r,prune:n})}pull(e){return this.#e.pull(void 0,e)}push(e,t,r=!1,n){return this.#e.pushTo(e,t,r,n)}blame(e){return this.#e.blame(e)}log(e){return this.#e.log(e)}commit(e,t){return this.#e.commit(e,{...t,postCommitCommand:null})}merge(e){return this.#e.merge(e)}mergeAbort(){return this.#e.mergeAbort()}rebase(e){return this.#e.rebase(e)}createStash(e){return this.#e.createStash(e?.message,e?.includeUntracked,e?.staged)}applyStash(e){return this.#e.applyStash(e)}popStash(e){return this.#e.popStash(e)}dropStash(e){return this.#e.dropStash(e)}createWorktree(e){return this.#e.createWorktree(e)}deleteWorktree(e,t){return this.#e.deleteWorktree(e,t)}migrateChanges(e,t){return this.#e.migrateChanges(e,t)}generateRandomBranchName(){return this.#e.generateRandomBranchName()}isBranchProtected(e){return this.#e.isBranchProtected(e)}},xv=class{#e;_env;constructor(e){this.#e=e}get path(){return this.#e.git.path}get env(){return this._env===void 0&&(this._env=Object.freeze(this.#e.git.env)),this._env}},Hm=class{#e;#t;git;constructor(e){this.#e=e.model,this.#t=e.cloneManager,this.git=new xv(this.#e)}get state(){return this.#e.state}get onDidChangeState(){return this.#e.onDidChangeState}get onDidPublish(){return this.#e.onDidPublish}get onDidOpenRepository(){return Pa(this.#e.onDidOpenRepository,e=>new Vt(e))}get onDidCloseRepository(){return Pa(this.#e.onDidCloseRepository,e=>new Vt(e))}get repositories(){return this.#e.repositories.map(e=>new Vt(e))}get recentRepositories(){return this.#e.repositoryCache.recentRepositories}toGitUri(e,t){return je(e,t)}getRepository(e){let t=this.#e.getRepository(e);return t?new Vt(t):null}async getRepositoryRoot(e){let t=this.getRepository(e);if(t)return t.rootUri;try{let r=await this.#e.git.getRepositoryRoot(e.fsPath);return $r.Uri.file(r)}catch(r){if(r.gitErrorCode===Q.NotAGitRepository||r.gitErrorCode===Q.NotASafeGitRepository)return null;throw r}}async getRepositoryWorkspace(e){let t=this.#e.repositoryCache.get(e.toString());return t?t.map(r=>$r.Uri.file(r.workspacePath)):null}async init(e,t){let r=e.fsPath;return await this.#e.git.init(r,t),await this.#e.openRepository(r),this.getRepository(e)||null}async clone(e,t){let r=t?.parentPath?.fsPath,n=await this.#t.clone(e.toString(),{parentPath:r,recursive:t?.recursive,ref:t?.ref,postCloneAction:t?.postCloneAction});return n?$r.Uri.file(n):null}async openRepository(e){return e.scheme!=="file"?null:(await this.#e.openRepository(e.fsPath,!0,!0),this.getRepository(e)||null)}registerRemoteSourceProvider(e){let t=[];return e.publishRepository&&t.push(this.#e.registerRemoteSourcePublisher(e)),t.push($s.getAPI().registerRemoteSourceProvider(e)),Fs(t)}registerRemoteSourcePublisher(e){return this.#e.registerRemoteSourcePublisher(e)}registerCredentialsProvider(e){return this.#e.registerCredentialsProvider(e)}registerPostCommitCommandsProvider(e){return this.#e.registerPostCommitCommandsProvider(e)}registerPushErrorHandler(e){return this.#e.registerPushErrorHandler(e)}registerSourceControlHistoryItemDetailsProvider(e){return this.#e.registerSourceControlHistoryItemDetailsProvider(e)}registerBranchProtectionProvider(e,t){return this.#e.registerBranchProtectionProvider(e,t)}};function fN(i){switch(i){case de.Head:return"Head";case de.RemoteHead:return"RemoteHead";case de.Tag:return"Tag"}return"unknown"}function mN(i){switch(i){case w.INDEX_MODIFIED:return"INDEX_MODIFIED";case w.INDEX_ADDED:return"INDEX_ADDED";case w.INDEX_DELETED:return"INDEX_DELETED";case w.INDEX_RENAMED:return"INDEX_RENAMED";case w.INDEX_COPIED:return"INDEX_COPIED";case w.MODIFIED:return"MODIFIED";case w.DELETED:return"DELETED";case w.UNTRACKED:return"UNTRACKED";case w.IGNORED:return"IGNORED";case w.INTENT_TO_ADD:return"INTENT_TO_ADD";case w.INTENT_TO_RENAME:return"INTENT_TO_RENAME";case w.TYPE_CHANGED:return"TYPE_CHANGED";case w.ADDED_BY_US:return"ADDED_BY_US";case w.ADDED_BY_THEM:return"ADDED_BY_THEM";case w.DELETED_BY_US:return"DELETED_BY_US";case w.DELETED_BY_THEM:return"DELETED_BY_THEM";case w.BOTH_ADDED:return"BOTH_ADDED";case w.BOTH_DELETED:return"BOTH_DELETED";case w.BOTH_MODIFIED:return"BOTH_MODIFIED"}return"UNKNOWN"}function CR(i){let e=[];return e.push($r.commands.registerCommand("git.api.getRepositories",()=>i.getAPI(1).repositories.map(r=>r.rootUri.toString()))),e.push($r.commands.registerCommand("git.api.getRepositoryState",t=>{let n=i.getAPI(1).getRepository($r.Uri.parse(t));if(!n)return null;let o=n.state,a=c=>c&&{...c,type:fN(c.type)},s=c=>({uri:c.uri.toString(),originalUri:c.originalUri.toString(),renameUri:c.renameUri?.toString(),status:mN(c.status)});return{HEAD:a(o.HEAD),refs:o.refs.map(a),remotes:o.remotes,submodules:o.submodules,worktrees:o.worktrees,rebaseCommit:o.rebaseCommit,mergeChanges:o.mergeChanges.map(s),indexChanges:o.indexChanges.map(s),workingTreeChanges:o.workingTreeChanges.map(s)}})),e.push($r.commands.registerCommand("git.api.getRemoteSources",t=>$r.commands.executeCommand("git-base.api.getRemoteSources",t))),$r.Disposable.from(...e)}var Ot=require("vscode");var dd=class i{constructor(e,t){this.repository=e;this.globalState=t;Ot.workspace.onDidChangeConfiguration(this.onConfiguration,this,this.disposables),this.onConfiguration();let r=We(e.onDidRunOperation,({operation:o,error:a})=>!a&&o.remote);Go(r)(this.onFirstGoodRemoteOperation,this,this.disposables),Ot.env.onDidChangeMeteredConnection(()=>this.onConfiguration(),this,this.disposables)}repository;globalState;static DidInformUser="autofetch.didInformUser";_onDidChange=new Ot.EventEmitter;onDidChange=this._onDidChange.event;_enabled=!1;_fetchAll=!1;get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._onDidChange.fire(e)}disposables=[];async onFirstGoodRemoteOperation(){let e=!this.globalState.get(i.DidInformUser);if(this.enabled&&!e&&this.globalState.update(i.DidInformUser,!0),!(!this.enabled&&e))return;let r={title:Ot.l10n.t("Yes")},n={isCloseAffordance:!0,title:Ot.l10n.t("No")},o={title:Ot.l10n.t("Ask Me Later")},a=await Ot.window.showInformationMessage(Ot.l10n.t('Would you like {0} to [periodically run "git fetch"]({1})?',Ot.env.appName,"https://go.microsoft.com/fwlink/?linkid=865294"),r,n,o);a!==o&&(a===r&&Ot.workspace.getConfiguration("git",Ot.Uri.file(this.repository.root)).update("autofetch",!0,Ot.ConfigurationTarget.Global),this.globalState.update(i.DidInformUser,!0))}onConfiguration(e){if(e!==void 0&&!e.affectsConfiguration("git.autofetch"))return;if(Ot.env.isMeteredConnection){this.disable();return}switch(Ot.workspace.getConfiguration("git",Ot.Uri.file(this.repository.root)).get("autofetch")){case!0:this._fetchAll=!1,this.enable();break;case"all":this._fetchAll=!0,this.enable();break;default:this._fetchAll=!1,this.disable();break}}enable(){this.enabled||(this.enabled=!0,this.run())}disable(){this.enabled=!1}async run(){for(;this.enabled;){if(await this.repository.whenIdleAndFocused(),!this.enabled)return;try{this._fetchAll?await this.repository.fetchAll({silent:!0}):await this.repository.fetchDefault({silent:!0})}catch(n){n.gitErrorCode===Q.AuthenticationFailed&&this.disable()}if(!this.enabled)return;let e=Ot.workspace.getConfiguration("git",Ot.Uri.file(this.repository.root)).get("autofetchPeriod",180)*1e3,t=new Promise(n=>setTimeout(n,e)),r=Yi(We(this.onDidChange,n=>!n));await Promise.race([t,r])}}dispose(){this.disable(),this.disposables.forEach(e=>e.dispose())}};var Ks=require("vscode");var Um=class{constructor(e,t){this.repositoryRoot=e;this.logger=t;We(Ks.workspace.onDidChangeConfiguration,n=>n.affectsConfiguration("git.branchProtection",e))(this.updateBranchProtection,this,this.disposables),Ks.workspace.onDidChangeWorkspaceFolders(this.updateBranchProtection,this,this.disposables),this.updateBranchProtection()}repositoryRoot;logger;_onDidChangeBranchProtection=new Ks.EventEmitter;onDidChangeBranchProtection=this._onDidChangeBranchProtection.event;branchProtection;disposables=[];provideBranchProtection(){return[this.branchProtection]}updateBranchProtection(){let t=Ks.workspace.getConfiguration("git",this.repositoryRoot).get("branchProtection")??[],r=Array.isArray(t)?t:[t];this.logger.trace("[GitBranchProtectionProvider][updateBranchProtection] Updating branch protection for repository:",this.repositoryRoot.fsPath),this.logger.trace("[GitBranchProtectionProvider][updateBranchProtection] Workspace folders:",Ks.workspace.workspaceFolders?.map(o=>o.uri.fsPath)),this.logger.trace("[GitBranchProtectionProvider][updateBranchProtection] BranchProtection configuration values:",r);let n=r.map(o=>typeof o=="string"?o.trim():"").filter(o=>o!=="");this.branchProtection={remote:"",rules:[{include:n}]},this._onDidChangeBranchProtection.fire(this.repositoryRoot)}dispose(){this.disposables=Le(this.disposables)}};function Wm(i){return(e,t,r)=>{if(typeof r.value=="function")r.value=i(r.value,t);else if(typeof r.get=="function")r.get=i(r.get,t);else throw new Error("not supported")}}function pN(i,e){let t=`$memoize$${e}`;return function(...r){return this.hasOwnProperty(t)||Object.defineProperty(this,t,{configurable:!1,enumerable:!1,writable:!1,value:i.apply(this,r)}),this[t]}}var Sn=Wm(pN);function hN(i,e){let t=`$throttle$current$${e}`,r=`$throttle$next$${e}`,n=function(...o){if(this[r])return this[r];if(this[t])return this[r]=ev(this[t]).then(()=>(this[r]=void 0,n.apply(this,o))),this[r];this[t]=i.apply(this,o);let a=()=>this[t]=void 0;return ev(this[t]).then(a,a),this[t]};return n}var Nr=Wm(hN);function gN(i,e){let t=`__$sequence$${e}`;return function(...r){let n=this[t]||Promise.resolve(null),o=async()=>await i.apply(this,r);return this[t]=n.then(o,o),this[t]}}var Ym=Wm(gN);function qn(i){return Wm((e,t)=>{let r=`$debounce$${t}`;return function(...n){clearTimeout(this[r]),this[r]=setTimeout(()=>e.apply(this,n),i)}})}var vt=require("vscode");var Km=require("vscode");var wR=require("util"),yN=/:([-+_a-z0-9]+):/g,$m,Pv;async function js(){$m===void 0&&(Pv===void 0&&(Pv=vN()),await Pv)}async function vN(){let i=Tv(),e=Km.Uri.joinPath(i.extensionUri,"resources","emojis.json");$m=JSON.parse(new wR.TextDecoder("utf8").decode(await Km.workspace.fs.readFile(e)))}function Wo(i){return $m===void 0?i:i.replace(yN,(e,t)=>$m?.[t]||e)}async function zs(i,e,t){for(let r of i.getSourceControlHistoryItemDetailsProviders()){let n=await r.provideAvatar(new Vt(e),t);if(n)return n}}async function Cl(i,e){for(let t of i.getSourceControlHistoryItemDetailsProviders()){let r=await t.provideHoverCommands(new Vt(e));if(r)return r}}async function Vs(i,e,t){for(let r of i.getSourceControlHistoryItemDetailsProviders()){let n=await r.provideMessageLinks(new Vt(e),t);if(n)return n}}var mi=require("vscode");var jm=20;function wl(i,e,t,r,n,o,a,s){let c=new mi.MarkdownString("",!0);return c.isTrusted={enabledCommands:a?.flat().map(l=>l.command)??[]},DR(c,i,e,t,r,n,s),o&&RR(c,o),a&&a.length>0&&SR(c,a),c}function ER(i,e,t,r,n,o,a,s){let c=[],l=new mi.MarkdownString("",!0);if(DR(l,i,e,t,r,n,s),c.push(l),o){let u=new mi.MarkdownString("",!0);u.supportHtml=!0,RR(u,o),c.push(u)}if(a&&a.length>0){let u=new mi.MarkdownString("",!0);u.isTrusted={enabledCommands:a?.flat().map(f=>f.command)??[]},SR(u,a),c.push(u)}return c}function DR(i,e,t,r,n,o,a){if(t){if(e?(i.appendMarkdown(",i.appendText(e),i.appendMarkdown(`|width=${jm},height=${jm})`)):i.appendMarkdown("$(account)"),r?(i.appendMarkdown(" [**"),i.appendText(t),i.appendMarkdown("**](mailto:"),i.appendText(r),i.appendMarkdown(")")):(i.appendMarkdown(" **"),i.appendText(t),i.appendMarkdown("**")),n&&!isNaN(new Date(n).getTime())){let s=new Date(n).toLocaleString(void 0,{year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});i.appendMarkdown(", $(history)"),i.appendText(` ${Ho(n,!0,!0)} (${s})`)}i.appendMarkdown(`
`)}if(a&&a.length>0)for(let s of a)i.appendMarkdown("$(account) "),s.email?(i.appendMarkdown("[**"),i.appendText(s.name),i.appendMarkdown("**](mailto:"),i.appendText(s.email),i.appendMarkdown(")")):(i.appendMarkdown("**"),i.appendText(s.name),i.appendMarkdown("**")),i.appendMarkdown(` _(${mi.l10n.t("Co-author")})_`),i.appendMarkdown(`
`);i.appendMarkdown(`${Wo(o.replace(/!\[/g,"![").replace(/\r\n|\r|\n/g,`
`))}`),i.appendMarkdown(`
---
`)}function RR(i,e){i.appendMarkdown(`<span>${e.files===1?mi.l10n.t("{0} file changed",e.files):mi.l10n.t("{0} files changed",e.files)}</span>`),e.insertions&&i.appendMarkdown(`, <span style="color:var(--vscode-scmGraph-historyItemHoverAdditionsForeground);">${e.insertions===1?mi.l10n.t("{0} insertion{1}",e.insertions,"(+)"):mi.l10n.t("{0} insertions{1}",e.insertions,"(+)")}</span>`),e.deletions&&i.appendMarkdown(`, <span style="color:var(--vscode-scmGraph-historyItemHoverDeletionsForeground);">${e.deletions===1?mi.l10n.t("{0} deletion{1}",e.deletions,"(-)"):mi.l10n.t("{0} deletions{1}",e.deletions,"(-)")}</span>`),i.appendMarkdown(`
---
`)}function SR(i,e){for(let t=0;t<e.length;t++){t!==0&&i.appendMarkdown(" | ");let r=e[t].map(n=>`[${n.title}](command:${n.command}?${encodeURIComponent(JSON.stringify(n.arguments))} "${n.tooltip}")`);i.appendMarkdown(r.join(" "))}}function El(i,e){return[{title:`$(git-commit) ${Hs(i,e)}`,tooltip:mi.l10n.t("Open Commit"),command:"git.viewCommit",arguments:[i,e,i]},{title:"$(copy)",tooltip:mi.l10n.t("Copy Commit Hash"),command:"git.copyContentToClipboard",arguments:[e]}]}function Dl(i,e){return i.map(t=>({...t,arguments:[...t.arguments??[],e]}))}var Qn=require("vscode"),St={account:new Qn.ThemeIcon("account"),branch:new Qn.ThemeIcon("git-branch"),chatWorktree:new Qn.ThemeIcon("chat-sparkle"),head:new Qn.ThemeIcon("target"),remoteBranch:new Qn.ThemeIcon("cloud"),repository:new Qn.ThemeIcon("repo"),stash:new Qn.ThemeIcon("git-stash"),tag:new Qn.ThemeIcon("tag"),worktree:new Qn.ThemeIcon("worktree")};function _N(i,e){let t=o=>o.id.startsWith("refs/heads/")?1:o.id.startsWith("refs/remotes/")?2:o.id.startsWith("refs/tags/")?3:99,r=t(i),n=t(e);return r!==n?r-n:i.name.localeCompare(e.name)}var fd=class{constructor(e,t,r){this.historyItemDetailProviderRegistry=e;this.repository=t;this.logger=r;this.disposables.push(vt.workspace.onDidChangeConfiguration(this.onDidChangeConfiguration)),this.onDidChangeConfiguration();let n=We(t.onDidRunOperation,o=>!o.operation.readOnly);this.disposables.push(n(this.onDidRunWriteOperation,this)),this.disposables.push(vt.window.registerFileDecorationProvider(this))}historyItemDetailProviderRegistry;repository;logger;_onDidChangeDecorations=new vt.EventEmitter;onDidChangeFileDecorations=this._onDidChangeDecorations.event;_currentHistoryItemRef;get currentHistoryItemRef(){return this._currentHistoryItemRef}_currentHistoryItemRemoteRef;get currentHistoryItemRemoteRef(){return this._currentHistoryItemRemoteRef}_currentHistoryItemBaseRef;get currentHistoryItemBaseRef(){return this._currentHistoryItemBaseRef}_onDidChangeCurrentHistoryItemRefs=new vt.EventEmitter;onDidChangeCurrentHistoryItemRefs=this._onDidChangeCurrentHistoryItemRefs.event;_onDidChangeHistoryItemRefs=new vt.EventEmitter;onDidChangeHistoryItemRefs=this._onDidChangeHistoryItemRefs.event;_HEAD;_historyItemRefs=[];commitShortHashLength=7;historyItemDecorations=new Map;disposables=[];onDidChangeConfiguration(e){if(e&&!e.affectsConfiguration("git.commitShortHashLength"))return;let t=vt.workspace.getConfiguration("git",vt.Uri.file(this.repository.root));this.commitShortHashLength=t.get("commitShortHashLength",7)}async onDidRunWriteOperation(e){if(!this.repository.HEAD){this.logger.trace("[GitHistoryProvider][onDidRunWriteOperation] repository.HEAD is undefined"),this._currentHistoryItemRef=this._currentHistoryItemRemoteRef=this._currentHistoryItemBaseRef=void 0,this._onDidChangeCurrentHistoryItemRefs.fire();return}let t=this.repository.refs.map(c=>this.toSourceControlHistoryItemRef(c)).sort((c,l)=>c.id.localeCompare(l.id)),r=TD(this._historyItemRefs,t);this._historyItemRefs=t;let n="",o="";switch(this.repository.HEAD.type){case de.Head:{if(this.repository.HEAD.name!==void 0)if(n=`refs/heads/${this.repository.HEAD.name}`,o=this.repository.HEAD.name,this.repository.HEAD.upstream?this.repository.HEAD.upstream.remote==="."?this._currentHistoryItemRemoteRef={id:`refs/heads/${this.repository.HEAD.upstream.name}`,name:this.repository.HEAD.upstream.name,revision:this.repository.HEAD.upstream.commit,icon:St.branch}:this._currentHistoryItemRemoteRef={id:`refs/remotes/${this.repository.HEAD.upstream.remote}/${this.repository.HEAD.upstream.name}`,name:`${this.repository.HEAD.upstream.remote}/${this.repository.HEAD.upstream.name}`,revision:this.repository.HEAD.upstream.commit,icon:St.remoteBranch}:this._currentHistoryItemRemoteRef=void 0,this._HEAD?.name!==this.repository.HEAD.name){let c=await this.resolveHEADMergeBase();this._currentHistoryItemBaseRef=c&&c.name&&c.remote&&(c.remote!==this.repository.HEAD.upstream?.remote||c.name!==this.repository.HEAD.upstream?.name)?{id:`refs/remotes/${c.remote}/${c.name}`,name:`${c.remote}/${c.name}`,revision:c.commit,icon:St.remoteBranch}:void 0}else{let c=r.modified.find(l=>l.id===this._currentHistoryItemBaseRef?.id);this._currentHistoryItemBaseRef&&c&&(this._currentHistoryItemBaseRef={...this._currentHistoryItemBaseRef,revision:c.revision})}else n=this.repository.HEAD.commit??"",o=this.repository.HEAD.commit??"",this._currentHistoryItemRemoteRef=void 0,this._currentHistoryItemBaseRef=void 0;break}case de.Tag:{n=`refs/tags/${this.repository.HEAD.name}`,o=this.repository.HEAD.name??this.repository.HEAD.commit??"",this._currentHistoryItemRemoteRef=void 0,this._currentHistoryItemBaseRef=void 0;break}}this._HEAD?.ahead!==this.repository.HEAD?.ahead&&vt.commands.executeCommand("setContext","git.currentHistoryItemIsAhead",(this.repository.HEAD?.ahead??0)>0),this._HEAD?.behind!==this.repository.HEAD?.behind&&vt.commands.executeCommand("setContext","git.currentHistoryItemIsBehind",(this.repository.HEAD?.behind??0)>0),this._HEAD=this.repository.HEAD,this._currentHistoryItemRef={id:n,name:o,revision:this.repository.HEAD.commit,icon:St.head},this._onDidChangeCurrentHistoryItemRefs.fire(),this.logger.trace(`[GitHistoryProvider][onDidRunWriteOperation] currentHistoryItemRef: ${JSON.stringify(this._currentHistoryItemRef)}`),this.logger.trace(`[GitHistoryProvider][onDidRunWriteOperation] currentHistoryItemRemoteRef: ${JSON.stringify(this._currentHistoryItemRemoteRef)}`),this.logger.trace(`[GitHistoryProvider][onDidRunWriteOperation] currentHistoryItemBaseRef: ${JSON.stringify(this._currentHistoryItemBaseRef)}`);let a=e.operation.kind==="Fetch"&&e.operation.showProgress===!1;this._onDidChangeHistoryItemRefs.fire({...r,silent:a});let s={added:r.added.map(c=>c.id),modified:r.modified.map(c=>c.id),removed:r.removed.map(c=>c.id),silent:a};this.logger.trace(`[GitHistoryProvider][onDidRunWriteOperation] historyItemRefs: ${JSON.stringify(s)}`)}async provideHistoryItemRefs(e){let t=await this.repository.getRefs({pattern:e}),r=[],n=[],o=[];for(let a of t)switch(a.type){case de.RemoteHead:n.push(this.toSourceControlHistoryItemRef(a));break;case de.Tag:o.push(this.toSourceControlHistoryItemRef(a));break;default:r.push(this.toSourceControlHistoryItemRef(a));break}return[...r,...n,...o]}async provideHistoryItems(e,t){if(!this.currentHistoryItemRef||!e.historyItemRefs)return[];let n={refNames:Array.from(new Set(e.historyItemRefs)),shortStats:!0};try{if(e.limit===void 0||typeof e.limit=="number")n={...n,maxEntries:e.limit??50};else if(typeof e.limit.id=="string"){let u=await this.repository.getCommit(e.limit.id),f=u.parents.length>0?u.parents[0]:await this.repository.getEmptyTree();n={...n,range:`${f}..`}}typeof e.skip=="number"&&(n={...n,skip:e.skip});let o=typeof e.filterText=="string"&&e.filterText!==""?await this._searchHistoryItems(e.filterText.trim(),n,t):await this.repository.log({...n,silent:!0},t);if(t.isCancellationRequested)return[];let a={commits:o.map(u=>({hash:u.hash,authorName:u.authorName,authorEmail:u.authorEmail})),size:20},s=await zs(this.historyItemDetailProviderRegistry,this.repository,a),c=await Cl(this.historyItemDetailProviderRegistry,this.repository)??[];await js();let l=[];for(let u of o){let f=Wo(u.message),m=await Vs(this.historyItemDetailProviderRegistry,this.repository,f)??f,h=s?.get(u.hash),p=this._resolveHistoryItemRefs(u),_=[El(vt.Uri.file(this.repository.root),u.hash),Dl(c,u.hash)],b=ER(h,u.authorName,u.authorEmail,u.authorDate??u.commitDate,m,u.shortStat,_,u.coAuthors);l.push({id:u.hash,parentIds:u.parents,subject:nd(f),message:m,author:u.authorName,authorEmail:u.authorEmail,authorIcon:h?vt.Uri.parse(h):St.account,displayId:Ei(u.hash,this.commitShortHashLength,!1),timestamp:u.authorDate?.getTime(),statistics:u.shortStat??{files:0,insertions:0,deletions:0},references:p.length!==0?p:void 0,tooltip:b})}return l}catch(o){return this.logger.error(`[GitHistoryProvider][provideHistoryItems] Failed to get history items with options '${JSON.stringify(e)}': ${o}`),[]}}async provideHistoryItemChanges(e,t){t=t??await this.repository.getEmptyTree();let r=[],n=[],o=await this.repository.diffBetweenWithStats(t,e);for(let a of o){let s=a.uri.with({query:`ref=${e}`});n.push({uri:s,...Ys(a,t,e)});let c=ze.getStatusLetter(a.status),l=ze.getStatusText(a.status),u=ze.getStatusColor(a.status),f=new vt.FileDecoration(c,l,u);this.historyItemDecorations.set(s.toString(),f),r.push(s)}return this._onDidChangeDecorations.fire(r),n}async resolveHistoryItem(e,t){try{let r=await this.repository.getCommit(e);if(!r||t.isCancellationRequested)return;let n={commits:[{hash:r.hash,authorName:r.authorName,authorEmail:r.authorEmail}],size:20},o=await zs(this.historyItemDetailProviderRegistry,this.repository,n);await js();let a=Wo(r.message),s=await Vs(this.historyItemDetailProviderRegistry,this.repository,a)??a,c=a.indexOf(`
`),l=c!==-1?`${Ei(a,c,!1)}`:a,u=o?.get(r.hash),f=this._resolveHistoryItemRefs(r);return{id:r.hash,parentIds:r.parents,subject:l,message:s,author:r.authorName,authorEmail:r.authorEmail,authorIcon:u?vt.Uri.parse(u):St.account,displayId:Ei(r.hash,this.commitShortHashLength,!1),timestamp:r.authorDate?.getTime(),statistics:r.shortStat??{files:0,insertions:0,deletions:0},references:f.length!==0?f:void 0}}catch(r){this.logger.error(`[GitHistoryProvider][resolveHistoryItem] Failed to resolve history item '${e}': ${r}`);return}}async resolveHistoryItemChatContext(e){try{return await this.repository.showChanges(e)}catch(t){this.logger.error(`[GitHistoryProvider][resolveHistoryItemChatContext] Failed to resolve history item '${e}': ${t}`)}}async resolveHistoryItemChangeRangeChatContext(e,t,r,n){try{let o=await this.repository.showChangesBetween(t,e,r);return n.isCancellationRequested?void 0:`Output of git log -p ${t}..${e} -- ${r}:
${o}`}catch(o){this.logger.error(`[GitHistoryProvider][resolveHistoryItemChangeRangeChatContext] Failed to resolve history item change range '${e}' for '${r}': ${o}`)}}async resolveHistoryItemRefsCommonAncestor(e){try{if(e.length===0)return;if(e.length===1&&e[0]===this.currentHistoryItemRef?.id){if(this.currentHistoryItemRemoteRef)return await this.repository.getMergeBase(e[0],this.currentHistoryItemRemoteRef.id);if(this.currentHistoryItemBaseRef)return await this.repository.getMergeBase(e[0],this.currentHistoryItemBaseRef.id);let t=await this.repository.log({maxParents:0,refNames:["HEAD"]});if(t.length>0)return t[0].hash}else if(e.length>1)return await this.repository.getMergeBase(e[0],e[1],...e.slice(2))}catch(t){this.logger.error(`[GitHistoryProvider][resolveHistoryItemRefsCommonAncestor] Failed to resolve common ancestor for ${e.join(",")}: ${t}`)}}provideFileDecoration(e){return this.historyItemDecorations.get(e.toString())}_resolveHistoryItemRefs(e){let t=[];for(let r of e.refNames)if(r!=="refs/remotes/origin/HEAD")switch(!0){case r.startsWith("HEAD -> refs/heads/"):t.push({id:r.substring(8),name:r.substring(19),revision:e.hash,category:vt.l10n.t("branches"),icon:St.head});break;case r.startsWith("refs/heads/"):t.push({id:r,name:r.substring(11),revision:e.hash,category:vt.l10n.t("branches"),icon:St.branch});break;case r.startsWith("refs/remotes/"):t.push({id:r,name:r.substring(13),revision:e.hash,category:vt.l10n.t("remote branches"),icon:St.remoteBranch});break;case r.startsWith("tag: refs/tags/"):t.push({id:r.substring(5),name:r.substring(15),revision:e.hash,category:vt.l10n.t("tags"),icon:St.tag});break}return t.sort(_N)}async resolveHEADMergeBase(){try{return this.repository.HEAD?.type!==de.Head||!this.repository.HEAD?.name?void 0:await this.repository.getBranchBase(this.repository.HEAD.name)}catch(e){this.logger.error(`[GitHistoryProvider][resolveHEADMergeBase] Failed to resolve merge base for ${this.repository.HEAD?.name}: ${e}`);return}}async _searchHistoryItems(e,t,r){if(r.isCancellationRequested)return[];let n=new Map,[o,a]=await Promise.all([this.repository.log({...t,refNames:void 0,author:e,silent:!0},r),this.repository.log({...t,refNames:void 0,grep:e,silent:!0},r)]);for(let s of[...o,...a])n.has(s.hash)||n.set(s.hash,s);return Array.from(n.values()).slice(0,t.maxEntries??50)}toSourceControlHistoryItemRef(e){switch(e.type){case de.RemoteHead:return{id:`refs/remotes/${e.name}`,name:e.name??"",description:e.commit?vt.l10n.t("Remote branch at {0}",Ei(e.commit,this.commitShortHashLength,!1)):void 0,revision:e.commit,icon:St.remoteBranch,category:vt.l10n.t("remote branches")};case de.Tag:return{id:`refs/tags/${e.name}`,name:e.name??"",description:e.commit?vt.l10n.t("Tag at {0}",Ei(e.commit,this.commitShortHashLength,!1)):void 0,revision:e.commit,icon:St.tag,category:vt.l10n.t("tags")};default:return{id:`refs/heads/${e.name}`,name:e.name??"",description:e.commit?Ei(e.commit,this.commitShortHashLength,!1):void 0,revision:e.commit,icon:St.branch,category:vt.l10n.t("branches")}}}dispose(){Le(this.disposables)}};D([Nr],fd.prototype,"onDidRunWriteOperation",1);var lt=require("vscode");var zm=class{constructor(e){this._repositoryResolver=e}_repositoryResolver;getCommands(e){let t=this._repositoryResolver.getRepository(e.rootUri);if(!t)return[];let r=lt.workspace.getConfiguration("git",lt.Uri.file(t.root)),n=t.isBranchProtected(),o=r.get("branchProtectionPrompt"),a=n&&o==="alwaysPrompt",s=n&&o==="alwaysCommitToNewBranch",c=t.operations.isRunning("Commit")||t.operations.isRunning("PostCommitCommand"),l=c?"$(sync~spin)":a?"$(lock)":s?"$(git-branch)":void 0,u=s?lt.l10n.t("Commit to New Branch & Push Changes"):lt.l10n.t("Commit & Push Changes"),f=s?lt.l10n.t("Commit to New Branch & Synchronize Changes"):lt.l10n.t("Commit & Sync Changes");return c&&(u=s?lt.l10n.t("Committing to New Branch & Pushing Changes..."):lt.l10n.t("Committing & Pushing Changes..."),f=s?lt.l10n.t("Committing to New Branch & Synchronizing Changes..."):lt.l10n.t("Committing & Synchronizing Changes...")),[{command:"git.push",title:lt.l10n.t("{0} Commit & Push",l??"$(arrow-up)"),tooltip:u},{command:"git.sync",title:lt.l10n.t("{0} Commit & Sync",l??"$(sync)"),tooltip:f}]}},Vm=class{constructor(e,t,r){this.globalState=e;this.repository=t;this.postCommitCommandsProviderRegistry=r;let n=lt.Uri.file(t.root);this.migratePostCommitCommandStorage().then(()=>{let o=async()=>{lt.workspace.getConfiguration("git",n).get("rememberPostCommitCommand")||await this.globalState.update(this.getGlobalStateKey(),void 0)};this.disposables.push(lt.workspace.onDidChangeConfiguration(a=>{a.affectsConfiguration("git.rememberPostCommitCommand",n)&&o()})),o(),this.disposables.push(r.onDidChangePostCommitCommandsProviders(()=>this._onDidChange.fire()))})}globalState;repository;postCommitCommandsProviderRegistry;_onDidChange=new lt.EventEmitter;get onDidChange(){return this._onDidChange.event}disposables=[];set postCommitCommand(e){e!==void 0&&this.globalState.update(this.getGlobalStateKey(),e).then(()=>this._onDidChange.fire())}getPrimaryCommand(){let e=this.getSecondaryCommands().map(n=>n).flat(),t=e.find(n=>n.arguments?.length===2&&n.arguments[1]===this.getPostCommitCommandStringFromStorage()),r=e.find(n=>n.arguments?.length===2&&n.arguments[1]===this.getPostCommitCommandStringFromSetting());return t??r??this.getCommitCommands()[0]}getSecondaryCommands(){let e=[];for(let t of this.postCommitCommandsProviderRegistry.getPostCommitCommandsProviders()){let r=t.getCommands(new Vt(this.repository));e.push((r??[]).map(n=>({command:"git.commit",title:n.title,tooltip:n.tooltip,arguments:[this.repository.sourceControl,n.command]})))}return e.length>0&&e.splice(0,0,this.getCommitCommands()),e}async executePostCommitCommand(e){try{if(e===null)return;if(e===void 0){let t=this.getPrimaryCommand();e=t.arguments?.length===2?t.arguments[1]:null}e!==null&&await lt.commands.executeCommand(e.toString(),new Vt(this.repository))}catch(t){throw t}finally{this.isRememberPostCommitCommandEnabled()||(await this.globalState.update(this.getGlobalStateKey(),void 0),this._onDidChange.fire())}}getGlobalStateKey(){return`postCommitCommand:${this.repository.root}`}getCommitCommands(){let e=lt.workspace.getConfiguration("git",lt.Uri.file(this.repository.root)),t=this.repository.isBranchProtected(),r=e.get("branchProtectionPrompt"),n=t&&r==="alwaysPrompt",o=t&&r==="alwaysCommitToNewBranch",a=n?"$(lock)":o?"$(git-branch)":void 0,s=this.repository.HEAD?.name,c=o?lt.l10n.t("Commit Changes to New Branch"):s?lt.l10n.t('Commit Changes on "{0}"',s):lt.l10n.t("Commit Changes");return this.repository.operations.isRunning("Commit")&&(c=o?lt.l10n.t("Committing Changes to New Branch..."):lt.l10n.t("Committing Changes...")),[{command:"git.commit",title:lt.l10n.t("{0} Commit",a??"$(check)"),tooltip:c,arguments:[this.repository.sourceControl,null]},{command:"git.commitAmend",title:lt.l10n.t("{0} Commit (Amend)",a??"$(check)"),tooltip:c,arguments:[this.repository.sourceControl,null]}]}getPostCommitCommandStringFromSetting(){let t=lt.workspace.getConfiguration("git",lt.Uri.file(this.repository.root)).get("postCommitCommand");return t==="push"||t==="sync"?`git.${t}`:void 0}getPostCommitCommandStringFromStorage(){return this.globalState.get(this.getGlobalStateKey())}async migratePostCommitCommandStorage(){let e=this.globalState.get(this.repository.root);e!==void 0&&(await this.globalState.update(this.getGlobalStateKey(),e),await this.globalState.update(this.repository.root,void 0))}isRememberPostCommitCommandEnabled(){return lt.workspace.getConfiguration("git",lt.Uri.file(this.repository.root)).get("rememberPostCommitCommand")===!0}dispose(){this.disposables=Le(this.disposables)}};var Jt=require("vscode");var Iv=class{constructor(e){this.repository=e;this._state={isCheckoutRunning:!1,isCommitRunning:!1,isSyncRunning:!1},e.onDidChangeOperations(this.onDidChangeOperations,this,this.disposables),e.onDidRunGitStatus(this._onDidChange.fire,this._onDidChange,this.disposables),e.onDidChangeBranchProtection(this._onDidChange.fire,this._onDidChange,this.disposables)}repository;_onDidChange=new Jt.EventEmitter;get onDidChange(){return this._onDidChange.event}disposables=[];_state;get state(){return this._state}set state(e){this._state=e,this._onDidChange.fire()}get command(){let e=[...this.repository.operations.getOperations("Checkout"),...this.repository.operations.getOperations("CheckoutTracking")],t=!!this.repository.rebaseCommit,r=e[0]?.refLabel??`${this.repository.headLabel}${t?` (${Jt.l10n.t("Rebasing")})`:""}`;return{command:this.state.isCheckoutRunning||this.state.isCommitRunning||this.state.isSyncRunning?"":"git.checkout",tooltip:`${r}, ${this.getTooltip()}`,title:`${this.getIcon()} ${r}`,arguments:[this.repository.sourceControl]}}getIcon(){if(!this.repository.HEAD)return"";if(this.state.isCheckoutRunning)return"$(loading~spin)";if(this.repository.HEAD.type===de.Head&&this.repository.HEAD.name)switch(!0){case this.repository.isBranchProtected():return"$(lock)";case(this.repository.mergeInProgress||!!this.repository.rebaseCommit):return"$(git-branch-conflicts)";case this.repository.indexGroup.resourceStates.length>0:return"$(git-branch-staged-changes)";case this.repository.workingTreeGroup.resourceStates.length+this.repository.untrackedGroup.resourceStates.length>0:return"$(git-branch-changes)";default:return"$(git-branch)"}return this.repository.HEAD.type===de.Tag?"$(tag)":"$(git-commit)"}getTooltip(){return this.state.isCheckoutRunning?Jt.l10n.t("Checking Out Branch/Tag..."):this.state.isCommitRunning?Jt.l10n.t("Committing Changes..."):this.state.isSyncRunning?Jt.l10n.t("Synchronizing Changes..."):Jt.l10n.t("Checkout Branch/Tag...")}onDidChangeOperations(){let e=this.repository.operations.isRunning("Commit"),t=this.repository.operations.isRunning("Checkout")||this.repository.operations.isRunning("CheckoutTracking"),r=this.repository.operations.isRunning("Sync")||this.repository.operations.isRunning("Push")||this.repository.operations.isRunning("Pull");this.state={...this.state,isCheckoutRunning:t,isCommitRunning:e,isSyncRunning:r}}dispose(){this.disposables.forEach(e=>e.dispose())}},Av=class{constructor(e,t){this.repository=e;this.remoteSourcePublisherRegistry=t;this._state={enabled:!0,isCheckoutRunning:!1,isCommitRunning:!1,isSyncRunning:!1,hasRemotes:!1,HEAD:void 0,remoteSourcePublishers:t.getRemoteSourcePublishers()},e.onDidRunGitStatus(this.onDidRunGitStatus,this,this.disposables),e.onDidChangeOperations(this.onDidChangeOperations,this,this.disposables),fi(t.onDidAddRemoteSourcePublisher,t.onDidRemoveRemoteSourcePublisher)(this.onDidChangeRemoteSourcePublishers,this,this.disposables),We(Jt.workspace.onDidChangeConfiguration,n=>n.affectsConfiguration("git.enableStatusBarSync"))(this.updateEnablement,this,this.disposables),this.updateEnablement()}repository;remoteSourcePublisherRegistry;_onDidChange=new Jt.EventEmitter;get onDidChange(){return this._onDidChange.event}disposables=[];_state;get state(){return this._state}set state(e){this._state=e,this._onDidChange.fire()}updateEnablement(){let t=Jt.workspace.getConfiguration("git",Jt.Uri.file(this.repository.root)).get("enableStatusBarSync",!0);this.state={...this.state,enabled:t}}onDidChangeOperations(){let e=this.repository.operations.isRunning("Commit"),t=this.repository.operations.isRunning("Checkout")||this.repository.operations.isRunning("CheckoutTracking"),r=this.repository.operations.isRunning("Sync")||this.repository.operations.isRunning("Push")||this.repository.operations.isRunning("Pull");this.state={...this.state,isCheckoutRunning:t,isCommitRunning:e,isSyncRunning:r}}onDidRunGitStatus(){this.state={...this.state,hasRemotes:this.repository.remotes.length>0,HEAD:this.repository.HEAD}}onDidChangeRemoteSourcePublishers(){this.state={...this.state,remoteSourcePublishers:this.remoteSourcePublisherRegistry.getRemoteSourcePublishers()}}get command(){if(!this.state.enabled)return;if(!this.state.hasRemotes){if(this.state.remoteSourcePublishers.length===0)return;let a=this.state.isCheckoutRunning||this.state.isCommitRunning?"":"git.publish",s=this.state.isCheckoutRunning?Jt.l10n.t("Checking Out Changes..."):this.state.isCommitRunning?Jt.l10n.t("Committing Changes..."):this.state.remoteSourcePublishers.length===1?Jt.l10n.t("Publish to {0}",this.state.remoteSourcePublishers[0].name):Jt.l10n.t("Publish to...");return{command:a,title:"$(cloud-upload)",tooltip:s,arguments:[this.repository.sourceControl]}}let e=this.state.HEAD,t="$(sync)",r="",n="",o="";return e&&e.name&&e.commit?e.upstream?((e.ahead||e.behind)&&(r+=this.repository.syncLabel),n="git.sync",o=this.repository.syncTooltip):(t="$(cloud-upload)",n="git.publish",o=Jt.l10n.t("Publish Branch")):(n="",o=""),this.state.isCheckoutRunning&&(n="",o=Jt.l10n.t("Checking Out Changes...")),this.state.isCommitRunning&&(n="",o=Jt.l10n.t("Committing Changes...")),this.state.isSyncRunning&&(t="$(sync~spin)",n="",o=Jt.l10n.t("Synchronizing Changes...")),{command:n,title:[t,r].join(" ").trim(),tooltip:o,arguments:[this.repository.sourceControl]}}dispose(){this.disposables.forEach(e=>e.dispose())}},Jm=class{constructor(e,t){this.repository=e;this.syncStatusBar=new Av(e,t),this.checkoutStatusBar=new Iv(e),this.onDidChange=fi(this.syncStatusBar.onDidChange,this.checkoutStatusBar.onDidChange)}repository;onDidChange;syncStatusBar;checkoutStatusBar;disposables=[];get commands(){return this.repository.isHidden?[]:[this.checkoutStatusBar.command,this.syncStatusBar.command].filter(e=>!!e)}dispose(){this.syncStatusBar.dispose(),this.checkoutStatusBar.dispose(),this.disposables=Le(this.disposables)}};var qm=require("vscode");function kv(i){let e=qm.workspace.createFileSystemWatcher(new qm.RelativePattern(i,"*"));return new class{event=fi(e.onDidCreate,e.onDidChange,e.onDidDelete);dispose(){e.dispose()}}}var Ri=require("vscode");function xR(i,e){let t=i.name??"",r=e.name??"",n=t.lastIndexOf("/"),o=r.lastIndexOf("/");if(n===-1&&o===-1)return 0;if(n!==-1&&o===-1)return-1;if(n===-1&&o!==-1)return 1;let a=t.substring(0,n).split("/"),s=r.substring(0,o).split("/");for(let c=0;c<Math.min(a.length,s.length);c++){let l=a[c].localeCompare(s[c]);if(l!==0)return l}return a.length!==s.length?s.length-a.length:0}function bN(i,e){return i.main&&!e.main?-1:!i.main&&e.main?1:i.name.localeCompare(e.name)}var Qm=class{constructor(e,t){this.repository=e;this.logger=t;if(Ri.workspace.isAgentSessionsWorkspace){this._groups=[];return}this._groups=[{id:"branches",name:Ri.l10n.t("Branches"),icon:St.branch,supportsFolders:!0},{id:"stashes",name:Ri.l10n.t("Stashes"),icon:St.stash,supportsFolders:!1},{id:"tags",name:Ri.l10n.t("Tags"),icon:St.tag,supportsFolders:!0},{id:"worktrees",name:Ri.l10n.t("Worktrees"),icon:St.worktree,supportsFolders:!1}],this._disposables.push(this._onDidChangeArtifacts),this._disposables.push(e.historyProvider.onDidChangeHistoryItemRefs(n=>{let o=new Set;for(let a of n.added.concat(n.modified).concat(n.removed))a.id.startsWith("refs/heads/")?o.add("branches"):a.id.startsWith("refs/tags/")&&o.add("tags");this._onDidChangeArtifacts.fire(Array.from(o))}));let r=We(e.onDidRunOperation,n=>!n.operation.readOnly);this._disposables.push(r(n=>{n.operation.kind==="Stash"?this._onDidChangeArtifacts.fire(["stashes"]):n.operation.kind==="Worktree"&&this._onDidChangeArtifacts.fire(["worktrees"])}))}repository;logger;_onDidChangeArtifacts=new Ri.EventEmitter;onDidChangeArtifacts=this._onDidChangeArtifacts.event;_groups;_disposables=[];provideArtifactGroups(){return this._groups}async provideArtifacts(e){let r=Ri.workspace.getConfiguration("git",Ri.Uri.file(this.repository.root)).get("commitShortHashLength",7);try{if(e==="branches")return(await this.repository.getRefs({pattern:"refs/heads",includeCommitDetails:!0,sort:"creatordate"})).sort(xR).map(o=>({id:`refs/heads/${o.name}`,name:o.name??o.commit??"",description:gl([o.commit?.substring(0,r),o.commitDetails?.message.split(`
`)[0]]).join(" \u2022 "),icon:this.repository.HEAD?.type===de.Head&&o.name===this.repository.HEAD?.name?St.head:St.branch,timestamp:o.commitDetails?.commitDate?.getTime()}));if(e==="tags")return(await this.repository.getRefs({pattern:"refs/tags",includeCommitDetails:!0,sort:"creatordate"})).sort(xR).map(o=>({id:`refs/tags/${o.name}`,name:o.name??o.commit??"",description:gl([o.commit?.substring(0,r),o.commitDetails?.message.split(`
`)[0]]).join(" \u2022 "),icon:this.repository.HEAD?.type===de.Tag&&o.name===this.repository.HEAD?.name?St.head:St.tag,timestamp:o.commitDetails?.commitDate?.getTime()}));if(e==="stashes")return(await this.repository.getStashes()).map(o=>({id:`stash@{${o.index}}`,name:o.description,description:o.branchName,icon:St.stash,timestamp:o.commitDate?.getTime(),command:{title:Ri.l10n.t("View Stash"),command:"git.repositories.stashView"}}));if(e==="worktrees")return(await this.repository.getWorktreeDetails()).sort(bN).map(o=>({id:o.path,name:o.name,description:gl([o.detached?Ri.l10n.t("detached"):o.ref.substring(11),o.commitDetails?.hash.substring(0,r),o.commitDetails?.message.split(`
`)[0]]).join(" \u2022 "),icon:o.main?St.repository:ad(o.path)?St.chatWorktree:St.worktree}))}catch(n){return this.logger.error(`[GitArtifactProvider][provideArtifacts] Error while providing artifacts for group '${e}': `,n),[]}return[]}dispose(){Le(this._disposables)}};var Yo=require("vscode");var Xm=class{constructor(e,t,r){this.repository=e;this.repositoryResolver=t;this.logger=r}repository;repositoryResolver;logger;label=Yo.l10n.t("Git Local Changes (Working Tree)");async provideOriginalResource(e){if(this.logger.trace(`[Repository][provideOriginalResource] Resource: ${e.toString()}`),e.scheme!=="file"){this.logger.trace(`[Repository][provideOriginalResource] Resource is not a file: ${e.scheme}`);return}if(nr(this.repository.dotGit.commonPath??this.repository.dotGit.path,e.fsPath)){this.logger.trace(`[Repository][provideOriginalResource] Resource is inside .git directory: ${e.toString()}`);return}if(((await Yo.workspace.fs.stat(e)).type&Yo.FileType.SymbolicLink)!==0){this.logger.trace(`[Repository][provideOriginalResource] Resource is a symbolic link: ${e.toString()}`);return}if(this.repositoryResolver.getRepository(e)!==this.repository){this.logger.trace(`[Repository][provideOriginalResource] Resource is not part of the repository: ${e.toString()}`);return}if(this.repository.isHidden===!0){this.logger.trace(`[Repository][provideOriginalResource] Repository is hidden: ${e.toString()}`);return}if(this.repository.mergeGroup.resourceStates.some(o=>et(o.resourceUri.fsPath,e.fsPath))){this.logger.trace(`[Repository][provideOriginalResource] Resource is part of a merge group: ${e.toString()}`);return}if(this.repository.untrackedGroup.resourceStates.some(o=>et(o.resourceUri.path,e.path))||this.repository.workingTreeGroup.resourceStates.some(o=>et(o.resourceUri.path,e.path)&&o.type===w.UNTRACKED)){this.logger.trace(`[Repository][provideOriginalResource] Resource is untracked: ${e.toString()}`);return}if((await this.repository.checkIgnore([e.fsPath])).size>0){this.logger.trace(`[Repository][provideOriginalResource] Resource is git ignored: ${e.toString()}`);return}let n=je(e,"",{replaceFileExtension:!0});return this.logger.trace(`[Repository][provideOriginalResource] Original resource: ${n.toString()}`),n}},Zm=class{constructor(e,t){this._repository=e;this.logger=t}_repository;logger;label=Yo.l10n.t("Git Local Changes (Index)");async provideOriginalResource(e){if(this.logger.trace(`[StagedResourceQuickDiffProvider][provideOriginalResource] Resource: ${e.toString()}`),e.scheme!=="file"){this.logger.trace(`[StagedResourceQuickDiffProvider][provideOriginalResource] Resource is not a file: ${e.scheme}`);return}if(this._repository.isHidden===!0){this.logger.trace(`[StagedResourceQuickDiffProvider][provideOriginalResource] Repository is hidden: ${e.toString()}`);return}if(((await Yo.workspace.fs.stat(e)).type&Yo.FileType.SymbolicLink)!==0){this.logger.trace(`[StagedResourceQuickDiffProvider][provideOriginalResource] Resource is a symbolic link: ${e.toString()}`);return}if(!this._repository.indexGroup.resourceStates.some(n=>et(n.resourceUri.fsPath,e.fsPath))){this.logger.trace(`[StagedResourceQuickDiffProvider][provideOriginalResource] Resource is not part of a index group: ${e.toString()}`);return}let r=je(e,"HEAD",{replaceFileExtension:!0});return this.logger.trace(`[StagedResourceQuickDiffProvider][provideOriginalResource] Original resource: ${r.toString()}`),r}};var PR=i=>new Promise(e=>setTimeout(e,i)),CN=Ye.join(Ye.dirname(__dirname),"resources","icons");function Or(i,e){return v.Uri.file(Ye.join(CN,e,`${i}.svg`))}var _t=class _t{constructor(e,t,r,n,o,a,s){this._commandResolver=e;this._resourceGroupType=t;this._resourceUri=r;this._type=n;this._useIcons=o;this._renameResourceUri=a;this._repositoryKind=s}_commandResolver;_resourceGroupType;_resourceUri;_type;_useIcons;_renameResourceUri;_repositoryKind;static getStatusLetter(e){switch(e){case w.INDEX_MODIFIED:case w.MODIFIED:return"M";case w.INDEX_ADDED:case w.INTENT_TO_ADD:return"A";case w.INDEX_DELETED:case w.DELETED:return"D";case w.INDEX_RENAMED:case w.INTENT_TO_RENAME:return"R";case w.TYPE_CHANGED:return"T";case w.UNTRACKED:return"U";case w.IGNORED:return"I";case w.INDEX_COPIED:return"C";case w.BOTH_DELETED:case w.ADDED_BY_US:case w.DELETED_BY_THEM:case w.ADDED_BY_THEM:case w.DELETED_BY_US:case w.BOTH_ADDED:case w.BOTH_MODIFIED:return"!";default:throw new Error("Unknown git status: "+e)}}static getStatusText(e){switch(e){case w.INDEX_MODIFIED:return v.l10n.t("Index Modified");case w.MODIFIED:return v.l10n.t("Modified");case w.INDEX_ADDED:return v.l10n.t("Index Added");case w.INDEX_DELETED:return v.l10n.t("Index Deleted");case w.DELETED:return v.l10n.t("Deleted");case w.INDEX_RENAMED:return v.l10n.t("Index Renamed");case w.INDEX_COPIED:return v.l10n.t("Index Copied");case w.UNTRACKED:return v.l10n.t("Untracked");case w.IGNORED:return v.l10n.t("Ignored");case w.INTENT_TO_ADD:return v.l10n.t("Intent to Add");case w.INTENT_TO_RENAME:return v.l10n.t("Intent to Rename");case w.TYPE_CHANGED:return v.l10n.t("Type Changed");case w.BOTH_DELETED:return v.l10n.t("Conflict: Both Deleted");case w.ADDED_BY_US:return v.l10n.t("Conflict: Added By Us");case w.DELETED_BY_THEM:return v.l10n.t("Conflict: Deleted By Them");case w.ADDED_BY_THEM:return v.l10n.t("Conflict: Added By Them");case w.DELETED_BY_US:return v.l10n.t("Conflict: Deleted By Us");case w.BOTH_ADDED:return v.l10n.t("Conflict: Both Added");case w.BOTH_MODIFIED:return v.l10n.t("Conflict: Both Modified");default:return""}}static getStatusColor(e){switch(e){case w.INDEX_MODIFIED:return new v.ThemeColor("gitDecoration.stageModifiedResourceForeground");case w.MODIFIED:case w.TYPE_CHANGED:return new v.ThemeColor("gitDecoration.modifiedResourceForeground");case w.INDEX_DELETED:return new v.ThemeColor("gitDecoration.stageDeletedResourceForeground");case w.DELETED:return new v.ThemeColor("gitDecoration.deletedResourceForeground");case w.INDEX_ADDED:case w.INTENT_TO_ADD:return new v.ThemeColor("gitDecoration.addedResourceForeground");case w.INDEX_COPIED:case w.INDEX_RENAMED:case w.INTENT_TO_RENAME:return new v.ThemeColor("gitDecoration.renamedResourceForeground");case w.UNTRACKED:return new v.ThemeColor("gitDecoration.untrackedResourceForeground");case w.IGNORED:return new v.ThemeColor("gitDecoration.ignoredResourceForeground");case w.BOTH_DELETED:case w.ADDED_BY_US:case w.DELETED_BY_THEM:case w.ADDED_BY_THEM:case w.DELETED_BY_US:case w.BOTH_ADDED:case w.BOTH_MODIFIED:return new v.ThemeColor("gitDecoration.conflictingResourceForeground");default:throw new Error("Unknown git status: "+e)}}get resourceUri(){return this.renameResourceUri&&(this._type===w.MODIFIED||this._type===w.DELETED||this._type===w.INDEX_RENAMED||this._type===w.INDEX_COPIED||this._type===w.INTENT_TO_RENAME)?this.renameResourceUri:this._resourceUri}get leftUri(){return this.resources.left}get rightUri(){return this.resources.right}get multiDiffEditorOriginalUri(){return this.resources.original}get multiFileDiffEditorModifiedUri(){return this.resources.modified}get command(){return this._commandResolver.resolveDefaultCommand(this)}get resources(){return this._commandResolver.getResources(this)}get resourceGroupType(){return this._resourceGroupType}get type(){return this._type}get original(){return this._resourceUri}get renameResourceUri(){return this._renameResourceUri}get contextValue(){return this._repositoryKind}static Icons={light:{Modified:Or("status-modified","light"),Added:Or("status-added","light"),Deleted:Or("status-deleted","light"),Renamed:Or("status-renamed","light"),Copied:Or("status-copied","light"),Untracked:Or("status-untracked","light"),Ignored:Or("status-ignored","light"),Conflict:Or("status-conflict","light"),TypeChanged:Or("status-type-changed","light")},dark:{Modified:Or("status-modified","dark"),Added:Or("status-added","dark"),Deleted:Or("status-deleted","dark"),Renamed:Or("status-renamed","dark"),Copied:Or("status-copied","dark"),Untracked:Or("status-untracked","dark"),Ignored:Or("status-ignored","dark"),Conflict:Or("status-conflict","dark"),TypeChanged:Or("status-type-changed","dark")}};getIconPath(e){switch(this.type){case w.INDEX_MODIFIED:return _t.Icons[e].Modified;case w.MODIFIED:return _t.Icons[e].Modified;case w.INDEX_ADDED:return _t.Icons[e].Added;case w.INDEX_DELETED:return _t.Icons[e].Deleted;case w.DELETED:return _t.Icons[e].Deleted;case w.INDEX_RENAMED:return _t.Icons[e].Renamed;case w.INDEX_COPIED:return _t.Icons[e].Copied;case w.UNTRACKED:return _t.Icons[e].Untracked;case w.IGNORED:return _t.Icons[e].Ignored;case w.INTENT_TO_ADD:return _t.Icons[e].Added;case w.INTENT_TO_RENAME:return _t.Icons[e].Renamed;case w.TYPE_CHANGED:return _t.Icons[e].TypeChanged;case w.BOTH_DELETED:return _t.Icons[e].Conflict;case w.ADDED_BY_US:return _t.Icons[e].Conflict;case w.DELETED_BY_THEM:return _t.Icons[e].Conflict;case w.ADDED_BY_THEM:return _t.Icons[e].Conflict;case w.DELETED_BY_US:return _t.Icons[e].Conflict;case w.BOTH_ADDED:return _t.Icons[e].Conflict;case w.BOTH_MODIFIED:return _t.Icons[e].Conflict;default:throw new Error("Unknown git status: "+this.type)}}get tooltip(){return _t.getStatusText(this.type)}get strikeThrough(){switch(this.type){case w.DELETED:case w.BOTH_DELETED:case w.DELETED_BY_THEM:case w.DELETED_BY_US:case w.INDEX_DELETED:return!0;default:return!1}}get faded(){return!1}get decorations(){let e=this._useIcons?{iconPath:this.getIconPath("light")}:void 0,t=this._useIcons?{iconPath:this.getIconPath("dark")}:void 0,r=this.tooltip,n=this.strikeThrough,o=this.faded;return{strikeThrough:n,faded:o,tooltip:r,light:e,dark:t}}get letter(){return _t.getStatusLetter(this.type)}get color(){return _t.getStatusColor(this.type)}get priority(){switch(this.type){case w.INDEX_MODIFIED:case w.MODIFIED:case w.INDEX_COPIED:case w.TYPE_CHANGED:return 2;case w.IGNORED:return 3;case w.BOTH_DELETED:case w.ADDED_BY_US:case w.DELETED_BY_THEM:case w.ADDED_BY_THEM:case w.DELETED_BY_US:case w.BOTH_ADDED:case w.BOTH_MODIFIED:return 4;default:return 1}}get resourceDecoration(){let e=new v.FileDecoration(this.letter,this.tooltip,this.color);return e.propagate=this.type!==w.DELETED&&this.type!==w.INDEX_DELETED,e}async open(){let e=this.command;await v.commands.executeCommand(e.command,...e.arguments||[])}async openFile(){let e=this._commandResolver.resolveFileCommand(this);await v.commands.executeCommand(e.command,...e.arguments||[])}async openChange(){let e=this._commandResolver.resolveChangeCommand(this);await v.commands.executeCommand(e.command,...e.arguments||[])}async compareWithWorkspace(){let e=this._commandResolver.resolveCompareWithWorkspaceCommand(this);await v.commands.executeCommand(e.command,...e.arguments||[])}clone(e){return new _t(this._commandResolver,e??this._resourceGroupType,this._resourceUri,this._type,this._useIcons,this._renameResourceUri,this._repositoryKind)}};D([Sn],_t.prototype,"resourceUri",1),D([Sn],_t.prototype,"command",1),D([Sn],_t.prototype,"resources",1),D([Sn],_t.prototype,"faded",1);var ze=_t,Ov=class{constructor(e){this.repository=e;We(v.workspace.onDidChangeConfiguration,r=>r.affectsConfiguration("git",v.Uri.file(this.repository.root)))(r=>this.updateEnablement(),null,this.disposables),this.updateEnablement(),v.workspace.isAgentSessionsWorkspace||this.repository.onDidChangeOperations(()=>{this.repository.sourceControl.inputBox.enabled=!this.repository.operations.isRunning("Commit")},null,this.disposables)}repository;enabled=!1;disposable=wn;disposables=[];updateEnablement(){v.workspace.getConfiguration("git",v.Uri.file(this.repository.root)).get("showProgress")===!0&&!v.workspace.isAgentSessionsWorkspace?this.enable():this.disable()}enable(){if(this.enabled)return;let e=Go(We(this.repository.onDidChangeOperations,()=>this.repository.operations.shouldShowProgress())),t=Go(We(DD(this.repository.onDidChangeOperations,300),()=>!this.repository.operations.shouldShowProgress())),r=()=>{this.disposable=e(()=>{let n=Yi(t).then(()=>r());v.window.withProgress({location:v.ProgressLocation.SourceControl},()=>n)})};r(),this.enabled=!0}disable(){this.enabled&&(this.disposable.dispose(),this.disposable=wn,this.enabled=!1)}dispose(){this.disable(),Le(this.disposables)}},Mv=class{constructor(e,t,r){this.onWorkspaceWorkingTreeFileChange=e;this.onDotGitFileChange=t;this.logger=r;this.logLevelDisposable=r.onDidChangeLogLevel(this.onDidChangeLogLevel,this),this.onDidChangeLogLevel(r.logLevel)}onWorkspaceWorkingTreeFileChange;onDotGitFileChange;logger;eventDisposable=wn;logLevelDisposable=wn;onDidChangeLogLevel(e){this.eventDisposable.dispose(),!(e>v.LogLevel.Debug)&&(this.eventDisposable=Fs([this.onWorkspaceWorkingTreeFileChange(t=>this.logger.debug(`[FileEventLogger][onWorkspaceWorkingTreeFileChange] ${t.fsPath}`)),this.onDotGitFileChange(t=>this.logger.debug(`[FileEventLogger][onDotGitFileChange] ${t.fsPath}`))]))}dispose(){this.eventDisposable.dispose(),this.logLevelDisposable.dispose()}},Lv=class{constructor(e,t){this.repository=e;this.logger=t;let r=kv(e.dotGit.path);this.disposables.push(r);let n=We(r.event,o=>o.scheme==="file"&&!/\/\.git(\/index\.lock|\/worktrees\/[^/]+\/index\.lock)?$|\/\.watchman-cookie-/.test(o.path));this.event=fi(n,this.emitter.event),e.onDidRunGitStatus(this.updateTransientWatchers,this,this.disposables),this.updateTransientWatchers()}repository;logger;event;emitter=new v.EventEmitter;transientDisposables=[];disposables=[];updateTransientWatchers(){if(this.transientDisposables=Le(this.transientDisposables),!this.repository.HEAD||!this.repository.HEAD.upstream)return;this.transientDisposables=Le(this.transientDisposables);let{name:e,remote:t}=this.repository.HEAD.upstream,r=Ye.join(this.repository.dotGit.commonPath??this.repository.dotGit.path,"refs","remotes",t,e);try{let n=kv(r);this.transientDisposables.push(n),n.event(this.emitter.fire,this.emitter,this.transientDisposables)}catch{this.logger.warn(`[DotGitWatcher][updateTransientWatchers] Failed to watch ref '${r}', is most likely packed.`)}}dispose(){this.emitter.dispose(),this.transientDisposables=Le(this.transientDisposables),this.disposables=Le(this.disposables)}},Bv=class{constructor(e){this.repository=e}repository;resolveDefaultCommand(e){return v.workspace.getConfiguration("git",v.Uri.file(this.repository.root)).get("openDiffOnClick",!0)?this.resolveChangeCommand(e):this.resolveFileCommand(e)}resolveFileCommand(e){return{command:"vscode.open",title:v.l10n.t("Open"),arguments:[e.resourceUri]}}resolveChangeCommand(e,t,r){t||(r=e.leftUri);let n=this.getTitle(e);if(r)return{command:"vscode.diff",title:v.l10n.t("Open"),arguments:[r,e.rightUri,n]};{let o=e.type===w.BOTH_MODIFIED;return e.rightUri&&v.workspace.getConfiguration("git").get("mergeEditor",!1)&&(o||e.type===w.BOTH_ADDED)?{command:this.repository.isWorktreeMigrating?"git.openWorktreeMergeEditor":"git.openMergeEditor",title:v.l10n.t("Open Merge"),arguments:[e.rightUri]}:{command:"vscode.open",title:v.l10n.t("Open"),arguments:[e.rightUri,{override:o?!1:void 0},n]}}}resolveCompareWithWorkspaceCommand(e){if(!this.repository.dotGit.commonPath)return this.resolveChangeCommand(e);let t=Ye.dirname(this.repository.dotGit.commonPath),r=Ye.relative(this.repository.root,e.resourceUri.fsPath),n=Ye.join(t,r),o=xn.existsSync(n)?v.Uri.file(n):void 0;return this.resolveChangeCommand(e,!0,o)}getResources(e){for(let n of this.repository.submodules)if(Ye.join(this.repository.root,n.path)===e.resourceUri.fsPath){let a=je(e.resourceUri,e.resourceGroupType===1?"index":"wt",{submoduleOf:this.repository.root});return{left:void 0,right:a,original:void 0,modified:a}}let t=this.getLeftResource(e),r=this.getRightResource(e);return{left:t.original??t.modified,right:r.original??r.modified,original:t.original??r.original,modified:t.modified??r.modified}}getLeftResource(e){switch(e.type){case w.INDEX_MODIFIED:case w.INDEX_RENAMED:case w.INTENT_TO_RENAME:case w.TYPE_CHANGED:return{original:je(e.original,"HEAD")};case w.MODIFIED:return{original:je(e.resourceUri,"~")};case w.DELETED_BY_US:case w.DELETED_BY_THEM:return{original:je(e.resourceUri,"~1")}}return{}}getRightResource(e){switch(e.type){case w.INDEX_MODIFIED:case w.INDEX_ADDED:case w.INDEX_COPIED:case w.INDEX_RENAMED:return{modified:je(e.resourceUri,"")};case w.INDEX_DELETED:case w.DELETED:return{original:je(e.resourceUri,"HEAD")};case w.DELETED_BY_US:return{original:je(e.resourceUri,"~3")};case w.DELETED_BY_THEM:return{original:je(e.resourceUri,"~2")};case w.MODIFIED:case w.UNTRACKED:case w.IGNORED:case w.INTENT_TO_ADD:case w.INTENT_TO_RENAME:case w.TYPE_CHANGED:{let t=e.resourceUri.toString(),[r]=this.repository.indexGroup.resourceStates.filter(n=>n.resourceUri.toString()===t);return r&&r.renameResourceUri?{modified:r.renameResourceUri}:{modified:e.resourceUri}}case w.BOTH_ADDED:case w.BOTH_MODIFIED:return{modified:e.resourceUri}}return{}}getTitle(e){let t=Ye.basename(e.resourceUri.fsPath);switch(e.type){case w.INDEX_MODIFIED:case w.INDEX_RENAMED:case w.INDEX_ADDED:return v.l10n.t("{0} (Index)",t);case w.MODIFIED:case w.BOTH_ADDED:case w.BOTH_MODIFIED:return v.l10n.t("{0} (Working Tree)",t);case w.INDEX_DELETED:case w.DELETED:return v.l10n.t("{0} (Deleted)",t);case w.DELETED_BY_US:return v.l10n.t("{0} (Theirs)",t);case w.DELETED_BY_THEM:return v.l10n.t("{0} (Ours)",t);case w.UNTRACKED:return v.l10n.t("{0} (Untracked)",t);case w.INTENT_TO_ADD:case w.INTENT_TO_RENAME:return v.l10n.t("{0} (Intent to add)",t);case w.TYPE_CHANGED:return v.l10n.t("{0} (Type changed)",t);default:return""}}},ar=class ar{constructor(e,t,r,n,o,a,s,c,l,u,f){this.repository=e;this.repositoryResolver=t;this.pushErrorHandlerRegistry=r;this.branchProtectionProviderRegistry=a;this.globalState=c;this.logger=l;this.telemetryReporter=u;this.repositoryCache=f;this._operations=new Fm(this.logger);let m=v.workspace.createFileSystemWatcher(new v.RelativePattern(v.Uri.file(e.root),"**"));this.disposables.push(m);let h=fi(m.onDidChange,m.onDidCreate,m.onDidDelete),p=We(h,y=>!/\.git($|\\|\/)/.test(yl(e.root,y.fsPath))),_;try{let y=new Lv(this,l);_=y.event,this.disposables.push(y)}catch(y){l.error(`Failed to watch path:'${this.dotGit.path}' or commonPath:'${this.dotGit.commonPath}', reverting to legacy API file watched. Some events might be lost.
${y.stack||y}`),_=We(h,x=>/\.git($|\\|\/)/.test(x.path))}fi(p,_)(this.onFileChange,this,this.disposables),_(this._onDidChangeRepository.fire,this._onDidChangeRepository,this.disposables),this.disposables.push(new Mv(p,_,l));let S=v.workspace.isAgentSessionsWorkspace?void 0:e.kind==="submodule"?e.dotGit.superProjectPath:e.kind==="worktree"&&e.dotGit.commonPath?Ye.dirname(e.dotGit.commonPath):void 0,E=S?this.repositoryResolver.getRepository(S)?.sourceControl:void 0,R=e.kind==="submodule"?new v.ThemeIcon("archive"):e.kind==="worktree"?ad(e.root)?new v.ThemeIcon("chat-sparkle"):new v.ThemeIcon("worktree"):new v.ThemeIcon("repo");this._isHidden=v.workspace.workspaceFolders===void 0||e.kind==="worktree"&&ad(e.root)&&E!==void 0;let P=v.Uri.file(e.root);this._sourceControl=v.scm.createSourceControl("git","Git",P,R,this._isHidden,E),this._sourceControl.contextValue=e.kind,this._sourceControl.quickDiffProvider=new Xm(this,this.repositoryResolver,l),this._sourceControl.secondaryQuickDiffProvider=new Zm(this,l),this._historyProvider=new fd(s,this,l),this._sourceControl.historyProvider=this._historyProvider,this.disposables.push(this._historyProvider),this._artifactProvider=new Qm(this,l),this._sourceControl.artifactProvider=this._artifactProvider,this.disposables.push(this._artifactProvider),this._sourceControl.acceptInputCommand={command:"git.commit",title:v.l10n.t("Commit"),arguments:[this._sourceControl]},this._sourceControl.inputBox.validateInput=this.validateInput.bind(this),this.disposables.push(this._sourceControl),this.updateInputBoxPlaceholder(),this.disposables.push(this.onDidRunGitStatus(()=>this.updateInputBoxPlaceholder())),this._mergeGroup=this._sourceControl.createResourceGroup("merge",v.l10n.t("Merge Changes")),this._indexGroup=this._sourceControl.createResourceGroup("index",v.l10n.t("Staged Changes"),{multiDiffEditorEnableViewChanges:!0}),this._workingTreeGroup=this._sourceControl.createResourceGroup("workingTree",v.l10n.t("Changes"),{multiDiffEditorEnableViewChanges:!0}),this._untrackedGroup=this._sourceControl.createResourceGroup("untracked",v.l10n.t("Untracked Changes"),{multiDiffEditorEnableViewChanges:!0});let L=()=>{let y=v.workspace.getConfiguration("git",P);this.indexGroup.hideWhenEmpty=!y.get("alwaysShowStagedChangesResourceGroup")};We(v.workspace.onDidChangeConfiguration,y=>y.affectsConfiguration("git.alwaysShowStagedChangesResourceGroup",P))(L,this,this.disposables),L(),v.workspace.onDidChangeConfiguration(y=>{y.affectsConfiguration("git.mergeEditor")&&(this.mergeGroup.resourceStates=this.mergeGroup.resourceStates.map(x=>x.clone()))},void 0,this.disposables),We(v.workspace.onDidChangeConfiguration,y=>y.affectsConfiguration("git.branchSortOrder",P)||y.affectsConfiguration("git.untrackedChanges",P)||y.affectsConfiguration("git.ignoreSubmodules",P)||y.affectsConfiguration("git.openDiffOnClick",P)||y.affectsConfiguration("git.showActionButton",P)||y.affectsConfiguration("git.similarityThreshold",P))(()=>this.updateModelState(),this,this.disposables);let $=()=>{let y=v.workspace.getConfiguration("git",P);this._sourceControl.inputBox.visible=y.get("showCommitInput",!0)};if(We(v.workspace.onDidChangeConfiguration,y=>y.affectsConfiguration("git.showCommitInput",P))($,this,this.disposables),$(),this.mergeGroup.hideWhenEmpty=!0,this.untrackedGroup.hideWhenEmpty=!0,this.disposables.push(this.mergeGroup),this.disposables.push(this.indexGroup),this.disposables.push(this.workingTreeGroup),this.disposables.push(this.untrackedGroup),v.workspace.isTrusted)this.disposables.push(new dd(this,c));else{let y=v.workspace.onDidGrantWorkspaceTrust(()=>{y.dispose(),this.disposables.push(new dd(this,c))});this.disposables.push(y)}We(this.onDidRunOperation,y=>y.operation.kind==="Push"&&!y.error)(()=>{v.workspace.getConfiguration("git").get("showPushSuccessNotification")&&v.window.showInformationMessage(v.l10n.t("Successfully pushed."))},null,this.disposables);let H=We(this.branchProtectionProviderRegistry.onDidChangeBranchProtectionProviders,y=>et(y.fsPath,P.fsPath));this.disposables.push(H(y=>this.updateBranchProtectionMatchers(y))),this.disposables.push(this.branchProtectionProviderRegistry.registerBranchProtectionProvider(P,new Um(P,this.logger)));let T=new Jm(this,n);this.disposables.push(T),T.onDidChange(()=>this._sourceControl.statusBarCommands=T.commands,null,this.disposables),this._sourceControl.statusBarCommands=T.commands,this.commitCommandCenter=new Vm(c,this,o),this.disposables.push(this.commitCommandCenter);let ee=new Gm(this,this.commitCommandCenter,this.logger);this.disposables.push(ee),ee.onDidChange(()=>this._sourceControl.actionButton=ee.button,this,this.disposables),this._sourceControl.actionButton=ee.button;let le=new Ov(this);this.disposables.push(le),We(v.workspace.onDidChangeConfiguration,y=>y.affectsConfiguration("git.countBadge",P))(this.setCountBadge,this,this.disposables),this.setCountBadge()}repository;repositoryResolver;pushErrorHandlerRegistry;branchProtectionProviderRegistry;globalState;logger;telemetryReporter;repositoryCache;static WORKTREE_ROOT_STORAGE_KEY="worktreeRoot";_onDidChangeRepository=new v.EventEmitter;onDidChangeRepository=this._onDidChangeRepository.event;_onDidChangeState=new v.EventEmitter;onDidChangeState=this._onDidChangeState.event;_onDidChangeStatus=new v.EventEmitter;onDidRunGitStatus=this._onDidChangeStatus.event;_onDidChangeOriginalResource=new v.EventEmitter;onDidChangeOriginalResource=this._onDidChangeOriginalResource.event;_onRunOperation=new v.EventEmitter;onRunOperation=this._onRunOperation.event;_onDidRunOperation=new v.EventEmitter;onDidRunOperation=this._onDidRunOperation.event;_onDidChangeBranchProtection=new v.EventEmitter;onDidChangeBranchProtection=this._onDidChangeBranchProtection.event;get onDidChangeOperations(){return fi(this.onRunOperation,this.onDidRunOperation)}_sourceControl;get sourceControl(){return this._sourceControl}get inputBox(){return this._sourceControl.inputBox}_mergeGroup;get mergeGroup(){return this._mergeGroup}_indexGroup;get indexGroup(){return this._indexGroup}_workingTreeGroup;get workingTreeGroup(){return this._workingTreeGroup}_untrackedGroup;get untrackedGroup(){return this._untrackedGroup}_EMPTY_TREE;_HEAD;get HEAD(){return this._HEAD}_refs=[];get refs(){return this._refs}get headShortName(){if(!this.HEAD)return;let e=this.HEAD;return e.name?e.name:(e.commit||"").substr(0,8)}_remotes=[];get remotes(){return this._remotes}_submodules=[];get submodules(){return this._submodules}_worktrees=[];get worktrees(){return this._worktrees}_rebaseCommit=void 0;set rebaseCommit(e){this._rebaseCommit&&!e?this.inputBox.value="":e&&(!this._rebaseCommit||this._rebaseCommit.hash!==e.hash)&&(this.inputBox.value=e.message);let t=!!this._rebaseCommit!=!!e;this._rebaseCommit=e,t&&v.commands.executeCommand("setContext","gitRebaseInProgress",!!this._rebaseCommit)}get rebaseCommit(){return this._rebaseCommit}_mergeInProgress=!1;set mergeInProgress(e){this._mergeInProgress!==e&&(this._mergeInProgress=e,v.commands.executeCommand("setContext","gitMergeInProgress",e))}get mergeInProgress(){return this._mergeInProgress}_cherryPickInProgress=!1;set cherryPickInProgress(e){this._cherryPickInProgress!==e&&(this._cherryPickInProgress=e,v.commands.executeCommand("setContext","gitCherryPickInProgress",e))}get cherryPickInProgress(){return this._cherryPickInProgress}_isWorktreeMigrating=!1;get isWorktreeMigrating(){return this._isWorktreeMigrating}set isWorktreeMigrating(e){this._isWorktreeMigrating=e}_operations;get operations(){return this._operations}_state=0;get state(){return this._state}set state(e){this._state=e,this._onDidChangeState.fire(e),this._HEAD=void 0,this._remotes=[],this.mergeGroup.resourceStates=[],this.indexGroup.resourceStates=[],this.workingTreeGroup.resourceStates=[],this.untrackedGroup.resourceStates=[],this._sourceControl.count=0}get root(){return this.repository.root}get rootRealPath(){return this.repository.rootRealPath}get dotGit(){return this.repository.dotGit}get kind(){return this.repository.kind}_isUsingVirtualFileSystem=void 0;get isUsingVirtualFileSystem(){return this._isUsingVirtualFileSystem===!0}_artifactProvider;get artifactProvider(){return this._artifactProvider}_historyProvider;get historyProvider(){return this._historyProvider}_isHidden;get isHidden(){return this._isHidden}isRepositoryHuge=!1;didWarnAboutLimit=!1;unpublishedCommits=void 0;branchProtection=new Map;commitCommandCenter;resourceCommandResolver=new Bv(this);updateModelStateCancellationTokenSource;disposables=[];validateInput(e,t){if(this.isRepositoryHuge)return{message:v.l10n.t("Too many changes were detected. Only the first {0} changes will be shown below.",this.isRepositoryHuge.limit),type:v.SourceControlInputBoxValidationType.Warning};if(this.rebaseCommit&&this.rebaseCommit.message!==e)return{message:v.l10n.t("It's not possible to change the commit message in the middle of a rebase. Please complete the rebase operation and use interactive rebase instead."),type:v.SourceControlInputBoxValidationType.Warning}}async getInputTemplate(){let e=(await Promise.all([this.repository.getMergeMessage(),this.repository.getSquashMessage()])).find(t=>!!t);return e||await this.repository.getCommitTemplate()}getConfigs(){return this.run(ae.Config(!0),()=>this.repository.getConfigs("local"))}getConfig(e){return this.run(ae.Config(!0),()=>this.repository.config("get","local",e))}getGlobalConfig(e){return this.run(ae.Config(!0),()=>this.repository.config("get","global",e))}setConfig(e,t){return this.run(ae.Config(!1),()=>this.repository.config("add","local",e,t))}unsetConfig(e){return this.run(ae.Config(!1),()=>this.repository.config("unset","local",e))}log(e,t){let r=!e||e.silent!==!0;return this.run(ae.Log(r),()=>this.repository.log(e,t))}logFile(e,t,r){return this.run(ae.LogFile,()=>this.repository.logFile(e,t,r))}async status(){await this.run(ae.Status)}async refresh(){await this.run(ae.Refresh)}diff(e){return this.run(ae.Diff,()=>this.repository.diff(e))}diffWithHEAD(e){return this.run(ae.Diff,()=>this.repository.diffWithHEAD(e))}diffWithHEADShortStats(e){return this.run(ae.Diff,()=>this.repository.diffWithHEADShortStats(e))}diffWith(e,t){return this.run(ae.Diff,()=>this.repository.diffWith(e,t))}diffIndexWithHEAD(e){return this.run(ae.Diff,()=>this.repository.diffIndexWithHEAD(e))}diffIndexWithHEADShortStats(e){return this.run(ae.Diff,()=>this.repository.diffIndexWithHEADShortStats(e))}diffIndexWith(e,t){return this.run(ae.Diff,()=>this.repository.diffIndexWith(e,t))}diffBlobs(e,t){return this.run(ae.Diff,()=>this.repository.diffBlobs(e,t))}diffBetween(e,t,r){return this.run(ae.Diff,()=>this.repository.diffBetween(e,t,r))}diffBetweenPatch(e,t,r){return this.run(ae.Diff,()=>this.repository.diffBetweenPatch(`${e}...${t}`,{path:r}))}diffBetweenWithStats(e,t,r){if(e===this._EMPTY_TREE)return this.diffTrees(e,t);let o=v.workspace.getConfiguration("git",v.Uri.file(this.root)).get("similarityThreshold",50);return this.run(ae.Diff,()=>this.repository.diffBetweenWithStats(`${e}...${t}`,{path:r,similarityThreshold:o}))}diffBetweenWithStats2(e,t){let n=v.workspace.getConfiguration("git",v.Uri.file(this.root)).get("similarityThreshold",50);return this.run(ae.Diff,()=>this.repository.diffBetweenWithStats(e,{path:t,similarityThreshold:n}))}diffTrees(e,t){let n=v.workspace.getConfiguration("git",v.Uri.file(this.root)).get("similarityThreshold",50);return this.run(ae.Diff,()=>this.repository.diffTrees(e,t,{similarityThreshold:n}))}getMergeBase(e,t,...r){return this.run(ae.MergeBase,()=>this.repository.getMergeBase(e,t,...r))}async hashObject(e){return this.run(ae.HashObject,()=>this.repository.hashObject(e))}async add(e,t){await this.run(ae.Add(!this.optimisticUpdateEnabled()),async()=>{await this.repository.add(e.map(r=>r.fsPath),t),this.closeDiffEditors([],[...e.map(r=>r.fsPath)]),v.commands.executeCommand("_chat.editSessions.accept",e)},()=>{let r=e.map(u=>u.fsPath),n=this.indexGroup.resourceStates.map(u=>u.resourceUri.fsPath),o=[];for(let u of[...this.mergeGroup.resourceStates,...this.untrackedGroup.resourceStates,...this.workingTreeGroup.resourceStates])r.includes(u.resourceUri.fsPath)&&!n.includes(u.resourceUri.fsPath)&&o.push(u.clone(1));let a=[...this.indexGroup.resourceStates,...o],s=this.mergeGroup.resourceStates.filter(u=>!r.includes(u.resourceUri.fsPath)),c=this.workingTreeGroup.resourceStates.filter(u=>!r.includes(u.resourceUri.fsPath)),l=this.untrackedGroup.resourceStates.filter(u=>!r.includes(u.resourceUri.fsPath));return{indexGroup:a,mergeGroup:s,workingTreeGroup:c,untrackedGroup:l}})}async rm(e){await this.run(ae.Remove,()=>this.repository.rm(e.map(t=>t.fsPath)))}async stage(e,t,r){await this.run(ae.Stage,async()=>{let n=await v.workspace.encode(t,{encoding:r});await this.repository.stage(e.fsPath,n),this._onDidChangeOriginalResource.fire(e),this.closeDiffEditors([],[...e.fsPath])})}async revert(e){await this.run(ae.RevertFiles(!this.optimisticUpdateEnabled()),async()=>{await this.repository.revert("HEAD",e.map(r=>r.fsPath));for(let r of e)this._onDidChangeOriginalResource.fire(r);this.closeDiffEditors([...e.length!==0?e.map(r=>r.fsPath):this.indexGroup.resourceStates.map(r=>r.resourceUri.fsPath)],[]);let t=e.length!==0?e:this.indexGroup.resourceStates.map(r=>r.resourceUri);v.commands.executeCommand("_aiEdits.clearAiContributions",t)},()=>{let r=v.workspace.getConfiguration("git",v.Uri.file(this.repository.root)).get("untrackedChanges"),n=r==="mixed"?2:3,o=e.length===0?this.indexGroup.resourceStates.map(f=>f.resourceUri.fsPath):e.map(f=>f.fsPath),a=[],s=[];for(let f of this.indexGroup.resourceStates)o.includes(f.resourceUri.fsPath)&&(f.type===w.INDEX_ADDED?s.push(f.clone(n)):a.push(f.clone(2)));let c=this.indexGroup.resourceStates.filter(f=>!o.includes(f.resourceUri.fsPath)),l=r==="mixed"?[...this.workingTreeGroup.resourceStates,...a,...s]:[...this.workingTreeGroup.resourceStates,...a],u=r==="separate"?[...this.untrackedGroup.resourceStates,...s]:void 0;return{indexGroup:c,workingTreeGroup:l,untrackedGroup:u}})}async restore(e,t){await this.run(ae.Restore(!this.optimisticUpdateEnabled()),async()=>{let r=[],n=[],o=[...this.indexGroup.resourceStates,...this.workingTreeGroup.resourceStates,...this.untrackedGroup.resourceStates];for(let a of e){let s=rv(o,c=>c.resourceUri.toString()===a.toString());if(!s){n.push(a.fsPath);continue}switch(s.type){case w.UNTRACKED:case w.IGNORED:r.push(a.fsPath);break;default:n.push(a.fsPath);break}}r.length>0&&await this._clean(r),n.length>0&&await this.repository.restore(n,t),this.closeDiffEditors([],[...r,...n]),v.commands.executeCommand("_aiEdits.clearAiContributions",e)})}async commit(e,t=Object.create(null)){let r=[...this.indexGroup.resourceStates.map(o=>o.resourceUri.fsPath)],n=t.all&&t.all!=="tracked"?[...this.workingTreeGroup.resourceStates.map(o=>o.resourceUri.fsPath)]:[];this.rebaseCommit?await this.run(ae.RebaseContinue,async()=>{if(t.all){let o=t.all==="tracked"?{update:!0}:{};await this.repository.add([],o)}await this.repository.rebaseContinue(),await this.commitOperationCleanup(e,r,n)},()=>this.commitOperationGetOptimisticResourceGroups(t)):(this.commitCommandCenter.postCommitCommand=t.postCommitCommand,await this.run(ae.Commit,async()=>{if(t.all){let o=t.all==="tracked"?{update:!0}:{};await this.repository.add([],o)}if(delete t.all,t.requireUserConfig===void 0||t.requireUserConfig===null){let o=v.workspace.getConfiguration("git",v.Uri.file(this.root));t.requireUserConfig=o.get("requireGitUserConfig")}e=await this.appendAICoAuthorTrailer(e,r,n),await this.repository.commit(e,t),await this.commitOperationCleanup(e,r,n)},()=>this.commitOperationGetOptimisticResourceGroups(t)),await this.run(ae.PostCommitCommand,async()=>{await this.commitCommandCenter.executePostCommitCommand(t.postCommitCommand)}))}async commitOperationCleanup(e,t,r){e&&(this.inputBox.value=await this.getInputTemplate()),this.closeDiffEditors(t,r);let n=t.length!==0?t.map(o=>v.Uri.file(o)):r.map(o=>v.Uri.file(o));v.commands.executeCommand("_chat.editSessions.accept",n),v.commands.executeCommand("_aiEdits.clearAiContributions",n)}static AI_CO_AUTHOR_TRAILER="Co-authored-by: Copilot <copilot@github.com>";async appendAICoAuthorTrailer(e,t,r){if(!e||v.workspace.getConfiguration("chat").get("disableAIFeatures",!1))return e;let a=v.workspace.getConfiguration("git",v.Uri.file(this.root)).get("addAICoAuthor","off");if(a==="off"||e.includes(ar.AI_CO_AUTHOR_TRAILER))return e;let s=t.length!==0?t.map(c=>v.Uri.file(c)):r.map(c=>v.Uri.file(c));if(s.length===0)return e;try{let c=a==="all"?"all":"chatAndAgent";if(await v.commands.executeCommand("_aiEdits.hasAiContributions",s,c))return`${e.trimEnd()}
${ar.AI_CO_AUTHOR_TRAILER}`}catch{}return e}commitOperationGetOptimisticResourceGroups(e){let t,r;return e.all==="tracked"?r=this.workingTreeGroup.resourceStates.filter(n=>n.type===w.UNTRACKED):e.all&&(t=r=[]),{indexGroup:[],mergeGroup:[],untrackedGroup:t,workingTreeGroup:r}}async clean(e){await this.run(ae.Clean(!this.optimisticUpdateEnabled()),async()=>{let t=[],r=[],n=[],o=[...this.workingTreeGroup.resourceStates,...this.untrackedGroup.resourceStates];if(e.forEach(a=>{let s=a.fsPath;for(let u of this.submodules)if(Ye.join(this.root,u.path)===s){n.push(s);return}let c=a.toString(),l=rv(o,u=>u.resourceUri.toString()===c);if(l)switch(l.type){case w.UNTRACKED:case w.IGNORED:t.push(s);break;default:r.push(s);break}}),t.length>0&&await this._clean(t),r.length>0)try{await this.repository.checkout("",r)}catch(a){if(a.gitErrorCode!==Q.BranchNotYetBorn)throw a}n.length>0&&await this.repository.updateSubmodules(n),this.closeDiffEditors([],[...t,...r]),v.commands.executeCommand("_aiEdits.clearAiContributions",e)},()=>{let t=e.map(o=>o.fsPath),r=this.workingTreeGroup.resourceStates.filter(o=>!t.includes(o.resourceUri.fsPath)),n=this.untrackedGroup.resourceStates.filter(o=>!t.includes(o.resourceUri.fsPath));return{workingTreeGroup:r,untrackedGroup:n}})}async _clean(e){let r=v.workspace.getConfiguration("git").get("discardUntrackedChangesToTrash",!0)&&!Dm&&!Rm;if(e.length!==0)if(r)try{await v.workspace.fs.delete(v.Uri.file(e[0]),{useTrash:!0});let n=new Fo(5);await Promise.all(e.slice(1).map(o=>n.queue(async()=>await v.workspace.fs.delete(v.Uri.file(o),{useTrash:!0}))))}catch{let n=Cn?v.l10n.t("Failed to delete using the Recycle Bin. Do you want to permanently delete instead?"):v.l10n.t("Failed to delete using the Trash. Do you want to permanently delete instead?"),o=e.length===1?v.l10n.t("Delete File"):v.l10n.t("Delete All {0} Files",e.length);await v.window.showWarningMessage(n,{modal:!0},o)===o&&await this.repository.clean(e)}else await this.repository.clean(e)}closeDiffEditors(e,t,r=!1){if(!v.workspace.getConfiguration("git",v.Uri.file(this.root)).get("closeDiffOnOperation",!1)&&!r)return;function o(s){return!!(s.modified.scheme==="git"&&(e===void 0||e.some(c=>et(c,s.modified.fsPath)))||s.modified.scheme==="file"&&s.original.scheme==="git"&&(t===void 0||t.some(c=>et(c,s.modified.fsPath))))}let a=v.window.tabGroups.all.flatMap(s=>s.tabs).filter(({input:s})=>s instanceof v.TabInputTextDiff||s instanceof v.TabInputNotebookDiff?o(s):s instanceof v.TabInputTextMultiDiff?s.textDiffs.every(o):!1);v.window.tabGroups.close(a,!0)}async branch(e,t,r){await this.run(ae.Branch,()=>this.repository.branch(e,t,r))}async deleteBranch(e,t){return this.run(ae.DeleteBranch,async()=>{await this.repository.deleteBranch(e,t),await this.repository.config("unset","local",`branch.${e}.vscode-merge-base`)})}async renameBranch(e){await this.run(ae.RenameBranch,()=>this.repository.renameBranch(e))}async fastForwardBranch(e){let t=await this.getBranch(e);if(!(!t.upstream?.remote||!t.upstream?.name||!t.name))try{let r={remote:t.upstream.remote,ref:`${t.upstream.name}:${t.name}`};await this.run(ae.Fetch(!0),async()=>this.repository.fetch(r))}catch(r){if(r.gitErrorCode===Q.BranchFastForwardRejected)return;throw r}}async cherryPick(e){await this.run(ae.CherryPick,()=>this.repository.cherryPick(e))}async cherryPickAbort(){await this.run(ae.CherryPick,()=>this.repository.cherryPickAbort())}async move(e,t){await this.run(ae.Move,()=>this.repository.move(e,t))}async getBranch(e){return await this.run(ae.GetBranch,()=>this.repository.getBranch(e))}async getBranches(e={},t){return await this.run(ae.GetBranches,async()=>(await this.getRefs(e,t)).filter(n=>n.type===de.Head||n.type===de.RemoteHead&&e.remote))}async getBranchBase(e){let r=`branch.${(await this.getBranch(e)).name}.vscode-merge-base`;try{let s=await this.getConfig(r),c=s!==""?await this.getBranch(s):void 0;if(c&&c.remote)return c}catch{}let n=await this.getBranchBaseFromReflog(e),o;if(n?.type===de.RemoteHead?o=n:n?.type===de.Head&&(o=await this.getUpstreamBranch(n)),o)return await this.setConfig(r,`${o.remote}/${o.name}`),o;let a=await this.getDefaultBranch();if(a)return await this.setConfig(r,`${a.remote}/${a.name}`),a}async getBranchBaseFromReflog(e){try{let t=await this.repository.reflog(e,"branch: Created from *.");if(t.length!==1)return;let r=t[0].match(/branch: Created from (?<name>.*)$/);if(r&&r.length===2&&r[1]!=="HEAD")return await this.getBranch(r[1]);let n=await this.repository.reflog("HEAD",`checkout: moving from .* to ${e.replace("refs/heads/","")}`);if(n.length===0)return;let o=n[n.length-1].match(/checkout: moving from ([^\s]+)\s/);if(o&&o.length===2)return await this.getBranch(o[1])}catch{}}async getDefaultBranch(){let e=this.getDefaultRemote();if(e)try{return await this.repository.getDefaultBranch(e.name)}catch(t){this.logger.warn(`[Repository][getDefaultBranch] Failed to get default branch details: ${t.message}.`);return}}async getUpstreamBranch(e){if(e.upstream)try{return await this.getBranch(`refs/remotes/${e.upstream.remote}/${e.upstream.name}`)}catch(t){this.logger.warn(`[Repository][getUpstreamBranch] Failed to get branch details for 'refs/remotes/${e.upstream.remote}/${e.upstream.name}': ${t.message}.`);return}}async getRefs(e={},t){let n=v.workspace.getConfiguration("git").get("branchSortOrder");return n!=="alphabetically"&&n!=="committerdate"&&(n="alphabetically"),e={...e,sort:e?.sort??n},await this.run(ae.GetRefs,()=>this.repository.getRefs(e,t))}async getWorktrees(){return await this.run(ae.Worktree(!0),()=>this.repository.getWorktrees())}async getWorktreeDetails(){return this.run(ae.Worktree(!0),async()=>{let e=await this.repository.getWorktrees();if(e.length===0)return[];let t=e.filter(o=>!o.detached).map(o=>o.ref),r=await this.getRefs({pattern:t,includeCommitDetails:!0}),n=await Promise.all(e.filter(o=>o.detached).map(o=>this.repository.getCommit(o.ref)));return e.map(o=>{let a=o.detached?n.find(s=>s.hash===o.ref):r.find(s=>`refs/heads/${s.name}`===o.ref)?.commitDetails;return{...o,commitDetails:a}})})}async getRemoteRefs(e,t){return await this.run(ae.GetRemoteRefs,()=>this.repository.getRemoteRefs(e,t))}async setBranchUpstream(e,t){await this.run(ae.SetBranchUpstream,()=>this.repository.setBranchUpstream(e,t))}async merge(e){await this.run(ae.Merge,()=>this.repository.merge(e))}async mergeAbort(){await this.run(ae.MergeAbort,async()=>await this.repository.mergeAbort())}async rebase(e){await this.run(ae.Rebase,()=>this.repository.rebase(e))}async tag(e){await this.run(ae.Tag,()=>this.repository.tag(e))}async deleteTag(e){await this.run(ae.DeleteTag,()=>this.repository.deleteTag(e))}async createWorktree(e){let t=this.globalState.get(`${ar.WORKTREE_ROOT_STORAGE_KEY}:${this.root}`),n=v.workspace.getConfiguration("git",v.Uri.file(this.root)).get("branchPrefix","");return await this.run(ae.Worktree(!1),async()=>{let o,{path:a,commitish:s,branch:c,noTrack:l}=e||{};if(a===void 0&&c!==void 0&&(o=c.startsWith(n)?c.substring(n.length).replace(/\//g,"-"):c.replace(/\//g,"-"),a=t?Ye.join(t,o):Ye.join(Ye.dirname(this.root),`${Ye.basename(this.root)}.worktrees`,o)),this.worktrees.some(f=>et(Ye.normalize(f.path),Ye.normalize(a)))){let f=0,m;do m=`${a}-${++f}`;while(this.worktrees.some(h=>et(Ye.normalize(h.path),Ye.normalize(m))));a=m}await this.repository.addWorktree({path:a,commitish:s??"HEAD",branch:c,noTrack:l});let u=Ye.dirname(a);return t&&!et(u,t)&&this.globalState.update(`${ar.WORKTREE_ROOT_STORAGE_KEY}:${this.root}`,u),this._setupWorktree(a),a})}async _setupWorktree(e){await this._copyWorktreeIncludeFiles(e),await this._runWorktreeCreatedTasks(e)}async _runWorktreeCreatedTasks(e){try{let r=(await v.tasks.fetchTasks()).filter(n=>n.runOptions.runOn===v.TaskRunOn.WorktreeCreated);for(let n of r){let o=wN(n,e);if(!o){this.logger.warn(`[Repository][_runWorktreeCreatedTasks] Skipped task '${n.name}' because it could not be retargeted to worktree '${e}'.`);continue}v.tasks.executeTask(o).then(void 0,a=>{this.logger.warn(`[Repository][_runWorktreeCreatedTasks] Failed to execute worktree-created task '${n.name}' for '${e}': ${a}`)})}}catch(t){this.logger.warn(`[Repository][_runWorktreeCreatedTasks] Failed to execute worktree-created tasks for '${e}': ${t}`)}}async _getWorktreeIncludePaths(){let t=v.workspace.getConfiguration("git",v.Uri.file(this.root)).get("worktreeIncludeFiles",[]);if(t.length===0)return new Set;let r=t.map(f=>new v.RelativePattern(this.root,f)),n=await v.workspace.findFiles2(r,{useExcludeSettings:v.ExcludeSettingOptions.None,useIgnoreFiles:{local:!1,parent:!1,global:!1}}),o=await v.workspace.findFiles2(r,{useExcludeSettings:v.ExcludeSettingOptions.None,useIgnoreFiles:{local:!0,parent:!0,global:!0}}),a=new Set(n.map(f=>f.fsPath));for(let f of o)a.delete(f.fsPath);let s=new Set;for(let f of t){let m=f.split(/[\/\\]/),h=[];for(let p of m){if(/[*?{}[\]]/.test(p))break;h.push(p)}s.add(Ye.join(this.root,...h))}let c=new Set(a);for(let f of a){let m=Ye.dirname(f);for(;m!==this.root&&!c.has(m)&&(c.add(m),!s.has(m));)m=Ye.dirname(m)}let l,u=new Set;for(let f of Array.from(c).sort())l&&(f===l||f.startsWith(l+Ye.sep))||(u.add(f),l=f);return u}async _copyWorktreeIncludeFiles(e){let t=await this._getWorktreeIncludePaths();if(t.size!==0)try{let r=performance.now(),n=new Fo(15),o=Array.from(t),s=(await Promise.allSettled(o.map(c=>n.queue(async()=>{let l=Ye.join(e,yl(this.root,c));await IR.mkdir(Ye.dirname(l),{recursive:!0}),await(0,TR.cp)(c,l,{force:!0,recursive:!0,verbatimSymlinks:!0})})))).filter(c=>c.status==="rejected");if(this.logger.info(`[Repository][_copyWorktreeIncludeFiles] Copied ${o.length-s.length}/${o.length} folder(s)/file(s) to worktree. [${(performance.now()-r).toFixed(2)}ms]`),s.length>0){v.window.showWarningMessage(v.l10n.t("Failed to copy {0} folder(s)/file(s) to the worktree.",s.length)),this.logger.warn(`[Repository][_copyWorktreeIncludeFiles] Failed to copy ${s.length} folder(s)/file(s) to worktree.`);for(let c of s)this.logger.warn(` - ${c.reason}`)}}catch(r){this.logger.warn(`[Repository][_copyWorktreeIncludeFiles] Failed to copy folder(s)/file(s) to worktree: ${r}`)}}async deleteWorktree(e,t){await this.run(ae.Worktree(!1),async()=>{let r=this.repositoryResolver.getRepository(e),n=async o=>{await this.repository.deleteWorktree(e,o),r?.dispose()};try{await n(t)}catch(o){if(o.gitErrorCode===Q.WorktreeContainsChanges){let a=v.l10n.t("Force Delete"),s=t?.label?v.l10n.t('The worktree for session "{0}" contains modified or untracked files. Do you want to force delete?',t.label):v.l10n.t("The worktree contains modified or untracked files. Do you want to force delete?");await v.window.showWarningMessage(s,{modal:!0,detail:v.l10n.t("Worktree: {0}",e)},a)===a&&await n({...t,force:!0});return}throw o}})}async deleteRemoteRef(e,t,r){await this.run(ae.DeleteRemoteRef,()=>this.repository.deleteRemoteRef(e,t,r))}async checkout(e,t){let r=t?.detached?Hs(v.Uri.file(this.root),e):e;await this.run(ae.Checkout(r),async()=>{if(t?.pullBeforeCheckout&&!t?.detached)try{await this.fastForwardBranch(e)}catch{}await this.repository.checkout(e,[],t),v.commands.executeCommand("_aiEdits.clearAllAiContributions")})}async checkoutTracking(e,t={}){let r=t.detached?Hs(v.Uri.file(this.root),e):e;await this.run(ae.CheckoutTracking(r),async()=>{await this.repository.checkout(e,[],{...t,track:!0}),v.commands.executeCommand("_aiEdits.clearAllAiContributions")})}async findTrackingBranches(e){return await this.run(ae.FindTrackingBranches,()=>this.repository.findTrackingBranches(e))}async getCommit(e){return await this.repository.getCommit(e)}async showChanges(e){return await this.run(ae.Log(!1),()=>this.repository.showChanges(e))}async showChangesBetween(e,t,r){return await this.run(ae.Log(!1),()=>this.repository.showChangesBetween(e,t,r))}async getEmptyTree(){if(!this._EMPTY_TREE){let e=await this.repository.exec(["hash-object","-t","tree","/dev/null"]);this._EMPTY_TREE=e.stdout.trim()}return this._EMPTY_TREE}async reset(e,t){await this.run(ae.Reset,async()=>{await this.repository.reset(e,t),t&&v.commands.executeCommand("_aiEdits.clearAllAiContributions")})}async deleteRef(e){await this.run(ae.DeleteRef,()=>this.repository.deleteRef(e))}getDefaultRemote(){if(this.remotes.length!==0)return this.remotes.find(e=>e.name==="origin")??this.remotes[0]}async addRemote(e,t){await this.run(ae.Remote,async()=>{let r=await this.repository.addRemote(e,t);return this.repositoryCache.update(this.remotes,[],this.root),r})}async removeRemote(e){await this.run(ae.Remote,async()=>{let t=this.repository.removeRemote(e),r=this.remotes.find(n=>n.name===e);return r&&this.repositoryCache.update([],[r],this.root),t})}async renameRemote(e,t){await this.run(ae.Remote,()=>this.repository.renameRemote(e,t))}async fetchDefault(e={}){await this._fetch({silent:e.silent})}async fetchPrune(){await this._fetch({prune:!0})}async fetchAll(e={},t){await this._fetch({all:!0,silent:e.silent,cancellationToken:t})}async fetch(e){await this._fetch(e)}async _fetch(e={}){if(!e.prune){let r=v.workspace.getConfiguration("git",v.Uri.file(this.root)).get("pruneOnFetch");e.prune=r}await this.run(ae.Fetch(e.silent!==!0),async()=>this.repository.fetch(e))}async pullWithRebase(e){let t,r;return e&&e.name&&e.upstream&&(t=e.upstream.remote,r=`${e.upstream.name}`),this.pullFrom(!0,t,r)}async pull(e,t){let r,n;return e&&e.name&&e.upstream&&(r=e.upstream.remote,n=`${e.upstream.name}`),this.pullFrom(!1,r,n,t)}async pullFrom(e,t,r,n){await this.run(ae.Pull,async()=>{await this.maybeAutoStash(async()=>{let o=v.workspace.getConfiguration("git",v.Uri.file(this.root)),a=o.get("autoStash"),s=o.get("fetchOnPull"),c=o.get("pullTags");s&&await this.fetchAll(),await this.checkIfMaybeRebased(this.HEAD?.name)&&await this._pullAndHandleTagConflict(e,t,r,{unshallow:n,tags:c,autoStash:a})})})}async _pullAndHandleTagConflict(e,t,r,n={}){try{await this.repository.pull(e,t,r,n)}catch(o){if(o.gitErrorCode!==Q.TagConflict)throw o;await this.handleTagConflict(t,o.stderr)&&await this.repository.pull(e,t,r,n)}}async push(e,t){let r,n;e&&e.name&&e.upstream&&(r=e.upstream.remote,n=`${e.name}:${e.upstream.name}`),await this.run(ae.Push,()=>this._push(r,n,void 0,void 0,t))}async pushTo(e,t,r=!1,n){await this.run(ae.Push,()=>this._push(e,t,r,void 0,n))}async pushFollowTags(e,t){await this.run(ae.Push,()=>this._push(e,void 0,!1,!0,t))}async pushTags(e,t){await this.run(ae.Push,()=>this._push(e,void 0,!1,!1,t,!0))}async blame(e){return await this.run(ae.Blame(!0),()=>this.repository.blame(e))}async blame2(e,t){return await this.run(ae.Blame(!1),()=>{let n=v.workspace.getConfiguration("git",v.Uri.file(this.root)).get("blame.ignoreWhitespace",!1);return this.repository.blame2(e,t,n)})}sync(e,t){return this._sync(e,t)}async _sync(e,t){let r,n,o;e.name&&e.upstream&&(r=e.upstream.remote,n=`${e.upstream.name}`,o=`${e.name}:${e.upstream.name}`),await this.run(ae.Sync,async()=>{await this.maybeAutoStash(async()=>{let a=v.workspace.getConfiguration("git",v.Uri.file(this.root)),s=a.get("autoStash"),c=a.get("fetchOnPull"),l=a.get("pullTags"),u=a.get("followTagsWhenSync"),f=a.get("supportCancellation"),m=async _=>{c&&await this.fetchAll({},_),await this.checkIfMaybeRebased(this.HEAD?.name)&&await this._pullAndHandleTagConflict(t,r,n,{tags:l,cancellationToken:_,autoStash:s})};if(f){let _={location:v.ProgressLocation.Notification,title:v.l10n.t("Syncing. Cancelling may cause serious damages to the repository"),cancellable:!0};await v.window.withProgress(_,(b,S)=>m(S))}else await m();let h=this.remotes.find(_=>_.name===r);if(h&&h.isReadOnly)return;this.HEAD&&(typeof this.HEAD.ahead!="number"||this.HEAD.ahead>0)&&await this._push(r,o,!1,u)})})}async checkIfMaybeRebased(e){let t=v.workspace.getConfiguration("git");if(t.get("ignoreRebaseWarning")===!0||!await this.run(ae.Log(!0),async()=>{try{let l=await this.repository.exec(["log","--oneline","--cherry",`${e??""}...${e??""}@{upstream}`,"--"]);return l.exitCode?!1:/^=/.test(l.stdout)}catch{return!1}}))return!0;let o={title:v.l10n.t("Always Pull")},a={title:v.l10n.t("Pull")},s={title:v.l10n.t("Don't Pull")},c=await v.window.showWarningMessage(e?v.l10n.t('It looks like the current branch "{0}" might have been rebased. Are you sure you still want to pull into it?',e):v.l10n.t("It looks like the current branch might have been rebased. Are you sure you still want to pull into it?"),o,a,s);return c===a?!0:c===o?(await t.update("ignoreRebaseWarning",!0,!0),!0):!1}async show(e,t){return await this.run(ae.Show,async()=>{try{let r=await this.repository.buffer(e,t);return await v.workspace.decode(r,{uri:v.Uri.file(t)})}catch(r){if(r.gitErrorCode===Q.WrongCase){let n=await this.repository.getGitFilePath(e,t),o=await this.repository.buffer(e,n);return await v.workspace.decode(o,{uri:v.Uri.file(t)})}throw r}})}async buffer(e,t){return this.run(ae.Show,()=>this.repository.buffer(e,t))}getObjectFiles(e){return this.run(ae.GetObjectFiles,()=>this.repository.lstree(e))}getObjectDetails(e,t){return this.run(ae.GetObjectDetails,()=>this.repository.getObjectDetails(e,t))}detectObjectType(e){return this.run(ae.Show,()=>this.repository.detectObjectType(e))}async apply(e,t){return await this.run(ae.Apply,()=>this.repository.apply(e,t))}async getStashes(){return this.run(ae.Stash(!0),()=>this.repository.getStashes())}async createStash(e,t,r){let n=[...this.indexGroup.resourceStates.map(a=>a.resourceUri.fsPath)],o=[...r?[]:this.workingTreeGroup.resourceStates.map(a=>a.resourceUri.fsPath),...t?this.untrackedGroup.resourceStates.map(a=>a.resourceUri.fsPath):[]];return await this.run(ae.Stash(!1),async()=>{await this.repository.createStash(e,t,r),this.closeDiffEditors(n,o)})}async popStash(e,t){return await this.run(ae.Stash(!1),()=>this.repository.popStash(e,t))}async dropStash(e){return await this.run(ae.Stash(!1),()=>this.repository.dropStash(e))}async applyStash(e,t){return await this.run(ae.Stash(!1),()=>this.repository.applyStash(e,t))}async showStash(e){return await this.run(ae.Stash(!0),()=>this.repository.showStash(e))}async getCommitTemplate(){return await this.run(ae.GetCommitTemplate,async()=>this.repository.getCommitTemplate())}async ignore(e){return await this.run(ae.Ignore,async()=>{let t=`${this.repository.root}${Ye.sep}.gitignore`,r=e.map(c=>yl(this.repository.root,c.fsPath).replace(/\\|\[/g,l=>l==="\\"?"/":`\\${l}`)).join(`
`),n=await new Promise(c=>xn.exists(t,c))?await v.workspace.openTextDocument(t):await v.workspace.openTextDocument(v.Uri.file(t).with({scheme:"untitled"}));await v.window.showTextDocument(n);let o=new v.WorkspaceEdit,a=n.lineAt(n.lineCount-1),s=a.isEmptyOrWhitespace?`${r}
`:`
${r}
`;o.insert(n.uri,a.range.end,s),await v.workspace.applyEdit(o),await n.save()})}async rebaseAbort(){await this.run(ae.RebaseAbort,async()=>await this.repository.rebaseAbort())}checkIgnore(e){return this.run(ae.CheckIgnore,()=>new Promise((t,r)=>{if(e=e.filter(l=>nr(this.root,l)),e.length===0)return t(new Set);let n=this.repository.stream(["check-ignore","-v","-z","--stdin"],{stdio:[null,null,null]});if(!n.stdin)return r(new zt({message:"Failed to spawn git process",exitCode:-1}));n.stdin.end(e.join("\0"),"utf8");let o=l=>{l===1?t(new Set):l===0?t(new Set(this.parseIgnoreCheck(a))):/ is in submodule /.test(c)?r(new zt({stdout:a,stderr:c,exitCode:l,gitErrorCode:Q.IsInSubmodule})):r(new zt({stdout:a,stderr:c,exitCode:l}))},a="",s=l=>{a+=l};n.stdout&&(n.stdout.setEncoding("utf8"),n.stdout.on("data",s));let c="";n.stderr&&(n.stderr.setEncoding("utf8"),n.stderr.on("data",l=>c+=l)),n.on("error",r),n.on("exit",o)}))}parseIgnoreCheck(e){let t=[],r=e.split("\0");for(let n=0;n<r.length;n+=4){let o=r[n+2],a=r[n+3];o&&!o.startsWith("!")&&t.push(a)}return t}async _push(e,t,r=!1,n=!1,o,a=!1){try{await this.repository.push(e,t,r,n,o,a)}catch(s){if(!e||!t)throw s;let c=new Vt(this),l=c.state.remotes.find(u=>u.name===e);if(!l)throw s;for(let u of this.pushErrorHandlerRegistry.getPushErrorHandlers())if(await u.handlePushError(c,l,t,s))return;throw s}}async run(e,t=()=>Promise.resolve(null),r=()=>{}){if(this.state!==0)throw new Error("Repository not initialized");let n=null;this._operations.start(e),this._onRunOperation.fire(e.kind);try{let o=await this.retryRun(e,t);return e.readOnly||await this.updateModelState(this.optimisticUpdateEnabled()?r():void 0),o}catch(o){throw n=o,o instanceof zt&&o.gitErrorCode===Q.NotAGitRepository&&(this.state=1),e.readOnly||await this.updateModelState(),o}finally{this._operations.end(e),this._onDidRunOperation.fire({operation:e,error:n})}}async migrateChanges(e,t){let r=this.repositoryResolver.getRepository(e);if(!r){v.window.showWarningMessage(v.l10n.t("The source repository could not be found."));return}if(r.indexGroup.resourceStates.length===0&&r.workingTreeGroup.resourceStates.length===0&&r.untrackedGroup.resourceStates.length===0){await v.window.showInformationMessage(v.l10n.t("There are no changes in the selected worktree to migrate."));return}let n=[...r.indexGroup.resourceStates,...r.workingTreeGroup.resourceStates,...r.untrackedGroup.resourceStates].map(l=>Ye.relative(r.root,l.resourceUri.fsPath)),o=[...this.workingTreeGroup.resourceStates,...this.untrackedGroup.resourceStates].map(l=>Ye.relative(this.root,l.resourceUri.fsPath)),a=n.filter(l=>o.includes(l));if(a.length>0){let u=a.slice(0,5),f=a.length-5,m=u.join(`
`)+(f>0?v.l10n.t(`
and {0} more file{1}...`,f,f>1?"s":""):""),h=v.l10n.t(`Your local changes to the following files would be overwritten by merge:
{0}
Please stage, commit, or stash your changes in the repository before migrating changes.`,m);await v.window.showErrorMessage(h,{modal:!0});return}if(t?.confirmation){let l=v.l10n.t("Proceed with migrating changes to the current repository?"),u=v.l10n.t(`This will apply the worktree's changes to this repository and discard changes in the worktree.
This is IRREVERSIBLE!`),f=v.l10n.t("Proceed");if(await v.window.showWarningMessage(l,{modal:!0,detail:u},f)!==f)return}let s=`migration:${r.HEAD?.name??r.HEAD?.commit}-${this.HEAD?.name??this.HEAD?.commit}`;await r.createStash(s,t?.untracked);let c=await r.getStashes();try{t?.deleteFromSource?await this.popStash(c[0].index):(await this.applyStash(c[0].index),await r.popStash(c[0].index,{reinstateStagedChanges:!0}))}catch(l){if(l.gitErrorCode===Q.StashConflict){this.isWorktreeMigrating=!0;let u=v.l10n.t("There are merge conflicts from migrating changes. Please resolve them before committing."),f=v.l10n.t("Show Changes");await v.window.showWarningMessage(u,f)===f&&await v.commands.executeCommand("workbench.view.scm"),await r.popStash(c[0].index,{reinstateStagedChanges:!0});return}throw await r.popStash(c[0].index,{reinstateStagedChanges:!0}),l}}async retryRun(e,t){let r=0;for(;;)try{return r++,await t()}catch(n){if(r<=10&&(n.gitErrorCode===Q.RepositoryIsLocked||e.retry&&(n.gitErrorCode===Q.CantLockRef||n.gitErrorCode===Q.CantRebaseMultipleBranches)))await PR(Math.pow(r,2)*50);else throw n}}static KnownHugeFolderNames=["node_modules"];async findKnownHugeFolderPathsToIgnore(){let e=[];for(let r of ar.KnownHugeFolderNames){let n=Ye.join(this.repository.root,r);await new Promise(o=>xn.exists(n,o))&&e.push(n)}let t=await this.checkIgnore(e);return e.filter(r=>!t.has(r))}async updateModelState(e){this.updateModelStateCancellationTokenSource?.cancel(),this.updateModelStateCancellationTokenSource=new v.CancellationTokenSource,await this._updateModelState(e,this.updateModelStateCancellationTokenSource.token)}async _updateModelState(e,t){try{e&&this._updateResourceGroupsState(e);let[r,n,o,a,s,c,l,u]=await Promise.all([this.repository.getHEADRef(),this.repository.getRemotes(),this.repository.getSubmodules(),this.repository.getWorktrees(),this.getRebaseCommit(),this.isMergeInProgress(),this.isCherryPickInProgress(),this.getInputTemplate(),this.initIsUsingVirtualFileSystem()]);(this.HEAD?.name!==r?.name||this.HEAD?.commit!==r?.commit||this.HEAD?.ahead!==r?.ahead||this.HEAD?.upstream!==r?.upstream)&&(this.unpublishedCommits=void 0),this._HEAD=r,this._remotes=n,this._submodules=o,this._worktrees=a,this.rebaseCommit=s,this.mergeInProgress=c,this.cherryPickInProgress=l,this._sourceControl.commitTemplate=u;let[f,m]=await Promise.all([this.getStatus(t),this.getRefs({},t)]);this._refs=m,this._updateResourceGroupsState(f),this._onDidChangeStatus.fire()}catch(r){if(r instanceof v.CancellationError)return;throw r}}_updateResourceGroupsState(e){e.indexGroup&&(this.indexGroup.resourceStates=e.indexGroup),e.mergeGroup&&(this.mergeGroup.resourceStates=e.mergeGroup),e.untrackedGroup&&(this.untrackedGroup.resourceStates=e.untrackedGroup),e.workingTreeGroup&&(this.workingTreeGroup.resourceStates=e.workingTreeGroup),this._isWorktreeMigrating&&e.mergeGroup&&e.mergeGroup.length===0&&(this._isWorktreeMigrating=!1),this.setCountBadge()}async getStatus(e){if(e&&e.isCancellationRequested)throw new v.CancellationError;let t=v.workspace.getConfiguration("git",v.Uri.file(this.repository.root)),r=t.get("untrackedChanges"),n=t.get("ignoreSubmodules"),o=t.get("statusLimit",1e4),a=t.get("similarityThreshold",50),s=new Date().getTime(),{status:c,statusLength:l,didHitLimit:u}=await this.repository.getStatus({limit:o,ignoreSubmodules:n,similarityThreshold:a,untrackedChanges:r,cancellationToken:e}),f=new Date().getTime()-s;this.isRepositoryHuge=u?{limit:o}:!1,u&&this.telemetryReporter.sendTelemetryEvent("statusLimit",{ignoreSubmodules:String(n)},{limit:o,statusLength:l,totalTime:f}),f>5e3&&this.telemetryReporter.sendTelemetryEvent("statusSlow",{ignoreSubmodules:String(n),didHitLimit:String(u),didWarnAboutLimit:String(this.didWarnAboutLimit)},{statusLength:l,totalTime:f}),this._sourceControl.inputBox.validateInput=this._sourceControl.inputBox.validateInput;let m=v.workspace.getConfiguration("git"),h=m.get("ignoreLimitWarning")===!0,p=!m.get("decorations.enabled",!0);if(u&&!h&&!this.didWarnAboutLimit){let R=await this.findKnownHugeFolderPathsToIgnore(),P=v.l10n.t('The git repository at "{0}" has too many active changes, only a subset of Git features will be enabled.',this.repository.root),L={title:v.l10n.t("Don't Show Again")};if(R.length>0){let Y=R[0],$=Ye.basename(Y),G=v.l10n.t('Would you like to add "{0}" to .gitignore?',$),W={title:v.l10n.t("Yes")},H={title:v.l10n.t("No")};v.window.showWarningMessage(`${P} ${G}`,W,H,L).then(T=>{T===W?this.ignore([v.Uri.file(Y)]):(T===L&&m.update("ignoreLimitWarning",!0,!1),this.didWarnAboutLimit=!0)})}else{let Y={title:v.l10n.t("OK")};v.window.showWarningMessage(P,Y,L).then($=>{$===L&&m.update("ignoreLimitWarning",!0,!1),this.didWarnAboutLimit=!0})}}let _=[],b=[],S=[],E=[];return c.forEach(R=>{let P=v.Uri.file(Ye.join(this.repository.root,R.path)),L=R.rename?v.Uri.file(Ye.join(this.repository.root,R.rename)):void 0;switch(R.x+R.y){case"??":switch(r){case"mixed":return E.push(new ze(this.resourceCommandResolver,2,P,w.UNTRACKED,p,void 0,this.kind));case"separate":return S.push(new ze(this.resourceCommandResolver,3,P,w.UNTRACKED,p));default:return}case"!!":switch(r){case"mixed":return E.push(new ze(this.resourceCommandResolver,2,P,w.IGNORED,p,void 0,this.kind));case"separate":return S.push(new ze(this.resourceCommandResolver,3,P,w.IGNORED,p));default:return}case"DD":return b.push(new ze(this.resourceCommandResolver,0,P,w.BOTH_DELETED,p));case"AU":return b.push(new ze(this.resourceCommandResolver,0,P,w.ADDED_BY_US,p));case"UD":return b.push(new ze(this.resourceCommandResolver,0,P,w.DELETED_BY_THEM,p));case"UA":return b.push(new ze(this.resourceCommandResolver,0,P,w.ADDED_BY_THEM,p));case"DU":return b.push(new ze(this.resourceCommandResolver,0,P,w.DELETED_BY_US,p));case"AA":return b.push(new ze(this.resourceCommandResolver,0,P,w.BOTH_ADDED,p));case"UU":return b.push(new ze(this.resourceCommandResolver,0,P,w.BOTH_MODIFIED,p))}switch(R.x){case"M":_.push(new ze(this.resourceCommandResolver,1,P,w.INDEX_MODIFIED,p,void 0,this.kind));break;case"A":_.push(new ze(this.resourceCommandResolver,1,P,w.INDEX_ADDED,p,void 0,this.kind));break;case"D":_.push(new ze(this.resourceCommandResolver,1,P,w.INDEX_DELETED,p,void 0,this.kind));break;case"R":_.push(new ze(this.resourceCommandResolver,1,P,w.INDEX_RENAMED,p,L,this.kind));break;case"C":_.push(new ze(this.resourceCommandResolver,1,P,w.INDEX_COPIED,p,L,this.kind));break}switch(R.y){case"M":E.push(new ze(this.resourceCommandResolver,2,P,w.MODIFIED,p,L,this.kind));break;case"D":E.push(new ze(this.resourceCommandResolver,2,P,w.DELETED,p,L,this.kind));break;case"A":E.push(new ze(this.resourceCommandResolver,2,P,w.INTENT_TO_ADD,p,L,this.kind));break;case"R":E.push(new ze(this.resourceCommandResolver,2,P,w.INTENT_TO_RENAME,p,L,this.kind));break;case"T":E.push(new ze(this.resourceCommandResolver,2,P,w.TYPE_CHANGED,p,L,this.kind));break}}),{indexGroup:_,mergeGroup:b,untrackedGroup:S,workingTreeGroup:E}}setCountBadge(){let e=v.workspace.getConfiguration("git",v.Uri.file(this.repository.root)),t=e.get("countBadge"),r=e.get("untrackedChanges"),n=this.mergeGroup.resourceStates.length+this.indexGroup.resourceStates.length+this.workingTreeGroup.resourceStates.length;switch(t){case"off":n=0;break;case"tracked":r==="mixed"&&(n-=this.workingTreeGroup.resourceStates.filter(o=>o.type===w.UNTRACKED||o.type===w.IGNORED).length);break;case"all":r==="separate"&&(n+=this.untrackedGroup.resourceStates.length);break}this._sourceControl.count=n}async getRebaseCommit(){let e=Ye.join(this.repository.root,".git","REBASE_HEAD"),t=Ye.join(this.repository.root,".git","rebase-apply"),r=Ye.join(this.repository.root,".git","rebase-merge");try{let[n,o,a]=await Promise.all([new Promise(s=>xn.exists(t,s)),new Promise(s=>xn.exists(r,s)),new Promise((s,c)=>xn.readFile(e,"utf8",(l,u)=>l?c(l):s(u)))]);return!n&&!o?void 0:await this.getCommit(a.trim())}catch{return}}isMergeInProgress(){let e=Ye.join(this.repository.root,".git","MERGE_HEAD");return new Promise(t=>xn.exists(e,t))}isCherryPickInProgress(){let e=Ye.join(this.repository.root,".git","CHERRY_PICK_HEAD");return new Promise(t=>xn.exists(e,t))}async maybeAutoStash(e){if(!(v.workspace.getConfiguration("git",v.Uri.file(this.root)).get("autoStash")&&this.repository.git.compareGitVersionTo("2.27.0")<0&&(this.indexGroup.resourceStates.length>0||this.workingTreeGroup.resourceStates.some(n=>n.type!==w.UNTRACKED&&n.type!==w.IGNORED))))return await e();await this.repository.createStash(void 0,!0);try{return await e()}finally{await this.repository.popStash(void 0,{reinstateStagedChanges:!0})}}onFileChange(e){if(!v.workspace.getConfiguration("git").get("autorefresh")){this.logger.trace("[Repository][onFileChange] Skip running git status because autorefresh setting is disabled.");return}if(this.isRepositoryHuge){this.logger.trace("[Repository][onFileChange] Skip running git status because repository is huge.");return}if(!this.operations.isIdle()){this.logger.trace("[Repository][onFileChange] Skip running git status because an operation is running.");return}this.eventuallyUpdateWhenIdleAndWait()}eventuallyUpdateWhenIdleAndWait(){this.updateWhenIdleAndWait()}async updateWhenIdleAndWait(){await this.whenIdleAndFocused(),await this.status(),await PR(5e3)}async whenIdleAndFocused(){for(;;){if(!this.operations.isIdle()){await Yi(this.onDidRunOperation);continue}if(!v.window.state.focused){let e=We(v.window.onDidChangeWindowState,t=>t.focused);await Yi(e);continue}return}}get headLabel(){let e=this.HEAD;return e?(e.name||(e.commit||"").substr(0,8))+(this.workingTreeGroup.resourceStates.length+this.untrackedGroup.resourceStates.length>0?"*":"")+(this.indexGroup.resourceStates.length>0?"+":"")+(this.mergeInProgress||this.rebaseCommit?"!":""):""}get syncLabel(){if(!this.HEAD||!this.HEAD.name||!this.HEAD.commit||!this.HEAD.upstream||!(this.HEAD.ahead||this.HEAD.behind))return"";let e=this.HEAD&&this.HEAD.remote||this.HEAD.upstream.remote,t=this.remotes.find(r=>r.name===e);return t&&t.isReadOnly?`${this.HEAD.behind}\u2193`:`${this.HEAD.behind}\u2193 ${this.HEAD.ahead}\u2191`}get syncTooltip(){if(!this.HEAD||!this.HEAD.name||!this.HEAD.commit||!this.HEAD.upstream||!(this.HEAD.ahead||this.HEAD.behind))return v.l10n.t("Synchronize Changes");let e=this.HEAD&&this.HEAD.remote||this.HEAD.upstream.remote,t=this.remotes.find(r=>r.name===e);return t&&t.isReadOnly||!this.HEAD.ahead?v.l10n.t("Pull {0} commits from {1}/{2}",this.HEAD.behind,this.HEAD.upstream.remote,this.HEAD.upstream.name):this.HEAD.behind?v.l10n.t("Pull {0} and push {1} commits between {2}/{3}",this.HEAD.behind,this.HEAD.ahead,this.HEAD.upstream.remote,this.HEAD.upstream.name):v.l10n.t("Push {0} commits to {1}/{2}",this.HEAD.ahead,this.HEAD.upstream.remote,this.HEAD.upstream.name)}updateInputBoxPlaceholder(){let e=this.headShortName;e?this._sourceControl.inputBox.placeholder=v.l10n.t('Message ({0} to commit on "{1}")',"{0}",e):this._sourceControl.inputBox.placeholder=v.l10n.t("Message ({0} to commit)")}updateBranchProtectionMatchers(e){this.branchProtection.clear();for(let t of this.branchProtectionProviderRegistry.getBranchProtectionProviders(e))for(let{remote:r,rules:n}of t.provideBranchProtection()){let o=[];for(let a of n){let s=a.include&&a.include.length!==0?(0,Nv.default)(a.include):void 0,c=a.exclude&&a.exclude.length!==0?(0,Nv.default)(a.exclude):void 0;(s||c)&&o.push({include:s,exclude:c})}o.length!==0&&this.branchProtection.set(r,o)}this._onDidChangeBranchProtection.fire()}optimisticUpdateEnabled(){return v.workspace.getConfiguration("git",v.Uri.file(this.root)).get("optimisticUpdate")===!0}async handleTagConflict(e,t){if(e=e??this.HEAD?.upstream?.remote,!e)throw new Error("Unable to resolve tag conflict due to missing remote.");let r=[];for(let a of t.matchAll(/^ ! \[rejected\]\s+([^\s]+)\s+->\s+([^\s]+)\s+\(would clobber existing tag\)$/gm))a.length===3&&r.push(a[1]);if(r.length===0)throw new Error(`Unable to extract tag names from error message: ${t}`);let n=v.workspace.getConfiguration("git",v.Uri.file(this.repository.root));if(!(n.get("replaceTagsWhenPull",!1)===!0)){let a=v.l10n.t("Replace Local Tag(s)"),s=v.l10n.t("Always Replace Local Tag(s)"),c=v.l10n.t("Unable to pull from remote repository due to conflicting tag(s): {0}. Would you like to resolve the conflict by replacing the local tag(s)?",r.join(", ")),l=await v.window.showErrorMessage(c,{modal:!0},a,s);if(l!==a&&l!==s)return!1;l===s&&await n.update("replaceTagsWhenPull",!0,!0)}return await this.repository.fetchTags({remote:e,tags:r,force:!0}),!0}isBranchProtected(e=this.HEAD){if(e?.name){let t=this.branchProtection.get("");if(t?.length===1&&t[0].include&&t[0].include(e.name))return!0;if(e.upstream?.remote){let r=this.branchProtection.get(e.upstream.remote);if(r&&r?.length!==0)return r.some(n=>{let o=n.include?n.include(e.name):!0,a=n.exclude?n.exclude(e.name):!1;return o&&!a})}}return!1}async getUnpublishedCommits(){if(this.unpublishedCommits)return this.unpublishedCommits;if(!this.HEAD?.name)return this.unpublishedCommits=new Set,this.unpublishedCommits;if(this.HEAD.upstream)if(this.HEAD.ahead===0)this.unpublishedCommits=new Set;else{let e=`${this.HEAD.upstream.remote}/${this.HEAD.upstream.name}`,t=this.HEAD.name,r=await this.repository.revList(e,t);this.unpublishedCommits=new Set(r)}else if(this.historyProvider.currentHistoryItemBaseRef){let e=this.historyProvider.currentHistoryItemBaseRef.id,t=this.HEAD.name,r=await this.repository.revList(e,t);this.unpublishedCommits=new Set(r)}else this.unpublishedCommits=new Set;return this.unpublishedCommits}async generateRandomBranchName(){let e=v.workspace.getConfiguration("git",v.Uri.file(this.root));if(!e.get("branchRandomName.enable",!1))return;let r=e.get("branchPrefix",""),n=e.get("branchWhitespaceChar","-"),o=e.get("branchRandomName.dictionary",["adjectives","animals"]),a=[];for(let s of o)s.toLowerCase()==="adjectives"&&a.push(JD),s.toLowerCase()==="animals"&&a.push(qD),s.toLowerCase()==="colors"&&a.push(QD),s.toLowerCase()==="numbers"&&a.push(Om.generate({length:3}));if(a.length!==0)for(let s=0;s<5;s++){let c=VD({dictionaries:a,length:a.length,separator:n});if((await this.getRefs({pattern:`refs/heads/${r}${c}`})).length===0)return`${r}${c}`}}async initIsUsingVirtualFileSystem(){if(this._isUsingVirtualFileSystem===void 0)try{let e=await this.getConfig("core.virtualfilesystem");this._isUsingVirtualFileSystem=e.length>0}catch{this._isUsingVirtualFileSystem=!1;return}}dispose(){this.disposables=Le(this.disposables)}};D([Sn],ar.prototype,"onDidChangeOperations",1),D([Nr],ar.prototype,"status",1),D([Nr],ar.prototype,"refresh",1),D([Nr],ar.prototype,"fastForwardBranch",1),D([Ym],ar.prototype,"getBranchBase",1),D([Nr],ar.prototype,"fetchDefault",1),D([Nr],ar.prototype,"fetchPrune",1),D([Nr],ar.prototype,"fetchAll",1),D([Nr],ar.prototype,"pullWithRebase",1),D([Nr],ar.prototype,"pull",1),D([Nr],ar.prototype,"push",1),D([Nr],ar.prototype,"sync",1),D([qn(1e3)],ar.prototype,"eventuallyUpdateWhenIdleAndWait",1),D([Nr],ar.prototype,"updateWhenIdleAndWait",1);var Ta=ar;function wN(i,e){let t=EN(i.execution,e);if(!t)return;let r={uri:v.Uri.file(e),name:Ye.basename(e),index:v.workspace.workspaceFolders?.length??0},n=new v.Task({...i.definition},r,i.name,i.source,t,i.problemMatchers);return n.detail=i.detail,n.group=i.group,n.isBackground=i.isBackground,n.presentationOptions={...i.presentationOptions,reveal:v.TaskRevealKind.Never,panel:v.TaskPanelKind.New},n.runOptions={...i.runOptions},n}function EN(i,e){if(i){if(i instanceof v.ProcessExecution)return new v.ProcessExecution(i.process,i.args,{...i.options,cwd:e});if(i instanceof v.ShellExecution){if(i.commandLine!==void 0)return new v.ShellExecution(i.commandLine,{...i.options,cwd:e});if(i.command!==void 0)return new v.ShellExecution(i.command,i.args??[],{...i.options,cwd:e})}return i}}var sr=tt(require("path")),pd=tt(require("fs"));var md=require("vscode");var Fv=class{[Symbol.toStringTag]="LinkedMap";_map;_head;_tail;_size;_state;constructor(){this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=0){let r=this._map.get(e);if(r)return t!==0&&this.touch(r,t),r.value}set(e,t,r=0){let n=this._map.get(e);if(n)n.value=t,r!==0&&this.touch(n,r);else{switch(n={key:e,value:t,next:void 0,previous:void 0},r){case 0:this.addItemLast(n);break;case 1:this.addItemFirst(n);break;case 2:this.addItemLast(n);break;default:this.addItemLast(n);break}this._map.set(e,n),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){let r=this._state,n=this._head;for(;n;){if(t?e.bind(t)(n.value,n.key,this):e(n.value,n.key,this),this._state!==r)throw new Error("LinkedMap got modified during iteration.");n=n.next}}keys(){let e=this,t=this._state,r=this._head,n={[Symbol.iterator](){return n},[Symbol.dispose](){},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(r){let o={value:r.key,done:!1};return r=r.next,o}else return{value:void 0,done:!0}}};return n}values(){let e=this,t=this._state,r=this._head,n={[Symbol.iterator](){return n},[Symbol.dispose](){},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(r){let o={value:r.value,done:!1};return r=r.next,o}else return{value:void 0,done:!0}}};return n}entries(){let e=this,t=this._state,r=this._head,n={[Symbol.iterator](){return n},[Symbol.dispose](){},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(r){let o={value:[r.key,r.value],done:!1};return r=r.next,o}else return{value:void 0,done:!0}}};return n}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._head,r=this.size;for(;t&&r>e;)this._map.delete(t.key),t=t.next,r--;this._head=t,this._size=r,t&&(t.previous=void 0),this._state++}trimNew(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._tail,r=this.size;for(;t&&r>e;)this._map.delete(t.key),t=t.previous,r--;this._tail=t,this._size=r,t&&(t.next=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let t=e.next,r=e.previous;if(!t||!r)throw new Error("Invalid list");t.previous=r,r.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(t!==1&&t!==2)){if(t===1){if(e===this._head)return;let r=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(r.previous=n,n.next=r),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===2){if(e===this._tail)return;let r=e.next,n=e.previous;e===this._head?(r.previous=void 0,this._head=r):(r.previous=n,n.next=r),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((t,r)=>{e.push([r,t])}),e}fromJSON(e){this.clear();for(let[t,r]of e)this.set(t,r)}},Gv=class extends Fv{_limit;_ratio;constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=2){return super.get(e,t)}peek(e){return super.get(e,0)}set(e,t){return super.set(e,t,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}},$o=class extends Gv{constructor(e,t=1){super(e,t)}trim(e){this.trimOld(e)}set(e,t){return super.set(e,t),this.checkTrim(),this}};function DN(i){if(!i||typeof i!="object")return!1;let e=i;return typeof e.workspacePath=="string"&&typeof e.repositoryPath=="string"&&(e.lastTouchedTime===void 0||typeof e.lastTouchedTime=="number")}var ep=class i{constructor(e,t){this._globalState=e;this._logger=t;this.load()}_globalState;_logger;static STORAGE_KEY="git.repositoryCache";static MAX_REPO_ENTRIES=30;static MAX_FOLDER_ENTRIES=10;normalizeRepoUrl(e){try{return e.trim().replace(/(?:\.git)?\/*$/i,"")}catch{return e}}lru=new $o(i.MAX_REPO_ENTRIES);_recentRepositories;get recentRepositories(){if(!this._recentRepositories){this._recentRepositories=new Map;for(let[e,t]of this.lru)for(let[,r]of t){if(!r.repositoryPath||!r.lastTouchedTime)continue;let n=this._recentRepositories.get(r.repositoryPath);n&&r.lastTouchedTime<=n||this._recentRepositories.set(r.repositoryPath,r.lastTouchedTime)}}return Array.from(this._recentRepositories.entries()).map(([e,t])=>({rootUri:md.Uri.file(e),lastAccessTime:t}))}get _workspaceFile(){return md.workspace.workspaceFile}get _workspaceFolders(){return md.workspace.workspaceFolders}set(e,t){let r=this.normalizeRepoUrl(e),n=this.lru.get(r);n||(n=new $o(i.MAX_FOLDER_ENTRIES));let o=this._findWorkspaceForRepo(t);o&&(n.set(o,{repositoryPath:t,workspacePath:o,lastTouchedTime:Date.now()}),this.lru.set(r,n),this.save())}_findWorkspaceForRepo(e){let t;try{if(this._workspaceFile&&this._workspaceFile.scheme==="file")t=this._workspaceFile.fsPath;else if(this._workspaceFolders&&this._workspaceFolders.length){let r=[...this._workspaceFolders].sort((n,o)=>o.uri.fsPath.length-n.uri.fsPath.length);for(let n of r){let o=n.uri.fsPath;if(nr(o,e)||nr(e,o)){t=o;break}}}return t}catch{return}}update(e,t,r){for(let n of t){let o=n.fetchUrl;if(!o)continue;let a=this._findWorkspaceForRepo(r);a&&this.delete(o,a)}for(let n of e){let o=n.fetchUrl;o&&this.set(o,r)}}get(e){let t=this.normalizeRepoUrl(e),r=this.lru.get(t);return r?Array.from(r.values()):void 0}delete(e,t){let r=this.normalizeRepoUrl(e),n=this.lru.get(r);n&&n.remove(t)&&(n.size===0?this.lru.remove(r):this.lru.set(r,n),this.save())}load(){try{let e=this._globalState.get(i.STORAGE_KEY);if(!Array.isArray(e))return;for(let[t,r]of e){if(typeof t!="string"||!Array.isArray(r))continue;let n=new $o(i.MAX_FOLDER_ENTRIES);for(let o of r){if(!Array.isArray(o)||o.length!==2)continue;let[a,s]=o;typeof a!="string"||!DN(s)||n.set(a,s)}n.size&&this.lru.set(t,n)}}catch{this._logger.warn("[CachedRepositories][load] Failed to load cached repositories from global state.")}}save(){let e=[];for(let[t,r]of this.lru){let n=[];for(let[o,a]of r)n.push([o,a]);e.push([t,n])}this._globalState.update(i.STORAGE_KEY,e),this._recentRepositories?.clear(),this._recentRepositories=void 0}};var Rl=class{constructor(e,t){this.repository=e;this.index=t}repository;index;get label(){return sr.basename(this.repository.root)}get description(){return[this.repository.headLabel,this.repository.syncLabel].filter(e=>!!e).join(" ")}get iconPath(){switch(this.repository.kind){case"submodule":return new K.ThemeIcon("archive");case"worktree":return new K.ThemeIcon("list-tree");default:return new K.ThemeIcon("repo")}}};D([Sn],Rl.prototype,"label",1),D([Sn],Rl.prototype,"description",1),D([Sn],Rl.prototype,"iconPath",1);var Hv=class{constructor(e){this.workspaceState=e;this._repositories=new Set(e.get("closedRepositories",[])),this.onDidChangeRepositories()}workspaceState;_repositories;get repositories(){return[...this._repositories.values()]}addRepository(e){this._repositories.add(e),this.onDidChangeRepositories()}deleteRepository(e){let t=this._repositories.delete(e);return t&&this.onDidChangeRepositories(),t}isRepositoryClosed(e){return this._repositories.has(e)}onDidChangeRepositories(){this.workspaceState.update("closedRepositories",[...this._repositories.values()]),K.commands.executeCommand("setContext","git.closedRepositoryCount",this._repositories.size)}},Uv=class{constructor(e){this.globalState=e;this.onDidChangeRepositories()}globalState;_repositories=new Set;get repositories(){return[...this._repositories.values()]}addRepository(e){this._repositories.add(e),this.onDidChangeRepositories()}deleteRepository(e){let t=this._repositories.delete(e);return t&&this.onDidChangeRepositories(),t}hasRepository(e){return this._repositories.has(e)}openRepository(e){this.globalState.update(`parentRepository:${e}`,!0),this.deleteRepository(e)}onDidChangeRepositories(){K.commands.executeCommand("setContext","git.parentRepositoryCount",this._repositories.size)}},Wv=class{_repositories=new Map;get repositories(){return[...this._repositories.keys()]}constructor(){this.onDidChangeRepositories()}addRepository(e,t){this._repositories.set(e,t),this.onDidChangeRepositories()}deleteRepository(e){let t=this._repositories.delete(e);return t&&this.onDidChangeRepositories(),t}getRepositoryPath(e){return this._repositories.get(e)}hasRepository(e){return this._repositories.has(e)}onDidChangeRepositories(){K.commands.executeCommand("setContext","git.unsafeRepositoryCount",this._repositories.size)}},Js=class{constructor(e,t,r,n,o,a){this.git=e;this.askpass=t;this.globalState=r;this.workspaceState=n;this.logger=o;this.telemetryReporter=a;this._closedRepositoriesManager=new Hv(n),this._parentRepositoriesManager=new Uv(r),this._unsafeRepositoriesManager=new Wv,K.workspace.onDidChangeWorkspaceFolders(this.onDidChangeWorkspaceFolders,this,this.disposables),K.workspace.onDidChangeWorkspaceTrustedFolders(this.onDidChangeWorkspaceTrustedFolders,this,this.disposables),K.window.onDidChangeVisibleTextEditors(this.onDidChangeVisibleTextEditors,this,this.disposables),K.window.onDidChangeActiveTextEditor(this.onDidChangeActiveTextEditor,this,this.disposables),K.workspace.onDidChangeConfiguration(this.onDidChangeConfiguration,this,this.disposables);let s=K.workspace.createFileSystemWatcher("**");this.disposables.push(s);let c=fi(s.onDidChange,s.onDidCreate,s.onDidDelete),l=We(c,f=>/\/\.git/.test(f.path));We(l,f=>!this.getRepository(f))(this.onPossibleGitRepositoryChange,this,this.disposables),this.setState("uninitialized"),this.doInitialScan().finally(()=>this.setState("initialized")),this._repositoryCache=new ep(r,o)}git;askpass;globalState;workspaceState;logger;telemetryReporter;_onDidOpenRepository=new K.EventEmitter;onDidOpenRepository=this._onDidOpenRepository.event;_onDidCloseRepository=new K.EventEmitter;onDidCloseRepository=this._onDidCloseRepository.event;_onDidChangeRepository=new K.EventEmitter;onDidChangeRepository=this._onDidChangeRepository.event;_onDidChangeOriginalResource=new K.EventEmitter;onDidChangeOriginalResource=this._onDidChangeOriginalResource.event;openRepositories=[];get repositories(){return this.openRepositories.map(e=>e.repository)}possibleGitRepositoryPaths=new Set;_onDidChangeState=new K.EventEmitter;onDidChangeState=this._onDidChangeState.event;_onDidPublish=new K.EventEmitter;onDidPublish=this._onDidPublish.event;firePublishEvent(e,t){this._onDidPublish.fire({repository:new Vt(e),branch:t})}_state="uninitialized";get state(){return this._state}setState(e){this._state=e,this._onDidChangeState.fire(e),K.commands.executeCommand("setContext","git.state",e)}get isInitialized(){return this._state==="initialized"?Promise.resolve():Yi(We(this.onDidChangeState,e=>e==="initialized"))}remoteSourcePublishers=new Set;_onDidAddRemoteSourcePublisher=new K.EventEmitter;onDidAddRemoteSourcePublisher=this._onDidAddRemoteSourcePublisher.event;_onDidRemoveRemoteSourcePublisher=new K.EventEmitter;onDidRemoveRemoteSourcePublisher=this._onDidRemoveRemoteSourcePublisher.event;postCommitCommandsProviders=new Set;_onDidChangePostCommitCommandsProviders=new K.EventEmitter;onDidChangePostCommitCommandsProviders=this._onDidChangePostCommitCommandsProviders.event;branchProtectionProviders=new Map;_onDidChangeBranchProtectionProviders=new K.EventEmitter;onDidChangeBranchProtectionProviders=this._onDidChangeBranchProtectionProviders.event;pushErrorHandlers=new Set;historyItemDetailsProviders=new Set;_unsafeRepositoriesManager;get unsafeRepositories(){return this._unsafeRepositoriesManager.repositories}_parentRepositoriesManager;get parentRepositories(){return this._parentRepositoriesManager.repositories}_closedRepositoriesManager;get closedRepositories(){return[...this._closedRepositoriesManager.repositories]}_workspaceFolders=new Map;_repositoryCache;get repositoryCache(){return this._repositoryCache}_initialStatusLimiter=new Fo(5);disposables=[];async doInitialScan(){this.logger.info("[Model][doInitialScan] Initial repository scan started");let e=K.workspace.getConfiguration("git"),t=e.get("autoRepositoryDetection"),r=e.get("openRepositoryInParentFolders","prompt");this.logger.trace(`[Model][doInitialScan] Settings: autoRepositoryDetection=${t}, openRepositoryInParentFolders=${r}`);let n=()=>Promise.all([this.onDidChangeWorkspaceFolders({added:K.workspace.workspaceFolders||[],removed:[]}),this.onDidChangeVisibleTextEditors(K.window.visibleTextEditors),this.scanWorkspaceFolders()]);e.get("showProgress",!0)?await K.window.withProgress({location:K.ProgressLocation.SourceControl},n):await n(),this.parentRepositories.length!==0&&r==="prompt"?this.showParentRepositoryNotification():this.unsafeRepositories.length!==0&&this.showUnsafeRepositoryNotification(),this.telemetryReporter.sendTelemetryEvent("git.repositoryInitialScan",{autoRepositoryDetection:String(t)},{repositoryCount:this.openRepositories.length}),this.logger.info(`[Model][doInitialScan] Initial repository scan completed - repositories (${this.repositories.length}), closed repositories (${this.closedRepositories.length}), parent repositories (${this.parentRepositories.length}), unsafe repositories (${this.unsafeRepositories.length})`)}async scanWorkspaceFolders(){try{let e=K.workspace.getConfiguration("git"),t=e.get("autoRepositoryDetection");if(t!==!0&&t!=="subFolders")return;await Promise.all((K.workspace.workspaceFolders||[]).map(async r=>{let n=r.uri.fsPath;this.logger.trace(`[Model][scanWorkspaceFolders] Workspace folder: ${n}`);let o=(K.workspace.isTrusted?K.workspace.getConfiguration("git",r.uri):e).get("repositoryScanMaxDepth",1),a=(K.workspace.isTrusted?K.workspace.getConfiguration("git",r.uri):e).get("repositoryScanIgnoredFolders",[]),s=new Set(await this.traverseWorkspaceFolder(n,o,a)),c=(K.workspace.isTrusted?K.workspace.getConfiguration("git",r.uri):e).get("scanRepositories")||[];this.logger.trace(`[Model][scanWorkspaceFolders] Workspace scan settings: repositoryScanMaxDepth=${o}; repositoryScanIgnoredFolders=[${a.join(", ")}]; scanRepositories=[${c.join(", ")}]`);for(let l of c){if(l===".git"){this.logger.trace("[Model][scanWorkspaceFolders] '.git' not supported in 'git.scanRepositories' setting.");continue}if(sr.isAbsolute(l)){let u=K.l10n.t('Absolute paths not supported in "git.scanRepositories" setting.');this.logger.warn(`[Model][scanWorkspaceFolders] ${u}`),console.warn(u);continue}s.add(sr.join(n,l))}this.logger.trace(`[Model][scanWorkspaceFolders] Workspace scan sub folders: [${[...s].join(", ")}]`),await Promise.all([...s].map(l=>this.openRepository(l)))}))}catch(e){this.logger.warn(`[Model][scanWorkspaceFolders] Error: ${e}`)}}async traverseWorkspaceFolder(e,t,r){let n=[],o=[{path:e,depth:0}];for(;o.length>0;){let a=o.shift(),s=[];try{s.push(...await pd.promises.readdir(a.path,{withFileTypes:!0})),a.depth!==0&&n.push(a.path)}catch(c){this.logger.warn(`[Model][traverseWorkspaceFolder] Unable to read workspace folder '${a.path}': ${c}`);continue}if(a.depth<t||t===-1){let c=s.filter(l=>l.isDirectory()&&l.name!==".git"&&!r.find(u=>et(l.name,u))).map(l=>sr.join(a.path,l.name));o.push(...c.map(l=>({path:l,depth:a.depth+1})))}}return n}onPossibleGitRepositoryChange(e){K.workspace.getConfiguration("git").get("autoRepositoryDetection")!==!1&&this.eventuallyScanPossibleGitRepository(e.fsPath.replace(/\.git.*$/,""))}eventuallyScanPossibleGitRepository(e){this.possibleGitRepositoryPaths.add(e),this.eventuallyScanPossibleGitRepositories()}eventuallyScanPossibleGitRepositories(){for(let e of this.possibleGitRepositoryPaths)this.openRepository(e);this.possibleGitRepositoryPaths.clear()}async onDidChangeWorkspaceFolders({added:e,removed:t}){try{let r=e.filter(s=>!this.getOpenRepository(s.uri)),n=K.window.visibleTextEditors.map(s=>this.getRepository(s.document.uri)).filter(s=>!!s),o=new Set(n);t.map(s=>this.getOpenRepository(s.uri)).filter(s=>!!s).filter(s=>!o.has(s.repository)).filter(s=>!(K.workspace.workspaceFolders||[]).some(c=>nr(c.uri.fsPath,s.repository.root))).forEach(s=>s.dispose()),this.logger.trace(`[Model][onDidChangeWorkspaceFolders] Workspace folders: [${r.map(s=>s.uri.fsPath).join(", ")}]`),await Promise.all(r.map(s=>this.openRepository(s.uri.fsPath)))}catch(r){this.logger.warn(`[Model][onDidChangeWorkspaceFolders] Error: ${r}`)}}async onDidChangeWorkspaceTrustedFolders(){try{let e=[];for(let t of this.openRepositories){let r=t.repository.dotGit.commonPath??t.repository.dotGit.path;await K.workspace.isResourceTrusted(K.Uri.file(sr.dirname(r)))||(e.push(t),this.logger.trace(`[Model][onDidChangeWorkspaceTrustedFolders] Repository is no longer trusted: ${t.repository.root}`))}e.forEach(t=>t.dispose())}catch(e){this.logger.warn(`[Model][onDidChangeWorkspaceTrustedFolders] Error: ${e}`)}}onDidChangeConfiguration(){let e=(K.workspace.workspaceFolders||[]).filter(r=>K.workspace.getConfiguration("git",r.uri).get("enabled")===!0).filter(r=>!this.getOpenRepository(r.uri)),t=this.openRepositories.map(r=>({repository:r,root:K.Uri.file(r.repository.root)})).filter(({root:r})=>K.workspace.getConfiguration("git",r).get("enabled")!==!0).map(({repository:r})=>r);this.logger.trace(`[Model][onDidChangeConfiguration] Workspace folders: [${e.map(r=>r.uri.fsPath).join(", ")}]`),e.forEach(r=>this.openRepository(r.uri.fsPath)),t.forEach(r=>r.dispose())}async onDidChangeVisibleTextEditors(e){try{if(!K.workspace.isTrusted){this.logger.trace("[Model][onDidChangeVisibleTextEditors] Workspace is not trusted.");return}let r=K.workspace.getConfiguration("git").get("autoRepositoryDetection");if(r!==!0&&r!=="openEditors")return;await Promise.all(e.map(async n=>{let o=n.document.uri;if(o.scheme!=="file")return;let a=this.getRepository(o);if(a){this.logger.trace(`[Model][onDidChangeVisibleTextEditors] Repository for editor resource ${o.fsPath} already exists: ${a.root}`);return}this.logger.trace(`[Model][onDidChangeVisibleTextEditors] Open repository for editor resource ${o.fsPath}`),await this.openRepository(sr.dirname(o.fsPath))}))}catch(t){this.logger.warn(`[Model][onDidChangeVisibleTextEditors] Error: ${t}`)}}onDidChangeActiveTextEditor(){let e=K.window.activeTextEditor;if(e===void 0){K.commands.executeCommand("setContext","git.activeResourceHasUnstagedChanges",!1),K.commands.executeCommand("setContext","git.activeResourceHasStagedChanges",!1),K.commands.executeCommand("setContext","git.activeResourceHasMergeConflicts",!1);return}let t=this.getRepository(e.document.uri);if(!t){K.commands.executeCommand("setContext","git.activeResourceHasUnstagedChanges",!1),K.commands.executeCommand("setContext","git.activeResourceHasStagedChanges",!1),K.commands.executeCommand("setContext","git.activeResourceHasMergeConflicts",!1);return}let r=t.indexGroup.resourceStates.find(s=>et(s.resourceUri.fsPath,e.document.uri.fsPath)),n=t.workingTreeGroup.resourceStates.find(s=>et(s.resourceUri.fsPath,e.document.uri.fsPath)),a=t.mergeGroup.resourceStates.find(s=>et(s.resourceUri.fsPath,e.document.uri.fsPath))?/^(<{7,}|={7,}|>{7,})/m.test(e.document.getText()):!1;K.commands.executeCommand("setContext","git.activeResourceHasStagedChanges",r!==void 0),K.commands.executeCommand("setContext","git.activeResourceHasUnstagedChanges",n!==void 0),K.commands.executeCommand("setContext","git.activeResourceHasMergeConflicts",a)}async openRepository(e,t=!1,r=!1){this.logger.trace(`[Model][openRepository] Repository: ${e}`);let n=await this.getRepositoryExact(e);if(n){this.logger.trace(`[Model][openRepository] Repository for path ${e} already exists: ${n.root}`);return}let o=K.workspace.getConfiguration("git",K.Uri.file(e));if(!(o.get("enabled")===!0)){this.logger.trace("[Model][openRepository] Git is not enabled");return}try{let{repositoryRoot:s,unsafeRepositoryMatch:c}=await this.getRepositoryRoot(e);this.logger.trace(`[Model][openRepository] Repository root for path ${e} is: ${s}`);let l=await this.getRepositoryExact(s);if(l){this.logger.trace(`[Model][openRepository] Repository for path ${s} already exists: ${l.root}`);return}if(this.shouldRepositoryBeIgnored(s)){this.logger.trace(`[Model][openRepository] Repository for path ${s} is ignored`);return}let u=o.get("openRepositoryInParentFolders","prompt");if(u!=="always"&&this.globalState.get(`parentRepository:${s}`)!==!0){let S=await this.isRepositoryOutsideWorkspace(s);if(!r&&S){this.logger.trace(`[Model][openRepository] Repository in parent folder: ${s}`),this._parentRepositoriesManager.hasRepository(s)||(this.state==="initialized"&&u==="prompt"&&this.showParentRepositoryNotification(),this._parentRepositoriesManager.addRepository(s));return}}if(c&&c.length===3){this.logger.trace(`[Model][openRepository] Unsafe repository: ${s}`),this._state==="initialized"&&!this._unsafeRepositoriesManager.hasRepository(s)&&this.showUnsafeRepositoryNotification(),this._unsafeRepositoriesManager.addRepository(s,c[2]);return}if(!t&&this._closedRepositoriesManager.isRepositoryClosed(s)){this.logger.trace(`[Model][openRepository] Repository for path ${s} is closed`);return}let[f,m]=await Promise.all([this.git.getRepositoryDotGit(s),this.getRepositoryRootRealPath(s)]),h=f.commonPath??f.path;if(!await K.workspace.requestResourceTrust({message:K.l10n.t("You are opening a repository from a location that is not trusted. Do you trust the authors of the files in the repository you are opening?"),uri:K.Uri.file(sr.dirname(h))})){this.logger.trace(`[Model][openRepository] Repository folder is not trusted: ${sr.dirname(h)}`);return}let _=this.git.open(s,m,f,this.logger),b=new Ta(_,this,this,this,this,this,this,this.globalState,this.logger,this.telemetryReporter,this._repositoryCache);this.open(b),this._closedRepositoriesManager.deleteRepository(b.root),this.logger.info(`[Model][openRepository] Opened repository (path): ${b.root}`),this.logger.info(`[Model][openRepository] Opened repository (real path): ${b.rootRealPath??b.root}`),this.logger.info(`[Model][openRepository] Opened repository (kind): ${_.kind}`),this._initialStatusLimiter.queue(()=>b.status()).then(()=>{this._repositoryCache.update(b.remotes,[],b.root)})}catch(s){this.logger.trace(`[Model][openRepository] Opening repository for path='${e}' failed. Error:${s}`)}}async openParentRepository(e){this._parentRepositoriesManager.openRepository(e),await this.openRepository(e)}async getRepositoryRoot(e){try{let t=await this.git.getRepositoryRoot(e);return{repositoryRoot:K.Uri.file(t).fsPath,unsafeRepositoryMatch:null}}catch(t){let r=/^fatal: detected dubious ownership in repository at \'([^']+)\'[\s\S]*git config --global --add safe\.directory '?([^'\n]+)'?$/m.exec(t.stderr);if(r&&r.length===3)return{repositoryRoot:sr.normalize(r[1]),unsafeRepositoryMatch:r};throw t}}async getRepositoryRootRealPath(e){try{let t=await pd.promises.realpath(e);return et(e,t)?void 0:t}catch(t){this.logger.warn(`[Model][getRepositoryRootRealPath] Failed to get repository realpath for "${e}": ${t}`);return}}shouldRepositoryBeIgnored(e){let r=K.workspace.getConfiguration("git").get("ignoredRepositories")||[];for(let n of r)if(sr.isAbsolute(n)){if(et(n,e))return!0}else for(let o of K.workspace.workspaceFolders||[])if(et(sr.join(o.uri.fsPath,n),e))return!0;return!1}open(e){this.logger.trace(`[Model][open] Repository: ${e.root}`);let r=We(e.onDidChangeState,P=>P===1)(()=>E()),n=e.sourceControl.onDidDisposeParent(()=>E()),o=e.onDidChangeRepository(P=>this._onDidChangeRepository.fire({repository:e,uri:P})),a=e.onDidChangeOriginalResource(P=>this._onDidChangeOriginalResource.fire({repository:e,uri:P})),s=K.workspace.getConfiguration("git",K.Uri.file(e.root)).get("detectSubmodules"),c=K.workspace.getConfiguration("git",K.Uri.file(e.root)).get("detectSubmodulesLimit"),l=K.workspace.getConfiguration("git",K.Uri.file(e.root)).get("detectWorktrees"),u=K.workspace.getConfiguration("git",K.Uri.file(e.root)).get("detectWorktreesLimit"),f=()=>{if(!s){this.logger.trace("[Model][open] Automatic detection of git submodules is not enabled.");return}e.submodules.length>c&&(K.window.showWarningMessage(K.l10n.t(`The "{0}" repository has {1} submodules which won't be opened automatically. You can still open each one individually by opening a file within.`,sr.basename(e.root),e.submodules.length)),p.dispose()),e.submodules.slice(0,c).map(P=>sr.join(e.root,P.path)).forEach(P=>{this.logger.trace(`[Model][open] Opening submodule: '${P}'`),this.eventuallyScanPossibleGitRepository(P)})},m=()=>{if(!l){this.logger.trace("[Model][open] Automatic detection of git worktrees is not enabled.");return}if(e.kind==="worktree"){this.logger.trace("[Model][open] Automatic detection of git worktrees is not skipped.");return}e.worktrees.length>u&&(K.window.showWarningMessage(K.l10n.t(`The "{0}" repository has {1} worktrees which won't be opened automatically. You can still open each one individually by opening a file within.`,sr.basename(e.root),e.worktrees.length)),p.dispose()),e.worktrees.slice(0,u).forEach(P=>{this.logger.trace(`[Model][open] Opening worktree: '${P.path}'`),this.eventuallyScanPossibleGitRepository(P.path)})},h=()=>{let P=[];for(let{repository:L}of this.openRepositories.values())for(let Y of L.mergeGroup.resourceStates)P.push(Y.resourceUri);K.commands.executeCommand("setContext","git.mergeChanges",P)},p=e.onDidRunGitStatus(()=>{f(),m(),h(),this.onDidChangeActiveTextEditor()});f(),m(),this.onDidChangeActiveTextEditor();let _=()=>{let P=!1;for(let{repository:L}of this.openRepositories.values())L.operations.shouldDisableCommands()&&(P=!0);K.commands.executeCommand("setContext","operationInProgress",P)},S=fi(e.onDidRunOperation,e.onRunOperation)(()=>_());_();let E=()=>{r.dispose(),n.dispose(),o.dispose(),a.dispose(),p.dispose(),S.dispose(),e.dispose(),this.openRepositories=this.openRepositories.filter(P=>P!==R),this._onDidCloseRepository.fire(e)},R={repository:e,dispose:E};this.openRepositories.push(R),h(),this._onDidOpenRepository.fire(e)}close(e){let t=this.getOpenRepository(e);t&&(this.logger.info(`[Model][close] Repository: ${e.root}`),this._closedRepositoriesManager.addRepository(t.repository.root),this._repositoryCache.update(e.remotes,[],e.root),t.dispose())}async pickRepository(e){if(this.openRepositories.length===0)throw new Error(K.l10n.t("There are no available repositories"));let t=this.openRepositories.filter(l=>!l.repository.isHidden&&(!e||e.includes(l.repository.kind)));if(t.length===0)throw new Error(K.l10n.t("There are no available repositories matching the filter"));if(t.length===1)return t[0].repository;let r=K.window.activeTextEditor,n=t.map((l,u)=>new Rl(l.repository,u)),o=r&&this.getRepository(r.document.fileName),a=n.findIndex(l=>l.repository===o);a>-1&&n.unshift(...n.splice(a,1));let s=K.l10n.t("Choose a repository"),c=await K.window.showQuickPick(n,{placeHolder:s});return c&&c.repository}getRepository(e){let t=this.getOpenRepository(e);return t&&t.repository}async getRepositoryExact(e){let t=this.openRepositories.find(r=>et(r.repository.root,e));if(t)return t.repository;try{let r=await pd.promises.realpath(e,{encoding:"utf8"});return this.openRepositories.find(o=>et(o.repository.rootRealPath??o.repository.root,r))?.repository}catch(r){this.logger.warn(`[Model][getRepositoryExact] Failed to get repository realpath for: "${e}". Error:${r}`);return}}getOpenRepository(e){if(e){if(e instanceof Ta)return this.openRepositories.filter(t=>t.repository===e)[0];if(e instanceof Vt&&(e=e.rootUri),typeof e=="string"&&(e=K.Uri.file(e)),e instanceof K.Uri){let t;e.scheme==="git"?t=kr(e).path:t=e.fsPath;e:for(let r of this.openRepositories.sort((n,o)=>o.repository.root.length-n.repository.root.length))if(nr(r.repository.root,t)){for(let n of r.repository.submodules){let o=sr.join(r.repository.root,n.path);if(nr(o,t))continue e}return r}return}for(let t of this.openRepositories){let r=t.repository;if(e===r.sourceControl||e===r.mergeGroup||e===r.indexGroup||e===r.workingTreeGroup||e===r.untrackedGroup)return t}}}getRepositoryForSubmodule(e){for(let t of this.repositories)for(let r of t.submodules)if(sr.join(t.root,r.path)===e.fsPath)return t}registerRemoteSourcePublisher(e){return this.remoteSourcePublishers.add(e),this._onDidAddRemoteSourcePublisher.fire(e),Wr(()=>{this.remoteSourcePublishers.delete(e),this._onDidRemoveRemoteSourcePublisher.fire(e)})}getRemoteSourcePublishers(){return[...this.remoteSourcePublishers.values()]}registerBranchProtectionProvider(e,t){let r=[];return this.branchProtectionProviders.set(e.toString(),(this.branchProtectionProviders.get(e.toString())??new Set).add(t)),r.push(t.onDidChangeBranchProtection(n=>this._onDidChangeBranchProtectionProviders.fire(n))),this._onDidChangeBranchProtectionProviders.fire(e),Wr(()=>{let n=this.branchProtectionProviders.get(e.toString());n&&n.has(t)&&(n.delete(t),this.branchProtectionProviders.set(e.toString(),n),this._onDidChangeBranchProtectionProviders.fire(e)),Le(r)})}getBranchProtectionProviders(e){return[...(this.branchProtectionProviders.get(e.toString())??new Set).values()]}registerPostCommitCommandsProvider(e){return this.postCommitCommandsProviders.add(e),this._onDidChangePostCommitCommandsProviders.fire(),Wr(()=>{this.postCommitCommandsProviders.delete(e),this._onDidChangePostCommitCommandsProviders.fire()})}getPostCommitCommandsProviders(){return[...this.postCommitCommandsProviders.values()]}registerCredentialsProvider(e){return this.askpass.registerCredentialsProvider(e)}registerPushErrorHandler(e){return this.pushErrorHandlers.add(e),Wr(()=>this.pushErrorHandlers.delete(e))}getPushErrorHandlers(){return[...this.pushErrorHandlers]}registerSourceControlHistoryItemDetailsProvider(e){return this.historyItemDetailsProviders.add(e),Wr(()=>this.historyItemDetailsProviders.delete(e))}getSourceControlHistoryItemDetailsProviders(){return[...this.historyItemDetailsProviders]}getUnsafeRepositoryPath(e){return this._unsafeRepositoriesManager.getRepositoryPath(e)}deleteUnsafeRepository(e){return this._unsafeRepositoriesManager.deleteRepository(e)}async isRepositoryOutsideWorkspace(e){if(K.workspace.workspaceFolders===void 0||K.workspace.isAgentSessionsWorkspace)return!1;let t=K.workspace.workspaceFolders.filter(o=>o.uri.scheme==="file");if(t.length===0)return!0;if(this.repositories.map(o=>o.worktrees.map(a=>a.path)).flat().some(o=>et(o,e)))return!1;let n=new Set([...t.map(o=>o.uri.fsPath),...await Promise.all(t.map(o=>this.getWorkspaceFolderRealPath(o)))]);return!Array.from(n).some(o=>o&&(et(o,e)||nr(o,e)))}async getWorkspaceFolderRealPath(e){let t=this._workspaceFolders.get(e.uri.fsPath);if(!t)try{t=await pd.promises.realpath(e.uri.fsPath,{encoding:"utf8"}),this._workspaceFolders.set(e.uri.fsPath,t)}catch(r){this.logger.trace(`[Model][getWorkspaceFolderRealPath] Failed to resolve workspace folder "${e.uri.fsPath}". Error:${r}`)}return t}async showParentRepositoryNotification(){let e=this.parentRepositories.length===1?K.l10n.t("A git repository was found in the parent folders of the workspace or the open file(s). Would you like to open the repository?"):K.l10n.t("Git repositories were found in the parent folders of the workspace or the open file(s). Would you like to open the repositories?"),t=K.l10n.t("Yes"),r=K.l10n.t("Always"),n=K.l10n.t("Never"),o=await K.window.showInformationMessage(e,t,r,n);if(o===t)K.commands.executeCommand("git.openRepositoriesInParentFolders");else if((o===r||o===n)&&(await K.workspace.getConfiguration("git").update("openRepositoryInParentFolders",o===r?"always":"never",!0),o===r))for(let s of this.parentRepositories)await this.openParentRepository(s)}async showUnsafeRepositoryNotification(){if(this.repositories.length===0)return;let e=this.unsafeRepositories.length===1?K.l10n.t("The git repository in the current folder is potentially unsafe as the folder is owned by someone other than the current user."):K.l10n.t("The git repositories in the current folder are potentially unsafe as the folders are owned by someone other than the current user."),t=K.l10n.t("Manage Unsafe Repositories"),r=K.l10n.t("Learn More"),n=await K.window.showErrorMessage(e,t,r);n===t?K.commands.executeCommand("git.manageUnsafeRepositories"):n===r&&K.commands.executeCommand("vscode.open",K.Uri.parse("https://aka.ms/vscode-git-unsafe-repository"))}dispose(){[...this.openRepositories].forEach(t=>t.dispose()),this.openRepositories=[],this.possibleGitRepositoryPaths.clear(),this.disposables=Le(this.disposables)}};D([Sn],Js.prototype,"isInitialized",1),D([qn(500)],Js.prototype,"eventuallyScanPossibleGitRepositories",1),D([Ym],Js.prototype,"openRepository",1);var Vv=tt(require("os")),ot=tt(require("path")),d=require("vscode");var Xn=require("vscode");function hd(i,e,t){let r=[],n=0;for(let o of t){let a=o.originalEndLineNumber===0,s=o.modifiedEndLineNumber===0,c=a?o.originalStartLineNumber:o.originalStartLineNumber-1,l=0;if(s&&o.originalEndLineNumber===i.lineCount&&(c-=1,l=i.lineAt(c).range.end.character),r.push(i.getText(new Xn.Range(n,0,c,l))),!s){let u=o.modifiedStartLineNumber-1,f=0;a&&o.originalStartLineNumber===i.lineCount&&(u-=1,f=e.lineAt(u).range.end.character),r.push(e.getText(new Xn.Range(u,f,o.modifiedEndLineNumber,0)))}n=a?o.originalStartLineNumber:o.originalEndLineNumber}return r.push(i.getText(new Xn.Range(n,0,i.lineCount,0))),r.join("")}function $v(i,e){let t=i.map(n=>{let o=e.lineAt(n.start.line),a=e.lineAt(n.end.line);return new Xn.Range(o.range.start,a.range.end)});t.sort((n,o)=>n.start.line-o.start.line);let r=t.reduce((n,o)=>{if(n.length===0)return n.push(o),n;let[a,...s]=n,c=o.intersection(a);return c?[c,...s]:o.start.line===a.end.line+1?[new Xn.Range(a.start,o.end),...s]:[o,...n]},[]);return r.reverse(),r}function tp(i,e){return e.modifiedEndLineNumber===0?e.modifiedStartLineNumber===0?new Xn.Range(i.lineAt(e.modifiedStartLineNumber).range.end,i.lineAt(e.modifiedStartLineNumber).range.start):i.lineCount===e.modifiedStartLineNumber?new Xn.Range(i.lineAt(e.modifiedStartLineNumber-1).range.end,i.lineAt(e.modifiedStartLineNumber-1).range.end):new Xn.Range(i.lineAt(e.modifiedStartLineNumber-1).range.end,i.lineAt(e.modifiedStartLineNumber).range.start):new Xn.Range(i.lineAt(e.modifiedStartLineNumber-1).range.start,i.lineAt(e.modifiedEndLineNumber-1).range.end)}function Kv(i,e,t){let r=tp(i,e),n=t.intersection(r);if(!n)return null;if(e.modifiedEndLineNumber===0)return e;{let o=n.start.line+1,a=n.end.line+1;if(e.originalEndLineNumber-e.originalStartLineNumber===e.modifiedEndLineNumber-e.modifiedStartLineNumber){let s=o-e.modifiedStartLineNumber,c=a-o;return{originalStartLineNumber:e.originalStartLineNumber+s,originalEndLineNumber:e.originalStartLineNumber+s+c,modifiedStartLineNumber:o,modifiedEndLineNumber:a}}else return{originalStartLineNumber:e.originalStartLineNumber,originalEndLineNumber:e.originalEndLineNumber,modifiedStartLineNumber:o,modifiedEndLineNumber:a}}}function rp(i){return{modifiedStartLineNumber:i.originalStartLineNumber,modifiedEndLineNumber:i.originalEndLineNumber,originalStartLineNumber:i.modifiedStartLineNumber,originalEndLineNumber:i.modifiedEndLineNumber}}function Sl(i){return i.changes.map(e=>{let t,r,n,o;return e.original.startLineNumber===e.original.endLineNumberExclusive?(t=e.original.startLineNumber-1,r=0):(t=e.original.startLineNumber,r=e.original.endLineNumberExclusive-1),e.modified.startLineNumber===e.modified.endLineNumberExclusive?(n=e.modified.startLineNumber-1,o=0):(n=e.modified.startLineNumber,o=e.modified.endLineNumberExclusive-1),{originalStartLineNumber:t,originalEndLineNumber:r,modifiedStartLineNumber:n,modifiedEndLineNumber:o}})}function AR(i,e){let t=i.modifiedStartLineNumber-e.modifiedStartLineNumber;return t!==0||(t=i.modifiedEndLineNumber-e.modifiedEndLineNumber,t!==0)||(t=i.originalStartLineNumber-e.originalStartLineNumber,t!==0)?t:i.originalEndLineNumber-e.originalEndLineNumber}function kR(i){return i.diffInformation?.find(e=>e.original&&Rn(e.original)&&kr(e.original).ref==="HEAD"&&e.modified&&Rn(e.modified)&&kr(e.modified).ref==="")}function qs(i){return Yv(i,"~")??Yv(i,"")}function jv(i){return Yv(i,"HEAD")}function Yv(i,e){return i.diffInformation?.find(t=>t.original&&Rn(t.original)&&kr(t.original).ref===e)}var Mt=require("vscode");var $i=class i extends Mt.TimelineItem{static is(e){return e instanceof i}ref;previousRef;message;constructor(e,t,r,n,o,a){let s=r.indexOf(`
`),c=s!==-1?`${Ei(r,s,!1)}`:r;super(c,n),this.ref=e,this.previousRef=t,this.message=r,this.id=o,this.contextValue=a}get shortRef(){return this.shortenRef(this.ref)}get shortPreviousRef(){return this.shortenRef(this.previousRef)}shortenRef(e){return e===""||e==="~"||e==="HEAD"?e:e.endsWith("^")?`${e.substr(0,8)}^`:e.substr(0,8)}},gd=class{constructor(e,t){this.model=e;this.commands=t;this.disposable=Mt.Disposable.from(e.onDidOpenRepository(this.onRepositoriesChanged,this),Mt.workspace.onDidChangeConfiguration(this.onConfigurationChanged,this)),e.repositories.length&&this.ensureProviderRegistration()}model;commands;_onDidChange=new Mt.EventEmitter;get onDidChange(){return this._onDidChange.event}id="git-history";label=Mt.l10n.t("Git History");disposable;providerDisposable;repo;repoDisposable;repoOperationDate;dispose(){this.providerDisposable?.dispose(),this.disposable.dispose()}async provideTimeline(e,t,r){let n=this.model.getRepository(e);if(!n)return this.repoDisposable?.dispose(),this.repoOperationDate=void 0,this.repo=void 0,{items:[]};this.repo?.root!==n.root&&(this.repoDisposable?.dispose(),this.repo=n,this.repoOperationDate=new Date,this.repoDisposable=Mt.Disposable.from(n.onDidChangeRepository(R=>this.onRepositoryChanged(n,R)),n.onDidRunGitStatus(()=>this.onRepositoryStatusChanged(n)),n.onDidRunOperation(R=>this.onRepositoryOperationRun(n,R))));let o;if(t.limit!==void 0&&typeof t.limit!="number")try{let R=await this.model.git.exec(n.root,["rev-list","--count",`${t.limit.id}..`,"--",e.fsPath]);R.exitCode||(o=Number(R.stdout)+2)}catch{o=void 0}else o=t.limit===void 0?void 0:t.limit+1;await js();let a=await n.logFile(e,{maxEntries:o,hash:t.cursor,follow:!0,shortStats:!0},r),s=a.length?{cursor:o===void 0?void 0:a.length>=o?a[a.length-1]?.hash:void 0}:void 0;o!==void 0&&a.length>=o&&a.splice(a.length-1,1);let c=Mt.workspace.getConfiguration("git",Mt.Uri.file(n.root)),l=c.get("timeline.date"),u=c.get("timeline.showAuthor"),f=c.get("timeline.showUncommitted"),m=Mt.l10n.t("Open Comparison"),h=await n.getEmptyTree(),p=await n.getUnpublishedCommits(),_=await Cl(this.model,n),b={commits:a.map(R=>({hash:R.hash,authorName:R.authorName,authorEmail:R.authorEmail})),size:20},S=await zs(this.model,n,b),E=[];for(let R=0;R<a.length;R++){let P=a[R],L=l==="authored"?P.authorDate:P.commitDate,Y=Wo(P.message),$=a[R+1]?.hash??h,G=new $i(P.hash,$,Y,L?.getTime()??0,P.hash,"git:file:commit");G.iconPath=new Mt.ThemeIcon("git-commit"),u&&(G.description=P.authorName);let W=p.has(P.hash)?[]:_??[],H=await Vs(this.model,n,Y)??Y,T=[El(e,P.hash),Dl(W,P.hash)];G.tooltip=wl(S?.get(P.hash),P.authorName,P.authorEmail,L,H,P.shortStat,T);let ee=this.commands.resolveTimelineOpenDiffCommand(G,e);ee&&(G.command={title:m,command:ee.command,arguments:ee.arguments}),E.push(G)}if(t.cursor===void 0){let R=Mt.l10n.t("You"),P=n.indexGroup.resourceStates.find(L=>L.resourceUri.fsPath===e.fsPath);if(P){let L=this.repoOperationDate??new Date,Y=new $i("~","HEAD",Mt.l10n.t("Staged Changes"),L.getTime(),"index","git:file:index");Y.iconPath=new Mt.ThemeIcon("git-commit"),Y.description="",Y.tooltip=wl(void 0,R,void 0,L,ze.getStatusText(P.type),void 0,void 0);let $=this.commands.resolveTimelineOpenDiffCommand(Y,e);$&&(Y.command={title:m,command:$.command,arguments:$.arguments}),E.splice(0,0,Y)}if(f){let L=n.workingTreeGroup.resourceStates.find(Y=>Y.resourceUri.fsPath===e.fsPath);if(L){let Y=new Date,$=new $i("",P?"~":"HEAD",Mt.l10n.t("Uncommitted Changes"),Y.getTime(),"working","git:file:working");$.iconPath=new Mt.ThemeIcon("circle-outline"),$.description="",$.tooltip=wl(void 0,R,void 0,Y,ze.getStatusText(L.type),void 0,void 0);let G=this.commands.resolveTimelineOpenDiffCommand($,e);G&&($.command={title:m,command:G.command,arguments:G.arguments}),E.splice(0,0,$)}}}return{items:E,paging:s}}ensureProviderRegistration(){this.providerDisposable===void 0&&(this.providerDisposable=Mt.workspace.registerTimelineProvider(["file","git","vscode-remote","vscode-local-history"],this))}onConfigurationChanged(e){(e.affectsConfiguration("git.timeline.date")||e.affectsConfiguration("git.timeline.showAuthor")||e.affectsConfiguration("git.timeline.showUncommitted"))&&this.fireChanged()}onRepositoriesChanged(e){this.ensureProviderRegistration(),this.fireChanged()}onRepositoryChanged(e,t){this.fireChanged()}onRepositoryStatusChanged(e){Mt.workspace.getConfiguration("git.timeline").get("showUncommitted")===!0&&this.fireChanged()}onRepositoryOperationRun(e,t){!t.error&&!t.operation.readOnly&&t.operation.kind!=="Status"&&(this.repoOperationDate=new Date,this.fireChanged())}fireChanged(){this._onDidChange.fire(void 0)}};D([qn(500)],gd.prototype,"fireChanged",1);async function ip(i={}){return $s.getAPI().pickRemoteSource(i)}async function NR(i){return $s.getAPI().getRemoteSourceActions(i)}var bd=class{get description(){return""}get alwaysShow(){return!0}},op=class extends bd{get label(){return d.l10n.t("{0} Create new branch...","$(plus)")}},Jv=class extends bd{get label(){return d.l10n.t("{0} Create new branch from...","$(plus)")}},qv=class extends bd{get label(){return d.l10n.t("{0} Checkout detached...","$(debug-disconnect)")}},ap=class{constructor(e){this.refType=e}refType;get kind(){return d.QuickPickItemKind.Separator}get label(){switch(this.refType){case de.Head:return d.l10n.t("branches");case de.RemoteHead:return d.l10n.t("remote branches");case de.Tag:return d.l10n.t("tags");default:return""}}},an=class{constructor(e,t){this.ref=e;this.shortCommitLength=t}ref;shortCommitLength;get label(){switch(this.ref.type){case de.Head:return`$(git-branch) ${this.ref.name??this.shortCommit}`;case de.RemoteHead:return`$(cloud) ${this.ref.name??this.shortCommit}`;case de.Tag:return`$(tag) ${this.ref.name??this.shortCommit}`;default:return""}}get description(){if(this.ref.commitDetails?.commitDate)return Ho(this.ref.commitDetails.commitDate,!0,!0);switch(this.ref.type){case de.Head:return this.shortCommit;case de.RemoteHead:return d.l10n.t("Remote branch at {0}",this.shortCommit);case de.Tag:return d.l10n.t("Tag at {0}",this.shortCommit);default:return""}}get detail(){if(this.ref.commitDetails?.authorName&&this.ref.commitDetails?.message)return`${this.ref.commitDetails.authorName}$(circle-small-filled)${this.shortCommit}$(circle-small-filled)${this.ref.commitDetails.message}`}get refId(){switch(this.ref.type){case de.Head:return`refs/heads/${this.ref.name}`;case de.RemoteHead:return`refs/remotes/${this.ref.name}`;case de.Tag:return`refs/tags/${this.ref.name}`;default:throw new Error("Unknown ref type")}}get refName(){return this.ref.name}get refRemote(){return this.ref.remote}get shortCommit(){return(this.ref.commit||"").substring(0,this.shortCommitLength)}get commitMessage(){return this.ref.commitDetails?.message}_buttons;get buttons(){return this._buttons}set buttons(e){this._buttons=e}},Si=class extends an{constructor(t,r){super(t,r);this.ref=t}ref;get description(){let t=[];return typeof this.ref.behind=="number"&&typeof this.ref.ahead=="number"&&t.push(`${this.ref.behind}\u2193 ${this.ref.ahead}\u2191`),this.ref.commitDetails?.commitDate&&t.push(Ho(this.ref.commitDetails.commitDate,!0,!0)),t.length>0?t.join("$(circle-small-filled)"):this.shortCommit}},sp=class extends Si{async run(e,t){if(!this.ref.name)return;let n=d.workspace.getConfiguration("git",d.Uri.file(e.root)).get("pullBeforeCheckout",!1)===!0,o=t?.detached?this.ref.commit??this.ref.name:this.ref.name;await e.checkout(o,{...t,pullBeforeCheckout:n})}},Qv=class extends sp{get label(){return`$(lock) ${this.ref.name??this.shortCommit}`}},Xv=class extends an{async run(e,t){if(!this.ref.name)return;if(t?.detached){await e.checkout(this.ref.commit??this.ref.name,t);return}let r=await e.findTrackingBranches(this.ref.name);r.length>0?await e.checkout(r[0].name,t):await e.checkoutTracking(this.ref.name,t)}},Zv=class extends an{async run(e,t){this.ref.name&&await e.checkout(this.ref.name,t)}},yd=class extends Si{async run(e,t){if(this.ref.type===de.Head&&this.refName)await e.deleteBranch(this.refName,t);else if(this.ref.type===de.RemoteHead&&this.refRemote&&this.refName){let r=this.refName.substring(this.refRemote.length+1);await e.deleteRemoteRef(this.refRemote,r,{force:t})}}},cp=class extends an{async run(e){this.ref.name&&await e.deleteTag(this.ref.name)}},lp=class extends an{get description(){return d.l10n.t("Remote tag at {0}",this.shortCommit)}async run(e,t){this.ref.name&&await e.deleteRemoteRef(t,this.ref.name)}},Cd=class{constructor(e){this.worktree=e}worktree;get label(){return`$(list-tree) ${this.worktree.name}`}get description(){return this.worktree.path}},up=class extends Cd{constructor(t,r){super(t);this.shortCommitLength=r}shortCommitLength;get description(){if(this.worktree.commitDetails)return gl([this.worktree.detached?d.l10n.t("detached"):this.worktree.ref.substring(11),this.worktree.commitDetails.hash.substring(0,this.shortCommitLength),this.worktree.commitDetails.message.split(`
`)[0]]).join(" \u2022 ")}get detail(){return this.worktree.path}async run(t){this.worktree.path&&await t.deleteWorktree(this.worktree.path)}},xl=class extends Si{async run(e){(this.ref.name||this.ref.commit)&&await e.merge(this.ref.name??this.ref.commit)}},Pl=class extends Si{async run(e){this.ref?.name&&await e.rebase(this.ref.name)}},e_=class extends Pl{get description(){return"(upstream)"}},t_=class{constructor(e,t){this.repository=e;this.shortCommitLength=t}repository;shortCommitLength;get label(){return"HEAD"}get description(){return(this.repository.HEAD?.commit??"").substring(0,this.shortCommitLength)}get alwaysShow(){return!0}get refName(){return"HEAD"}},dp=class{constructor(e){this.cc=e}cc;get label(){return"$(plus) "+d.l10n.t("Add a new remote...")}get description(){return""}get alwaysShow(){return!0}async run(e){await this.cc.addRemote(e)}},vd=class{constructor(e,t){this.repository=e;this.remote=t}repository;remote;get label(){return`$(cloud) ${this.remote.name}`}get description(){return this.remote.fetchUrl}get remoteName(){return this.remote.name}async run(){await this.repository.fetch({remote:this.remote.name})}},r_=class{constructor(e){this.repository=e}repository;get label(){return d.l10n.t("{0} Fetch all remotes","$(cloud-download)")}async run(){await this.repository.fetch({all:!0})}},_d=class{constructor(e){this.path=e}path;get label(){return`$(repo) ${o_(this.path)}`}get description(){return this.path}},fp=class{constructor(e){this.stash=e}stash;get label(){return`#${this.stash.index}: ${this.stash.description}`}get description(){return ID(this.stash)}},LR=[];function k(i,e={}){return(t,r,n)=>{if(typeof n.value!="function")throw new Error("not supported");LR.push({commandId:i,key:String(r),method:n.value,options:e})}}async function OR(i){let t=i.filter(f=>f instanceof ze).filter(f=>f.resourceGroupType===0),r=f=>f.type===w.BOTH_MODIFIED||f.type===w.BOTH_ADDED,n=f=>f.type===w.DELETED_BY_THEM||f.type===w.DELETED_BY_US,o=t.filter(r),a=o.map(f=>SD(f.resourceUri.fsPath,/^<{7}\s|^={7}$|^>{7}\s/)),s=await Promise.all(a),c=o.filter((f,m)=>!s[m]),l=t.filter(f=>n(f)),u=[...t.filter(f=>!r(f)&&!n(f)),...o.filter((f,m)=>s[m])];return{merge:t,resolved:c,unresolved:u,deletionConflicts:l}}async function RN(i,e=!1){let t=d.workspace.getConfiguration("git"),r=t.get("checkoutType"),n=t.get("showReferenceDetails")===!0,o;r==="all"||!r||r.length===0?o=["local","remote","tags"]:typeof r=="string"?o=[r]:o=r,e&&(o=o.filter(u=>u!=="tags"));let a=await i.getRefs({includeCommitDetails:n}),s=o.map(u=>xN(i,u)).filter(u=>!!u),c=await SN(i);return new n_(i,s,c,e).processRefs(a)}async function SN(i){let e=new Map,t=async r=>(await NR(r)).map(n=>({iconPath:new d.ThemeIcon(n.icon),tooltip:n.label,actual:n}));for(let r of i.remotes){if(r.fetchUrl){let n=e.get(r.fetchUrl)??[];n.push(...await t(r.fetchUrl)),e.set(r.fetchUrl,n)}if(r.pushUrl&&r.pushUrl!==r.fetchUrl){let n=e.get(r.pushUrl)??[];n.push(...await t(r.pushUrl)),e.set(r.pushUrl,n)}}return e}var Lt=class{constructor(e,t=an){this.type=e;this.ctor=t}type;ctor;refs=[];processRef(e){return!e.name&&!e.commit||e.type!==this.type?!1:(this.refs.push(e),!0)}getItems(e){let t=this.refs.map(r=>new this.ctor(r,e));return t.length===0?t:[new ap(this.type),...t]}},Zn=class{constructor(e,t,r={}){this.repository=e;this.processors=t;this.options=r;let n=d.workspace.getConfiguration("git",d.Uri.file(e.root));this.shortCommitLength=n.get("commitShortHashLength",7)}repository;processors;options;shortCommitLength;processRefs(e){let t=this.getRefsToSkip();for(let n of e)if(!(n.name&&t.includes(n.name))){for(let o of this.processors)if(o.processRef(n))break}let r=[];for(let n of this.processors)r.push(...n.getItems(this.shortCommitLength));return r}getRefsToSkip(){let e=["origin/HEAD"];return this.options.skipCurrentBranch&&this.repository.HEAD?.name&&e.push(this.repository.HEAD.name),this.options.skipCurrentBranchRemote&&this.repository.HEAD?.upstream&&e.push(`${this.repository.HEAD.upstream.remote}/${this.repository.HEAD.upstream.name}`),e}},i_=class extends Lt{constructor(t){super(de.Head);this.repository=t}repository;getItems(t){let r=this.refs.map(n=>this.repository.isBranchProtected(n)?new Qv(n,t):new sp(n,t));return r.length===0?r:[new ap(this.type),...r]}},n_=class extends Zn{constructor(t,r,n,o=!1){super(t,r);this.buttons=n;this.detached=o;let a=t.remotes.find(c=>c.pushUrl===t.HEAD?.remote||c.fetchUrl===t.HEAD?.remote)??t.remotes[0],s=a?.pushUrl??a?.fetchUrl;s&&(this.defaultButtons=n.get(s))}buttons;detached;defaultButtons;processRefs(t){for(let n of t)if(!(!this.detached&&n.name==="origin/HEAD")){for(let o of this.processors)if(o.processRef(n))break}let r=[];for(let n of this.processors)for(let o of n.getItems(this.shortCommitLength)){if(!(o instanceof an)){r.push(o);continue}if(o.refRemote){let a=this.repository.remotes.find(c=>c.name===o.refRemote),s=[];a?.pushUrl&&s.push(...this.buttons.get(a.pushUrl)??[]),a?.fetchUrl&&a.fetchUrl!==a.pushUrl&&s.push(...this.buttons.get(a.fetchUrl)??[]),s.length&&(o.buttons=s)}else o.buttons=this.defaultButtons;r.push(o)}return r}};function xN(i,e){switch(e){case"local":return new i_(i);case"remote":return new Lt(de.RemoteHead,Xv);case"tags":return new Lt(de.Tag,Zv);default:return}}function o_(i){let e=d.workspace.getWorkspaceFolder(d.Uri.file(i));return e?.uri.toString()===i?e.name:ot.basename(i)}function zv(i,e){return o_(i).localeCompare(o_(e))}function np(i,e){return i&&i.trim().replace(/^-+/,"").replace(/^\.|\/\.|\.\.|~|\^|:|\/$|\.lock$|\.lock\/|\\|\*|\s|^\s*$|\.$|\[|\]$/g,e)}function MR(i){return i=i.trim(),i&&i.replace(/^\.|\/\.|\.\.|~|\^|:|\/$|\.lock$|\.lock\/|\\|\*|\s|^\s*$|\.$|\[|\]$/g,"-")}var a_=class{items=new Map;set(e,t){this.items.set(e.path,t)}delete(e){this.items.delete(e.path)}provideTextDocumentContent(e){return this.items.get(e.path)}};async function PN(i,e,t){let r=d.workspace.getConfiguration("git",d.Uri.file(i.root)),n=r.get("diagnosticsCommitHook.enabled",!1)===!0,o=r.get("diagnosticsCommitHook.sources",{"*":"error"});if(t.trace(`[CommandCenter][evaluateDiagnosticsCommitHook] Diagnostics Commit Hook: enabled=${n}, sources=${JSON.stringify(o)}`),!n)return!0;let a=[];i.indexGroup.resourceStates.length>0?a.push(...i.indexGroup.resourceStates.map(m=>m.resourceUri)):e.all==="tracked"?a.push(...i.workingTreeGroup.resourceStates.filter(m=>m.type!==w.UNTRACKED&&m.type!==w.IGNORED).map(m=>m.resourceUri)):(a.push(...i.workingTreeGroup.resourceStates.map(m=>m.resourceUri)),a.push(...i.untrackedGroup.resourceStates.map(m=>m.resourceUri)));let s=new Map;for(let m of a){let h=d.languages.getDiagnostics(m).filter(p=>(t.trace(`[CommandCenter][evaluateDiagnosticsCommitHook] Evaluating diagnostic for ${m.fsPath}: source='${p.source}', severity='${p.severity}'`),!p.source||Object.keys(o).includes(p.source)&&o[p.source]==="none"?(t.trace(`[CommandCenter][evaluateDiagnosticsCommitHook] Ignoring diagnostic for ${m.fsPath}: source='${p.source}', severity='${p.severity}'`),!1):Object.keys(o).includes(p.source)&&p.severity<=nv(o[p.source])?(t.trace(`[CommandCenter][evaluateDiagnosticsCommitHook] Found unresolved diagnostic for ${m.fsPath}: source='${p.source}', severity='${p.severity}'`),!0):Object.keys(o).includes("*")&&p.severity<=nv(o["*"])?(t.trace(`[CommandCenter][evaluateDiagnosticsCommitHook] Found unresolved diagnostic for ${m.fsPath}: source='${p.source}', severity='${p.severity}'`),!0):(t.trace(`[CommandCenter][evaluateDiagnosticsCommitHook] Ignoring diagnostic for ${m.fsPath}: source='${p.source}', severity='${p.severity}'`),!1)));h.length>0&&s.set(m,h.length)}if(s.size===0)return!0;let c=d.l10n.t("Commit Anyway"),l=d.l10n.t("View Problems"),u=s.size===1?d.l10n.t(`The following file has unresolved diagnostics: '{0}'.
How would you like to proceed?`,ot.basename(s.keys().next().value.fsPath)):d.l10n.t(`There are {0} files that have unresolved diagnostics.
How would you like to proceed?`,s.size),f=await d.window.showWarningMessage(u,{modal:!0},c,l);return f===c?!0:(f===l&&d.commands.executeCommand("workbench.panel.markers.view.focus"),!1)}var A=class{constructor(e,t,r,n,o,a){this.git=e;this.model=t;this.globalState=r;this.logger=n;this.telemetryReporter=o;this.cloneManager=a;this.disposables=LR.map(({commandId:s,key:c,method:l,options:u})=>{let f=this.createCommand(s,c,l,u);return d.commands.registerCommand(s,f)}),this.disposables.push(d.workspace.registerTextDocumentContentProvider("git-output",this.commandErrors))}git;model;globalState;logger;telemetryReporter;cloneManager;disposables;commandErrors=new a_;showOutput(){this.logger.show()}async refresh(e){await e.refresh()}async openResource(e){this.model.getRepository(e.resourceUri)&&await e.open()}async openChanges(e){for(let t of[...e.workingTreeGroup.resourceStates,...e.untrackedGroup.resourceStates])t.type===w.DELETED||t.type===w.DELETED_BY_THEM||t.type===w.DELETED_BY_US||t.type===w.BOTH_DELETED||d.commands.executeCommand("vscode.open",t.resourceUri,{background:!0,preview:!1})}async openMergeEditor(e){if(e===void 0&&d.window.tabGroups.activeTabGroup.activeTab?.input instanceof d.TabInputText&&(e=d.window.tabGroups.activeTabGroup.activeTab.input.uri),!(e instanceof d.Uri))return;let t=this.model.getRepository(e);if(!t)return;let r=!!t.rebaseCommit,n=Ev(e),o=!1;try{let u=await d.workspace.openTextDocument(e);o=l(u)?.incomingChangeLabel==="Stashed changes"}catch(u){console.error(u)}let a={uri:n.ours,title:d.l10n.t("Current")},s={uri:n.theirs,title:d.l10n.t("Incoming")};o&&(s.title=d.l10n.t("Stashed Changes"));try{let[u,f,m,h]=await Promise.all([t.getCommit("HEAD"),r?t.getCommit("REBASE_HEAD"):t.getCommit("MERGE_HEAD"),await t.diffBetween(r?"REBASE_HEAD":"MERGE_HEAD","HEAD"),await t.diffBetween("HEAD",r?"REBASE_HEAD":"MERGE_HEAD")]),p=m?.find(b=>b.uri.fsPath===e.fsPath),_=h?.find(b=>b.uri.fsPath===e.fsPath);a.detail=u.refNames.map(b=>b.replace(/^HEAD ->/,"")).join(", "),a.description="$(git-commit) "+u.hash.substring(0,7),_?a.uri=je(_.originalUri,u.hash):a.uri=je(e,u.hash),s.detail=f.refNames.join(", "),s.description="$(git-commit) "+f.hash.substring(0,7),p?s.uri=je(p.originalUri,f.hash):s.uri=je(e,f.hash)}catch(u){console.error("FAILED to read HEAD, MERGE_HEAD commits"),console.error(u)}let c={base:n.base,input1:r?a:s,input2:r?s:a,output:e};await d.commands.executeCommand("_open.mergeEditor",c);function l(u){let f="<<<<<<<",m=">>>>>>>",h=!1,p="",_="",b=!1;for(let S=0;S<u.lineCount;S++){let E=u.lineAt(S).text;if(!h)E.startsWith(f)&&(p=E.substring(f.length).trim(),h=!0,b=!0);else if(E.startsWith(m)){_=E.substring(f.length).trim(),h=!1;break}}if(b)return{currentChangeLabel:p,incomingChangeLabel:_}}}getRepositoriesWithRemote(e){return e.reduce((t,r)=>{let n=r.remotes.find(o=>o.name===r.HEAD?.upstream?.remote);return n?.pushUrl&&t.push({repository:r,label:n.pushUrl}),t},[])}async continueInLocalClone(){if(this.model.repositories.length===0)return;let e=this.getRepositoriesWithRemote(this.model.repositories);if(e.length===0){let o=this.model.repositories.length===1?{repository:this.model.repositories[0]}:await d.window.showQuickPick(this.model.repositories.map(a=>({repository:a,label:a.root})),{canPickMany:!1,placeHolder:d.l10n.t("Choose which repository to publish")});if(!o||(await this.publish(o.repository),e=this.getRepositoriesWithRemote([o.repository]),e.length===0))return}let t=e[0];if(e.length>1){let o=await d.window.showQuickPick(e,{canPickMany:!1,placeHolder:d.l10n.t("Choose which repository to clone")});if(o===void 0)return;t=o}let r=t.label,n=t.repository.HEAD?.upstream?.name;if(r!==void 0){let o=`${d.env.uriScheme}://vscode.git/clone?url=${encodeURIComponent(r)}`,a=d.env.uiKind===d.UIKind.Web,s=d.env.remoteName!==void 0;if(a||s){if(n!==void 0&&(o+=`&ref=${encodeURIComponent(n)}`),a)return d.Uri.parse(o);if(s)return o+="&windowId=_blank",d.Uri.parse(o)}this.clone(r,void 0,{ref:n})}}async clone(e,t,r){return this.cloneManager.clone(e,{parentPath:t,...r})}async cloneRecursive(e,t){await this.cloneManager.clone(e,{parentPath:t,recursive:!0})}async cloneRepository(e,t,r){let n={location:d.ProgressLocation.Notification,title:d.l10n.t('Cloning git repository "{0}"...',e),cancellable:!0},o=ot.dirname(t),a=ot.basename(t);await d.window.withProgress(n,(s,c)=>this.model.git.clone(e,{parentPath:o,targetName:a,progress:s,ref:r},c))}async checkoutRepository(e,t,r){let n=await this.git.getRepositoryDotGit(e);await new Dn(this.git,e,void 0,n,this.logger).checkout(t,[],r?{detached:!0}:{})}async pullRepository(e){let t=await this.git.getRepositoryDotGit(e);return new Dn(this.git,e,void 0,t,this.logger).pull()}async fetchRepository(e){let t=await this.git.getRepositoryDotGit(e);await new Dn(this.git,e,void 0,t,this.logger).fetch()}async revParse(e,t){let r=await this.git.getRepositoryDotGit(e);return(await new Dn(this.git,e,void 0,r,this.logger).exec(["rev-parse",t])).stdout.trim()}async revListCount(e,t,r){let n=await this.git.getRepositoryDotGit(e),a=await new Dn(this.git,e,void 0,n,this.logger).exec(["rev-list","--count",`${t}..${r}`]);return Number(a.stdout.trim())||0}async revParseAbbrevRef(e){let t=await this.git.getRepositoryDotGit(e);return(await new Dn(this.git,e,void 0,t,this.logger).exec(["rev-parse","--abbrev-ref","HEAD"])).stdout.trim()}async mergeBranch(e,t){let r=await this.git.getRepositoryDotGit(e);return(await new Dn(this.git,e,void 0,r,this.logger).exec(["merge",t,"--no-edit"])).stdout.trim()}async init(e=!1){let t,r=!0;if(d.workspace.workspaceFolders)if(e&&d.workspace.workspaceFolders.length===1)t=d.workspace.workspaceFolders[0].uri.fsPath,r=!1;else{let p=d.l10n.t("Pick workspace folder to initialize git repo in"),_={label:d.l10n.t("Choose Folder...")},b=[...d.workspace.workspaceFolders.map(E=>({label:E.name,description:E.uri.fsPath,folder:E})),_],S=await d.window.showQuickPick(b,{placeHolder:p,ignoreFocusOut:!0});if(S)S.folder&&(t=S.folder.uri.fsPath,r=!1);else return}if(!t){let p=d.Uri.file(Vv.homedir()),_=d.workspace.workspaceFolders&&d.workspace.workspaceFolders.length>0?d.Uri.file(d.workspace.workspaceFolders[0].uri.fsPath):p,b=await d.window.showOpenDialog({canSelectFiles:!1,canSelectFolders:!0,canSelectMany:!1,defaultUri:_,openLabel:d.l10n.t("Initialize Repository")});if(!b||b.length===0)return;let S=b[0];if(p.toString().startsWith(S.toString())){let E=d.l10n.t("Initialize Repository");if(await d.window.showWarningMessage(d.l10n.t('This will create a Git repository in "{0}". Are you sure you want to continue?',S.fsPath),E)!==E)return}t=S.fsPath,d.workspace.workspaceFolders&&d.workspace.workspaceFolders.some(E=>E.uri.toString()===S.toString())&&(r=!1)}let n=d.workspace.getConfiguration("git"),o=n.get("defaultBranchName","main"),a=n.get("branchWhitespaceChar","-");await this.git.init(t,{defaultBranch:np(o,a)});let s=d.l10n.t("Would you like to open the initialized repository?"),c=d.l10n.t("Open"),l=d.l10n.t("Open in New Window"),u=[c,l];if(!r){await this.model.openRepository(t);return}let f=d.l10n.t("Add to Workspace");d.workspace.workspaceFolders&&(s=d.l10n.t("Would you like to open the initialized repository, or add it to the current workspace?"),u.push(f));let m=await d.window.showInformationMessage(s,...u),h=d.Uri.file(t);m===c?d.commands.executeCommand("vscode.openFolder",h):m===f?d.workspace.updateWorkspaceFolders(d.workspace.workspaceFolders.length,0,{uri:h}):m===l?d.commands.executeCommand("vscode.openFolder",h,!0):await this.model.openRepository(t)}async openRepository(e){if(!e){let t=await d.window.showOpenDialog({canSelectFiles:!1,canSelectFolders:!0,canSelectMany:!1,defaultUri:d.Uri.file(Vv.homedir()),openLabel:d.l10n.t("Open Repository")});if(!t||t.length===0)return;e=t[0].fsPath}await this.model.openRepository(e,!0,!0)}async reopenClosedRepositories(){if(this.model.closedRepositories.length===0)return;let e=[],t=d.l10n.t("Reopen Closed Repositories"),r=d.l10n.t("Pick a repository to reopen"),o={label:d.l10n.t("All Repositories")},a=this.model.closedRepositories.sort(zv).map(l=>new _d(l)),s=this.model.closedRepositories.length===1?[...a]:[...a,{label:"",kind:d.QuickPickItemKind.Separator},o],c=await d.window.showQuickPick(s,{title:t,placeHolder:r});if(c){c===o?e.push(...this.model.closedRepositories.values()):e.push(c.path);for(let l of e)await this.model.openRepository(l,!0,!0)}}async close(e,...t){let r=t.map(n=>this.model.getRepository(n)).filter(iv);for(let n of[e,...r])this.model.close(n)}async closeOtherRepositories(e,...t){let r=t.map(o=>this.model.getRepository(o)).filter(iv),n=[e,...r];for(let o of this.model.repositories)n.includes(o)||this.model.close(o)}async openFile(e,...t){let r=e instanceof ze,n;if(e instanceof d.Uri)Rn(e)?n=[d.Uri.file(kr(e).path)]:e.scheme==="file"&&(n=[e]);else{let l=e;l instanceof ze||(l=this.getSCMResource()),l?n=[l,...t].filter(u=>u.type!==w.DELETED&&u.type!==w.INDEX_DELETED).map(u=>u.resourceUri):d.window.activeTextEditor&&(n=[d.window.activeTextEditor.document.uri])}if(!n)return;let o=d.window.activeTextEditor,a=o?.visibleRanges,s=o?.document.uri,c=o?.selection;for(let l of n){let u={preserveFocus:r,preview:!1,viewColumn:d.ViewColumn.Active};await d.commands.executeCommand("vscode.open",l,{...u,override:e instanceof ze&&e.type===w.BOTH_MODIFIED?!1:void 0});let f=d.window.activeTextEditor?.document;if(!(f?.uri.toString()!==l.toString()||!o||!s||!c)&&s.path===l.path&&f){u.selection=c;let m=await d.window.showTextDocument(f,u);if(a&&a.length>0){let h=a[0];c&&a.length>1&&(h=a.find(p=>p.intersection(c))??h),m.revealRange(h)}}}}async openFile2(e,...t){this.openFile(e,...t)}async openHEADFile(e){let t,r=!(e instanceof ze);if(e instanceof ze?t=e:e instanceof d.Uri?t=this.getSCMResource(e):t=this.getSCMResource(),!t)return;let n=t.leftUri,a=`${ot.basename(t.resourceUri.fsPath)} (HEAD)`;if(!n){d.window.showWarningMessage(d.l10n.t('HEAD version of "{0}" is not available.',ot.basename(t.resourceUri.fsPath)));return}let s={preview:r};return await d.commands.executeCommand("vscode.open",n,s,a)}async openChange(e,...t){let r;if(e instanceof d.Uri){let n=this.getSCMResource(e);n!==void 0&&(r=[n])}else{let n;e instanceof ze?n=e:n=this.getSCMResource(),n&&(r=[...t,n])}if(r)for(let n of r)await n.openChange()}async compareWithWorkspace(e){e&&await e.compareWithWorkspace()}async rename(e,t){if(t=t??d.window.activeTextEditor?.document.uri,!t)return;let r=yl(e.root,t.fsPath),n=await d.window.showInputBox({value:r,valueSelection:[r.length-ot.basename(r).length,r.length]});n=n?.trim(),n&&(await e.move(r,n),await d.commands.executeCommand("workbench.action.closeActiveEditor"),await d.commands.executeCommand("vscode.open",d.Uri.file(ot.join(e.root,n)),{viewColumn:d.ViewColumn.Active}))}async delete(e){let t=d.window.activeTextEditor?.document;if(e=e??t?.uri,!e)return;let r=this.model.getRepository(e);if(!r)return;let n=[...r.workingTreeGroup.resourceStates,...r.indexGroup.resourceStates,...r.mergeGroup.resourceStates,...r.untrackedGroup.resourceStates],o=e.toString();if(n.some(a=>et(a.resourceUri.toString(),o))){d.window.showInformationMessage(d.l10n.t("Git: Delete can only be performed on committed files without uncommitted changes."));return}await r.rm([e]),t&&!t.isDirty&&et(t.uri.toString(),o)&&await d.commands.executeCommand("workbench.action.closeActiveEditor")}async stage(...e){if(this.logger.debug(`[CommandCenter][stage] git.stage ${e.length} `),e=e.filter(u=>!!u),e.length===0||e[0]&&!(e[0].resourceUri instanceof d.Uri)){let u=this.getSCMResource();if(this.logger.debug(`[CommandCenter][stage] git.stage.getSCMResource ${u?u.resourceUri.toString():null} `),!u)return;e=[u]}let t=e.filter(u=>u instanceof ze),{resolved:r,unresolved:n,deletionConflicts:o}=await OR(t);if(n.length>0){let u=n.length>1?d.l10n.t("Are you sure you want to stage {0} files with merge conflicts?",n.length):d.l10n.t("Are you sure you want to stage {0} with merge conflicts?",ot.basename(n[0].resourceUri.fsPath)),f=d.l10n.t("Yes");if(await d.window.showWarningMessage(u,{modal:!0},f)!==f)return}try{await this.runByRepository(o.map(u=>u.resourceUri),async(u,f)=>{for(let m of f)await this._stageDeletionConflict(u,m)})}catch(u){if(/Cancelled/.test(u.message))return;throw u}let a=t.filter(u=>u.resourceGroupType===2),s=t.filter(u=>u.resourceGroupType===3),c=[...a,...s,...r,...n];if(this.logger.debug(`[CommandCenter][stage] git.stage.scmResources ${c.length} `),!c.length)return;let l=c.map(u=>u.resourceUri);await this.runByRepository(l,async(u,f)=>u.add(f))}async stageAll(e){let r=[...e.workingTreeGroup.resourceStates,...e.untrackedGroup.resourceStates].map(n=>n.resourceUri);if(r.length>0){let o=d.workspace.getConfiguration("git",d.Uri.file(e.root)).get("untrackedChanges");await e.add(r,o==="mixed"?void 0:{update:!0})}}async _stageDeletionConflict(e,t){let r=t.toString(),n=e.mergeGroup.resourceStates.filter(o=>o.resourceUri.toString()===r)[0];if(n){if(n.type===w.DELETED_BY_THEM){let o=d.l10n.t("Keep Our Version"),a=d.l10n.t("Delete File"),s=await d.window.showInformationMessage(d.l10n.t(`File "{0}" was deleted by them and modified by us.
What would you like to do?`,ot.basename(t.fsPath)),{modal:!0},o,a);if(s===o)await e.add([t]);else if(s===a)await e.rm([t]);else throw new Error("Cancelled")}else if(n.type===w.DELETED_BY_US){let o=d.l10n.t("Keep Their Version"),a=d.l10n.t("Delete File"),s=await d.window.showInformationMessage(d.l10n.t(`File "{0}" was deleted by us and modified by them.
What would you like to do?`,ot.basename(t.fsPath)),{modal:!0},o,a);if(s===o)await e.add([t]);else if(s===a)await e.rm([t]);else throw new Error("Cancelled")}}}async stageAllTracked(e){let r=e.workingTreeGroup.resourceStates.filter(n=>n.type!==w.UNTRACKED&&n.type!==w.IGNORED).map(n=>n.resourceUri);await e.add(r)}async stageAllUntracked(e){let r=[...e.workingTreeGroup.resourceStates,...e.untrackedGroup.resourceStates].filter(n=>n.type===w.UNTRACKED||n.type===w.IGNORED).map(n=>n.resourceUri);await e.add(r)}async stageAllMerge(e){let t=e.mergeGroup.resourceStates.filter(s=>s instanceof ze),{merge:r,unresolved:n,deletionConflicts:o}=await OR(t);try{for(let s of o)await this._stageDeletionConflict(e,s.resourceUri)}catch(s){if(/Cancelled/.test(s.message))return;throw s}if(n.length>0){let s=n.length>1?d.l10n.t("Are you sure you want to stage {0} files with merge conflicts?",r.length):d.l10n.t("Are you sure you want to stage {0} with merge conflicts?",ot.basename(r[0].resourceUri.fsPath)),c=d.l10n.t("Yes");if(await d.window.showWarningMessage(s,{modal:!0},c)!==c)return}let a=t.map(s=>s.resourceUri);a.length>0&&await e.add(a)}async stageChange(e,t,r){if(!e)return;let n=d.window.visibleTextEditors.filter(a=>a.document.uri.toString()===e.toString())[0];if(!n)return;await this._stageChanges(n,[t[r]]);let o=t[r].modifiedStartLineNumber;n.selections=[new d.Selection(o,0,o,0)]}async diffStageHunk(e){e?this.diffStageHunkOrSelection(e):await this.stageHunkAtCursor()}async diffStageSelection(e){this.diffStageHunkOrSelection(e)}async diffStageHunkOrSelection(e){if(!e)return;let t=e.modifiedUri,r;if(!t){let o=d.window.activeTextEditor;if(!o)return;r=o.document,t=r.uri}if(t.scheme!=="file")return;r||(r=await d.workspace.openTextDocument(t));let n=e.originalWithModifiedChanges;await this.runByRepository(t,async(o,a)=>await o.stage(a,n,r.encoding))}async stageHunkAtCursor(){let e=d.window.activeTextEditor;if(!e)return;let t=qs(e);if(!t)return;let r=Sl(t),n=e.document,o=e.selection.active,a=r.find(s=>tp(n,s).contains(o));if(!a){d.window.showInformationMessage(d.l10n.t("No hunk found at cursor position."));return}await this._stageChanges(e,[a])}async stageSelectedChanges(){let e=d.window.activeTextEditor;if(!e)return;let t=qs(e);if(!t)return;let r=Sl(t);this.logger.trace(`[CommandCenter][stageSelectedChanges] diffInformation: ${JSON.stringify(t)}`),this.logger.trace(`[CommandCenter][stageSelectedChanges] diffInformation changes: ${JSON.stringify(r)}`);let n=e.document,o=$v(e.selections,n),a=r.map(s=>o.reduce((c,l)=>c||Kv(n,s,l),null)).filter(s=>!!s);if(this.logger.trace(`[CommandCenter][stageSelectedChanges] selectedChanges: ${JSON.stringify(a)}`),!a.length){d.window.showInformationMessage(d.l10n.t("The selection range does not contain any changes."));return}await this._stageChanges(e,a)}async stageFile(e){if(e=e??d.window.activeTextEditor?.document.uri,!e)return;let t=this.model.getRepository(e);if(!t)return;let r=[...t.workingTreeGroup.resourceStates,...t.untrackedGroup.resourceStates].filter(n=>n.multiFileDiffEditorModifiedUri?.toString()===e.toString()||n.multiDiffEditorOriginalUri?.toString()===e.toString()).map(n=>n.resourceUri);r.length!==0&&await t.add(r)}async acceptMerge(e){let{activeTab:t}=d.window.tabGroups.activeTabGroup;if(!t||!(t.input instanceof d.TabInputTextMerge))return;let r=t.input.result,n=this.model.getRepository(r);if(!n){console.log(`FAILED to complete merge because uri ${r.toString()} doesn't belong to any repository`);return}(await d.commands.executeCommand("mergeEditor.acceptMerge")).successful&&(await n.add([r]),await d.commands.executeCommand("workbench.view.scm"))}async runGitMergeNoDiff3(){await this.runGitMerge(!1)}async runGitMergeDiff3(){await this.runGitMerge(!0)}async runGitMerge(e){let{activeTab:t}=d.window.tabGroups.activeTabGroup;if(!t)return;let r=t.input;if(!(r instanceof d.TabInputTextMerge))return;let n=await this.git.mergeFile({basePath:r.base.fsPath,input1Path:r.input1.fsPath,input2Path:r.input2.fsPath,diff3:e}),o=d.workspace.textDocuments.find(s=>s.uri.toString()===r.result.toString());if(!o)return;let a=new d.WorkspaceEdit;a.replace(r.result,new d.Range(new d.Position(0,0),new d.Position(o.lineCount,0)),n),await d.workspace.applyEdit(a)}async _stageChanges(e,t){let r=e.document,n=r.uri;if(n.scheme!=="file")return;let o=je(n,"~"),a=await d.workspace.openTextDocument(o),s=hd(a,r,t);await this.runByRepository(n,async(c,l)=>await c.stage(l,s,r.encoding))}async revertChange(e,t,r){if(!e)return;let n=d.window.visibleTextEditors.filter(a=>a.document.uri.toString()===e.toString())[0];if(!n)return;await this._revertChanges(n,[...t.slice(0,r),...t.slice(r+1)]);let o=t[r].modifiedStartLineNumber;n.selections=[new d.Selection(o,0,o,0)]}async revertSelectedRanges(){let e=d.window.activeTextEditor;if(!e)return;let t=qs(e);if(!t)return;let r=Sl(t);this.logger.trace(`[CommandCenter][revertSelectedRanges] diffInformation: ${JSON.stringify(t)}`),this.logger.trace(`[CommandCenter][revertSelectedRanges] diffInformation changes: ${JSON.stringify(r)}`);let n=e.document,o=e.selections,a=r.filter(c=>{let l=tp(n,c);return o.every(u=>!u.intersection(l))});if(a.length===r.length){d.window.showInformationMessage(d.l10n.t("The selection range does not contain any changes."));return}this.logger.trace(`[CommandCenter][revertSelectedRanges] selectedChanges: ${JSON.stringify(a)}`);let s=e.selections;await this._revertChanges(e,a),e.selections=s}async _revertChanges(e,t){let r=e.document,n=r.uri;if(n.scheme!=="file")return;let o=je(n,"~"),a=await d.workspace.openTextDocument(o),s=e.visibleRanges,c=hd(a,r,t),l=new d.WorkspaceEdit;l.replace(n,new d.Range(new d.Position(0,0),r.lineAt(r.lineCount-1).range.end),c),d.workspace.applyEdit(l),await r.save(),e.revealRange(s[0])}async unstage(...e){if(e=e.filter(n=>!!n),e.length===0||e[0]&&!(e[0].resourceUri instanceof d.Uri)){let n=this.getSCMResource();if(!n)return;e=[n]}let t=e.filter(n=>n instanceof ze&&n.resourceGroupType===1);if(!t.length)return;let r=t.map(n=>n.resourceUri);await this.runByRepository(r,async(n,o)=>n.revert(o))}async unstageAll(e){await e.revert([])}async unstageSelectedRanges(){let e=d.window.activeTextEditor;if(!e)return;let t=e.document,r=t.uri,n=this.model.getRepository(r);if(!n)return;let o=n.indexGroup.resourceStates.find(p=>et(p.resourceUri.fsPath,r.fsPath));if(!o)return;let a=kR(e);if(!a)return;let s=Sl(a);this.logger.trace(`[CommandCenter][unstageSelectedRanges] diffInformation: ${JSON.stringify(a)}`),this.logger.trace(`[CommandCenter][unstageSelectedRanges] diffInformation changes: ${JSON.stringify(s)}`);let c=je(o.original,"HEAD"),l=await d.workspace.openTextDocument(c),u=$v(e.selections,t),f=s.map(p=>u.reduce((_,b)=>_||Kv(t,p,b),null)).filter(p=>!!p);if(!f.length){d.window.showInformationMessage(d.l10n.t("The selection range does not contain any changes."));return}this.logger.trace(`[CommandCenter][unstageSelectedRanges] selectedDiffs: ${JSON.stringify(f)}`);let m=f.map(rp);this.logger.trace(`[CommandCenter][unstageSelectedRanges] selectedDiffsInverted: ${JSON.stringify(m)}`);let h=hd(t,l,m);await n.stage(t.uri,h,t.encoding)}async unstageFile(e){if(e=e??d.window.activeTextEditor?.document.uri,!e)return;let t=this.model.getRepository(e);if(!t)return;let r=t.indexGroup.resourceStates.filter(n=>n.multiFileDiffEditorModifiedUri?.toString()===e.toString()||n.multiDiffEditorOriginalUri?.toString()===e.toString()).map(n=>n.resourceUri);r.length!==0&&await t.revert(r)}async unstageChange(e,t,r){if(!e)return;let n=d.window.visibleTextEditors.filter(o=>o.document.uri.toString()===e.toString())[0];n&&await this._unstageChanges(n,[t[r]])}async _unstageChanges(e,t){let r=e.document,n=r.uri;if(n.scheme!=="file")return;let o=qs(e);if(!o)return;let s=Sl(o).map(rp),l=[...t.map(rp),...s].sort(AR),u=je(n,"HEAD"),f=await d.workspace.openTextDocument(u),m=hd(r,f,l);await this.runByRepository(n,async(h,p)=>await h.stage(p,m,r.encoding))}async clean(...e){let t=new Set;if(e=e.filter(n=>n===void 0||t.has(n.resourceUri.toString())?!1:(t.add(n.resourceUri.toString()),!0)),e.length===0||e[0]&&!(e[0].resourceUri instanceof d.Uri)){let n=this.getSCMResource();if(!n)return;e=[n]}let r=e.filter(n=>n instanceof ze&&(n.resourceGroupType===2||n.resourceGroupType===3));r.length&&await this._cleanAll(r)}async cleanAll(e){await this._cleanAll(e.workingTreeGroup.resourceStates)}async cleanAllTracked(e){let t=e.workingTreeGroup.resourceStates.filter(r=>r.type!==w.UNTRACKED&&r.type!==w.IGNORED);t.length!==0&&await this._cleanTrackedChanges(t)}async cleanAllUntracked(e){let t=[...e.workingTreeGroup.resourceStates,...e.untrackedGroup.resourceStates].filter(r=>r.type===w.UNTRACKED||r.type===w.IGNORED);t.length!==0&&await this._cleanUntrackedChanges(t)}async _cleanAll(e){if(e.length===0)return;let t=e.filter(n=>n.type!==w.UNTRACKED&&n.type!==w.IGNORED),r=e.filter(n=>n.type===w.UNTRACKED||n.type===w.IGNORED);if(r.length===0)await this._cleanTrackedChanges(e);else if(t.length===0)await this._cleanUntrackedChanges(e);else{let[n,o]=this.getDiscardUntrackedChangesDialogDetails(r),a=t.length===1?d.l10n.t(`
Are you sure you want to discard changes in '{0}'?`,ot.basename(t[0].resourceUri.fsPath)):d.l10n.t(`
Are you sure you want to discard ALL changes in {0} files?`,t.length),s=t.length===1?d.l10n.t("Discard 1 Tracked File"):d.l10n.t("Discard All {0} Tracked Files",t.length),c=d.l10n.t("Discard All {0} Files",e.length),l=await d.window.showWarningMessage(`${n} ${o}${a}
This is IRREVERSIBLE!
Your current working set will be FOREVER LOST if you proceed.`,{modal:!0},s,c);if(l===s)e=t;else if(l!==c)return;let u=e.map(f=>f.resourceUri);await this.runByRepository(u,async(f,m)=>f.clean(m))}}async _cleanTrackedChanges(e){let t=e.every(s=>s.type===w.DELETED),r=t?e.length===1?d.l10n.t("Are you sure you want to restore '{0}'?",ot.basename(e[0].resourceUri.fsPath)):d.l10n.t("Are you sure you want to restore ALL {0} files?",e.length):e.length===1?d.l10n.t("Are you sure you want to discard changes in '{0}'?",ot.basename(e[0].resourceUri.fsPath)):d.l10n.t(`Are you sure you want to discard ALL changes in {0} files?
This is IRREVERSIBLE!
Your current working set will be FOREVER LOST if you proceed.`,e.length),n=t?e.length===1?d.l10n.t("Restore File"):d.l10n.t("Restore All {0} Files",e.length):e.length===1?d.l10n.t("Discard File"):d.l10n.t("Discard All {0} Files",e.length);if(await d.window.showWarningMessage(r,{modal:!0},n)!==n)return;let a=e.map(s=>s.resourceUri);await this.runByRepository(a,async(s,c)=>s.clean(c))}async _cleanUntrackedChanges(e){let[t,r,n]=this.getDiscardUntrackedChangesDialogDetails(e);if(await d.window.showWarningMessage(t,{detail:r,modal:!0},n)!==n)return;let a=e.map(s=>s.resourceUri);await this.runByRepository(a,async(s,c)=>s.clean(c))}getDiscardUntrackedChangesDialogDetails(e){let r=d.workspace.getConfiguration("git").get("discardUntrackedChangesToTrash",!0)&&!Dm&&!Rm,n=r?"":e.length===1?`
`+d.l10n.t(`This is IRREVERSIBLE!
This file will be FOREVER LOST if you proceed.`):`
`+d.l10n.t(`This is IRREVERSIBLE!
These files will be FOREVER LOST if you proceed.`),o=e.length===1?d.l10n.t("Are you sure you want to DELETE the following untracked file: '{0}'?{1}",ot.basename(e[0].resourceUri.fsPath),n):d.l10n.t("Are you sure you want to DELETE the {0} untracked files?{1}",e.length,n),a=r?Cn?e.length===1?d.l10n.t("You can restore this file from the Recycle Bin."):d.l10n.t("You can restore these files from the Recycle Bin."):e.length===1?d.l10n.t("You can restore this file from the Trash."):d.l10n.t("You can restore these files from the Trash."):"",s=r?Cn?d.l10n.t("Move to Recycle Bin"):d.l10n.t("Move to Trash"):e.length===1?d.l10n.t("Delete File"):d.l10n.t("Delete All {0} Files",e.length);return[o,a,s]}async smartCommit(e,t,r){let n=d.workspace.getConfiguration("git",d.Uri.file(e.root)),o=n.get("promptToSaveFilesBeforeCommit");typeof o=="boolean"&&(o=o?"always":"never");let a=n.get("enableSmartCommit")===!0,s=e.indexGroup.resourceStates.length===0,c=e.workingTreeGroup.resourceStates.length===0;if(!r.empty){if(o!=="never"){let h=d.workspace.textDocuments.filter(p=>!p.isUntitled&&p.isDirty&&nr(e.root,p.uri.fsPath));if((o==="staged"||e.indexGroup.resourceStates.length>0)&&(h=h.filter(p=>e.indexGroup.resourceStates.some(_=>et(_.resourceUri.fsPath,p.uri.fsPath)))),h.length>0){let p=h.length===1?d.l10n.t(`The following file has unsaved changes which won't be included in the commit if you proceed: {0}.
Would you like to save it before committing?`,ot.basename(h[0].uri.fsPath)):d.l10n.t(`There are {0} unsaved files.
Would you like to save them before committing?`,h.length),_=d.l10n.t("Save All & Commit Changes"),b=d.l10n.t("Commit Changes"),S=await d.window.showWarningMessage(p,{modal:!0},_,b);if(S===_)await Promise.all(h.map(E=>E.save())),h=h.filter(E=>e.indexGroup.resourceStates.some(R=>et(R.resourceUri.fsPath,E.uri.fsPath))),await e.add(h.map(E=>E.uri)),s=e.indexGroup.resourceStates.length===0,c=e.workingTreeGroup.resourceStates.length===0;else if(S!==b)return}}if(!c&&s&&!a&&!r.all&&!r.amend){if(!(n.get("suggestSmartCommit")===!0))return;let p=d.l10n.t(`There are no staged changes to commit.
Would you like to stage all your changes and commit them directly?`),_=d.l10n.t("Yes"),b=d.l10n.t("Always"),S=d.l10n.t("Never"),E=await d.window.showWarningMessage(p,{modal:!0},_,b,S);if(E===b)a=!0,n.update("enableSmartCommit",!0,!0);else if(E===S){n.update("suggestSmartCommit",!1,!0);return}else if(E===_)a=!0;else return}a&&!r.all&&(r={...r,all:s})}r.signCommit=n.get("enableCommitSigning")===!0?!0:void 0,n.get("alwaysSignOff")&&(r.signoff=!0),n.get("useEditorAsCommitInput")&&(r.useEditor=!0,n.get("verboseCommit")&&(r.verbose=!0));let l=n.get("smartCommitChanges");if((s&&c||!r.all&&s||s&&l==="tracked"&&e.workingTreeGroup.resourceStates.every(h=>h.type===w.UNTRACKED))&&!r.amend&&!r.empty&&!e.mergeInProgress&&e.rebaseCommit===void 0){let h=d.l10n.t("Create Empty Commit");if(await d.window.showInformationMessage(d.l10n.t("There are no changes to commit."),h)!==h)return;r.empty=!0}if(r.noVerify){if(!n.get("allowNoVerifyCommit")){await d.window.showErrorMessage(d.l10n.t('Commits without verification are not allowed, please enable them with the "git.allowNoVerifyCommit" setting.'));return}if(n.get("confirmNoVerifyCommit")){let h=d.l10n.t(`You are about to commit your changes without verification, this skips pre-commit hooks and can be undesirable.
Are you sure to continue?`),p=d.l10n.t("OK"),_=d.l10n.t("OK, Don't Ask Again"),b=await d.window.showWarningMessage(h,{modal:!0},p,_);if(b===_)n.update("confirmNoVerifyCommit",!1,!0);else if(b!==p)return}}let u=await t();if(!u&&!r.amend&&!r.useEditor||(r.all&&l==="tracked"&&(r.all="tracked"),r.all&&n.get("untrackedChanges")!=="mixed"&&(r.all="tracked"),!await PN(e,r,this.logger)))return;let m=n.get("branchProtectionPrompt");if(e.isBranchProtected()&&(m==="alwaysPrompt"||m==="alwaysCommitToNewBranch")){let h=d.l10n.t("Commit to a New Branch"),p=h;if(m==="alwaysPrompt"){let _=d.l10n.t("You are trying to commit to a protected branch. How would you like to proceed?"),b=d.l10n.t("Commit Anyway");p=await d.window.showWarningMessage(_,{modal:!0},h,b)}if(p){if(p===h){let _=await this.promptForBranchName(e);if(!_)return;await e.branch(_,!0)}}else return}await e.commit(u,r)}async commitWithAnyInput(e,t){let r=e.inputBox.value,n=d.Uri.file(e.root),o=d.workspace.getConfiguration("git",n),a=async()=>{let s=r;if(!s&&!o.get("useEditorAsCommitInput")){if(t&&t.amend&&e.HEAD&&e.HEAD.commit)return;let l=e.headShortName,u;l?u=d.l10n.t('Message (commit on "{0}")',l):u=d.l10n.t("Commit message"),s=await d.window.showInputBox({value:void 0,placeHolder:u,prompt:d.l10n.t("Please provide a commit message"),ignoreFocusOut:!0})}return s};await this.smartCommit(e,a,t)}async commit(e,t){await this.commitWithAnyInput(e,{postCommitCommand:t})}async commitAmend(e){await this.commitWithAnyInput(e,{amend:!0})}async commitSigned(e){await this.commitWithAnyInput(e,{signoff:!0})}async commitStaged(e){await this.commitWithAnyInput(e,{all:!1})}async commitStagedSigned(e){await this.commitWithAnyInput(e,{all:!1,signoff:!0})}async commitStagedAmend(e){await this.commitWithAnyInput(e,{all:!1,amend:!0})}async commitAll(e){await this.commitWithAnyInput(e,{all:!0})}async commitAllSigned(e){await this.commitWithAnyInput(e,{all:!0,signoff:!0})}async commitAllAmend(e){await this.commitWithAnyInput(e,{all:!0,amend:!0})}async commitMessageAccept(e){!e&&!d.window.activeTextEditor||(e??=d.window.activeTextEditor.document.uri,this._closeEditorTab(e))}async commitMessageDiscard(e){if(!e&&!d.window.activeTextEditor)return;e??=d.window.activeTextEditor.document.uri;let t=d.window.visibleTextEditors.filter(s=>s.document.languageId==="git-commit"&&s.document.uri.toString()===e.toString());if(t.length!==1)return;let r=t[0],n=r.document;!await r.edit(s=>{let c=n.lineAt(0),l=n.lineAt(n.lineCount-1);s.delete(new d.Range(c.range.start,l.range.end))})||!await n.save()||this._closeEditorTab(e)}_closeEditorTab(e){let t=d.window.tabGroups.all.map(r=>r.tabs).flat().filter(r=>r.input instanceof d.TabInputText&&r.input.uri.toString()===e.toString());d.window.tabGroups.close(t)}async _commitEmpty(e,t){let r=d.Uri.file(e.root),n=d.workspace.getConfiguration("git",r);if(n.get("confirmEmptyCommits")===!0){let a=d.l10n.t("Are you sure you want to create an empty commit?"),s=d.l10n.t("Yes"),c=d.l10n.t("Yes, Don't Show Again"),l=await d.window.showWarningMessage(a,{modal:!0},s,c);if(l===c)await n.update("confirmEmptyCommits",!1,!0);else if(l!==s)return}await this.commitWithAnyInput(e,{empty:!0,noVerify:t})}async commitEmpty(e){await this._commitEmpty(e)}async commitNoVerify(e){await this.commitWithAnyInput(e,{noVerify:!0})}async commitStagedNoVerify(e){await this.commitWithAnyInput(e,{all:!1,noVerify:!0})}async commitStagedSignedNoVerify(e){await this.commitWithAnyInput(e,{all:!1,signoff:!0,noVerify:!0})}async commitAmendNoVerify(e){await this.commitWithAnyInput(e,{amend:!0,noVerify:!0})}async commitSignedNoVerify(e){await this.commitWithAnyInput(e,{signoff:!0,noVerify:!0})}async commitStagedAmendNoVerify(e){await this.commitWithAnyInput(e,{all:!1,amend:!0,noVerify:!0})}async commitAllNoVerify(e){await this.commitWithAnyInput(e,{all:!0,noVerify:!0})}async commitAllSignedNoVerify(e){await this.commitWithAnyInput(e,{all:!0,signoff:!0,noVerify:!0})}async commitAllAmendNoVerify(e){await this.commitWithAnyInput(e,{all:!0,amend:!0,noVerify:!0})}async commitEmptyNoVerify(e){await this._commitEmpty(e,!0)}async restoreCommitTemplate(e){e.inputBox.value=await e.getCommitTemplate()}async undoCommit(e){let t=e.HEAD;if(!t||!t.commit){d.window.showWarningMessage(d.l10n.t("Can't undo because HEAD doesn't point to any commit."));return}let r=await e.getCommit("HEAD");if(r.parents.length>1){let n=d.l10n.t("Undo merge commit");if(await d.window.showWarningMessage(d.l10n.t("The last commit was a merge commit. Are you sure you want to undo it?"),{modal:!0},n)!==n)return}r.parents.length>0?await e.reset("HEAD~"):(await e.deleteRef("HEAD"),await this.unstageAll(e)),e.inputBox.value=r.message}async checkout(e,t){return this._checkout(e,{treeish:t})}async checkout2(e,t,r){let n=t?.references?.find(c=>c.id===r);if(!n)return;let a=d.workspace.getConfiguration("git",d.Uri.file(e.root)).get("pullBeforeCheckout",!1)===!0;if(n.id.startsWith("refs/heads/")||n.id.startsWith("refs/tags/")){await e.checkout(n.name,{pullBeforeCheckout:a});return}let s=await e.findTrackingBranches(n.name);s.length>0?await e.checkout(s[0].name,{pullBeforeCheckout:a}):await e.checkoutTracking(n.name)}async checkoutDetached(e,t){return this._checkout(e,{detached:!0,treeish:t})}async checkoutDetached2(e,t){return t?this._checkout(e,{detached:!0,treeish:t.id}):!1}async _checkout(e,t){if(typeof t?.treeish=="string")return await e.checkout(t?.treeish,t),!0;let r=new op,n=new Jv,o=new qv,a=[],s=[];t?.detached||s.push(r,n,o);let c=[],l=d.window.createQuickPick();l.busy=!0,l.sortByLabel=!1,l.matchOnDetail=!1,l.placeholder=t?.detached?d.l10n.t("Select a branch to checkout in detached mode"):d.l10n.t("Select a branch or tag to checkout"),l.show(),a.push(...await RN(e,t?.detached));let u=()=>{switch(!0){case l.value==="":l.items=[...s,...a];break;case s.length===0:l.items=a;break;case a.length===0:l.items=s;break;default:l.items=[...a,{label:"",kind:d.QuickPickItemKind.Separator},...s];break}};u(),l.busy=!1;let f=await new Promise(m=>{c.push(l.onDidHide(()=>m(void 0))),c.push(l.onDidAccept(()=>m(l.activeItems[0]))),c.push(l.onDidTriggerItemButton(h=>{let p=h.button,_=h.item;p.actual&&_.refName&&p.actual.run(_.refRemote?_.refName.substring(_.refRemote.length+1):_.refName),m(void 0)})),c.push(l.onDidChangeValue(()=>u()))});if(Le(c),l.dispose(),!f)return!1;if(f===r)await this._branch(e,l.value);else if(f===n)await this._branch(e,l.value,!0);else{if(f===o)return this._checkout(e,{detached:!0});{let m=f;try{await m.run(e,t)}catch(h){if(h.gitErrorCode!==Q.DirtyWorkTree&&h.gitErrorCode!==Q.WorktreeBranchAlreadyUsed)throw h;if(h.gitErrorCode===Q.WorktreeBranchAlreadyUsed){if(!e.dotGit.commonPath)return await this.handleWorktreeBranchAlreadyUsed(h),!1;let E=ot.dirname(e.dotGit.commonPath);if(d.workspace.workspaceFolders&&d.workspace.workspaceFolders.some(R=>et(R.uri.fsPath,E))){let R=this.model.getRepository(E);if(R&&m.refName&&m.refName.replace(`${m.refRemote}/`,"")===R.HEAD?.name){let P=d.l10n.t('Branch "{0}" is already checked out in the current window.',m.refName);return await d.window.showErrorMessage(P,{modal:!0}),!1}}return await this.handleWorktreeBranchAlreadyUsed(h),!1}let p=d.l10n.t("Stash & Checkout"),_=d.l10n.t("Migrate Changes"),b=d.l10n.t("Force Checkout"),S=await d.window.showWarningMessage(d.l10n.t("Your local changes would be overwritten by checkout."),{modal:!0},p,_,b);S===b?(await this.cleanAll(e),await m.run(e,t)):(S===p||S===_)&&await this._stash(e,!0)&&(await m.run(e,t),S===_&&await this.stashPopLatest(e))}}}return!0}async branch(e,t){await this._branch(e,void 0,!1,t?.id)}async branchFrom(e){await this._branch(e,void 0,!0)}async promptForBranchName(e,t,r){let n=d.workspace.getConfiguration("git"),o=n.get("branchPrefix"),a=n.get("branchWhitespaceChar"),s=n.get("branchValidationRegex"),c=n.get("branchRandomName.enable",!1),l=await e.getRefs({pattern:"refs/heads"});if(t)return np(t,a);let u=async()=>await e.generateRandomBranchName()??o,f=b=>b.startsWith(o)?[o.length,b.length]:void 0,m=b=>{let S=new RegExp(s),E=np(b,a);return l.find(P=>P.name===E)?d.l10n.t('Branch "{0}" already exists',E):S.test(E)?b===E?void 0:{message:d.l10n.t('The new branch will be "{0}"',E),severity:d.InputBoxValidationSeverity.Info}:d.l10n.t("Branch name needs to match regex: {0}",s)},h=[],p=d.window.createInputBox();p.placeholder=d.l10n.t("Branch name"),p.prompt=d.l10n.t("Please provide a new branch name"),p.buttons=c?[{iconPath:new d.ThemeIcon("refresh"),tooltip:d.l10n.t("Regenerate Branch Name"),location:d.QuickInputButtonLocation.Inline}]:[],p.value=r??await u(),p.valueSelection=f(p.value),p.validationMessage=m(p.value),p.ignoreFocusOut=!0,p.show();let _=await new Promise(b=>{h.push(p.onDidHide(()=>b(void 0))),h.push(p.onDidAccept(()=>b(p.value))),h.push(p.onDidChangeValue(S=>{p.validationMessage=m(S)})),h.push(p.onDidTriggerButton(async()=>{p.value=await u(),p.valueSelection=f(p.value)}))});return Le(h),p.dispose(),np(_||"",a)}async _branch(e,t,r=!1,n){n=n??"HEAD";let o=d.workspace.getConfiguration("git"),a=o.get("showReferenceDetails")===!0,s=o.get("commitShortHashLength")??7;if(r){let l=async()=>{let m=await e.getRefs({includeCommitDetails:a}),h=new Zn(e,[new Lt(de.Head),new Lt(de.RemoteHead),new Lt(de.Tag)]);return[new t_(e,s),...h.processRefs(m)]},u=d.l10n.t("Select a ref to create the branch from"),f=await d.window.showQuickPick(l(),{placeHolder:u});if(!f)return;f instanceof an&&f.refName&&(n=f.refName)}let c=await this.promptForBranchName(e,t);c&&await e.branch(c,!0,n)}async pickRef(e,t){let r=[],n=d.window.createQuickPick();n.placeholder=t,n.sortByLabel=!1,n.busy=!0,n.show(),n.items=await e,n.busy=!1;let o=await new Promise(a=>{r.push(n.onDidHide(()=>a(void 0))),r.push(n.onDidAccept(()=>a(n.activeItems[0])))});return Le(r),n.dispose(),o}async deleteBranch(e,t,r){await this._deleteBranch(e,void 0,t,{remote:!1,force:r})}async deleteBranch2(e,t,r){let n=t?.references?.find(c=>c.id===r);if(!n)return;if(n.id.startsWith("refs/heads/")){if(n.id===e.historyProvider.currentHistoryItemRef?.id){d.window.showInformationMessage(d.l10n.t("The active branch cannot be deleted."));return}await this._deleteBranch(e,void 0,n.name,{remote:!1});return}if(n.id===e.historyProvider.currentHistoryItemRemoteRef?.id){d.window.showInformationMessage(d.l10n.t("The remote branch of the active branch cannot be deleted."));return}let o=n.name.indexOf("/");if(o===-1)return;let a=n.name.substring(0,o),s=n.name.substring(o+1);await this._deleteBranch(e,a,s,{remote:!0})}async compareWithRemote(e,t){!t||!e.historyProvider.currentHistoryItemRemoteRef||await this._openChangesBetweenRefs(e,{id:e.historyProvider.currentHistoryItemRemoteRef.revision,displayId:e.historyProvider.currentHistoryItemRemoteRef.name},{id:t.id,displayId:Pm(t)})}async compareWithMergeBase(e,t){!t||!e.historyProvider.currentHistoryItemBaseRef||await this._openChangesBetweenRefs(e,{id:e.historyProvider.currentHistoryItemBaseRef.revision,displayId:e.historyProvider.currentHistoryItemBaseRef.name},{id:t.id,displayId:Pm(t)})}async compareRef(e,t){if(!e||!t)return;let n=d.workspace.getConfiguration("git").get("showReferenceDetails")===!0,o=async()=>{let c=await e.getRefs({includeCommitDetails:n}),l=[new Lt(de.Head,Si),new Lt(de.RemoteHead,Si),new Lt(de.Tag,Si)];return new Zn(e,l).processRefs(c)},a=d.l10n.t("Select a reference to compare with"),s=await this.pickRef(o(),a);!(s instanceof Si)||!s.ref.commit||await this._openChangesBetweenRefs(e,{id:s.ref.commit,displayId:s.ref.name},{id:t.id,displayId:Pm(t)})}async _openChangesBetweenRefs(e,t,r){if(!(!e||!t.id||!r.id))try{let n=await e.diffBetweenWithStats(t.id,r.id);if(n.length===0){d.window.showInformationMessage(d.l10n.t('There are no changes between "{0}" and "{1}".',t.displayId??t.id,r.displayId??r.id));return}let o=d.Uri.from({scheme:"git-ref-compare",path:`${e.root}/${t.id}..${r.id}`}),a=n.map(s=>Ys(s,t.id,r.id));await d.commands.executeCommand("_workbench.openMultiDiffEditor",{multiDiffSourceUri:o,title:`${t.displayId??t.id} \u2194 ${r.displayId??r.id}`,resources:a})}catch(n){d.window.showErrorMessage(d.l10n.t('Failed to open changes between "{0}" and "{1}": {2}',t.displayId??t.id,r.displayId??r.id,n.message))}}async deleteRemoteBranch(e){await this._deleteBranch(e,void 0,void 0,{remote:!0})}async _deleteBranch(e,t,r,n){let o,s=d.workspace.getConfiguration("git").get("showReferenceDetails")===!0;if(!n.remote&&typeof r=="string")o=c=>e.deleteBranch(r,c);else if(n.remote&&typeof t=="string"&&typeof r=="string")o=c=>e.deleteRemoteRef(t,r,{force:c});else{let c=async()=>{let f=n.remote?"refs/remotes":"refs/heads",m=await e.getRefs({pattern:f,includeCommitDetails:s}),h=n.remote?[new Lt(de.RemoteHead,yd)]:[new Lt(de.Head,yd)];return new Zn(e,h,{skipCurrentBranch:!0,skipCurrentBranchRemote:!0}).processRefs(m)},l=n.remote?d.l10n.t("Select a remote branch to delete"):d.l10n.t("Select a branch to delete"),u=await this.pickRef(c(),l);if(!(u instanceof yd)||!u.refName)return;r=u.refName,o=f=>u.run(e,f)}try{await o(n.force)}catch(c){if(c.gitErrorCode!==Q.BranchNotFullyMerged)throw c;let l=d.l10n.t('The branch "{0}" is not fully merged. Delete anyway?',r),u=d.l10n.t("Delete Branch");await d.window.showWarningMessage(l,{modal:!0},u)===u&&await o(!0)}}async renameBranch(e){let t=e.HEAD&&e.HEAD.name,r=await this.promptForBranchName(e,void 0,t);if(r)try{await e.renameBranch(r)}catch(n){switch(n.gitErrorCode){case Q.InvalidBranchName:d.window.showErrorMessage(d.l10n.t("Invalid branch name"));return;case Q.BranchAlreadyExists:d.window.showErrorMessage(d.l10n.t('A branch named "{0}" already exists',r));return;default:throw n}}}async merge(e){let r=d.workspace.getConfiguration("git").get("showReferenceDetails")===!0,n=async()=>{let s=await e.getRefs({includeCommitDetails:r});return new Zn(e,[new Lt(de.Head,xl),new Lt(de.RemoteHead,xl),new Lt(de.Tag,xl)],{skipCurrentBranch:!0,skipCurrentBranchRemote:!0}).processRefs(s)},o=d.l10n.t("Select a branch or tag to merge from"),a=await this.pickRef(n(),o);a instanceof xl&&await a.run(e)}async abortMerge(e){await e.mergeAbort()}async rebase(e){let t=d.workspace.getConfiguration("git"),r=t.get("showReferenceDetails")===!0,n=t.get("commitShortHashLength")??7,o=async()=>{let c=await e.getRefs({includeCommitDetails:r}),u=new Zn(e,[new Lt(de.Head,Pl),new Lt(de.RemoteHead,Pl)],{skipCurrentBranch:!0,skipCurrentBranchRemote:!0}).processRefs(c);if(e.HEAD?.upstream){let f=c.find(m=>m.type===de.RemoteHead&&m.name===`${e.HEAD.upstream.remote}/${e.HEAD.upstream.name}`);f&&u.splice(0,0,new e_(f,n))}return u},a=d.l10n.t("Select a branch to rebase onto"),s=await this.pickRef(o(),a);s instanceof Pl&&await s.run(e)}async createTag(e,t){await this._createTag(e,t?.id)}async deleteTag(e){let t=d.workspace.getConfiguration("git"),r=t.get("showReferenceDetails")===!0,n=t.get("commitShortHashLength")??7,o=async()=>{let c=await e.getRefs({pattern:"refs/tags",includeCommitDetails:r});return c.length===0?[{label:d.l10n.t("$(info) This repository has no tags.")}]:c.map(l=>new cp(l,n))},a=d.l10n.t("Select a tag to delete"),s=await this.pickRef(o(),a);s instanceof cp&&await s.run(e)}async migrateWorktreeChanges(e){let t,r=await e.getWorktrees();if(r.length===1)t=this.model.getRepository(r[0].path);else{let n=async()=>r.length===0?[{label:d.l10n.t("$(info) This repository has no worktrees.")}]:r.map(s=>new Cd(s)),o=d.l10n.t("Select a worktree to migrate changes from"),a=await this.pickRef(n(),o);if(!a||!(a instanceof Cd))return;t=this.model.getRepository(a.worktree.path)}!t||t.kind!=="worktree"||await e.migrateChanges(t.root,{confirmation:!0,deleteFromSource:!0,untracked:!0})}async openWorktreeMergeEditor(e){let t=Ev(e),r={uri:t.ours,title:d.l10n.t("Workspace")},n={uri:t.theirs,title:d.l10n.t("Worktree")};await d.commands.executeCommand("_open.mergeEditor",{base:t.base,input1:r,input2:n,output:e})}async createWorktree(e){e&&await this._createWorktree(e)}async _createWorktree(e){let r=d.workspace.getConfiguration("git").get("branchPrefix"),n=await this.getWorktreeCommitishAndBranch(e);if(!n)return;let{commitish:o,branch:a}=n,s=(a??o).startsWith(r)?(a??o).substring(r.length).replace(/\//g,"-"):(a??o).replace(/\//g,"-"),c=await this.getWorktreePath(e,s);if(c)try{await e.createWorktree({path:c,branch:a,commitish:o})}catch(l){if(l instanceof zt&&l.gitErrorCode===Q.WorktreeAlreadyExists)await this.handleWorktreeAlreadyExists(l);else if(l instanceof zt&&l.gitErrorCode===Q.WorktreeBranchAlreadyUsed)await this.handleWorktreeBranchAlreadyUsed(l);else throw l}}async getWorktreeCommitishAndBranch(e){let r=d.workspace.getConfiguration("git",d.Uri.file(e.root)).get("showReferenceDetails")===!0,n=new op,o=async()=>{let c=await e.getRefs({includeCommitDetails:r}),u=new Zn(e,[new Lt(de.Head),new Lt(de.RemoteHead),new Lt(de.Tag)]).processRefs(c);return[n,{label:"",kind:d.QuickPickItemKind.Separator},...u]},a=d.l10n.t("Select a branch or tag to create the new worktree from"),s=await this.pickRef(o(),a);if(s)if(s===n){let c=await this.promptForBranchName(e);return c?{commitish:"HEAD",branch:c}:void 0}else{if(!(s instanceof an)||!s.refName)return;if(s.refName===e.HEAD?.name){let c=d.l10n.t('Branch "{0}" is already checked out in the current repository.',s.refName),l=d.l10n.t("Create New Branch");if(await d.window.showWarningMessage(c,{modal:!0},l)===l){let f=await this.promptForBranchName(e);return f?{commitish:"HEAD",branch:f}:void 0}else return}else{let c=e.worktrees.find(l=>l.ref===s.refId);if(c){let l=d.l10n.t('Branch "{0}" is already checked out in the worktree at "{1}".',s.refName,c.path);await this.handleWorktreeConflict(c.path,l);return}return{commitish:s.refName,branch:void 0}}}}async getWorktreePath(e,t){let r=async()=>{let f=this.globalState.get(`${Ta.WORKTREE_ROOT_STORAGE_KEY}:${e.root}`),m=f?d.Uri.file(f):d.Uri.file(ot.dirname(e.root)),h=await d.window.showOpenDialog({defaultUri:m,canSelectFiles:!1,canSelectFolders:!0,canSelectMany:!1,openLabel:d.l10n.t("Select as Worktree Destination")});if(!(!h||h.length===0))return ot.join(h[0].fsPath,t)},n=f=>!f||!t?void 0:[f.length-t.length,f.length],o=f=>e.worktrees.find(h=>et(ot.normalize(h.path),ot.normalize(f)))?{message:d.l10n.t('A worktree already exists at "{0}".',f),severity:d.InputBoxValidationSeverity.Warning}:void 0,a=this.globalState.get(`${Ta.WORKTREE_ROOT_STORAGE_KEY}:${e.root}`),s=a?ot.join(a,t):e.kind==="worktree"?ot.join(ot.dirname(e.root),t):ot.join(ot.dirname(e.root),`${ot.basename(e.root)}.worktrees`,t),c=[],l=d.window.createInputBox();c.push(l),l.placeholder=d.l10n.t("Worktree path"),l.prompt=d.l10n.t("Please provide a worktree path"),l.value=s,l.valueSelection=n(l.value),l.validationMessage=o(l.value),l.ignoreFocusOut=!0,l.buttons=[{iconPath:new d.ThemeIcon("folder"),tooltip:d.l10n.t("Select Worktree Destination"),location:d.QuickInputButtonLocation.Inline}],l.show();let u=await new Promise(f=>{c.push(l.onDidHide(()=>f(void 0))),c.push(l.onDidAccept(()=>f(l.value))),c.push(l.onDidChangeValue(m=>{l.validationMessage=o(m)})),c.push(l.onDidTriggerButton(async()=>{l.value=await r()??"",l.valueSelection=n(l.value)}))});return Le(c),u}async handleWorktreeBranchAlreadyUsed(e){let t=e.stderr?.match(/fatal: '([^']+)' is already used by worktree at '([^']+)'/);if(!t)return;let[,r,n]=t,o=d.l10n.t('Branch "{0}" is already checked out in the worktree at "{1}".',r,n);await this.handleWorktreeConflict(n,o)}async handleWorktreeAlreadyExists(e){let t=e.stderr?.match(/fatal: '([^']+)'/);if(!t)return;let[,r]=t,n=d.l10n.t('A worktree already exists at "{0}".',r);await this.handleWorktreeConflict(r,n)}async handleWorktreeConflict(e,t){await this.model.openRepository(e,!0,!0);let r=this.model.getRepository(e);if(!r)return;let n=d.l10n.t("Open Worktree in Current Window"),o=d.l10n.t("Open Worktree in New Window"),a=await d.window.showWarningMessage(t,{modal:!0},n,o);a===n?await this.openWorktreeInCurrentWindow(r):a===o&&await this.openWorktreeInNewWindow(r)}async deleteWorktreeFromPalette(e){let r=d.workspace.getConfiguration("git",d.Uri.file(e.root)).get("commitShortHashLength")??7,n=async()=>{let s=await e.getWorktreeDetails();return s.length===0?[{label:d.l10n.t("$(info) This repository has no worktrees.")}]:s.map(c=>new up(c,r))},o=d.l10n.t("Select a worktree to delete"),a=await this.pickRef(n(),o);a instanceof up&&await a.run(e)}async deleteWorktree(e){if(!e.dotGit.commonPath)return;let t=this.model.getRepository(ot.dirname(e.dotGit.commonPath));if(!t){await d.window.showErrorMessage(d.l10n.t("You cannot delete the worktree you are currently in. Please switch to the main repository first."),{modal:!0});return}await t.deleteWorktree(e.root)}async openWorktreeInCurrentWindow(e){if(!e)return;let t=d.Uri.file(e.root);await d.commands.executeCommand("vscode.openFolder",t,{forceReuseWindow:!0})}async openWorktreeInNewWindow(e){if(!e)return;let t=d.Uri.file(e.root);await d.commands.executeCommand("vscode.openFolder",t,{forceNewWindow:!0})}async deleteTag2(e,t,r){let n=t?.references?.find(o=>o.id===r);n&&await e.deleteTag(n.name)}async deleteRemoteTag(e){let r=d.workspace.getConfiguration("git").get("commitShortHashLength")??7,n=e.remotes.filter(l=>l.pushUrl!==void 0).map(l=>new vd(e,l));if(n.length===0){d.window.showErrorMessage(d.l10n.t("Your repository has no remotes configured to push to."));return}let o=n[0].remoteName;if(n.length>1){let l=d.l10n.t("Select a remote to delete a tag from"),u=await d.window.showQuickPick(n,{placeHolder:l});if(!u)return;o=u.remoteName}let a=async()=>{let l=await e.getRemoteRefs(o,{tags:!0}),u=new Set,f=[];for(let m of l){let h=(m.name??"").replace(/\^{}$/,"");u.has(h)||(f.push({...m,name:h}),u.add(h))}return f.length===0?[{label:d.l10n.t('$(info) Remote "{0}" has no tags.',o)}]:f.map(m=>new lp(m,r))},s=d.l10n.t("Select a remote tag to delete"),c=await d.window.showQuickPick(a(),{placeHolder:s});c instanceof lp&&await c.run(e,o)}async fetch(e){if(e.remotes.length===0){d.window.showWarningMessage(d.l10n.t("This repository has no remotes configured to fetch from."));return}if(e.remotes.length===1){await e.fetchDefault();return}let t=e.remotes.map(o=>new vd(e,o));if(e.HEAD?.upstream?.remote){let o=t.findIndex(a=>a.remoteName===e.HEAD.upstream.remote);o!==-1&&t.splice(0,0,...t.splice(o,1))}let r=d.window.createQuickPick();r.placeholder=d.l10n.t("Select a remote to fetch"),r.canSelectMany=!1,r.items=[...t,{label:"",kind:d.QuickPickItemKind.Separator},new r_(e)],r.show();let n=await new Promise(o=>{r.onDidAccept(()=>o(r.activeItems[0])),r.onDidHide(()=>o(void 0))});r.hide(),n&&await n.run()}async fetchPrune(e){if(e.remotes.length===0){d.window.showWarningMessage(d.l10n.t("This repository has no remotes configured to fetch from."));return}await e.fetchPrune()}async fetchAll(e){if(e.remotes.length===0){d.window.showWarningMessage(d.l10n.t("This repository has no remotes configured to fetch from."));return}await e.fetchAll()}async fetchRef(e,t){if(t=t??e?.historyProvider.currentHistoryItemRemoteRef?.id,!e||!t)return;let r=await e.getBranch(t);await e.fetch({remote:r.remote,ref:r.name})}async pullFrom(e){let r=d.workspace.getConfiguration("git").get("commitShortHashLength")??7,n=e.remotes;if(n.length===0){d.window.showWarningMessage(d.l10n.t("Your repository has no remotes configured to pull from."));return}let o=n[0].name;if(n.length>1){let u=n.filter(h=>h.fetchUrl!==void 0).map(h=>({label:h.name,description:h.fetchUrl})),f=d.l10n.t("Pick a remote to pull the branch from"),m=await d.window.showQuickPick(u,{placeHolder:f});if(!m)return;o=m.label}let a=async()=>(await e.getRefs({pattern:`refs/remotes/${o}/`})).map(f=>new an(f,r)),s=d.l10n.t("Pick a branch to pull from"),c=await this.pickRef(a(),s);if(!c||!c.refName)return;let l=o.length;await e.pullFrom(!1,o,c.refName.slice(l+1))}async pull(e){if(e.remotes.length===0){d.window.showWarningMessage(d.l10n.t("Your repository has no remotes configured to pull from."));return}await e.pull(e.HEAD)}async pullRebase(e){if(e.remotes.length===0){d.window.showWarningMessage(d.l10n.t("Your repository has no remotes configured to pull from."));return}await e.pullWithRebase(e.HEAD)}async pullRef(e,t){if(t=t??e?.historyProvider.currentHistoryItemRemoteRef?.id,!e||!t)return;let r=await e.getBranch(t);await e.pullFrom(!1,r.remote,r.name)}async _push(e,t){let r=e.remotes;if(r.length===0){if(t.silent)return;let a=d.l10n.t("Add Remote");await d.window.showWarningMessage(d.l10n.t("Your repository has no remotes configured to push to."),a)===a&&await this.addRemote(e);return}let n=d.workspace.getConfiguration("git",d.Uri.file(e.root)),o;if(t.forcePush){if(!n.get("allowForcePush")){await d.window.showErrorMessage(d.l10n.t('Force push is not allowed, please enable it with the "git.allowForcePush" setting.'));return}let a=n.get("useForcePushWithLease")===!0,s=n.get("useForcePushIfIncludes")===!0;if(o=a?s?En.ForceWithLeaseIfIncludes:En.ForceWithLease:En.Force,n.get("confirmForcePush")){let c=d.l10n.t(`You are about to force push your changes, this can be destructive and could inadvertently overwrite changes made by others.
Are you sure to continue?`),l=d.l10n.t("OK"),u=d.l10n.t("OK, Don't Ask Again"),f=await d.window.showWarningMessage(c,{modal:!0},l,u);if(f===u)n.update("confirmForcePush",!1,!0);else if(f!==l)return}}if(t.pushType===2){await e.pushFollowTags(void 0,o);return}if(t.pushType===3&&await e.pushTags(void 0,o),!e.HEAD||!e.HEAD.name){t.silent||d.window.showWarningMessage(d.l10n.t("Please check out a branch to push to a remote."));return}if(t.pushType===0)try{await e.push(e.HEAD,o)}catch(a){if(a.gitErrorCode!==Q.NoUpstreamBranch)throw a;if(t.silent)return;if(this.globalState.get("confirmBranchPublish",!0)){let s=e.HEAD.name,c=d.l10n.t('The branch "{0}" has no remote branch. Would you like to publish this branch?',s),l=d.l10n.t("OK"),u=d.l10n.t("OK, Don't Ask Again"),f=await d.window.showWarningMessage(c,{modal:!0},l,u);(f===l||f===u)&&(f===u&&this.globalState.update("confirmBranchPublish",!1),await this.publish(e))}else await this.publish(e)}else{let a=e.HEAD.name;if(t.pushTo?.remote)await e.pushTo(t.pushTo.remote,t.pushTo.refspec||a,t.pushTo.setUpstream,o);else{let s=new dp(this),c=[...r.filter(f=>f.pushUrl!==void 0).map(f=>({label:f.name,description:f.pushUrl})),s],l=d.l10n.t('Pick a remote to publish the branch "{0}" to:',a),u=await d.window.showQuickPick(c,{placeHolder:l});if(!u)return;if(u===s){let f=await this.addRemote(e);f&&await e.pushTo(f,a,void 0,o)}else await e.pushTo(u.label,a,void 0,o)}}}async push(e){await this._push(e,{pushType:0})}async pushForce(e){await this._push(e,{pushType:0,forcePush:!0})}async pushFollowTags(e){await this._push(e,{pushType:2})}async pushFollowTagsForce(e){await this._push(e,{pushType:2,forcePush:!0})}async pushRef(e){e&&await this._push(e,{pushType:0})}async cherryPick(e){let t=await d.window.showInputBox({placeHolder:d.l10n.t("Commit Hash"),prompt:d.l10n.t("Please provide the commit hash"),ignoreFocusOut:!0});t&&await e.cherryPick(t)}async cherryPick2(e,t){t&&await e.cherryPick(t.id)}async cherryPickAbort(e){await e.cherryPickAbort()}async pushTo(e,t,r,n){await this._push(e,{pushType:1,pushTo:{remote:t,refspec:r,setUpstream:n}})}async pushToForce(e,t,r,n){await this._push(e,{pushType:1,pushTo:{remote:t,refspec:r,setUpstream:n},forcePush:!0})}async pushTags(e){await this._push(e,{pushType:3})}async addRemote(e){let t=await ip({providerLabel:o=>d.l10n.t("Add remote from {0}",o.name),urlLabel:d.l10n.t("Add remote from URL")});if(!t)return;let r=await d.window.showInputBox({placeHolder:d.l10n.t("Remote name"),prompt:d.l10n.t("Please provide a remote name"),ignoreFocusOut:!0,validateInput:o=>{if(MR(o)){if(e.remotes.find(a=>a.name===o))return d.l10n.t('Remote "{0}" already exists.',o)}else return d.l10n.t("Remote name format invalid");return null}}),n=MR(r||"");if(n)return await e.addRemote(n,t.trim()),await e.fetch({remote:n}),n}async removeRemote(e){if(e.remotes.length===0){d.window.showErrorMessage(d.l10n.t("Your repository has no remotes."));return}let r=e.remotes.map(a=>new vd(e,a)),n=d.l10n.t("Pick a remote to remove"),o=await d.window.showQuickPick(r,{placeHolder:n});o&&await e.removeRemote(o.remoteName)}async _sync(e,t){let r=e.HEAD;if(r){if(!r.upstream){this._push(e,{pushType:0});return}}else return;let n=r.remote||r.upstream.remote,o=e.remotes.find(l=>l.name===n),a=o&&o.isReadOnly,s=d.workspace.getConfiguration("git");if(!a&&s.get("confirmSync")===!0){let l=d.l10n.t('This action will pull and push commits from and to "{0}/{1}".',r.upstream.remote,r.upstream.name),u=d.l10n.t("OK"),f=d.l10n.t("OK, Don't Show Again"),m=await d.window.showWarningMessage(l,{modal:!0},u,f);if(m===f)await s.update("confirmSync",!1,!0);else if(m!==u)return}await e.sync(r,t)}async sync(e){let r=d.workspace.getConfiguration("git",d.Uri.file(e.root)).get("rebaseWhenSync",!1)===!0;try{await this._sync(e,r)}catch(n){if(/Cancelled/i.test(n&&(n.message||n.stderr||"")))return;throw n}}async syncAll(){await Promise.all(this.model.repositories.map(async e=>{let r=d.workspace.getConfiguration("git",d.Uri.file(e.root)).get("rebaseWhenSync",!1)===!0,n=e.HEAD;!n||!n.upstream||await e.sync(n,r)}))}async syncRebase(e){try{await this._sync(e,!0)}catch(t){if(/Cancelled/i.test(t&&(t.message||t.stderr||"")))return;throw t}}async publish(e){let t=e.HEAD&&e.HEAD.name||"",r=e.remotes;if(r.length===0){let c=this.model.getRemoteSourcePublishers();if(c.length===0){d.window.showWarningMessage(d.l10n.t("Your repository has no remotes configured to publish to."));return}let l;if(c.length===1)l=c[0];else{let u=c.map(h=>({label:(h.icon?`$(${h.icon}) `:"")+d.l10n.t("Publish to {0}",h.name),alwaysShow:!0,provider:h})),f=d.l10n.t('Pick a provider to publish the branch "{0}" to:',t),m=await d.window.showQuickPick(u,{placeHolder:f});if(!m)return;l=m.provider}await l.publishRepository(new Vt(e)),this.model.firePublishEvent(e,t);return}if(r.length===1){await e.pushTo(r[0].name,t,!0),this.model.firePublishEvent(e,t);return}let n=new dp(this),o=[...e.remotes.map(c=>({label:c.name,description:c.pushUrl})),n],a=d.l10n.t('Pick a remote to publish the branch "{0}" to:',t),s=await d.window.showQuickPick(o,{placeHolder:a});if(s)if(s===n){let c=await this.addRemote(e);c&&(await e.pushTo(c,t,!0),this.model.firePublishEvent(e,t))}else await e.pushTo(s.label,t,!0),this.model.firePublishEvent(e,t)}async ignore(...e){if(e=e.filter(r=>!!r),e.length===0||e[0]&&!(e[0].resourceUri instanceof d.Uri)){let r=this.getSCMResource();if(!r)return;e=[r]}let t=e.filter(r=>r instanceof ze).map(r=>r.resourceUri);t.length&&await this.runByRepository(t,async(r,n)=>r.ignore(n))}async revealInExplorer(e){e&&e.resourceUri instanceof d.Uri&&await d.commands.executeCommand("revealInExplorer",e.resourceUri)}async revealFileInOS(e){e&&e.resourceUri instanceof d.Uri&&await d.commands.executeCommand("revealFileInOS",e.resourceUri)}async _stash(e,t=!1,r=!1){let n=e.workingTreeGroup.resourceStates.length===0&&(!t||e.untrackedGroup.resourceStates.length===0),o=e.indexGroup.resourceStates.length===0;if(r){if(o)return d.window.showInformationMessage(d.l10n.t("There are no staged changes to stash.")),!1}else if(n&&o)return d.window.showInformationMessage(d.l10n.t("There are no changes to stash.")),!1;let a=d.workspace.getConfiguration("git",d.Uri.file(e.root)),s=a.get("promptToSaveFilesBeforeStash");if(s!=="never"){let l=d.workspace.textDocuments.filter(u=>!u.isUntitled&&u.isDirty&&nr(e.root,u.uri.fsPath));if((s==="staged"||e.indexGroup.resourceStates.length>0)&&(l=l.filter(u=>e.indexGroup.resourceStates.some(f=>et(f.resourceUri.fsPath,u.uri.fsPath)))),l.length>0){let u=l.length===1?d.l10n.t(`The following file has unsaved changes which won't be included in the stash if you proceed: {0}.
Would you like to save it before stashing?`,ot.basename(l[0].uri.fsPath)):d.l10n.t(`There are {0} unsaved files.
Would you like to save them before stashing?`,l.length),f=d.l10n.t("Save All & Stash"),m=d.l10n.t("Stash Anyway"),h=await d.window.showWarningMessage(u,{modal:!0},f,m);if(h===f)await Promise.all(l.map(p=>p.save()));else if(h!==m)return!1}}let c;if(a.get("useCommitInputAsStashMessage")&&(!e.sourceControl.commitTemplate||e.inputBox.value!==e.sourceControl.commitTemplate)&&(c=e.inputBox.value),c=await d.window.showInputBox({value:c,prompt:d.l10n.t("Optionally provide a stash message"),placeHolder:d.l10n.t("Stash message")}),typeof c>"u")return!1;try{return await e.createStash(c,t,r),!0}catch(l){if(/You do not have the initial commit yet/.test(l.stderr||""))return d.window.showInformationMessage(d.l10n.t("The repository does not have any commits. Please make an initial commit before creating a stash.")),!1;throw l}}async stash(e){return await this._stash(e)}async stashStaged(e){return await this._stash(e,!1,!0)}async stashIncludeUntracked(e){return await this._stash(e,!0)}async stashPop(e){let t=d.l10n.t("Pick a stash to pop"),r=await this.pickStash(e,t);r&&await e.popStash(r.index)}async stashPopLatest(e){if((await e.getStashes()).length===0){d.window.showInformationMessage(d.l10n.t("There are no stashes in the repository."));return}await e.popStash()}async stashPopEditor(e){let t=await this.getStashFromUri(e);t&&(await d.commands.executeCommand("workbench.action.closeActiveEditor"),await t.repository.popStash(t.stash.index))}async stashApply(e){let t=d.l10n.t("Pick a stash to apply"),r=await this.pickStash(e,t);r&&await e.applyStash(r.index)}async stashApplyLatest(e){if((await e.getStashes()).length===0){d.window.showInformationMessage(d.l10n.t("There are no stashes in the repository."));return}await e.applyStash()}async stashApplyEditor(e){let t=await this.getStashFromUri(e);t&&(await d.commands.executeCommand("workbench.action.closeActiveEditor"),await t.repository.applyStash(t.stash.index))}async stashDrop(e){let t=d.l10n.t("Pick a stash to drop"),r=await this.pickStash(e,t);r&&await this._stashDrop(e,r.index,r.description)}async stashDropAll(e){let t=await e.getStashes();if(t.length===0){d.window.showInformationMessage(d.l10n.t("There are no stashes in the repository."));return}let r=d.l10n.t("Yes"),n=t.length===1?d.l10n.t("Are you sure you want to drop ALL stashes? There is 1 stash that will be subject to pruning, and MAY BE IMPOSSIBLE TO RECOVER."):d.l10n.t("Are you sure you want to drop ALL stashes? There are {0} stashes that will be subject to pruning, and MAY BE IMPOSSIBLE TO RECOVER.",t.length);await d.window.showWarningMessage(n,{modal:!0},r)===r&&await e.dropStash()}async stashDropEditor(e){let t=await this.getStashFromUri(e);t&&await this._stashDrop(t.repository,t.stash.index,t.stash.description)&&await d.commands.executeCommand("workbench.action.closeActiveEditor")}async _stashDrop(e,t,r){let n=d.l10n.t("Yes");return await d.window.showWarningMessage(d.l10n.t("Are you sure you want to drop the stash: {0}?",r),{modal:!0},n)!==n?!1:(await e.dropStash(t),!0)}async stashView(e){let t=d.l10n.t("Pick a stash to view"),r=await this.pickStash(e,t);r&&await this._viewStash(e,r)}async pickStash(e,t){let r=async()=>{let o=await e.getStashes();return o.length>0?o.map(a=>new fp(a)):[{label:d.l10n.t("$(info) This repository has no stashes.")}]},n=await d.window.showQuickPick(r(),{placeHolder:t});return n instanceof fp?n.stash:void 0}async getStashFromUri(e){if(!e||e.scheme!=="git-stash")return;let t=kr(e),r=this.model.getRepository(t.path);if(!r)return;let o=/^stash@{(\d+)}$/.exec(t.ref);if(!o)return;let[,a]=o,c=(await r.getStashes()).find(l=>l.index===parseInt(a));if(c)return{repository:r,stash:c}}async _viewStash(e,t){let r=await e.showStash(t.index);if(!r||r.length===0)return;let n=t.parents.length>0?t.parents[0]:`${t.hash}^`,o=t.parents.length===3?t.parents[2]:void 0,a=[];if(o){let u=await e.getObjectFiles(o);a.push(...u.map(f=>ot.join(e.root,f.file)))}let s=`Git Stash #${t.index}: ${t.description}`,c=je(d.Uri.file(e.root),`stash@{${t.index}}`,{scheme:"git-stash"}),l=[];for(let u of r){let m=!!a.find(h=>et(h,u.uri.fsPath))?o??t.hash:t.hash;l.push(Ys(u,n,m))}d.commands.executeCommand("_workbench.openMultiDiffEditor",{multiDiffSourceUri:c,title:s,resources:l})}async timelineOpenDiff(e,t,r){let n=this.resolveTimelineOpenDiffCommand(e,t,{preserveFocus:!0,preview:!0,viewColumn:d.ViewColumn.Active});if(n!==void 0)return d.commands.executeCommand(n.command,...n.arguments??[])}resolveTimelineOpenDiffCommand(e,t,r){if(t==null||!$i.is(e))return;let n=ot.basename(t.fsPath),o;return(e.previousRef==="HEAD"||e.previousRef==="~")&&e.ref===""?o=d.l10n.t("{0} (Working Tree)",n):e.previousRef==="HEAD"&&e.ref==="~"?o=d.l10n.t("{0} (Index)",n):o=d.l10n.t("{0} ({1}) \u2194 {0} ({2})",n,e.shortPreviousRef,e.shortRef),{command:"vscode.diff",title:d.l10n.t("Open Comparison"),arguments:[je(t,e.previousRef),e.ref===""?t:je(t,e.ref),o,r]}}async timelineViewCommit(e,t,r){if(!$i.is(e))return;let n=await this._resolveTimelineOpenCommitCommand(e,t,{preserveFocus:!0,preview:!0,viewColumn:d.ViewColumn.Active});if(n!==void 0)return d.commands.executeCommand(n.command,...n.arguments??[])}async _resolveTimelineOpenCommitCommand(e,t,r){if(t==null||!$i.is(e))return;let n=await this.model.getRepository(t.fsPath);if(!n)return;let o=await n.getCommit(e.ref),a=o.parents.length>0?o.parents[0]:await n.getEmptyTree(),c=(await n.diffBetweenWithStats(a,o.hash)).map(m=>Ys(m,a,o.hash)),l=`${e.shortRef} - ${nd(o.message)}`,u=d.Uri.from({scheme:"scm-history-item",path:`${n.root}/${a}..${o.hash}`}),f={modifiedUri:je(t,o.hash)};return{command:"_workbench.openMultiDiffEditor",title:d.l10n.t("Open Commit"),arguments:[{multiDiffSourceUri:u,title:l,resources:c,reveal:f},r]}}async timelineCopyCommitId(e,t,r){$i.is(e)&&d.env.clipboard.writeText(e.ref)}async timelineCopyCommitMessage(e,t,r){$i.is(e)&&d.env.clipboard.writeText(e.message)}_selectedForCompare;async timelineSelectForCompare(e,t,r){!$i.is(e)||!t||(this._selectedForCompare={uri:t,item:e},await d.commands.executeCommand("setContext","git.timeline.selectedForCompare",!0))}async timelineCompareWithSelected(e,t,r){if(!$i.is(e)||!t||!this._selectedForCompare||t.toString()!==this._selectedForCompare.uri.toString())return;let{item:n}=this._selectedForCompare,o=ot.basename(t.fsPath),a;(n.previousRef==="HEAD"||n.previousRef==="~")&&n.ref===""?a=d.l10n.t("{0} (Working Tree)",o):n.previousRef==="HEAD"&&n.ref==="~"?a=d.l10n.t("{0} (Index)",o):a=d.l10n.t("{0} ({1})",o,n.shortRef);let s;(e.previousRef==="HEAD"||e.previousRef==="~")&&e.ref===""?s=d.l10n.t("{0} (Working Tree)",o):e.previousRef==="HEAD"&&e.ref==="~"?s=d.l10n.t("{0} (Index)",o):s=d.l10n.t("{0} ({1})",o,e.shortRef);let c=d.l10n.t("{0} \u2194 {1}",a,s);await d.commands.executeCommand("vscode.diff",n.ref===""?t:je(t,n.ref),e.ref===""?t:je(t,e.ref),c)}async rebaseAbort(e){e.rebaseCommit?await e.rebaseAbort():await d.window.showInformationMessage(d.l10n.t("No rebase in progress."))}closeDiffEditors(e){e.closeDiffEditors(void 0,void 0,!0)}closeUnmodifiedEditors(){let e=[],t=[];for(let r of this.model.repositories)t.push(...r.indexGroup.resourceStates.map(n=>n.resourceUri.fsPath)),t.push(...r.workingTreeGroup.resourceStates.map(n=>n.resourceUri.fsPath)),t.push(...r.untrackedGroup.resourceStates.map(n=>n.resourceUri.fsPath)),t.push(...r.mergeGroup.resourceStates.map(n=>n.resourceUri.fsPath));for(let r of d.window.tabGroups.all.map(n=>n.tabs).flat())if(!r.isDirty&&(r.input instanceof d.TabInputText||r.input instanceof d.TabInputNotebook)){let{uri:n}=r.input;t.find(o=>et(o,n.fsPath))||e.push(r)}d.window.tabGroups.close(e,!0)}async openRepositoriesInParentFolders(){let e=[],t=d.l10n.t("Open Repositories In Parent Folders"),r=d.l10n.t("Pick a repository to open"),o={label:d.l10n.t("All Repositories")},a=this.model.parentRepositories.sort(zv).map(l=>new _d(l)),s=this.model.parentRepositories.length===1?[...a]:[...a,{label:"",kind:d.QuickPickItemKind.Separator},o],c=await d.window.showQuickPick(s,{title:t,placeHolder:r});if(c){c===o?e.push(...this.model.parentRepositories):e.push(c.path);for(let l of e)await this.model.openParentRepository(l)}}async manageUnsafeRepositories(){let e=[],t=d.window.createQuickPick();t.title=d.l10n.t("Manage Unsafe Repositories"),t.placeholder=d.l10n.t("Pick a repository to mark as safe and open");let r=d.l10n.t("All Repositories"),n={label:r},o=this.model.unsafeRepositories.sort(zv).map(s=>new _d(s));t.items=this.model.unsafeRepositories.length===1?[...o]:[...o,{label:"",kind:d.QuickPickItemKind.Separator},n],t.show();let a=await new Promise(s=>{t.onDidAccept(()=>s(t.activeItems[0])),t.onDidHide(()=>s(void 0))});if(t.hide(),!!a){a.label===r?e.push(...this.model.unsafeRepositories):e.push(a.path);for(let s of e)await this.git.addSafeDirectory(this.model.getUnsafeRepositoryPath(s)),await this.model.openRepository(s),this.model.deleteUnsafeRepository(s)}}async viewChanges(e){await this._viewResourceGroupChanges(e,e.workingTreeGroup)}async viewStagedChanges(e){await this._viewResourceGroupChanges(e,e.indexGroup)}async viewUnstagedChanges(e){await this._viewResourceGroupChanges(e,e.untrackedGroup)}async _viewResourceGroupChanges(e,t){if(t.resourceStates.length===0){switch(t.id){case"index":d.window.showInformationMessage(d.l10n.t("The repository does not have any staged changes."));break;case"workingTree":d.window.showInformationMessage(d.l10n.t("The repository does not have any changes."));break;case"untracked":d.window.showInformationMessage(d.l10n.t("The repository does not have any untracked changes."));break}return}await d.commands.executeCommand("_workbench.openScmMultiDiffEditor",{title:`${e.sourceControl.label}: ${t.label}`,repositoryUri:d.Uri.file(e.root),resourceGroupId:t.id})}async copyCommitId(e,t){!e||!t||d.env.clipboard.writeText(t.id)}async copyCommitMessage(e,t){!e||!t||d.env.clipboard.writeText(t.message)}async viewCommit(e,t,r){if(!e||!t)return;let n=d.Uri.file(e.root),a=d.workspace.getConfiguration("git",n).get("commitShortHashLength",7),s=await e.getCommit(t),c=`${Ei(t,a,!1)} - ${nd(s.message)}`,l=s.parents.length>0?s.parents[0]:await e.getEmptyTree(),u=d.Uri.from({scheme:"scm-history-item",path:`${e.root}/${l}..${t}`}),m=(await e.diffBetweenWithStats(l,t)).map(p=>Ys(p,l,t)),h=r?{modifiedUri:je(r,t)}:void 0;await d.commands.executeCommand("_workbench.openMultiDiffEditor",{multiDiffSourceUri:u,title:c,resources:m,reveal:h})}async copyContentToClipboard(e){typeof e=="string"&&d.env.clipboard.writeText(e)}toggleBlameEditorDecoration(){this._toggleBlameSetting("blame.editorDecoration.enabled")}toggleBlameStatusBarItem(){this._toggleBlameSetting("blame.statusBarItem.enabled")}_toggleBlameSetting(e){let t=d.workspace.getConfiguration("git"),r=t.get(e)===!0;t.update(e,!r,!0)}async artifactGroupCreateBranch(e){e&&await this._branch(e,void 0,!1)}async artifactGroupCreateTag(e){e&&await this._createTag(e)}async artifactGroupCreateWorktree(e){e&&await this._createWorktree(e)}async artifactCheckout(e,t){!e||!t||await this._checkout(e,{treeish:t.name})}async artifactCheckoutDetached(e,t){!e||!t||await this._checkout(e,{treeish:t.name,detached:!0})}async artifactMerge(e,t){!e||!t||await e.merge(t.id)}async artifactRebase(e,t){!e||!t||await e.rebase(t.id)}async artifactCreateFrom(e,t){!e||!t||await this._branch(e,void 0,!1,t.id)}async artifactCompareWith(e,t){if(!e||!t)return;let n=d.workspace.getConfiguration("git").get("showReferenceDetails")===!0,o=async()=>{let c=await e.getRefs({includeCommitDetails:n}),l=[new Lt(de.Head,Si),new Lt(de.RemoteHead,Si),new Lt(de.Tag,Si)];return new Zn(e,l).processRefs(c)},a=d.l10n.t("Select a reference to compare with"),s=await this.pickRef(o(),a);!(s instanceof Si)||!s.ref.commit||await this._openChangesBetweenRefs(e,{id:s.ref.commit,displayId:s.ref.name},{id:t.id,displayId:t.name})}async _createTag(e,t){let r=await d.window.showInputBox({placeHolder:d.l10n.t("Tag name"),prompt:d.l10n.t("Please provide a tag name"),ignoreFocusOut:!0});if(!r)return;let n=await d.window.showInputBox({placeHolder:d.l10n.t("Message"),prompt:d.l10n.t("Please provide a message to annotate the tag"),ignoreFocusOut:!0}),o=r.replace(/^\.|\/\.|\.\.|~|\^|:|\/$|\.lock$|\.lock\/|\\|\*|\s|^\s*$|\.$/g,"-");await e.tag({name:o,message:n,ref:t})}async artifactDeleteBranch(e,t){if(!e||!t)return;let r=d.l10n.t('Are you sure you want to delete branch "{0}"? This action will permanently remove the branch reference from the repository.',t.name),n=d.l10n.t("Delete Branch");await d.window.showWarningMessage(r,{modal:!0},n)===n&&await this._deleteBranch(e,void 0,t.name,{remote:!1})}async artifactDeleteTag(e,t){if(!e||!t)return;let r=d.l10n.t('Are you sure you want to delete tag "{0}"? This action will permanently remove the tag reference from the repository.',t.name),n=d.l10n.t("Delete Tag");await d.window.showWarningMessage(r,{modal:!0},n)===n&&await e.deleteTag(t.name)}async artifactStashView(e,t){if(!e||!t)return;let n=/^stash@\{(\d+)\}$/.exec(t.id);if(!n)return;let a=(await e.getStashes()).find(s=>s.index===parseInt(n[1]));a&&await this._viewStash(e,a)}async artifactStashApply(e,t){if(!e||!t)return;let n=/^stash@\{(\d+)\}$/.exec(t.id);if(!n)return;let o=parseInt(n[1]);await e.applyStash(o)}async artifactStashPop(e,t){if(!e||!t)return;let n=/^stash@\{(\d+)\}$/.exec(t.id);if(!n)return;let o=parseInt(n[1]);await e.popStash(o)}async artifactStashDrop(e,t){if(!e||!t)return;let n=/^stash@\{(\d+)\}$/.exec(t.id);n&&await this._stashDrop(e,parseInt(n[1]),t.name)}async artifactOpenWorktree(e,t){if(!e||!t)return;let r=d.Uri.file(t.id);await d.commands.executeCommand("vscode.openFolder",r,{forceReuseWindow:!0})}async artifactOpenWorktreeInNewWindow(e,t){if(!e||!t)return;let r=d.Uri.file(t.id);await d.commands.executeCommand("vscode.openFolder",r,{forceNewWindow:!0})}async artifactDeleteWorktree(e,t){!e||!t||await e.deleteWorktree(t.id)}async artifactWorktreeCopyBranchName(e,t){if(!e||!t)return;let n=(await e.getWorktreeDetails()).find(o=>o.path===t.id);!n||n.detached||d.env.clipboard.writeText(n.ref.substring(11))}async artifactWorktreeCopyCommitHash(e,t){if(!e||!t)return;let n=(await e.getWorktreeDetails()).find(o=>o.path===t.id);n?.commitDetails&&d.env.clipboard.writeText(n.commitDetails.hash)}async artifactWorktreeCopyPath(e,t){!e||!t||d.env.clipboard.writeText(t.id)}async artifactCopyCommitHash(e,t){if(!e||!t)return;let r=await e.getCommit(t.id);d.env.clipboard.writeText(r.hash)}async artifactCopyBranchName(e,t){!e||!t||d.env.clipboard.writeText(t.name)}async artifactCopyTagName(e,t){!e||!t||d.env.clipboard.writeText(t.name)}async artifactCopyStashName(e,t){!e||!t||d.env.clipboard.writeText(t.name)}async artifactStashCopyBranchName(e,t){if(!e||!t?.description)return;let n=(await e.getStashes()).find(o=>t.id===`stash@{${o.index}}`);n?.branchName&&d.env.clipboard.writeText(n.branchName)}createCommand(e,t,r,n){let o=(...a)=>{let s;if(!n.repository)s=Promise.resolve(r.apply(this,a));else{let c=this.model.getRepository(a[0]),l;c?l=Promise.resolve(c):l=this.model.pickRepository(n.repositoryFilter),s=l.then(u=>u?Promise.resolve(r.apply(this,[u,...a.slice(1)])):Promise.resolve())}return this.telemetryReporter.sendTelemetryEvent("git.command",{command:e}),s.catch(c=>{let l={modal:!0},u,f="error",m=new Map,h=d.l10n.t("Open Git Log"),p=this.logger;m.set(h,()=>p.show());let _=d.l10n.t("Show Command Output");switch(c.stderr&&m.set(_,async()=>{let b=new Date().getTime(),S=d.Uri.parse(`git-output:/git-error-${b}`),E="git";c.gitArgs?E=`${E} ${c.gitArgs.join(" ")}`:c.gitCommand&&(E=`${E} ${c.gitCommand}`),this.commandErrors.set(S,`> ${E}
${c.stderr}`);try{let R=await d.workspace.openTextDocument(S);await d.window.showTextDocument(R)}finally{this.commandErrors.delete(S)}}),c.gitErrorCode){case Q.DirtyWorkTree:u=d.l10n.t("Please clean your repository working tree before checkout.");break;case Q.PushRejected:u=d.l10n.t(`Can't push refs to remote. Try running "Pull" first to integrate your changes.`);break;case Q.ForcePushWithLeaseRejected:case Q.ForcePushWithLeaseIfIncludesRejected:u=d.l10n.t(`Can't force push refs to remote. The tip of the remote-tracking branch has been updated since the last checkout. Try running "Pull" first to pull the latest changes from the remote branch first.`);break;case Q.Conflict:u=d.l10n.t("There are merge conflicts. Please resolve them before committing your changes."),f="warning",m.clear(),m.set(d.l10n.t("Show Changes"),()=>d.commands.executeCommand("workbench.view.scm")),l.modal=!1;break;case Q.StashConflict:u=d.l10n.t("There are merge conflicts while applying the stash. Please resolve them before committing your changes."),f="warning",m.clear(),m.set(d.l10n.t("Show Changes"),()=>d.commands.executeCommand("workbench.view.scm")),l.modal=!1;break;case Q.AuthenticationFailed:{let S=/Authentication failed for '(.*)'/i.exec(c.stderr||String(c));u=S?d.l10n.t(`Failed to authenticate to git remote:
{0}`,S[1]):d.l10n.t("Failed to authenticate to git remote.");break}case Q.NoUserNameConfigured:case Q.NoUserEmailConfigured:u=d.l10n.t('Make sure you configure your "user.name" and "user.email" in git.'),m.set(d.l10n.t("Learn More"),()=>d.commands.executeCommand("vscode.open",d.Uri.parse("https://aka.ms/vscode-setup-git")));break;case Q.EmptyCommitMessage:u=d.l10n.t("Commit operation was cancelled due to empty commit message."),m.clear(),f="information",l.modal=!1;break;case Q.CherryPickEmpty:u=d.l10n.t("The changes are already present in the current branch."),m.clear(),f="information",l.modal=!1;break;case Q.CherryPickConflict:u=d.l10n.t("There were merge conflicts while cherry picking the changes. Resolve the conflicts before committing them."),f="warning",m.set(d.l10n.t("Show Changes"),()=>d.commands.executeCommand("workbench.view.scm")),l.modal=!1;break;default:{let b=(c.stderr||c.stdout||c.message||String(c)).replace(/^error: /mi,"").replace(/^> husky.*$/mi,"").split(/[\r\n]/).filter(S=>!!S);u=b.length>0?d.l10n.t("Git: {0}",c.stdout?b[b.length-1]:b[0]):d.l10n.t("Git error");break}}if(!u){console.error(c);return}this.showErrorNotification(f,u,l,m)})};return this[t]=o,o}async showErrorNotification(e,t,r,n){let o,a=Array.from(n.keys());switch(e){case"error":o=await d.window.showErrorMessage(t,r,...a);break;case"warning":o=await d.window.showWarningMessage(t,r,...a);break;case"information":o=await d.window.showInformationMessage(t,r,...a);break}o&&n.get(o)?.()}getSCMResource(e){e=e??d.window.activeNotebookEditor?.notebook.uri??d.window.activeTextEditor?.document.uri,!e&&d.window.tabGroups.activeTabGroup.activeTab?.input instanceof d.TabInputNotebookDiff&&(e=d.window.tabGroups.activeTabGroup.activeTab.input.modified),this.logger.debug(`[CommandCenter][getSCMResource] git.getSCMResource.uri: ${e&&e.toString()}`);for(let t of this.model.repositories.map(r=>r.root))this.logger.debug(`[CommandCenter][getSCMResource] repo root: ${t}`);if(e){if(Rn(e)){let{path:t}=kr(e);e=d.Uri.file(t)}if(e.scheme==="file"){let t=e.toString(),r=this.model.getRepository(e);return r?r.workingTreeGroup.resourceStates.filter(n=>n.resourceUri.toString()===t)[0]||r.indexGroup.resourceStates.filter(n=>n.resourceUri.toString()===t)[0]||r.mergeGroup.resourceStates.filter(n=>n.resourceUri.toString()===t)[0]:void 0}}}async runByRepository(e,t){let r=e instanceof d.Uri?[e]:e,n=e instanceof d.Uri,a=r.reduce((s,c)=>{let l=this.model.getRepository(c);if(!l)return console.warn("Could not find git repository for ",c),s;et(c.fsPath,l.root)&&(l=this.model.getRepositoryForSubmodule(c)||l);let u=s.filter(f=>f.repository===l)[0];return u?u.resources.push(c):s.push({repository:l,resources:[c]}),s},[]).map(({repository:s,resources:c})=>t(s,n?c[0]:c));return Promise.all(a)}dispose(){this.disposables.forEach(e=>e.dispose())}};D([k("git.showOutput")],A.prototype,"showOutput",1),D([k("git.refresh",{repository:!0})],A.prototype,"refresh",1),D([k("git.openResource")],A.prototype,"openResource",1),D([k("git.openAllChanges",{repository:!0})],A.prototype,"openChanges",1),D([k("git.openMergeEditor")],A.prototype,"openMergeEditor",1),D([k("git.continueInLocalClone")],A.prototype,"continueInLocalClone",1),D([k("git.clone")],A.prototype,"clone",1),D([k("git.cloneRecursive")],A.prototype,"cloneRecursive",1),D([k("_git.cloneRepository")],A.prototype,"cloneRepository",1),D([k("_git.checkout")],A.prototype,"checkoutRepository",1),D([k("_git.pull")],A.prototype,"pullRepository",1),D([k("_git.fetchRepository")],A.prototype,"fetchRepository",1),D([k("_git.revParse")],A.prototype,"revParse",1),D([k("_git.revListCount")],A.prototype,"revListCount",1),D([k("_git.revParseAbbrevRef")],A.prototype,"revParseAbbrevRef",1),D([k("_git.mergeBranch")],A.prototype,"mergeBranch",1),D([k("git.init")],A.prototype,"init",1),D([k("git.openRepository",{repository:!1})],A.prototype,"openRepository",1),D([k("git.reopenClosedRepositories",{repository:!1})],A.prototype,"reopenClosedRepositories",1),D([k("git.close",{repository:!0})],A.prototype,"close",1),D([k("git.closeOtherRepositories",{repository:!0})],A.prototype,"closeOtherRepositories",1),D([k("git.openFile")],A.prototype,"openFile",1),D([k("git.openFile2")],A.prototype,"openFile2",1),D([k("git.openHEADFile")],A.prototype,"openHEADFile",1),D([k("git.openChange")],A.prototype,"openChange",1),D([k("git.compareWithWorkspace")],A.prototype,"compareWithWorkspace",1),D([k("git.rename",{repository:!0})],A.prototype,"rename",1),D([k("git.delete")],A.prototype,"delete",1),D([k("git.stage")],A.prototype,"stage",1),D([k("git.stageAll",{repository:!0})],A.prototype,"stageAll",1),D([k("git.stageAllTracked",{repository:!0})],A.prototype,"stageAllTracked",1),D([k("git.stageAllUntracked",{repository:!0})],A.prototype,"stageAllUntracked",1),D([k("git.stageAllMerge",{repository:!0})],A.prototype,"stageAllMerge",1),D([k("git.stageChange")],A.prototype,"stageChange",1),D([k("git.diff.stageHunk")],A.prototype,"diffStageHunk",1),D([k("git.diff.stageSelection")],A.prototype,"diffStageSelection",1),D([k("git.stageSelectedRanges")],A.prototype,"stageSelectedChanges",1),D([k("git.stageFile")],A.prototype,"stageFile",1),D([k("git.acceptMerge")],A.prototype,"acceptMerge",1),D([k("git.runGitMerge")],A.prototype,"runGitMergeNoDiff3",1),D([k("git.runGitMergeDiff3")],A.prototype,"runGitMergeDiff3",1),D([k("git.revertChange")],A.prototype,"revertChange",1),D([k("git.revertSelectedRanges")],A.prototype,"revertSelectedRanges",1),D([k("git.unstage")],A.prototype,"unstage",1),D([k("git.unstageAll",{repository:!0})],A.prototype,"unstageAll",1),D([k("git.unstageSelectedRanges")],A.prototype,"unstageSelectedRanges",1),D([k("git.unstageFile")],A.prototype,"unstageFile",1),D([k("git.unstageChange")],A.prototype,"unstageChange",1),D([k("git.clean")],A.prototype,"clean",1),D([k("git.cleanAll",{repository:!0})],A.prototype,"cleanAll",1),D([k("git.cleanAllTracked",{repository:!0})],A.prototype,"cleanAllTracked",1),D([k("git.cleanAllUntracked",{repository:!0})],A.prototype,"cleanAllUntracked",1),D([k("git.commit",{repository:!0})],A.prototype,"commit",1),D([k("git.commitAmend",{repository:!0})],A.prototype,"commitAmend",1),D([k("git.commitSigned",{repository:!0})],A.prototype,"commitSigned",1),D([k("git.commitStaged",{repository:!0})],A.prototype,"commitStaged",1),D([k("git.commitStagedSigned",{repository:!0})],A.prototype,"commitStagedSigned",1),D([k("git.commitStagedAmend",{repository:!0})],A.prototype,"commitStagedAmend",1),D([k("git.commitAll",{repository:!0})],A.prototype,"commitAll",1),D([k("git.commitAllSigned",{repository:!0})],A.prototype,"commitAllSigned",1),D([k("git.commitAllAmend",{repository:!0})],A.prototype,"commitAllAmend",1),D([k("git.commitMessageAccept")],A.prototype,"commitMessageAccept",1),D([k("git.commitMessageDiscard")],A.prototype,"commitMessageDiscard",1),D([k("git.commitEmpty",{repository:!0})],A.prototype,"commitEmpty",1),D([k("git.commitNoVerify",{repository:!0})],A.prototype,"commitNoVerify",1),D([k("git.commitStagedNoVerify",{repository:!0})],A.prototype,"commitStagedNoVerify",1),D([k("git.commitStagedSignedNoVerify",{repository:!0})],A.prototype,"commitStagedSignedNoVerify",1),D([k("git.commitAmendNoVerify",{repository:!0})],A.prototype,"commitAmendNoVerify",1),D([k("git.commitSignedNoVerify",{repository:!0})],A.prototype,"commitSignedNoVerify",1),D([k("git.commitStagedAmendNoVerify",{repository:!0})],A.prototype,"commitStagedAmendNoVerify",1),D([k("git.commitAllNoVerify",{repository:!0})],A.prototype,"commitAllNoVerify",1),D([k("git.commitAllSignedNoVerify",{repository:!0})],A.prototype,"commitAllSignedNoVerify",1),D([k("git.commitAllAmendNoVerify",{repository:!0})],A.prototype,"commitAllAmendNoVerify",1),D([k("git.commitEmptyNoVerify",{repository:!0})],A.prototype,"commitEmptyNoVerify",1),D([k("git.restoreCommitTemplate",{repository:!0})],A.prototype,"restoreCommitTemplate",1),D([k("git.undoCommit",{repository:!0})],A.prototype,"undoCommit",1),D([k("git.checkout",{repository:!0})],A.prototype,"checkout",1),D([k("git.graph.checkout",{repository:!0})],A.prototype,"checkout2",1),D([k("git.checkoutDetached",{repository:!0})],A.prototype,"checkoutDetached",1),D([k("git.graph.checkoutDetached",{repository:!0})],A.prototype,"checkoutDetached2",1),D([k("git.branch",{repository:!0})],A.prototype,"branch",1),D([k("git.branchFrom",{repository:!0})],A.prototype,"branchFrom",1),D([k("git.deleteBranch",{repository:!0})],A.prototype,"deleteBranch",1),D([k("git.graph.deleteBranch",{repository:!0})],A.prototype,"deleteBranch2",1),D([k("git.graph.compareWithRemote",{repository:!0})],A.prototype,"compareWithRemote",1),D([k("git.graph.compareWithMergeBase",{repository:!0})],A.prototype,"compareWithMergeBase",1),D([k("git.graph.compareRef",{repository:!0})],A.prototype,"compareRef",1),D([k("git.deleteRemoteBranch",{repository:!0})],A.prototype,"deleteRemoteBranch",1),D([k("git.renameBranch",{repository:!0})],A.prototype,"renameBranch",1),D([k("git.merge",{repository:!0})],A.prototype,"merge",1),D([k("git.mergeAbort",{repository:!0})],A.prototype,"abortMerge",1),D([k("git.rebase",{repository:!0})],A.prototype,"rebase",1),D([k("git.createTag",{repository:!0})],A.prototype,"createTag",1),D([k("git.deleteTag",{repository:!0})],A.prototype,"deleteTag",1),D([k("git.migrateWorktreeChanges",{repository:!0,repositoryFilter:["repository","submodule"]})],A.prototype,"migrateWorktreeChanges",1),D([k("git.openWorktreeMergeEditor")],A.prototype,"openWorktreeMergeEditor",1),D([k("git.createWorktree",{repository:!0,repositoryFilter:["repository","submodule"]})],A.prototype,"createWorktree",1),D([k("git.deleteWorktree",{repository:!0,repositoryFilter:["repository","submodule"]})],A.prototype,"deleteWorktreeFromPalette",1),D([k("git.deleteWorktree2",{repository:!0,repositoryFilter:["worktree"]})],A.prototype,"deleteWorktree",1),D([k("git.openWorktree",{repository:!0})],A.prototype,"openWorktreeInCurrentWindow",1),D([k("git.openWorktreeInNewWindow",{repository:!0})],A.prototype,"openWorktreeInNewWindow",1),D([k("git.graph.deleteTag",{repository:!0})],A.prototype,"deleteTag2",1),D([k("git.deleteRemoteTag",{repository:!0})],A.prototype,"deleteRemoteTag",1),D([k("git.fetch",{repository:!0})],A.prototype,"fetch",1),D([k("git.fetchPrune",{repository:!0})],A.prototype,"fetchPrune",1),D([k("git.fetchAll",{repository:!0})],A.prototype,"fetchAll",1),D([k("git.fetchRef",{repository:!0})],A.prototype,"fetchRef",1),D([k("git.pullFrom",{repository:!0})],A.prototype,"pullFrom",1),D([k("git.pull",{repository:!0})],A.prototype,"pull",1),D([k("git.pullRebase",{repository:!0})],A.prototype,"pullRebase",1),D([k("git.pullRef",{repository:!0})],A.prototype,"pullRef",1),D([k("git.push",{repository:!0})],A.prototype,"push",1),D([k("git.pushForce",{repository:!0})],A.prototype,"pushForce",1),D([k("git.pushWithTags",{repository:!0})],A.prototype,"pushFollowTags",1),D([k("git.pushWithTagsForce",{repository:!0})],A.prototype,"pushFollowTagsForce",1),D([k("git.pushRef",{repository:!0})],A.prototype,"pushRef",1),D([k("git.cherryPick",{repository:!0})],A.prototype,"cherryPick",1),D([k("git.graph.cherryPick",{repository:!0})],A.prototype,"cherryPick2",1),D([k("git.cherryPickAbort",{repository:!0})],A.prototype,"cherryPickAbort",1),D([k("git.pushTo",{repository:!0})],A.prototype,"pushTo",1),D([k("git.pushToForce",{repository:!0})],A.prototype,"pushToForce",1),D([k("git.pushTags",{repository:!0})],A.prototype,"pushTags",1),D([k("git.addRemote",{repository:!0})],A.prototype,"addRemote",1),D([k("git.removeRemote",{repository:!0})],A.prototype,"removeRemote",1),D([k("git.sync",{repository:!0})],A.prototype,"sync",1),D([k("git._syncAll")],A.prototype,"syncAll",1),D([k("git.syncRebase",{repository:!0})],A.prototype,"syncRebase",1),D([k("git.publish",{repository:!0})],A.prototype,"publish",1),D([k("git.ignore")],A.prototype,"ignore",1),D([k("git.revealInExplorer")],A.prototype,"revealInExplorer",1),D([k("git.revealFileInOS.linux"),k("git.revealFileInOS.mac"),k("git.revealFileInOS.windows")],A.prototype,"revealFileInOS",1),D([k("git.stash",{repository:!0})],A.prototype,"stash",1),D([k("git.stashStaged",{repository:!0})],A.prototype,"stashStaged",1),D([k("git.stashIncludeUntracked",{repository:!0})],A.prototype,"stashIncludeUntracked",1),D([k("git.stashPop",{repository:!0})],A.prototype,"stashPop",1),D([k("git.stashPopLatest",{repository:!0})],A.prototype,"stashPopLatest",1),D([k("git.stashPopEditor")],A.prototype,"stashPopEditor",1),D([k("git.stashApply",{repository:!0})],A.prototype,"stashApply",1),D([k("git.stashApplyLatest",{repository:!0})],A.prototype,"stashApplyLatest",1),D([k("git.stashApplyEditor")],A.prototype,"stashApplyEditor",1),D([k("git.stashDrop",{repository:!0})],A.prototype,"stashDrop",1),D([k("git.stashDropAll",{repository:!0})],A.prototype,"stashDropAll",1),D([k("git.stashDropEditor")],A.prototype,"stashDropEditor",1),D([k("git.stashView",{repository:!0})],A.prototype,"stashView",1),D([k("git.timeline.openDiff",{repository:!1})],A.prototype,"timelineOpenDiff",1),D([k("git.timeline.viewCommit",{repository:!1})],A.prototype,"timelineViewCommit",1),D([k("git.timeline.copyCommitId",{repository:!1})],A.prototype,"timelineCopyCommitId",1),D([k("git.timeline.copyCommitMessage",{repository:!1})],A.prototype,"timelineCopyCommitMessage",1),D([k("git.timeline.selectForCompare",{repository:!1})],A.prototype,"timelineSelectForCompare",1),D([k("git.timeline.compareWithSelected",{repository:!1})],A.prototype,"timelineCompareWithSelected",1),D([k("git.rebaseAbort",{repository:!0})],A.prototype,"rebaseAbort",1),D([k("git.closeAllDiffEditors",{repository:!0})],A.prototype,"closeDiffEditors",1),D([k("git.closeAllUnmodifiedEditors")],A.prototype,"closeUnmodifiedEditors",1),D([k("git.openRepositoriesInParentFolders")],A.prototype,"openRepositoriesInParentFolders",1),D([k("git.manageUnsafeRepositories")],A.prototype,"manageUnsafeRepositories",1),D([k("git.viewChanges",{repository:!0})],A.prototype,"viewChanges",1),D([k("git.viewStagedChanges",{repository:!0})],A.prototype,"viewStagedChanges",1),D([k("git.viewUntrackedChanges",{repository:!0})],A.prototype,"viewUnstagedChanges",1),D([k("git.copyCommitId",{repository:!0})],A.prototype,"copyCommitId",1),D([k("git.copyCommitMessage",{repository:!0})],A.prototype,"copyCommitMessage",1),D([k("git.viewCommit",{repository:!0})],A.prototype,"viewCommit",1),D([k("git.copyContentToClipboard")],A.prototype,"copyContentToClipboard",1),D([k("git.blame.toggleEditorDecoration")],A.prototype,"toggleBlameEditorDecoration",1),D([k("git.blame.toggleStatusBarItem")],A.prototype,"toggleBlameStatusBarItem",1),D([k("git.repositories.createBranch",{repository:!0})],A.prototype,"artifactGroupCreateBranch",1),D([k("git.repositories.createTag",{repository:!0})],A.prototype,"artifactGroupCreateTag",1),D([k("git.repositories.createWorktree",{repository:!0})],A.prototype,"artifactGroupCreateWorktree",1),D([k("git.repositories.checkout",{repository:!0})],A.prototype,"artifactCheckout",1),D([k("git.repositories.checkoutDetached",{repository:!0})],A.prototype,"artifactCheckoutDetached",1),D([k("git.repositories.merge",{repository:!0})],A.prototype,"artifactMerge",1),D([k("git.repositories.rebase",{repository:!0})],A.prototype,"artifactRebase",1),D([k("git.repositories.createFrom",{repository:!0})],A.prototype,"artifactCreateFrom",1),D([k("git.repositories.compareRef",{repository:!0})],A.prototype,"artifactCompareWith",1),D([k("git.repositories.deleteBranch",{repository:!0})],A.prototype,"artifactDeleteBranch",1),D([k("git.repositories.deleteTag",{repository:!0})],A.prototype,"artifactDeleteTag",1),D([k("git.repositories.stashView",{repository:!0})],A.prototype,"artifactStashView",1),D([k("git.repositories.stashApply",{repository:!0})],A.prototype,"artifactStashApply",1),D([k("git.repositories.stashPop",{repository:!0})],A.prototype,"artifactStashPop",1),D([k("git.repositories.stashDrop",{repository:!0})],A.prototype,"artifactStashDrop",1),D([k("git.repositories.openWorktree",{repository:!0})],A.prototype,"artifactOpenWorktree",1),D([k("git.repositories.openWorktreeInNewWindow",{repository:!0})],A.prototype,"artifactOpenWorktreeInNewWindow",1),D([k("git.repositories.deleteWorktree",{repository:!0})],A.prototype,"artifactDeleteWorktree",1),D([k("git.repositories.worktreeCopyBranchName",{repository:!0})],A.prototype,"artifactWorktreeCopyBranchName",1),D([k("git.repositories.worktreeCopyCommitHash",{repository:!0})],A.prototype,"artifactWorktreeCopyCommitHash",1),D([k("git.repositories.worktreeCopyPath",{repository:!0})],A.prototype,"artifactWorktreeCopyPath",1),D([k("git.repositories.copyCommitHash",{repository:!0})],A.prototype,"artifactCopyCommitHash",1),D([k("git.repositories.copyBranchName",{repository:!0})],A.prototype,"artifactCopyBranchName",1),D([k("git.repositories.copyTagName",{repository:!0})],A.prototype,"artifactCopyTagName",1),D([k("git.repositories.copyStashName",{repository:!0})],A.prototype,"artifactCopyStashName",1),D([k("git.repositories.stashCopyBranchName",{repository:!0})],A.prototype,"artifactStashCopyBranchName",1);var xt=require("vscode");var TN=1e3*60*3,IN=1e3*60*5;function BR(i,e,t,r){if(i==="~"){let o=xt.Uri.file(e).toString(),[a]=r.indexGroup.resourceStates.filter(s=>s.resourceUri.toString()===o);return a?"":"HEAD"}return/^~\d$/.test(i)?`:${i[1]}`:t&&(i==="index"||i==="wt")?"HEAD":i}var Tl=class{constructor(e,t){this.model=e;this.logger=t;let r=setInterval(()=>this.cleanup(),IN);this.disposables.push(e.onDidChangeRepository(this.onDidChangeRepository,this),e.onDidChangeOriginalResource(this.onDidChangeOriginalResource,this),xt.workspace.registerFileSystemProvider("git",this,{isReadonly:!0,isCaseSensitive:!0}),new xt.Disposable(()=>clearInterval(r)))}model;logger;_onDidChangeFile=new xt.EventEmitter;onDidChangeFile=this._onDidChangeFile.event;changedRepositoryRoots=new Set;cache=new Map;mtime=new Date().getTime();disposables=[];onDidChangeRepository({repository:e}){this.changedRepositoryRoots.add(e.root),this.eventuallyFireChangeEvents()}onDidChangeOriginalResource({uri:e}){if(e.scheme!=="file")return;let t=je(e,"~"),r=je(e,"",{replaceFileExtension:!0});this.mtime=new Date().getTime(),this._onDidChangeFile.fire([{type:xt.FileChangeType.Changed,uri:t},{type:xt.FileChangeType.Changed,uri:r}])}eventuallyFireChangeEvents(){this.fireChangeEvents()}async fireChangeEvents(){if(!xt.window.state.focused){let t=We(xt.window.onDidChangeWindowState,r=>r.focused);await Yi(t)}let e=[];for(let{uri:t}of this.cache.values()){let r=t.fsPath;for(let n of this.changedRepositoryRoots)if(nr(n,r)){e.push({type:xt.FileChangeType.Changed,uri:t});break}}e.length>0&&(this.mtime=new Date().getTime(),this._onDidChangeFile.fire(e)),this.changedRepositoryRoots.clear()}cleanup(){let e=new Date().getTime(),t=new Map;for(let r of this.cache.values()){let{path:n}=kr(r.uri);(xt.workspace.textDocuments.filter(a=>a.uri.scheme==="file").some(a=>et(a.uri.fsPath,n))||e-r.timestamp<TN)&&t.set(r.uri.toString(),r)}this.cache=t}async getOrOpenRepository(e){let t=this.model.getRepository(e);if(t)return t;if(xt.workspace.workspaceFolders===void 0||xt.workspace.isAgentSessionsWorkspace){let r=typeof e=="string"?e:kr(e).path;this.logger.info(`[GitFileSystemProvider][getOrOpenRepository] Opening repository for ${r}`),await this.model.openRepository(r,!0,!0),t=this.model.getRepository(e)}return t}watch(){return wn}async stat(e){await this.model.isInitialized;let{submoduleOf:t,path:r,ref:n}=kr(e),o=t?await this.getOrOpenRepository(t):await this.getOrOpenRepository(e);if(!o)throw this.logger.warn(`[GitFileSystemProvider][stat] Repository not found - ${e.toString()}`),xt.FileSystemError.FileNotFound();try{let a=await o.getObjectDetails(BR(n,r,t,o),r);return{type:xt.FileType.File,size:a.size,mtime:this.mtime,ctime:0}}catch{if(n===await o.getEmptyTree())return this.logger.warn(`[GitFileSystemProvider][stat] Empty tree - ${e.toString()}`),{type:xt.FileType.File,size:0,mtime:this.mtime,ctime:0};throw this.logger.warn(`[GitFileSystemProvider][stat] File not found - ${e.toString()}`),xt.FileSystemError.FileNotFound()}}readDirectory(){throw new Error("Method not implemented.")}createDirectory(){throw new Error("Method not implemented.")}async readFile(e){await this.model.isInitialized;let{path:t,ref:r,submoduleOf:n}=kr(e);if(n){let c=await this.getOrOpenRepository(n);if(!c)throw xt.FileSystemError.FileNotFound();let l=new TextEncoder;return r==="index"?l.encode(await c.diffIndexWithHEAD(t)):l.encode(await c.diffWithHEAD(t))}let o=await this.getOrOpenRepository(e);if(!o)throw this.logger.warn(`[GitFileSystemProvider][readFile] Repository not found - ${e.toString()}`),xt.FileSystemError.FileNotFound();let a=new Date().getTime(),s={uri:e,timestamp:a};this.cache.set(e.toString(),s);try{return await o.buffer(BR(r,t,n,o),t)}catch{if(r===await o.getEmptyTree())return this.logger.warn(`[GitFileSystemProvider][readFile] Empty tree - ${e.toString()}`),new Uint8Array(0);throw this.logger.warn(`[GitFileSystemProvider][readFile] File not found - ${e.toString()}`),xt.FileSystemError.FileNotFound()}}writeFile(){throw new Error("Method not implemented.")}delete(){throw new Error("Method not implemented.")}rename(){throw new Error("Method not implemented.")}dispose(){this.disposables.forEach(e=>e.dispose())}};D([qn(1100)],Tl.prototype,"eventuallyFireChangeEvents",1),D([Nr],Tl.prototype,"fireChangeEvents",1);var It=require("vscode"),GR=tt(require("path"));function FR(i,e){return i===e?!0:i?.id===e?.id&&i?.name===e?.name&&i?.revision===e?.revision}var pp=class pp{constructor(e){this.model=e;let t=fi(We(It.workspace.onDidSaveTextDocument,r=>/\.gitignore$|\.git\/info\/exclude$/.test(r.uri.path)),e.onDidOpenRepository,e.onDidCloseRepository);this.disposables.push(t(()=>this._onDidChangeDecorations.fire(void 0))),this.disposables.push(It.window.registerFileDecorationProvider(this))}model;static Decoration={color:new It.ThemeColor("gitDecoration.ignoredResourceForeground")};_onDidChangeDecorations=new It.EventEmitter;onDidChangeFileDecorations=this._onDidChangeDecorations.event;queue=new Map;disposables=[];async provideFileDecoration(e){let t=this.model.getRepository(e);if(!t)return;let r=this.queue.get(t.root);r||(r={repository:t,queue:new Map},this.queue.set(t.root,r));let n=r.queue.get(e.fsPath);return n||(n=new Em,r.queue.set(e.fsPath,n),this.checkIgnoreSoon()),await n.promise}checkIgnoreSoon(){let e=new Map(this.queue.entries());this.queue.clear();for(let[,t]of e){let r=[...t.queue.keys()];t.repository.checkIgnore(r).then(n=>{for(let[o,a]of t.queue.entries())a.resolve(n.has(o)?pp.Decoration:void 0)},n=>{n.gitErrorCode!==Q.IsInSubmodule&&console.error(n);for(let[,o]of t.queue.entries())o.reject(n)})}}dispose(){this.disposables.forEach(e=>e.dispose()),this.queue.clear()}};D([qn(500)],pp.prototype,"checkIgnoreSoon",1);var s_=pp,c_=class i{constructor(e){this.repository=e;this.disposables.push(It.window.registerFileDecorationProvider(this),Zy(e.onDidRunGitStatus,()=>this.onDidRunGitStatus()))}repository;static SubmoduleDecorationData={tooltip:"Submodule",badge:"S",color:new It.ThemeColor("gitDecoration.submoduleResourceForeground")};_onDidChangeDecorations=new It.EventEmitter;onDidChangeFileDecorations=this._onDidChangeDecorations.event;disposables=[];decorations=new Map;onDidRunGitStatus(){let e=new Map;this.collectDecorationData(this.repository.indexGroup,e),this.collectDecorationData(this.repository.untrackedGroup,e),this.collectDecorationData(this.repository.workingTreeGroup,e),this.collectDecorationData(this.repository.mergeGroup,e),this.collectSubmoduleDecorationData(e);let t=new Set([...this.decorations.keys()].concat([...e.keys()]));this.decorations=e,this._onDidChangeDecorations.fire([...t.values()].map(r=>It.Uri.parse(r,!0)))}collectDecorationData(e,t){for(let r of e.resourceStates){let n=r.resourceDecoration;n&&(t.set(r.original.toString(),n),r.type===w.DELETED&&r.rightUri&&t.set(r.rightUri.toString(),n),(r.type===w.INDEX_RENAMED||r.type===w.INTENT_TO_RENAME)&&t.set(r.resourceUri.toString(),n))}}collectSubmoduleDecorationData(e){for(let t of this.repository.submodules)e.set(It.Uri.file(GR.join(this.repository.root,t.path)).toString(),i.SubmoduleDecorationData)}provideFileDecoration(e){return this.decorations.get(e.toString())}dispose(){this.disposables.forEach(e=>e.dispose())}},l_=class{constructor(e){this.repository=e;this.disposables.push(It.window.registerFileDecorationProvider(this),Zy(e.historyProvider.onDidChangeCurrentHistoryItemRefs,()=>this.onDidChangeCurrentHistoryItemRefs()))}repository;_onDidChangeDecorations=new It.EventEmitter;onDidChangeFileDecorations=this._onDidChangeDecorations.event;_currentHistoryItemRef;_currentHistoryItemRemoteRef;_decorations=new Map;disposables=[];async onDidChangeCurrentHistoryItemRefs(){let e=this.repository.historyProvider,t=e.currentHistoryItemRef,r=e.currentHistoryItemRemoteRef;if(FR(this._currentHistoryItemRef,t)&&FR(this._currentHistoryItemRemoteRef,r))return;let n=new Map;await this.collectIncomingChangesFileDecorations(n);let o=new Set([...this._decorations.keys()].concat([...n.keys()]));this._decorations=n,this._currentHistoryItemRef=t,this._currentHistoryItemRemoteRef=r,this._onDidChangeDecorations.fire([...o.values()].map(a=>It.Uri.parse(a,!0)))}async collectIncomingChangesFileDecorations(e){for(let t of await this.getIncomingChanges())switch(t.status){case w.INDEX_ADDED:e.set(t.uri.toString(),{badge:"\u2193A",tooltip:It.l10n.t("Incoming Changes (added)")});break;case w.DELETED:e.set(t.uri.toString(),{badge:"\u2193D",tooltip:It.l10n.t("Incoming Changes (deleted)")});break;case w.INDEX_RENAMED:e.set(t.originalUri.toString(),{badge:"\u2193R",tooltip:It.l10n.t("Incoming Changes (renamed)")});break;case w.MODIFIED:e.set(t.uri.toString(),{badge:"\u2193M",tooltip:It.l10n.t("Incoming Changes (modified)")});break;default:{e.set(t.uri.toString(),{badge:"\u2193~",tooltip:It.l10n.t("Incoming Changes")});break}}}async getIncomingChanges(){try{let e=this.repository.historyProvider,t=e.currentHistoryItemRef,r=e.currentHistoryItemRemoteRef;if(!t||!r)return[];let n=await e.resolveHistoryItemRefsCommonAncestor([t.id,r.id]);return n?await this.repository.diffBetweenWithStats(n,r.id):[]}catch{return[]}}provideFileDecoration(e){return this._decorations.get(e.toString())}dispose(){Le(this.disposables)}},mp=class{constructor(e){this.model=e;this.disposables.push(new s_(e)),We(It.workspace.onDidChangeConfiguration,r=>r.affectsConfiguration("git.decorations.enabled"))(this.update,this,this.disposables),this.update()}model;enabled=!1;disposables=[];modelDisposables=[];providers=new Map;update(){let t=It.workspace.getConfiguration("git").get("decorations.enabled")===!0;this.enabled!==t&&(t?this.enable():this.disable(),this.enabled=t)}enable(){this.model.onDidOpenRepository(this.onDidOpenRepository,this,this.modelDisposables),this.model.onDidCloseRepository(this.onDidCloseRepository,this,this.modelDisposables),this.model.repositories.forEach(this.onDidOpenRepository,this)}disable(){this.modelDisposables=Le(this.modelDisposables),this.providers.forEach(e=>e.dispose()),this.providers.clear()}onDidOpenRepository(e){let t=Fs([new c_(e),new l_(e)]);this.providers.set(e,t)}onDidCloseRepository(e){let t=this.providers.get(e);t&&(t.dispose(),this.providers.delete(e))}dispose(){this.disable(),this.disposables=Le(this.disposables)}};var ni=require("vscode");var hp=class{constructor(e,t,r){this.ipc=e;this.logger=t;e&&(this.disposable=e.registerHandler("askpass",this));let n=this.ipc?r.askpass:r.askpassEmpty,o=this.ipc?r.sshAskpass:r.sshAskpassEmpty;this.env={GIT_ASKPASS:n,VSCODE_GIT_ASKPASS_NODE:process.execPath,VSCODE_GIT_ASKPASS_EXTRA_ARGS:"",VSCODE_GIT_ASKPASS_MAIN:r.askpassMain},this.sshEnv={SSH_ASKPASS:o,SSH_ASKPASS_REQUIRE:"force"}}ipc;logger;env;sshEnv;disposable=wn;cache=new Map;cacheEvictionTimers=new Map;credentialsProviders=new Set;featureDescription="git auth provider";async handle(e){return this.logger.trace(`[Askpass][handle] ${JSON.stringify(e)}`),ni.workspace.getConfiguration("git",null).get("enabled")?e.askpassType==="https"?await this.handleAskpass(e.argv):await this.handleSSHAskpass(e.argv):(this.logger.trace("[Askpass][handle] Git is disabled"),"")}async handleAskpass(e){let t=e[2],r=e[4].replace(/^["']+|["':]+$/g,"");this.logger.trace(`[Askpass][handleAskpass] request: ${t}, host: ${r}`);let n=ni.Uri.parse(r),o=n.authority.replace(/^.*@/,""),a=/password/i.test(t),s=this.cache.get(o);if(s&&a)return this.cache.delete(o),clearTimeout(this.cacheEvictionTimers.get(o)),this.cacheEvictionTimers.delete(o),s.password;if(!a)for(let l of this.credentialsProviders)try{let u=await l.getCredentials(n);if(u)return this.cache.set(o,u),clearTimeout(this.cacheEvictionTimers.get(o)),this.cacheEvictionTimers.set(o,setTimeout(()=>{this.cache.delete(o),this.cacheEvictionTimers.delete(o)},6e4)),u.username}catch{}let c={password:a,placeHolder:t,prompt:`Git: ${r}`,ignoreFocusOut:!0};return await ni.window.showInputBox(c)||""}async handleSSHAskpass(e){let t=e[3];if(/passphrase/i.test(t)){let s;e[5]&&!/key/i.test(e[5])?s=ov(e,5):e[6]&&(s=ov(e,6)),this.logger.trace(`[Askpass][handleSSHAskpass] request: ${t}, file: ${s}`);let c={password:!0,placeHolder:ni.l10n.t("Passphrase"),prompt:s?`SSH Key: ${s}`:void 0,ignoreFocusOut:!0};return await ni.window.showInputBox(c)||""}let r=e[6].replace(/^["']+|["':]+$/g,""),n=e[15];this.logger.trace(`[Askpass][handleSSHAskpass] request: ${t}, host: ${r}, fingerprint: ${n}`);let o={canPickMany:!1,ignoreFocusOut:!0,placeHolder:ni.l10n.t("Are you sure you want to continue connecting?"),title:ni.l10n.t('"{0}" has fingerprint "{1}"',r??"",n??"")},a=[ni.l10n.t("yes"),ni.l10n.t("no")];return await ni.window.showQuickPick(a,o)??""}getEnv(){return ni.workspace.getConfiguration("git").get("useIntegratedAskPass")?{...this.env,...this.sshEnv}:{}}getTerminalEnv(){let e=ni.workspace.getConfiguration("git");return e.get("useIntegratedAskPass")&&e.get("terminalAuthentication")?this.env:{}}registerCredentialsProvider(e){return this.credentialsProviders.add(e),Wr(()=>this.credentialsProviders.delete(e))}dispose(){for(let e of this.cacheEvictionTimers.values())clearTimeout(e);this.disposable.dispose()}};var pI=tt(V0());var tn=require("vscode");var J0=tt(require("querystring")),YB=Cn?new Set(["git","http","https","ssh"]):new Set(["file","git","http","https","ssh"]),$B=/^$|[~\^:\\\*\s\[\]]|^-|^\.|\/\.|\.\.|\.lock\/|\.lock$|\/$|\.$/,yy=class{constructor(e){this.logger=e;this.disposables.push(tn.window.registerUriHandler(this))}logger;disposables=[];handleUri(e){this.logger.info(`[GitProtocolHandler][handleUri] URI:(${e.toString()})`),e.path==="/clone"&&this.clone(e)}async clone(e){let t=J0.parse(e.query),r=t.ref;if(!t.url){this.logger.warn("[GitProtocolHandler][clone] Failed to open URI:"+e.toString());return}if(Array.isArray(t.url)&&t.url.length===0){this.logger.warn("[GitProtocolHandler][clone] Failed to open URI:"+e.toString());return}if(r!==void 0&&typeof r!="string"){this.logger.warn("[GitProtocolHandler][clone] Failed to open URI due to multiple references:"+e.toString());return}let n;try{let o=Array.isArray(t.url)?t.url[0]:t.url;if(o=o.replace(/^(git@[^\/:]+)(:)/i,"ssh://$1/"),n=tn.Uri.parse(o,!0),!YB.has(n.scheme.toLowerCase()))throw new Error("Unsupported scheme.");if(typeof r=="string"&&$B.test(r))throw new Error("Invalid reference.")}catch{this.logger.warn("[GitProtocolHandler][clone] Invalid URI:"+e.toString());return}if((await tn.commands.getCommands(!0)).includes("git.clone")){let o=n.toString(!0);this.logger.info(`[GitProtocolHandler][clone] Executing git.clone for ${o}`),tn.commands.executeCommand("git.clone",o,void 0,{ref:r})}else{this.logger.error("[GitProtocolHandler][clone] Could not complete git clone operation as git installation was not found.");let o=tn.l10n.t("Could not clone your repository as Git is not installed."),a=tn.l10n.t("Download Git");await tn.window.showErrorMessage(o,{modal:!0},a)===a&&tn.commands.executeCommand("vscode.open",tn.Uri.parse("https://aka.ms/vscode-download-git"));return}}dispose(){this.disposables=Le(this.disposables)}};var Q0=require("vscode");function q0(i,e,t){if(typeof t.value!="function")throw new Error("not supported");let r=t.value;t.value=function(...n){return console.warn(`Git extension API method '${String(e)}' is deprecated.`),r.apply(this,n)}}var xs=class{enabled=!1;_onDidChangeEnablement=new Q0.EventEmitter;onDidChangeEnablement=this._onDidChangeEnablement.event;_model=void 0;_cloneManager=void 0;set model(e){this._model=e;let t=!!e;this.enabled!==t&&(this.enabled=t,this._onDidChangeEnablement.fire(this.enabled))}get model(){return this._model}set cloneManager(e){this._cloneManager=e}constructor(e){e&&(this.enabled=!0,this._model=e.model,this._cloneManager=e.cloneManager)}async getGitPath(){if(!this._model)throw new Error("Git model not found");return this._model.git.path}async getRepositories(){if(!this._model)throw new Error("Git model not found");return this._model.repositories.map(e=>new Vt(e))}getAPI(e){if(!this._model||!this._cloneManager)throw new Error("Git model not found");if(e!==1)throw new Error(`No API version ${e} found.`);return new Hm({model:this._model,cloneManager:this._cloneManager})}};D([q0],xs.prototype,"getGitPath",1),D([q0],xs.prototype,"getRepositories",1);var al=tt(require("path")),hI=tt(require("fs")),Oo=tt(require("os"));var ol=require("vscode");var vy=class{constructor(e,t){this.context=e;this.envProviders=t;this.disposable=We(ol.workspace.onDidChangeConfiguration,r=>r.affectsConfiguration("git"))(this.refresh,this),this.refresh()}context;envProviders;disposable;refresh(){let e=ol.workspace.getConfiguration("git",null);if(this.context.environmentVariableCollection.clear(),!e.get("enabled",!0))return;let t=[];for(let r of this.envProviders){let n=r?.getTerminalEnv()??{};for(let o of Object.keys(n))this.context.environmentVariableCollection.replace(o,n[o]);r?.featureDescription&&Object.keys(n).length>0&&t.push(r.featureDescription)}t.length&&(this.context.environmentVariableCollection.description=ol.l10n.t("Enables the following features: {0}",t.join(", ")))}dispose(){this.disposable.dispose()}},_y=class{constructor(e,t){this.model=e;this.logger=t;ol.window.onDidEndTerminalShellExecution(this.onDidEndTerminalShellExecution,this,this.disposables)}model;logger;subcommands=new Set(["add","branch","checkout","cherry-pick","clean","commit","fetch","merge","mv","rebase","reset","restore","revert","rm","pull","push","stash","switch"]);disposables=[];onDidEndTerminalShellExecution(e){let{execution:t,exitCode:r,shellIntegration:n}=e,[o,a]=t.commandLine.value.split(/\s+/),s=t.cwd??n.cwd;if(o.toLowerCase()!=="git"||!this.subcommands.has(a?.toLowerCase())||!s||r!==0)return;this.logger.trace(`[TerminalShellExecutionManager][onDidEndTerminalShellExecution] Matched git subcommand: ${a}`);let c=this.model.getRepository(s);if(!c){this.logger.trace(`[TerminalShellExecutionManager][onDidEndTerminalShellExecution] Unable to find repository for current working directory: ${s.toString()}`);return}c.status()}dispose(){Le(this.disposables)}};var Xw=tt(require("path")),X0=tt(require("http")),Z0=tt(require("os")),by=tt(require("fs")),Cy=tt(require("crypto"));function KB(i){return process.platform==="win32"?`\\\\.\\pipe\\vscode-git-${i}-sock`:process.platform!=="darwin"&&process.env.XDG_RUNTIME_DIR?Xw.join(process.env.XDG_RUNTIME_DIR,`vscode-git-${i}.sock`):Xw.join(Z0.tmpdir(),`vscode-git-${i}.sock`)}async function eI(i){let e=X0.createServer(),t=Cy.createHash("sha256");if(i)t.update(i);else{let n=await new Promise((o,a)=>Cy.randomBytes(20,(s,c)=>s?a(s):o(c)));t.update(n)}let r=KB(t.digest("hex").substring(0,10));if(process.platform!=="win32")try{await by.promises.unlink(r)}catch{}return new Promise((n,o)=>{try{e.on("error",a=>o(a)),e.listen(r),n(new Zw(e,r))}catch(a){o(a)}})}var Zw=class{constructor(e,t){this.server=e;this._ipcHandlePath=t;this.server.on("request",this.onRequest.bind(this))}server;_ipcHandlePath;handlers=new Map;get ipcHandlePath(){return this._ipcHandlePath}registerHandler(e,t){return this.handlers.set(`/${e}`,t),Wr(()=>this.handlers.delete(e))}onRequest(e,t){if(!e.url){console.warn("Request lacks url");return}let r=this.handlers.get(e.url);if(!r){console.warn(`IPC handler for ${e.url} not found`);return}let n=[];e.on("data",o=>n.push(o)),e.on("end",()=>{let o=JSON.parse(Buffer.concat(n).toString("utf8"));r.handle(o).then(a=>{t.writeHead(200),t.end(JSON.stringify(a))},()=>{t.writeHead(500),t.end()})})}getEnv(){return{VSCODE_GIT_IPC_HANDLE:this.ipcHandlePath}}getTerminalEnv(){return{VSCODE_GIT_IPC_HANDLE:this.ipcHandlePath}}dispose(){this.handlers.clear(),this.server.close(),this._ipcHandlePath&&process.platform!=="win32"&&by.unlinkSync(this._ipcHandlePath)}};var wy=tt(require("path")),Hr=require("vscode");var Ey=class{env;disposable=wn;featureDescription="git editor";constructor(e){e&&(this.disposable=e.registerHandler("git-editor",this)),this.env={GIT_EDITOR:`"${wy.join(__dirname,e?"git-editor.sh":"git-editor-empty.sh")}"`,VSCODE_GIT_EDITOR_NODE:process.execPath,VSCODE_GIT_EDITOR_EXTRA_ARGS:"",VSCODE_GIT_EDITOR_MAIN:wy.join(__dirname,"git-editor-main.js")}}async handle({commitMessagePath:e}){if(e){let t=Hr.Uri.file(e),r=await Hr.workspace.openTextDocument(t);return await Hr.window.showTextDocument(r,{preview:!1}),new Promise(n=>{let o=Hr.window.tabGroups.onDidChangeTabs(async a=>{if(a.closed.some(s=>s.input instanceof Hr.TabInputText&&s.input.uri.toString()===t.toString()))return o.dispose(),n(!0)})})}return Promise.resolve(!1)}getEnv(){return Hr.workspace.getConfiguration("git").get("useEditorAsCommitInput")?this.env:{}}getTerminalEnv(){let e=Hr.workspace.getConfiguration("git");return e.get("useEditorAsCommitInput")&&e.get("terminalGitEditor")?this.env:{}}dispose(){this.disposable.dispose()}},Dy=class{constructor(e){this._model=e}_model;_regex=/^#\s+(modified|new file|deleted|renamed|copied|type change):\s+(?<file1>.*?)(?:\s+->\s+(?<file2>.*))*$/gm;provideDocumentLinks(e,t){if(t.isCancellationRequested)return[];let r=this._model.getRepository(e.uri);if(!r)return[];let n=[];for(let o of e.getText().matchAll(this._regex)){if(!o.groups)continue;let{file1:a,file2:s}=o.groups;a&&n.push(this._createDocumentLink(r,e,o,a)),s&&n.push(this._createDocumentLink(r,e,o,s))}return n}_createDocumentLink(e,t,r,n){let o=r[0].indexOf(n),a=t.positionAt(r.index+o),s=t.positionAt(r.index+o+n.length),c=new Hr.DocumentLink(new Hr.Range(a,s),Hr.Uri.file(wy.join(e.root,n)));return c.tooltip=Hr.l10n.t("Open File"),c}};var eE=tt(require("path")),Rt=tt(require("vscode"));var Ry=class{constructor(e){this.model=e;this.providerRegistration=Rt.Disposable.from(Rt.workspace.registerEditSessionIdentityProvider("file",this),Rt.workspace.onWillCreateEditSessionIdentity(t=>{t.waitUntil(this._onWillCreateEditSessionIdentity(t.workspaceFolder).catch(r=>{if(r instanceof Rt.CancellationError)throw r}))}))}model;providerRegistration;dispose(){this.providerRegistration.dispose()}async provideEditSessionIdentity(e,t){await this.model.openRepository(eE.dirname(e.uri.fsPath));let r=this.model.getRepository(e.uri);if(await r?.status(),!r||!r?.HEAD?.upstream)return;let n=r.remotes.find(a=>a.name===r.HEAD?.upstream?.remote)?.pushUrl?.replace(/^(git@[^\/:]+)(:)/i,"ssh://$1/"),o=n?await Rt.workspace.getCanonicalUri(Rt.Uri.parse(n),{targetScheme:"https"},t):null;return JSON.stringify({remote:o?.toString()??n,ref:r.HEAD?.upstream?.name??null,sha:r.HEAD?.commit??null})}provideEditSessionIdentityMatch(e,t){try{let r=tI(e),n=tI(t);return r.remote===n.remote&&r.ref===n.ref&&r.sha===n.sha?Rt.EditSessionIdentityMatch.Complete:r.remote===n.remote&&r.ref===n.ref&&r.sha!==n.sha?Rt.EditSessionIdentityMatch.Partial:Rt.EditSessionIdentityMatch.None}catch{return Rt.EditSessionIdentityMatch.Partial}}async _onWillCreateEditSessionIdentity(e){await this._doPublish(e)}async _doPublish(e){await this.model.openRepository(eE.dirname(e.uri.fsPath));let t=this.model.getRepository(e.uri);if(t)if(await t.status(),t.HEAD?.commit){if(!t.HEAD?.upstream&&t.HEAD?.type===de.Head){let r=Rt.l10n.t("Publish Branch");if(await Rt.window.showInformationMessage(Rt.l10n.t("The current branch is not published to the remote. Would you like to publish it to access your changes elsewhere?"),{modal:!0},r)!==r)throw new Rt.CancellationError;await Rt.commands.executeCommand("git.publish")}}else{let r=Rt.l10n.t("Yes");if(await Rt.window.showInformationMessage(Rt.l10n.t("Would you like to publish this repository to continue working on it elsewhere?"),{modal:!0},r)!==r)throw new Rt.CancellationError;await t.commit("Initial commit",{all:!0}),await Rt.commands.executeCommand("git.publish")}}};function tI(i){let{remote:e,ref:t,sha:r}=JSON.parse(i);return typeof e=="string"&&e.endsWith(".git")&&(e=e.slice(0,e.length-4)),{remote:e,ref:t,sha:r}}var ut=require("vscode");var Sy=class{constructor(e){this.model=e;this.diagnostics=ut.languages.createDiagnosticCollection(),this.migrateInputValidationSettings().then(()=>{Pa(We(ut.workspace.onDidChangeTextDocument,t=>t.document.uri.scheme==="vscode-scm"),t=>t.document)(this.onDidChangeTextDocument,this,this.disposables),We(ut.workspace.onDidChangeConfiguration,t=>t.affectsConfiguration("git.inputValidation")||t.affectsConfiguration("git.inputValidationLength")||t.affectsConfiguration("git.inputValidationSubjectLength"))(this.onDidChangeConfiguration,this,this.disposables)})}model;diagnostics;severity=ut.DiagnosticSeverity.Warning;disposables=[];getDiagnostics(e){return this.diagnostics.get(e)??[]}async migrateInputValidationSettings(){try{let e=ut.workspace.getConfiguration("git"),t=e.inspect("inputValidation");if(t===void 0)return;typeof t.workspaceValue=="string"&&await e.update("inputValidation",t.workspaceValue!=="off",!1),typeof t.globalValue=="string"&&await e.update("inputValidation",t.workspaceValue!=="off",!0)}catch{}}onDidChangeConfiguration(){for(let e of this.model.repositories)this.onDidChangeTextDocument(e.inputBox.document)}onDidChangeTextDocument(e){let t=ut.workspace.getConfiguration("git");if(!t.get("inputValidation",!1)){this.diagnostics.set(e.uri,void 0);return}if(/^\s+$/.test(e.getText())){let s=new ut.Range(e.lineAt(0).range.start,e.lineAt(e.lineCount-1).range.end),c=new ut.Diagnostic(s,ut.l10n.t("Current commit message only contains whitespace characters"),this.severity);c.code="empty_message",this.diagnostics.set(e.uri,[c]);return}let n=[],o=t.get("inputValidationLength",50),a=t.get("inputValidationSubjectLength",void 0);for(let s=0;s<e.lineCount;s++){let c=e.lineAt(s),l=s===0?a??o:o;if(c.text.length>l){let u=c.text.length-l,f=u===1?ut.l10n.t("{0} character over {1} in current line",u,l):ut.l10n.t("{0} characters over {1} in current line",u,l),m=new ut.Diagnostic(c.range,f,this.severity);m.code="line_length",n.push(m)}}this.diagnostics.set(e.uri,n)}dispose(){Le(this.disposables)}},xy=class{constructor(e){this.diagnosticsManager=e;this.disposables.push(ut.languages.registerCodeActionsProvider({scheme:"vscode-scm"},this))}diagnosticsManager;disposables=[];provideCodeActions(e,t){let r=[],n=this.diagnosticsManager.getDiagnostics(e.uri),o=this.getWrapAllLinesCodeAction(e,n);for(let a of n)if(a.range.contains(t))switch(a.code){case"empty_message":{let s=new ut.WorkspaceEdit;s.delete(e.uri,a.range);let c=new ut.CodeAction(ut.l10n.t("Clear whitespace characters"),ut.CodeActionKind.QuickFix);c.diagnostics=[a],c.edit=s,r.push(c);break}case"line_length":{let s=this.getWrapLineWorkspaceEdit(e,a.range),c=new ut.CodeAction(ut.l10n.t("Hard wrap line"),ut.CodeActionKind.QuickFix);c.diagnostics=[a],c.edit=s,r.push(c),o&&(o.diagnostics=[a],r.push(o));break}}return r}getWrapLineWorkspaceEdit(e,t){let r=this.wrapTextDocumentLine(e,t.start.line),n=new ut.WorkspaceEdit;return n.replace(e.uri,t,r.join(`
`)),n}getWrapAllLinesCodeAction(e,t){let r=t.filter(o=>o.code==="line_length");if(r.length<2)return;let n=new ut.CodeAction(ut.l10n.t("Hard wrap all lines"),ut.CodeActionKind.QuickFix);return n.edit=this.getWrapAllLinesWorkspaceEdit(e,r),n}getWrapAllLinesWorkspaceEdit(e,t){let r=new ut.WorkspaceEdit;for(let n of t){let o=this.wrapTextDocumentLine(e,n.range.start.line);r.replace(e.uri,n.range,o.join(`
`))}return r}wrapTextDocumentLine(e,t){let r=ut.workspace.getConfiguration("git"),n=r.get("inputValidationLength",50),o=r.get("inputValidationSubjectLength",void 0),a=t===0?o??n:n,s=[],c=e.lineAt(t).text.trim(),l=0;for(;c.length-l>a;){let u=c.lastIndexOf(" ",l+a);if(u!==-1&&u>l)s.push(c.substring(l,u)),l=u+1;else{let f=c.indexOf(" ",l+a);f!==-1?(s.push(c.substring(l,f)),l=f+1):(s.push(c.substring(l)),l=c.length)}}return l<c.length&&s.push(c.substring(l)),s}dispose(){Le(this.disposables)}};var ke=require("vscode");function rI(i,e){return i.some(t=>t.modified.startLineNumber<=e&&e<t.modified.endLineNumberExclusive)}function Py(i,e){return e-i}function jB(i,e){if(e.length===0)return i;for(let t of e){if(i<t.modified.startLineNumber)break;if(t.kind===ke.TextEditorChangeKind.Addition)i=i-Py(t.modified.startLineNumber,t.modified.endLineNumberExclusive);else if(t.kind===ke.TextEditorChangeKind.Deletion)i=i+Py(t.original.startLineNumber,t.original.endLineNumberExclusive);else if(t.kind===ke.TextEditorChangeKind.Modification){let r=Py(t.original.startLineNumber,t.original.endLineNumberExclusive),n=Py(t.modified.startLineNumber,t.modified.endLineNumberExclusive);r!==n&&(i=i-(n-r))}else throw new Error("Unexpected change kind")}return i}function iI(i){let e=new ke.Position(i,Number.MAX_SAFE_INTEGER);return new ke.Range(e,e)}function nI(i){return i.scheme==="file"||Rn(i)}function zB(i,e){if(i===e)return!0;if(!i||!e||i.resource.toString()!==e.resource.toString()||i.blameInformation.length!==e.blameInformation.length)return!1;for(let t=0;t<i.blameInformation.length;t++){if(i.blameInformation[t].lineNumber!==e.blameInformation[t].lineNumber)return!1;let r=i.blameInformation[t].blameInformation,n=e.blameInformation[t].blameInformation;if(typeof r=="string"&&typeof n=="string"){if(r!==n)return!1}else if(typeof r!="string"&&typeof n!="string"){if(r.hash!==n.hash)return!1}else return!1}return!0}var tE=class{_cache=new Map;clear(){this._cache.clear()}delete(e){return this._cache.delete(e)}get(e,t,r){let n=this._getCacheKey(t,r);return this._cache.get(e)?.get(n)}set(e,t,r,n){this._cache.has(e)||this._cache.set(e,new $o(100));let o=this._getCacheKey(t,r);this._cache.get(e).set(o,n)}_getCacheKey(e,t){return je(e,t).toString()}},nm=class{constructor(e){this._model=e;ke.workspace.onDidChangeConfiguration(this._onDidChangeConfiguration,this,this._disposables),this._onDidChangeConfiguration()}_model;_subjectMaxLength=50;_onDidChangeBlameInformation=new ke.EventEmitter;onDidChangeBlameInformation=this._onDidChangeBlameInformation.event;_textEditorBlameInformation;get textEditorBlameInformation(){return this._textEditorBlameInformation}set textEditorBlameInformation(e){zB(this._textEditorBlameInformation,e)||(this._textEditorBlameInformation=e,this._onDidChangeBlameInformation.fire())}_HEAD;_commitInformationCache=new $o(100);_repositoryBlameCache=new tE;_editorDecoration;_statusBarItem;_repositoryDisposables=new Map;_enablementDisposables=[];_disposables=[];formatBlameInformationMessage(e,t,r){let n={hash:r.hash,hashShort:Hs(e,r.hash),subject:Wo(Ei(r.subject??"",this._subjectMaxLength)),authorName:r.authorName??"",authorEmail:r.authorEmail??"",authorDate:new Date(r.authorDate??new Date).toLocaleString(),authorDateAgo:Ho(r.authorDate??new Date,!0,!0)};return t.replace(/\$\{(.+?)\}/g,(o,a)=>n.hasOwnProperty(a)?n[a]:`\${${a}}`)}async getBlameInformationHover(e,t){let r=[],n,o,a,s=this._model.getRepository(e);if(s){try{o=this._commitInformationCache.get(t.hash),o||(o=await s.getCommit(t.hash),this._commitInformationCache.set(t.hash,o));let _={commits:[{hash:t.hash,authorName:t.authorName,authorEmail:t.authorEmail}],size:jm};n=(await zs(this._model,s,_))?.get(t.hash)}catch{}(await s.getUnpublishedCommits()).has(t.hash)||r.push(...await Cl(this._model,s)??[]),a=await Vs(this._model,s,o?.message??t.subject??"")}let c=o?.hash??t.hash,l=o?.authorName??t.authorName,u=o?.authorEmail??t.authorEmail,f=o?.authorDate??t.authorDate,m=a??o?.message??t.subject??"",h=[El(e,c),Dl(r,c)];return h.push([{title:"$(gear)",tooltip:ke.l10n.t("Open Settings"),command:"workbench.action.openSettings",arguments:["git.blame"]}]),wl(n,l,u,f,m,o?.shortStat,h,o?.coAuthors)}_onDidChangeConfiguration(e){if(e&&!e.affectsConfiguration("git.blame.ignoreWhitespace")&&!e.affectsConfiguration("git.blame.editorDecoration.enabled")&&!e.affectsConfiguration("git.blame.statusBarItem.enabled"))return;if(e&&e.affectsConfiguration("git.blame.ignoreWhitespace")){this._repositoryBlameCache.clear(),this._updateTextEditorBlameInformation(ke.window.activeTextEditor);return}let t=ke.workspace.getConfiguration("git"),r=t.get("blame.editorDecoration.enabled")===!0,n=t.get("blame.statusBarItem.enabled")===!0;if(r?this._editorDecoration||(this._editorDecoration=new rE(this)):(this._editorDecoration?.dispose(),this._editorDecoration=void 0),n?this._statusBarItem||(this._statusBarItem=new iE(this)):(this._statusBarItem?.dispose(),this._statusBarItem=void 0),r||n){if(this._enablementDisposables.length===0){this._model.onDidOpenRepository(this._onDidOpenRepository,this,this._enablementDisposables),this._model.onDidCloseRepository(this._onDidCloseRepository,this,this._enablementDisposables);for(let o of this._model.repositories)this._onDidOpenRepository(o);ke.window.onDidChangeActiveTextEditor(o=>this._updateTextEditorBlameInformation(o),this,this._enablementDisposables),ke.window.onDidChangeTextEditorSelection(o=>this._updateTextEditorBlameInformation(o.textEditor,"selection"),this,this._enablementDisposables),ke.window.onDidChangeTextEditorDiffInformation(o=>this._updateTextEditorBlameInformation(o.textEditor),this,this._enablementDisposables)}}else this._enablementDisposables=Le(this._enablementDisposables);this._updateTextEditorBlameInformation(ke.window.activeTextEditor)}_onDidOpenRepository(e){let t=[];e.onDidRunGitStatus(()=>this._onDidRunGitStatus(e),this,t),this._repositoryDisposables.set(e,t)}_onDidCloseRepository(e){let t=this._repositoryDisposables.get(e);t&&Le(t),this._repositoryDisposables.delete(e),this._repositoryBlameCache.delete(e)}_onDidRunGitStatus(e){!e.HEAD?.commit||this._HEAD===e.HEAD.commit||(this._HEAD=e.HEAD.commit,this._updateTextEditorBlameInformation(ke.window.activeTextEditor))}async _getBlameInformation(e,t){let r=this._model.getRepository(e);if(!r)return;let n=this._repositoryBlameCache.get(r,e,t);if(n)return n;await js();let o=await r.blame2(e.fsPath,t)??[];return this._repositoryBlameCache.set(r,e,t,o),o}async _updateTextEditorBlameInformation(e,t){if(e){if(!e.diffInformation||e!==ke.window.activeTextEditor)return}else{this.textEditorBlameInformation=void 0;return}let r=this._model.getRepository(e.document.uri);if(!r||!r.HEAD?.commit)return;if(!nI(e.document.uri)){this.textEditorBlameInformation=void 0;return}if(t!=="selection"&&e.selections.length===1&&e.selections[0].start.line===0&&e.selections[0].start.character===0&&e.selections[0].end.line===0&&e.selections[0].end.character===0){this.textEditorBlameInformation=void 0;return}let n,o,a;if(Rn(e.document.uri)){let{ref:u}=kr(e.document.uri);if(/^[0-9a-f]{40}$/i.test(u)||u==="HEAD"||u==="~")o=n=[],a=void 0;else if(u===""){let f=jv(e);if(f&&f.isStale){this.textEditorBlameInformation=void 0;return}o=[],a=n=f?.changes??[]}else throw new Error(`Unexpected ref: ${u}`)}else{let u=qs(e);if(!u||u.isStale){this.textEditorBlameInformation=void 0;return}let f=jv(e);if(f&&f.isStale){this.textEditorBlameInformation=void 0;return}o=u.changes,a=f?.changes,n=a??o}let s;if(!Rn(e.document.uri))s=r.HEAD.commit;else{let{ref:u}=kr(e.document.uri);s=/^[0-9a-f]{40}$/i.test(u)?u:r.HEAD.commit}let c=await this._getBlameInformation(e.document.uri,s);if(!c)return;let l=[];for(let u of new Set(e.selections.map(f=>f.active.line))){if(rI(o,u+1)){t==="selection"&&l.push({lineNumber:u,blameInformation:ke.l10n.t("Not Committed Yet")});continue}if(rI(a??[],u+1)){l.push({lineNumber:u,blameInformation:ke.l10n.t("Not Committed Yet (Staged)")});continue}let f=jB(u+1,n),m=c.find(h=>h.ranges.find(p=>f>=p.startLineNumber&&f<=p.endLineNumber));m&&l.push({lineNumber:u,blameInformation:m})}this.textEditorBlameInformation={resource:e.document.uri,blameInformation:l}}dispose(){for(let e of this._repositoryDisposables.values())Le(e);this._repositoryDisposables.clear(),this._disposables=Le(this._disposables)}};D([Nr],nm.prototype,"_updateTextEditorBlameInformation",1);var rE=class{constructor(e){this._controller=e;this._decoration=ke.window.createTextEditorDecorationType({after:{color:new ke.ThemeColor("git.blame.editorDecorationForeground")}}),this._disposables.push(this._decoration),ke.workspace.onDidChangeConfiguration(this._onDidChangeConfiguration,this,this._disposables),ke.window.onDidChangeActiveTextEditor(this._onDidChangeActiveTextEditor,this,this._disposables),this._controller.onDidChangeBlameInformation(()=>this._onDidChangeBlameInformation(),this,this._disposables),this._onDidChangeConfiguration()}_controller;_template="";_decoration;_hoverDisposable;_disposables=[];async provideHover(e,t,r){if(r.isCancellationRequested)return;let n=ke.window.activeTextEditor;if(!n||t.character!==e.lineAt(t.line).range.end.character)return;let a=this._controller.textEditorBlameInformation?.blameInformation?.find(c=>c.lineNumber===t.line);if(!a||typeof a.blameInformation=="string")return;let s=await this._controller.getBlameInformationHover(n.document.uri,a.blameInformation);if(!(!s||r.isCancellationRequested))return{range:iI(t.line),contents:[s]}}_onDidChangeConfiguration(e){if(e&&!e.affectsConfiguration("git.commitShortHashLength")&&!e.affectsConfiguration("git.blame.editorDecoration.template")&&!e.affectsConfiguration("git.blame.editorDecoration.disableHover"))return;let t=ke.workspace.getConfiguration("git");this._template=t.get("blame.editorDecoration.template","${subject}, ${authorName} (${authorDateAgo})"),this._registerHoverProvider(),this._onDidChangeBlameInformation()}_onDidChangeActiveTextEditor(){for(let e of ke.window.visibleTextEditors)e!==ke.window.activeTextEditor&&e.setDecorations(this._decoration,[]);this._registerHoverProvider()}_onDidChangeBlameInformation(){let e=ke.window.activeTextEditor;if(!e)return;let t=this._controller.textEditorBlameInformation?.blameInformation;if(!t||t.length===0){e.setDecorations(this._decoration,[]);return}let r=t.map(n=>{let o=typeof n.blameInformation!="string"?this._controller.formatBlameInformationMessage(e.document.uri,this._template,n.blameInformation):n.blameInformation;return this._createDecoration(n.lineNumber,o)});e.setDecorations(this._decoration,r)}_createDecoration(e,t){return{range:iI(e),renderOptions:{after:{contentText:t,margin:"0 0 0 50px"}}}}_registerHoverProvider(){this._hoverDisposable?.dispose(),!ke.workspace.getConfiguration("git").get("blame.editorDecoration.disableHover",!1)&&ke.window.activeTextEditor&&nI(ke.window.activeTextEditor.document.uri)&&(this._hoverDisposable=ke.languages.registerHoverProvider({pattern:ke.window.activeTextEditor.document.uri.fsPath},this))}dispose(){this._hoverDisposable?.dispose(),this._hoverDisposable=void 0,this._disposables=Le(this._disposables)}},iE=class{constructor(e){this._controller=e;this._statusBarItem=ke.window.createStatusBarItem("git.blame",ke.StatusBarAlignment.Right,200),this._statusBarItem.name=ke.l10n.t("Git Blame Information"),this._disposables.push(this._statusBarItem),ke.workspace.onDidChangeConfiguration(this._onDidChangeConfiguration,this,this._disposables),this._controller.onDidChangeBlameInformation(()=>this._onDidChangeBlameInformation(),this,this._disposables),this._onDidChangeConfiguration()}_controller;_template="";_statusBarItem;_disposables=[];_onDidChangeConfiguration(e){if(e&&!e.affectsConfiguration("git.commitShortHashLength")&&!e.affectsConfiguration("git.blame.statusBarItem.template"))return;let t=ke.workspace.getConfiguration("git");this._template=t.get("blame.statusBarItem.template","${authorName} (${authorDateAgo})"),this._onDidChangeBlameInformation()}async _onDidChangeBlameInformation(){if(!ke.window.activeTextEditor){this._statusBarItem.hide();return}let e=this._controller.textEditorBlameInformation?.blameInformation;if(!e||e.length===0){this._statusBarItem.hide();return}if(typeof e[0].blameInformation=="string")this._statusBarItem.text=`$(git-commit) ${e[0].blameInformation}`,this._statusBarItem.tooltip=ke.l10n.t("Git Blame Information"),this._statusBarItem.command=void 0;else{this._statusBarItem.text=`$(git-commit) ${this._controller.formatBlameInformationMessage(ke.window.activeTextEditor.document.uri,this._template,e[0].blameInformation)}`,this._statusBarItem.tooltip2=n=>this._provideTooltip(ke.window.activeTextEditor.document.uri,e[0].blameInformation,n);let t=ke.window.activeTextEditor.document.uri,r=e[0].blameInformation.hash;this._statusBarItem.command={title:ke.l10n.t("Open Commit"),command:"git.viewCommit",arguments:[t,r,t]}}this._statusBarItem.show()}async _provideTooltip(e,t,r){if(r.isCancellationRequested)return;let n=await this._controller.getBlameInformationHover(e,t);return r.isCancellationRequested?void 0:n}dispose(){this._disposables=Le(this._disposables)}};var nE=tt(require("path")),oI=tt(require("fs")),oE=tt(require("os"));var dt=require("vscode");var Ty=class{constructor(e,t,r){this.model=e;this.telemetryReporter=t;this.repositoryCache=r}model;telemetryReporter;repositoryCache;async clone(e,t={}){if((!e||typeof e!="string")&&(e=await ip({providerLabel:n=>dt.l10n.t("Clone from {0}",n.name),urlLabel:dt.l10n.t("Clone from URL")})),!e){this.telemetryReporter.sendTelemetryEvent("clone",{outcome:"no_URL"});return}e=e.trim().replace(/^git\s+clone\s+/,"");let r=this.repositoryCache.get(e);return r&&r.length>0?this.tryOpenExistingRepository(r,e,t.postCloneAction,t.parentPath,t.ref):this.cloneRepository(e,t.parentPath,t)}async cloneRepository(e,t,r={}){if(!t){let o=dt.workspace.getConfiguration("git").get("defaultCloneDirectory")||oE.homedir();o=o.replace(/^~/,oE.homedir());let a=await dt.window.showOpenDialog({canSelectFiles:!1,canSelectFolders:!0,canSelectMany:!1,defaultUri:dt.Uri.file(o),title:dt.l10n.t("Choose a folder to clone {0} into",e),openLabel:dt.l10n.t("Select as Repository Destination")});if(!a||a.length===0){this.telemetryReporter.sendTelemetryEvent("clone",{outcome:"no_directory"});return}t=a[0].fsPath}try{let n={location:dt.ProgressLocation.Notification,title:dt.l10n.t('Cloning git repository "{0}"...',e),cancellable:!0},o=await dt.window.withProgress(n,(a,s)=>this.model.git.clone(e,{parentPath:t,progress:a,recursive:r.recursive,ref:r.ref},s));return await this.doPostCloneAction(o,r.postCloneAction),o}catch(n){if(/already exists and is not an empty directory/.test(n&&n.stderr||""))this.telemetryReporter.sendTelemetryEvent("clone",{outcome:"directory_not_empty"});else{if(/Cancelled/i.test(n&&(n.message||n.stderr||"")))return;this.telemetryReporter.sendTelemetryEvent("clone",{outcome:"error"})}throw n}}async doPostCloneAction(e,t){let n=dt.workspace.getConfiguration("git").get("openAfterClone"),o;if(t&&t==="none"?o=3:n==="always"?o=0:n==="alwaysNewWindow"?o=1:n==="whenNoFolderOpen"&&!dt.workspace.workspaceFolders&&(o=0),o===void 0){let s=dt.l10n.t("Would you like to open the repository?"),c=dt.l10n.t("Open"),l=dt.l10n.t("Open in New Window"),u=[c,l],f=dt.l10n.t("Add to Workspace");dt.workspace.workspaceFolders&&(s=dt.l10n.t("Would you like to open the repository, or add it to the current workspace?"),u.push(f));let m=await dt.window.showInformationMessage(s,{modal:!0},...u);o=m===c?0:m===l?1:m===f?2:void 0}this.telemetryReporter.sendTelemetryEvent("clone",{outcome:"success"},{openFolder:o===0||o===1?1:0});let a=dt.Uri.file(e);o===0?dt.commands.executeCommand("vscode.openFolder",a,{forceReuseWindow:!0}):o===2?dt.workspace.updateWorkspaceFolders(dt.workspace.workspaceFolders.length,0,{uri:a}):o===1&&dt.commands.executeCommand("vscode.openFolder",a,{forceNewWindow:!0})}async chooseExistingRepository(e,t,r,n,o){try{let a=t.map(u=>({label:u.workspacePath.endsWith(".code-workspace")?dt.l10n.t("Workspace: {0}",nE.basename(u.workspacePath,".code-workspace")):nE.basename(u.workspacePath),description:u.workspacePath,item:u})),s={label:dt.l10n.t("Clone again")};a.push(s);let c=dt.l10n.t("Open Existing Repository Clone"),l=await dt.window.showQuickPick(a,{placeHolder:c,canPickMany:!1});return l===s?await this.cloneRepository(e,n,{ref:r,postCloneAction:o})??void 0:l?.item?l.item.workspacePath:void 0}catch{return}}async tryOpenExistingRepository(e,t,r,n,o){let a=(await Promise.all(e.map(async l=>{if(await oI.promises.stat(l.workspacePath).catch(()=>{}))return l}))).filter(l=>l!==void 0);if(!a.length)return await this.cloneRepository(t,n,{ref:o,postCloneAction:r})??void 0;let s=a?.find(l=>dt.workspace.workspaceFolders?.some(u=>u.uri.fsPath===l.workspacePath));if(s)return s.workspacePath;let c=a.length===1?a[0].workspacePath:void 0;if(c||(c=await this.chooseExistingRepository(t,a,o,n,r)),c)return await this.doPostCloneAction(c,r),c}};var sI=tt(require("crypto")),rn=tt(require("fs")),ir=tt(require("path")),cI=tt(require("child_process")),lI=require("vscode");function VB(){if(process.platform!=="win32")return!1;try{let i=ir.join(lI.env.appRoot,"product.json"),t=JSON.parse(rn.readFileSync(i,"utf8")).target;return t==="user"||t==="system"}catch{return!1}}function JB(i){let e=sI.createHash("sha256"),t=[i.askpass,i.askpassMain,i.sshAskpass,i.askpassEmpty,i.sshAskpassEmpty];for(let r of t){let n=rn.readFileSync(r);e.update(n),e.update(ir.basename(r))}return e.digest("hex").substring(0,16)}async function uI(i,e){let t=process.env.USERNAME;if(!t){e.warn("[askpassManager] Cannot set Windows permissions: USERNAME not set");return}return new Promise(r=>{let n=[i,"/inheritance:r","/grant:r",`${t}:F`];cI.execFile("icacls",n,(o,a,s)=>{o?(e.warn(`[askpassManager] Failed to set permissions on ${i}: ${o.message}`),s&&e.warn(`[askpassManager] icacls stderr: ${s}`)):e.trace(`[askpassManager] Set permissions on ${i}`),r()})})}async function om(i,e,t){let r=await rn.promises.readFile(i);await rn.promises.writeFile(e,r),await uI(e,t)}async function aI(i,e){try{let t=new Date;await rn.promises.utimes(i,t,t),e.trace(`[askpassManager] Updated mtime for ${i}`)}catch(t){e.warn(`[askpassManager] Failed to update mtime for ${i}: ${t}`)}}async function qB(i,e,t){try{try{await rn.promises.access(i)}catch{return}let r=await rn.promises.readdir(i),n=Date.now()-10080*60*1e3;for(let o of r){if(o===e)continue;let a=ir.join(i,o);try{let s=await rn.promises.stat(a);if(!s.isDirectory())continue;s.mtime.getTime()<n?(t.info(`[askpassManager] Removing old askpass directory: ${a} (last used: ${s.mtime.toISOString()})`),await rn.promises.rm(a,{recursive:!0,force:!0})):t.trace(`[askpassManager] Keeping askpass directory: ${a} (last used: ${s.mtime.toISOString()})`)}catch(s){t.warn(`[askpassManager] Failed to process/remove directory ${a}: ${s}`)}}}catch(r){t.warn(`[askpassManager] Failed to garbage collect old directories: ${r}`)}}async function QB(i,e,t){let r={askpass:ir.join(i,"askpass.sh"),askpassMain:ir.join(i,"askpass-main.js"),sshAskpass:ir.join(i,"ssh-askpass.sh"),askpassEmpty:ir.join(i,"askpass-empty.sh"),sshAskpassEmpty:ir.join(i,"ssh-askpass-empty.sh")},n=JB(r);t.trace(`[askpassManager] Content hash: ${n}`);let o=ir.join(e,"askpass"),a=ir.join(o,n),s={askpass:ir.join(a,"askpass.sh"),askpassMain:ir.join(a,"askpass-main.js"),sshAskpass:ir.join(a,"ssh-askpass.sh"),askpassEmpty:ir.join(a,"askpass-empty.sh"),sshAskpassEmpty:ir.join(a,"ssh-askpass-empty.sh")};try{if((await rn.promises.stat(s.askpass)).isFile())return t.trace(`[askpassManager] Using existing content-addressed askpass at ${a}`),await aI(a,t),s}catch{}return t.info(`[askpassManager] Creating content-addressed askpass scripts at ${a}`),await rn.promises.mkdir(a,{recursive:!0}),await uI(a,t),await Promise.all([om(r.askpass,s.askpass,t),om(r.askpassMain,s.askpassMain,t),om(r.sshAskpass,s.sshAskpass,t),om(r.askpassEmpty,s.askpassEmpty,t),om(r.sshAskpassEmpty,s.sshAskpassEmpty,t)]),t.info("[askpassManager] Successfully created content-addressed askpass scripts"),await aI(a,t),await qB(o,n,t),s}async function dI(i,e,t){if(e&&VB())try{return await QB(i,e,t)}catch(r){t.error(`[askpassManager] Failed to create content-addressed askpass scripts: ${r}`)}return{askpass:ir.join(i,"askpass.sh"),askpassMain:ir.join(i,"askpass-main.js"),sshAskpass:ir.join(i,"ssh-askpass.sh"),askpassEmpty:ir.join(i,"askpass-empty.sh"),sshAskpassEmpty:ir.join(i,"ssh-askpass-empty.sh")}}var gI=[];async function ZB(){for(let i of gI)await i()}async function mI(i,e,t,r){let n=Oe.workspace.getConfiguration("git").get("path"),o=Array.isArray(n)?n:n?[n]:[],{isTrusted:a,workspaceFolders:s=[]}=Oe.workspace,c=a?[]:s.map(H=>al.normalize(H.uri.fsPath).replace(/[\r\n]+$/,""));!a&&o.length!==0&&(o=o.filter(H=>al.isAbsolute(H)));let l=await UD(o,H=>{if(e.info(Oe.l10n.t('[main] Validating found git in: "{0}"',H)),c.length===0)return!0;let T=al.normalize(H).replace(/[\r\n]+$/,""),ee=c.some(le=>T.startsWith(le));return ee&&e.info(Oe.l10n.t('[main] Skipped found git in: "{0}"',H)),!ee},e),u;try{u=await eI(i.storagePath)}catch(H){e.error(`[main] Failed to create git IPC: ${H}`)}let f=await dI(__dirname,i.globalStorageUri.fsPath,e),m=new hp(u,e,f);r.push(m);let h=new Ey(u);r.push(h);let p={...m.getEnv(),...h.getEnv(),...u?.getEnv()},_=new vy(i,[m,h,u]);r.push(_),e.info(Oe.l10n.t('[main] Using git "{0}" from "{1}"',l.version,l.path));let b=new Nm({gitPath:l.path,userAgent:`git/${l.version} (${Oo.version()??Oo.type()} ${Oo.release()}; ${Oo.platform()} ${Oo.arch()}) vscode/${Oe.version} (${Oe.env.appName})`,version:l.version,env:p}),S=new Js(b,m,i.globalState,i.workspaceState,e,t);r.push(S);let E=new Ty(S,t,S.repositoryCache),R=()=>Oe.commands.executeCommand("setContext","gitOpenRepositoryCount",`${S.repositories.length}`);S.onDidOpenRepository(R,null,r),S.onDidCloseRepository(R,null,r),R();let P=H=>{let T=H.split(/\r?\n/mg);for(;/^\s*$/.test(T[T.length-1]);)T.pop();e.appendLine(T.join(`
`))};b.onOutput.addListener("log",P),r.push(Wr(()=>b.onOutput.removeListener("log",P)));let L=new A(b,S,i.globalState,e,t,E);r.push(L,new Tl(S,e),new mp(S),new nm(S),new gd(S,L),new Ry(S),new _y(S,e));let Y=new zm(S);S.registerPostCommitCommandsProvider(Y);let $=new Sy(S);r.push($);let G=new xy($);r.push(G);let W=Oe.languages.registerDocumentLinkProvider("git-commit",new Dy(S));return r.push(W),oF(l),Oe.commands.executeCommand("setContext","gitVersion2.35",b.compareGitVersionTo("2.35")>=0),{model:S,cloneManager:E}}async function eF(i){if(i.uri.scheme!=="file")return!1;let e=al.join(i.uri.fsPath,".git");try{return(await new Promise((r,n)=>hI.stat(e,(o,a)=>o?n(o):r(a)))).isDirectory()}catch{return!1}}async function tF(){let i=Oe.workspace.getConfiguration("git");if(i.get("ignoreMissingGitWarning")===!0||!Oe.workspace.workspaceFolders||(await Promise.all(Oe.workspace.workspaceFolders.map(eF))).every(a=>!a))return;let r=Oe.l10n.t("Download Git"),n=Oe.l10n.t("Don't Show Again"),o=await Oe.window.showWarningMessage(Oe.l10n.t('Git not found. Install it or configure it using the "git.path" setting.'),r,n);o===r?Oe.commands.executeCommand("vscode.open",Oe.Uri.parse("https://aka.ms/vscode-download-git")):o===n&&await i.update("ignoreMissingGitWarning",!0,!0)}async function yI(i){let e=[];i.subscriptions.push(new Oe.Disposable(()=>Oe.Disposable.from(...e).dispose()));let t=Oe.window.createOutputChannel("Git",{log:!0});e.push(t);let r=c=>{t.appendLine(Oe.l10n.t("[main] Log level: {0}",Oe.LogLevel[c]))};e.push(t.onDidChangeLogLevel(r)),r(t.logLevel);let{aiKey:n}=fI(),o=new pI.default(n);if(gI.push(()=>o.dispose()),!Oe.workspace.getConfiguration("git",null).get("enabled")){let c=We(Oe.workspace.onDidChangeConfiguration,f=>f.affectsConfiguration("git")),l=We(c,()=>Oe.workspace.getConfiguration("git",null).get("enabled")===!0),u=new xs;return Yi(l).then(async()=>{let{model:f,cloneManager:m}=await mI(i,t,o,e);u.model=f,u.cloneManager=m}),u}try{let{model:c,cloneManager:l}=await mI(i,t,o,e);return new xs({model:c,cloneManager:l})}catch(c){if(console.warn(c.message),t.warn(`[main] Failed to create model: ${c}`),!/Git installation not found/.test(c.message||""))throw c;return o.sendTelemetryEvent("git.missing"),Oe.commands.executeCommand("setContext","git.missing",!0),tF(),new xs}finally{e.push(new yy(t))}}var vI;function Tv(){return vI}async function rF(i){vI=i;let e=await yI(i);return i.subscriptions.push(CR(e)),e}async function iF(i){let e=Oe.workspace.getConfiguration("git");if(e.get("ignoreLegacyWarning")===!0||!/^[01]/.test(i.version))return;let r=Oe.l10n.t("Update Git"),n=Oe.l10n.t("Don't Show Again"),o=await Oe.window.showWarningMessage(Oe.l10n.t('You seem to have git "{0}" installed. Code works best with git >= 2',i.version),r,n);o===r?Oe.commands.executeCommand("vscode.open",Oe.Uri.parse("https://aka.ms/vscode-download-git")):o===n&&await e.update("ignoreLegacyWarning",!0,!0)}async function nF(i){if(!/^2\.(25|26)\./.test(i.version))return;let e=Oe.workspace.getConfiguration("git");if(e.get("ignoreWindowsGit27Warning")===!0)return;let r=Oe.l10n.t("Update Git"),n=Oe.l10n.t("Don't Show Again"),o=await Oe.window.showWarningMessage(Oe.l10n.t('There are known issues with the installed Git "{0}". Please update to Git >= 2.27 for the git features to work correctly.',i.version),r,n);o===r?Oe.commands.executeCommand("vscode.open",Oe.Uri.parse("https://aka.ms/vscode-download-git")):o===n&&await e.update("ignoreWindowsGit27Warning",!0,!0)}async function oF(i){await iF(i),process.platform==="win32"&&await nF(i)}0&&(module.exports={_activate,activate,deactivate,getExtensionContext});
/*! Bundled license information:
ieee754/index.js:
(*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> *)
@nevware21/ts-utils/dist/es5/mod/ts-utils.js:
(*! https://github.com/nevware21/ts-utils v0.14.0 *)
@nevware21/ts-async/dist/es5/mod/ts-async.js:
(*!
* NevWare21 Solutions LLC - ts-async, 0.5.4
* https://github.com/nevware21/ts-async
* Copyright (c) NevWare21 Solutions LLC and contributors. All rights reserved.
* Licensed under the MIT license.
*)
*/
//# sourceMappingURL=main.js.map