diff --git a/Resources/markdown-viewer/webviews-app/chunks/diffSurface.mjs b/Resources/markdown-viewer/webviews-app/chunks/diffSurface.mjs index 86734374fcb5..4d565b63adf6 100644 --- a/Resources/markdown-viewer/webviews-app/chunks/diffSurface.mjs +++ b/Resources/markdown-viewer/webviews-app/chunks/diffSurface.mjs @@ -1,18 +1,18 @@ -import{b as E,j as s,i as k,r as At,c as zt,a as Ot}from"./vendor.mjs";import{W as $t,C as Vt,r as Wt,c as Gt,p as Ut,g as ze,a as Ht,u as qt,d as Kt,b as Ee,F as Yt}from"./diff-vendor.mjs";import{m as Qt,i as Xt,c as Jt}from"./installWebviewStyles.mjs";(function(t){var e=[["diffViewerScrollDown","line",1],["diffViewerScrollUp","line",-1],["diffViewerScrollHalfPageDown","halfPage",1],["diffViewerScrollHalfPageUp","halfPage",-1],["diffViewerScrollDownEmacs","line",1],["diffViewerScrollUpEmacs","line",-1],["diffViewerScrollToBottom","edge",1],["diffViewerScrollToTop","edge",-1]],n=new WeakMap;function r(f){return{key:String(f&&f.key||"").toLowerCase(),command:!!(f&&f.command),control:!!(f&&f.control),option:!!(f&&f.option),shift:!!(f&&f.shift)}}function i(f){return!f||f.unbound===!0||!f.first?null:{first:r(f.first),second:f.second?r(f.second):null}}function o(f){return f.code==="Space"?"space":typeof f.key=="string"?f.key.toLowerCase():""}function a(f,x){return!!f&&x.metaKey===f.command&&x.ctrlKey===f.control&&x.altKey===f.option&&x.shiftKey===f.shift&&o(x)===f.key}function c(f){var x=f&&f.closest?f:null;return!!(x&&x.closest("input, textarea, select, [contenteditable='true']"))}function l(f){return f.metaKey||f.ctrlKey||f.altKey||c(f.target)?!1:["arrowdown","arrowup","pagedown","pageup","home","end","space"].indexOf(o(f))>=0}function u(f){var x=Number(f&&f.clientHeight);return Number.isFinite(x)&&x>0?x:Math.max(1,Number(t.innerHeight)||1)}function d(f,x){var v=e.find(function(b){return b[0]===f});return v?(m(x,v[1],v[2]),!0):!1}function p(f){f&&n.delete(f)}function m(f,x,v){if(f){var b=Math.max(0,(Number(f.scrollHeight)||0)-u(f));if(x==="edge"){var w=v>0?b:0;n.set(f,{target:w,time:Date.now()}),f.scrollTo({top:w,behavior:"smooth"});return}var y=x==="halfPage"?Math.max(80,Math.floor(u(f)*.5)):72,C=Date.now(),M=n.get(f),F=Number(f.scrollTop)||0,S=M&&C-M.time<300?M.target:F,j=Math.max(0,Math.min(b,S+v*y));n.set(f,{target:j,time:C}),f.scrollTo({top:j,behavior:"smooth"})}}function h(f){var x=f&&f.target,v=f&&f.getScroller;if(!x||typeof x.addEventListener!="function"||typeof v!="function")return function(){};function b(){p(v())}function w(y){l(y)&&b()}return x.addEventListener("keydown",w,!0),x.addEventListener("wheel",b,!0),x.addEventListener("touchstart",b,!0),x.addEventListener("pointerdown",b,!0),function(){x.removeEventListener("keydown",w,!0),x.removeEventListener("wheel",b,!0),x.removeEventListener("touchstart",b,!0),x.removeEventListener("pointerdown",b,!0)}}function g(f){var x=f&&f.target,v=f&&f.getScroller,b=f&&f.shortcuts||{};if(!x||typeof x.addEventListener!="function"||typeof v!="function")return function(){};var w=e.map(function(j){return{action:j[0],shortcut:i(b[j[0]]),kind:j[1],direction:j[2]}}).filter(function(j){return j.shortcut}),y=null,C=0,M=h({target:x,getScroller:v});function F(){y=null,C&&(t.clearTimeout(C),C=0)}function S(j){if(!(j.defaultPrevented||c(j.target))){if(y){if(a(y.shortcut.second,j)){j.preventDefault(),d(y.action,v()),F();return}F()}for(var P=0;P=4.5)return r;const a={blue:0,green:0,red:0},c={blue:255,green:255,red:255};return ke(a,o)>=ke(c,o)?"#000000":"#ffffff"}function xe(t,e,n){const r=t.palette??{},i=e.map(o=>r[o]).find(o=>typeof o=="string"&&o.trim()!=="");return Xe(i,t.background,4.5)?de(i,n):Xe(n,t.background,4.5)?n:he(i,t.background,n)}function de(t,e){return typeof t=="string"&&t.trim()!==""?t.trim():e}function an(t){const e=typeof t=="string"&&t.trim()!==""?t.trim():"Menlo";return`${JSON.stringify(e)}, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace`}function Se(t,e){return typeof t=="number"&&Number.isFinite(t)&&t>0?t:e}function sn(t){return typeof t!="number"||!Number.isFinite(t)?1:Math.max(0,Math.min(1,t))}function Xe(t,e,n){const r=je(de(t,"")),i=je(de(e,"#000000"));return!!(r&&i&&ke(r,i)>=n)}function je(t){const e=t.trim(),n=e.match(/^#([0-9a-f]{3})$/i);if(n){const[,o]=n;return{red:Number.parseInt(o[0]+o[0],16),green:Number.parseInt(o[1]+o[1],16),blue:Number.parseInt(o[2]+o[2],16)}}const r=e.match(/^#([0-9a-f]{6})$/i);if(!r)return null;const[,i]=r;return{red:Number.parseInt(i.slice(0,2),16),green:Number.parseInt(i.slice(2,4),16),blue:Number.parseInt(i.slice(4,6),16)}}function ke(t,e){const n=Math.max(be(t),be(e)),r=Math.min(be(t),be(e));return(n+.05)/(r+.05)}function be(t){return .2126*Te(t.red)+.7152*Te(t.green)+.0722*Te(t.blue)}function Te(t){const e=t/255;return e<=.03928?e/12.92:((e+.055)/1.055)**2.4}function re(t){const e=E.c(2),{name:n}=t;let r;return e[0]!==n?(r=s.jsx("svg",{viewBox:"0 0 20 20","aria-hidden":"true",children:s.jsx(ln,{name:n})}),e[0]=n,e[1]=r):r=e[1],r}function ln(t){const e=E.c(24),{name:n}=t;switch(n){case"arrow":{let r;return e[0]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M4 10h11"}),s.jsx("path",{d:"m11 6 4 4-4 4"})]}),e[0]=r):r=e[0],r}case"background":{let r;return e[1]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"4",y:"4",width:"12",height:"12",rx:"2"}),s.jsx("path",{d:"M7 8h6"}),s.jsx("path",{d:"M7 12h6"})]}),e[1]=r):r=e[1],r}case"bars":{let r;return e[2]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 4v12"}),s.jsx("path",{d:"M9 6v8"}),s.jsx("path",{d:"M13 8v4"})]}),e[2]=r):r=e[2],r}case"check":{let r;return e[3]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx("path",{d:"M4 10.5 8 14l8-9"}),e[3]=r):r=e[3],r}case"chevronDown":{let r;return e[4]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx("path",{d:"M5.5 7.5 10 12l4.5-4.5"}),e[4]=r):r=e[4],r}case"chevronUp":{let r;return e[5]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx("path",{d:"M5.5 12.5 10 8l4.5 4.5"}),e[5]=r):r=e[5],r}case"classic":{let r;return e[6]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M4 5h12"}),s.jsx("path",{d:"M4 10h12"}),s.jsx("path",{d:"M4 15h12"}),s.jsx("path",{d:"M7 3v4"}),s.jsx("path",{d:"M13 8v4"})]}),e[6]=r):r=e[6],r}case"collapse":{let r;return e[7]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M13.5 11.5 10 15 6.5 11.5"}),s.jsx("path",{d:"M6.5 8.5 10 5l3.5 3.5"})]}),e[7]=r):r=e[7],r}case"clipboard":{let r;return e[8]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"5",y:"4",width:"10",height:"13",rx:"2"}),s.jsx("path",{d:"M8 4a2 2 0 0 1 4 0"}),s.jsx("path",{d:"M8 7h4"})]}),e[8]=r):r=e[8],r}case"close":{let r;return e[9]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"m6 6 8 8"}),s.jsx("path",{d:"m14 6-8 8"})]}),e[9]=r):r=e[9],r}case"document":{let r;return e[10]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M6 3h6l4 4v10H6z"}),s.jsx("path",{d:"M12 3v5h5"})]}),e[10]=r):r=e[10],r}case"dots":{let r;return e[11]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 10h.01","data-precision-dot":"true"}),s.jsx("path",{d:"M10 10h.01","data-precision-dot":"true"}),s.jsx("path",{d:"M15 10h.01","data-precision-dot":"true"})]}),e[11]=r):r=e[11],r}case"expand":{let r;return e[12]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx("path",{d:"M6.5 8 10 11.5 13.5 8"}),e[12]=r):r=e[12],r}case"external":{let r;return e[13]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M7 5H5a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-2"}),s.jsx("path",{d:"M11 3h6v6"}),s.jsx("path",{d:"m10 10 7-7"})]}),e[13]=r):r=e[13],r}case"eye":{let r;return e[14]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M2.5 10s2.75-5 7.5-5 7.5 5 7.5 5-2.75 5-7.5 5-7.5-5-7.5-5z"}),s.jsx("circle",{cx:"10",cy:"10",r:"2.4"})]}),e[14]=r):r=e[14],r}case"files":{let r;return e[15]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"3.5",y:"4",width:"13",height:"12",rx:"2"}),s.jsx("path",{d:"M11.5 4v12"})]}),e[15]=r):r=e[15],r}case"numbers":{let r;return e[16]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 5h2v10"}),s.jsx("path",{d:"M4 15h4"}),s.jsx("path",{d:"M11 6.5a2 2 0 1 1 3.2 1.6L11 12h4"}),s.jsx("path",{d:"M11 15h4"})]}),e[16]=r):r=e[16],r}case"refresh":{let r;return e[17]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M16 8a6 6 0 0 0-10.3-3.7L4 6"}),s.jsx("path",{d:"M4 3v3h3"}),s.jsx("path",{d:"M4 12a6 6 0 0 0 10.3 3.7L16 14"}),s.jsx("path",{d:"M16 17v-3h-3"})]}),e[17]=r):r=e[17],r}case"search":{let r;return e[18]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"8.5",cy:"8.5",r:"4.5"}),s.jsx("path",{d:"m12 12 4 4"})]}),e[18]=r):r=e[18],r}case"sidebarCollapse":{let r;return e[19]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"3.5",y:"4",width:"13",height:"12",rx:"2"}),s.jsx("path",{d:"M8 4v12"}),s.jsx("path",{d:"m12 8 2 2-2 2"})]}),e[19]=r):r=e[19],r}case"split":{let r;return e[20]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"4",y:"4",width:"12",height:"12",rx:"2"}),s.jsx("rect",{x:"6",y:"6",width:"3.5",height:"8",rx:"1","data-diff-deletion":"true"}),s.jsx("rect",{x:"10.5",y:"6",width:"3.5",height:"8",rx:"1","data-diff-addition":"true"})]}),e[20]=r):r=e[20],r}case"unified":{let r;return e[21]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"4",y:"4",width:"12",height:"12",rx:"2"}),s.jsx("rect",{x:"6",y:"6",width:"8",height:"3.5",rx:"1","data-diff-deletion":"true"}),s.jsx("rect",{x:"6",y:"10.5",width:"8",height:"3.5",rx:"1","data-diff-addition":"true"})]}),e[21]=r):r=e[21],r}case"word":{let r;return e[22]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M3 6h14"}),s.jsx("path",{d:"M3 10h8"}),s.jsx("path",{d:"M3 14h11"}),s.jsx("path",{d:"M14 10h3"})]}),e[22]=r):r=e[22],r}case"wrap":{let r;return e[23]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M3 6h10a4 4 0 0 1 0 8H8"}),s.jsx("path",{d:"m10 11-3 3 3 3"})]}),e[23]=r):r=e[23],r}}}function Je(t){return`${t.repoRoot}\0${t.capabilityToken??""}\0${t.currentRef}`}function gt(t){return t.replace(/^[a-zA-Z][\w+.-]*:\/\/[^/]*/,"")}const cn={suggested:50,worktrees:50},dn=8,Ze=50,fn={suggested:"branchPickerGroupSuggested",worktrees:"branchPickerGroupWorktrees",branches:"branchPickerGroupBranches",remotes:"branchPickerGroupRemotes",recent:"branchPickerGroupRecent"},un=320,ve=6,we=8,pn=160;function mn(t){const e=window.innerWidth,n=window.innerHeight,r=e-un-we,i=Math.max(we,Math.min(t.left,r)),o=n-t.bottom-ve-we,a=t.top-ve-we;return oo?{top:"auto",bottom:n-t.top+ve,left:i,maxHeight:Math.max(0,a)}:{top:t.bottom+ve,bottom:"auto",left:i,maxHeight:Math.max(0,o)}}function et(t){const e=E.c(65),{label:n,onNavigate:r,onSelectBranchBase:i,picker:o,transport:a}=t,c=a===void 0?null:a,[l,u]=k.useState(!1),[d,p]=k.useState(""),[m,h]=k.useState(null),[g,f]=k.useState("idle"),[x,v]=k.useState(0),[b,w]=k.useState(null),[y,C]=k.useState(!1),[M,F]=k.useState(null),S=k.useRef(null),j=k.useRef(null),P=k.useRef(null),T=k.useId(),A=hn;let z;e[0]!==m||e[1]!==n||e[2]!==d?(z=wn(m,d,n),e[0]=m,e[1]=n,e[2]=d,e[3]=z):z=e[3];const R=z,O=R.length===0?0:Math.min(x,R.length-1);let W;e[4]!==m||e[5]!==g||e[6]!==o||e[7]!==c?(W=()=>{u(!0),p(""),v(0),m==null&&g!=="loading"&&(f("loading"),Sn(o,c).then(N=>{h(N.groups),f("idle")}).catch(N=>{console.warn("cmux diff branch picker refs load failed",N),f("error")}))},e[4]=m,e[5]=g,e[6]=o,e[7]=c,e[8]=W):W=e[8];const U=W;let $;e[9]===Symbol.for("react.memo_cache_sentinel")?($=()=>{u(!1),P.current?.focus()},e[9]=$):$=e[9];const G=$;let D;e[10]!==r||e[11]!==i||e[12]!==o||e[13]!==c?(D=N=>{const Y=N.trim();if(Y!==""){if(Y===o.currentRef){G(),w(null);return}if(w(Y),C(!1),u(!1),i){i(Y),w(null);return}if(c&&o.groupId&&o.capabilityToken){c.request({method:"branchChange",params:{groupId:o.groupId,repoRoot:o.repoRoot,baseRef:Y,capabilityToken:o.capabilityToken}}).then(me=>{if(me.type!=="navigation")throw new Error("branch change response missing navigation");r(me.value.url)}).catch(me=>{console.warn("cmux diff branch picker regeneration failed",me),w(null),C(!0),f("idle"),p(""),v(0),u(!0)});return}r(gt(o.regenerateURLTemplate).replace("{ref}",encodeURIComponent(Y)))}},e[10]=r,e[11]=i,e[12]=o,e[13]=c,e[14]=D):D=e[14];const _=D;let q,B;e[15]!==l?(q=()=>{if(!l)return;const N=Y=>{if(!(Y.target instanceof Node))return;const me=Y.target;S.current?.contains(me)||j.current?.contains(me)||u(!1)};return document.addEventListener("mousedown",N),()=>document.removeEventListener("mousedown",N)},B=[l],e[15]=l,e[16]=q,e[17]=B):(q=e[16],B=e[17]),k.useEffect(q,B);let K,Q;e[18]!==l?(K=()=>{if(!l){F(null);return}const N=()=>{const Y=P.current;Y&&F(mn(Y.getBoundingClientRect()))};return N(),window.addEventListener("resize",N),window.addEventListener("scroll",N,!0),()=>{window.removeEventListener("resize",N),window.removeEventListener("scroll",N,!0)}},Q=[l],e[18]=l,e[19]=K,e[20]=Q):(K=e[19],Q=e[20]),k.useEffect(K,Q);let X;e[21]!==O||e[22]!==R||e[23]!==_?(X=N=>{if(N.key==="Escape"){N.preventDefault(),G();return}if(N.key==="ArrowDown"){N.preventDefault(),R.length>0&&v(Y=>(Y+1)%R.length);return}if(N.key==="ArrowUp"){N.preventDefault(),R.length>0&&v(Y=>(Y-1+R.length)%R.length);return}if(N.key==="Enter"){N.preventDefault();const Y=R[O];Y&&_(Y.row.ref);return}},e[21]=O,e[22]=R,e[23]=_,e[24]=X):X=e[24];const J=X;let I;e[25]!==b||e[26]!==n?(I=b!=null?n("branchPickerGenerating").replace("{ref}",b):null,e[25]=b,e[26]=n,e[27]=I):I=e[27];const H=I;let L;e[28]!==b||e[29]!==n||e[30]!==o?(L=b!=null?n("branchPickerOpen"):gn(n,o),e[28]=b,e[29]=n,e[30]=o,e[31]=L):L=e[31];const V=L,Z=l?T:void 0;let ne;e[32]!==n?(ne=n("branchPickerOpen"),e[32]=n,e[33]=ne):ne=e[33];const ae=b!=null?"true":"false",ee=b!=null;let te;e[34]!==l||e[35]!==U?(te=()=>l?u(!1):U(),e[34]=l,e[35]=U,e[36]=te):te=e[36];let le;e[37]!==H||e[38]!==b||e[39]!==o?(le=b!=null?s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"base-picker-spinner","aria-hidden":"true"}),s.jsx("span",{className:"base-picker-text",children:H})]}):s.jsx(xn,{picker:o}),e[37]=H,e[38]=b,e[39]=o,e[40]=le):le=e[40];let ie;e[41]!==V||e[42]!==l||e[43]!==Z||e[44]!==ne||e[45]!==ae||e[46]!==ee||e[47]!==te||e[48]!==le?(ie=s.jsx("button",{ref:P,id:"base-picker-button",type:"button",className:"base-picker-button","aria-haspopup":"listbox","aria-expanded":l,"aria-controls":Z,"aria-label":ne,title:V,"data-generating":ae,disabled:ee,onClick:te,children:le}),e[41]=V,e[42]=l,e[43]=Z,e[44]=ne,e[45]=ae,e[46]=ee,e[47]=te,e[48]=le,e[49]=ie):ie=e[49];let oe;e[50]!==O||e[51]!==R||e[52]!==n||e[53]!==T||e[54]!==g||e[55]!==J||e[56]!==l||e[57]!==M||e[58]!==d||e[59]!==y||e[60]!==_?(oe=l&&M?At.createPortal(s.jsxs("div",{ref:j,className:"base-picker-popover",role:"dialog","aria-label":n("branchPickerOpen"),style:M,children:[s.jsxs("div",{className:"base-picker-search",children:[s.jsx(re,{name:"search"}),s.jsx("input",{ref:A,type:"text",className:"base-picker-input",placeholder:n("branchPickerFilterPlaceholder"),"aria-label":n("branchPickerFilterPlaceholder"),"aria-controls":T,"aria-activedescendant":R[O]?tt(T,O):void 0,value:d,onChange:N=>{p(N.currentTarget.value),v(0)},onKeyDown:J})]}),y?s.jsx("output",{className:"base-picker-status base-picker-status-error",children:n("branchPickerGenerateFailed")}):null,s.jsx("div",{id:T,className:"base-picker-list",role:"listbox","aria-label":n("branchPickerOpen"),children:g==="loading"?s.jsx("div",{className:"base-picker-status",children:n("branchPickerLoading")}):g==="error"?s.jsx("div",{className:"base-picker-status base-picker-status-error",children:n("branchPickerLoadFailed")}):R.length===0?s.jsx("div",{className:"base-picker-status",children:n("branchPickerNoMatches")}):R.map((N,Y)=>s.jsx(bn,{domId:tt(T,Y),entry:N,label:n,selected:Y===O,onHover:()=>v(Y),onSelect:()=>_(N.row.ref)},`${N.groupId}:${N.row.ref}`))})]}),document.body):null,e[50]=O,e[51]=R,e[52]=n,e[53]=T,e[54]=g,e[55]=J,e[56]=l,e[57]=M,e[58]=d,e[59]=y,e[60]=_,e[61]=oe):oe=e[61];let fe;return e[62]!==ie||e[63]!==oe?(fe=s.jsxs("div",{id:"base-picker",ref:S,children:[ie,oe]}),e[62]=ie,e[63]=oe,e[64]=fe):fe=e[64],fe}function hn(t){t?.focus()}function gn(t,e){const n=e.confidence==="low",r=[t("branchPickerComparing").replace("{head}",e.headRef).replace("{base}",e.currentRef)];return e.currentReason&&r.push(`(${n?"~":""}${e.currentReason})`),e.aheadBehind&&r.push(`+${e.aheadBehind.ahead} -${e.aheadBehind.behind}`),r.join(" ")}function xn(t){const e=E.c(15),{picker:n}=t,r=n.confidence==="low",i=`${r?"~":""}${n.currentReason}`,o=n.aheadBehind;let a;e[0]!==n.headRef?(a=s.jsx("span",{className:"base-picker-head",children:n.headRef}),e[0]=n.headRef,e[1]=a):a=e[1];let c;e[2]===Symbol.for("react.memo_cache_sentinel")?(c=s.jsx(re,{name:"arrow"}),e[2]=c):c=e[2];let l;e[3]!==n.currentRef?(l=s.jsx("span",{className:"base-picker-ref",children:n.currentRef}),e[3]=n.currentRef,e[4]=l):l=e[4];let u;e[5]!==o||e[6]!==r||e[7]!==n.currentReason||e[8]!==i?(u=n.currentReason||o?s.jsxs("span",{className:"base-picker-meta",children:[n.currentReason?s.jsxs("span",{className:r?"base-picker-reason base-picker-reason-low":"base-picker-reason",children:["(",i,")"]}):null,o?s.jsxs("span",{className:"base-picker-aheadbehind",children:["+",o.ahead," -",o.behind]}):null]}):null,e[5]=o,e[6]=r,e[7]=n.currentReason,e[8]=i,e[9]=u):u=e[9];let d;e[10]===Symbol.for("react.memo_cache_sentinel")?(d=s.jsx(re,{name:"expand"}),e[10]=d):d=e[10];let p;return e[11]!==a||e[12]!==l||e[13]!==u?(p=s.jsxs("span",{className:"base-picker-label",children:[a,c,l,u,d]}),e[11]=a,e[12]=l,e[13]=u,e[14]=p):p=e[14],p}function bn(t){const e=E.c(34),{domId:n,entry:r,label:i,onHover:o,onSelect:a,selected:c}=t,{row:l}=r,u=l.secondary??l.worktreeDir??l.reason??"";let d;e[0]!==r.firstInGroup||e[1]!==r.groupLabel?(d=r.firstInGroup?s.jsx("div",{className:"base-picker-group-header",role:"presentation",children:r.groupLabel}):null,e[0]=r.firstInGroup,e[1]=r.groupLabel,e[2]=d):d=e[2];const p=c?"base-picker-row base-picker-row-selected":"base-picker-row";let m;e[3]!==a?(m=y=>{y.preventDefault(),a()},e[3]=a,e[4]=m):m=e[4];let h;e[5]!==r.match||e[6]!==r.raw||e[7]!==i||e[8]!==l.label||e[9]!==l.ref?(h=r.raw?i("branchPickerUseRaw").replace("{ref}",l.ref):vn(l.label,r.match),e[5]=r.match,e[6]=r.raw,e[7]=i,e[8]=l.label,e[9]=l.ref,e[10]=h):h=e[10];let g;e[11]!==h?(g=s.jsx("span",{className:"base-picker-row-primary",children:h}),e[11]=h,e[12]=g):g=e[12];let f;e[13]!==i||e[14]!==l.current?(f=l.current?s.jsx("span",{className:"base-picker-pill",children:i("branchPickerCurrent")}):null,e[13]=i,e[14]=l.current,e[15]=f):f=e[15];let x;e[16]!==u?(x=u?s.jsx("span",{className:"base-picker-row-secondary",children:u}):null,e[16]=u,e[17]=x):x=e[17];let v;e[18]!==n||e[19]!==o||e[20]!==c||e[21]!==p||e[22]!==m||e[23]!==g||e[24]!==f||e[25]!==x?(v=s.jsxs("div",{id:n,role:"option",tabIndex:-1,"aria-selected":c,className:p,onMouseMove:o,onMouseDown:m,children:[g,f,x]}),e[18]=n,e[19]=o,e[20]=c,e[21]=p,e[22]=m,e[23]=g,e[24]=f,e[25]=x,e[26]=v):v=e[26];let b;e[27]!==r.moreCount||e[28]!==i?(b=r.moreCount>0?s.jsx("div",{className:"base-picker-more",role:"presentation",children:i("branchPickerMore").replace("{count}",String(r.moreCount))}):null,e[27]=r.moreCount,e[28]=i,e[29]=b):b=e[29];let w;return e[30]!==d||e[31]!==v||e[32]!==b?(w=s.jsxs(s.Fragment,{children:[d,v,b]}),e[30]=d,e[31]=v,e[32]=b,e[33]=w):w=e[33],w}function tt(t,e){return`${t}-row-${e}`}function vn(t,e){if(!e)return t;const[n,r]=e;return s.jsxs(s.Fragment,{children:[t.slice(0,n),s.jsx("strong",{children:t.slice(n,r)}),t.slice(r)]})}function wn(t,e,n){const r=e.trim(),i=[];let o=!1;if(t&&r==="")for(const a of t){const c=nt(a,n),l=cn[a.id]??dn,u=a.rows.slice(0,l),d=a.rows.length-u.length;u.forEach((p,m)=>{i.push({row:p,groupId:a.id,groupLabel:c,firstInGroup:m===0,match:null,raw:!1,moreCount:m===u.length-1?d:0})})}else if(t)for(const a of t){if(i.length>=Ze)break;const c=nt(a,n);let l=!0;for(const u of a.rows){if(i.length>=Ze)break;const d=yn(u.label,r);d!=null&&(o=!0,i.push({row:u,groupId:a.id,groupLabel:c,firstInGroup:l,match:d,raw:!1,moreCount:0}),l=!1)}}return r!==""&&!o&&i.unshift({row:{ref:r,label:r},groupId:"__raw",groupLabel:"",firstInGroup:!1,match:null,raw:!0,moreCount:0}),i}function nt(t,e){const n=fn[t.id];return n?e(n):t.label||t.id}function yn(t,e){const n=t.toLowerCase(),r=e.toLowerCase(),i=n.indexOf(r);if(i>=0)return[i,i+r.length];let o=0,a=-1;for(let c=0;c=0?[a,a+1]:null}async function kn(t){const e=await fetch(t,{cache:"no-store"});if(!e.ok)throw new Error(`refs request failed (${e.status})`);const n=await e.json();if(!n||!Array.isArray(n.groups))throw new Error("refs response missing groups");return n}async function Sn(t,e){if(e&&t.capabilityToken){const n=await e.request({method:"branchList",params:{repoRoot:t.repoRoot,capabilityToken:t.capabilityToken,selectedBase:t.currentRef}});if(n.type!=="branches")throw new Error("branch list response missing groups");if(!Array.isArray(n.value.groups))throw new Error("branch list response missing groups");return n.value}return kn(gt(t.refsURL))}const xt=40;function $e(t,e){return e==="additions"?{start:t.additionStart,count:t.additionCount,lineIndex:t.additionLineIndex}:{start:t.deletionStart,count:t.deletionCount,lineIndex:t.deletionLineIndex}}function ge(t,e){return(t[e]??"").replace(/\r?\n$/,"")}function bt(t,e){const n=e==="additions"?t?.additionLines:t?.deletionLines;return Array.isArray(n)?n:[]}function jn(t,e,n){if(t?.hunks==null||!Number.isFinite(n))return null;for(const r of t.hunks){const{start:i,count:o,lineIndex:a}=$e(r,e);if(n>=i&&n=d.start+d.count||u.hunkContent==null)continue;let p=u.additionStart,m=u.deletionStart;for(const h of u.hunkContent){if(h.type==="context"){for(let f=0;f=i&&x<=o&&l.push(` ${ge(a,h.additionLineIndex+f)}`)}p+=h.lines,m+=h.lines;continue}if(e==="additions"?h.additions>0&&p<=o&&p+h.additions-1>=i:h.deletions>0&&m<=o&&m+h.deletions-1>=i){for(let f=0;f=0}function u(f){var x=Number(f&&f.clientHeight);return Number.isFinite(x)&&x>0?x:Math.max(1,Number(t.innerHeight)||1)}function d(f,x){var v=e.find(function(b){return b[0]===f});return v?(m(x,v[1],v[2]),!0):!1}function p(f){f&&n.delete(f)}function m(f,x,v){if(f){var b=Math.max(0,(Number(f.scrollHeight)||0)-u(f));if(x==="edge"){var w=v>0?b:0;n.set(f,{target:w,time:Date.now()}),f.scrollTo({top:w,behavior:"smooth"});return}var y=x==="halfPage"?Math.max(80,Math.floor(u(f)*.5)):72,I=Date.now(),M=n.get(f),F=Number(f.scrollTop)||0,k=M&&I-M.time<300?M.target:F,j=Math.max(0,Math.min(b,k+v*y));n.set(f,{target:j,time:I}),f.scrollTo({top:j,behavior:"smooth"})}}function h(f){var x=f&&f.target,v=f&&f.getScroller;if(!x||typeof x.addEventListener!="function"||typeof v!="function")return function(){};function b(){p(v())}function w(y){l(y)&&b()}return x.addEventListener("keydown",w,!0),x.addEventListener("wheel",b,!0),x.addEventListener("touchstart",b,!0),x.addEventListener("pointerdown",b,!0),function(){x.removeEventListener("keydown",w,!0),x.removeEventListener("wheel",b,!0),x.removeEventListener("touchstart",b,!0),x.removeEventListener("pointerdown",b,!0)}}function g(f){var x=f&&f.target,v=f&&f.getScroller,b=f&&f.shortcuts||{};if(!x||typeof x.addEventListener!="function"||typeof v!="function")return function(){};var w=e.map(function(j){return{action:j[0],shortcut:i(b[j[0]]),kind:j[1],direction:j[2]}}).filter(function(j){return j.shortcut}),y=null,I=0,M=h({target:x,getScroller:v});function F(){y=null,I&&(t.clearTimeout(I),I=0)}function k(j){if(!(j.defaultPrevented||c(j.target))){if(y){if(a(y.shortcut.second,j)){j.preventDefault(),d(y.action,v()),F();return}F()}for(var R=0;R=4.5)return r;const a={blue:0,green:0,red:0},c={blue:255,green:255,red:255};return Se(a,o)>=Se(c,o)?"#000000":"#ffffff"}function be(t,e,n){const r=t.palette??{},i=e.map(o=>r[o]).find(o=>typeof o=="string"&&o.trim()!=="");return Xe(i,t.background,4.5)?de(i,n):Xe(n,t.background,4.5)?n:he(i,t.background,n)}function de(t,e){return typeof t=="string"&&t.trim()!==""?t.trim():e}function an(t){const e=typeof t=="string"&&t.trim()!==""?t.trim():"Menlo";return`${JSON.stringify(e)}, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace`}function je(t,e){return typeof t=="number"&&Number.isFinite(t)&&t>0?t:e}function sn(t){return typeof t!="number"||!Number.isFinite(t)?1:Math.max(0,Math.min(1,t))}function Xe(t,e,n){const r=Ce(de(t,"")),i=Ce(de(e,"#000000"));return!!(r&&i&&Se(r,i)>=n)}function Ce(t){const e=t.trim(),n=e.match(/^#([0-9a-f]{3})$/i);if(n){const[,o]=n;return{red:Number.parseInt(o[0]+o[0],16),green:Number.parseInt(o[1]+o[1],16),blue:Number.parseInt(o[2]+o[2],16)}}const r=e.match(/^#([0-9a-f]{6})$/i);if(!r)return null;const[,i]=r;return{red:Number.parseInt(i.slice(0,2),16),green:Number.parseInt(i.slice(2,4),16),blue:Number.parseInt(i.slice(4,6),16)}}function Se(t,e){const n=Math.max(ve(t),ve(e)),r=Math.min(ve(t),ve(e));return(n+.05)/(r+.05)}function ve(t){return .2126*Te(t.red)+.7152*Te(t.green)+.0722*Te(t.blue)}function Te(t){const e=t/255;return e<=.03928?e/12.92:((e+.055)/1.055)**2.4}function re(t){const e=E.c(2),{name:n}=t;let r;return e[0]!==n?(r=s.jsx("svg",{viewBox:"0 0 20 20","aria-hidden":"true",children:s.jsx(ln,{name:n})}),e[0]=n,e[1]=r):r=e[1],r}function ln(t){const e=E.c(24),{name:n}=t;switch(n){case"arrow":{let r;return e[0]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M4 10h11"}),s.jsx("path",{d:"m11 6 4 4-4 4"})]}),e[0]=r):r=e[0],r}case"background":{let r;return e[1]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"4",y:"4",width:"12",height:"12",rx:"2"}),s.jsx("path",{d:"M7 8h6"}),s.jsx("path",{d:"M7 12h6"})]}),e[1]=r):r=e[1],r}case"bars":{let r;return e[2]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 4v12"}),s.jsx("path",{d:"M9 6v8"}),s.jsx("path",{d:"M13 8v4"})]}),e[2]=r):r=e[2],r}case"check":{let r;return e[3]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx("path",{d:"M4 10.5 8 14l8-9"}),e[3]=r):r=e[3],r}case"chevronDown":{let r;return e[4]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx("path",{d:"M5.5 7.5 10 12l4.5-4.5"}),e[4]=r):r=e[4],r}case"chevronUp":{let r;return e[5]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx("path",{d:"M5.5 12.5 10 8l4.5 4.5"}),e[5]=r):r=e[5],r}case"classic":{let r;return e[6]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M4 5h12"}),s.jsx("path",{d:"M4 10h12"}),s.jsx("path",{d:"M4 15h12"}),s.jsx("path",{d:"M7 3v4"}),s.jsx("path",{d:"M13 8v4"})]}),e[6]=r):r=e[6],r}case"collapse":{let r;return e[7]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M13.5 11.5 10 15 6.5 11.5"}),s.jsx("path",{d:"M6.5 8.5 10 5l3.5 3.5"})]}),e[7]=r):r=e[7],r}case"clipboard":{let r;return e[8]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"5",y:"4",width:"10",height:"13",rx:"2"}),s.jsx("path",{d:"M8 4a2 2 0 0 1 4 0"}),s.jsx("path",{d:"M8 7h4"})]}),e[8]=r):r=e[8],r}case"close":{let r;return e[9]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"m6 6 8 8"}),s.jsx("path",{d:"m14 6-8 8"})]}),e[9]=r):r=e[9],r}case"document":{let r;return e[10]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M6 3h6l4 4v10H6z"}),s.jsx("path",{d:"M12 3v5h5"})]}),e[10]=r):r=e[10],r}case"dots":{let r;return e[11]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 10h.01","data-precision-dot":"true"}),s.jsx("path",{d:"M10 10h.01","data-precision-dot":"true"}),s.jsx("path",{d:"M15 10h.01","data-precision-dot":"true"})]}),e[11]=r):r=e[11],r}case"expand":{let r;return e[12]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx("path",{d:"M6.5 8 10 11.5 13.5 8"}),e[12]=r):r=e[12],r}case"external":{let r;return e[13]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M7 5H5a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-2"}),s.jsx("path",{d:"M11 3h6v6"}),s.jsx("path",{d:"m10 10 7-7"})]}),e[13]=r):r=e[13],r}case"eye":{let r;return e[14]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M2.5 10s2.75-5 7.5-5 7.5 5 7.5 5-2.75 5-7.5 5-7.5-5-7.5-5z"}),s.jsx("circle",{cx:"10",cy:"10",r:"2.4"})]}),e[14]=r):r=e[14],r}case"files":{let r;return e[15]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"3.5",y:"4",width:"13",height:"12",rx:"2"}),s.jsx("path",{d:"M11.5 4v12"})]}),e[15]=r):r=e[15],r}case"numbers":{let r;return e[16]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 5h2v10"}),s.jsx("path",{d:"M4 15h4"}),s.jsx("path",{d:"M11 6.5a2 2 0 1 1 3.2 1.6L11 12h4"}),s.jsx("path",{d:"M11 15h4"})]}),e[16]=r):r=e[16],r}case"refresh":{let r;return e[17]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M16 8a6 6 0 0 0-10.3-3.7L4 6"}),s.jsx("path",{d:"M4 3v3h3"}),s.jsx("path",{d:"M4 12a6 6 0 0 0 10.3 3.7L16 14"}),s.jsx("path",{d:"M16 17v-3h-3"})]}),e[17]=r):r=e[17],r}case"search":{let r;return e[18]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"8.5",cy:"8.5",r:"4.5"}),s.jsx("path",{d:"m12 12 4 4"})]}),e[18]=r):r=e[18],r}case"sidebarCollapse":{let r;return e[19]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"3.5",y:"4",width:"13",height:"12",rx:"2"}),s.jsx("path",{d:"M8 4v12"}),s.jsx("path",{d:"m12 8 2 2-2 2"})]}),e[19]=r):r=e[19],r}case"split":{let r;return e[20]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"4",y:"4",width:"12",height:"12",rx:"2"}),s.jsx("rect",{x:"6",y:"6",width:"3.5",height:"8",rx:"1","data-diff-deletion":"true"}),s.jsx("rect",{x:"10.5",y:"6",width:"3.5",height:"8",rx:"1","data-diff-addition":"true"})]}),e[20]=r):r=e[20],r}case"unified":{let r;return e[21]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"4",y:"4",width:"12",height:"12",rx:"2"}),s.jsx("rect",{x:"6",y:"6",width:"8",height:"3.5",rx:"1","data-diff-deletion":"true"}),s.jsx("rect",{x:"6",y:"10.5",width:"8",height:"3.5",rx:"1","data-diff-addition":"true"})]}),e[21]=r):r=e[21],r}case"word":{let r;return e[22]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M3 6h14"}),s.jsx("path",{d:"M3 10h8"}),s.jsx("path",{d:"M3 14h11"}),s.jsx("path",{d:"M14 10h3"})]}),e[22]=r):r=e[22],r}case"wrap":{let r;return e[23]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M3 6h10a4 4 0 0 1 0 8H8"}),s.jsx("path",{d:"m10 11-3 3 3 3"})]}),e[23]=r):r=e[23],r}}}function Je(t){return`${t.repoRoot}\0${t.capabilityToken??""}\0${t.currentRef}`}function gt(t){return t.replace(/^[a-zA-Z][\w+.-]*:\/\/[^/]*/,"")}const cn={suggested:50,worktrees:50},dn=8,Ze=50,fn={suggested:"branchPickerGroupSuggested",worktrees:"branchPickerGroupWorktrees",branches:"branchPickerGroupBranches",remotes:"branchPickerGroupRemotes",recent:"branchPickerGroupRecent"},un=320,we=6,ye=8,pn=160;function mn(t){const e=window.innerWidth,n=window.innerHeight,r=e-un-ye,i=Math.max(ye,Math.min(t.left,r)),o=n-t.bottom-we-ye,a=t.top-we-ye;return oo?{top:"auto",bottom:n-t.top+we,left:i,maxHeight:Math.max(0,a)}:{top:t.bottom+we,bottom:"auto",left:i,maxHeight:Math.max(0,o)}}function et(t){const e=E.c(65),{label:n,onNavigate:r,onSelectBranchBase:i,picker:o,transport:a}=t,c=a===void 0?null:a,[l,u]=S.useState(!1),[d,p]=S.useState(""),[m,h]=S.useState(null),[g,f]=S.useState("idle"),[x,v]=S.useState(0),[b,w]=S.useState(null),[y,I]=S.useState(!1),[M,F]=S.useState(null),k=S.useRef(null),j=S.useRef(null),R=S.useRef(null),T=S.useId(),z=hn;let O;e[0]!==m||e[1]!==n||e[2]!==d?(O=wn(m,d,n),e[0]=m,e[1]=n,e[2]=d,e[3]=O):O=e[3];const L=O,$=L.length===0?0:Math.min(x,L.length-1);let G;e[4]!==m||e[5]!==g||e[6]!==o||e[7]!==c?(G=()=>{u(!0),p(""),v(0),m==null&&g!=="loading"&&(f("loading"),Sn(o,c).then(N=>{h(N.groups),f("idle")}).catch(N=>{console.warn("cmux diff branch picker refs load failed",N),f("error")}))},e[4]=m,e[5]=g,e[6]=o,e[7]=c,e[8]=G):G=e[8];const H=G;let W;e[9]===Symbol.for("react.memo_cache_sentinel")?(W=()=>{u(!1),R.current?.focus()},e[9]=W):W=e[9];const U=W;let D;e[10]!==r||e[11]!==i||e[12]!==o||e[13]!==c?(D=N=>{const Y=N.trim();if(Y!==""){if(Y===o.currentRef){U(),w(null);return}if(w(Y),I(!1),u(!1),i){i(Y),w(null);return}if(c&&o.groupId&&o.capabilityToken){c.request({method:"branchChange",params:{groupId:o.groupId,repoRoot:o.repoRoot,baseRef:Y,capabilityToken:o.capabilityToken}}).then(me=>{if(me.type!=="navigation")throw new Error("branch change response missing navigation");r(me.value.url)}).catch(me=>{console.warn("cmux diff branch picker regeneration failed",me),w(null),I(!0),f("idle"),p(""),v(0),u(!0)});return}r(gt(o.regenerateURLTemplate).replace("{ref}",encodeURIComponent(Y)))}},e[10]=r,e[11]=i,e[12]=o,e[13]=c,e[14]=D):D=e[14];const _=D;let q,B;e[15]!==l?(q=()=>{if(!l)return;const N=Y=>{if(!(Y.target instanceof Node))return;const me=Y.target;k.current?.contains(me)||j.current?.contains(me)||u(!1)};return document.addEventListener("mousedown",N),()=>document.removeEventListener("mousedown",N)},B=[l],e[15]=l,e[16]=q,e[17]=B):(q=e[16],B=e[17]),S.useEffect(q,B);let K,X;e[18]!==l?(K=()=>{if(!l){F(null);return}const N=()=>{const Y=R.current;Y&&F(mn(Y.getBoundingClientRect()))};return N(),window.addEventListener("resize",N),window.addEventListener("scroll",N,!0),()=>{window.removeEventListener("resize",N),window.removeEventListener("scroll",N,!0)}},X=[l],e[18]=l,e[19]=K,e[20]=X):(K=e[19],X=e[20]),S.useEffect(K,X);let J;e[21]!==$||e[22]!==L||e[23]!==_?(J=N=>{if(N.key==="Escape"){N.preventDefault(),U();return}if(N.key==="ArrowDown"){N.preventDefault(),L.length>0&&v(Y=>(Y+1)%L.length);return}if(N.key==="ArrowUp"){N.preventDefault(),L.length>0&&v(Y=>(Y-1+L.length)%L.length);return}if(N.key==="Enter"){N.preventDefault();const Y=L[$];Y&&_(Y.row.ref);return}},e[21]=$,e[22]=L,e[23]=_,e[24]=J):J=e[24];const Z=J;let C;e[25]!==b||e[26]!==n?(C=b!=null?n("branchPickerGenerating").replace("{ref}",b):null,e[25]=b,e[26]=n,e[27]=C):C=e[27];const V=C;let P;e[28]!==b||e[29]!==n||e[30]!==o?(P=b!=null?n("branchPickerOpen"):gn(n,o),e[28]=b,e[29]=n,e[30]=o,e[31]=P):P=e[31];const A=P,Q=l?T:void 0;let te;e[32]!==n?(te=n("branchPickerOpen"),e[32]=n,e[33]=te):te=e[33];const ae=b!=null?"true":"false",ee=b!=null;let ne;e[34]!==l||e[35]!==H?(ne=()=>l?u(!1):H(),e[34]=l,e[35]=H,e[36]=ne):ne=e[36];let le;e[37]!==V||e[38]!==b||e[39]!==o?(le=b!=null?s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"base-picker-spinner","aria-hidden":"true"}),s.jsx("span",{className:"base-picker-text",children:V})]}):s.jsx(xn,{picker:o}),e[37]=V,e[38]=b,e[39]=o,e[40]=le):le=e[40];let ie;e[41]!==A||e[42]!==l||e[43]!==Q||e[44]!==te||e[45]!==ae||e[46]!==ee||e[47]!==ne||e[48]!==le?(ie=s.jsx("button",{ref:R,id:"base-picker-button",type:"button",className:"base-picker-button","aria-haspopup":"listbox","aria-expanded":l,"aria-controls":Q,"aria-label":te,title:A,"data-generating":ae,disabled:ee,onClick:ne,children:le}),e[41]=A,e[42]=l,e[43]=Q,e[44]=te,e[45]=ae,e[46]=ee,e[47]=ne,e[48]=le,e[49]=ie):ie=e[49];let oe;e[50]!==$||e[51]!==L||e[52]!==n||e[53]!==T||e[54]!==g||e[55]!==Z||e[56]!==l||e[57]!==M||e[58]!==d||e[59]!==y||e[60]!==_?(oe=l&&M?At.createPortal(s.jsxs("div",{ref:j,className:"base-picker-popover",role:"dialog","aria-label":n("branchPickerOpen"),style:M,children:[s.jsxs("div",{className:"base-picker-search",children:[s.jsx(re,{name:"search"}),s.jsx("input",{ref:z,type:"text",className:"base-picker-input",placeholder:n("branchPickerFilterPlaceholder"),"aria-label":n("branchPickerFilterPlaceholder"),"aria-controls":T,"aria-activedescendant":L[$]?tt(T,$):void 0,value:d,onChange:N=>{p(N.currentTarget.value),v(0)},onKeyDown:Z})]}),y?s.jsx("output",{className:"base-picker-status base-picker-status-error",children:n("branchPickerGenerateFailed")}):null,s.jsx("div",{id:T,className:"base-picker-list",role:"listbox","aria-label":n("branchPickerOpen"),children:g==="loading"?s.jsx("div",{className:"base-picker-status",children:n("branchPickerLoading")}):g==="error"?s.jsx("div",{className:"base-picker-status base-picker-status-error",children:n("branchPickerLoadFailed")}):L.length===0?s.jsx("div",{className:"base-picker-status",children:n("branchPickerNoMatches")}):L.map((N,Y)=>s.jsx(bn,{domId:tt(T,Y),entry:N,label:n,selected:Y===$,onHover:()=>v(Y),onSelect:()=>_(N.row.ref)},`${N.groupId}:${N.row.ref}`))})]}),document.body):null,e[50]=$,e[51]=L,e[52]=n,e[53]=T,e[54]=g,e[55]=Z,e[56]=l,e[57]=M,e[58]=d,e[59]=y,e[60]=_,e[61]=oe):oe=e[61];let fe;return e[62]!==ie||e[63]!==oe?(fe=s.jsxs("div",{id:"base-picker",ref:k,children:[ie,oe]}),e[62]=ie,e[63]=oe,e[64]=fe):fe=e[64],fe}function hn(t){t?.focus()}function gn(t,e){const n=e.confidence==="low",r=[t("branchPickerComparing").replace("{head}",e.headRef).replace("{base}",e.currentRef)];return e.currentReason&&r.push(`(${n?"~":""}${e.currentReason})`),e.aheadBehind&&r.push(`+${e.aheadBehind.ahead} -${e.aheadBehind.behind}`),r.join(" ")}function xn(t){const e=E.c(15),{picker:n}=t,r=n.confidence==="low",i=`${r?"~":""}${n.currentReason}`,o=n.aheadBehind;let a;e[0]!==n.headRef?(a=s.jsx("span",{className:"base-picker-head",children:n.headRef}),e[0]=n.headRef,e[1]=a):a=e[1];let c;e[2]===Symbol.for("react.memo_cache_sentinel")?(c=s.jsx(re,{name:"arrow"}),e[2]=c):c=e[2];let l;e[3]!==n.currentRef?(l=s.jsx("span",{className:"base-picker-ref",children:n.currentRef}),e[3]=n.currentRef,e[4]=l):l=e[4];let u;e[5]!==o||e[6]!==r||e[7]!==n.currentReason||e[8]!==i?(u=n.currentReason||o?s.jsxs("span",{className:"base-picker-meta",children:[n.currentReason?s.jsxs("span",{className:r?"base-picker-reason base-picker-reason-low":"base-picker-reason",children:["(",i,")"]}):null,o?s.jsxs("span",{className:"base-picker-aheadbehind",children:["+",o.ahead," -",o.behind]}):null]}):null,e[5]=o,e[6]=r,e[7]=n.currentReason,e[8]=i,e[9]=u):u=e[9];let d;e[10]===Symbol.for("react.memo_cache_sentinel")?(d=s.jsx(re,{name:"expand"}),e[10]=d):d=e[10];let p;return e[11]!==a||e[12]!==l||e[13]!==u?(p=s.jsxs("span",{className:"base-picker-label",children:[a,c,l,u,d]}),e[11]=a,e[12]=l,e[13]=u,e[14]=p):p=e[14],p}function bn(t){const e=E.c(34),{domId:n,entry:r,label:i,onHover:o,onSelect:a,selected:c}=t,{row:l}=r,u=l.secondary??l.worktreeDir??l.reason??"";let d;e[0]!==r.firstInGroup||e[1]!==r.groupLabel?(d=r.firstInGroup?s.jsx("div",{className:"base-picker-group-header",role:"presentation",children:r.groupLabel}):null,e[0]=r.firstInGroup,e[1]=r.groupLabel,e[2]=d):d=e[2];const p=c?"base-picker-row base-picker-row-selected":"base-picker-row";let m;e[3]!==a?(m=y=>{y.preventDefault(),a()},e[3]=a,e[4]=m):m=e[4];let h;e[5]!==r.match||e[6]!==r.raw||e[7]!==i||e[8]!==l.label||e[9]!==l.ref?(h=r.raw?i("branchPickerUseRaw").replace("{ref}",l.ref):vn(l.label,r.match),e[5]=r.match,e[6]=r.raw,e[7]=i,e[8]=l.label,e[9]=l.ref,e[10]=h):h=e[10];let g;e[11]!==h?(g=s.jsx("span",{className:"base-picker-row-primary",children:h}),e[11]=h,e[12]=g):g=e[12];let f;e[13]!==i||e[14]!==l.current?(f=l.current?s.jsx("span",{className:"base-picker-pill",children:i("branchPickerCurrent")}):null,e[13]=i,e[14]=l.current,e[15]=f):f=e[15];let x;e[16]!==u?(x=u?s.jsx("span",{className:"base-picker-row-secondary",children:u}):null,e[16]=u,e[17]=x):x=e[17];let v;e[18]!==n||e[19]!==o||e[20]!==c||e[21]!==p||e[22]!==m||e[23]!==g||e[24]!==f||e[25]!==x?(v=s.jsxs("div",{id:n,role:"option",tabIndex:-1,"aria-selected":c,className:p,onMouseMove:o,onMouseDown:m,children:[g,f,x]}),e[18]=n,e[19]=o,e[20]=c,e[21]=p,e[22]=m,e[23]=g,e[24]=f,e[25]=x,e[26]=v):v=e[26];let b;e[27]!==r.moreCount||e[28]!==i?(b=r.moreCount>0?s.jsx("div",{className:"base-picker-more",role:"presentation",children:i("branchPickerMore").replace("{count}",String(r.moreCount))}):null,e[27]=r.moreCount,e[28]=i,e[29]=b):b=e[29];let w;return e[30]!==d||e[31]!==v||e[32]!==b?(w=s.jsxs(s.Fragment,{children:[d,v,b]}),e[30]=d,e[31]=v,e[32]=b,e[33]=w):w=e[33],w}function tt(t,e){return`${t}-row-${e}`}function vn(t,e){if(!e)return t;const[n,r]=e;return s.jsxs(s.Fragment,{children:[t.slice(0,n),s.jsx("strong",{children:t.slice(n,r)}),t.slice(r)]})}function wn(t,e,n){const r=e.trim(),i=[];let o=!1;if(t&&r==="")for(const a of t){const c=nt(a,n),l=cn[a.id]??dn,u=a.rows.slice(0,l),d=a.rows.length-u.length;u.forEach((p,m)=>{i.push({row:p,groupId:a.id,groupLabel:c,firstInGroup:m===0,match:null,raw:!1,moreCount:m===u.length-1?d:0})})}else if(t)for(const a of t){if(i.length>=Ze)break;const c=nt(a,n);let l=!0;for(const u of a.rows){if(i.length>=Ze)break;const d=yn(u.label,r);d!=null&&(o=!0,i.push({row:u,groupId:a.id,groupLabel:c,firstInGroup:l,match:d,raw:!1,moreCount:0}),l=!1)}}return r!==""&&!o&&i.unshift({row:{ref:r,label:r},groupId:"__raw",groupLabel:"",firstInGroup:!1,match:null,raw:!0,moreCount:0}),i}function nt(t,e){const n=fn[t.id];return n?e(n):t.label||t.id}function yn(t,e){const n=t.toLowerCase(),r=e.toLowerCase(),i=n.indexOf(r);if(i>=0)return[i,i+r.length];let o=0,a=-1;for(let c=0;c=0?[a,a+1]:null}async function kn(t){const e=await fetch(t,{cache:"no-store"});if(!e.ok)throw new Error(`refs request failed (${e.status})`);const n=await e.json();if(!n||!Array.isArray(n.groups))throw new Error("refs response missing groups");return n}async function Sn(t,e){if(e&&t.capabilityToken){const n=await e.request({method:"branchList",params:{repoRoot:t.repoRoot,capabilityToken:t.capabilityToken,selectedBase:t.currentRef}});if(n.type!=="branches")throw new Error("branch list response missing groups");if(!Array.isArray(n.value.groups))throw new Error("branch list response missing groups");return n.value}return kn(gt(t.refsURL))}const xt=40;function $e(t,e){return e==="additions"?{start:t.additionStart,count:t.additionCount,lineIndex:t.additionLineIndex}:{start:t.deletionStart,count:t.deletionCount,lineIndex:t.deletionLineIndex}}function ge(t,e){return(t[e]??"").replace(/\r?\n$/,"")}function bt(t,e){const n=e==="additions"?t?.additionLines:t?.deletionLines;return Array.isArray(n)?n:[]}function jn(t,e,n){if(t?.hunks==null||!Number.isFinite(n))return null;for(const r of t.hunks){const{start:i,count:o,lineIndex:a}=$e(r,e);if(n>=i&&n=d.start+d.count||u.hunkContent==null)continue;let p=u.additionStart,m=u.deletionStart;for(const h of u.hunkContent){if(h.type==="context"){for(let f=0;f=i&&x<=o&&l.push(` ${ge(a,h.additionLineIndex+f)}`)}p+=h.lines,m+=h.lines;continue}if(e==="additions"?h.additions>0&&p<=o&&p+h.additions-1>=i:h.deletions>0&&m<=o&&m+h.deletions-1>=i){for(let f=0;f{if(t.signal?.aborted)throw t.signal.reason??new DOMException("The diff stream was cancelled","AbortError")},n=Ln(),r={startedAt:performance.now(),completedAt:0,flushCount:0,longYieldCount:0,maxBatchSize:0,maxYieldMs:0,treeRefreshCount:0,yieldCount:0};let i=!0,o=performance.now(),a=performance.now(),c=128,l,u=0;const d={initialBatchSize:t.initialFileTreeRowCount,maxIncrementalBatchSize:4096,initialMaxWait:500,incrementalMaxWait:100};function p(S,j){e(),rt(S),$n(S);const P=Tn(n,S,j,t.getCollapsed(),t.label("untitled"));return P?.renamedItem&&t.onRename(P.renamedItem),P?.item}async function m(S,j){e(),p(S,j)&&await h(!1)}async function h(S){if(e(),n.pendingItems.length===0)return;const j=performance.now();if(!S&&i&&j-o>=8&&n.pendingItems.length=P||j-a>=T)&&(g(),await f(),o=performance.now())}function g(){if(e(),n.pendingItems.length===0)return;const S=n.pendingItems.splice(0,n.pendingItems.length);n.pendingItemById.clear(),n.items.push(...S),t.onBatch(S),r.firstBatchAt==null&&(r.firstBatchAt=performance.now(),r.firstBatchFileCount=S.length),r.flushCount+=1,r.maxBatchSize=Math.max(r.maxBatchSize,S.length),r.fileCount=n.items.length,r.renderableFileCount=n.items.length,x(),t.onMetrics({...r}),a=performance.now(),i||(c=Math.min(c*4,d.maxIncrementalBatchSize)),i=!1}async function f(){e();const S=performance.now();await Hn();const j=performance.now()-S;r.yieldCount+=1,r.maxYieldMs=Math.max(r.maxYieldMs,j),j>16&&(r.longYieldCount+=1)}function x(){e(),r.treeRefreshCount+=1,t.onTreeSource(Bn(n))}async function v(S){if(e(),S.trim()==="")return;const j=zn(S);j!=null&&(l=yt(j,u,t.label),u+=1);const P=`cmux-diff-file-${n.fileIndex}`,T=t.processFile(S,{cacheKey:P,isGitDiff:!0});rt(T,S),await m(T,l)}const b=await fetch(t.patchURL,{cache:"no-store",signal:t.signal});if(!b.ok)throw new Error(`${t.label("loadingDiff")} (${b.status})`);if(!b.body?.getReader){e();const S=await b.text();e(),await at(S,t,m),await h(!0),r.completedAt=performance.now(),t.onComplete({...r});return}const w=new TextDecoder,y=b.body.getReader(),C=Dn(),M=256*1024;for(;;){e();const{done:S,value:j}=await y.read();if(S){const P=w.decode();P.length>0&&(C.push(P),await Fe(C,v));break}for(let P=0;P0&&(c==null&&t.paths.push(a),t.pathToItemId.set(a,p.id),_n(t,a,e.type,c?.sawDeleted===!0),t.pathStateByTreePath.set(a,{currentItem:p,currentItemId:p.id,currentType:e.type,fileOrder:m,sawDeleted:c?.sawDeleted===!0||e.type==="deleted"})),{item:p,renamedItem:l}}function Fn(t,e,n){const r=n.currentItemId,i=n.currentType==="deleted"?"?deleted":"?previous",o=wt(t,`${e}${i}`),a={...n.currentItem,id:o};n.currentItem=a,n.currentItemId=o,Nn(t,r,a);const c=t.itemIdToFile.get(r);if(c&&(t.itemIdToFile.delete(r),t.itemIdToFile.set(o,c)),t.treePathByItemId.has(r)&&(t.treePathByItemId.delete(r),t.treePathByItemId.set(o,e)),t.pendingItemById.has(r)){t.pendingItemById.delete(r),t.pendingItemById.set(o,a);return}return{oldId:r,newId:o}}function Nn(t,e,n){const r=t.itemIdToFile.get(e)?.fileOrder;r!=null&&(r({...r})),gitStatusPatch:En(t),pathCount:t.paths.length,paths:[...t.paths],pathToItemId:new Map(t.pathToItemId),previousRevision:e,revision:t.treeRevision,statsChanged:t.pendingStatsChanged,statsByPath:new Map(Array.from(t.statsByPath,([r,i])=>[r,{...i}])),treePathByItemId:new Map(t.treePathByItemId)};return t.pendingStatsChanged=!1,n}function En(t){if(t.pendingGitStatusRemovePaths.size===0&&t.pendingGitStatusSetByPath.size===0)return;const e={};return t.pendingGitStatusRemovePaths.size>0&&(e.remove=Array.from(t.pendingGitStatusRemovePaths),t.pendingGitStatusRemovePaths.clear()),t.pendingGitStatusSetByPath.size>0&&(e.set=Array.from(t.pendingGitStatusSetByPath.values()),t.pendingGitStatusSetByPath.clear()),e}async function at(t,e,n){const r=e.parsePatchFiles(t,"cmux-diff"),i=r.length>1;for(const[o,a]of r.entries()){const c=i?yt(a.patchMetadata,o,e.label):void 0;for(const l of a.files??[])await n(l,c)}}function Dn(){let t,e="",n=0,r=0,i=!1;const o="diff --git ",a=` +`)}function rt(t,e){if(t==null||typeof t!="object")return;const n=Array.isArray(t.hunks)?t.hunks:[],r=e!=null&&/(?:^|\n)(?:GIT binary patch|Binary files .* differ)(?:\n|$)/.test(e),i=t.type==="change"&&n.length===0&&typeof t.prevObjectId=="string"&&typeof t.newObjectId=="string"&&t.prevMode==null;r||i?t.cmuxDiffMetadataKind="binary":typeof t.prevMode=="string"&&typeof t.mode=="string"&&t.prevMode!==t.mode&&(t.cmuxDiffMetadataKind="mode")}function Mn(t,e){if(t?.cmuxDiffMetadataKind==="binary")return e("binaryFile");if(t?.cmuxDiffMetadataKind==="mode")return e("modeChange").replace("{old}",t.prevMode??"").replace("{new}",t.mode??"")}function Pn(t){const e=E.c(6),{fileDiff:n,label:r}=t;let i;e[0]!==n||e[1]!==r?(i=Mn(n,r),e[0]=n,e[1]=r,e[2]=i):i=e[2];const o=i;if(o==null)return null;let a;return e[3]!==n.cmuxDiffMetadataKind||e[4]!==o?(a=s.jsx("span",{"data-cmux-diff-metadata":n.cmuxDiffMetadataKind,children:o}),e[3]=n.cmuxDiffMetadataKind,e[4]=o,e[5]=a):a=e[5],a}const We=/^From\s+([a-f0-9]+)\s/im;async function Rn(t){const e=()=>{if(t.signal?.aborted)throw t.signal.reason??new DOMException("The diff stream was cancelled","AbortError")},n=Ln(),r={startedAt:performance.now(),completedAt:0,flushCount:0,longYieldCount:0,maxBatchSize:0,maxYieldMs:0,treeRefreshCount:0,yieldCount:0};let i=!0,o=performance.now(),a=performance.now(),c=128,l,u=0;const d={initialBatchSize:t.initialFileTreeRowCount,maxIncrementalBatchSize:4096,initialMaxWait:500,incrementalMaxWait:100};function p(k,j){e(),rt(k),$n(k);const R=Tn(n,k,j,t.getCollapsed(),t.label("untitled"));return R?.renamedItem&&t.onRename(R.renamedItem),R?.item}async function m(k,j){e(),p(k,j)&&await h(!1)}async function h(k){if(e(),n.pendingItems.length===0)return;const j=performance.now();if(!k&&i&&j-o>=8&&n.pendingItems.length=R||j-a>=T)&&(g(),await f(),o=performance.now())}function g(){if(e(),n.pendingItems.length===0)return;const k=n.pendingItems.splice(0,n.pendingItems.length);n.pendingItemById.clear(),n.items.push(...k),t.onBatch(k),r.firstBatchAt==null&&(r.firstBatchAt=performance.now(),r.firstBatchFileCount=k.length),r.flushCount+=1,r.maxBatchSize=Math.max(r.maxBatchSize,k.length),r.fileCount=n.items.length,r.renderableFileCount=n.items.length,x(),t.onMetrics({...r}),a=performance.now(),i||(c=Math.min(c*4,d.maxIncrementalBatchSize)),i=!1}async function f(){e();const k=performance.now();await Hn();const j=performance.now()-k;r.yieldCount+=1,r.maxYieldMs=Math.max(r.maxYieldMs,j),j>16&&(r.longYieldCount+=1)}function x(){e(),r.treeRefreshCount+=1,t.onTreeSource(Bn(n))}async function v(k){if(e(),k.trim()==="")return;const j=zn(k);j!=null&&(l=yt(j,u,t.label),u+=1);const R=`cmux-diff-file-${n.fileIndex}`,T=t.processFile(k,{cacheKey:R,isGitDiff:!0});rt(T,k),await m(T,l)}const b=await fetch(t.patchURL,{cache:"no-store",signal:t.signal});if(!b.ok)throw new Error(`${t.label("loadingDiff")} (${b.status})`);if(!b.body?.getReader){e();const k=await b.text();e(),await at(k,t,m),await h(!0),r.completedAt=performance.now(),t.onComplete({...r});return}const w=new TextDecoder,y=b.body.getReader(),I=Dn(),M=256*1024;for(;;){e();const{done:k,value:j}=await y.read();if(k){const R=w.decode();R.length>0&&(I.push(R),await Fe(I,v));break}for(let R=0;R0&&(c==null&&t.paths.push(a),t.pathToItemId.set(a,p.id),_n(t,a,e.type,c?.sawDeleted===!0),t.pathStateByTreePath.set(a,{currentItem:p,currentItemId:p.id,currentType:e.type,fileOrder:m,sawDeleted:c?.sawDeleted===!0||e.type==="deleted"})),{item:p,renamedItem:l}}function Fn(t,e,n){const r=n.currentItemId,i=n.currentType==="deleted"?"?deleted":"?previous",o=wt(t,`${e}${i}`),a={...n.currentItem,id:o};n.currentItem=a,n.currentItemId=o,Nn(t,r,a);const c=t.itemIdToFile.get(r);if(c&&(t.itemIdToFile.delete(r),t.itemIdToFile.set(o,c)),t.treePathByItemId.has(r)&&(t.treePathByItemId.delete(r),t.treePathByItemId.set(o,e)),t.pendingItemById.has(r)){t.pendingItemById.delete(r),t.pendingItemById.set(o,a);return}return{oldId:r,newId:o}}function Nn(t,e,n){const r=t.itemIdToFile.get(e)?.fileOrder;r!=null&&(r({...r})),gitStatusPatch:En(t),pathCount:t.paths.length,paths:[...t.paths],pathToItemId:new Map(t.pathToItemId),previousRevision:e,revision:t.treeRevision,statsChanged:t.pendingStatsChanged,statsByPath:new Map(Array.from(t.statsByPath,([r,i])=>[r,{...i}])),treePathByItemId:new Map(t.treePathByItemId)};return t.pendingStatsChanged=!1,n}function En(t){if(t.pendingGitStatusRemovePaths.size===0&&t.pendingGitStatusSetByPath.size===0)return;const e={};return t.pendingGitStatusRemovePaths.size>0&&(e.remove=Array.from(t.pendingGitStatusRemovePaths),t.pendingGitStatusRemovePaths.clear()),t.pendingGitStatusSetByPath.size>0&&(e.set=Array.from(t.pendingGitStatusSetByPath.values()),t.pendingGitStatusSetByPath.clear()),e}async function at(t,e,n){const r=e.parsePatchFiles(t,"cmux-diff"),i=r.length>1;for(const[o,a]of r.entries()){const c=i?yt(a.patchMetadata,o,e.label):void 0;for(const l of a.files??[])await n(l,c)}}function Dn(){let t,e="",n=0,r=0,i=!1;const o="diff --git ",a=` `+o,c=a.length-1,l=/\S/;function u(h,g){const f=Math.max(g,0);if(h.startsWith(o,f))return f;const x=h.indexOf(a,f);return x===-1?void 0:x+1}function d(h,g){return Math.max(g,h.length-c)}function p(){if(t==null){if(t=u(e,Math.max(r,n)),t==null)return r=d(e,n),null;i=!0,r=t+1}for(;;){const h=t;if(h==null)return null;const g=u(e,r);if(g==null)return r=d(e,h+1),null;const f=An(e,h+1,g)??g,x=e.slice(n,f);if(n=f,m(),t=u(e,n),r=t==null?n:t+1,l.test(x))return x}}return{push(h){h.length>0&&(m(),e+=h)},takeAvailableFile:p,finish(){const h=p();if(h!=null)return{fileText:h};if(!l.test(e))return e="",n=0,{};if(!i){const f=e.slice(n);return e="",n=0,{fallbackPatchContent:f}}const g=e.slice(n);return e="",n=0,{fileText:g}}};function m(){n===0||n<256*1024||n*2=i)return;const o=Math.max(0,r-1),a=t.slice(o,i);let c=a.indexOf(` From `);for(;c!==-1;){const l=o+c+1;if(l>=i)return;if(li?i:u);if(We.test(d))return l;c=a.indexOf(` From `,c+1)}}function zn(t){const e=On(t,0);if(e==null||e<=0)return;const n=t.slice(0,e);return We.test(n)?n:void 0}function On(t,e){const n="diff --git ",r=` -`+n,i=Math.max(e,0);if(t.startsWith(n,i))return i;const o=t.indexOf(r,i);return o===-1?void 0:o+1}function yt(t,e,n){const r=t?.match(We);return r?.[1]?new TextDecoder().decode(new TextEncoder().encode(r[1].slice(0,5))):`${n("commit")} ${e+1}`}function pe(t,e="Untitled"){return t.name??t.newName??t.oldName??t.prevName??e}function $n(t){if(!(t==null||typeof t!="object"))for(const e of["name","newName","oldName","prevName"])typeof t[e]=="string"&&(t[e]=Vn(t[e]))}function Vn(t){if(!t.includes("\\"))return t;const e=[],n=new TextEncoder,r=o=>e.push(...n.encode(o)),i={a:7,b:8,f:12,n:10,r:13,t:9,v:11,"\\":92,'"':34};for(let o=0;o=t.length){r(c),o+=c.length;continue}const l=t[o+1];if(l!=null&&/[0-7]/.test(l)){let d=l,p=o+2;for(;d.length<3&&p{let e=!1,n=0;const r=()=>{e||(e=!0,n!==0&&window.clearTimeout(n),t())};if(document.visibilityState==="visible"&&document.hasFocus())n=window.setTimeout(r,50),window.requestAnimationFrame(r);else if(typeof MessageChannel<"u"){const i=new MessageChannel;i.port1.onmessage=r,i.port2.postMessage(void 0)}else queueMicrotask(r)})}function kt(t,e,n){const r=[],i=t.fileDiff!=null?pe(t.fileDiff,""):"";if(i!=="")for(const o of e){if(o.filePath!==i)continue;const a=vt(t.fileDiff,o);a.state!=="outdated"&&r.push({side:o.side,lineNumber:a.line,metadata:{kind:"comment",comment:o,anchor:a}})}return n!=null&&n.itemId===t.id&&r.push({side:n.side,lineNumber:n.endLine,metadata:{kind:"draft"}}),r}function qn(t,e){return t.state!==e.state?!1:t.state==="outdated"||e.state==="outdated"?!0:t.line===e.line}function Kn(t,e){if(t.side!==e.side||t.lineNumber!==e.lineNumber)return!1;const n=t.metadata,r=e.metadata;return n.kind==="draft"||r.kind==="draft"?n.kind===r.kind:n.comment===r.comment&&qn(n.anchor,r.anchor)}function Yn(t,e){const n=t??[];if(n.length!==e.length)return!1;for(let r=0;r{const a=kt(o,e,n);return Yn(o.annotations,a)?o:(r=!0,{...o,annotations:a,version:(o.version??0)+1})});return r?i:t}function Xn(t,e,n=!0){return e.map(r=>{let i=null;for(const o of t){if(o.fileDiff==null||pe(o.fileDiff,"")!==r.filePath)continue;const a=vt(o.fileDiff,r);if(a.state!=="outdated")return{comment:r,itemId:o.id,anchor:a,pending:!1};i??={itemId:o.id,anchor:a}}return{comment:r,itemId:i?.itemId??null,anchor:i?.anchor??{state:"outdated"},pending:i==null&&!n}})}class De extends Error{code;constructor(e,n){super(e),this.name="DiffCommentsBridgeError",this.code=n}}function St(){if(typeof window>"u")return null;const t=window.webkit?.messageHandlers?.cmuxDiffComments;return t!=null&&typeof t.postMessage=="function"?t:null}function Jn(){return St()!=null}async function Ge(t,e){const n=St();if(n==null)throw new De("Diff comments bridge is unavailable.");const r=await n.postMessage({id:Qt(),method:t,params:e});if(!r.ok)throw new De(r.error?.userMessage||"Diff comments request failed.",r.error?.code);return r.value}async function Zn(t){const e=await Ge("comments.list",{repoRoot:t});return Array.isArray(e?.comments)?e.comments:[]}async function st(t,e){const n=await Ge("comments.save",{repoRoot:t,comment:e});if(n?.comment==null)throw new De("Diff comments save returned no comment.");return n.comment}async function er(t,e){await Ge("comments.delete",{repoRoot:t,id:e})}function jt(t){const e=E.c(28),{initialMessage:n,labels:r,onCancel:i,onSave:o}=t,a=n===void 0?"":n,[c,l]=k.useState(a),u=tr;let d;e[0]===Symbol.for("react.memo_cache_sentinel")?(d=C=>l(C.currentTarget.value),e[0]=d):d=e[0];let p;e[1]!==c||e[2]!==o?(p=C=>{C.key==="Enter"&&(C.metaKey||C.ctrlKey)&&c.trim()!==""&&(C.preventDefault(),o(c))},e[1]=c,e[2]=o,e[3]=p):p=e[3];let m;e[4]!==r.addComment||e[5]!==r.commentPlaceholder||e[6]!==c||e[7]!==p?(m=s.jsx("textarea",{ref:u,className:"comment-composer-input",placeholder:r.commentPlaceholder,"aria-label":r.addComment,rows:3,value:c,onChange:d,onKeyDown:p}),e[4]=r.addComment,e[5]=r.commentPlaceholder,e[6]=c,e[7]=p,e[8]=m):m=e[8];let h;e[9]===Symbol.for("react.memo_cache_sentinel")?(h=s.jsx("span",{}),e[9]=h):h=e[9];let g;e[10]!==r.cancelComment||e[11]!==i?(g=s.jsx("button",{type:"button",className:"comment-button",onClick:i,children:r.cancelComment}),e[10]=r.cancelComment,e[11]=i,e[12]=g):g=e[12];let f;e[13]!==c?(f=c.trim(),e[13]=c,e[14]=f):f=e[14];const x=f==="";let v;e[15]!==c||e[16]!==o?(v=()=>o(c),e[15]=c,e[16]=o,e[17]=v):v=e[17];let b;e[18]!==r.saveComment||e[19]!==x||e[20]!==v?(b=s.jsx("button",{type:"button",className:"comment-button comment-button-primary",disabled:x,onClick:v,children:r.saveComment}),e[18]=r.saveComment,e[19]=x,e[20]=v,e[21]=b):b=e[21];let w;e[22]!==b||e[23]!==g?(w=s.jsxs("div",{className:"comment-composer-footer",children:[h,s.jsxs("span",{className:"comment-composer-buttons",children:[g,b]})]}),e[22]=b,e[23]=g,e[24]=w):w=e[24];let y;return e[25]!==w||e[26]!==m?(y=s.jsxs("div",{className:"comment-composer",children:[m,w]}),e[25]=w,e[26]=m,e[27]=y):y=e[27],y}function tr(t){t?.focus()}function nr(t){const e=t.split("/"),n=e[e.length-1];return n!=null&&n!==""?n:t}function Ct(t){const e=`${nr(t.filePath)}:${t.startLine}`;return t.endLine>t.startLine?`${e}-${t.endLine}`:e}function lt(t,e){const n=t.endLine>t.startLine?`lines ${t.startLine}-${t.endLine}`:`line ${t.startLine}`,r=t.side==="deletions"?"old":"new",i=[`Review comment on ${t.filePath} ${n} (${r} version):`],o=Cn(e,t.side,t.startLine,t.endLine);if(o!=="")i.push(`\`\`\`diff +`+n,i=Math.max(e,0);if(t.startsWith(n,i))return i;const o=t.indexOf(r,i);return o===-1?void 0:o+1}function yt(t,e,n){const r=t?.match(We);return r?.[1]?new TextDecoder().decode(new TextEncoder().encode(r[1].slice(0,5))):`${n("commit")} ${e+1}`}function pe(t,e="Untitled"){return t.name??t.newName??t.oldName??t.prevName??e}function $n(t){if(!(t==null||typeof t!="object"))for(const e of["name","newName","oldName","prevName"])typeof t[e]=="string"&&(t[e]=Vn(t[e]))}function Vn(t){if(!t.includes("\\"))return t;const e=[],n=new TextEncoder,r=o=>e.push(...n.encode(o)),i={a:7,b:8,f:12,n:10,r:13,t:9,v:11,"\\":92,'"':34};for(let o=0;o=t.length){r(c),o+=c.length;continue}const l=t[o+1];if(l!=null&&/[0-7]/.test(l)){let d=l,p=o+2;for(;d.length<3&&p{let e=!1,n=0;const r=()=>{e||(e=!0,n!==0&&window.clearTimeout(n),t())};if(document.visibilityState==="visible"&&document.hasFocus())n=window.setTimeout(r,50),window.requestAnimationFrame(r);else if(typeof MessageChannel<"u"){const i=new MessageChannel;i.port1.onmessage=r,i.port2.postMessage(void 0)}else queueMicrotask(r)})}function kt(t,e,n){const r=[],i=t.fileDiff!=null?pe(t.fileDiff,""):"";if(i!=="")for(const o of e){if(o.filePath!==i)continue;const a=vt(t.fileDiff,o);a.state!=="outdated"&&r.push({side:o.side,lineNumber:a.line,metadata:{kind:"comment",comment:o,anchor:a}})}return n!=null&&n.itemId===t.id&&r.push({side:n.side,lineNumber:n.endLine,metadata:{kind:"draft"}}),r}function qn(t,e){return t.state!==e.state?!1:t.state==="outdated"||e.state==="outdated"?!0:t.line===e.line}function Kn(t,e){if(t.side!==e.side||t.lineNumber!==e.lineNumber)return!1;const n=t.metadata,r=e.metadata;return n.kind==="draft"||r.kind==="draft"?n.kind===r.kind:n.comment===r.comment&&qn(n.anchor,r.anchor)}function Yn(t,e){const n=t??[];if(n.length!==e.length)return!1;for(let r=0;r{const a=kt(o,e,n);return Yn(o.annotations,a)?o:(r=!0,{...o,annotations:a,version:(o.version??0)+1})});return r?i:t}function Xn(t,e,n=!0){return e.map(r=>{let i=null;for(const o of t){if(o.fileDiff==null||pe(o.fileDiff,"")!==r.filePath)continue;const a=vt(o.fileDiff,r);if(a.state!=="outdated")return{comment:r,itemId:o.id,anchor:a,pending:!1};i??={itemId:o.id,anchor:a}}return{comment:r,itemId:i?.itemId??null,anchor:i?.anchor??{state:"outdated"},pending:i==null&&!n}})}class De extends Error{code;constructor(e,n){super(e),this.name="DiffCommentsBridgeError",this.code=n}}function St(){if(typeof window>"u")return null;const t=window.webkit?.messageHandlers?.cmuxDiffComments;return t!=null&&typeof t.postMessage=="function"?t:null}function Jn(){return St()!=null}async function Ge(t,e){const n=St();if(n==null)throw new De("Diff comments bridge is unavailable.");const r=await n.postMessage({id:Qt(),method:t,params:e});if(!r.ok)throw new De(r.error?.userMessage||"Diff comments request failed.",r.error?.code);return r.value}async function Zn(t){const e=await Ge("comments.list",{repoRoot:t});return Array.isArray(e?.comments)?e.comments:[]}async function st(t,e){const n=await Ge("comments.save",{repoRoot:t,comment:e});if(n?.comment==null)throw new De("Diff comments save returned no comment.");return n.comment}async function er(t,e){await Ge("comments.delete",{repoRoot:t,id:e})}function jt(t){const e=E.c(28),{initialMessage:n,labels:r,onCancel:i,onSave:o}=t,a=n===void 0?"":n,[c,l]=S.useState(a),u=tr;let d;e[0]===Symbol.for("react.memo_cache_sentinel")?(d=I=>l(I.currentTarget.value),e[0]=d):d=e[0];let p;e[1]!==c||e[2]!==o?(p=I=>{I.key==="Enter"&&(I.metaKey||I.ctrlKey)&&c.trim()!==""&&(I.preventDefault(),o(c))},e[1]=c,e[2]=o,e[3]=p):p=e[3];let m;e[4]!==r.addComment||e[5]!==r.commentPlaceholder||e[6]!==c||e[7]!==p?(m=s.jsx("textarea",{ref:u,className:"comment-composer-input",placeholder:r.commentPlaceholder,"aria-label":r.addComment,rows:3,value:c,onChange:d,onKeyDown:p}),e[4]=r.addComment,e[5]=r.commentPlaceholder,e[6]=c,e[7]=p,e[8]=m):m=e[8];let h;e[9]===Symbol.for("react.memo_cache_sentinel")?(h=s.jsx("span",{}),e[9]=h):h=e[9];let g;e[10]!==r.cancelComment||e[11]!==i?(g=s.jsx("button",{type:"button",className:"comment-button",onClick:i,children:r.cancelComment}),e[10]=r.cancelComment,e[11]=i,e[12]=g):g=e[12];let f;e[13]!==c?(f=c.trim(),e[13]=c,e[14]=f):f=e[14];const x=f==="";let v;e[15]!==c||e[16]!==o?(v=()=>o(c),e[15]=c,e[16]=o,e[17]=v):v=e[17];let b;e[18]!==r.saveComment||e[19]!==x||e[20]!==v?(b=s.jsx("button",{type:"button",className:"comment-button comment-button-primary",disabled:x,onClick:v,children:r.saveComment}),e[18]=r.saveComment,e[19]=x,e[20]=v,e[21]=b):b=e[21];let w;e[22]!==b||e[23]!==g?(w=s.jsxs("div",{className:"comment-composer-footer",children:[h,s.jsxs("span",{className:"comment-composer-buttons",children:[g,b]})]}),e[22]=b,e[23]=g,e[24]=w):w=e[24];let y;return e[25]!==w||e[26]!==m?(y=s.jsxs("div",{className:"comment-composer",children:[m,w]}),e[25]=w,e[26]=m,e[27]=y):y=e[27],y}function tr(t){t?.focus()}function nr(t){const e=t.split("/"),n=e[e.length-1];return n!=null&&n!==""?n:t}function Ct(t){const e=`${nr(t.filePath)}:${t.startLine}`;return t.endLine>t.startLine?`${e}-${t.endLine}`:e}function lt(t,e){const n=t.endLine>t.startLine?`lines ${t.startLine}-${t.endLine}`:`line ${t.startLine}`,r=t.side==="deletions"?"old":"new",i=[`Review comment on ${t.filePath} ${n} (${r} version):`],o=Cn(e,t.side,t.startLine,t.endLine);if(o!=="")i.push(`\`\`\`diff ${o} \`\`\``);else{const a=In(e,t.side,t.startLine,t.endLine);a!==""&&i.push(a)}return i.push(t.message),`${i.join(` `)} -`}function rr(t){const e=E.c(13),{entries:n,hasDraft:r,labels:i,onSelect:o}=t;if(n.length===0&&!r)return null;const a=`${i.comments} (${n.length})`;let c;e[0]!==a?(c=s.jsx("div",{id:"comments-header",children:s.jsx("span",{id:"comments-title",children:a})}),e[0]=a,e[1]=c):c=e[1];let l;e[2]!==n||e[3]!==i.noComments||e[4]!==i.outdatedComment||e[5]!==o?(l=n.length===0?s.jsx("div",{className:"comments-empty",children:i.noComments}):n.map(p=>s.jsxs("button",{type:"button",className:"comment-entry",onClick:()=>o(p),children:[s.jsxs("span",{className:"comment-entry-header",children:[s.jsx("span",{className:"comment-entry-location",children:Ct(p.comment)}),!p.pending&&p.anchor.state==="outdated"?s.jsx("span",{className:"comment-entry-badge",children:i.outdatedComment}):null]}),s.jsx("span",{className:"comment-entry-message",children:p.comment.message})]},p.comment.id)),e[2]=n,e[3]=i.noComments,e[4]=i.outdatedComment,e[5]=o,e[6]=l):l=e[6];let u;e[7]!==l?(u=s.jsx("div",{id:"comments-list",children:l}),e[7]=l,e[8]=u):u=e[8];let d;return e[9]!==i.comments||e[10]!==c||e[11]!==u?(d=s.jsxs("div",{id:"comments-section","aria-label":i.comments,children:[c,u]}),e[9]=i.comments,e[10]=c,e[11]=u,e[12]=d):d=e[12],d}const ct={comments:"Comments",addComment:"Add comment",commentPlaceholder:"Leave a comment",saveComment:"Comment",cancelComment:"Cancel",deleteComment:"Delete",editComment:"Edit",outdatedComment:"Outdated",noComments:"No comments yet"};function ir(t,e,n){return t?.labels?.[e]??n}function or(t){const e={};for(const n of Object.keys(ct))e[n]=ir(t,n,ct[n]);return e}function ar(t){const e=E.c(29),{comment:n,labels:r,onDelete:i,onSaveMessage:o}=t,[a,c]=k.useState(!1);if(a){let b;e[0]===Symbol.for("react.memo_cache_sentinel")?(b=()=>c(!1),e[0]=b):b=e[0];let w;e[1]!==o?(w=C=>{o(C),c(!1)},e[1]=o,e[2]=w):w=e[2];let y;return e[3]!==n.message||e[4]!==r||e[5]!==w?(y=s.jsx(jt,{initialMessage:n.message,labels:r,onCancel:b,onSave:w}),e[3]=n.message,e[4]=r,e[5]=w,e[6]=y):y=e[6],y}const l=n.id;let u;e[7]!==n?(u=Ct(n),e[7]=n,e[8]=u):u=e[8];let d;e[9]!==u?(d=s.jsx("span",{className:"comment-card-location",children:u}),e[9]=u,e[10]=d):d=e[10];let p;e[11]===Symbol.for("react.memo_cache_sentinel")?(p=()=>c(!0),e[11]=p):p=e[11];let m;e[12]!==r.editComment?(m=s.jsx("button",{type:"button",className:"comment-card-action",onClick:p,children:r.editComment}),e[12]=r.editComment,e[13]=m):m=e[13];let h;e[14]!==r.deleteComment||e[15]!==i?(h=s.jsx("button",{type:"button",className:"comment-card-action",onClick:i,children:r.deleteComment}),e[14]=r.deleteComment,e[15]=i,e[16]=h):h=e[16];let g;e[17]!==m||e[18]!==h?(g=s.jsxs("span",{className:"comment-card-actions",children:[m,h]}),e[17]=m,e[18]=h,e[19]=g):g=e[19];let f;e[20]!==d||e[21]!==g?(f=s.jsxs("div",{className:"comment-card-header",children:[d,g]}),e[20]=d,e[21]=g,e[22]=f):f=e[22];let x;e[23]!==n.message?(x=s.jsx("div",{className:"comment-card-message",children:n.message}),e[23]=n.message,e[24]=x):x=e[24];let v;return e[25]!==n.id||e[26]!==f||e[27]!==x?(v=s.jsxs("div",{className:"comment-card","data-comment-id":l,children:[f,x]}),e[25]=n.id,e[26]=f,e[27]=x,e[28]=v):v=e[28],v}function sr(t,e){const n=E.c(4);let r,i;n[0]!==e||n[1]!==t?(r=()=>{if(e([]),t==null)return;let o=!0;return Zn(t).then(a=>{o&&e(a)}).catch(a=>{o&&console.warn("cmux diff comments load failed",a)}),()=>{o=!1}},i=[e,t],n[0]=e,n[1]=t,n[2]=r,n[3]=i):(r=n[2],i=n[3]),k.useEffect(r,i)}const dt="text",lr=new Set(["markdown","mdx"]),cr=new Map([[".env","dotenv"],["appfile","ruby"],["bun.lock","toml"],["deliverfile","ruby"],["fastfile","ruby"],["gemfile","ruby"],["jenkinsfile","groovy"],["matchfile","ruby"],["podfile","ruby"],["pluginfile","ruby"],["scanfile","ruby"],["snapfile","ruby"]]),dr=new Map([["adoc","asciidoc"],["asciidoc","asciidoc"],["gradle","groovy"],["markdown","markdown"],["md","markdown"],["mdown","markdown"],["mdx","mdx"],["mkd","markdown"],["mkdn","markdown"],["rst","rst"],["toml","toml"]]),It=new Map([["bash","shellscript"],["c++","cpp"],["csharp","csharp"],["cs","csharp"],["dockerfile","docker"],["gql","graphql"],["groovy","groovy"],["js","javascript"],["kt","kotlin"],["md","markdown"],["objc","objective-c"],["patch","diff"],["py","python"],["rb","ruby"],["rs","rust"],["sh","shellscript"],["shell","shellscript"],["swift","swift"],["ts","typescript"],["yml","yaml"],["zsh","shellscript"]]);for(const t of["c","clojure","coffee","cpp","css","dart","diff","docker","elixir","erlang","fsharp","go","graphql","handlebars","html","ini","java","javascript","json","jsonc","jsonl","julia","kotlin","latex","less","log","lua","make","markdown","mdx","perl","php","powershell","pug","python","r","ruby","rust","scala","scss","shellscript","sql","swift","toml","tsx","typescript","xml","yaml"])It.set(t,t);function Mt(t,e,n){const r=ft(e);if(r!=null&&r!==dt)return r;const i=ur(t);if(i!=null)return i;const o=ft(n?.(t));return o??r??dt}function Pt(t,e,n,r){const i=Mt(t,e,r),o=new Set([i]);if(lr.has(i))for(const a of fr(n))o.add(a);return Array.from(o)}function fr(t){const e=new Set;for(const n of pr(t)){const r=mr(n);r!=null&&e.add(r)}return Array.from(e)}function ur(t){const e=t.split(/[\\/]/).at(-1)?.trim().toLowerCase()??"";if(e.length===0)return;const n=cr.get(e);if(n!=null)return n;if(e.startsWith(".env."))return"dotenv";const r=e.includes(".")?e.split(".").at(-1):void 0;return r==null?void 0:dr.get(r)}function ft(t){return typeof t=="string"&&t.trim().length>0?t.trim():void 0}function pr(t){const e=[];return ut(e,t?.additionLines),ut(e,t?.deletionLines),e}function ut(t,e){if(Array.isArray(e))for(const n of e)typeof n=="string"&&t.push(n.replace(/\r?\n$/,""))}function mr(t){const e=t.match(/^\s{0,3}(`{3,}|~{3,})\s*([^`~\s]+)?/);if(e==null||e[2]==null)return;const n=e[2].replace(/^\{\.?/,"").replace(/[},].*$/,"").trim().toLowerCase();return It.get(n)}function hr(t,e,n){if(!t)return{kind:"reset"};const r=t.pathCount??t.paths?.length??0,i=e.pathCount??n.length,o=e.previousSource===t||t.revision!=null&&e.previousRevision===t.revision;return!(o||br(t,e))||io)return!1;for(let a=0;a{const i=t?.[r];if(typeof i=="string"&&i.trim()!=="")return i;if(e.assertMissing&&!n.has(r))throw n.add(r),new Error(`Missing cmux diff viewer label: ${r}`);return vr[r]}}function wr(t,e){return{layout:{paddingTop:0,gap:1,paddingBottom:0},diffStyle:t.layout,diffIndicators:t.diffIndicators,overflow:t.wordWrap?"wrap":"scroll",expandUnchanged:t.expandUnchanged,disableBackground:!t.showBackgrounds,disableLineNumbers:!t.lineNumbers,lineHoverHighlight:"number",enableLineSelection:!0,enableGutterUtility:!0,lineDiffType:t.wordDiffs?"word":"none",stickyHeaders:!0,unsafeCSS:kr(),theme:e.theme,themeType:"system"}}function yr(t,e,n=["text"]){return{langs:n,theme:e.theme,preferredHighlighter:"shiki-wasm",lineDiffType:t.wordDiffs?"word":"none",maxLineDiffLength:1e3,tokenizeMaxLineLength:1e3,useTokenTransformer:!1}}function kr(){return` +`}function rr(t){const e=E.c(13),{entries:n,hasDraft:r,labels:i,onSelect:o}=t;if(n.length===0&&!r)return null;const a=`${i.comments} (${n.length})`;let c;e[0]!==a?(c=s.jsx("div",{id:"comments-header",children:s.jsx("span",{id:"comments-title",children:a})}),e[0]=a,e[1]=c):c=e[1];let l;e[2]!==n||e[3]!==i.noComments||e[4]!==i.outdatedComment||e[5]!==o?(l=n.length===0?s.jsx("div",{className:"comments-empty",children:i.noComments}):n.map(p=>s.jsxs("button",{type:"button",className:"comment-entry",onClick:()=>o(p),children:[s.jsxs("span",{className:"comment-entry-header",children:[s.jsx("span",{className:"comment-entry-location",children:Ct(p.comment)}),!p.pending&&p.anchor.state==="outdated"?s.jsx("span",{className:"comment-entry-badge",children:i.outdatedComment}):null]}),s.jsx("span",{className:"comment-entry-message",children:p.comment.message})]},p.comment.id)),e[2]=n,e[3]=i.noComments,e[4]=i.outdatedComment,e[5]=o,e[6]=l):l=e[6];let u;e[7]!==l?(u=s.jsx("div",{id:"comments-list",children:l}),e[7]=l,e[8]=u):u=e[8];let d;return e[9]!==i.comments||e[10]!==c||e[11]!==u?(d=s.jsxs("div",{id:"comments-section","aria-label":i.comments,children:[c,u]}),e[9]=i.comments,e[10]=c,e[11]=u,e[12]=d):d=e[12],d}const ct={comments:"Comments",addComment:"Add comment",commentPlaceholder:"Leave a comment",saveComment:"Comment",cancelComment:"Cancel",deleteComment:"Delete",editComment:"Edit",outdatedComment:"Outdated",noComments:"No comments yet"};function ir(t,e,n){return t?.labels?.[e]??n}function or(t){const e={};for(const n of Object.keys(ct))e[n]=ir(t,n,ct[n]);return e}function ar(t){const e=E.c(29),{comment:n,labels:r,onDelete:i,onSaveMessage:o}=t,[a,c]=S.useState(!1);if(a){let b;e[0]===Symbol.for("react.memo_cache_sentinel")?(b=()=>c(!1),e[0]=b):b=e[0];let w;e[1]!==o?(w=I=>{o(I),c(!1)},e[1]=o,e[2]=w):w=e[2];let y;return e[3]!==n.message||e[4]!==r||e[5]!==w?(y=s.jsx(jt,{initialMessage:n.message,labels:r,onCancel:b,onSave:w}),e[3]=n.message,e[4]=r,e[5]=w,e[6]=y):y=e[6],y}const l=n.id;let u;e[7]!==n?(u=Ct(n),e[7]=n,e[8]=u):u=e[8];let d;e[9]!==u?(d=s.jsx("span",{className:"comment-card-location",children:u}),e[9]=u,e[10]=d):d=e[10];let p;e[11]===Symbol.for("react.memo_cache_sentinel")?(p=()=>c(!0),e[11]=p):p=e[11];let m;e[12]!==r.editComment?(m=s.jsx("button",{type:"button",className:"comment-card-action",onClick:p,children:r.editComment}),e[12]=r.editComment,e[13]=m):m=e[13];let h;e[14]!==r.deleteComment||e[15]!==i?(h=s.jsx("button",{type:"button",className:"comment-card-action",onClick:i,children:r.deleteComment}),e[14]=r.deleteComment,e[15]=i,e[16]=h):h=e[16];let g;e[17]!==m||e[18]!==h?(g=s.jsxs("span",{className:"comment-card-actions",children:[m,h]}),e[17]=m,e[18]=h,e[19]=g):g=e[19];let f;e[20]!==d||e[21]!==g?(f=s.jsxs("div",{className:"comment-card-header",children:[d,g]}),e[20]=d,e[21]=g,e[22]=f):f=e[22];let x;e[23]!==n.message?(x=s.jsx("div",{className:"comment-card-message",children:n.message}),e[23]=n.message,e[24]=x):x=e[24];let v;return e[25]!==n.id||e[26]!==f||e[27]!==x?(v=s.jsxs("div",{className:"comment-card","data-comment-id":l,children:[f,x]}),e[25]=n.id,e[26]=f,e[27]=x,e[28]=v):v=e[28],v}function sr(t,e){const n=E.c(4);let r,i;n[0]!==e||n[1]!==t?(r=()=>{if(e([]),t==null)return;let o=!0;return Zn(t).then(a=>{o&&e(a)}).catch(a=>{o&&console.warn("cmux diff comments load failed",a)}),()=>{o=!1}},i=[e,t],n[0]=e,n[1]=t,n[2]=r,n[3]=i):(r=n[2],i=n[3]),S.useEffect(r,i)}const dt="text",lr=new Set(["markdown","mdx"]),cr=new Map([[".env","dotenv"],["appfile","ruby"],["bun.lock","toml"],["deliverfile","ruby"],["fastfile","ruby"],["gemfile","ruby"],["jenkinsfile","groovy"],["matchfile","ruby"],["podfile","ruby"],["pluginfile","ruby"],["scanfile","ruby"],["snapfile","ruby"]]),dr=new Map([["adoc","asciidoc"],["asciidoc","asciidoc"],["gradle","groovy"],["markdown","markdown"],["md","markdown"],["mdown","markdown"],["mdx","mdx"],["mkd","markdown"],["mkdn","markdown"],["rst","rst"],["toml","toml"]]),It=new Map([["bash","shellscript"],["c++","cpp"],["csharp","csharp"],["cs","csharp"],["dockerfile","docker"],["gql","graphql"],["groovy","groovy"],["js","javascript"],["kt","kotlin"],["md","markdown"],["objc","objective-c"],["patch","diff"],["py","python"],["rb","ruby"],["rs","rust"],["sh","shellscript"],["shell","shellscript"],["swift","swift"],["ts","typescript"],["yml","yaml"],["zsh","shellscript"]]);for(const t of["c","clojure","coffee","cpp","css","dart","diff","docker","elixir","erlang","fsharp","go","graphql","handlebars","html","ini","java","javascript","json","jsonc","jsonl","julia","kotlin","latex","less","log","lua","make","markdown","mdx","perl","php","powershell","pug","python","r","ruby","rust","scala","scss","shellscript","sql","swift","toml","tsx","typescript","xml","yaml"])It.set(t,t);function Mt(t,e,n){const r=ft(e);if(r!=null&&r!==dt)return r;const i=ur(t);if(i!=null)return i;const o=ft(n?.(t));return o??r??dt}function Pt(t,e,n,r){const i=Mt(t,e,r),o=new Set([i]);if(lr.has(i))for(const a of fr(n))o.add(a);return Array.from(o)}function fr(t){const e=new Set;for(const n of pr(t)){const r=mr(n);r!=null&&e.add(r)}return Array.from(e)}function ur(t){const e=t.split(/[\\/]/).at(-1)?.trim().toLowerCase()??"";if(e.length===0)return;const n=cr.get(e);if(n!=null)return n;if(e.startsWith(".env."))return"dotenv";const r=e.includes(".")?e.split(".").at(-1):void 0;return r==null?void 0:dr.get(r)}function ft(t){return typeof t=="string"&&t.trim().length>0?t.trim():void 0}function pr(t){const e=[];return ut(e,t?.additionLines),ut(e,t?.deletionLines),e}function ut(t,e){if(Array.isArray(e))for(const n of e)typeof n=="string"&&t.push(n.replace(/\r?\n$/,""))}function mr(t){const e=t.match(/^\s{0,3}(`{3,}|~{3,})\s*([^`~\s]+)?/);if(e==null||e[2]==null)return;const n=e[2].replace(/^\{\.?/,"").replace(/[},].*$/,"").trim().toLowerCase();return It.get(n)}function hr(t,e,n){if(!t)return{kind:"reset"};const r=t.pathCount??t.paths?.length??0,i=e.pathCount??n.length,o=e.previousSource===t||t.revision!=null&&e.previousRevision===t.revision;return!(o||br(t,e))||io)return!1;for(let a=0;a{const i=t?.[r];if(typeof i=="string"&&i.trim()!=="")return i;if(e.assertMissing&&!n.has(r))throw n.add(r),new Error(`Missing cmux diff viewer label: ${r}`);return vr[r]}}function wr(t,e){return{layout:{paddingTop:0,gap:1,paddingBottom:0},diffStyle:t.layout,diffIndicators:t.diffIndicators,overflow:t.wordWrap?"wrap":"scroll",expandUnchanged:t.expandUnchanged,disableBackground:!t.showBackgrounds,disableLineNumbers:!t.lineNumbers,lineHoverHighlight:"number",enableLineSelection:!0,enableGutterUtility:!0,lineDiffType:t.wordDiffs?"word":"none",stickyHeaders:!0,unsafeCSS:kr(),theme:e.theme,themeType:"system"}}function yr(t,e,n=["text"]){return{langs:n,theme:e.theme,preferredHighlighter:"shiki-wasm",lineDiffType:t.wordDiffs?"word":"none",maxLineDiffLength:1e3,tokenizeMaxLineLength:1e3,useTokenTransformer:!1}}function kr(){return` :host { --diffs-light-bg: transparent; --diffs-dark-bg: transparent; @@ -142,7 +142,7 @@ ${o} background-color: var(--cmux-diff-tree-sticky-bg) !important; box-shadow: 0 1px 0 var(--trees-border-color); } - `}function jr(t,e){const n=t.palette??{},r=on(t.background),i=Cr(t),o=he(t.foreground,i,t.type==="light"?"#000000":"#ffffff"),a=(c,l=o)=>he(c,i,l);return{name:t.name,displayName:t.ghosttyName,type:t.type,colors:{"editor.background":r,"editor.foreground":o,"terminal.background":r,"terminal.foreground":o,"terminal.ansiBlack":a(n[0]),"terminal.ansiRed":a(n[1]),"terminal.ansiGreen":a(n[2]),"terminal.ansiYellow":a(n[3]),"terminal.ansiBlue":a(n[4]),"terminal.ansiMagenta":a(n[5]),"terminal.ansiCyan":a(n[6]),"terminal.ansiWhite":a(n[7]),"terminal.ansiBrightBlack":a(n[8]),"terminal.ansiBrightRed":a(n[9],a(n[1])),"terminal.ansiBrightGreen":a(n[10],a(n[2])),"terminal.ansiBrightYellow":a(n[11],a(n[3])),"terminal.ansiBrightBlue":a(n[12],a(n[4])),"terminal.ansiBrightMagenta":a(n[13],a(n[5])),"terminal.ansiBrightCyan":a(n[14],a(n[6])),"terminal.ansiBrightWhite":a(n[15]),"gitDecoration.addedResourceForeground":a(n[10],a(n[2],"#32d74b")),"gitDecoration.deletedResourceForeground":a(n[9],a(n[1],"#ff453a")),"gitDecoration.modifiedResourceForeground":a(n[12],a(n[4],"#0a84ff")),"editor.selectionBackground":t.selectionBackground,"editor.selectionForeground":t.selectionForeground},tokenColors:[{settings:{foreground:o,background:r}},{scope:["comment","punctuation.definition.comment"],settings:{foreground:a(n[8]),fontStyle:"italic"}},{scope:["string","constant.other.symbol"],settings:{foreground:a(n[2])}},{scope:["constant.numeric","constant.language","support.constant"],settings:{foreground:a(n[3])}},{scope:["keyword","storage","storage.type"],settings:{foreground:a(n[5])}},{scope:["entity.name.function","support.function"],settings:{foreground:a(n[4])}},{scope:["entity.name.type","entity.name.class","support.type"],settings:{foreground:a(n[6])}},{scope:["markup.heading","punctuation.definition.heading"],settings:{foreground:a(n[12],a(n[4])),fontStyle:"bold"}},{scope:["markup.bold","punctuation.definition.bold"],settings:{foreground:a(n[11],a(n[3])),fontStyle:"bold"}},{scope:["markup.italic","punctuation.definition.italic"],settings:{foreground:a(n[13],a(n[5])),fontStyle:"italic"}},{scope:["markup.inline.raw","markup.raw","markup.fenced_code","markup.raw.block"],settings:{foreground:a(n[10],a(n[2]))}},{scope:["markup.underline.link","string.other.link","markup.link"],settings:{foreground:a(n[14],a(n[6]))}},{scope:["markup.quote","punctuation.definition.quote"],settings:{foreground:a(n[8]),fontStyle:"italic"}},{scope:["markup.list","punctuation.definition.list","markup.table"],settings:{foreground:a(n[9],a(n[1]))}},{scope:["variable","meta.definition.variable"],settings:{foreground:o}},{scope:["invalid","message.error"],settings:{foreground:a(n[9],a(n[1]))}}]}}function Cr(t){return typeof t.background=="string"&&t.background.trim()!==""?t.background.trim():t.type==="light"?"#ffffff":"#000000"}function se(t,e={}){const n=e.pending===!0;return{error:e.error===!0,loading:e.loading===!0||n,message:t,pending:n,statusOnly:e.statusOnly===!0}}function Ir(t,e){const n=t.payload;return n?.pendingReplacement===!0?se(n.statusMessage??e("loadingDiff"),{loading:!0,pending:!0}):typeof n?.statusMessage=="string"&&n.statusMessage.length>0?se(n.statusMessage,{error:n.statusIsError===!0,loading:!1,statusOnly:!0}):se(e("loadingDiff"),{loading:!0})}function Ce(t){document.body.dataset.loading=t.loading?"true":"false",document.body.dataset.statusOnly=t.statusOnly?"true":"false"}function Mr(t){const e=(Number.isFinite(t.available)?t.available:0)-t.reserved,n=[],r=[];let i=0,o=!1;for(const a of t.items){const c=i+Math.max(0,a.width);!o&&c<=e?(i=c,n.push(a.id)):(o=!0,r.push(a.id))}return{visible:n,overflow:r}}function Pr(t){const e=E.c(3),[n,r]=k.useState(null),i=k.useRef(null);let o,a;return e[0]!==t?(o=()=>{const c=t.current;if(!c||typeof ResizeObserver>"u")return;const l=new ResizeObserver(u=>{for(const d of u){const p=d.contentBoxSize?.[0]?.inlineSize??d.contentRect.width,m=Math.round(p);m!==i.current&&(i.current=m,r(m))}});return l.observe(c),()=>l.disconnect()},a=[t],e[0]=t,e[1]=o,e[2]=a):(o=e[1],a=e[2]),k.useEffect(o,a),n}class Ue{version;listeners=new Set;constructor(e){this.version=e}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}openResource(e){return fetch(e.id,{cache:"no-store"})}close(){}receive(e){for(const n of this.listeners)n(e)}makeRequest(e){return{id:_r(),version:this.version,...e}}unwrap(e){if(e.error)throw new ue(e.error.code,e.error.message);if(!e.result)throw new ue("missingResult","Diff transport returned no result");return e.result}}class Rr extends Ue{endpoint;constructor(e,n){super(n),this.endpoint=e}async request(e){const n=await fetch(this.endpoint,{method:"POST",cache:"no-store",headers:{"Content-Type":"application/json"},body:JSON.stringify(this.makeRequest(e))});if(!n.ok)throw new ue("requestFailed",`Diff transport request failed (${n.status})`);return this.unwrap(await n.json())}}class Lr extends Ue{handler;constructor(e,n){super(n),this.handler=e,window.cmuxDiffBridge={receive:r=>this.receive(r)}}async request(e){return this.unwrap(await this.handler.postMessage(this.makeRequest(e)))}close(){delete window.cmuxDiffBridge}}class Tr extends Ue{endpoint;socket=null;connecting=null;pending=new Map;constructor(e,n){super(n),this.endpoint=e}async request(e){const n=await this.connect(),r=this.makeRequest(e);return new Promise((i,o)=>{this.pending.set(r.id,{resolve:i,reject:o}),n.send(JSON.stringify(r))})}close(){this.socket?.close(),this.socket=null,this.connecting=null,this.rejectPending(new ue("closed","Diff transport closed"))}connect(){return this.socket?.readyState===WebSocket.OPEN?Promise.resolve(this.socket):this.connecting?this.connecting:(this.connecting=new Promise((e,n)=>{const r=new WebSocket(this.endpoint);r.addEventListener("open",()=>{this.socket=r,this.connecting=null,e(r)},{once:!0}),r.addEventListener("message",i=>this.handleMessage(i)),r.addEventListener("close",()=>{this.socket=null,this.connecting=null,this.rejectPending(new ue("closed","Diff transport closed"))}),r.addEventListener("error",()=>{this.connecting=null,n(new ue("connectFailed","Could not connect to diff transport"))},{once:!0})}),this.connecting)}handleMessage(e){if(typeof e.data!="string")return;const n=JSON.parse(e.data);if("id"in n){const r=this.pending.get(n.id);if(!r)return;this.pending.delete(n.id);try{r.resolve(this.unwrap(n))}catch(i){r.reject(i instanceof Error?i:new Error(String(i)))}return}this.receive(n)}rejectPending(e){for(const n of this.pending.values())n.reject(e);this.pending.clear()}}function Fr(t){if(!t)return null;const e=window.webkit?.messageHandlers?.cmuxDiff;return t.kind==="webKit"&&e?new Lr(e,t.protocolVersion):t.kind==="webSocket"?new Tr(t.endpoint,t.protocolVersion):t.kind==="fetch"&&Nr(window.location.protocol)?new Rr(t.endpoint,t.protocolVersion):null}function Nr(t){return t==="http:"||t==="https:"}class ue extends Error{code;constructor(e,n){super(n),this.name="DiffTransportError",this.code=e}}function _r(){return typeof crypto.randomUUID=="function"?crypto.randomUUID():`diff-${Date.now()}-${Math.random().toString(16).slice(2)}`}function Br({controller:t,label:e,query:n,requestToken:r}){const i=k.useRef(null);k.useEffect(()=>{r>0&&(i.current?.focus(),i.current?.select())},[r]);const o=n!=="",a=t.matches.length,c=a===0?0:t.activeIndex+1,l=u=>{if(u.key==="Enter"){u.preventDefault(),u.shiftKey?t.goToPrevious():t.goToNext();return}u.key==="Escape"&&(u.preventDefault(),t.closeFind())};return s.jsx("div",{id:"diff-find-anchor",ref:t.findBarRef,children:s.jsxs("search",{id:"diff-find-bar","aria-label":e("findInDiff"),children:[s.jsx("input",{ref:i,id:"diff-find-input",type:"text",value:n,placeholder:e("findInDiff"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1,"aria-label":e("findInDiff"),onChange:u=>t.setQuery(u.target.value),onKeyDown:l}),o?s.jsxs("span",{id:"diff-find-count","aria-live":"polite",children:[c,"/",a]}):null,s.jsx("button",{type:"button",className:"toolbar-icon","aria-label":e("findPreviousMatch"),title:e("findPreviousMatch"),disabled:a===0,onClick:t.goToPrevious,children:s.jsx(re,{name:"chevronUp"})}),s.jsx("button",{type:"button",className:"toolbar-icon","aria-label":e("findNextMatch"),title:e("findNextMatch"),disabled:a===0,onClick:t.goToNext,children:s.jsx(re,{name:"chevronDown"})}),s.jsx("button",{type:"button",className:"toolbar-icon","aria-label":e("findClose"),title:e("findClose"),onClick:t.closeFind,children:s.jsx(re,{name:"close"})})]})})}const Tt=9999;function Ne(t,e){return(t[e]??"").replace(/\r?\n$/,"")}function _e(t,e,n,r,i,o){const a=o.toLowerCase();let c=0,l=0;for(;;){const u=a.indexOf(e,c);if(u===-1||t.length>=Tt)return;t.push({itemId:n,side:r,lineNumber:i,start:u,length:e.length,occurrence:l,lineText:o}),l+=1,c=u+Math.max(e.length,1)}}function Er(t,e){const n=e.toLowerCase(),r=[];if(n==="")return r;for(const i of t){const o=i.fileDiff;if(o?.hunks==null)continue;const a=Array.isArray(o.additionLines)?o.additionLines:[],c=Array.isArray(o.deletionLines)?o.deletionLines:[];for(const l of o.hunks){if(r.length>=Tt)return r;let u=l.additionStart,d=l.deletionStart,p=l.additionLineIndex,m=l.deletionLineIndex;for(const h of l.hunkContent??[])if(h.type==="context")for(let g=0;gi.itemId===t.itemId&&i.side===t.side&&i.lineNumber===t.lineNumber&&i.occurrence===t.occurrence&&i.start===t.start);if(r!==-1)return r}return Math.min(Math.max(n,0),e.length-1)}const He="cmux-find-match",qe="cmux-find-active",Ar=` + `}function jr(t,e){const n=t.palette??{},r=on(t.background),i=Cr(t),o=he(t.foreground,i,t.type==="light"?"#000000":"#ffffff"),a=(c,l=o)=>he(c,i,l);return{name:t.name,displayName:t.ghosttyName,type:t.type,colors:{"editor.background":r,"editor.foreground":o,"terminal.background":r,"terminal.foreground":o,"terminal.ansiBlack":a(n[0]),"terminal.ansiRed":a(n[1]),"terminal.ansiGreen":a(n[2]),"terminal.ansiYellow":a(n[3]),"terminal.ansiBlue":a(n[4]),"terminal.ansiMagenta":a(n[5]),"terminal.ansiCyan":a(n[6]),"terminal.ansiWhite":a(n[7]),"terminal.ansiBrightBlack":a(n[8]),"terminal.ansiBrightRed":a(n[9],a(n[1])),"terminal.ansiBrightGreen":a(n[10],a(n[2])),"terminal.ansiBrightYellow":a(n[11],a(n[3])),"terminal.ansiBrightBlue":a(n[12],a(n[4])),"terminal.ansiBrightMagenta":a(n[13],a(n[5])),"terminal.ansiBrightCyan":a(n[14],a(n[6])),"terminal.ansiBrightWhite":a(n[15]),"gitDecoration.addedResourceForeground":a(n[10],a(n[2],"#32d74b")),"gitDecoration.deletedResourceForeground":a(n[9],a(n[1],"#ff453a")),"gitDecoration.modifiedResourceForeground":a(n[12],a(n[4],"#0a84ff")),"editor.selectionBackground":t.selectionBackground,"editor.selectionForeground":t.selectionForeground},tokenColors:[{settings:{foreground:o,background:r}},{scope:["comment","punctuation.definition.comment"],settings:{foreground:a(n[8]),fontStyle:"italic"}},{scope:["string","constant.other.symbol"],settings:{foreground:a(n[2])}},{scope:["constant.numeric","constant.language","support.constant"],settings:{foreground:a(n[3])}},{scope:["keyword","storage","storage.type"],settings:{foreground:a(n[5])}},{scope:["entity.name.function","support.function"],settings:{foreground:a(n[4])}},{scope:["entity.name.type","entity.name.class","support.type"],settings:{foreground:a(n[6])}},{scope:["markup.heading","punctuation.definition.heading"],settings:{foreground:a(n[12],a(n[4])),fontStyle:"bold"}},{scope:["markup.bold","punctuation.definition.bold"],settings:{foreground:a(n[11],a(n[3])),fontStyle:"bold"}},{scope:["markup.italic","punctuation.definition.italic"],settings:{foreground:a(n[13],a(n[5])),fontStyle:"italic"}},{scope:["markup.inline.raw","markup.raw","markup.fenced_code","markup.raw.block"],settings:{foreground:a(n[10],a(n[2]))}},{scope:["markup.underline.link","string.other.link","markup.link"],settings:{foreground:a(n[14],a(n[6]))}},{scope:["markup.quote","punctuation.definition.quote"],settings:{foreground:a(n[8]),fontStyle:"italic"}},{scope:["markup.list","punctuation.definition.list","markup.table"],settings:{foreground:a(n[9],a(n[1]))}},{scope:["variable","meta.definition.variable"],settings:{foreground:o}},{scope:["invalid","message.error"],settings:{foreground:a(n[9],a(n[1]))}}]}}function Cr(t){return typeof t.background=="string"&&t.background.trim()!==""?t.background.trim():t.type==="light"?"#ffffff":"#000000"}function se(t,e={}){const n=e.pending===!0;return{error:e.error===!0,loading:e.loading===!0||n,message:t,pending:n,statusOnly:e.statusOnly===!0}}function Ir(t,e){const n=t.payload;return n?.pendingReplacement===!0?se(n.statusMessage??e("loadingDiff"),{loading:!0,pending:!0}):typeof n?.statusMessage=="string"&&n.statusMessage.length>0?se(n.statusMessage,{error:n.statusIsError===!0,loading:!1,statusOnly:!0}):se(e("loadingDiff"),{loading:!0})}function Ie(t){document.body.dataset.loading=t.loading?"true":"false",document.body.dataset.statusOnly=t.statusOnly?"true":"false"}function Mr(t){const e=(Number.isFinite(t.available)?t.available:0)-t.reserved,n=[],r=[];let i=0,o=!1;for(const a of t.items){const c=i+Math.max(0,a.width);!o&&c<=e?(i=c,n.push(a.id)):(o=!0,r.push(a.id))}return{visible:n,overflow:r}}function Pr(t){const e=E.c(3),[n,r]=S.useState(null),i=S.useRef(null);let o,a;return e[0]!==t?(o=()=>{const c=t.current;if(!c||typeof ResizeObserver>"u")return;const l=new ResizeObserver(u=>{for(const d of u){const p=d.contentBoxSize?.[0]?.inlineSize??d.contentRect.width,m=Math.round(p);m!==i.current&&(i.current=m,r(m))}});return l.observe(c),()=>l.disconnect()},a=[t],e[0]=t,e[1]=o,e[2]=a):(o=e[1],a=e[2]),S.useEffect(o,a),n}class Ue{version;listeners=new Set;constructor(e){this.version=e}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}openResource(e){return fetch(e.id,{cache:"no-store"})}close(){}receive(e){for(const n of this.listeners)n(e)}makeRequest(e){return{id:_r(),version:this.version,...e}}unwrap(e){if(e.error)throw new ue(e.error.code,e.error.message);if(!e.result)throw new ue("missingResult","Diff transport returned no result");return e.result}}class Rr extends Ue{endpoint;constructor(e,n){super(n),this.endpoint=e}async request(e){const n=await fetch(this.endpoint,{method:"POST",cache:"no-store",headers:{"Content-Type":"application/json"},body:JSON.stringify(this.makeRequest(e))});if(!n.ok)throw new ue("requestFailed",`Diff transport request failed (${n.status})`);return this.unwrap(await n.json())}}class Lr extends Ue{handler;constructor(e,n){super(n),this.handler=e,window.cmuxDiffBridge={receive:r=>this.receive(r)}}async request(e){return this.unwrap(await this.handler.postMessage(this.makeRequest(e)))}close(){delete window.cmuxDiffBridge}}class Tr extends Ue{endpoint;socket=null;connecting=null;pending=new Map;constructor(e,n){super(n),this.endpoint=e}async request(e){const n=await this.connect(),r=this.makeRequest(e);return new Promise((i,o)=>{this.pending.set(r.id,{resolve:i,reject:o}),n.send(JSON.stringify(r))})}close(){this.socket?.close(),this.socket=null,this.connecting=null,this.rejectPending(new ue("closed","Diff transport closed"))}connect(){return this.socket?.readyState===WebSocket.OPEN?Promise.resolve(this.socket):this.connecting?this.connecting:(this.connecting=new Promise((e,n)=>{const r=new WebSocket(this.endpoint);r.addEventListener("open",()=>{this.socket=r,this.connecting=null,e(r)},{once:!0}),r.addEventListener("message",i=>this.handleMessage(i)),r.addEventListener("close",()=>{this.socket=null,this.connecting=null,this.rejectPending(new ue("closed","Diff transport closed"))}),r.addEventListener("error",()=>{this.connecting=null,n(new ue("connectFailed","Could not connect to diff transport"))},{once:!0})}),this.connecting)}handleMessage(e){if(typeof e.data!="string")return;const n=JSON.parse(e.data);if("id"in n){const r=this.pending.get(n.id);if(!r)return;this.pending.delete(n.id);try{r.resolve(this.unwrap(n))}catch(i){r.reject(i instanceof Error?i:new Error(String(i)))}return}this.receive(n)}rejectPending(e){for(const n of this.pending.values())n.reject(e);this.pending.clear()}}function Fr(t){if(!t)return null;const e=window.webkit?.messageHandlers?.cmuxDiff;return t.kind==="webKit"&&e?new Lr(e,t.protocolVersion):t.kind==="webSocket"?new Tr(t.endpoint,t.protocolVersion):t.kind==="fetch"&&Nr(window.location.protocol)?new Rr(t.endpoint,t.protocolVersion):null}function Nr(t){return t==="http:"||t==="https:"}class ue extends Error{code;constructor(e,n){super(n),this.name="DiffTransportError",this.code=e}}function _r(){return typeof crypto.randomUUID=="function"?crypto.randomUUID():`diff-${Date.now()}-${Math.random().toString(16).slice(2)}`}function Br({controller:t,label:e,query:n,requestToken:r}){const i=S.useRef(null);S.useEffect(()=>{r>0&&(i.current?.focus(),i.current?.select())},[r]);const o=n!=="",a=t.matches.length,c=a===0?0:t.activeIndex+1,l=u=>{if(u.key==="Enter"){u.preventDefault(),u.shiftKey?t.goToPrevious():t.goToNext();return}u.key==="Escape"&&(u.preventDefault(),t.closeFind())};return s.jsx("div",{id:"diff-find-anchor",ref:t.findBarRef,children:s.jsxs("search",{id:"diff-find-bar","aria-label":e("findInDiff"),children:[s.jsx("input",{ref:i,id:"diff-find-input",type:"text",value:n,placeholder:e("findInDiff"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1,"aria-label":e("findInDiff"),onChange:u=>t.setQuery(u.target.value),onKeyDown:l}),o?s.jsxs("span",{id:"diff-find-count","aria-live":"polite",children:[c,"/",a]}):null,s.jsx("button",{type:"button",className:"toolbar-icon","aria-label":e("findPreviousMatch"),title:e("findPreviousMatch"),disabled:a===0,onClick:t.goToPrevious,children:s.jsx(re,{name:"chevronUp"})}),s.jsx("button",{type:"button",className:"toolbar-icon","aria-label":e("findNextMatch"),title:e("findNextMatch"),disabled:a===0,onClick:t.goToNext,children:s.jsx(re,{name:"chevronDown"})}),s.jsx("button",{type:"button",className:"toolbar-icon","aria-label":e("findClose"),title:e("findClose"),onClick:t.closeFind,children:s.jsx(re,{name:"close"})})]})})}const Tt=9999;function Ne(t,e){return(t[e]??"").replace(/\r?\n$/,"")}function _e(t,e,n,r,i,o){const a=o.toLowerCase();let c=0,l=0;for(;;){const u=a.indexOf(e,c);if(u===-1||t.length>=Tt)return;t.push({itemId:n,side:r,lineNumber:i,start:u,length:e.length,occurrence:l,lineText:o}),l+=1,c=u+Math.max(e.length,1)}}function Er(t,e){const n=e.toLowerCase(),r=[];if(n==="")return r;for(const i of t){const o=i.fileDiff;if(o?.hunks==null)continue;const a=Array.isArray(o.additionLines)?o.additionLines:[],c=Array.isArray(o.deletionLines)?o.deletionLines:[];for(const l of o.hunks){if(r.length>=Tt)return r;let u=l.additionStart,d=l.deletionStart,p=l.additionLineIndex,m=l.deletionLineIndex;for(const h of l.hunkContent??[])if(h.type==="context")for(let g=0;gi.itemId===t.itemId&&i.side===t.side&&i.lineNumber===t.lineNumber&&i.occurrence===t.occurrence&&i.start===t.start);if(r!==-1)return r}return Math.min(Math.max(n,0),e.length-1)}const He="cmux-find-match",qe="cmux-find-active",Ar=` ::highlight(${He}) { background-color: light-dark(rgba(255, 199, 0, 0.42), rgba(255, 199, 0, 0.34)); } @@ -150,4 +150,4 @@ ${o} background-color: light-dark(#ff9632, #e8821e); color: #1a1208; } -`;function Ft(){return typeof CSS<"u"&&"highlights"in CSS&&typeof Highlight=="function"}function Nt(){Ft()&&(CSS.highlights.delete(He),CSS.highlights.delete(qe))}function Ke(t,e=[]){for(const n of t.querySelectorAll("*")){const r=n.shadowRoot;r!=null&&(e.push(r),Ke(r,e))}return e}const pt="[data-line-type]:is([data-line], [data-no-newline])";function zr(t,e){const n=Array.from(t.querySelectorAll(pt));for(const r of e)n.push(...Array.from(r.querySelectorAll(pt)));return n}const Or="[data-gutter], [data-gutter-buffer], [data-line-annotation], [data-gutter-utility-slot]";function $r(t){const e=document.createTreeWalker(t,NodeFilter.SHOW_TEXT,{acceptNode(o){const a=o.parentElement;return a==null||a.closest(Or)!=null?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}}),n=[],r=[];let i="";for(let o=e.nextNode();o!=null;o=e.nextNode())n.push(o),r.push(i.length),i+=o.textContent??"";return{nodes:n,offsets:r,text:i}}function Vr(t,e,n){const r=(c,l)=>{for(let u=t.nodes.length-1;u>=0;u-=1){const d=t.offsets[u],p=t.nodes[u].textContent?.length??0;if(l?c>d&&c<=d+p:c>=d&&c(d.getAttribute("data-line")===i||d.getAttribute("data-alt-line")===i)&&Wr(d,r.side));if(o.length===0)return null;if(o.length===1)return o[0];const a=n.activeItemSpan;if(a!=null){const d=o.filter(p=>{const m=mt(p,t);return m>=a.top-1&&m=1)return d[0]}const c=t.scrollTop+t.clientHeight/2;let l=null,u=Number.POSITIVE_INFINITY;for(const d of o){const p=Math.abs(mt(d,t)-c);p{if(!(a.has(h)||typeof CSSStyleSheet!="function"))try{o??=(()=>{const g=new CSSStyleSheet;return g.replaceSync(Ar),g})(),h.adoptedStyleSheets=[...h.adoptedStyleSheets,o],a.add(h)}catch{}},u=new MutationObserver(()=>m()),d=()=>{const h=Ke(e);for(const g of h)l(g),c.has(g)||(u.observe(g,{childList:!0,subtree:!0,characterData:!0}),c.add(g));return h},p=()=>{if(r=null,i)return;const h=d();Hr(e,n(),h)},m=()=>{r==null&&!i&&(r=requestAnimationFrame(p))};return l(document),e.addEventListener("scroll",m,{passive:!0}),u.observe(e,{childList:!0,subtree:!0,characterData:!0}),d(),{repaint:m,dispose(){i=!0,r!=null&&(cancelAnimationFrame(r),r=null),e.removeEventListener("scroll",m),u.disconnect(),Nt()}}}function Kr(t){const e=E.c(50),{items:n,open:r,query:i,dispatch:o,codeViewRef:a,viewerContainerRef:c}=t;let l;e[0]!==r||e[1]!==i?(l=r?i.toLowerCase():"",e[0]=r,e[1]=i,e[2]=l):l=e[2];const u=l;let d;e[3]!==n||e[4]!==u?(d=u===""?[]:Er(n,u),e[3]=n,e[4]=u,e[5]=d):d=e[5];const p=d,[m,h]=k.useState(0),g=k.useRef(0),f=k.useRef(null),x=k.useRef(""),v=k.useRef(null),b=k.useRef(!1);let w;e[6]===Symbol.for("react.memo_cache_sentinel")?(w={query:"",active:null,activeItemSpan:null},e[6]=w):w=e[6];const y=k.useRef(w),C=p.length===0?0:Math.min(m,p.length-1),M=p[C]??null;let F;e[7]!==a?(F=L=>{a.current?.scrollTo({type:"line",id:L.itemId,lineNumber:L.lineNumber,side:L.side,align:"center",behavior:"instant"})},e[7]=a,e[8]=F):F=e[8];const S=F;let j;e[9]!==a||e[10]!==n?(j=L=>{const V=a.current?.getInstance();if(V==null)return null;const Z=V.getTopForItem(L.itemId);if(typeof Z!="number")return null;let ne=Number.POSITIVE_INFINITY;const ae=n.findIndex(ee=>ee.id===L.itemId);for(let ee=ae+1;ee>=0&&eeZ){ne=te;break}}return{top:Z,bottom:ne}},e[9]=a,e[10]=n,e[11]=j):j=e[11];const P=j;let T,A;e[12]!==p||e[13]!==u||e[14]!==S?(T=()=>{const L=x.current!==u;x.current=u;const V=Dr(f.current,p,g.current);if(V!==g.current&&h(V),L){const Z=p[V];Z!=null&&S(Z)}},A=[p,u,S],e[12]=p,e[13]=u,e[14]=S,e[15]=T,e[16]=A):(T=e[15],A=e[16]),k.useEffect(T,A);let z;e[17]!==c?(z=()=>{if(!b.current||v.current!=null)return;const L=c.current;L!=null&&(v.current=qr({container:L,getSnapshot:()=>y.current}),v.current.repaint())},e[17]=c,e[18]=z):z=e[18];const R=z;let O,W;e[19]!==P||e[20]!==M||e[21]!==C||e[22]!==R||e[23]!==u?(O=()=>{g.current=C,f.current=M,y.current={query:u,active:M,activeItemSpan:M==null?null:P(M)},R(),v.current?.repaint()},W=[u,C,M,P,R],e[19]=P,e[20]=M,e[21]=C,e[22]=R,e[23]=u,e[24]=O,e[25]=W):(O=e[24],W=e[25]),k.useEffect(O,W);let U;e[26]!==R?(U=L=>{b.current=L!=null,L!=null?R():(v.current?.dispose(),v.current=null)},e[26]=R,e[27]=U):U=e[27];const $=U;let G;e[28]!==p||e[29]!==S?(G=L=>{const V=p[L];V!=null&&(h(L),S(V))},e[28]=p,e[29]=S,e[30]=G):G=e[30];const D=G;let _;e[31]!==D||e[32]!==p.length?(_=()=>{p.length>0&&D((g.current+1)%p.length)},e[31]=D,e[32]=p.length,e[33]=_):_=e[33];const q=_;let B;e[34]!==D||e[35]!==p.length?(B=()=>{p.length>0&&D((g.current-1+p.length)%p.length)},e[34]=D,e[35]=p.length,e[36]=B):B=e[36];const K=B;let Q;e[37]!==o?(Q=L=>{o({type:"set-find-query",query:L})},e[37]=o,e[38]=Q):Q=e[38];const X=Q;let J;e[39]!==o?(J=()=>{o({type:"set-find-open",open:!1})},e[39]=o,e[40]=J):J=e[40];const I=J;let H;return e[41]!==M||e[42]!==C||e[43]!==I||e[44]!==$||e[45]!==q||e[46]!==K||e[47]!==p||e[48]!==X?(H={matches:p,activeIndex:C,activeMatch:M,setQuery:X,goToNext:q,goToPrevious:K,closeFind:I,findBarRef:$},e[41]=M,e[42]=C,e[43]=I,e[44]=$,e[45]=q,e[46]=K,e[47]=p,e[48]=X,e[49]=H):H=e[49],H}function Yr(t,e){const n=E.c(4);let r,i;n[0]!==e||n[1]!==t?(r=()=>{const o=a=>{const c=a.metaKey||a.ctrlKey,l=a.key.toLowerCase();if(c&&!a.shiftKey&&!a.altKey&&l==="f"){a.preventDefault(),t({type:"request-find"});return}const u=e.current;if(u.open){if(c&&!a.altKey&&l==="g"){a.preventDefault(),a.shiftKey?u.controller.goToPrevious():u.controller.goToNext();return}if(a.key==="Escape"){const d=a.target;d instanceof Element&&d.closest("#viewer, #diff-find-bar")!=null&&u.controller.closeFind()}}};return document.addEventListener("keydown",o),()=>document.removeEventListener("keydown",o)},i=[t,e],n[0]=e,n[1]=t,n[2]=r,n[3]=i):(r=n[2],i=n[3]),k.useEffect(r,i)}const Qr=/\b(Android|iPhone|iPad|iPod|Mobile)\b/i;function Xr(t){return Qr.test(t??"")?1:3}function Jr(){return Xr(typeof navigator>"u"?void 0:navigator.userAgent)}function Zr(t){return{poolSize:Jr(),workerFactory:()=>new Worker(t,{type:"module"})}}const ht=new Set,ei="00000000-0000-0000-0000-000000000000",ti=["82%","64%","76%","58%","70%","46%"],ni=["58%","88%","72%","94%","64%","82%","52%","78%"],ri="./assets/pierre-diffs-1.2.7-trees-1.0.0-beta.4/worker-pool/worker-portable.js",_t="cmux.diffViewer.layout";function ii(t,e){const n=t.payload??{};return{activeItemId:"",activeTreePath:"",comments:[],copyFeedback:"",draft:null,fileSearchOpen:!1,fileSearchRequest:0,filesWidth:252,filesVisible:!0,findOpen:!1,findQuery:"",findRequest:0,items:[],languages:["text"],metrics:null,options:{collapsed:!1,diffIndicators:"bars",expandUnchanged:!1,layout:mi(n),lineNumbers:!0,showBackgrounds:!0,wordDiffs:!1,wordWrap:!1},optionsOpen:!1,status:e,treeSource:null}}function oi(t,e){switch(e.type){case"append-items":{const n=e.items.map(i=>{Ji(i);const o=Qn(i,t.comments,t.draft);return t.options.collapsed?{...o,collapsed:!0}:o}),r=eo(t.languages,n.flatMap(Zi));return{...t,activeItemId:t.activeItemId||n[0]?.id||"",items:[...t.items,...n],languages:r,status:t.status.loading?se("",{loading:!1}):t.status}}case"reset-diff":return{...t,activeItemId:"",activeTreePath:"",draft:null,items:[],languages:["text"],metrics:null,status:e.status,treeSource:null};case"remove-comment":{const n=t.comments.filter(r=>r.id!==e.id);return{...t,comments:n,items:ye(t.items,n,t.draft)}}case"rename-item":return{...t,activeItemId:t.activeItemId===e.oldId?e.newId:t.activeItemId,draft:t.draft?.itemId===e.oldId?{...t.draft,itemId:e.newId}:t.draft,items:t.items.map(n=>n.id===e.oldId||n.id===e.newId?{...n,id:e.newId,version:(n.version??0)+1}:n)};case"set-active-item":return{...t,activeItemId:e.itemId,activeTreePath:e.treePath??t.activeTreePath};case"replace-comments":return{...t,comments:e.comments,draft:null,items:ye(t.items,e.comments,null)};case"set-copy-feedback":return{...t,copyFeedback:e.message};case"set-draft":return{...t,draft:e.draft,items:ye(t.items,t.comments,e.draft)};case"set-file-search-open":return{...t,fileSearchOpen:e.open,filesVisible:e.open?!0:t.filesVisible};case"request-file-search":return{...t,fileSearchOpen:!0,fileSearchRequest:t.fileSearchRequest+1,filesVisible:!0};case"set-find-open":return{...t,findOpen:e.open};case"set-find-query":return{...t,findQuery:e.query};case"request-find":return{...t,findOpen:!0,findRequest:t.findRequest+1};case"set-files-width":return{...t,filesWidth:e.width};case"set-files-visible":return{...t,filesVisible:e.visible};case"set-metrics":return{...t,metrics:e.metrics};case"set-option":return e.key==="collapsed"?{...t,options:{...t.options,collapsed:!!e.value},items:t.items.map(n=>({...n,collapsed:!!e.value,version:(n.version??0)+1}))}:{...t,options:{...t.options,[e.key]:e.value}};case"set-options-open":return{...t,optionsOpen:e.open};case"set-status":return{...t,status:e.status};case"set-tree-source":{const n=e.source,r=t.activeItemId?n.treePathByItemId.get(t.activeItemId)??t.activeTreePath:t.activeTreePath;return{...t,activeTreePath:r,treeSource:n}}case"upsert-comment":{const r=t.comments.some(i=>i.id===e.comment.id)?t.comments.map(i=>i.id===e.comment.id?e.comment:i):[...t.comments,e.comment];return{...t,comments:r,items:ye(t.items,r,t.draft)}}}}function ai({config:t,initialStatus:e}){const n=t.payload??{},r=k.useMemo(()=>Lt(n.labels,{assertMissing:Rt()}),[n.labels]),i=Oe(n.appearance),o=co(n.transport),[a,c]=k.useState(Me(n.sessionSource)?n.sessionSource:null),[l,u]=k.useState(a),d=k.useRef(new Map);a?.kind==="branch"&&!d.current.has(a.repoRoot)&&d.current.set(a.repoRoot,a);const[p,m]=k.useState(n.patchURL),[h,g]=k.useReducer(oi,ii(t,e)),f=Ie(h),x=k.useRef(null),v=k.useRef(0),b=k.useRef(null),w=k.useRef(null),y=k.useRef(null),C=li(t.assets?.workerModuleURL),M=Zr(C),F=yr(h.options,i,h.languages),S=typeof n.repoRoot=="string"&&n.repoRoot!==""?n.repoRoot:null,j=Pe(l??a)??S,P=Jn()&&j!=null,T=or(n),A=ci({bridgeAvailable:P,dispatch:g,latestState:f,repoRoot:j}),z=wr(h.options,i);z.onGutterUtilityClick=A.onGutterUtilityClick;const R=k.useCallback(()=>{const I=w.current;return o?I?(w.current=null,o.request({method:"sessionClose",params:I}).then(()=>{}).catch(()=>{w.current||(w.current=I)})):typeof n.capabilityToken!="string"?Promise.resolve():Et(o,{sessionId:ei,capabilityToken:n.capabilityToken}):Promise.resolve()},[n.capabilityToken,o]),O=k.useCallback(I=>{I.kind==="branch"&&d.current.set(I.repoRoot,I),u(I)},[]);io(h),no(n,r,g,o),Ki(t,o,r,g,f,m,w,R,a,O),sr(P?j:null,A.onLoaded),ao(h.optionsOpen,g),lo(h.fileSearchOpen,g);const W=(I,H)=>{const L=I.metadata;return L.kind==="draft"?s.jsx(jt,{labels:T,onCancel:()=>g({type:"set-draft",draft:null}),onSave:V=>A.saveDraft(H,V)}):s.jsx(ar,{comment:L.comment,labels:T,onDelete:()=>A.remove(L.comment),onSaveMessage:V=>A.editMessage(L.comment,V,H.fileDiff)})},U=Number.isFinite(h.metrics?.completedAt)&&(h.metrics?.completedAt??0)>0,$=Xn(h.items,h.comments,U),G=I=>{I.itemId!=null&&(I.anchor.state==="outdated"?x.current?.scrollTo({type:"item",id:I.itemId,align:"start",behavior:"smooth-auto"}):x.current?.scrollTo({type:"line",id:I.itemId,lineNumber:I.anchor.line,side:I.comment.side,align:"center",behavior:"smooth-auto"}),g({type:"set-active-item",itemId:I.itemId,treePath:h.treeSource?.treePathByItemId.get(I.itemId)}))},D=h.treeSource?.treePathByItemId.get(h.activeItemId)??h.activeTreePath,_=k.useCallback(I=>{const H=f.current,L=fo(I,H.items);L&&(x.current?.scrollTo({type:"item",id:L,align:"start",behavior:"smooth-auto"}),g({type:"set-active-item",itemId:L,treePath:H.treeSource?.treePathByItemId.get(L)}))},[f]),q=k.useCallback(I=>{const H=f.current,L=po(H.items,v.current,Z=>x.current?.getInstance()?.getTopForItem(Z)),V=uo(L||H.activeItemId,H.items,I);V&&_(V)},[f,_]),B=k.useCallback(I=>{v.current=I},[]),K=Kr({items:h.items,open:h.findOpen,query:h.findQuery,dispatch:g,codeViewRef:x,viewerContainerRef:y}),Q=Ie({open:h.findOpen,controller:K});Yr(g,Q),oo(y,g,q,Q);const X=I=>{Ce(I),g({type:"set-status",status:I})},J=I=>{gi(I),g({type:"set-option",key:"layout",value:I})};return s.jsxs("div",{id:"app","data-file-search-open":h.fileSearchOpen,children:[s.jsx(bi,{config:t,transport:o,label:r,onCopyGitApply:async()=>{try{const I=await tn(p,r,b.current);g({type:"set-copy-feedback",message:I})}catch{g({type:"set-copy-feedback",message:r("copyFailedGitApplyCommand")})}},onJump:_,onNavigate:I=>{X(se(r("loadingDiff"),{pending:!0})),R(),window.location.href=Zt(I)},activeSessionSource:l??a,onSelectSessionSource:I=>{const H=l??a,L=I.kind==="branch"&&(H?.kind!=="branch"||I.baseRef==null)?d.current.get(I.repoRoot)??I:I;L.kind==="branch"&&d.current.set(L.repoRoot,L);const V=se(r("loadingDiff"),{pending:!0});Ce(V),g({type:"reset-diff",status:V}),m(void 0),R(),u(L),c(L)},onReload:async()=>{await R(),window.location.reload()},onSetLayout:J,dispatch:g,state:h}),s.jsxs("section",{id:"content",style:{"--cmux-diff-files-width":`${h.filesWidth}px`},children:[s.jsx(si,{label:r,onClose:()=>Qe(g),open:h.fileSearchOpen}),s.jsx(Ti,{commentEntries:$,commentLabels:T,hasDraft:h.draft!=null,label:r,onSelectComment:G,onSelectItem:_,selectedPath:D,dispatch:g,state:h}),s.jsxs("main",{id:"viewer","aria-label":r("diffViewer"),children:[h.findOpen?s.jsx(Br,{controller:K,label:r,query:h.findQuery,requestToken:h.findRequest}):null,h.items.length>0?s.jsxs($t,{poolOptions:M,highlighterOptions:F,children:[s.jsx(xi,{codeViewRef:x,highlighterOptions:F}),s.jsx(Vt,{ref:x,className:"code-view-root",containerRef:y,items:h.items,onScroll:B,options:z,renderHeaderMetadata:I=>s.jsx(Pn,{fileDiff:I.fileDiff,label:r}),renderAnnotation:(I,H)=>W(I,H)})]}):null]}),s.jsx(Ai,{label:r,status:h.status})]}),s.jsx("textarea",{ref:b,"aria-hidden":"true",readOnly:!0,tabIndex:-1,className:"copy-fallback-textarea"})]})}function si(t){const e=E.c(8),{label:n,onClose:r,open:i}=t;if(!i)return null;let o;e[0]!==n?(o=n("hideFileSearch"),e[0]=n,e[1]=o):o=e[1];let a;e[2]!==n?(a=n("hideFileSearch"),e[2]=n,e[3]=a):a=e[3];let c;return e[4]!==r||e[5]!==o||e[6]!==a?(c=s.jsx("button",{id:"files-sidebar-backdrop",type:"button","aria-controls":"files-sidebar","aria-label":o,title:a,onClick:r}),e[4]=r,e[5]=o,e[6]=a,e[7]=c):c=e[7],c}function li(t){return new URL(t||ri,window.location.href)}function ci(t){const e=E.c(26),{bridgeAvailable:n,dispatch:r,latestState:i,repoRoot:o}=t,a=Ie(o);let c;e[0]!==r?(c=b=>r({type:"replace-comments",comments:b}),e[0]=r,e[1]=c):c=e[1];const l=c;let u;e[2]!==r?(u=(b,w)=>{const y=b.side==="deletions"?"deletions":"additions";r({type:"set-draft",draft:{itemId:w.item.id,side:y,startLine:Math.min(b.start,b.end),endLine:Math.max(b.start,b.end)}})},e[2]=r,e[3]=u):u=e[3];const d=u;let p;e[4]!==a||e[5]!==n||e[6]!==r||e[7]!==i||e[8]!==o?(p=(b,w)=>{const y=i.current.draft;if(y==null||y.itemId!==b.id||w.trim()==="")return;const C={filePath:pe(b.fileDiff,""),side:y.side,startLine:y.startLine,endLine:y.endLine,lineText:Ve(b.fileDiff,y.side,y.endLine)??"",message:w},M={...C,submissionText:lt(C,b.fileDiff)};(n&&o!=null?st(o,M):Promise.resolve(pi(M))).then(S=>{a.current===o&&(r({type:"upsert-comment",comment:S}),r({type:"set-draft",draft:null}))}).catch(ui)},e[4]=a,e[5]=n,e[6]=r,e[7]=i,e[8]=o,e[9]=p):p=e[9];const m=p;let h;e[10]!==a||e[11]!==n||e[12]!==r||e[13]!==o?(h=(b,w,y)=>{if(w.trim()==="")return;const C={...b,message:w,updatedAt:new Date().toISOString()},M={...C,submissionText:lt(C,y)};(n&&o!=null?st(o,M):Promise.resolve(M)).then(S=>{a.current===o&&r({type:"upsert-comment",comment:S})}).catch(fi)},e[10]=a,e[11]=n,e[12]=r,e[13]=o,e[14]=h):h=e[14];const g=h;let f;e[15]!==a||e[16]!==n||e[17]!==r||e[18]!==o?(f=b=>{const w=o;n&&o!=null&&er(o,b.id).catch(di),a.current===w&&r({type:"remove-comment",id:b.id})},e[15]=a,e[16]=n,e[17]=r,e[18]=o,e[19]=f):f=e[19];const x=f;let v;return e[20]!==g||e[21]!==d||e[22]!==l||e[23]!==x||e[24]!==m?(v={editMessage:g,onGutterUtilityClick:d,onLoaded:l,remove:x,saveDraft:m},e[20]=g,e[21]=d,e[22]=l,e[23]=x,e[24]=m,e[25]=v):v=e[25],v}function di(t){return console.warn("cmux diff comment delete failed",t)}function fi(t){return console.warn("cmux diff comment edit failed",t)}function ui(t){return console.warn("cmux diff comment save failed",t)}function pi(t){const e=new Date().toISOString();return{...t,id:crypto.randomUUID(),createdAt:e,updatedAt:e}}function mi(t){const e=Bt(t.layout);return t.layoutSource==="explicit"&&e?e:hi()??e??"unified"}function hi(){try{return Bt(window.localStorage.getItem(_t))}catch{return null}}function gi(t){try{window.localStorage.setItem(_t,t)}catch{}}function Bt(t){return t==="split"||t==="unified"?t:null}function xi(t){const{codeViewRef:e,highlighterOptions:n}=t;return zi(n,e),null}function bi(t){const e=E.c(70),{activeSessionSource:n,config:r,dispatch:i,label:o,onCopyGitApply:a,onJump:c,onNavigate:l,onSelectSessionSource:u,onReload:d,onSetLayout:p,state:m,transport:h}=t;let g;e[0]!==r.payload?(g=r.payload??{},e[0]=r.payload,e[1]=g):g=e[1];const f=g,x=typeof f.externalURL=="string"&&f.externalURL.length>0?f.externalURL:null,v=k.useRef(null),b=Pr(v);let w;if(e[2]!==x||e[3]!==f||e[4]!==b){const B=[{id:"files-toggle",width:Be},{id:"layout-toggle",width:Be},...x?[{id:"external-link",width:Be}]:[]];w=b==null?new Set:new Set(Mr({available:b,reserved:vi+(yi(f)?wi:0),items:B}).overflow),e[2]=x,e[3]=f,e[4]=b,e[5]=w}else w=e[5];const y=w,C=!y.has("files-toggle"),M=!y.has("layout-toggle"),F=x!=null&&!y.has("external-link");let S;e[6]!==n||e[7]!==o||e[8]!==l||e[9]!==u||e[10]!==f||e[11]!==h?(S=s.jsx(ki,{activeSessionSource:n,label:o,onNavigate:l,onSelectSessionSource:u,payload:f,transport:h}),e[6]=n,e[7]=o,e[8]=l,e[9]=u,e[10]=f,e[11]=h,e[12]=S):S=e[12];let j;e[13]!==i?(j=()=>i({type:"set-file-search-open",open:!0}),e[13]=i,e[14]=j):j=e[14];let P;e[15]!==o||e[16]!==c||e[17]!==m.activeItemId||e[18]!==m.fileSearchOpen||e[19]!==m.items||e[20]!==j?(P=s.jsx("div",{className:"toolbar-middle flex min-w-0 flex-1 items-center justify-center gap-1.5",children:s.jsx(Ri,{items:m.items,label:o,onJump:c,onOpenSearch:j,searchOpen:m.fileSearchOpen,selectedItemId:m.activeItemId})}),e[15]=o,e[16]=c,e[17]=m.activeItemId,e[18]=m.fileSearchOpen,e[19]=m.items,e[20]=j,e[21]=P):P=e[21];let T;e[22]!==x||e[23]!==o||e[24]!==F?(T=F?s.jsx("a",{id:"external-link",className:"toolbar-icon",href:x??void 0,target:"_blank",rel:"noreferrer",title:o("openSourceURL"),"aria-label":o("openSourceURL"),children:s.jsx(re,{name:"external"})}):null,e[22]=x,e[23]=o,e[24]=F,e[25]=T):T=e[25];let A;e[26]!==o||e[27]!==p||e[28]!==M||e[29]!==m.options?(A=M?s.jsx("button",{id:"layout-toggle",className:"toolbar-icon",type:"button",title:m.options.layout==="split"?o("switchToUnifiedDiff"):o("switchToSplitDiff"),"aria-label":m.options.layout==="split"?o("switchToUnifiedDiff"):o("switchToSplitDiff"),onClick:()=>p(m.options.layout==="split"?"unified":"split"),children:s.jsx(re,{name:m.options.layout})}):null,e[26]=o,e[27]=p,e[28]=M,e[29]=m.options,e[30]=A):A=e[30];let z;e[31]!==o?(z=o("options"),e[31]=o,e[32]=z):z=e[32];let R;e[33]!==o?(R=o("options"),e[33]=o,e[34]=R):R=e[34];let O;e[35]!==i||e[36]!==m.optionsOpen?(O=()=>i({type:"set-options-open",open:!m.optionsOpen}),e[35]=i,e[36]=m.optionsOpen,e[37]=O):O=e[37];let W;e[38]===Symbol.for("react.memo_cache_sentinel")?(W=s.jsx(re,{name:"dots"}),e[38]=W):W=e[38];let U;e[39]!==m.optionsOpen||e[40]!==O||e[41]!==z||e[42]!==R?(U=s.jsx("button",{id:"options-button",className:"toolbar-icon",type:"button",title:z,"aria-label":R,"aria-expanded":m.optionsOpen,"aria-controls":"options-menu",onClick:O,children:W}),e[39]=m.optionsOpen,e[40]=O,e[41]=z,e[42]=R,e[43]=U):U=e[43];let $;e[44]!==i||e[45]!==o||e[46]!==C||e[47]!==m.filesVisible?($=C?s.jsx("button",{id:"files-toggle",className:"toolbar-icon",type:"button",title:m.filesVisible?o("hideFiles"):o("showFiles"),"aria-label":m.filesVisible?o("hideFiles"):o("showFiles"),"aria-pressed":m.filesVisible,onClick:()=>i({type:"set-files-visible",visible:!m.filesVisible}),children:s.jsx(re,{name:"files"})}):null,e[44]=i,e[45]=o,e[46]=C,e[47]=m.filesVisible,e[48]=$):$=e[48];let G;e[49]!==m.copyFeedback?(G=s.jsx("span",{id:"copy-feedback",className:"visually-hidden","aria-live":"polite",children:m.copyFeedback}),e[49]=m.copyFeedback,e[50]=G):G=e[50];let D;e[51]!==U||e[52]!==$||e[53]!==G||e[54]!==T||e[55]!==A?(D=s.jsxs("div",{className:"toolbar-actions flex items-center gap-1.5",children:[T,A,U,$,G]}),e[51]=U,e[52]=$,e[53]=G,e[54]=T,e[55]=A,e[56]=D):D=e[56];let _;e[57]!==i||e[58]!==x||e[59]!==o||e[60]!==a||e[61]!==d||e[62]!==p||e[63]!==m?(_=m.optionsOpen?s.jsx(Li,{dispatch:i,externalURL:x,label:o,onCopyGitApply:a,onReload:d,onSetLayout:p,state:m}):null,e[57]=i,e[58]=x,e[59]=o,e[60]=a,e[61]=d,e[62]=p,e[63]=m,e[64]=_):_=e[64];let q;return e[65]!==D||e[66]!==_||e[67]!==S||e[68]!==P?(q=s.jsxs("header",{id:"toolbar",ref:v,children:[S,P,D,_]}),e[65]=D,e[66]=_,e[67]=S,e[68]=P,e[69]=q):q=e[69],q}const Be=28,vi=248,wi=60;function yi(t){return Array.isArray(t?.repoOptions)&&t.repoOptions.length>=2}function ki(t){const e=E.c(31),{activeSessionSource:n,label:r,onNavigate:i,onSelectSessionSource:o,payload:a,transport:c}=t;let l;e[0]!==r?(l=r("diffTarget"),e[0]=r,e[1]=l):l=e[1];const u=a.sourceOptions;let d;e[2]!==n||e[3]!==o?(d=x=>o(Qi(x,n)),e[2]=n,e[3]=o,e[4]=d):d=e[4];let p;e[5]!==n?(p=Yi(n),e[5]=n,e[6]=p):p=e[6];let m;e[7]!==i||e[8]!==a.sourceOptions||e[9]!==l||e[10]!==d||e[11]!==p?(m=s.jsx(Ae,{ariaLabel:l,fallbackValue:"",id:"source-select",options:u,onNavigate:i,onSelectSessionSource:d,selectedValue:p}),e[7]=i,e[8]=a.sourceOptions,e[9]=l,e[10]=d,e[11]=p,e[12]=m):m=e[12];let h;e[13]!==n||e[14]!==r||e[15]!==i||e[16]!==o||e[17]!==a.repoOptions||e[18]!==a.repoRoot?(h=n?.kind!=="patch"?s.jsx(Ae,{ariaLabel:r("repoPath"),fallbackValue:a.repoRoot??"",id:"repo-select",options:a.repoOptions,onNavigate:i,onSelectSessionSource:x=>o(Xi(x,n)),selectedValue:Pe(n)}):null,e[13]=n,e[14]=r,e[15]=i,e[16]=o,e[17]=a.repoOptions,e[18]=a.repoRoot,e[19]=h):h=e[19];let g;e[20]!==n||e[21]!==r||e[22]!==i||e[23]!==o||e[24]!==a||e[25]!==c?(g=s.jsx(Si,{activeSessionSource:n,label:r,onNavigate:i,onSelectSessionSource:o,payload:a,transport:c}),e[20]=n,e[21]=r,e[22]=i,e[23]=o,e[24]=a,e[25]=c,e[26]=g):g=e[26];let f;return e[27]!==m||e[28]!==h||e[29]!==g?(f=s.jsxs("div",{className:"toolbar-left flex min-w-0 items-center gap-1.5",children:[m,h,g]}),e[27]=m,e[28]=h,e[29]=g,e[30]=f):f=e[30],f}function Si(t){const e=E.c(29),{activeSessionSource:n,label:r,onNavigate:i,onSelectSessionSource:o,payload:a,transport:c}=t;if(n?.kind==="branch"&&c){const m=n.baseRef??"";let h,g,f;e[0]!==n.repoRoot||e[1]!==a.capabilityToken||e[2]!==m?(f={repoRoot:n.repoRoot,capabilityToken:a.capabilityToken,headRef:"HEAD",currentRef:m,currentReason:"",confidence:"high",aheadBehind:null,refsURL:"typed://branch-list",regenerateURLTemplate:"typed://branch-change/{ref}"},h=et,g=Je(f),e[0]=n.repoRoot,e[1]=a.capabilityToken,e[2]=m,e[3]=h,e[4]=g,e[5]=f):(h=e[3],g=e[4],f=e[5]);let x;e[6]!==n.repoRoot||e[7]!==o?(x=b=>o({kind:"branch",repoRoot:n.repoRoot,baseRef:b}),e[6]=n.repoRoot,e[7]=o,e[8]=x):x=e[8];let v;return e[9]!==h||e[10]!==r||e[11]!==i||e[12]!==g||e[13]!==x||e[14]!==c||e[15]!==f?(v=s.jsx(h,{label:r,onNavigate:i,onSelectBranchBase:x,picker:f,transport:c},g),e[9]=h,e[10]=r,e[11]=i,e[12]=g,e[13]=x,e[14]=c,e[15]=f,e[16]=v):v=e[16],v}let l;if(e[17]!==r||e[18]!==i||e[19]!==a||e[20]!==c){l=Symbol.for("react.early_return_sentinel");e:{const m=ji(a);if(m){l=s.jsx(et,{label:r,onNavigate:i,picker:m,transport:c},Je(m));break e}}e[17]=r,e[18]=i,e[19]=a,e[20]=c,e[21]=l}else l=e[21];if(l!==Symbol.for("react.early_return_sentinel"))return l;let u;e[22]!==r?(u=r("branchBase"),e[22]=r,e[23]=u):u=e[23];const d=a.branchBaseRef??"";let p;return e[24]!==i||e[25]!==a.baseOptions||e[26]!==u||e[27]!==d?(p=s.jsx(Ae,{ariaLabel:u,fallbackValue:d,id:"base-select",options:a.baseOptions,onNavigate:i}),e[24]=i,e[25]=a.baseOptions,e[26]=u,e[27]=d,e[28]=p):p=e[28],p}function ji(t){const e=t?.branchPicker;return Ci(e)?e:null}function Ci(t){return!!(t&&typeof t=="object"&&typeof t.refsURL=="string"&&t.refsURL!==""&&typeof t.regenerateURLTemplate=="string"&&t.regenerateURLTemplate!==""&&typeof t.currentRef=="string"&&typeof t.headRef=="string")}function Ae(t){const e=E.c(17),{ariaLabel:n,fallbackValue:r,id:i,onNavigate:o,onSelectSessionSource:a,options:c,selectedValue:l}=t;if(!Array.isArray(c)||c.length<2)return null;let u;e[0]!==c||e[1]!==l?(u=c.find(f=>f.value===l)??c.find(Pi)??c.find(Mi),e[0]=c,e[1]=l,e[2]=u):u=e[2];const d=u,p=d?.value??r;let m;e[3]!==r||e[4]!==o||e[5]!==a||e[6]!==c||e[7]!==d?.value?(m=f=>{const x=c.find(v=>v.value===f.currentTarget.value);if(Me(x?.sessionSource)&&a){a(x.sessionSource);return}if(!x?.url){f.currentTarget.value=d?.value??r;return}o(x.url)},e[3]=r,e[4]=o,e[5]=a,e[6]=c,e[7]=d?.value,e[8]=m):m=e[8];let h;e[9]!==c?(h=c.map(Ii),e[9]=c,e[10]=h):h=e[10];let g;return e[11]!==n||e[12]!==i||e[13]!==p||e[14]!==m||e[15]!==h?(g=s.jsx("select",{id:i,"aria-label":n,value:p,title:n,onChange:m,children:h}),e[11]=n,e[12]=i,e[13]=p,e[14]=m,e[15]=h,e[16]=g):g=e[16],g}function Ii(t){return s.jsx("option",{value:t.value,disabled:t.disabled||!t.url&&!Me(t.sessionSource),title:t.message,children:t.label},t.value)}function Mi(t){return!t.disabled}function Pi(t){return t.selected}function Ri(t){const e=E.c(31),{items:n,label:r,onJump:i,onOpenSearch:o,searchOpen:a,selectedItemId:c}=t;if(n.length===0)return null;if(n.length>500){let g;e[0]!==r?(g=r("jumpToFile"),e[0]=r,e[1]=g):g=e[1];let f;e[2]!==r?(f=r("jumpToFile"),e[2]=r,e[3]=f):f=e[3];let x;e[4]!==r?(x=r("jumpToFile"),e[4]=r,e[5]=x):x=e[5];let v;return e[6]!==o||e[7]!==a||e[8]!==g||e[9]!==f||e[10]!==x?(v=s.jsx("button",{id:"jump-search-button",type:"button","aria-controls":"files-sidebar","aria-expanded":a,"aria-label":g,title:f,onClick:o,children:x}),e[6]=o,e[7]=a,e[8]=g,e[9]=f,e[10]=x,e[11]=v):v=e[11],v}let l;e[12]!==r?(l=r("jumpToFile"),e[12]=r,e[13]=l):l=e[13];let u;e[14]!==i?(u=g=>i(g.currentTarget.value),e[14]=i,e[15]=u):u=e[15];let d;e[16]!==r?(d=r("jumpToFile"),e[16]=r,e[17]=d):d=e[17];let p;e[18]!==d?(p=s.jsx("option",{value:"",children:d}),e[18]=d,e[19]=p):p=e[19];let m;if(e[20]!==n||e[21]!==r){let g;e[23]!==r?(g=f=>s.jsx("option",{value:f.id,children:pe(f.fileDiff,r("untitled"))},f.id),e[23]=r,e[24]=g):g=e[24],m=n.map(g),e[20]=n,e[21]=r,e[22]=m}else m=e[22];let h;return e[25]!==c||e[26]!==l||e[27]!==u||e[28]!==p||e[29]!==m?(h=s.jsxs("select",{id:"jump-select","aria-label":l,value:c,onChange:u,children:[p,m]}),e[25]=c,e[26]=l,e[27]=u,e[28]=p,e[29]=m,e[30]=h):h=e[30],h}function Li(t){const e=E.c(137),{dispatch:n,externalURL:r,label:i,onCopyGitApply:o,onReload:a,onSetLayout:c,state:l}=t;let u;e[0]!==n||e[1]!==l.options?(u=N=>n({type:"set-option",key:N,value:!l.options[N]}),e[0]=n,e[1]=l.options,e[2]=u):u=e[2];const d=u;let p;e[3]!==i?(p=i("options"),e[3]=i,e[4]=p):p=e[4];let m;e[5]!==i?(m=i("refresh"),e[5]=i,e[6]=m):m=e[6];let h;e[7]!==a||e[8]!==m?(h=s.jsx(ce,{icon:"refresh",label:m,onClick:a}),e[7]=a,e[8]=m,e[9]=h):h=e[9];let g;e[10]!==i||e[11]!==l.options.wordWrap?(g=l.options.wordWrap?i("disableWordWrap"):i("enableWordWrap"),e[10]=i,e[11]=l.options.wordWrap,e[12]=g):g=e[12];let f;e[13]!==d?(f=()=>d("wordWrap"),e[13]=d,e[14]=f):f=e[14];let x;e[15]!==l.options.wordWrap||e[16]!==g||e[17]!==f?(x=s.jsx(ce,{checked:l.options.wordWrap,icon:"wrap",label:g,onClick:f}),e[15]=l.options.wordWrap,e[16]=g,e[17]=f,e[18]=x):x=e[18];const v=l.options.collapsed?"expand":"collapse";let b;e[19]!==i||e[20]!==l.options.collapsed?(b=l.options.collapsed?i("expandAllDiffs"):i("collapseAllDiffs"),e[19]=i,e[20]=l.options.collapsed,e[21]=b):b=e[21];let w;e[22]!==d?(w=()=>d("collapsed"),e[22]=d,e[23]=w):w=e[23];let y;e[24]!==l.options.collapsed||e[25]!==w||e[26]!==v||e[27]!==b?(y=s.jsx(ce,{checked:l.options.collapsed,icon:v,label:b,onClick:w}),e[24]=l.options.collapsed,e[25]=w,e[26]=v,e[27]=b,e[28]=y):y=e[28];let C;e[29]===Symbol.for("react.memo_cache_sentinel")?(C=s.jsx("div",{className:"menu-separator"}),e[29]=C):C=e[29];let M;e[30]!==i||e[31]!==l.options.layout?(M=l.options.layout==="split"?i("switchToUnifiedDiff"):i("switchToSplitDiff"),e[30]=i,e[31]=l.options.layout,e[32]=M):M=e[32];let F;e[33]!==c||e[34]!==l.options.layout?(F=()=>c(l.options.layout==="split"?"unified":"split"),e[33]=c,e[34]=l.options.layout,e[35]=F):F=e[35];let S;e[36]!==l.options.layout||e[37]!==M||e[38]!==F?(S=s.jsx(ce,{icon:l.options.layout,label:M,onClick:F}),e[36]=l.options.layout,e[37]=M,e[38]=F,e[39]=S):S=e[39];let j;e[40]!==r||e[41]!==i?(j=r?s.jsx(ce,{icon:"external",label:i("openSourceURL"),onClick:()=>window.open(r,"_blank","noreferrer")}):null,e[40]=r,e[41]=i,e[42]=j):j=e[42];let P;e[43]!==i||e[44]!==l.filesVisible?(P=l.filesVisible?i("hideFiles"):i("showFiles"),e[43]=i,e[44]=l.filesVisible,e[45]=P):P=e[45];let T;e[46]!==n||e[47]!==l.filesVisible?(T=()=>n({type:"set-files-visible",visible:!l.filesVisible}),e[46]=n,e[47]=l.filesVisible,e[48]=T):T=e[48];let A;e[49]!==l.filesVisible||e[50]!==P||e[51]!==T?(A=s.jsx(ce,{checked:l.filesVisible,icon:"files",label:P,onClick:T}),e[49]=l.filesVisible,e[50]=P,e[51]=T,e[52]=A):A=e[52];let z;e[53]!==i||e[54]!==l.options.expandUnchanged?(z=l.options.expandUnchanged?i("collapseUnchangedContext"):i("expandUnchangedContext"),e[53]=i,e[54]=l.options.expandUnchanged,e[55]=z):z=e[55];let R;e[56]!==d?(R=()=>d("expandUnchanged"),e[56]=d,e[57]=R):R=e[57];let O;e[58]!==l.options.expandUnchanged||e[59]!==z||e[60]!==R?(O=s.jsx(ce,{checked:l.options.expandUnchanged,icon:"document",label:z,onClick:R}),e[58]=l.options.expandUnchanged,e[59]=z,e[60]=R,e[61]=O):O=e[61];let W;e[62]!==i||e[63]!==l.options.showBackgrounds?(W=l.options.showBackgrounds?i("hideBackgrounds"):i("showBackgrounds"),e[62]=i,e[63]=l.options.showBackgrounds,e[64]=W):W=e[64];let U;e[65]!==d?(U=()=>d("showBackgrounds"),e[65]=d,e[66]=U):U=e[66];let $;e[67]!==l.options.showBackgrounds||e[68]!==W||e[69]!==U?($=s.jsx(ce,{checked:l.options.showBackgrounds,icon:"background",label:W,onClick:U}),e[67]=l.options.showBackgrounds,e[68]=W,e[69]=U,e[70]=$):$=e[70];let G;e[71]!==i||e[72]!==l.options.lineNumbers?(G=l.options.lineNumbers?i("hideLineNumbers"):i("showLineNumbers"),e[71]=i,e[72]=l.options.lineNumbers,e[73]=G):G=e[73];let D;e[74]!==d?(D=()=>d("lineNumbers"),e[74]=d,e[75]=D):D=e[75];let _;e[76]!==l.options.lineNumbers||e[77]!==G||e[78]!==D?(_=s.jsx(ce,{checked:l.options.lineNumbers,icon:"numbers",label:G,onClick:D}),e[76]=l.options.lineNumbers,e[77]=G,e[78]=D,e[79]=_):_=e[79];let q;e[80]!==i||e[81]!==l.options.wordDiffs?(q=l.options.wordDiffs?i("disableWordDiffs"):i("enableWordDiffs"),e[80]=i,e[81]=l.options.wordDiffs,e[82]=q):q=e[82];let B;e[83]!==d?(B=()=>d("wordDiffs"),e[83]=d,e[84]=B):B=e[84];let K;e[85]!==l.options.wordDiffs||e[86]!==q||e[87]!==B?(K=s.jsx(ce,{checked:l.options.wordDiffs,icon:"word",label:q,onClick:B}),e[85]=l.options.wordDiffs,e[86]=q,e[87]=B,e[88]=K):K=e[88];let Q;e[89]===Symbol.for("react.memo_cache_sentinel")?(Q=s.jsx(re,{name:"bars"}),e[89]=Q):Q=e[89];let X;e[90]!==i?(X=i("indicatorStyle"),e[90]=i,e[91]=X):X=e[91];let J;e[92]!==X?(J=s.jsx("span",{className:"menu-label",children:X}),e[92]=X,e[93]=J):J=e[93];let I;e[94]!==i?(I=i("bars"),e[94]=i,e[95]=I):I=e[95];let H;e[96]!==I?(H={value:"bars",icon:"bars",label:I},e[96]=I,e[97]=H):H=e[97];let L;e[98]!==i?(L=i("classic"),e[98]=i,e[99]=L):L=e[99];let V;e[100]!==L?(V={value:"classic",icon:"classic",label:L},e[100]=L,e[101]=V):V=e[101];let Z;e[102]!==i?(Z=i("none"),e[102]=i,e[103]=Z):Z=e[103];let ne;e[104]!==Z?(ne={value:"none",icon:"eye",label:Z},e[104]=Z,e[105]=ne):ne=e[105];let ae;e[106]!==H||e[107]!==V||e[108]!==ne?(ae=[H,V,ne],e[106]=H,e[107]=V,e[108]=ne,e[109]=ae):ae=e[109];let ee;e[110]!==n||e[111]!==l.options.diffIndicators||e[112]!==ae?(ee=s.jsx("span",{className:"menu-segment-controls",children:ae.map(N=>s.jsx("button",{type:"button",className:"segment-button",title:N.label,"aria-label":N.label,"aria-pressed":l.options.diffIndicators===N.value,onClick:()=>n({type:"set-option",key:"diffIndicators",value:N.value}),children:s.jsx(re,{name:N.icon})},N.value))}),e[110]=n,e[111]=l.options.diffIndicators,e[112]=ae,e[113]=ee):ee=e[113];let te;e[114]!==J||e[115]!==ee?(te=s.jsxs("div",{className:"menu-item menu-segment",children:[Q,J,ee]}),e[114]=J,e[115]=ee,e[116]=te):te=e[116];let le;e[117]===Symbol.for("react.memo_cache_sentinel")?(le=s.jsx("div",{className:"menu-separator"}),e[117]=le):le=e[117];let ie;e[118]!==i?(ie=i("copyGitApplyCommand"),e[118]=i,e[119]=ie):ie=e[119];let oe;e[120]!==o||e[121]!==ie?(oe=s.jsx(ce,{icon:"clipboard",label:ie,onClick:o}),e[120]=o,e[121]=ie,e[122]=oe):oe=e[122];let fe;return e[123]!==y||e[124]!==S||e[125]!==j||e[126]!==A||e[127]!==p||e[128]!==O||e[129]!==$||e[130]!==_||e[131]!==K||e[132]!==h||e[133]!==te||e[134]!==oe||e[135]!==x?(fe=s.jsxs("div",{id:"options-menu","aria-label":p,children:[h,x,y,C,S,j,A,O,$,_,K,te,le,oe]}),e[123]=y,e[124]=S,e[125]=j,e[126]=A,e[127]=p,e[128]=O,e[129]=$,e[130]=_,e[131]=K,e[132]=h,e[133]=te,e[134]=oe,e[135]=x,e[136]=fe):fe=e[136],fe}function ce(t){const e=E.c(14),{checked:n,icon:r,label:i,onClick:o}=t,a=n??void 0;let c;e[0]!==r?(c=s.jsx(re,{name:r}),e[0]=r,e[1]=c):c=e[1];let l;e[2]!==i?(l=s.jsx("span",{className:"menu-label",children:i}),e[2]=i,e[3]=l):l=e[3];let u;e[4]!==n?(u=n?s.jsx(re,{name:"check"}):null,e[4]=n,e[5]=u):u=e[5];let d;e[6]!==u?(d=s.jsx("span",{className:"menu-check",children:u}),e[6]=u,e[7]=d):d=e[7];let p;return e[8]!==o||e[9]!==a||e[10]!==c||e[11]!==l||e[12]!==d?(p=s.jsxs("button",{type:"button",className:"menu-item","aria-pressed":a,onClick:o,children:[c,l,d]}),e[8]=o,e[9]=a,e[10]=c,e[11]=l,e[12]=d,e[13]=p):p=e[13],p}function Ti(t){const e=E.c(70),{commentEntries:n,commentLabels:r,dispatch:i,hasDraft:o,label:a,onSelectComment:c,onSelectItem:l,selectedPath:u,state:d}=t,p=k.useRef(null);let m;e[0]!==i?(m=B=>{const K=p.current;if(!K)return;const Q=document.documentElement.clientWidth||window.innerWidth,X=Math.max(220,Math.min(520,Math.floor(Q*.55))),J=Math.max(180,Math.min(X,Math.round(K.startWidth-(B-K.startX))));i({type:"set-files-width",width:J})},e[0]=i,e[1]=m):m=e[1];const h=m;let g;e[2]!==a?(g=a("changedFiles"),e[2]=a,e[3]=g):g=e[3];const f=!d.filesVisible,x=!d.filesVisible;let v;e[4]!==a?(v=a("files"),e[4]=a,e[5]=v):v=e[5];let b;e[6]!==d.filesWidth?(b=B=>{p.current={startWidth:d.filesWidth,startX:B.clientX},B.currentTarget.setPointerCapture(B.pointerId)},e[6]=d.filesWidth,e[7]=b):b=e[7];let w,y;e[8]!==h?(w=B=>h(B.clientX),y=B=>{h(B.clientX),p.current=null,B.currentTarget.releasePointerCapture(B.pointerId)},e[8]=h,e[9]=w,e[10]=y):(w=e[9],y=e[10]);let C;e[11]===Symbol.for("react.memo_cache_sentinel")?(C=()=>{p.current=null},e[11]=C):C=e[11];let M;e[12]!==i||e[13]!==d.filesWidth?(M=B=>{if(B.key!=="ArrowLeft"&&B.key!=="ArrowRight")return;B.preventDefault();const K=B.key==="ArrowLeft"?20:-20;i({type:"set-files-width",width:Math.max(180,Math.min(520,d.filesWidth+K))})},e[12]=i,e[13]=d.filesWidth,e[14]=M):M=e[14];let F;e[15]!==M||e[16]!==v||e[17]!==b||e[18]!==w||e[19]!==y?(F=s.jsx("button",{id:"files-resize-handle","aria-label":v,type:"button",tabIndex:0,onPointerDown:b,onPointerMove:w,onPointerUp:y,onPointerCancel:C,onKeyDown:M}),e[15]=M,e[16]=v,e[17]=b,e[18]=w,e[19]=y,e[20]=F):F=e[20];let S;e[21]!==a?(S=a("files"),e[21]=a,e[22]=S):S=e[22];let j;e[23]!==S?(j=s.jsx("span",{children:S}),e[23]=S,e[24]=j):j=e[24];const P=d.treeSource?.pathCount??0;let T;e[25]!==P?(T=s.jsx("span",{id:"files-count",children:P}),e[25]=P,e[26]=T):T=e[26];let A;e[27]!==j||e[28]!==T?(A=s.jsxs("span",{id:"files-title",children:[j,T]}),e[27]=j,e[28]=T,e[29]=A):A=e[29];let z;e[30]!==a||e[31]!==d.fileSearchOpen?(z=d.fileSearchOpen?a("hideFileSearch"):a("showFileSearch"),e[30]=a,e[31]=d.fileSearchOpen,e[32]=z):z=e[32];let R;e[33]!==a||e[34]!==d.fileSearchOpen?(R=d.fileSearchOpen?a("hideFileSearch"):a("showFileSearch"),e[33]=a,e[34]=d.fileSearchOpen,e[35]=R):R=e[35];const O=!d.treeSource;let W;e[36]!==i||e[37]!==d.fileSearchOpen?(W=()=>d.fileSearchOpen?Qe(i):i({type:"set-file-search-open",open:!0}),e[36]=i,e[37]=d.fileSearchOpen,e[38]=W):W=e[38];let U;e[39]===Symbol.for("react.memo_cache_sentinel")?(U=s.jsx(re,{name:"search"}),e[39]=U):U=e[39];let $;e[40]!==d.fileSearchOpen||e[41]!==z||e[42]!==R||e[43]!==O||e[44]!==W?($=s.jsx("span",{id:"files-header-actions",children:s.jsx("button",{id:"file-search-toggle",type:"button",title:z,"aria-label":R,"aria-pressed":d.fileSearchOpen,disabled:O,onClick:W,children:U})}),e[40]=d.fileSearchOpen,e[41]=z,e[42]=R,e[43]=O,e[44]=W,e[45]=$):$=e[45];let G;e[46]!==A||e[47]!==$?(G=s.jsxs("div",{id:"files-header",children:[A,$]}),e[46]=A,e[47]=$,e[48]=G):G=e[48];let D;e[49]!==a||e[50]!==l||e[51]!==u||e[52]!==d.fileSearchOpen||e[53]!==d.fileSearchRequest||e[54]!==d.status||e[55]!==d.treeSource?(D=s.jsx("div",{id:"file-list",children:d.treeSource?s.jsx(Fi,{fileSearchOpen:d.fileSearchOpen,fileSearchRequest:d.fileSearchRequest,label:a,onSelectItem:l,selectedPath:u,source:d.treeSource}):d.status.loading||d.status.pending?s.jsx(_i,{}):s.jsx("div",{className:"visually-hidden",children:d.status.message})}),e[49]=a,e[50]=l,e[51]=u,e[52]=d.fileSearchOpen,e[53]=d.fileSearchRequest,e[54]=d.status,e[55]=d.treeSource,e[56]=D):D=e[56];let _;e[57]!==n||e[58]!==r||e[59]!==o||e[60]!==c?(_=s.jsx(rr,{entries:n,hasDraft:o,labels:r,onSelect:c}),e[57]=n,e[58]=r,e[59]=o,e[60]=c,e[61]=_):_=e[61];let q;return e[62]!==F||e[63]!==g||e[64]!==G||e[65]!==D||e[66]!==_||e[67]!==f||e[68]!==x?(q=s.jsxs("aside",{id:"files-sidebar","aria-label":g,"aria-hidden":f,inert:x,children:[F,G,D,_]}),e[62]=F,e[63]=g,e[64]=G,e[65]=D,e[66]=_,e[67]=f,e[68]=x,e[69]=q):q=e[69],q}function Fi(t){const e=E.c(18),{fileSearchOpen:n,fileSearchRequest:r,label:i,onSelectItem:o,selectedPath:a,source:c}=t;let l;e[0]!==i||e[1]!==o||e[2]!==c?(l={label:i,onSelectItem:o,source:c},e[0]=i,e[1]=o,e[2]=c,e[3]=l):l=e[3];const u=Ie(l);let d;e[4]!==c.paths?(d=()=>Ee(c.paths),e[4]=c.paths,e[5]=d):d=e[5];const[p]=k.useState(d);let m;e[6]!==a?(m=a?[a]:[],e[6]=a,e[7]=m):m=e[7];let h;e[8]===Symbol.for("react.memo_cache_sentinel")?(h=Dt(),e[8]=h):h=e[8];const g=c.gitStatus;let f;e[9]===Symbol.for("react.memo_cache_sentinel")?(f=Sr(),e[9]=f):f=e[9];let x;e[10]!==p||e[11]!==u||e[12]!==m||e[13]!==g?(x={flattenEmptyDirectories:!1,id:"cmux-diff-file-tree",initialExpansion:"open",initialSelectedPaths:m,initialVisibleRowCount:h,itemHeight:24,overscan:12,preparedInput:p,search:!0,searchBlurBehavior:"retain",stickyFolders:!0,gitStatus:g,sort:Ni,unsafeCSS:f,onSelectionChange(y){const C=y[y.length-1],M=u.current.source.pathToItemId.get(C);M&&u.current.onSelectItem(M)}},e[10]=p,e[11]=u,e[12]=m,e[13]=g,e[14]=x):x=e[14];const{model:v}=qt(x);Gi(v,c),Hi(v,n,r),qi(v,a);let b;e[15]===Symbol.for("react.memo_cache_sentinel")?(b={height:"100%"},e[15]=b):b=e[15];let w;return e[16]!==v?(w=s.jsx(Yt,{model:v,style:b}),e[16]=v,e[17]=w):w=e[17],w}function Ni(){return 0}function _i(){const t=E.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=s.jsx("div",{className:"diff-loading-placeholder","aria-hidden":"true",children:ti.map(Bi)}),t[0]=e):e=t[0],e}function Bi(t,e){return s.jsxs("div",{className:"grid h-6 grid-cols-[16px_minmax(0,1fr)_44px] items-center gap-2 rounded-[5px] px-[7px]",children:[s.jsx("span",{className:"size-4 rounded-[5px] border border-[color-mix(in_lab,var(--cmux-diff-fg)_18%,transparent)]"}),s.jsx("span",{className:"h-[11px] rounded bg-[var(--cmux-diff-muted-bg)]",style:{width:t}}),s.jsx("span",{className:"h-[11px] justify-self-end rounded bg-[var(--cmux-diff-muted-bg)] opacity-70",style:{width:e%2===0?"34px":"24px"}})]},`${t}-${e}`)}function Ei(){const t=E.c(2);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=s.jsxs("div",{className:"mb-3 grid h-9 grid-cols-[72px_minmax(0,1fr)_96px] items-center gap-3 rounded-md bg-[color-mix(in_lab,var(--cmux-diff-fg)_5%,transparent)] px-3",children:[s.jsx("span",{className:"h-3 rounded bg-[var(--cmux-diff-muted-bg)]"}),s.jsx("span",{className:"h-3 w-2/5 rounded bg-[var(--cmux-diff-muted-bg)]"}),s.jsx("span",{className:"h-3 rounded bg-[var(--cmux-diff-muted-bg)] opacity-70"})]}),t[0]=e):e=t[0];let n;return t[1]===Symbol.for("react.memo_cache_sentinel")?(n=s.jsxs("div",{className:"diff-loading-placeholder mx-3.5 mt-3.5 border-t border-[var(--cmux-diff-border)] pt-3","aria-hidden":"true",children:[e,s.jsx("div",{className:"space-y-[13px] px-3 py-1",children:ni.map(Di)})]}),t[1]=n):n=t[1],n}function Di(t,e){return s.jsxs("div",{className:"grid grid-cols-[42px_minmax(0,1fr)] items-center gap-4",children:[s.jsx("span",{className:"h-px bg-[color-mix(in_lab,var(--cmux-diff-fg)_10%,transparent)]"}),s.jsx("span",{className:"h-3 rounded bg-[var(--cmux-diff-muted-bg)]",style:{width:t}})]},`${t}-${e}`)}function Ai(t){const e=E.c(16),{label:n,status:r}=t;if(!r.loading&&!r.pending&&!r.statusOnly&&!r.error)return null;const i=r.error?"true":"false",o=r.pending?"true":"false";let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a=s.jsx("span",{id:"status-icon","aria-hidden":"true"}),e[0]=a):a=e[0];let c;e[1]!==n||e[2]!==r.message?(c=r.message||n("loadingDiff"),e[1]=n,e[2]=r.message,e[3]=c):c=e[3];let l;e[4]!==c?(l=s.jsx("span",{id:"status-text",children:c}),e[4]=c,e[5]=l):l=e[5];let u;e[6]!==i||e[7]!==o||e[8]!==l?(u=s.jsxs("div",{id:"status","data-error":i,"data-pending":o,children:[a,l]}),e[6]=i,e[7]=o,e[8]=l,e[9]=u):u=e[9];let d;e[10]!==r.loading||e[11]!==r.pending?(d=r.loading||r.pending?s.jsx(Ei,{}):null,e[10]=r.loading,e[11]=r.pending,e[12]=d):d=e[12];let p;return e[13]!==u||e[14]!==d?(p=s.jsxs("div",{id:"loading-layer","aria-live":"polite",children:[u,d]}),e[13]=u,e[14]=d,e[15]=p):p=e[15],p}function Ie(t){const e=E.c(3),n=k.useRef(t);let r,i;return e[0]!==t?(r=()=>{n.current=t},i=[t],e[0]=t,e[1]=r,e[2]=i):(r=e[1],i=e[2]),k.useEffect(r,i),n}function zi(t,e){const n=E.c(5),r=Kt(),i=k.useRef(null);let o,a;n[0]!==e||n[1]!==t||n[2]!==r?(o=()=>{if(!r||$i(i.current,t))return;let c=!0;return i.current=t,r.setRenderOptions(t).then(()=>{c&&e.current?.getInstance()?.render(!0)}).catch(Oi),()=>{c=!1}},a=[e,t,r],n[0]=e,n[1]=t,n[2]=r,n[3]=o,n[4]=a):(o=n[3],a=n[4]),k.useEffect(o,a)}function Oi(t){return console.warn("cmux diff worker render options update failed",t)}function $i(t,e){return t?.lineDiffType===e.lineDiffType&&Vi(t?.langs,e.langs)&&t?.maxLineDiffLength===e.maxLineDiffLength&&t?.preferredHighlighter===e.preferredHighlighter&&Wi(t?.theme,e.theme)&&t?.tokenizeMaxLineLength===e.tokenizeMaxLineLength&&t?.useTokenTransformer===e.useTokenTransformer}function Vi(t,e){return t===e?!0:t==null||e==null||t.length!==e.length?!1:t.every((n,r)=>n===e[r])}function Wi(t,e){return t===e?!0:typeof t!="object"||t==null||typeof e!="object"||e==null?!1:t.dark===e.dark&&t.light===e.light}function Gi(t,e){const n=E.c(4),r=k.useRef(null);let i,o;n[0]!==t||n[1]!==e?(i=()=>{const a=r.current;r.current=e;const c=hr(a,e,e.paths);let l=c.kind==="append"?c.requiresFullGitStatus:!1;if(c.kind==="append"){if(c.addedPaths.length>0)try{t.batch(c.addedPaths.map(Ui)),l=!c.sourceFollowsPrevious}catch{const u=Ee(e.paths);t.resetPaths(e.paths,{preparedInput:u}),l=!0}}else{const u=Ee(e.paths);t.resetPaths(e.paths,{preparedInput:u}),l=!0}gr(t,e,l)},o=[t,e],n[0]=t,n[1]=e,n[2]=i,n[3]=o):(i=n[2],o=n[3]),k.useEffect(i,o)}function Ui(t){return{type:"add",path:t}}function Hi(t,e,n){const r=E.c(7);let i;r[0]!==e||r[1]!==t?(i=()=>{if(e){const a=t.isSearchOpen();if(t.openSearch(a?t.getSearchValue():""),a){const c=t.getFileTreeContainer();(c?.shadowRoot??c?.getRootNode())?.querySelector("[data-file-tree-search-input]")?.focus()}}else t.closeSearch()},r[0]=e,r[1]=t,r[2]=i):i=r[2];let o;r[3]!==e||r[4]!==n||r[5]!==t?(o=[e,n,t],r[3]=e,r[4]=n,r[5]=t,r[6]=o):o=r[6],k.useEffect(i,o)}function qi(t,e){const n=E.c(4);let r,i;n[0]!==t||n[1]!==e?(r=()=>{xr(t,e)},i=[t,e],n[0]=t,n[1]=e,n[2]=r,n[3]=i):(r=n[2],i=n[3]),k.useEffect(r,i)}function Ki(t,e,n,r,i,o,a,c,l,u){k.useEffect(()=>{if(to(t.payload,e,l))return;const d=t.payload??{},p=Oe(d.appearance);for(const f of[p.themes.light,p.themes.dark])f.name&&!ht.has(f.name)&&(Wt(f.name,()=>Promise.resolve(jr(f))),ht.add(f.name));let m=!1;const h=new AbortController,g=()=>{c()};return window.addEventListener("pagehide",g),(async()=>{try{let f=d.patchURL;const x=Ye(d,e,l);if(x){const b=await e.request({method:"sessionOpen",params:x});if(b.type!=="sessionOpened")throw new ue("invalidResponse","Diff transport did not open a session");const w={sessionId:b.value.sessionId,capabilityToken:String(d.capabilityToken??"")};if(m){await Et(e,w);return}a.current=w,u(b.value.source),f=b.value.patch.id}if(m||!f)return;o(f);const v=[];r({type:"set-status",status:se(n("parsingDiff"),{loading:!0})}),await Rn({getCollapsed:()=>i.current.options.collapsed,initialFileTreeRowCount:Dt(),label:n,signal:h.signal,onBatch:b=>{m||(v.push(...b),r({type:"append-items",items:b}))},onComplete:b=>{if(m)return;r({type:"set-metrics",metrics:b});const w=v;if(w.length===0){const M=typeof d.emptyMessage=="string"?d.emptyMessage:n("noFileDiffs");r({type:"set-status",status:se(M,{error:!1,loading:!1,statusOnly:!0})});return}const y=Array.from(new Set([p.theme?.light,p.theme?.dark].filter(Boolean))),C=Array.from(new Set(w.flatMap(M=>{const F=M.fileDiff??{};return Pt(pe(F,""),F.lang,F,ze)})));Ht({themes:y,langs:C.length>0?C:["text"]}).catch(M=>console.warn("cmux diff highlighter preload failed",M))},onMetrics:b=>{m||r({type:"set-metrics",metrics:b})},onRename:b=>{m||r({type:"rename-item",oldId:b.oldId,newId:b.newId})},onTreeSource:b=>{m||r({type:"set-tree-source",source:b})},parsePatchFiles:Ut,patchURL:f,processFile:Gt})}catch(f){if(m)return;const x=f instanceof ue&&f.code==="emptyDiff";x||console.error("cmux diff viewer render failed",String(f?.stack??f?.message??f));const v=typeof d.emptyMessage=="string"?d.emptyMessage:n("noFileDiffs");r({type:"set-status",status:se(x?v:n("renderFailed"),{error:!x,loading:!1,statusOnly:!0})})}})(),()=>{m=!0,h.abort(),window.removeEventListener("pagehide",g),c()}},[a,c,t,r,n,i,o,u,l,e])}function Et(t,e){return t.request({method:"sessionClose",params:e}).then(()=>{},()=>{})}function Ye(t,e,n){if(!e||typeof t?.capabilityToken!="string")return null;const r=n??t.sessionSource;return Me(r)?{source:r,capabilityToken:t.capabilityToken}:null}function Me(t){if(!t||typeof t!="object"||typeof t.kind!="string")return!1;const e=t;return e.kind==="patch"?typeof e.path=="string":e.kind==="unstaged"||e.kind==="staged"?typeof e.repoRoot=="string":e.kind==="branch"&&typeof e.repoRoot=="string"&&(e.baseRef==null||typeof e.baseRef=="string")}function Yi(t){return t?.kind??null}function Pe(t){return t&&"repoRoot"in t?t.repoRoot:null}function Qi(t,e){if(t.kind==="patch")return t;const n=Pe(e);return n?t.kind==="branch"?t.repoRoot===n?{...t,repoRoot:n}:{kind:"branch",repoRoot:n}:{...t,repoRoot:n}:t}function Xi(t,e){const n=Pe(t);return!n||!e||e.kind==="patch"?t:e.kind==="branch"?e.repoRoot===n?{...e,repoRoot:n}:{kind:"branch",repoRoot:n}:{...e,repoRoot:n}}function Ji(t){const e=t.fileDiff;if(e==null)return;const n=Mt(pe(e,""),e.lang,ze);e.lang=n}function Zi(t){const e=t.fileDiff;return e==null?[]:Pt(pe(e,""),e.lang,e,ze)}function eo(t,e){const n=new Set(t);for(const r of e)r.trim().length>0&&n.add(r);return Array.from(n)}function to(t,e=null,n=null){return t?.pendingReplacement===!0?Ye(t,e,n)==null:typeof t?.statusMessage=="string"&&t.statusMessage.length>0}function no(t,e,n,r){const i=E.c(6),o=k.useRef(!1);let a,c;i[0]!==n||i[1]!==e||i[2]!==t||i[3]!==r?(a=()=>{if(!o.current){if(o.current=!0,t.pendingReplacement===!0){if(n({type:"set-status",status:se(t.statusMessage??e("loadingDiff"),{loading:!0,pending:!0})}),Ye(t,r)||window.location.protocol==="cmux-diff-viewer:")return;fetch("/__cmux_diff_viewer_wait"+window.location.pathname,{cache:"no-store"}).then(ro).catch(l=>{document.documentElement.dataset.cmuxDiffWait="failed",n({type:"set-status",status:se(e("renderFailed"),{error:!0,loading:!1,statusOnly:!0})}),console.warn("cmux diff viewer deferred load failed",l)});return}typeof t.statusMessage=="string"&&t.statusMessage.length>0&&n({type:"set-status",status:se(t.statusMessage,{error:t.statusIsError===!0,loading:!1,statusOnly:!0})})}},c=[n,e,t,r],i[0]=n,i[1]=e,i[2]=t,i[3]=r,i[4]=a,i[5]=c):(a=i[4],c=i[5]),k.useEffect(a,c)}async function ro(t){if(!t.ok)throw new Error("replacement failed");(await t.text()).includes('data-cmux-diff-pending="true"')||window.location.reload()}function io(t){const e=E.c(10);let n;e[0]!==t.filesVisible||e[1]!==t.items||e[2]!==t.metrics||e[3]!==t.options.diffIndicators||e[4]!==t.options.layout||e[5]!==t.options.wordWrap||e[6]!==t.status?(n=()=>{document.body.dataset.filesHidden=t.filesVisible?"false":"true",document.body.dataset.loading=t.status.loading?"true":"false",document.documentElement.dataset.layout=t.options.layout,document.documentElement.dataset.wordWrap=String(t.options.wordWrap),document.documentElement.dataset.diffIndicators=t.options.diffIndicators,t.metrics&&(document.body.dataset.streamFileCount=String(t.metrics.fileCount??t.items.length),document.body.dataset.streamRenderableFileCount=String(t.metrics.renderableFileCount??t.items.length),document.body.dataset.streamFlushCount=String(t.metrics.flushCount??0),document.body.dataset.streamMaxBatchSize=String(t.metrics.maxBatchSize??0),document.body.dataset.streamTreeRefreshCount=String(t.metrics.treeRefreshCount??0),Number.isFinite(t.metrics.completedAt)&&t.metrics.completedAt>0&&(document.body.dataset.streamElapsedMs=String(Math.round(t.metrics.completedAt-t.metrics.startedAt)))),Ce(t.status)},e[0]=t.filesVisible,e[1]=t.items,e[2]=t.metrics,e[3]=t.options.diffIndicators,e[4]=t.options.layout,e[5]=t.options.wordWrap,e[6]=t.status,e[7]=n):n=e[7];let r;e[8]!==t?(r=[t],e[8]=t,e[9]=r):r=e[9],k.useEffect(n,r)}function oo(t,e,n,r){const i=E.c(6);let o,a;i[0]!==e||i[1]!==r||i[2]!==n||i[3]!==t?(o=()=>{window.__cmuxPerformDiffViewerNavigationAction=l=>{const u=t.current;if(u&&CmuxViewerNavigation.performAction(l,u))return!0;const d=r.current;switch(l){case"diffViewerOpenFileSearch":return e({type:"request-file-search"}),!0;case"diffViewerNextFile":return u&&CmuxViewerNavigation.resetSmoothTarget(u),n(1),!0;case"diffViewerPreviousFile":return u&&CmuxViewerNavigation.resetSmoothTarget(u),n(-1),!0;case"diffViewerOpenFind":return e({type:"request-find"}),!0;case"diffViewerFindNext":return d.open?(d.controller.goToNext(),!0):!1;case"diffViewerFindPrevious":return d.open?(d.controller.goToPrevious(),!0):!1;case"diffViewerCloseFind":return d.open?(d.controller.closeFind(),!0):!1}return!1},document.documentElement.dataset.cmuxViewerNavigationReady="true",document.dispatchEvent(new window.Event("cmux-diff-viewer-navigation-readiness-change"));const c=CmuxViewerNavigation.installManualInputReset({target:document,getScroller:()=>t.current});return()=>{delete window.__cmuxPerformDiffViewerNavigationAction,delete document.documentElement.dataset.cmuxViewerNavigationReady,document.dispatchEvent(new window.Event("cmux-diff-viewer-navigation-readiness-change")),c()}},a=[e,r,n,t],i[0]=e,i[1]=r,i[2]=n,i[3]=t,i[4]=o,i[5]=a):(o=i[4],a=i[5]),k.useEffect(o,a)}function ao(t,e){const n=E.c(4);let r,i;n[0]!==e||n[1]!==t?(r=()=>{if(!t)return;const o=c=>{c.target instanceof Element&&c.target.closest("#toolbar")||e({type:"set-options-open",open:!1})},a=c=>{c.key==="Escape"&&e({type:"set-options-open",open:!1})};return document.addEventListener("click",o),document.addEventListener("keydown",a),()=>{document.removeEventListener("click",o),document.removeEventListener("keydown",a)}},i=[e,t],n[0]=e,n[1]=t,n[2]=r,n[3]=i):(r=n[2],i=n[3]),k.useEffect(r,i)}function Qe(t,e=document){t({type:"set-file-search-open",open:!1}),(e.getElementById("jump-search-button")??e.getElementById("jump-select"))?.focus()}function so(t,e){return t==="Escape"&&e}function lo(t,e){const n=E.c(4);let r,i;n[0]!==e||n[1]!==t?(r=()=>{if(!t)return;const o=a=>{so(a.key,window.matchMedia("(max-width: 520px)").matches)&&(a.preventDefault(),Qe(e))};return document.addEventListener("keydown",o),()=>document.removeEventListener("keydown",o)},i=[e,t],n[0]=e,n[1]=t,n[2]=r,n[3]=i):(r=n[2],i=n[3]),k.useEffect(r,i)}function co(t){const e=k.useRef(void 0);return e.current===void 0&&(e.current=Fr(t)),k.useEffect(()=>{const n=e.current;return()=>n?.close()},[]),e.current}function fo(t,e){return e.some(n=>n.id===t)?t:e[0]?.id??""}function uo(t,e,n){if(e.length===0)return"";const r=e.findIndex(o=>o.id===t);if(r<0)return n>0?e[0].id:e[e.length-1].id;const i=r+n;return i>=0&&i0?0:-1;for(;r<=i;){const a=Math.floor((r+i)/2),c=n(t[a].id);c!=null&&c<=e+1?(o=a,r=a+1):i=a-1}return o>=0?t[o].id:""}function Dt(){const t=window.visualViewport?.height??window.innerHeight;return!Number.isFinite(t)||t<=0?25:Math.min(96,Math.max(25,Math.ceil(t/24)))}const mo=`@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--font-weight-medium:500;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--blur-sm:8px;--blur-lg:16px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\\@container{container-type:inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\\/2{top:50%}.right-2\\.5{right:calc(var(--spacing) * 2.5)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-\\[calc\\(100\\%\\+6px\\)\\]{bottom:calc(100% + 6px)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing) * 0)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-px{margin:1px}.mx-3\\.5{margin-inline:calc(var(--spacing) * 3.5)}.ms-1{margin-inline-start:calc(var(--spacing) * 1)}.mt-1\\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-3\\.5{margin-top:calc(var(--spacing) * 3.5)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-\\[3px\\]{margin-right:3px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-px{margin-bottom:1px}.ml-1\\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.size-\\[22px\\]{width:22px;height:22px}.\\!h-auto{height:auto!important}.h-0{height:calc(var(--spacing) * 0)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-\\[1lh\\]{height:1lh}.h-\\[1px\\]{height:1px}.h-\\[11px\\]{height:11px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\\[25dvh\\]{max-height:25dvh}.max-h-\\[140px\\]{max-height:140px}.max-h-none{max-height:none}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\\[1\\.25rem\\]{min-height:1.25rem}.w-2\\/5{width:40%}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-7{width:calc(var(--spacing) * 7)}.w-52{width:calc(var(--spacing) * 52)}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-16{max-width:calc(var(--spacing) * 16)}.max-w-20{max-width:calc(var(--spacing) * 20)}.max-w-40{max-width:calc(var(--spacing) * 40)}.max-w-\\[60\\%\\]{max-width:60%}.max-w-\\[77\\%\\]{max-width:77%}.max-w-\\[320px\\]{max-width:320px}.max-w-full{max-width:100%}.max-w-none{max-width:none}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-56{min-width:calc(var(--spacing) * 56)}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-\\[16px_minmax\\(0\\,1fr\\)_44px\\]{grid-template-columns:16px minmax(0,1fr) 44px}.grid-cols-\\[42px_minmax\\(0\\,1fr\\)\\]{grid-template-columns:42px minmax(0,1fr)}.grid-cols-\\[72px_minmax\\(0\\,1fr\\)_96px\\]{grid-template-columns:72px minmax(0,1fr) 96px}.grid-cols-\\[auto_minmax\\(0\\,1fr\\)_auto\\]{grid-template-columns:auto minmax(0,1fr) auto}.grid-cols-\\[minmax\\(0\\,auto\\)_auto_minmax\\(0\\,1fr\\)\\]{grid-template-columns:minmax(0,auto) auto minmax(0,1fr)}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-\\[5px\\]{gap:5px}:where(.space-y-\\[13px\\]>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(13px * var(--tw-space-y-reverse));margin-block-end:calc(13px * calc(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\\[5px\\]{border-radius:5px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-\\[color-mix\\(in_lab\\,var\\(--cmux-diff-fg\\)_18\\%\\,transparent\\)\\]{border-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.border-\\[color-mix\\(in_lab\\,var\\(--cmux-diff-fg\\)_18\\%\\,transparent\\)\\]{border-color:color-mix(in lab,var(--cmux-diff-fg) 18%,transparent)}}.border-\\[color\\:var\\(--gray-0\\)\\]{border-color:var(--gray-0)}.border-\\[var\\(--cmux-diff-border\\)\\]{border-color:var(--cmux-diff-border)}.border-transparent{border-color:#0000}.bg-\\[color-mix\\(in_lab\\,var\\(--cmux-diff-fg\\)_5\\%\\,transparent\\)\\]{background-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.bg-\\[color-mix\\(in_lab\\,var\\(--cmux-diff-fg\\)_5\\%\\,transparent\\)\\]{background-color:color-mix(in lab,var(--cmux-diff-fg) 5%,transparent)}}.bg-\\[color-mix\\(in_lab\\,var\\(--cmux-diff-fg\\)_10\\%\\,transparent\\)\\]{background-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.bg-\\[color-mix\\(in_lab\\,var\\(--cmux-diff-fg\\)_10\\%\\,transparent\\)\\]{background-color:color-mix(in lab,var(--cmux-diff-fg) 10%,transparent)}}.bg-\\[color\\:var\\(--gray-0\\)\\]{background-color:var(--gray-0)}.bg-\\[var\\(--cmux-diff-muted-bg\\)\\]{background-color:var(--cmux-diff-muted-bg)}.\\[mask-image\\:linear-gradient\\(to_right\\,black_calc\\(100\\%_-_0\\.25rem\\)\\,transparent\\)\\]{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - .25rem),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - .25rem),#0000)}.\\[mask-repeat\\:no-repeat\\]{-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.object-cover{object-fit:cover}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-2{padding:calc(var(--spacing) * 2)}.\\!px-0{padding-inline:calc(var(--spacing) * 0)!important}.px-0\\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-\\[7px\\]{padding-inline:7px}.px-\\[var\\(--padding-row-x\\)\\]{padding-inline:var(--padding-row-x)}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-\\[var\\(--padding-row-y\\)\\]{padding-block:var(--padding-row-y)}.pt-0\\.5{padding-top:calc(var(--spacing) * .5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pr-0{padding-right:calc(var(--spacing) * 0)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-left{text-align:left}.align-bottom{vertical-align:bottom}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\\!leading-none{--tw-leading:1!important;line-height:1!important}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-\\[18px\\]{--tw-leading:18px;line-height:18px}.leading-\\[calc\\(var\\(--codex-chat-font-size\\)\\+8px\\)\\]{--tw-leading:calc(var(--codex-chat-font-size) + 8px);line-height:calc(var(--codex-chat-font-size) + 8px)}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.break-words{overflow-wrap:break-word}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.text-current{color:currentColor}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-\\[0\\.5px\\]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(.5px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}.\\[--edge-fade-distance\\:2rem\\]{--edge-fade-distance:2rem}.group-focus-within\\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media(hover:hover){.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\\:bg-transparent:hover{background-color:#0000}}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-40:disabled{opacity:.4}.data-\\[state\\=checked\\]\\:translate-x-\\[14px\\][data-state=checked]{--tw-translate-x:14px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\\[state\\=unchecked\\]\\:translate-x-\\[2px\\][data-state=unchecked]{--tw-translate-x:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}@container (min-width:500px){.\\@\\[500px\\]\\:inline{display:inline}}.\\[\\&_\\.ProseMirror\\]\\:\\!h-5 .ProseMirror{height:calc(var(--spacing) * 5)!important}.\\[\\&_\\.ProseMirror\\]\\:h-auto .ProseMirror{height:auto}.\\[\\&_\\.ProseMirror\\]\\:\\!min-h-5 .ProseMirror{min-height:calc(var(--spacing) * 5)!important}.\\[\\&_\\.ProseMirror\\]\\:min-h-\\[2rem\\] .ProseMirror{min-height:2rem}.\\[\\&_\\.ProseMirror\\]\\:min-w-0 .ProseMirror{min-width:calc(var(--spacing) * 0)}.\\[\\&_\\.ProseMirror\\]\\:flex-1 .ProseMirror{flex:1}.\\[\\&_\\.ProseMirror\\]\\:resize-none .ProseMirror{resize:none}.\\[\\&_\\.ProseMirror\\]\\:overflow-hidden .ProseMirror{overflow:hidden}.\\[\\&_\\.ProseMirror\\]\\:leading-5 .ProseMirror{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.\\[\\&_\\.ProseMirror\\]\\:whitespace-nowrap .ProseMirror{white-space:nowrap}.\\[\\&_\\.ProseMirror\\]\\:focus-visible\\:outline-none .ProseMirror:focus-visible{--tw-outline-style:none;outline-style:none}.\\[\\&_\\.ProseMirror_p\\]\\:m-0 .ProseMirror p{margin:calc(var(--spacing) * 0)}.\\[\\&_\\.ProseMirror_p\\]\\:overflow-hidden .ProseMirror p{overflow:hidden}.\\[\\&_\\.ProseMirror_p\\]\\:text-ellipsis .ProseMirror p{text-overflow:ellipsis}.\\[\\&_\\.ProseMirror_p\\]\\:whitespace-nowrap .ProseMirror p{white-space:nowrap}.\\[\\&_\\.contain-inline-size\\]\\:\\[contain\\:initial\\] .contain-inline-size{contain:initial}.\\[\\&\\>\\*\\:last-child\\]\\:mb-0>:last-child{margin-bottom:calc(var(--spacing) * 0)}.\\[\\&\\>ol\\:first-child\\]\\:mt-0>ol:first-child,.\\[\\&\\>ul\\:first-child\\]\\:mt-0>ul:first-child{margin-top:calc(var(--spacing) * 0)}}:root{color-scheme:light dark;--cmux-diff-bg-light:#fff;--cmux-diff-bg-dark:#000;--cmux-diff-fg-light:#000;--cmux-diff-fg-dark:#fff;--cmux-diff-selection-bg-light:#abd8ff;--cmux-diff-selection-bg-dark:#3f638b;--cmux-diff-ui-font-family:system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif;--cmux-diff-ui-font-size:12px;--cmux-diff-ui-line-height:16px;--cmux-diff-code-font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--cmux-diff-font-size:10px;--cmux-diff-line-height:20px;--cmux-diff-bg:var(--cmux-diff-bg-light);--cmux-diff-fg:var(--cmux-diff-fg-light);--cmux-diff-border:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){:root{--cmux-diff-border:color-mix(in lab, var(--cmux-diff-fg) 12%, transparent)}}:root{--cmux-diff-toolbar-bg:transparent;--cmux-diff-sidebar-bg:transparent;--cmux-diff-muted-bg:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){:root{--cmux-diff-muted-bg:color-mix(in lab, var(--cmux-diff-fg) 8%, transparent)}}:root{--cmux-diff-hover-bg:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){:root{--cmux-diff-hover-bg:color-mix(in lab, var(--cmux-diff-fg) 10%, transparent)}}:root{--cmux-diff-accent:light-dark(#0a84ff,#7ab7ff);--cmux-diff-text-muted:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){:root{--cmux-diff-text-muted:color-mix(in lab, var(--cmux-diff-fg) 72%, var(--cmux-diff-bg))}}:root{--cmux-diff-text-subtle:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){:root{--cmux-diff-text-subtle:color-mix(in lab, var(--cmux-diff-fg) 84%, var(--cmux-diff-bg))}}:root{--cmux-diff-surface-fill-light:transparent;--cmux-diff-surface-fill-dark:transparent;--cmux-diff-surface-fill:var(--cmux-diff-surface-fill-light);background:var(--cmux-diff-surface-fill);color:var(--cmux-diff-fg)}@media(prefers-color-scheme:dark){:root{--cmux-diff-bg:var(--cmux-diff-bg-dark);--cmux-diff-fg:var(--cmux-diff-fg-dark);--cmux-diff-surface-fill:var(--cmux-diff-surface-fill-dark)}}*{box-sizing:border-box}html,body{background:var(--cmux-diff-surface-fill);height:100%;overflow:hidden}body{background:var(--cmux-diff-surface-fill);height:100vh;min-height:0;color:var(--cmux-diff-fg);font-family:var(--cmux-diff-ui-font-family);font-size:var(--cmux-diff-ui-font-size);line-height:var(--cmux-diff-ui-line-height);flex-direction:column;margin:0;display:flex;overflow:hidden}#root{background:0 0;height:100%;min-height:0}#app{overscroll-behavior:contain;contain:strict;height:100vh;min-height:0;color:inherit;background:0 0;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);display:grid;overflow:hidden}.copy-fallback-textarea{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed;top:0;left:-9999px}#toolbar{border-bottom:1px solid var(--cmux-diff-border);background:var(--cmux-diff-toolbar-bg);min-height:32px;color:var(--cmux-diff-fg);flex:none;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(0,auto);align-items:center;gap:7px;padding:3px 4px 3px 8px;display:grid;position:relative}@supports (color:color-mix(in lab,red,red)){#toolbar{color:color-mix(in lab,var(--cmux-diff-fg) 76%,var(--cmux-diff-bg))}}#toolbar{z-index:50}@media(min-width:521px){body[data-files-hidden=false] #toolbar{grid-template-columns:minmax(0,1fr) minmax(0,auto)}body[data-files-hidden=false] .toolbar-middle{display:none}}.toolbar-left,.toolbar-middle,.toolbar-actions{align-items:center;min-width:0;display:flex;overflow:clip visible}.toolbar-left,.toolbar-middle{gap:6px}.toolbar-left{justify-self:stretch;container:toolbar-left/inline-size}.toolbar-middle{justify-content:center}.toolbar-actions{justify-self:end;gap:4px}#source-select,#repo-select,#base-select,#jump-select,#jump-search-button{appearance:none;white-space:nowrap;text-overflow:ellipsis;background:linear-gradient(45deg,transparent 50%,currentcolor 50%) right 11px center / 4px 4px no-repeat,linear-gradient(135deg,currentcolor 50%,transparent 50%) right 7px center / 4px 4px no-repeat,var(--cmux-diff-fg);border:1px solid #0000;border-radius:6px;min-width:0;max-width:100%;height:24px;padding:0 24px 0 9px;overflow:hidden}@supports (color:color-mix(in lab,red,red)){#source-select,#repo-select,#base-select,#jump-select,#jump-search-button{background:linear-gradient(45deg,transparent 50%,currentcolor 50%) right 11px center / 4px 4px no-repeat,linear-gradient(135deg,currentcolor 50%,transparent 50%) right 7px center / 4px 4px no-repeat,color-mix(in lab,var(--cmux-diff-fg) 7%,transparent)}}#source-select,#repo-select,#base-select,#jump-select,#jump-search-button{color:inherit;font:inherit}#source-select{field-sizing:content;flex:0 3 auto;min-width:58px}#source-select:hover,#repo-select:hover,#base-select:hover,#jump-select:hover{border-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){#source-select:hover,#repo-select:hover,#base-select:hover,#jump-select:hover{border-color:color-mix(in lab,var(--cmux-diff-fg) 24%,transparent)}}#source-select:hover,#repo-select:hover,#base-select:hover,#jump-select:hover{background-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){#source-select:hover,#repo-select:hover,#base-select:hover,#jump-select:hover{background-color:color-mix(in lab,var(--cmux-diff-fg) 10%,transparent)}}#jump-search-button:hover{border-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){#jump-search-button:hover{border-color:color-mix(in lab,var(--cmux-diff-fg) 24%,transparent)}}#jump-search-button:hover{background-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){#jump-search-button:hover{background-color:color-mix(in lab,var(--cmux-diff-fg) 10%,transparent)}}#source-select[hidden],#repo-select[hidden],#base-select[hidden],#jump-select[hidden]{display:none}#jump-select{field-sizing:content;min-width:64px}#jump-search-button{cursor:pointer;background-image:none;min-width:64px;padding-right:9px}#repo-select{field-sizing:content;flex:0 5 auto;min-width:56px}#base-select{flex:0 120px}#source-select:focus,#repo-select:focus,#base-select:focus,#jump-select:focus,#jump-search-button:focus-visible,.base-picker-button:focus-visible,.base-picker-input:focus-visible,.toolbar-icon:focus-visible,.menu-item:focus-visible,.file-entry:focus-visible{outline:2px solid var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){#source-select:focus,#repo-select:focus,#base-select:focus,#jump-select:focus,#jump-search-button:focus-visible,.base-picker-button:focus-visible,.base-picker-input:focus-visible,.toolbar-icon:focus-visible,.menu-item:focus-visible,.file-entry:focus-visible{outline:2px solid color-mix(in lab,var(--cmux-diff-fg) 36%,transparent)}}#source-select:focus,#repo-select:focus,#base-select:focus,#jump-select:focus,#jump-search-button:focus-visible,.base-picker-button:focus-visible,.base-picker-input:focus-visible,.toolbar-icon:focus-visible,.menu-item:focus-visible,.file-entry:focus-visible{outline-offset:1px}#base-picker{flex:0 auto;align-items:center;min-width:150px;display:flex;position:relative}.base-picker-button{border:1px solid var(--cmux-diff-fg);align-items:center;gap:5px;min-width:0;max-width:100%;height:24px;padding:0 7px 0 9px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.base-picker-button{border:1px solid color-mix(in lab,var(--cmux-diff-fg) 18%,transparent)}}.base-picker-button{background:var(--cmux-diff-fg);border-radius:6px}@supports (color:color-mix(in lab,red,red)){.base-picker-button{background:color-mix(in lab,var(--cmux-diff-fg) 11%,transparent)}}.base-picker-button{color:var(--cmux-diff-fg);font:inherit;cursor:pointer;font-weight:600}.base-picker-button:hover:not(:disabled),.base-picker-button[aria-expanded=true]{border-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.base-picker-button:hover:not(:disabled),.base-picker-button[aria-expanded=true]{border-color:color-mix(in lab,var(--cmux-diff-fg) 30%,transparent)}}.base-picker-button:hover:not(:disabled),.base-picker-button[aria-expanded=true]{background:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.base-picker-button:hover:not(:disabled),.base-picker-button[aria-expanded=true]{background:color-mix(in lab,var(--cmux-diff-fg) 15%,transparent)}}.base-picker-button:disabled{cursor:default;opacity:.85}.base-picker-button svg{stroke:currentColor;fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;opacity:.7;flex:none;width:12px;height:12px}.base-picker-label{align-items:center;gap:5px;min-width:0;display:inline-flex}.base-picker-prefix{color:var(--cmux-diff-fg);flex:none;font-weight:500}@supports (color:color-mix(in lab,red,red)){.base-picker-prefix{color:color-mix(in lab,var(--cmux-diff-fg) 60%,var(--cmux-diff-bg))}}.base-picker-head{text-overflow:ellipsis;white-space:nowrap;min-width:4ch;color:var(--cmux-diff-fg);flex:0 8 auto;font-weight:500;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.base-picker-head{color:color-mix(in lab,var(--cmux-diff-fg) 62%,var(--cmux-diff-bg))}}.base-picker-ref{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:6ch;overflow:hidden}.base-picker-meta{flex:0 1000 auto;align-items:center;gap:5px;min-width:0;display:inline-flex;overflow:hidden}.base-picker-reason{color:var(--cmux-diff-fg);flex:none;font-weight:500}@supports (color:color-mix(in lab,red,red)){.base-picker-reason{color:color-mix(in lab,var(--cmux-diff-fg) 64%,var(--cmux-diff-bg))}}.base-picker-reason{white-space:nowrap}.base-picker-reason-low{opacity:.6;font-style:italic}.base-picker-aheadbehind{font-variant-numeric:tabular-nums;color:var(--cmux-diff-fg);flex:none;font-weight:500}@supports (color:color-mix(in lab,red,red)){.base-picker-aheadbehind{color:color-mix(in lab,var(--cmux-diff-fg) 58%,var(--cmux-diff-bg))}}.base-picker-aheadbehind{white-space:nowrap}@container toolbar-left (max-width:380px){.base-picker-aheadbehind{display:none}}@container toolbar-left (max-width:312px){.base-picker-reason{display:none}}.base-picker-text{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.base-picker-spinner{border:1.6px solid var(--cmux-diff-fg);border-radius:50%;flex:none;width:12px;height:12px}@supports (color:color-mix(in lab,red,red)){.base-picker-spinner{border:1.6px solid color-mix(in lab,var(--cmux-diff-fg) 26%,transparent)}}.base-picker-spinner{border-top-color:var(--cmux-diff-fg);animation:.7s linear infinite base-picker-spin}@keyframes base-picker-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.base-picker-spinner{animation-duration:1.6s}}.base-picker-popover{border:1px solid var(--cmux-diff-fg);flex-direction:column;width:320px;max-width:min(86vw,360px);display:flex;position:fixed}@supports (color:color-mix(in lab,red,red)){.base-picker-popover{border:1px solid color-mix(in lab,var(--cmux-diff-fg) 13%,transparent)}}.base-picker-popover{background:var(--cmux-diff-bg);z-index:120;border-radius:8px;overflow:hidden;box-shadow:0 16px 34px lab(0% none none/.28)}.base-picker-search{border-bottom:1px solid var(--cmux-diff-fg);align-items:center;gap:6px;padding:7px 9px;display:flex}@supports (color:color-mix(in lab,red,red)){.base-picker-search{border-bottom:1px solid color-mix(in lab,var(--cmux-diff-fg) 11%,transparent)}}.base-picker-search svg{stroke:currentColor;fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;opacity:.55;flex:none;width:13px;height:13px}.base-picker-input{min-width:0;color:var(--cmux-diff-fg);font:inherit;background:0 0;border:0;outline:none;flex:auto}.base-picker-list{flex:auto;min-height:0;padding:4px;overflow-y:auto}.base-picker-status{color:var(--cmux-diff-fg);padding:12px 9px}@supports (color:color-mix(in lab,red,red)){.base-picker-status{color:color-mix(in lab,var(--cmux-diff-fg) 60%,var(--cmux-diff-bg))}}.base-picker-status{text-align:center}.base-picker-status-error{color:#ff5f56}@supports (color:color-mix(in lab,red,red)){.base-picker-status-error{color:color-mix(in lab,#ff5f56 70%,var(--cmux-diff-fg))}}.base-picker-group-header{letter-spacing:.06em;text-transform:uppercase;color:var(--cmux-diff-fg);padding:8px 8px 3px;font-size:10px;font-weight:600}@supports (color:color-mix(in lab,red,red)){.base-picker-group-header{color:color-mix(in lab,var(--cmux-diff-fg) 52%,var(--cmux-diff-bg))}}.base-picker-more{color:var(--cmux-diff-fg);padding:5px 8px 7px;font-size:11px}@supports (color:color-mix(in lab,red,red)){.base-picker-more{color:color-mix(in lab,var(--cmux-diff-fg) 48%,var(--cmux-diff-bg))}}.base-picker-more{cursor:default;-webkit-user-select:none;user-select:none}.base-picker-row{cursor:pointer;border-radius:6px;align-items:center;gap:8px;min-height:28px;padding:0 8px;display:flex}.base-picker-row-selected{background:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.base-picker-row-selected{background:color-mix(in lab,var(--cmux-diff-fg) 12%,transparent)}}.base-picker-row-primary{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--cmux-diff-fg);flex:auto;overflow:hidden}.base-picker-row-primary strong{font-weight:700}.base-picker-row-secondary{text-overflow:ellipsis;white-space:nowrap;text-align:right;min-width:0;max-width:55%;color:var(--cmux-diff-fg);flex:0 auto;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.base-picker-row-secondary{color:color-mix(in lab,var(--cmux-diff-fg) 55%,var(--cmux-diff-bg))}}.base-picker-pill{text-transform:uppercase;letter-spacing:.04em;color:var(--cmux-diff-accent);background:var(--cmux-diff-accent);border-radius:999px;flex:none;padding:1px 6px;font-size:10px;font-weight:600}@supports (color:color-mix(in lab,red,red)){.base-picker-pill{background:color-mix(in lab,var(--cmux-diff-accent) 16%,transparent)}}@media(max-width:760px){#toolbar{grid-template-columns:minmax(0,1fr) minmax(0,auto);grid-template-areas:"source actions""jump actions"}.toolbar-left{grid-area:source}.toolbar-middle{grid-area:jump;justify-content:stretch}.toolbar-actions{grid-area:actions}}.toolbar-icon{width:20px;height:20px;color:var(--cmux-diff-fg);background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.toolbar-icon{color:color-mix(in lab,var(--cmux-diff-fg) 60%,var(--cmux-diff-bg))}}.toolbar-icon{cursor:pointer;padding:0}.toolbar-icon:hover,.toolbar-icon[aria-expanded=true]{border-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.toolbar-icon:hover,.toolbar-icon[aria-expanded=true]{border-color:color-mix(in lab,var(--cmux-diff-fg) 14%,transparent)}}.toolbar-icon:hover,.toolbar-icon[aria-expanded=true]{background:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.toolbar-icon:hover,.toolbar-icon[aria-expanded=true]{background:color-mix(in lab,var(--cmux-diff-fg) 9%,transparent)}}.toolbar-icon:hover,.toolbar-icon[aria-expanded=true],.toolbar-icon[aria-pressed=true]{color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.toolbar-icon[aria-pressed=true]{color:color-mix(in lab,var(--cmux-diff-fg) 78%,var(--cmux-diff-bg))}}.toolbar-icon[hidden]{display:none}.toolbar-icon svg,.menu-item svg{fill:none;stroke:currentColor;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px;display:block}#layout-toggle svg [data-diff-deletion],#layout-toggle svg [data-diff-addition]{stroke:none}#layout-toggle svg [data-diff-deletion]{fill:light-dark(var(--cmux-diff-deletion-fg-light),var(--cmux-diff-deletion-fg-dark))}#layout-toggle svg [data-diff-addition]{fill:light-dark(var(--cmux-diff-addition-fg-light),var(--cmux-diff-addition-fg-dark))}.toolbar-icon svg [data-precision-dot],.menu-item svg [data-precision-dot]{stroke-width:2px}#options-menu{border:1px solid var(--cmux-diff-fg);min-width:246px;padding:8px;position:absolute;top:calc(100% + 7px);right:10px}@supports (color:color-mix(in lab,red,red)){#options-menu{border:1px solid color-mix(in lab,var(--cmux-diff-fg) 13%,transparent)}}#options-menu{background:var(--cmux-diff-bg);z-index:100;border-radius:8px;box-shadow:0 16px 34px lab(0% none none/.28)}#options-menu[hidden]{display:none}.menu-separator{background:var(--cmux-diff-fg);height:1px;margin:7px 6px}@supports (color:color-mix(in lab,red,red)){.menu-separator{background:color-mix(in lab,var(--cmux-diff-fg) 12%,transparent)}}.menu-item{width:100%;min-height:31px;color:var(--cmux-diff-fg);background:0 0;border:0;border-radius:6px;grid-template-columns:22px minmax(0,1fr) 18px;align-items:center;gap:10px;display:grid}@supports (color:color-mix(in lab,red,red)){.menu-item{color:color-mix(in lab,var(--cmux-diff-fg) 86%,var(--cmux-diff-bg))}}.menu-item{font:inherit;text-align:left;padding:0 7px}.menu-item:hover:not(:disabled){background:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.menu-item:hover:not(:disabled){background:color-mix(in lab,var(--cmux-diff-fg) 10%,transparent)}}.menu-item:hover:not(:disabled){color:var(--cmux-diff-fg)}.menu-segment{cursor:default}.menu-segment:hover{background:0 0}.menu-segment-controls{background:0 0;border-radius:7px;justify-self:end;align-items:center;gap:2px;padding:2px;display:inline-flex}.segment-button{width:27px;height:24px;color:var(--cmux-diff-fg);background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.segment-button{color:color-mix(in lab,var(--cmux-diff-fg) 62%,var(--cmux-diff-bg))}}.segment-button{padding:0}.segment-button:hover,.segment-button[aria-pressed=true]{background:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.segment-button:hover,.segment-button[aria-pressed=true]{background:color-mix(in lab,var(--cmux-diff-fg) 12%,transparent)}}.segment-button:hover,.segment-button[aria-pressed=true],.menu-item:disabled{color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.menu-item:disabled{color:color-mix(in lab,var(--cmux-diff-fg) 36%,var(--cmux-diff-bg))}}.menu-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-check{justify-self:end}#content{--cmux-diff-files-width:252px;grid-template-columns:minmax(0,1fr) var(--cmux-diff-files-width);overscroll-behavior:contain;contain:strict;background:0 0;flex:auto;grid-template-rows:minmax(0,1fr);grid-template-areas:"viewer files";min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}body[data-files-hidden=true] #content{grid-template-columns:minmax(0,1fr) 0}body[data-status-only=true] #content{grid-template-columns:minmax(0,1fr);grid-template-areas:"viewer"}#files-sidebar{border-left:1px solid var(--cmux-diff-border);background:var(--cmux-diff-sidebar-bg);contain:strict;opacity:1;flex-direction:column;grid-area:files;width:100%;min-width:0;height:100%;min-height:0;transition:opacity .1s,visibility linear;display:flex;position:relative;overflow:hidden}#files-resize-handle{z-index:3;appearance:none;cursor:col-resize;background:0 0;border:0;outline:none;width:8px;margin:0;padding:0;position:absolute;top:0;bottom:0;left:0}#files-resize-handle:after{content:"";background:0 0;width:1px;position:absolute;top:0;bottom:0;left:0}body[data-files-hidden=true] #files-sidebar{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .1s,visibility 0s linear .1s}body[data-status-only=true] #files-sidebar,#files-sidebar-backdrop{display:none}#files-header{z-index:1;border-bottom:1px solid var(--cmux-diff-border);background:var(--cmux-diff-sidebar-bg);min-height:30px;color:var(--cmux-diff-text-muted);justify-content:space-between;align-items:center;gap:8px;padding:0 7px 0 10px;display:flex;position:relative}#files-title{align-items:center;gap:6px;min-width:0;display:inline-flex}#files-header-actions{flex:none;align-items:center;gap:2px;display:inline-flex}#file-search-toggle{width:24px;height:24px;color:var(--cmux-diff-text-muted);background:0 0;border:0;border-radius:5px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}#file-search-toggle:hover,#file-search-toggle[aria-pressed=true]{background:var(--cmux-diff-hover-bg);color:var(--cmux-diff-fg)}#file-search-toggle svg{fill:none;stroke:currentColor;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}#file-list{background:var(--cmux-diff-sidebar-bg);--trees-bg-override:var(--cmux-diff-sidebar-bg);--trees-fg-override:var(--cmux-diff-text-subtle);--trees-fg-muted-override:var(--cmux-diff-text-muted);--trees-bg-muted-override:var(--cmux-diff-hover-bg);--trees-selected-bg-override:var(--cmux-diff-fg);flex:auto;min-height:0;padding:6px 4px 6px 6px;overflow:hidden}@supports (color:color-mix(in lab,red,red)){#file-list{--trees-selected-bg-override:color-mix(in lab, var(--cmux-diff-fg) 11%, transparent)}}#file-list{--trees-selected-fg-override:var(--cmux-diff-fg);--trees-selected-focused-border-color-override:transparent;--trees-border-color-override:var(--cmux-diff-border);--trees-focus-ring-color-override:var(--cmux-diff-accent)}@supports (color:color-mix(in lab,red,red)){#file-list{--trees-focus-ring-color-override:color-mix(in lab, var(--cmux-diff-accent) 72%, transparent)}}#file-list{--trees-font-family-override:var(--cmux-diff-ui-font-family);--trees-font-size-override:var(--cmux-diff-ui-font-size);--trees-font-weight-semibold-override:500;--trees-density-override:.78;--trees-border-radius-override:5px;--trees-item-padding-x-override:7px;--trees-item-margin-x-override:0;--trees-padding-inline-override:8px;--trees-search-bg-override:var(--cmux-diff-bg)}@supports (color:color-mix(in lab,red,red)){#file-list{--trees-search-bg-override:color-mix(in lab, var(--cmux-diff-bg) 92%, var(--cmux-diff-fg))}}#file-list{--trees-status-added-override:light-dark(var(--cmux-diff-addition-fg-light),var(--cmux-diff-addition-fg-dark));--trees-status-modified-override:var(--cmux-diff-accent);--trees-status-renamed-override:light-dark(#a26300,#ffd166);--trees-status-deleted-override:light-dark(var(--cmux-diff-deletion-fg-light),var(--cmux-diff-deletion-fg-dark))}body[data-loading=false] .diff-loading-placeholder,body[data-loading=false]:not([data-status-only=true]) #loading-layer{display:none}#file-list file-tree-container{width:100%;height:100%;min-height:0;display:block}.file-entry{width:100%;min-height:30px;color:inherit;font:inherit;text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:3px 7px;display:grid}.file-entry:hover,.file-entry[aria-current=true]{background:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.file-entry:hover,.file-entry[aria-current=true]{background:color-mix(in lab,var(--cmux-diff-fg) 9%,transparent)}}.file-status{width:17px;height:17px;color:var(--cmux-diff-text-muted);border:1px solid;border-radius:5px;justify-content:center;align-items:center;font-size:9px;line-height:1;display:inline-flex}.file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-stats{color:var(--cmux-diff-text-muted);gap:5px;display:inline-flex}.stat-add{color:light-dark(var(--cmux-diff-addition-fg-light),var(--cmux-diff-addition-fg-dark))}.stat-del{color:light-dark(var(--cmux-diff-deletion-fg-light),var(--cmux-diff-deletion-fg-dark))}#viewer{--diffs-font-family:var(--cmux-diff-code-font-family);--diffs-header-font-family:var(--cmux-diff-ui-font-family);--diffs-font-size:var(--cmux-diff-font-size);--diffs-line-height:var(--cmux-diff-line-height);--diffs-bg-selection-override:light-dark(var(--cmux-diff-selection-bg-light),var(--cmux-diff-selection-bg-dark));overscroll-behavior:contain;overflow-anchor:none;contain:strict;border-bottom:1px solid var(--cmux-diff-border);background:0 0;grid-area:viewer;width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:clip auto}.code-view-root{overscroll-behavior:contain;overflow-anchor:none;contain:strict;width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:clip auto}@media(max-width:520px){#content,body[data-files-hidden=true] #content{grid-template-columns:minmax(0,1fr);grid-template-areas:"viewer"}#files-sidebar{display:none}#app[data-file-search-open=true] #files-sidebar-backdrop{z-index:44;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:default;background:#00000061;border:0;width:100%;height:100%;margin:0;padding:0;display:block;position:absolute;inset:0}#app[data-file-search-open=true] #files-sidebar-backdrop:focus-visible{outline:2px solid var(--cmux-diff-accent);outline-offset:-2px}#app[data-file-search-open=true] #files-sidebar{z-index:45;visibility:visible;opacity:1;pointer-events:auto;border-left:1px solid var(--cmux-diff-border);background:var(--cmux-diff-bg);isolation:isolate;--cmux-diff-sidebar-bg:var(--cmux-diff-bg);width:min(88vw,360px);max-width:calc(100% - 32px);display:flex;position:absolute;inset:0 0 0 auto;box-shadow:-18px 0 42px #00000057}#app[data-file-search-open=true] #files-resize-handle{display:none}}@media(prefers-reduced-motion:reduce){#files-sidebar{transition:none}}#viewer diffs-container{--diffs-font-family:var(--cmux-diff-code-font-family);--diffs-header-font-family:var(--cmux-diff-ui-font-family);--diffs-font-size:var(--cmux-diff-font-size);--diffs-line-height:var(--cmux-diff-line-height);--diffs-bg-selection-override:light-dark(var(--cmux-diff-selection-bg-light),var(--cmux-diff-selection-bg-dark));contain:layout paint style;flex:auto;width:100%;min-height:30px;display:block;overflow:clip}#viewer diffs-container [data-diffs-header]{overflow-x:clip}#viewer diffs-container [data-diffs-header=default] [data-metadata]{flex-shrink:0}#loading-layer{z-index:4;pointer-events:none;contain:strict;background:0 0;grid-area:viewer;position:absolute;inset:0;overflow:hidden}body[data-status-only=true] #loading-layer{pointer-events:auto;justify-content:center;align-items:center;width:100%;height:100%;padding:32px;display:flex;position:static}#status{z-index:5;border:1px solid var(--cmux-diff-fg);align-items:center;gap:10px;max-width:calc(100% - 24px);min-height:32px;padding:8px 12px;display:flex;position:absolute;top:10px;left:12px}@supports (color:color-mix(in lab,red,red)){#status{border:1px solid color-mix(in lab,var(--cmux-diff-fg) 10%,transparent)}}#status{background:var(--cmux-diff-bg);font-family:var(--cmux-diff-ui-font-family);font-size:13px;line-height:var(--cmux-diff-ui-line-height);color:var(--cmux-diff-fg);border-radius:7px}@supports (color:color-mix(in lab,red,red)){#status{color:color-mix(in lab,var(--cmux-diff-fg) 70%,var(--cmux-diff-bg))}}body[data-status-only=true] #status{text-align:center;text-wrap:balance;width:auto;max-width:340px;min-height:0;color:var(--cmux-diff-fg);background:0 0;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:0;font-size:14px;line-height:1.55;position:static}@supports (color:color-mix(in lab,red,red)){body[data-status-only=true] #status{color:color-mix(in lab,var(--cmux-diff-fg) 58%,var(--cmux-diff-bg))}}body[data-status-only=true] #status-text{letter-spacing:.005em;font-weight:500}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#status-icon{display:none}body[data-status-only=true] #status:not([data-error=true]):not([data-pending=true]) #status-icon{background:var(--cmux-diff-fg);border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;display:flex}@supports (color:color-mix(in lab,red,red)){body[data-status-only=true] #status:not([data-error=true]):not([data-pending=true]) #status-icon{background:color-mix(in lab,var(--cmux-diff-fg) 5%,transparent)}}body[data-status-only=true] #status:not([data-error=true]):not([data-pending=true]) #status-icon{border:1px solid var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){body[data-status-only=true] #status:not([data-error=true]):not([data-pending=true]) #status-icon{border:1px solid color-mix(in lab,var(--cmux-diff-fg) 8%,transparent)}}body[data-status-only=true] #status:not([data-error=true]):not([data-pending=true]) #status-icon:before{content:"";opacity:.8;background-color:currentColor;width:26px;height:26px;display:block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M9 13h6'/%3E%3Cpath d='M9 17h4'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M9 13h6'/%3E%3Cpath d='M9 17h4'/%3E%3C/svg%3E") 50%/contain no-repeat}#status[data-pending=true]:before,body[data-loading=true] #status:before{content:"";border:2px solid var(--cmux-diff-fg);flex:none;width:14px;height:14px}@supports (color:color-mix(in lab,red,red)){#status[data-pending=true]:before,body[data-loading=true] #status:before{border:2px solid color-mix(in lab,var(--cmux-diff-fg) 20%,transparent)}}#status[data-pending=true]:before,body[data-loading=true] #status:before{border-top-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){#status[data-pending=true]:before,body[data-loading=true] #status:before{border-top-color:color-mix(in lab,var(--cmux-diff-fg) 70%,var(--cmux-diff-bg))}}#status[data-pending=true]:before,body[data-loading=true] #status:before{border-radius:50%;animation:.8s linear infinite cmuxDiffPendingSpin}#status[data-error=true]{color:light-dark(#b42318,#ff8a80)}@keyframes cmuxDiffPendingSpin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){#status[data-pending=true]:before,body[data-loading=true] #status:before{animation:none}}#comments-section{border-top:1px solid var(--cmux-diff-border);background:var(--cmux-diff-sidebar-bg);flex-direction:column;flex:none;min-height:0;max-height:40%;display:flex}#comments-header{min-height:30px;color:var(--cmux-diff-text-muted);font-size:var(--cmux-diff-ui-font-size);align-items:center;padding:0 10px;display:flex}#comments-list{flex-direction:column;gap:4px;min-height:0;padding:0 6px 6px;display:flex;overflow-y:auto}.comments-empty{color:var(--cmux-diff-text-muted);font-size:var(--cmux-diff-ui-font-size);padding:2px 7px 6px}.comment-entry{color:var(--cmux-diff-text-subtle);font:inherit;font-size:var(--cmux-diff-ui-font-size);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;flex-direction:column;gap:2px;padding:5px 7px;display:flex}.comment-entry:hover{background:var(--cmux-diff-hover-bg)}.comment-entry-header{justify-content:space-between;align-items:center;gap:6px;display:flex}.comment-entry-location{color:var(--cmux-diff-fg);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.comment-entry-badge{background:var(--cmux-diff-muted-bg);color:var(--cmux-diff-text-muted);font-size:calc(var(--cmux-diff-ui-font-size) - 1px);border-radius:4px;flex:none;padding:0 5px}.comment-entry-message{text-overflow:ellipsis;white-space:nowrap;color:var(--cmux-diff-text-muted);overflow:hidden}.comment-composer,.comment-card{border:1px solid var(--cmux-diff-border);background:light-dark(var(--cmux-diff-bg),var(--cmux-diff-bg));border-radius:10px;flex-direction:column;gap:8px;max-width:680px;margin:8px 12px;padding:10px 12px;display:flex}@supports (color:color-mix(in lab,red,red)){.comment-composer,.comment-card{background:light-dark(color-mix(in lab,var(--cmux-diff-bg) 92%,#fff),color-mix(in lab,var(--cmux-diff-bg) 90%,#fff))}}.comment-composer,.comment-card{color:var(--cmux-diff-fg);font-family:var(--cmux-diff-ui-font-family);font-size:13px;line-height:1.45;box-shadow:0 1px 2px lab(0% none none/.1),0 2px 8px lab(0% none none/.06)}.comment-composer:focus-within{border-color:var(--cmux-diff-accent)}@supports (color:color-mix(in lab,red,red)){.comment-composer:focus-within{border-color:color-mix(in lab,var(--cmux-diff-accent) 60%,var(--cmux-diff-border))}}.comment-composer:focus-within{box-shadow:0 0 0 3px var(--cmux-diff-accent)}@supports (color:color-mix(in lab,red,red)){.comment-composer:focus-within{box-shadow:0 0 0 3px color-mix(in lab,var(--cmux-diff-accent) 18%,transparent)}}.comment-composer-input{box-sizing:border-box;resize:none;width:100%;min-height:52px;color:var(--cmux-diff-fg);font:inherit;background:0 0;border:0;padding:0}.comment-composer-input::placeholder{color:var(--cmux-diff-text-muted)}.comment-composer-input:focus-visible{outline:none}.comment-composer-footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.comment-composer-buttons{gap:6px;display:inline-flex}.comment-button{color:var(--cmux-diff-text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 12px;font-weight:500}.comment-button:hover:not(:disabled){background:var(--cmux-diff-hover-bg);color:var(--cmux-diff-fg)}.comment-button:disabled{opacity:.5;cursor:default}.comment-button-primary{background:var(--cmux-diff-accent);color:light-dark(#fff,#08233f)}.comment-button-primary:hover:not(:disabled){background:var(--cmux-diff-accent)}@supports (color:color-mix(in lab,red,red)){.comment-button-primary:hover:not(:disabled){background:color-mix(in lab,var(--cmux-diff-accent) 86%,var(--cmux-diff-fg))}}.comment-button-primary:hover:not(:disabled){color:light-dark(#fff,#08233f)}.comment-card-header{justify-content:space-between;align-items:center;gap:8px;min-height:20px;display:flex}.comment-card-location{font-weight:500;font-size:calc(var(--cmux-diff-ui-font-size) - 1px);color:var(--cmux-diff-text-muted)}.comment-card-actions{opacity:0;gap:2px;transition:opacity .1s;display:inline-flex}.comment-card:hover .comment-card-actions,.comment-card:focus-within .comment-card-actions{opacity:1}.comment-card-action{color:var(--cmux-diff-text-muted);font:inherit;font-size:calc(var(--cmux-diff-ui-font-size) - 1px);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:1px 6px}.comment-card-action:hover{background:var(--cmux-diff-hover-bg);color:var(--cmux-diff-fg)}.comment-card-message{white-space:pre-wrap;overflow-wrap:anywhere}#diff-find-anchor{z-index:60;pointer-events:none;position:absolute;top:0;right:0}#diff-find-bar{pointer-events:auto;border:1px solid var(--cmux-diff-fg);align-items:center;gap:4px;margin:10px 22px 0 0;padding:5px 6px;display:flex}@supports (color:color-mix(in lab,red,red)){#diff-find-bar{border:1px solid color-mix(in lab,var(--cmux-diff-fg) 13%,transparent)}}#diff-find-bar{background:var(--cmux-diff-bg);border-radius:8px;box-shadow:0 16px 34px lab(0% none none/.28)}#diff-find-input{background:var(--cmux-diff-fg);border:1px solid #0000;border-radius:6px;width:180px;padding:3px 7px}@supports (color:color-mix(in lab,red,red)){#diff-find-input{background:color-mix(in lab,var(--cmux-diff-fg) 7%,transparent)}}#diff-find-input{color:var(--cmux-diff-fg);font-family:var(--cmux-diff-ui-font-family);font-size:var(--cmux-diff-ui-font-size);outline:none}#diff-find-input:focus-visible{border-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){#diff-find-input:focus-visible{border-color:color-mix(in lab,var(--cmux-diff-fg) 24%,transparent)}}#diff-find-count{text-align:right;min-width:40px;color:var(--cmux-diff-text-muted);font-family:var(--cmux-diff-ui-font-family);font-size:calc(var(--cmux-diff-ui-font-size) - 1px);font-variant-numeric:tabular-nums;padding:0 4px}#diff-find-bar .toolbar-icon:disabled{opacity:.4;cursor:default}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}`;function ho(){const t=document.getElementById("cmux-diff-viewer-config");if(!t?.textContent)throw new Error("Missing cmux diff viewer config");return JSON.parse(t.textContent)}function vo(t){const e=ho();Xt("diff",mo),rn(Oe(e.payload?.appearance)),typeof e.payload?.title=="string"&&e.payload.title.trim()!==""&&(document.title=e.payload.title);const n=Lt(e.payload?.labels,{assertMissing:Rt()}),r=Ir(e,n);document.body.dataset.filesHidden="false",Ce(r);const i=Jt(()=>s.jsx(ai,{config:e,initialStatus:r}));zt.createRoot(t).render(s.jsx(Ot,{router:i}))}export{vo as mountDiffSurface}; +`;function Ft(){return typeof CSS<"u"&&"highlights"in CSS&&typeof Highlight=="function"}function Nt(){Ft()&&(CSS.highlights.delete(He),CSS.highlights.delete(qe))}function Ke(t,e=[]){for(const n of t.querySelectorAll("*")){const r=n.shadowRoot;r!=null&&(e.push(r),Ke(r,e))}return e}const pt="[data-line-type]:is([data-line], [data-no-newline])";function zr(t,e){const n=Array.from(t.querySelectorAll(pt));for(const r of e)n.push(...Array.from(r.querySelectorAll(pt)));return n}const Or="[data-gutter], [data-gutter-buffer], [data-line-annotation], [data-gutter-utility-slot]";function $r(t){const e=document.createTreeWalker(t,NodeFilter.SHOW_TEXT,{acceptNode(o){const a=o.parentElement;return a==null||a.closest(Or)!=null?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}}),n=[],r=[];let i="";for(let o=e.nextNode();o!=null;o=e.nextNode())n.push(o),r.push(i.length),i+=o.textContent??"";return{nodes:n,offsets:r,text:i}}function Vr(t,e,n){const r=(c,l)=>{for(let u=t.nodes.length-1;u>=0;u-=1){const d=t.offsets[u],p=t.nodes[u].textContent?.length??0;if(l?c>d&&c<=d+p:c>=d&&c(d.getAttribute("data-line")===i||d.getAttribute("data-alt-line")===i)&&Wr(d,r.side));if(o.length===0)return null;if(o.length===1)return o[0];const a=n.activeItemSpan;if(a!=null){const d=o.filter(p=>{const m=mt(p,t);return m>=a.top-1&&m=1)return d[0]}const c=t.scrollTop+t.clientHeight/2;let l=null,u=Number.POSITIVE_INFINITY;for(const d of o){const p=Math.abs(mt(d,t)-c);p{if(!(a.has(h)||typeof CSSStyleSheet!="function"))try{o??=(()=>{const g=new CSSStyleSheet;return g.replaceSync(Ar),g})(),h.adoptedStyleSheets=[...h.adoptedStyleSheets,o],a.add(h)}catch{}},u=new MutationObserver(()=>m()),d=()=>{const h=Ke(e);for(const g of h)l(g),c.has(g)||(u.observe(g,{childList:!0,subtree:!0,characterData:!0}),c.add(g));return h},p=()=>{if(r=null,i)return;const h=d();Hr(e,n(),h)},m=()=>{r==null&&!i&&(r=requestAnimationFrame(p))};return l(document),e.addEventListener("scroll",m,{passive:!0}),u.observe(e,{childList:!0,subtree:!0,characterData:!0}),d(),{repaint:m,dispose(){i=!0,r!=null&&(cancelAnimationFrame(r),r=null),e.removeEventListener("scroll",m),u.disconnect(),Nt()}}}function Kr(t){const e=E.c(50),{items:n,open:r,query:i,dispatch:o,codeViewRef:a,viewerContainerRef:c}=t;let l;e[0]!==r||e[1]!==i?(l=r?i.toLowerCase():"",e[0]=r,e[1]=i,e[2]=l):l=e[2];const u=l;let d;e[3]!==n||e[4]!==u?(d=u===""?[]:Er(n,u),e[3]=n,e[4]=u,e[5]=d):d=e[5];const p=d,[m,h]=S.useState(0),g=S.useRef(0),f=S.useRef(null),x=S.useRef(""),v=S.useRef(null),b=S.useRef(!1);let w;e[6]===Symbol.for("react.memo_cache_sentinel")?(w={query:"",active:null,activeItemSpan:null},e[6]=w):w=e[6];const y=S.useRef(w),I=p.length===0?0:Math.min(m,p.length-1),M=p[I]??null;let F;e[7]!==a?(F=P=>{a.current?.scrollTo({type:"line",id:P.itemId,lineNumber:P.lineNumber,side:P.side,align:"center",behavior:"instant"})},e[7]=a,e[8]=F):F=e[8];const k=F;let j;e[9]!==a||e[10]!==n?(j=P=>{const A=a.current?.getInstance();if(A==null)return null;const Q=A.getTopForItem(P.itemId);if(typeof Q!="number")return null;let te=Number.POSITIVE_INFINITY;const ae=n.findIndex(ee=>ee.id===P.itemId);for(let ee=ae+1;ee>=0&&eeQ){te=ne;break}}return{top:Q,bottom:te}},e[9]=a,e[10]=n,e[11]=j):j=e[11];const R=j;let T,z;e[12]!==p||e[13]!==u||e[14]!==k?(T=()=>{const P=x.current!==u;x.current=u;const A=Dr(f.current,p,g.current);if(A!==g.current&&h(A),P){const Q=p[A];Q!=null&&k(Q)}},z=[p,u,k],e[12]=p,e[13]=u,e[14]=k,e[15]=T,e[16]=z):(T=e[15],z=e[16]),S.useEffect(T,z);let O;e[17]!==c?(O=()=>{if(!b.current||v.current!=null)return;const P=c.current;P!=null&&(v.current=qr({container:P,getSnapshot:()=>y.current}),v.current.repaint())},e[17]=c,e[18]=O):O=e[18];const L=O;let $,G;e[19]!==R||e[20]!==M||e[21]!==I||e[22]!==L||e[23]!==u?($=()=>{g.current=I,f.current=M,y.current={query:u,active:M,activeItemSpan:M==null?null:R(M)},L(),v.current?.repaint()},G=[u,I,M,R,L],e[19]=R,e[20]=M,e[21]=I,e[22]=L,e[23]=u,e[24]=$,e[25]=G):($=e[24],G=e[25]),S.useEffect($,G);let H;e[26]!==L?(H=P=>{b.current=P!=null,P!=null?L():(v.current?.dispose(),v.current=null)},e[26]=L,e[27]=H):H=e[27];const W=H;let U;e[28]!==p||e[29]!==k?(U=P=>{const A=p[P];A!=null&&(h(P),k(A))},e[28]=p,e[29]=k,e[30]=U):U=e[30];const D=U;let _;e[31]!==D||e[32]!==p.length?(_=()=>{p.length>0&&D((g.current+1)%p.length)},e[31]=D,e[32]=p.length,e[33]=_):_=e[33];const q=_;let B;e[34]!==D||e[35]!==p.length?(B=()=>{p.length>0&&D((g.current-1+p.length)%p.length)},e[34]=D,e[35]=p.length,e[36]=B):B=e[36];const K=B;let X;e[37]!==o?(X=P=>{o({type:"set-find-query",query:P})},e[37]=o,e[38]=X):X=e[38];const J=X;let Z;e[39]!==o?(Z=()=>{o({type:"set-find-open",open:!1})},e[39]=o,e[40]=Z):Z=e[40];const C=Z;let V;return e[41]!==M||e[42]!==I||e[43]!==C||e[44]!==W||e[45]!==q||e[46]!==K||e[47]!==p||e[48]!==J?(V={matches:p,activeIndex:I,activeMatch:M,setQuery:J,goToNext:q,goToPrevious:K,closeFind:C,findBarRef:W},e[41]=M,e[42]=I,e[43]=C,e[44]=W,e[45]=q,e[46]=K,e[47]=p,e[48]=J,e[49]=V):V=e[49],V}function Yr(t,e){const n=E.c(4);let r,i;n[0]!==e||n[1]!==t?(r=()=>{const o=a=>{const c=a.metaKey||a.ctrlKey,l=a.key.toLowerCase();if(c&&!a.shiftKey&&!a.altKey&&l==="f"){a.preventDefault(),t({type:"request-find"});return}const u=e.current;if(u.open){if(c&&!a.altKey&&l==="g"){a.preventDefault(),a.shiftKey?u.controller.goToPrevious():u.controller.goToNext();return}if(a.key==="Escape"){const d=a.target;d instanceof Element&&d.closest("#viewer, #diff-find-bar")!=null&&u.controller.closeFind()}}};return document.addEventListener("keydown",o),()=>document.removeEventListener("keydown",o)},i=[t,e],n[0]=e,n[1]=t,n[2]=r,n[3]=i):(r=n[2],i=n[3]),S.useEffect(r,i)}const Qr=/\b(Android|iPhone|iPad|iPod|Mobile)\b/i;function Xr(t){return Qr.test(t??"")?1:3}function Jr(){return Xr(typeof navigator>"u"?void 0:navigator.userAgent)}function Zr(t){return{poolSize:Jr(),workerFactory:()=>new Worker(t,{type:"module"})}}const ht=new Set,ei="00000000-0000-0000-0000-000000000000",ti=["82%","64%","76%","58%","70%","46%"],ni=["58%","88%","72%","94%","64%","82%","52%","78%"],ri="./assets/pierre-diffs-1.2.7-trees-1.0.0-beta.4/worker-pool/worker-portable.js",_t="cmux.diffViewer.layout";function ii(t,e){const n=t.payload??{};return{activeItemId:"",activeTreePath:"",comments:[],copyFeedback:"",draft:null,fileSearchOpen:!1,fileSearchRequest:0,filesWidth:252,filesVisible:!0,findOpen:!1,findQuery:"",findRequest:0,items:[],languages:["text"],metrics:null,options:{collapsed:!1,diffIndicators:"bars",expandUnchanged:!1,layout:mi(n),lineNumbers:!0,showBackgrounds:!0,wordDiffs:!1,wordWrap:!1},optionsOpen:!1,status:e,treeSource:null}}function oi(t,e){switch(e.type){case"append-items":{const n=e.items.map(i=>{Ji(i);const o=Qn(i,t.comments,t.draft);return t.options.collapsed?{...o,collapsed:!0}:o}),r=eo(t.languages,n.flatMap(Zi));return{...t,activeItemId:t.activeItemId||n[0]?.id||"",items:[...t.items,...n],languages:r,status:t.status.loading?se("",{loading:!1}):t.status}}case"reset-diff":return{...t,activeItemId:"",activeTreePath:"",draft:null,items:[],languages:["text"],metrics:null,status:e.status,treeSource:null};case"remove-comment":{const n=t.comments.filter(r=>r.id!==e.id);return{...t,comments:n,items:ke(t.items,n,t.draft)}}case"rename-item":return{...t,activeItemId:t.activeItemId===e.oldId?e.newId:t.activeItemId,draft:t.draft?.itemId===e.oldId?{...t.draft,itemId:e.newId}:t.draft,items:t.items.map(n=>n.id===e.oldId||n.id===e.newId?{...n,id:e.newId,version:(n.version??0)+1}:n)};case"set-active-item":return{...t,activeItemId:e.itemId,activeTreePath:e.treePath??t.activeTreePath};case"replace-comments":return{...t,comments:e.comments,draft:null,items:ke(t.items,e.comments,null)};case"set-copy-feedback":return{...t,copyFeedback:e.message};case"set-draft":return{...t,draft:e.draft,items:ke(t.items,t.comments,e.draft)};case"set-file-search-open":return{...t,fileSearchOpen:e.open,filesVisible:e.open?!0:t.filesVisible};case"request-file-search":return{...t,fileSearchOpen:!0,fileSearchRequest:t.fileSearchRequest+1,filesVisible:!0};case"set-find-open":return{...t,findOpen:e.open};case"set-find-query":return{...t,findQuery:e.query};case"request-find":return{...t,findOpen:!0,findRequest:t.findRequest+1};case"set-files-width":return{...t,filesWidth:e.width};case"set-files-visible":return{...t,filesVisible:e.visible};case"set-metrics":return{...t,metrics:e.metrics};case"set-option":return e.key==="collapsed"?{...t,options:{...t.options,collapsed:!!e.value},items:t.items.map(n=>({...n,collapsed:!!e.value,version:(n.version??0)+1}))}:{...t,options:{...t.options,[e.key]:e.value}};case"set-options-open":return{...t,optionsOpen:e.open};case"set-status":return{...t,status:e.status};case"set-tree-source":{const n=e.source,r=t.activeItemId?n.treePathByItemId.get(t.activeItemId)??t.activeTreePath:t.activeTreePath;return{...t,activeTreePath:r,treeSource:n}}case"upsert-comment":{const r=t.comments.some(i=>i.id===e.comment.id)?t.comments.map(i=>i.id===e.comment.id?e.comment:i):[...t.comments,e.comment];return{...t,comments:r,items:ke(t.items,r,t.draft)}}}}function ai({config:t,initialStatus:e}){const n=t.payload??{},r=S.useMemo(()=>Lt(n.labels,{assertMissing:Rt()}),[n.labels]),i=Oe(n.appearance),o=co(n.transport),[a,c]=S.useState(Pe(n.sessionSource)?n.sessionSource:null),[l,u]=S.useState(a),d=S.useRef(new Map);a?.kind==="branch"&&!d.current.has(a.repoRoot)&&d.current.set(a.repoRoot,a);const[p,m]=S.useState(n.patchURL),[h,g]=S.useReducer(oi,ii(t,e)),f=Me(h),x=S.useRef(null),v=S.useRef(0),b=S.useRef(null),w=S.useRef(null),y=S.useRef(null),I=li(t.assets?.workerModuleURL),M=Zr(I),F=yr(h.options,i,h.languages),k=typeof n.repoRoot=="string"&&n.repoRoot!==""?n.repoRoot:null,j=xe(l??a)??k;S.useEffect(()=>{const C=typeof n.title=="string"?n.title.trim():"";if(C==="")return;const V=l??a;if(V?.kind==="patch"){document.title=C;return}const P=xe(V)??k,A=Array.isArray(n.repoOptions)?n.repoOptions.find(te=>te?.value===P):void 0,Q=typeof A?.label=="string"?A.label.trim():"";document.title=Q===""?C:`${C} — ${Q}`},[a,n.repoOptions,n.title,k,l]);const R=Jn()&&j!=null,T=or(n),z=ci({bridgeAvailable:R,dispatch:g,latestState:f,repoRoot:j}),O=wr(h.options,i);O.onGutterUtilityClick=z.onGutterUtilityClick;const L=S.useCallback(()=>{const C=w.current;return o?C?(w.current=null,o.request({method:"sessionClose",params:C}).then(()=>{}).catch(()=>{w.current||(w.current=C)})):typeof n.capabilityToken!="string"?Promise.resolve():Et(o,{sessionId:ei,capabilityToken:n.capabilityToken}):Promise.resolve()},[n.capabilityToken,o]),$=S.useCallback(C=>{C.kind==="branch"&&d.current.set(C.repoRoot,C),u(C)},[]);io(h),no(n,r,g,o),Ki(t,o,r,g,f,m,w,L,a,$),sr(R?j:null,z.onLoaded),ao(h.optionsOpen,g),lo(h.fileSearchOpen,g);const G=(C,V)=>{const P=C.metadata;return P.kind==="draft"?s.jsx(jt,{labels:T,onCancel:()=>g({type:"set-draft",draft:null}),onSave:A=>z.saveDraft(V,A)}):s.jsx(ar,{comment:P.comment,labels:T,onDelete:()=>z.remove(P.comment),onSaveMessage:A=>z.editMessage(P.comment,A,V.fileDiff)})},H=Number.isFinite(h.metrics?.completedAt)&&(h.metrics?.completedAt??0)>0,W=Xn(h.items,h.comments,H),U=C=>{C.itemId!=null&&(C.anchor.state==="outdated"?x.current?.scrollTo({type:"item",id:C.itemId,align:"start",behavior:"smooth-auto"}):x.current?.scrollTo({type:"line",id:C.itemId,lineNumber:C.anchor.line,side:C.comment.side,align:"center",behavior:"smooth-auto"}),g({type:"set-active-item",itemId:C.itemId,treePath:h.treeSource?.treePathByItemId.get(C.itemId)}))},D=h.treeSource?.treePathByItemId.get(h.activeItemId)??h.activeTreePath,_=S.useCallback(C=>{const V=f.current,P=fo(C,V.items);P&&(x.current?.scrollTo({type:"item",id:P,align:"start",behavior:"smooth-auto"}),g({type:"set-active-item",itemId:P,treePath:V.treeSource?.treePathByItemId.get(P)}))},[f]),q=S.useCallback(C=>{const V=f.current,P=po(V.items,v.current,Q=>x.current?.getInstance()?.getTopForItem(Q)),A=uo(P||V.activeItemId,V.items,C);A&&_(A)},[f,_]),B=S.useCallback(C=>{v.current=C},[]),K=Kr({items:h.items,open:h.findOpen,query:h.findQuery,dispatch:g,codeViewRef:x,viewerContainerRef:y}),X=Me({open:h.findOpen,controller:K});Yr(g,X),oo(y,g,q,X);const J=C=>{Ie(C),g({type:"set-status",status:C})},Z=C=>{gi(C),g({type:"set-option",key:"layout",value:C})};return s.jsxs("div",{id:"app","data-file-search-open":h.fileSearchOpen,children:[s.jsx(bi,{config:t,transport:o,label:r,onCopyGitApply:async()=>{try{const C=await tn(p,r,b.current);g({type:"set-copy-feedback",message:C})}catch{g({type:"set-copy-feedback",message:r("copyFailedGitApplyCommand")})}},onJump:_,onNavigate:C=>{J(se(r("loadingDiff"),{pending:!0})),L(),window.location.href=Zt(C)},activeSessionSource:l??a,onSelectSessionSource:C=>{const V=l??a,P=C.kind==="branch"&&(V?.kind!=="branch"||C.baseRef==null)?d.current.get(C.repoRoot)??C:C;P.kind==="branch"&&d.current.set(P.repoRoot,P);const A=se(r("loadingDiff"),{pending:!0});Ie(A),g({type:"reset-diff",status:A}),m(void 0),L(),u(P),c(P)},onReload:async()=>{await L(),window.location.reload()},onSetLayout:Z,dispatch:g,state:h}),s.jsxs("section",{id:"content",style:{"--cmux-diff-files-width":`${h.filesWidth}px`},children:[s.jsx(si,{label:r,onClose:()=>Qe(g),open:h.fileSearchOpen}),s.jsx(Ti,{commentEntries:W,commentLabels:T,hasDraft:h.draft!=null,label:r,onSelectComment:U,onSelectItem:_,selectedPath:D,dispatch:g,state:h}),s.jsxs("main",{id:"viewer","aria-label":r("diffViewer"),children:[h.findOpen?s.jsx(Br,{controller:K,label:r,query:h.findQuery,requestToken:h.findRequest}):null,h.items.length>0?s.jsxs($t,{poolOptions:M,highlighterOptions:F,children:[s.jsx(xi,{codeViewRef:x,highlighterOptions:F}),s.jsx(Vt,{ref:x,className:"code-view-root",containerRef:y,items:h.items,onScroll:B,options:O,renderHeaderMetadata:C=>s.jsx(Pn,{fileDiff:C.fileDiff,label:r}),renderAnnotation:(C,V)=>G(C,V)})]}):null]}),s.jsx(Ai,{label:r,status:h.status})]}),s.jsx("textarea",{ref:b,"aria-hidden":"true",readOnly:!0,tabIndex:-1,className:"copy-fallback-textarea"})]})}function si(t){const e=E.c(8),{label:n,onClose:r,open:i}=t;if(!i)return null;let o;e[0]!==n?(o=n("hideFileSearch"),e[0]=n,e[1]=o):o=e[1];let a;e[2]!==n?(a=n("hideFileSearch"),e[2]=n,e[3]=a):a=e[3];let c;return e[4]!==r||e[5]!==o||e[6]!==a?(c=s.jsx("button",{id:"files-sidebar-backdrop",type:"button","aria-controls":"files-sidebar","aria-label":o,title:a,onClick:r}),e[4]=r,e[5]=o,e[6]=a,e[7]=c):c=e[7],c}function li(t){return new URL(t||ri,window.location.href)}function ci(t){const e=E.c(26),{bridgeAvailable:n,dispatch:r,latestState:i,repoRoot:o}=t,a=Me(o);let c;e[0]!==r?(c=b=>r({type:"replace-comments",comments:b}),e[0]=r,e[1]=c):c=e[1];const l=c;let u;e[2]!==r?(u=(b,w)=>{const y=b.side==="deletions"?"deletions":"additions";r({type:"set-draft",draft:{itemId:w.item.id,side:y,startLine:Math.min(b.start,b.end),endLine:Math.max(b.start,b.end)}})},e[2]=r,e[3]=u):u=e[3];const d=u;let p;e[4]!==a||e[5]!==n||e[6]!==r||e[7]!==i||e[8]!==o?(p=(b,w)=>{const y=i.current.draft;if(y==null||y.itemId!==b.id||w.trim()==="")return;const I={filePath:pe(b.fileDiff,""),side:y.side,startLine:y.startLine,endLine:y.endLine,lineText:Ve(b.fileDiff,y.side,y.endLine)??"",message:w},M={...I,submissionText:lt(I,b.fileDiff)};(n&&o!=null?st(o,M):Promise.resolve(pi(M))).then(k=>{a.current===o&&(r({type:"upsert-comment",comment:k}),r({type:"set-draft",draft:null}))}).catch(ui)},e[4]=a,e[5]=n,e[6]=r,e[7]=i,e[8]=o,e[9]=p):p=e[9];const m=p;let h;e[10]!==a||e[11]!==n||e[12]!==r||e[13]!==o?(h=(b,w,y)=>{if(w.trim()==="")return;const I={...b,message:w,updatedAt:new Date().toISOString()},M={...I,submissionText:lt(I,y)};(n&&o!=null?st(o,M):Promise.resolve(M)).then(k=>{a.current===o&&r({type:"upsert-comment",comment:k})}).catch(fi)},e[10]=a,e[11]=n,e[12]=r,e[13]=o,e[14]=h):h=e[14];const g=h;let f;e[15]!==a||e[16]!==n||e[17]!==r||e[18]!==o?(f=b=>{const w=o;n&&o!=null&&er(o,b.id).catch(di),a.current===w&&r({type:"remove-comment",id:b.id})},e[15]=a,e[16]=n,e[17]=r,e[18]=o,e[19]=f):f=e[19];const x=f;let v;return e[20]!==g||e[21]!==d||e[22]!==l||e[23]!==x||e[24]!==m?(v={editMessage:g,onGutterUtilityClick:d,onLoaded:l,remove:x,saveDraft:m},e[20]=g,e[21]=d,e[22]=l,e[23]=x,e[24]=m,e[25]=v):v=e[25],v}function di(t){return console.warn("cmux diff comment delete failed",t)}function fi(t){return console.warn("cmux diff comment edit failed",t)}function ui(t){return console.warn("cmux diff comment save failed",t)}function pi(t){const e=new Date().toISOString();return{...t,id:crypto.randomUUID(),createdAt:e,updatedAt:e}}function mi(t){const e=Bt(t.layout);return t.layoutSource==="explicit"&&e?e:hi()??e??"unified"}function hi(){try{return Bt(window.localStorage.getItem(_t))}catch{return null}}function gi(t){try{window.localStorage.setItem(_t,t)}catch{}}function Bt(t){return t==="split"||t==="unified"?t:null}function xi(t){const{codeViewRef:e,highlighterOptions:n}=t;return zi(n,e),null}function bi(t){const e=E.c(70),{activeSessionSource:n,config:r,dispatch:i,label:o,onCopyGitApply:a,onJump:c,onNavigate:l,onSelectSessionSource:u,onReload:d,onSetLayout:p,state:m,transport:h}=t;let g;e[0]!==r.payload?(g=r.payload??{},e[0]=r.payload,e[1]=g):g=e[1];const f=g,x=typeof f.externalURL=="string"&&f.externalURL.length>0?f.externalURL:null,v=S.useRef(null),b=Pr(v);let w;if(e[2]!==x||e[3]!==f||e[4]!==b){const B=[{id:"files-toggle",width:Be},{id:"layout-toggle",width:Be},...x?[{id:"external-link",width:Be}]:[]];w=b==null?new Set:new Set(Mr({available:b,reserved:vi+(yi(f)?wi:0),items:B}).overflow),e[2]=x,e[3]=f,e[4]=b,e[5]=w}else w=e[5];const y=w,I=!y.has("files-toggle"),M=!y.has("layout-toggle"),F=x!=null&&!y.has("external-link");let k;e[6]!==n||e[7]!==o||e[8]!==l||e[9]!==u||e[10]!==f||e[11]!==h?(k=s.jsx(ki,{activeSessionSource:n,label:o,onNavigate:l,onSelectSessionSource:u,payload:f,transport:h}),e[6]=n,e[7]=o,e[8]=l,e[9]=u,e[10]=f,e[11]=h,e[12]=k):k=e[12];let j;e[13]!==i?(j=()=>i({type:"set-file-search-open",open:!0}),e[13]=i,e[14]=j):j=e[14];let R;e[15]!==o||e[16]!==c||e[17]!==m.activeItemId||e[18]!==m.fileSearchOpen||e[19]!==m.items||e[20]!==j?(R=s.jsx("div",{className:"toolbar-middle flex min-w-0 flex-1 items-center justify-center gap-1.5",children:s.jsx(Ri,{items:m.items,label:o,onJump:c,onOpenSearch:j,searchOpen:m.fileSearchOpen,selectedItemId:m.activeItemId})}),e[15]=o,e[16]=c,e[17]=m.activeItemId,e[18]=m.fileSearchOpen,e[19]=m.items,e[20]=j,e[21]=R):R=e[21];let T;e[22]!==x||e[23]!==o||e[24]!==F?(T=F?s.jsx("a",{id:"external-link",className:"toolbar-icon",href:x??void 0,target:"_blank",rel:"noreferrer",title:o("openSourceURL"),"aria-label":o("openSourceURL"),children:s.jsx(re,{name:"external"})}):null,e[22]=x,e[23]=o,e[24]=F,e[25]=T):T=e[25];let z;e[26]!==o||e[27]!==p||e[28]!==M||e[29]!==m.options?(z=M?s.jsx("button",{id:"layout-toggle",className:"toolbar-icon",type:"button",title:m.options.layout==="split"?o("switchToUnifiedDiff"):o("switchToSplitDiff"),"aria-label":m.options.layout==="split"?o("switchToUnifiedDiff"):o("switchToSplitDiff"),onClick:()=>p(m.options.layout==="split"?"unified":"split"),children:s.jsx(re,{name:m.options.layout})}):null,e[26]=o,e[27]=p,e[28]=M,e[29]=m.options,e[30]=z):z=e[30];let O;e[31]!==o?(O=o("options"),e[31]=o,e[32]=O):O=e[32];let L;e[33]!==o?(L=o("options"),e[33]=o,e[34]=L):L=e[34];let $;e[35]!==i||e[36]!==m.optionsOpen?($=()=>i({type:"set-options-open",open:!m.optionsOpen}),e[35]=i,e[36]=m.optionsOpen,e[37]=$):$=e[37];let G;e[38]===Symbol.for("react.memo_cache_sentinel")?(G=s.jsx(re,{name:"dots"}),e[38]=G):G=e[38];let H;e[39]!==m.optionsOpen||e[40]!==$||e[41]!==O||e[42]!==L?(H=s.jsx("button",{id:"options-button",className:"toolbar-icon",type:"button",title:O,"aria-label":L,"aria-expanded":m.optionsOpen,"aria-controls":"options-menu",onClick:$,children:G}),e[39]=m.optionsOpen,e[40]=$,e[41]=O,e[42]=L,e[43]=H):H=e[43];let W;e[44]!==i||e[45]!==o||e[46]!==I||e[47]!==m.filesVisible?(W=I?s.jsx("button",{id:"files-toggle",className:"toolbar-icon",type:"button",title:m.filesVisible?o("hideFiles"):o("showFiles"),"aria-label":m.filesVisible?o("hideFiles"):o("showFiles"),"aria-pressed":m.filesVisible,onClick:()=>i({type:"set-files-visible",visible:!m.filesVisible}),children:s.jsx(re,{name:"files"})}):null,e[44]=i,e[45]=o,e[46]=I,e[47]=m.filesVisible,e[48]=W):W=e[48];let U;e[49]!==m.copyFeedback?(U=s.jsx("span",{id:"copy-feedback",className:"visually-hidden","aria-live":"polite",children:m.copyFeedback}),e[49]=m.copyFeedback,e[50]=U):U=e[50];let D;e[51]!==H||e[52]!==W||e[53]!==U||e[54]!==T||e[55]!==z?(D=s.jsxs("div",{className:"toolbar-actions flex items-center gap-1.5",children:[T,z,H,W,U]}),e[51]=H,e[52]=W,e[53]=U,e[54]=T,e[55]=z,e[56]=D):D=e[56];let _;e[57]!==i||e[58]!==x||e[59]!==o||e[60]!==a||e[61]!==d||e[62]!==p||e[63]!==m?(_=m.optionsOpen?s.jsx(Li,{dispatch:i,externalURL:x,label:o,onCopyGitApply:a,onReload:d,onSetLayout:p,state:m}):null,e[57]=i,e[58]=x,e[59]=o,e[60]=a,e[61]=d,e[62]=p,e[63]=m,e[64]=_):_=e[64];let q;return e[65]!==D||e[66]!==_||e[67]!==k||e[68]!==R?(q=s.jsxs("header",{id:"toolbar",ref:v,children:[k,R,D,_]}),e[65]=D,e[66]=_,e[67]=k,e[68]=R,e[69]=q):q=e[69],q}const Be=28,vi=248,wi=60;function yi(t){return Array.isArray(t?.repoOptions)&&t.repoOptions.length>=2}function ki(t){const e=E.c(31),{activeSessionSource:n,label:r,onNavigate:i,onSelectSessionSource:o,payload:a,transport:c}=t;let l;e[0]!==r?(l=r("diffTarget"),e[0]=r,e[1]=l):l=e[1];const u=a.sourceOptions;let d;e[2]!==n||e[3]!==o?(d=x=>o(Qi(x,n)),e[2]=n,e[3]=o,e[4]=d):d=e[4];let p;e[5]!==n?(p=Yi(n),e[5]=n,e[6]=p):p=e[6];let m;e[7]!==i||e[8]!==a.sourceOptions||e[9]!==l||e[10]!==d||e[11]!==p?(m=s.jsx(Ae,{ariaLabel:l,fallbackValue:"",id:"source-select",options:u,onNavigate:i,onSelectSessionSource:d,selectedValue:p}),e[7]=i,e[8]=a.sourceOptions,e[9]=l,e[10]=d,e[11]=p,e[12]=m):m=e[12];let h;e[13]!==n||e[14]!==r||e[15]!==i||e[16]!==o||e[17]!==a.repoOptions||e[18]!==a.repoRoot?(h=n?.kind!=="patch"?s.jsx(Ae,{ariaLabel:r("repoPath"),fallbackValue:a.repoRoot??"",id:"repo-select",options:a.repoOptions,onNavigate:i,onSelectSessionSource:x=>o(Xi(x,n)),selectedOptionTitle:!0,selectedValue:xe(n)}):null,e[13]=n,e[14]=r,e[15]=i,e[16]=o,e[17]=a.repoOptions,e[18]=a.repoRoot,e[19]=h):h=e[19];let g;e[20]!==n||e[21]!==r||e[22]!==i||e[23]!==o||e[24]!==a||e[25]!==c?(g=s.jsx(Si,{activeSessionSource:n,label:r,onNavigate:i,onSelectSessionSource:o,payload:a,transport:c}),e[20]=n,e[21]=r,e[22]=i,e[23]=o,e[24]=a,e[25]=c,e[26]=g):g=e[26];let f;return e[27]!==m||e[28]!==h||e[29]!==g?(f=s.jsxs("div",{className:"toolbar-left flex min-w-0 items-center gap-1.5",children:[m,h,g]}),e[27]=m,e[28]=h,e[29]=g,e[30]=f):f=e[30],f}function Si(t){const e=E.c(29),{activeSessionSource:n,label:r,onNavigate:i,onSelectSessionSource:o,payload:a,transport:c}=t;if(n?.kind==="branch"&&c){const m=n.baseRef??"";let h,g,f;e[0]!==n.repoRoot||e[1]!==a.capabilityToken||e[2]!==m?(f={repoRoot:n.repoRoot,capabilityToken:a.capabilityToken,headRef:"HEAD",currentRef:m,currentReason:"",confidence:"high",aheadBehind:null,refsURL:"typed://branch-list",regenerateURLTemplate:"typed://branch-change/{ref}"},h=et,g=Je(f),e[0]=n.repoRoot,e[1]=a.capabilityToken,e[2]=m,e[3]=h,e[4]=g,e[5]=f):(h=e[3],g=e[4],f=e[5]);let x;e[6]!==n.repoRoot||e[7]!==o?(x=b=>o({kind:"branch",repoRoot:n.repoRoot,baseRef:b}),e[6]=n.repoRoot,e[7]=o,e[8]=x):x=e[8];let v;return e[9]!==h||e[10]!==r||e[11]!==i||e[12]!==g||e[13]!==x||e[14]!==c||e[15]!==f?(v=s.jsx(h,{label:r,onNavigate:i,onSelectBranchBase:x,picker:f,transport:c},g),e[9]=h,e[10]=r,e[11]=i,e[12]=g,e[13]=x,e[14]=c,e[15]=f,e[16]=v):v=e[16],v}let l;if(e[17]!==r||e[18]!==i||e[19]!==a||e[20]!==c){l=Symbol.for("react.early_return_sentinel");e:{const m=ji(a);if(m){l=s.jsx(et,{label:r,onNavigate:i,picker:m,transport:c},Je(m));break e}}e[17]=r,e[18]=i,e[19]=a,e[20]=c,e[21]=l}else l=e[21];if(l!==Symbol.for("react.early_return_sentinel"))return l;let u;e[22]!==r?(u=r("branchBase"),e[22]=r,e[23]=u):u=e[23];const d=a.branchBaseRef??"";let p;return e[24]!==i||e[25]!==a.baseOptions||e[26]!==u||e[27]!==d?(p=s.jsx(Ae,{ariaLabel:u,fallbackValue:d,id:"base-select",options:a.baseOptions,onNavigate:i}),e[24]=i,e[25]=a.baseOptions,e[26]=u,e[27]=d,e[28]=p):p=e[28],p}function ji(t){const e=t?.branchPicker;return Ci(e)?e:null}function Ci(t){return!!(t&&typeof t=="object"&&typeof t.refsURL=="string"&&t.refsURL!==""&&typeof t.regenerateURLTemplate=="string"&&t.regenerateURLTemplate!==""&&typeof t.currentRef=="string"&&typeof t.headRef=="string")}function Ae(t){const e=E.c(22),{ariaLabel:n,fallbackValue:r,id:i,onNavigate:o,onSelectSessionSource:a,options:c,selectedOptionTitle:l,selectedValue:u}=t,d=l===void 0?!1:l;if(!Array.isArray(c)||c.length<2)return null;let p,m;e[0]!==n||e[1]!==r||e[2]!==c||e[3]!==d||e[4]!==u?(p=c.find(b=>b.value===u)??c.find(Pi)??c.find(Mi),m=d?typeof p?.message=="string"&&p.message.trim()!==""?p.message:String(p?.value??r).trim()||n:n,e[0]=n,e[1]=r,e[2]=c,e[3]=d,e[4]=u,e[5]=p,e[6]=m):(p=e[5],m=e[6]);const h=m,g=p?.value??r;let f;e[7]!==r||e[8]!==o||e[9]!==a||e[10]!==c||e[11]!==p?.value?(f=b=>{const w=c.find(y=>y.value===b.currentTarget.value);if(Pe(w?.sessionSource)&&a){a(w.sessionSource);return}if(!w?.url){b.currentTarget.value=p?.value??r;return}o(w.url)},e[7]=r,e[8]=o,e[9]=a,e[10]=c,e[11]=p?.value,e[12]=f):f=e[12];let x;e[13]!==c?(x=c.map(Ii),e[13]=c,e[14]=x):x=e[14];let v;return e[15]!==n||e[16]!==i||e[17]!==h||e[18]!==g||e[19]!==f||e[20]!==x?(v=s.jsx("select",{id:i,"aria-label":n,value:g,title:h,onChange:f,children:x}),e[15]=n,e[16]=i,e[17]=h,e[18]=g,e[19]=f,e[20]=x,e[21]=v):v=e[21],v}function Ii(t){return s.jsx("option",{value:t.value,disabled:t.disabled||!t.url&&!Pe(t.sessionSource),title:t.message,children:t.label},t.value)}function Mi(t){return!t.disabled}function Pi(t){return t.selected}function Ri(t){const e=E.c(31),{items:n,label:r,onJump:i,onOpenSearch:o,searchOpen:a,selectedItemId:c}=t;if(n.length===0)return null;if(n.length>500){let g;e[0]!==r?(g=r("jumpToFile"),e[0]=r,e[1]=g):g=e[1];let f;e[2]!==r?(f=r("jumpToFile"),e[2]=r,e[3]=f):f=e[3];let x;e[4]!==r?(x=r("jumpToFile"),e[4]=r,e[5]=x):x=e[5];let v;return e[6]!==o||e[7]!==a||e[8]!==g||e[9]!==f||e[10]!==x?(v=s.jsx("button",{id:"jump-search-button",type:"button","aria-controls":"files-sidebar","aria-expanded":a,"aria-label":g,title:f,onClick:o,children:x}),e[6]=o,e[7]=a,e[8]=g,e[9]=f,e[10]=x,e[11]=v):v=e[11],v}let l;e[12]!==r?(l=r("jumpToFile"),e[12]=r,e[13]=l):l=e[13];let u;e[14]!==i?(u=g=>i(g.currentTarget.value),e[14]=i,e[15]=u):u=e[15];let d;e[16]!==r?(d=r("jumpToFile"),e[16]=r,e[17]=d):d=e[17];let p;e[18]!==d?(p=s.jsx("option",{value:"",children:d}),e[18]=d,e[19]=p):p=e[19];let m;if(e[20]!==n||e[21]!==r){let g;e[23]!==r?(g=f=>s.jsx("option",{value:f.id,children:pe(f.fileDiff,r("untitled"))},f.id),e[23]=r,e[24]=g):g=e[24],m=n.map(g),e[20]=n,e[21]=r,e[22]=m}else m=e[22];let h;return e[25]!==c||e[26]!==l||e[27]!==u||e[28]!==p||e[29]!==m?(h=s.jsxs("select",{id:"jump-select","aria-label":l,value:c,onChange:u,children:[p,m]}),e[25]=c,e[26]=l,e[27]=u,e[28]=p,e[29]=m,e[30]=h):h=e[30],h}function Li(t){const e=E.c(137),{dispatch:n,externalURL:r,label:i,onCopyGitApply:o,onReload:a,onSetLayout:c,state:l}=t;let u;e[0]!==n||e[1]!==l.options?(u=N=>n({type:"set-option",key:N,value:!l.options[N]}),e[0]=n,e[1]=l.options,e[2]=u):u=e[2];const d=u;let p;e[3]!==i?(p=i("options"),e[3]=i,e[4]=p):p=e[4];let m;e[5]!==i?(m=i("refresh"),e[5]=i,e[6]=m):m=e[6];let h;e[7]!==a||e[8]!==m?(h=s.jsx(ce,{icon:"refresh",label:m,onClick:a}),e[7]=a,e[8]=m,e[9]=h):h=e[9];let g;e[10]!==i||e[11]!==l.options.wordWrap?(g=l.options.wordWrap?i("disableWordWrap"):i("enableWordWrap"),e[10]=i,e[11]=l.options.wordWrap,e[12]=g):g=e[12];let f;e[13]!==d?(f=()=>d("wordWrap"),e[13]=d,e[14]=f):f=e[14];let x;e[15]!==l.options.wordWrap||e[16]!==g||e[17]!==f?(x=s.jsx(ce,{checked:l.options.wordWrap,icon:"wrap",label:g,onClick:f}),e[15]=l.options.wordWrap,e[16]=g,e[17]=f,e[18]=x):x=e[18];const v=l.options.collapsed?"expand":"collapse";let b;e[19]!==i||e[20]!==l.options.collapsed?(b=l.options.collapsed?i("expandAllDiffs"):i("collapseAllDiffs"),e[19]=i,e[20]=l.options.collapsed,e[21]=b):b=e[21];let w;e[22]!==d?(w=()=>d("collapsed"),e[22]=d,e[23]=w):w=e[23];let y;e[24]!==l.options.collapsed||e[25]!==w||e[26]!==v||e[27]!==b?(y=s.jsx(ce,{checked:l.options.collapsed,icon:v,label:b,onClick:w}),e[24]=l.options.collapsed,e[25]=w,e[26]=v,e[27]=b,e[28]=y):y=e[28];let I;e[29]===Symbol.for("react.memo_cache_sentinel")?(I=s.jsx("div",{className:"menu-separator"}),e[29]=I):I=e[29];let M;e[30]!==i||e[31]!==l.options.layout?(M=l.options.layout==="split"?i("switchToUnifiedDiff"):i("switchToSplitDiff"),e[30]=i,e[31]=l.options.layout,e[32]=M):M=e[32];let F;e[33]!==c||e[34]!==l.options.layout?(F=()=>c(l.options.layout==="split"?"unified":"split"),e[33]=c,e[34]=l.options.layout,e[35]=F):F=e[35];let k;e[36]!==l.options.layout||e[37]!==M||e[38]!==F?(k=s.jsx(ce,{icon:l.options.layout,label:M,onClick:F}),e[36]=l.options.layout,e[37]=M,e[38]=F,e[39]=k):k=e[39];let j;e[40]!==r||e[41]!==i?(j=r?s.jsx(ce,{icon:"external",label:i("openSourceURL"),onClick:()=>window.open(r,"_blank","noreferrer")}):null,e[40]=r,e[41]=i,e[42]=j):j=e[42];let R;e[43]!==i||e[44]!==l.filesVisible?(R=l.filesVisible?i("hideFiles"):i("showFiles"),e[43]=i,e[44]=l.filesVisible,e[45]=R):R=e[45];let T;e[46]!==n||e[47]!==l.filesVisible?(T=()=>n({type:"set-files-visible",visible:!l.filesVisible}),e[46]=n,e[47]=l.filesVisible,e[48]=T):T=e[48];let z;e[49]!==l.filesVisible||e[50]!==R||e[51]!==T?(z=s.jsx(ce,{checked:l.filesVisible,icon:"files",label:R,onClick:T}),e[49]=l.filesVisible,e[50]=R,e[51]=T,e[52]=z):z=e[52];let O;e[53]!==i||e[54]!==l.options.expandUnchanged?(O=l.options.expandUnchanged?i("collapseUnchangedContext"):i("expandUnchangedContext"),e[53]=i,e[54]=l.options.expandUnchanged,e[55]=O):O=e[55];let L;e[56]!==d?(L=()=>d("expandUnchanged"),e[56]=d,e[57]=L):L=e[57];let $;e[58]!==l.options.expandUnchanged||e[59]!==O||e[60]!==L?($=s.jsx(ce,{checked:l.options.expandUnchanged,icon:"document",label:O,onClick:L}),e[58]=l.options.expandUnchanged,e[59]=O,e[60]=L,e[61]=$):$=e[61];let G;e[62]!==i||e[63]!==l.options.showBackgrounds?(G=l.options.showBackgrounds?i("hideBackgrounds"):i("showBackgrounds"),e[62]=i,e[63]=l.options.showBackgrounds,e[64]=G):G=e[64];let H;e[65]!==d?(H=()=>d("showBackgrounds"),e[65]=d,e[66]=H):H=e[66];let W;e[67]!==l.options.showBackgrounds||e[68]!==G||e[69]!==H?(W=s.jsx(ce,{checked:l.options.showBackgrounds,icon:"background",label:G,onClick:H}),e[67]=l.options.showBackgrounds,e[68]=G,e[69]=H,e[70]=W):W=e[70];let U;e[71]!==i||e[72]!==l.options.lineNumbers?(U=l.options.lineNumbers?i("hideLineNumbers"):i("showLineNumbers"),e[71]=i,e[72]=l.options.lineNumbers,e[73]=U):U=e[73];let D;e[74]!==d?(D=()=>d("lineNumbers"),e[74]=d,e[75]=D):D=e[75];let _;e[76]!==l.options.lineNumbers||e[77]!==U||e[78]!==D?(_=s.jsx(ce,{checked:l.options.lineNumbers,icon:"numbers",label:U,onClick:D}),e[76]=l.options.lineNumbers,e[77]=U,e[78]=D,e[79]=_):_=e[79];let q;e[80]!==i||e[81]!==l.options.wordDiffs?(q=l.options.wordDiffs?i("disableWordDiffs"):i("enableWordDiffs"),e[80]=i,e[81]=l.options.wordDiffs,e[82]=q):q=e[82];let B;e[83]!==d?(B=()=>d("wordDiffs"),e[83]=d,e[84]=B):B=e[84];let K;e[85]!==l.options.wordDiffs||e[86]!==q||e[87]!==B?(K=s.jsx(ce,{checked:l.options.wordDiffs,icon:"word",label:q,onClick:B}),e[85]=l.options.wordDiffs,e[86]=q,e[87]=B,e[88]=K):K=e[88];let X;e[89]===Symbol.for("react.memo_cache_sentinel")?(X=s.jsx(re,{name:"bars"}),e[89]=X):X=e[89];let J;e[90]!==i?(J=i("indicatorStyle"),e[90]=i,e[91]=J):J=e[91];let Z;e[92]!==J?(Z=s.jsx("span",{className:"menu-label",children:J}),e[92]=J,e[93]=Z):Z=e[93];let C;e[94]!==i?(C=i("bars"),e[94]=i,e[95]=C):C=e[95];let V;e[96]!==C?(V={value:"bars",icon:"bars",label:C},e[96]=C,e[97]=V):V=e[97];let P;e[98]!==i?(P=i("classic"),e[98]=i,e[99]=P):P=e[99];let A;e[100]!==P?(A={value:"classic",icon:"classic",label:P},e[100]=P,e[101]=A):A=e[101];let Q;e[102]!==i?(Q=i("none"),e[102]=i,e[103]=Q):Q=e[103];let te;e[104]!==Q?(te={value:"none",icon:"eye",label:Q},e[104]=Q,e[105]=te):te=e[105];let ae;e[106]!==V||e[107]!==A||e[108]!==te?(ae=[V,A,te],e[106]=V,e[107]=A,e[108]=te,e[109]=ae):ae=e[109];let ee;e[110]!==n||e[111]!==l.options.diffIndicators||e[112]!==ae?(ee=s.jsx("span",{className:"menu-segment-controls",children:ae.map(N=>s.jsx("button",{type:"button",className:"segment-button",title:N.label,"aria-label":N.label,"aria-pressed":l.options.diffIndicators===N.value,onClick:()=>n({type:"set-option",key:"diffIndicators",value:N.value}),children:s.jsx(re,{name:N.icon})},N.value))}),e[110]=n,e[111]=l.options.diffIndicators,e[112]=ae,e[113]=ee):ee=e[113];let ne;e[114]!==Z||e[115]!==ee?(ne=s.jsxs("div",{className:"menu-item menu-segment",children:[X,Z,ee]}),e[114]=Z,e[115]=ee,e[116]=ne):ne=e[116];let le;e[117]===Symbol.for("react.memo_cache_sentinel")?(le=s.jsx("div",{className:"menu-separator"}),e[117]=le):le=e[117];let ie;e[118]!==i?(ie=i("copyGitApplyCommand"),e[118]=i,e[119]=ie):ie=e[119];let oe;e[120]!==o||e[121]!==ie?(oe=s.jsx(ce,{icon:"clipboard",label:ie,onClick:o}),e[120]=o,e[121]=ie,e[122]=oe):oe=e[122];let fe;return e[123]!==y||e[124]!==k||e[125]!==j||e[126]!==z||e[127]!==p||e[128]!==$||e[129]!==W||e[130]!==_||e[131]!==K||e[132]!==h||e[133]!==ne||e[134]!==oe||e[135]!==x?(fe=s.jsxs("div",{id:"options-menu","aria-label":p,children:[h,x,y,I,k,j,z,$,W,_,K,ne,le,oe]}),e[123]=y,e[124]=k,e[125]=j,e[126]=z,e[127]=p,e[128]=$,e[129]=W,e[130]=_,e[131]=K,e[132]=h,e[133]=ne,e[134]=oe,e[135]=x,e[136]=fe):fe=e[136],fe}function ce(t){const e=E.c(14),{checked:n,icon:r,label:i,onClick:o}=t,a=n??void 0;let c;e[0]!==r?(c=s.jsx(re,{name:r}),e[0]=r,e[1]=c):c=e[1];let l;e[2]!==i?(l=s.jsx("span",{className:"menu-label",children:i}),e[2]=i,e[3]=l):l=e[3];let u;e[4]!==n?(u=n?s.jsx(re,{name:"check"}):null,e[4]=n,e[5]=u):u=e[5];let d;e[6]!==u?(d=s.jsx("span",{className:"menu-check",children:u}),e[6]=u,e[7]=d):d=e[7];let p;return e[8]!==o||e[9]!==a||e[10]!==c||e[11]!==l||e[12]!==d?(p=s.jsxs("button",{type:"button",className:"menu-item","aria-pressed":a,onClick:o,children:[c,l,d]}),e[8]=o,e[9]=a,e[10]=c,e[11]=l,e[12]=d,e[13]=p):p=e[13],p}function Ti(t){const e=E.c(70),{commentEntries:n,commentLabels:r,dispatch:i,hasDraft:o,label:a,onSelectComment:c,onSelectItem:l,selectedPath:u,state:d}=t,p=S.useRef(null);let m;e[0]!==i?(m=B=>{const K=p.current;if(!K)return;const X=document.documentElement.clientWidth||window.innerWidth,J=Math.max(220,Math.min(520,Math.floor(X*.55))),Z=Math.max(180,Math.min(J,Math.round(K.startWidth-(B-K.startX))));i({type:"set-files-width",width:Z})},e[0]=i,e[1]=m):m=e[1];const h=m;let g;e[2]!==a?(g=a("changedFiles"),e[2]=a,e[3]=g):g=e[3];const f=!d.filesVisible,x=!d.filesVisible;let v;e[4]!==a?(v=a("files"),e[4]=a,e[5]=v):v=e[5];let b;e[6]!==d.filesWidth?(b=B=>{p.current={startWidth:d.filesWidth,startX:B.clientX},B.currentTarget.setPointerCapture(B.pointerId)},e[6]=d.filesWidth,e[7]=b):b=e[7];let w,y;e[8]!==h?(w=B=>h(B.clientX),y=B=>{h(B.clientX),p.current=null,B.currentTarget.releasePointerCapture(B.pointerId)},e[8]=h,e[9]=w,e[10]=y):(w=e[9],y=e[10]);let I;e[11]===Symbol.for("react.memo_cache_sentinel")?(I=()=>{p.current=null},e[11]=I):I=e[11];let M;e[12]!==i||e[13]!==d.filesWidth?(M=B=>{if(B.key!=="ArrowLeft"&&B.key!=="ArrowRight")return;B.preventDefault();const K=B.key==="ArrowLeft"?20:-20;i({type:"set-files-width",width:Math.max(180,Math.min(520,d.filesWidth+K))})},e[12]=i,e[13]=d.filesWidth,e[14]=M):M=e[14];let F;e[15]!==M||e[16]!==v||e[17]!==b||e[18]!==w||e[19]!==y?(F=s.jsx("button",{id:"files-resize-handle","aria-label":v,type:"button",tabIndex:0,onPointerDown:b,onPointerMove:w,onPointerUp:y,onPointerCancel:I,onKeyDown:M}),e[15]=M,e[16]=v,e[17]=b,e[18]=w,e[19]=y,e[20]=F):F=e[20];let k;e[21]!==a?(k=a("files"),e[21]=a,e[22]=k):k=e[22];let j;e[23]!==k?(j=s.jsx("span",{children:k}),e[23]=k,e[24]=j):j=e[24];const R=d.treeSource?.pathCount??0;let T;e[25]!==R?(T=s.jsx("span",{id:"files-count",children:R}),e[25]=R,e[26]=T):T=e[26];let z;e[27]!==j||e[28]!==T?(z=s.jsxs("span",{id:"files-title",children:[j,T]}),e[27]=j,e[28]=T,e[29]=z):z=e[29];let O;e[30]!==a||e[31]!==d.fileSearchOpen?(O=d.fileSearchOpen?a("hideFileSearch"):a("showFileSearch"),e[30]=a,e[31]=d.fileSearchOpen,e[32]=O):O=e[32];let L;e[33]!==a||e[34]!==d.fileSearchOpen?(L=d.fileSearchOpen?a("hideFileSearch"):a("showFileSearch"),e[33]=a,e[34]=d.fileSearchOpen,e[35]=L):L=e[35];const $=!d.treeSource;let G;e[36]!==i||e[37]!==d.fileSearchOpen?(G=()=>d.fileSearchOpen?Qe(i):i({type:"set-file-search-open",open:!0}),e[36]=i,e[37]=d.fileSearchOpen,e[38]=G):G=e[38];let H;e[39]===Symbol.for("react.memo_cache_sentinel")?(H=s.jsx(re,{name:"search"}),e[39]=H):H=e[39];let W;e[40]!==d.fileSearchOpen||e[41]!==O||e[42]!==L||e[43]!==$||e[44]!==G?(W=s.jsx("span",{id:"files-header-actions",children:s.jsx("button",{id:"file-search-toggle",type:"button",title:O,"aria-label":L,"aria-pressed":d.fileSearchOpen,disabled:$,onClick:G,children:H})}),e[40]=d.fileSearchOpen,e[41]=O,e[42]=L,e[43]=$,e[44]=G,e[45]=W):W=e[45];let U;e[46]!==z||e[47]!==W?(U=s.jsxs("div",{id:"files-header",children:[z,W]}),e[46]=z,e[47]=W,e[48]=U):U=e[48];let D;e[49]!==a||e[50]!==l||e[51]!==u||e[52]!==d.fileSearchOpen||e[53]!==d.fileSearchRequest||e[54]!==d.status||e[55]!==d.treeSource?(D=s.jsx("div",{id:"file-list",children:d.treeSource?s.jsx(Fi,{fileSearchOpen:d.fileSearchOpen,fileSearchRequest:d.fileSearchRequest,label:a,onSelectItem:l,selectedPath:u,source:d.treeSource}):d.status.loading||d.status.pending?s.jsx(_i,{}):s.jsx("div",{className:"visually-hidden",children:d.status.message})}),e[49]=a,e[50]=l,e[51]=u,e[52]=d.fileSearchOpen,e[53]=d.fileSearchRequest,e[54]=d.status,e[55]=d.treeSource,e[56]=D):D=e[56];let _;e[57]!==n||e[58]!==r||e[59]!==o||e[60]!==c?(_=s.jsx(rr,{entries:n,hasDraft:o,labels:r,onSelect:c}),e[57]=n,e[58]=r,e[59]=o,e[60]=c,e[61]=_):_=e[61];let q;return e[62]!==F||e[63]!==g||e[64]!==U||e[65]!==D||e[66]!==_||e[67]!==f||e[68]!==x?(q=s.jsxs("aside",{id:"files-sidebar","aria-label":g,"aria-hidden":f,inert:x,children:[F,U,D,_]}),e[62]=F,e[63]=g,e[64]=U,e[65]=D,e[66]=_,e[67]=f,e[68]=x,e[69]=q):q=e[69],q}function Fi(t){const e=E.c(18),{fileSearchOpen:n,fileSearchRequest:r,label:i,onSelectItem:o,selectedPath:a,source:c}=t;let l;e[0]!==i||e[1]!==o||e[2]!==c?(l={label:i,onSelectItem:o,source:c},e[0]=i,e[1]=o,e[2]=c,e[3]=l):l=e[3];const u=Me(l);let d;e[4]!==c.paths?(d=()=>Ee(c.paths),e[4]=c.paths,e[5]=d):d=e[5];const[p]=S.useState(d);let m;e[6]!==a?(m=a?[a]:[],e[6]=a,e[7]=m):m=e[7];let h;e[8]===Symbol.for("react.memo_cache_sentinel")?(h=Dt(),e[8]=h):h=e[8];const g=c.gitStatus;let f;e[9]===Symbol.for("react.memo_cache_sentinel")?(f=Sr(),e[9]=f):f=e[9];let x;e[10]!==p||e[11]!==u||e[12]!==m||e[13]!==g?(x={flattenEmptyDirectories:!1,id:"cmux-diff-file-tree",initialExpansion:"open",initialSelectedPaths:m,initialVisibleRowCount:h,itemHeight:24,overscan:12,preparedInput:p,search:!0,searchBlurBehavior:"retain",stickyFolders:!0,gitStatus:g,sort:Ni,unsafeCSS:f,onSelectionChange(y){const I=y[y.length-1],M=u.current.source.pathToItemId.get(I);M&&u.current.onSelectItem(M)}},e[10]=p,e[11]=u,e[12]=m,e[13]=g,e[14]=x):x=e[14];const{model:v}=qt(x);Gi(v,c),Hi(v,n,r),qi(v,a);let b;e[15]===Symbol.for("react.memo_cache_sentinel")?(b={height:"100%"},e[15]=b):b=e[15];let w;return e[16]!==v?(w=s.jsx(Yt,{model:v,style:b}),e[16]=v,e[17]=w):w=e[17],w}function Ni(){return 0}function _i(){const t=E.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=s.jsx("div",{className:"diff-loading-placeholder","aria-hidden":"true",children:ti.map(Bi)}),t[0]=e):e=t[0],e}function Bi(t,e){return s.jsxs("div",{className:"grid h-6 grid-cols-[16px_minmax(0,1fr)_44px] items-center gap-2 rounded-[5px] px-[7px]",children:[s.jsx("span",{className:"size-4 rounded-[5px] border border-[color-mix(in_lab,var(--cmux-diff-fg)_18%,transparent)]"}),s.jsx("span",{className:"h-[11px] rounded bg-[var(--cmux-diff-muted-bg)]",style:{width:t}}),s.jsx("span",{className:"h-[11px] justify-self-end rounded bg-[var(--cmux-diff-muted-bg)] opacity-70",style:{width:e%2===0?"34px":"24px"}})]},`${t}-${e}`)}function Ei(){const t=E.c(2);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=s.jsxs("div",{className:"mb-3 grid h-9 grid-cols-[72px_minmax(0,1fr)_96px] items-center gap-3 rounded-md bg-[color-mix(in_lab,var(--cmux-diff-fg)_5%,transparent)] px-3",children:[s.jsx("span",{className:"h-3 rounded bg-[var(--cmux-diff-muted-bg)]"}),s.jsx("span",{className:"h-3 w-2/5 rounded bg-[var(--cmux-diff-muted-bg)]"}),s.jsx("span",{className:"h-3 rounded bg-[var(--cmux-diff-muted-bg)] opacity-70"})]}),t[0]=e):e=t[0];let n;return t[1]===Symbol.for("react.memo_cache_sentinel")?(n=s.jsxs("div",{className:"diff-loading-placeholder mx-3.5 mt-3.5 border-t border-[var(--cmux-diff-border)] pt-3","aria-hidden":"true",children:[e,s.jsx("div",{className:"space-y-[13px] px-3 py-1",children:ni.map(Di)})]}),t[1]=n):n=t[1],n}function Di(t,e){return s.jsxs("div",{className:"grid grid-cols-[42px_minmax(0,1fr)] items-center gap-4",children:[s.jsx("span",{className:"h-px bg-[color-mix(in_lab,var(--cmux-diff-fg)_10%,transparent)]"}),s.jsx("span",{className:"h-3 rounded bg-[var(--cmux-diff-muted-bg)]",style:{width:t}})]},`${t}-${e}`)}function Ai(t){const e=E.c(16),{label:n,status:r}=t;if(!r.loading&&!r.pending&&!r.statusOnly&&!r.error)return null;const i=r.error?"true":"false",o=r.pending?"true":"false";let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a=s.jsx("span",{id:"status-icon","aria-hidden":"true"}),e[0]=a):a=e[0];let c;e[1]!==n||e[2]!==r.message?(c=r.message||n("loadingDiff"),e[1]=n,e[2]=r.message,e[3]=c):c=e[3];let l;e[4]!==c?(l=s.jsx("span",{id:"status-text",children:c}),e[4]=c,e[5]=l):l=e[5];let u;e[6]!==i||e[7]!==o||e[8]!==l?(u=s.jsxs("div",{id:"status","data-error":i,"data-pending":o,children:[a,l]}),e[6]=i,e[7]=o,e[8]=l,e[9]=u):u=e[9];let d;e[10]!==r.loading||e[11]!==r.pending?(d=r.loading||r.pending?s.jsx(Ei,{}):null,e[10]=r.loading,e[11]=r.pending,e[12]=d):d=e[12];let p;return e[13]!==u||e[14]!==d?(p=s.jsxs("div",{id:"loading-layer","aria-live":"polite",children:[u,d]}),e[13]=u,e[14]=d,e[15]=p):p=e[15],p}function Me(t){const e=E.c(3),n=S.useRef(t);let r,i;return e[0]!==t?(r=()=>{n.current=t},i=[t],e[0]=t,e[1]=r,e[2]=i):(r=e[1],i=e[2]),S.useEffect(r,i),n}function zi(t,e){const n=E.c(5),r=Kt(),i=S.useRef(null);let o,a;n[0]!==e||n[1]!==t||n[2]!==r?(o=()=>{if(!r||$i(i.current,t))return;let c=!0;return i.current=t,r.setRenderOptions(t).then(()=>{c&&e.current?.getInstance()?.render(!0)}).catch(Oi),()=>{c=!1}},a=[e,t,r],n[0]=e,n[1]=t,n[2]=r,n[3]=o,n[4]=a):(o=n[3],a=n[4]),S.useEffect(o,a)}function Oi(t){return console.warn("cmux diff worker render options update failed",t)}function $i(t,e){return t?.lineDiffType===e.lineDiffType&&Vi(t?.langs,e.langs)&&t?.maxLineDiffLength===e.maxLineDiffLength&&t?.preferredHighlighter===e.preferredHighlighter&&Wi(t?.theme,e.theme)&&t?.tokenizeMaxLineLength===e.tokenizeMaxLineLength&&t?.useTokenTransformer===e.useTokenTransformer}function Vi(t,e){return t===e?!0:t==null||e==null||t.length!==e.length?!1:t.every((n,r)=>n===e[r])}function Wi(t,e){return t===e?!0:typeof t!="object"||t==null||typeof e!="object"||e==null?!1:t.dark===e.dark&&t.light===e.light}function Gi(t,e){const n=E.c(4),r=S.useRef(null);let i,o;n[0]!==t||n[1]!==e?(i=()=>{const a=r.current;r.current=e;const c=hr(a,e,e.paths);let l=c.kind==="append"?c.requiresFullGitStatus:!1;if(c.kind==="append"){if(c.addedPaths.length>0)try{t.batch(c.addedPaths.map(Ui)),l=!c.sourceFollowsPrevious}catch{const u=Ee(e.paths);t.resetPaths(e.paths,{preparedInput:u}),l=!0}}else{const u=Ee(e.paths);t.resetPaths(e.paths,{preparedInput:u}),l=!0}gr(t,e,l)},o=[t,e],n[0]=t,n[1]=e,n[2]=i,n[3]=o):(i=n[2],o=n[3]),S.useEffect(i,o)}function Ui(t){return{type:"add",path:t}}function Hi(t,e,n){const r=E.c(7);let i;r[0]!==e||r[1]!==t?(i=()=>{if(e){const a=t.isSearchOpen();if(t.openSearch(a?t.getSearchValue():""),a){const c=t.getFileTreeContainer();(c?.shadowRoot??c?.getRootNode())?.querySelector("[data-file-tree-search-input]")?.focus()}}else t.closeSearch()},r[0]=e,r[1]=t,r[2]=i):i=r[2];let o;r[3]!==e||r[4]!==n||r[5]!==t?(o=[e,n,t],r[3]=e,r[4]=n,r[5]=t,r[6]=o):o=r[6],S.useEffect(i,o)}function qi(t,e){const n=E.c(4);let r,i;n[0]!==t||n[1]!==e?(r=()=>{xr(t,e)},i=[t,e],n[0]=t,n[1]=e,n[2]=r,n[3]=i):(r=n[2],i=n[3]),S.useEffect(r,i)}function Ki(t,e,n,r,i,o,a,c,l,u){S.useEffect(()=>{if(to(t.payload,e,l))return;const d=t.payload??{},p=Oe(d.appearance);for(const f of[p.themes.light,p.themes.dark])f.name&&!ht.has(f.name)&&(Wt(f.name,()=>Promise.resolve(jr(f))),ht.add(f.name));let m=!1;const h=new AbortController,g=()=>{c()};return window.addEventListener("pagehide",g),(async()=>{try{let f=d.patchURL;const x=Ye(d,e,l);if(x){const b=await e.request({method:"sessionOpen",params:x});if(b.type!=="sessionOpened")throw new ue("invalidResponse","Diff transport did not open a session");const w={sessionId:b.value.sessionId,capabilityToken:String(d.capabilityToken??"")};if(m){await Et(e,w);return}a.current=w,u(b.value.source),f=b.value.patch.id}if(m||!f)return;o(f);const v=[];r({type:"set-status",status:se(n("parsingDiff"),{loading:!0})}),await Rn({getCollapsed:()=>i.current.options.collapsed,initialFileTreeRowCount:Dt(),label:n,signal:h.signal,onBatch:b=>{m||(v.push(...b),r({type:"append-items",items:b}))},onComplete:b=>{if(m)return;r({type:"set-metrics",metrics:b});const w=v;if(w.length===0){const M=typeof d.emptyMessage=="string"?d.emptyMessage:n("noFileDiffs");r({type:"set-status",status:se(M,{error:!1,loading:!1,statusOnly:!0})});return}const y=Array.from(new Set([p.theme?.light,p.theme?.dark].filter(Boolean))),I=Array.from(new Set(w.flatMap(M=>{const F=M.fileDiff??{};return Pt(pe(F,""),F.lang,F,ze)})));Ht({themes:y,langs:I.length>0?I:["text"]}).catch(M=>console.warn("cmux diff highlighter preload failed",M))},onMetrics:b=>{m||r({type:"set-metrics",metrics:b})},onRename:b=>{m||r({type:"rename-item",oldId:b.oldId,newId:b.newId})},onTreeSource:b=>{m||r({type:"set-tree-source",source:b})},parsePatchFiles:Ut,patchURL:f,processFile:Gt})}catch(f){if(m)return;const x=f instanceof ue&&f.code==="emptyDiff";x||console.error("cmux diff viewer render failed",String(f?.stack??f?.message??f));const v=typeof d.emptyMessage=="string"?d.emptyMessage:n("noFileDiffs");r({type:"set-status",status:se(x?v:n("renderFailed"),{error:!x,loading:!1,statusOnly:!0})})}})(),()=>{m=!0,h.abort(),window.removeEventListener("pagehide",g),c()}},[a,c,t,r,n,i,o,u,l,e])}function Et(t,e){return t.request({method:"sessionClose",params:e}).then(()=>{},()=>{})}function Ye(t,e,n){if(!e||typeof t?.capabilityToken!="string")return null;const r=n??t.sessionSource;return Pe(r)?{source:r,capabilityToken:t.capabilityToken}:null}function Pe(t){if(!t||typeof t!="object"||typeof t.kind!="string")return!1;const e=t;return e.kind==="patch"?typeof e.path=="string":e.kind==="unstaged"||e.kind==="staged"?typeof e.repoRoot=="string":e.kind==="branch"&&typeof e.repoRoot=="string"&&(e.baseRef==null||typeof e.baseRef=="string")}function Yi(t){return t?.kind??null}function xe(t){return t&&"repoRoot"in t?t.repoRoot:null}function Qi(t,e){if(t.kind==="patch")return t;const n=xe(e);return n?t.kind==="branch"?t.repoRoot===n?{...t,repoRoot:n}:{kind:"branch",repoRoot:n}:{...t,repoRoot:n}:t}function Xi(t,e){const n=xe(t);return!n||!e||e.kind==="patch"?t:e.kind==="branch"?e.repoRoot===n?{...e,repoRoot:n}:{kind:"branch",repoRoot:n}:{...e,repoRoot:n}}function Ji(t){const e=t.fileDiff;if(e==null)return;const n=Mt(pe(e,""),e.lang,ze);e.lang=n}function Zi(t){const e=t.fileDiff;return e==null?[]:Pt(pe(e,""),e.lang,e,ze)}function eo(t,e){const n=new Set(t);for(const r of e)r.trim().length>0&&n.add(r);return Array.from(n)}function to(t,e=null,n=null){return t?.pendingReplacement===!0?Ye(t,e,n)==null:typeof t?.statusMessage=="string"&&t.statusMessage.length>0}function no(t,e,n,r){const i=E.c(6),o=S.useRef(!1);let a,c;i[0]!==n||i[1]!==e||i[2]!==t||i[3]!==r?(a=()=>{if(!o.current){if(o.current=!0,t.pendingReplacement===!0){if(n({type:"set-status",status:se(t.statusMessage??e("loadingDiff"),{loading:!0,pending:!0})}),Ye(t,r)||window.location.protocol==="cmux-diff-viewer:")return;fetch("/__cmux_diff_viewer_wait"+window.location.pathname,{cache:"no-store"}).then(ro).catch(l=>{document.documentElement.dataset.cmuxDiffWait="failed",n({type:"set-status",status:se(e("renderFailed"),{error:!0,loading:!1,statusOnly:!0})}),console.warn("cmux diff viewer deferred load failed",l)});return}typeof t.statusMessage=="string"&&t.statusMessage.length>0&&n({type:"set-status",status:se(t.statusMessage,{error:t.statusIsError===!0,loading:!1,statusOnly:!0})})}},c=[n,e,t,r],i[0]=n,i[1]=e,i[2]=t,i[3]=r,i[4]=a,i[5]=c):(a=i[4],c=i[5]),S.useEffect(a,c)}async function ro(t){if(!t.ok)throw new Error("replacement failed");(await t.text()).includes('data-cmux-diff-pending="true"')||window.location.reload()}function io(t){const e=E.c(10);let n;e[0]!==t.filesVisible||e[1]!==t.items||e[2]!==t.metrics||e[3]!==t.options.diffIndicators||e[4]!==t.options.layout||e[5]!==t.options.wordWrap||e[6]!==t.status?(n=()=>{document.body.dataset.filesHidden=t.filesVisible?"false":"true",document.body.dataset.loading=t.status.loading?"true":"false",document.documentElement.dataset.layout=t.options.layout,document.documentElement.dataset.wordWrap=String(t.options.wordWrap),document.documentElement.dataset.diffIndicators=t.options.diffIndicators,t.metrics&&(document.body.dataset.streamFileCount=String(t.metrics.fileCount??t.items.length),document.body.dataset.streamRenderableFileCount=String(t.metrics.renderableFileCount??t.items.length),document.body.dataset.streamFlushCount=String(t.metrics.flushCount??0),document.body.dataset.streamMaxBatchSize=String(t.metrics.maxBatchSize??0),document.body.dataset.streamTreeRefreshCount=String(t.metrics.treeRefreshCount??0),Number.isFinite(t.metrics.completedAt)&&t.metrics.completedAt>0&&(document.body.dataset.streamElapsedMs=String(Math.round(t.metrics.completedAt-t.metrics.startedAt)))),Ie(t.status)},e[0]=t.filesVisible,e[1]=t.items,e[2]=t.metrics,e[3]=t.options.diffIndicators,e[4]=t.options.layout,e[5]=t.options.wordWrap,e[6]=t.status,e[7]=n):n=e[7];let r;e[8]!==t?(r=[t],e[8]=t,e[9]=r):r=e[9],S.useEffect(n,r)}function oo(t,e,n,r){const i=E.c(6);let o,a;i[0]!==e||i[1]!==r||i[2]!==n||i[3]!==t?(o=()=>{window.__cmuxPerformDiffViewerNavigationAction=l=>{const u=t.current;if(u&&CmuxViewerNavigation.performAction(l,u))return!0;const d=r.current;switch(l){case"diffViewerOpenFileSearch":return e({type:"request-file-search"}),!0;case"diffViewerNextFile":return u&&CmuxViewerNavigation.resetSmoothTarget(u),n(1),!0;case"diffViewerPreviousFile":return u&&CmuxViewerNavigation.resetSmoothTarget(u),n(-1),!0;case"diffViewerOpenFind":return e({type:"request-find"}),!0;case"diffViewerFindNext":return d.open?(d.controller.goToNext(),!0):!1;case"diffViewerFindPrevious":return d.open?(d.controller.goToPrevious(),!0):!1;case"diffViewerCloseFind":return d.open?(d.controller.closeFind(),!0):!1}return!1},document.documentElement.dataset.cmuxViewerNavigationReady="true",document.dispatchEvent(new window.Event("cmux-diff-viewer-navigation-readiness-change"));const c=CmuxViewerNavigation.installManualInputReset({target:document,getScroller:()=>t.current});return()=>{delete window.__cmuxPerformDiffViewerNavigationAction,delete document.documentElement.dataset.cmuxViewerNavigationReady,document.dispatchEvent(new window.Event("cmux-diff-viewer-navigation-readiness-change")),c()}},a=[e,r,n,t],i[0]=e,i[1]=r,i[2]=n,i[3]=t,i[4]=o,i[5]=a):(o=i[4],a=i[5]),S.useEffect(o,a)}function ao(t,e){const n=E.c(4);let r,i;n[0]!==e||n[1]!==t?(r=()=>{if(!t)return;const o=c=>{c.target instanceof Element&&c.target.closest("#toolbar")||e({type:"set-options-open",open:!1})},a=c=>{c.key==="Escape"&&e({type:"set-options-open",open:!1})};return document.addEventListener("click",o),document.addEventListener("keydown",a),()=>{document.removeEventListener("click",o),document.removeEventListener("keydown",a)}},i=[e,t],n[0]=e,n[1]=t,n[2]=r,n[3]=i):(r=n[2],i=n[3]),S.useEffect(r,i)}function Qe(t,e=document){t({type:"set-file-search-open",open:!1}),(e.getElementById("jump-search-button")??e.getElementById("jump-select"))?.focus()}function so(t,e){return t==="Escape"&&e}function lo(t,e){const n=E.c(4);let r,i;n[0]!==e||n[1]!==t?(r=()=>{if(!t)return;const o=a=>{so(a.key,window.matchMedia("(max-width: 520px)").matches)&&(a.preventDefault(),Qe(e))};return document.addEventListener("keydown",o),()=>document.removeEventListener("keydown",o)},i=[e,t],n[0]=e,n[1]=t,n[2]=r,n[3]=i):(r=n[2],i=n[3]),S.useEffect(r,i)}function co(t){const e=S.useRef(void 0);return e.current===void 0&&(e.current=Fr(t)),S.useEffect(()=>{const n=e.current;return()=>n?.close()},[]),e.current}function fo(t,e){return e.some(n=>n.id===t)?t:e[0]?.id??""}function uo(t,e,n){if(e.length===0)return"";const r=e.findIndex(o=>o.id===t);if(r<0)return n>0?e[0].id:e[e.length-1].id;const i=r+n;return i>=0&&i0?0:-1;for(;r<=i;){const a=Math.floor((r+i)/2),c=n(t[a].id);c!=null&&c<=e+1?(o=a,r=a+1):i=a-1}return o>=0?t[o].id:""}function Dt(){const t=window.visualViewport?.height??window.innerHeight;return!Number.isFinite(t)||t<=0?25:Math.min(96,Math.max(25,Math.ceil(t/24)))}const mo=`@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--font-weight-medium:500;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--blur-sm:8px;--blur-lg:16px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\\@container{container-type:inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\\/2{top:50%}.right-2\\.5{right:calc(var(--spacing) * 2.5)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-\\[calc\\(100\\%\\+6px\\)\\]{bottom:calc(100% + 6px)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing) * 0)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-px{margin:1px}.mx-3\\.5{margin-inline:calc(var(--spacing) * 3.5)}.ms-1{margin-inline-start:calc(var(--spacing) * 1)}.mt-1\\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-3\\.5{margin-top:calc(var(--spacing) * 3.5)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-\\[3px\\]{margin-right:3px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-px{margin-bottom:1px}.ml-1\\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.size-\\[22px\\]{width:22px;height:22px}.\\!h-auto{height:auto!important}.h-0{height:calc(var(--spacing) * 0)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-\\[1lh\\]{height:1lh}.h-\\[1px\\]{height:1px}.h-\\[11px\\]{height:11px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\\[25dvh\\]{max-height:25dvh}.max-h-\\[140px\\]{max-height:140px}.max-h-none{max-height:none}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\\[1\\.25rem\\]{min-height:1.25rem}.w-2\\/5{width:40%}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-7{width:calc(var(--spacing) * 7)}.w-52{width:calc(var(--spacing) * 52)}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-16{max-width:calc(var(--spacing) * 16)}.max-w-20{max-width:calc(var(--spacing) * 20)}.max-w-40{max-width:calc(var(--spacing) * 40)}.max-w-\\[60\\%\\]{max-width:60%}.max-w-\\[77\\%\\]{max-width:77%}.max-w-\\[320px\\]{max-width:320px}.max-w-full{max-width:100%}.max-w-none{max-width:none}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-56{min-width:calc(var(--spacing) * 56)}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-\\[16px_minmax\\(0\\,1fr\\)_44px\\]{grid-template-columns:16px minmax(0,1fr) 44px}.grid-cols-\\[42px_minmax\\(0\\,1fr\\)\\]{grid-template-columns:42px minmax(0,1fr)}.grid-cols-\\[72px_minmax\\(0\\,1fr\\)_96px\\]{grid-template-columns:72px minmax(0,1fr) 96px}.grid-cols-\\[auto_minmax\\(0\\,1fr\\)_auto\\]{grid-template-columns:auto minmax(0,1fr) auto}.grid-cols-\\[minmax\\(0\\,auto\\)_auto_minmax\\(0\\,1fr\\)\\]{grid-template-columns:minmax(0,auto) auto minmax(0,1fr)}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-\\[5px\\]{gap:5px}:where(.space-y-\\[13px\\]>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(13px * var(--tw-space-y-reverse));margin-block-end:calc(13px * calc(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\\[5px\\]{border-radius:5px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-\\[color-mix\\(in_lab\\,var\\(--cmux-diff-fg\\)_18\\%\\,transparent\\)\\]{border-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.border-\\[color-mix\\(in_lab\\,var\\(--cmux-diff-fg\\)_18\\%\\,transparent\\)\\]{border-color:color-mix(in lab,var(--cmux-diff-fg) 18%,transparent)}}.border-\\[color\\:var\\(--gray-0\\)\\]{border-color:var(--gray-0)}.border-\\[var\\(--cmux-diff-border\\)\\]{border-color:var(--cmux-diff-border)}.border-transparent{border-color:#0000}.bg-\\[color-mix\\(in_lab\\,var\\(--cmux-diff-fg\\)_5\\%\\,transparent\\)\\]{background-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.bg-\\[color-mix\\(in_lab\\,var\\(--cmux-diff-fg\\)_5\\%\\,transparent\\)\\]{background-color:color-mix(in lab,var(--cmux-diff-fg) 5%,transparent)}}.bg-\\[color-mix\\(in_lab\\,var\\(--cmux-diff-fg\\)_10\\%\\,transparent\\)\\]{background-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.bg-\\[color-mix\\(in_lab\\,var\\(--cmux-diff-fg\\)_10\\%\\,transparent\\)\\]{background-color:color-mix(in lab,var(--cmux-diff-fg) 10%,transparent)}}.bg-\\[color\\:var\\(--gray-0\\)\\]{background-color:var(--gray-0)}.bg-\\[var\\(--cmux-diff-muted-bg\\)\\]{background-color:var(--cmux-diff-muted-bg)}.\\[mask-image\\:linear-gradient\\(to_right\\,black_calc\\(100\\%_-_0\\.25rem\\)\\,transparent\\)\\]{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - .25rem),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - .25rem),#0000)}.\\[mask-repeat\\:no-repeat\\]{-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.object-cover{object-fit:cover}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-2{padding:calc(var(--spacing) * 2)}.\\!px-0{padding-inline:calc(var(--spacing) * 0)!important}.px-0\\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-\\[7px\\]{padding-inline:7px}.px-\\[var\\(--padding-row-x\\)\\]{padding-inline:var(--padding-row-x)}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-\\[var\\(--padding-row-y\\)\\]{padding-block:var(--padding-row-y)}.pt-0\\.5{padding-top:calc(var(--spacing) * .5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pr-0{padding-right:calc(var(--spacing) * 0)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-left{text-align:left}.align-bottom{vertical-align:bottom}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\\!leading-none{--tw-leading:1!important;line-height:1!important}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-\\[18px\\]{--tw-leading:18px;line-height:18px}.leading-\\[calc\\(var\\(--codex-chat-font-size\\)\\+8px\\)\\]{--tw-leading:calc(var(--codex-chat-font-size) + 8px);line-height:calc(var(--codex-chat-font-size) + 8px)}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.break-words{overflow-wrap:break-word}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.text-current{color:currentColor}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-\\[0\\.5px\\]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(.5px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}.\\[--edge-fade-distance\\:2rem\\]{--edge-fade-distance:2rem}.group-focus-within\\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media(hover:hover){.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\\:bg-transparent:hover{background-color:#0000}}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-40:disabled{opacity:.4}.data-\\[state\\=checked\\]\\:translate-x-\\[14px\\][data-state=checked]{--tw-translate-x:14px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\\[state\\=unchecked\\]\\:translate-x-\\[2px\\][data-state=unchecked]{--tw-translate-x:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}@container (min-width:500px){.\\@\\[500px\\]\\:inline{display:inline}}.\\[\\&_\\.ProseMirror\\]\\:\\!h-5 .ProseMirror{height:calc(var(--spacing) * 5)!important}.\\[\\&_\\.ProseMirror\\]\\:h-auto .ProseMirror{height:auto}.\\[\\&_\\.ProseMirror\\]\\:\\!min-h-5 .ProseMirror{min-height:calc(var(--spacing) * 5)!important}.\\[\\&_\\.ProseMirror\\]\\:min-h-\\[2rem\\] .ProseMirror{min-height:2rem}.\\[\\&_\\.ProseMirror\\]\\:min-w-0 .ProseMirror{min-width:calc(var(--spacing) * 0)}.\\[\\&_\\.ProseMirror\\]\\:flex-1 .ProseMirror{flex:1}.\\[\\&_\\.ProseMirror\\]\\:resize-none .ProseMirror{resize:none}.\\[\\&_\\.ProseMirror\\]\\:overflow-hidden .ProseMirror{overflow:hidden}.\\[\\&_\\.ProseMirror\\]\\:leading-5 .ProseMirror{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.\\[\\&_\\.ProseMirror\\]\\:whitespace-nowrap .ProseMirror{white-space:nowrap}.\\[\\&_\\.ProseMirror\\]\\:focus-visible\\:outline-none .ProseMirror:focus-visible{--tw-outline-style:none;outline-style:none}.\\[\\&_\\.ProseMirror_p\\]\\:m-0 .ProseMirror p{margin:calc(var(--spacing) * 0)}.\\[\\&_\\.ProseMirror_p\\]\\:overflow-hidden .ProseMirror p{overflow:hidden}.\\[\\&_\\.ProseMirror_p\\]\\:text-ellipsis .ProseMirror p{text-overflow:ellipsis}.\\[\\&_\\.ProseMirror_p\\]\\:whitespace-nowrap .ProseMirror p{white-space:nowrap}.\\[\\&_\\.contain-inline-size\\]\\:\\[contain\\:initial\\] .contain-inline-size{contain:initial}.\\[\\&\\>\\*\\:last-child\\]\\:mb-0>:last-child{margin-bottom:calc(var(--spacing) * 0)}.\\[\\&\\>ol\\:first-child\\]\\:mt-0>ol:first-child,.\\[\\&\\>ul\\:first-child\\]\\:mt-0>ul:first-child{margin-top:calc(var(--spacing) * 0)}}:root{color-scheme:light dark;--cmux-diff-bg-light:#fff;--cmux-diff-bg-dark:#000;--cmux-diff-fg-light:#000;--cmux-diff-fg-dark:#fff;--cmux-diff-selection-bg-light:#abd8ff;--cmux-diff-selection-bg-dark:#3f638b;--cmux-diff-ui-font-family:system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif;--cmux-diff-ui-font-size:12px;--cmux-diff-ui-line-height:16px;--cmux-diff-code-font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--cmux-diff-font-size:10px;--cmux-diff-line-height:20px;--cmux-diff-bg:var(--cmux-diff-bg-light);--cmux-diff-fg:var(--cmux-diff-fg-light);--cmux-diff-border:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){:root{--cmux-diff-border:color-mix(in lab, var(--cmux-diff-fg) 12%, transparent)}}:root{--cmux-diff-toolbar-bg:transparent;--cmux-diff-sidebar-bg:transparent;--cmux-diff-muted-bg:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){:root{--cmux-diff-muted-bg:color-mix(in lab, var(--cmux-diff-fg) 8%, transparent)}}:root{--cmux-diff-hover-bg:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){:root{--cmux-diff-hover-bg:color-mix(in lab, var(--cmux-diff-fg) 10%, transparent)}}:root{--cmux-diff-accent:light-dark(#0a84ff,#7ab7ff);--cmux-diff-text-muted:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){:root{--cmux-diff-text-muted:color-mix(in lab, var(--cmux-diff-fg) 72%, var(--cmux-diff-bg))}}:root{--cmux-diff-text-subtle:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){:root{--cmux-diff-text-subtle:color-mix(in lab, var(--cmux-diff-fg) 84%, var(--cmux-diff-bg))}}:root{--cmux-diff-surface-fill-light:transparent;--cmux-diff-surface-fill-dark:transparent;--cmux-diff-surface-fill:var(--cmux-diff-surface-fill-light);background:var(--cmux-diff-surface-fill);color:var(--cmux-diff-fg)}@media(prefers-color-scheme:dark){:root{--cmux-diff-bg:var(--cmux-diff-bg-dark);--cmux-diff-fg:var(--cmux-diff-fg-dark);--cmux-diff-surface-fill:var(--cmux-diff-surface-fill-dark)}}*{box-sizing:border-box}html,body{background:var(--cmux-diff-surface-fill);height:100%;overflow:hidden}body{background:var(--cmux-diff-surface-fill);height:100vh;min-height:0;color:var(--cmux-diff-fg);font-family:var(--cmux-diff-ui-font-family);font-size:var(--cmux-diff-ui-font-size);line-height:var(--cmux-diff-ui-line-height);flex-direction:column;margin:0;display:flex;overflow:hidden}#root{background:0 0;height:100%;min-height:0}#app{overscroll-behavior:contain;contain:strict;height:100vh;min-height:0;color:inherit;background:0 0;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);display:grid;overflow:hidden}.copy-fallback-textarea{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed;top:0;left:-9999px}#toolbar{border-bottom:1px solid var(--cmux-diff-border);background:var(--cmux-diff-toolbar-bg);min-height:32px;color:var(--cmux-diff-fg);flex:none;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(0,auto);align-items:center;gap:7px;padding:3px 4px 3px 8px;display:grid;position:relative}@supports (color:color-mix(in lab,red,red)){#toolbar{color:color-mix(in lab,var(--cmux-diff-fg) 76%,var(--cmux-diff-bg))}}#toolbar{z-index:50}@media(min-width:521px){body[data-files-hidden=false] #toolbar{grid-template-columns:minmax(0,1fr) minmax(0,auto)}body[data-files-hidden=false] .toolbar-middle{display:none}}.toolbar-left,.toolbar-middle,.toolbar-actions{align-items:center;min-width:0;display:flex;overflow:clip visible}.toolbar-left,.toolbar-middle{gap:6px}.toolbar-left{justify-self:stretch;container:toolbar-left/inline-size}.toolbar-middle{justify-content:center}.toolbar-actions{justify-self:end;gap:4px}#source-select,#repo-select,#base-select,#jump-select,#jump-search-button{appearance:none;white-space:nowrap;text-overflow:ellipsis;background:linear-gradient(45deg,transparent 50%,currentcolor 50%) right 11px center / 4px 4px no-repeat,linear-gradient(135deg,currentcolor 50%,transparent 50%) right 7px center / 4px 4px no-repeat,var(--cmux-diff-fg);border:1px solid #0000;border-radius:6px;min-width:0;max-width:100%;height:24px;padding:0 24px 0 9px;overflow:hidden}@supports (color:color-mix(in lab,red,red)){#source-select,#repo-select,#base-select,#jump-select,#jump-search-button{background:linear-gradient(45deg,transparent 50%,currentcolor 50%) right 11px center / 4px 4px no-repeat,linear-gradient(135deg,currentcolor 50%,transparent 50%) right 7px center / 4px 4px no-repeat,color-mix(in lab,var(--cmux-diff-fg) 7%,transparent)}}#source-select,#repo-select,#base-select,#jump-select,#jump-search-button{color:inherit;font:inherit}#source-select{field-sizing:content;flex:0 3 auto;min-width:58px}#source-select:hover,#repo-select:hover,#base-select:hover,#jump-select:hover{border-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){#source-select:hover,#repo-select:hover,#base-select:hover,#jump-select:hover{border-color:color-mix(in lab,var(--cmux-diff-fg) 24%,transparent)}}#source-select:hover,#repo-select:hover,#base-select:hover,#jump-select:hover{background-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){#source-select:hover,#repo-select:hover,#base-select:hover,#jump-select:hover{background-color:color-mix(in lab,var(--cmux-diff-fg) 10%,transparent)}}#jump-search-button:hover{border-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){#jump-search-button:hover{border-color:color-mix(in lab,var(--cmux-diff-fg) 24%,transparent)}}#jump-search-button:hover{background-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){#jump-search-button:hover{background-color:color-mix(in lab,var(--cmux-diff-fg) 10%,transparent)}}#source-select[hidden],#repo-select[hidden],#base-select[hidden],#jump-select[hidden]{display:none}#jump-select{field-sizing:content;min-width:64px}#jump-search-button{cursor:pointer;background-image:none;min-width:64px;padding-right:9px}#repo-select{field-sizing:content;flex:0 5 auto;min-width:56px}#base-select{flex:0 120px}#source-select:focus,#repo-select:focus,#base-select:focus,#jump-select:focus,#jump-search-button:focus-visible,.base-picker-button:focus-visible,.base-picker-input:focus-visible,.toolbar-icon:focus-visible,.menu-item:focus-visible,.file-entry:focus-visible{outline:2px solid var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){#source-select:focus,#repo-select:focus,#base-select:focus,#jump-select:focus,#jump-search-button:focus-visible,.base-picker-button:focus-visible,.base-picker-input:focus-visible,.toolbar-icon:focus-visible,.menu-item:focus-visible,.file-entry:focus-visible{outline:2px solid color-mix(in lab,var(--cmux-diff-fg) 36%,transparent)}}#source-select:focus,#repo-select:focus,#base-select:focus,#jump-select:focus,#jump-search-button:focus-visible,.base-picker-button:focus-visible,.base-picker-input:focus-visible,.toolbar-icon:focus-visible,.menu-item:focus-visible,.file-entry:focus-visible{outline-offset:1px}#base-picker{flex:0 auto;align-items:center;min-width:150px;display:flex;position:relative}.base-picker-button{border:1px solid var(--cmux-diff-fg);align-items:center;gap:5px;min-width:0;max-width:100%;height:24px;padding:0 7px 0 9px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.base-picker-button{border:1px solid color-mix(in lab,var(--cmux-diff-fg) 18%,transparent)}}.base-picker-button{background:var(--cmux-diff-fg);border-radius:6px}@supports (color:color-mix(in lab,red,red)){.base-picker-button{background:color-mix(in lab,var(--cmux-diff-fg) 11%,transparent)}}.base-picker-button{color:var(--cmux-diff-fg);font:inherit;cursor:pointer;font-weight:600}.base-picker-button:hover:not(:disabled),.base-picker-button[aria-expanded=true]{border-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.base-picker-button:hover:not(:disabled),.base-picker-button[aria-expanded=true]{border-color:color-mix(in lab,var(--cmux-diff-fg) 30%,transparent)}}.base-picker-button:hover:not(:disabled),.base-picker-button[aria-expanded=true]{background:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.base-picker-button:hover:not(:disabled),.base-picker-button[aria-expanded=true]{background:color-mix(in lab,var(--cmux-diff-fg) 15%,transparent)}}.base-picker-button:disabled{cursor:default;opacity:.85}.base-picker-button svg{stroke:currentColor;fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;opacity:.7;flex:none;width:12px;height:12px}.base-picker-label{align-items:center;gap:5px;min-width:0;display:inline-flex}.base-picker-prefix{color:var(--cmux-diff-fg);flex:none;font-weight:500}@supports (color:color-mix(in lab,red,red)){.base-picker-prefix{color:color-mix(in lab,var(--cmux-diff-fg) 60%,var(--cmux-diff-bg))}}.base-picker-head{text-overflow:ellipsis;white-space:nowrap;min-width:4ch;color:var(--cmux-diff-fg);flex:0 8 auto;font-weight:500;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.base-picker-head{color:color-mix(in lab,var(--cmux-diff-fg) 62%,var(--cmux-diff-bg))}}.base-picker-ref{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:6ch;overflow:hidden}.base-picker-meta{flex:0 1000 auto;align-items:center;gap:5px;min-width:0;display:inline-flex;overflow:hidden}.base-picker-reason{color:var(--cmux-diff-fg);flex:none;font-weight:500}@supports (color:color-mix(in lab,red,red)){.base-picker-reason{color:color-mix(in lab,var(--cmux-diff-fg) 64%,var(--cmux-diff-bg))}}.base-picker-reason{white-space:nowrap}.base-picker-reason-low{opacity:.6;font-style:italic}.base-picker-aheadbehind{font-variant-numeric:tabular-nums;color:var(--cmux-diff-fg);flex:none;font-weight:500}@supports (color:color-mix(in lab,red,red)){.base-picker-aheadbehind{color:color-mix(in lab,var(--cmux-diff-fg) 58%,var(--cmux-diff-bg))}}.base-picker-aheadbehind{white-space:nowrap}@container toolbar-left (max-width:380px){.base-picker-aheadbehind{display:none}}@container toolbar-left (max-width:312px){.base-picker-reason{display:none}}.base-picker-text{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.base-picker-spinner{border:1.6px solid var(--cmux-diff-fg);border-radius:50%;flex:none;width:12px;height:12px}@supports (color:color-mix(in lab,red,red)){.base-picker-spinner{border:1.6px solid color-mix(in lab,var(--cmux-diff-fg) 26%,transparent)}}.base-picker-spinner{border-top-color:var(--cmux-diff-fg);animation:.7s linear infinite base-picker-spin}@keyframes base-picker-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.base-picker-spinner{animation-duration:1.6s}}.base-picker-popover{border:1px solid var(--cmux-diff-fg);flex-direction:column;width:320px;max-width:min(86vw,360px);display:flex;position:fixed}@supports (color:color-mix(in lab,red,red)){.base-picker-popover{border:1px solid color-mix(in lab,var(--cmux-diff-fg) 13%,transparent)}}.base-picker-popover{background:var(--cmux-diff-bg);z-index:120;border-radius:8px;overflow:hidden;box-shadow:0 16px 34px lab(0% none none/.28)}.base-picker-search{border-bottom:1px solid var(--cmux-diff-fg);align-items:center;gap:6px;padding:7px 9px;display:flex}@supports (color:color-mix(in lab,red,red)){.base-picker-search{border-bottom:1px solid color-mix(in lab,var(--cmux-diff-fg) 11%,transparent)}}.base-picker-search svg{stroke:currentColor;fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;opacity:.55;flex:none;width:13px;height:13px}.base-picker-input{min-width:0;color:var(--cmux-diff-fg);font:inherit;background:0 0;border:0;outline:none;flex:auto}.base-picker-list{flex:auto;min-height:0;padding:4px;overflow-y:auto}.base-picker-status{color:var(--cmux-diff-fg);padding:12px 9px}@supports (color:color-mix(in lab,red,red)){.base-picker-status{color:color-mix(in lab,var(--cmux-diff-fg) 60%,var(--cmux-diff-bg))}}.base-picker-status{text-align:center}.base-picker-status-error{color:#ff5f56}@supports (color:color-mix(in lab,red,red)){.base-picker-status-error{color:color-mix(in lab,#ff5f56 70%,var(--cmux-diff-fg))}}.base-picker-group-header{letter-spacing:.06em;text-transform:uppercase;color:var(--cmux-diff-fg);padding:8px 8px 3px;font-size:10px;font-weight:600}@supports (color:color-mix(in lab,red,red)){.base-picker-group-header{color:color-mix(in lab,var(--cmux-diff-fg) 52%,var(--cmux-diff-bg))}}.base-picker-more{color:var(--cmux-diff-fg);padding:5px 8px 7px;font-size:11px}@supports (color:color-mix(in lab,red,red)){.base-picker-more{color:color-mix(in lab,var(--cmux-diff-fg) 48%,var(--cmux-diff-bg))}}.base-picker-more{cursor:default;-webkit-user-select:none;user-select:none}.base-picker-row{cursor:pointer;border-radius:6px;align-items:center;gap:8px;min-height:28px;padding:0 8px;display:flex}.base-picker-row-selected{background:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.base-picker-row-selected{background:color-mix(in lab,var(--cmux-diff-fg) 12%,transparent)}}.base-picker-row-primary{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--cmux-diff-fg);flex:auto;overflow:hidden}.base-picker-row-primary strong{font-weight:700}.base-picker-row-secondary{text-overflow:ellipsis;white-space:nowrap;text-align:right;min-width:0;max-width:55%;color:var(--cmux-diff-fg);flex:0 auto;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.base-picker-row-secondary{color:color-mix(in lab,var(--cmux-diff-fg) 55%,var(--cmux-diff-bg))}}.base-picker-pill{text-transform:uppercase;letter-spacing:.04em;color:var(--cmux-diff-accent);background:var(--cmux-diff-accent);border-radius:999px;flex:none;padding:1px 6px;font-size:10px;font-weight:600}@supports (color:color-mix(in lab,red,red)){.base-picker-pill{background:color-mix(in lab,var(--cmux-diff-accent) 16%,transparent)}}@media(max-width:760px){#toolbar{grid-template-columns:minmax(0,1fr) minmax(0,auto);grid-template-areas:"source actions""jump actions"}.toolbar-left{grid-area:source}.toolbar-middle{grid-area:jump;justify-content:stretch}.toolbar-actions{grid-area:actions}}.toolbar-icon{width:20px;height:20px;color:var(--cmux-diff-fg);background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.toolbar-icon{color:color-mix(in lab,var(--cmux-diff-fg) 60%,var(--cmux-diff-bg))}}.toolbar-icon{cursor:pointer;padding:0}.toolbar-icon:hover,.toolbar-icon[aria-expanded=true]{border-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.toolbar-icon:hover,.toolbar-icon[aria-expanded=true]{border-color:color-mix(in lab,var(--cmux-diff-fg) 14%,transparent)}}.toolbar-icon:hover,.toolbar-icon[aria-expanded=true]{background:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.toolbar-icon:hover,.toolbar-icon[aria-expanded=true]{background:color-mix(in lab,var(--cmux-diff-fg) 9%,transparent)}}.toolbar-icon:hover,.toolbar-icon[aria-expanded=true],.toolbar-icon[aria-pressed=true]{color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.toolbar-icon[aria-pressed=true]{color:color-mix(in lab,var(--cmux-diff-fg) 78%,var(--cmux-diff-bg))}}.toolbar-icon[hidden]{display:none}.toolbar-icon svg,.menu-item svg{fill:none;stroke:currentColor;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px;display:block}#layout-toggle svg [data-diff-deletion],#layout-toggle svg [data-diff-addition]{stroke:none}#layout-toggle svg [data-diff-deletion]{fill:light-dark(var(--cmux-diff-deletion-fg-light),var(--cmux-diff-deletion-fg-dark))}#layout-toggle svg [data-diff-addition]{fill:light-dark(var(--cmux-diff-addition-fg-light),var(--cmux-diff-addition-fg-dark))}.toolbar-icon svg [data-precision-dot],.menu-item svg [data-precision-dot]{stroke-width:2px}#options-menu{border:1px solid var(--cmux-diff-fg);min-width:246px;padding:8px;position:absolute;top:calc(100% + 7px);right:10px}@supports (color:color-mix(in lab,red,red)){#options-menu{border:1px solid color-mix(in lab,var(--cmux-diff-fg) 13%,transparent)}}#options-menu{background:var(--cmux-diff-bg);z-index:100;border-radius:8px;box-shadow:0 16px 34px lab(0% none none/.28)}#options-menu[hidden]{display:none}.menu-separator{background:var(--cmux-diff-fg);height:1px;margin:7px 6px}@supports (color:color-mix(in lab,red,red)){.menu-separator{background:color-mix(in lab,var(--cmux-diff-fg) 12%,transparent)}}.menu-item{width:100%;min-height:31px;color:var(--cmux-diff-fg);background:0 0;border:0;border-radius:6px;grid-template-columns:22px minmax(0,1fr) 18px;align-items:center;gap:10px;display:grid}@supports (color:color-mix(in lab,red,red)){.menu-item{color:color-mix(in lab,var(--cmux-diff-fg) 86%,var(--cmux-diff-bg))}}.menu-item{font:inherit;text-align:left;padding:0 7px}.menu-item:hover:not(:disabled){background:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.menu-item:hover:not(:disabled){background:color-mix(in lab,var(--cmux-diff-fg) 10%,transparent)}}.menu-item:hover:not(:disabled){color:var(--cmux-diff-fg)}.menu-segment{cursor:default}.menu-segment:hover{background:0 0}.menu-segment-controls{background:0 0;border-radius:7px;justify-self:end;align-items:center;gap:2px;padding:2px;display:inline-flex}.segment-button{width:27px;height:24px;color:var(--cmux-diff-fg);background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.segment-button{color:color-mix(in lab,var(--cmux-diff-fg) 62%,var(--cmux-diff-bg))}}.segment-button{padding:0}.segment-button:hover,.segment-button[aria-pressed=true]{background:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.segment-button:hover,.segment-button[aria-pressed=true]{background:color-mix(in lab,var(--cmux-diff-fg) 12%,transparent)}}.segment-button:hover,.segment-button[aria-pressed=true],.menu-item:disabled{color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.menu-item:disabled{color:color-mix(in lab,var(--cmux-diff-fg) 36%,var(--cmux-diff-bg))}}.menu-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-check{justify-self:end}#content{--cmux-diff-files-width:252px;grid-template-columns:minmax(0,1fr) var(--cmux-diff-files-width);overscroll-behavior:contain;contain:strict;background:0 0;flex:auto;grid-template-rows:minmax(0,1fr);grid-template-areas:"viewer files";min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}body[data-files-hidden=true] #content{grid-template-columns:minmax(0,1fr) 0}body[data-status-only=true] #content{grid-template-columns:minmax(0,1fr);grid-template-areas:"viewer"}#files-sidebar{border-left:1px solid var(--cmux-diff-border);background:var(--cmux-diff-sidebar-bg);contain:strict;opacity:1;flex-direction:column;grid-area:files;width:100%;min-width:0;height:100%;min-height:0;transition:opacity .1s,visibility linear;display:flex;position:relative;overflow:hidden}#files-resize-handle{z-index:3;appearance:none;cursor:col-resize;background:0 0;border:0;outline:none;width:8px;margin:0;padding:0;position:absolute;top:0;bottom:0;left:0}#files-resize-handle:after{content:"";background:0 0;width:1px;position:absolute;top:0;bottom:0;left:0}body[data-files-hidden=true] #files-sidebar{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .1s,visibility 0s linear .1s}body[data-status-only=true] #files-sidebar,#files-sidebar-backdrop{display:none}#files-header{z-index:1;border-bottom:1px solid var(--cmux-diff-border);background:var(--cmux-diff-sidebar-bg);min-height:30px;color:var(--cmux-diff-text-muted);justify-content:space-between;align-items:center;gap:8px;padding:0 7px 0 10px;display:flex;position:relative}#files-title{align-items:center;gap:6px;min-width:0;display:inline-flex}#files-header-actions{flex:none;align-items:center;gap:2px;display:inline-flex}#file-search-toggle{width:24px;height:24px;color:var(--cmux-diff-text-muted);background:0 0;border:0;border-radius:5px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}#file-search-toggle:hover,#file-search-toggle[aria-pressed=true]{background:var(--cmux-diff-hover-bg);color:var(--cmux-diff-fg)}#file-search-toggle svg{fill:none;stroke:currentColor;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}#file-list{background:var(--cmux-diff-sidebar-bg);--trees-bg-override:var(--cmux-diff-sidebar-bg);--trees-fg-override:var(--cmux-diff-text-subtle);--trees-fg-muted-override:var(--cmux-diff-text-muted);--trees-bg-muted-override:var(--cmux-diff-hover-bg);--trees-selected-bg-override:var(--cmux-diff-fg);flex:auto;min-height:0;padding:6px 4px 6px 6px;overflow:hidden}@supports (color:color-mix(in lab,red,red)){#file-list{--trees-selected-bg-override:color-mix(in lab, var(--cmux-diff-fg) 11%, transparent)}}#file-list{--trees-selected-fg-override:var(--cmux-diff-fg);--trees-selected-focused-border-color-override:transparent;--trees-border-color-override:var(--cmux-diff-border);--trees-focus-ring-color-override:var(--cmux-diff-accent)}@supports (color:color-mix(in lab,red,red)){#file-list{--trees-focus-ring-color-override:color-mix(in lab, var(--cmux-diff-accent) 72%, transparent)}}#file-list{--trees-font-family-override:var(--cmux-diff-ui-font-family);--trees-font-size-override:var(--cmux-diff-ui-font-size);--trees-font-weight-semibold-override:500;--trees-density-override:.78;--trees-border-radius-override:5px;--trees-item-padding-x-override:7px;--trees-item-margin-x-override:0;--trees-padding-inline-override:8px;--trees-search-bg-override:var(--cmux-diff-bg)}@supports (color:color-mix(in lab,red,red)){#file-list{--trees-search-bg-override:color-mix(in lab, var(--cmux-diff-bg) 92%, var(--cmux-diff-fg))}}#file-list{--trees-status-added-override:light-dark(var(--cmux-diff-addition-fg-light),var(--cmux-diff-addition-fg-dark));--trees-status-modified-override:var(--cmux-diff-accent);--trees-status-renamed-override:light-dark(#a26300,#ffd166);--trees-status-deleted-override:light-dark(var(--cmux-diff-deletion-fg-light),var(--cmux-diff-deletion-fg-dark))}body[data-loading=false] .diff-loading-placeholder,body[data-loading=false]:not([data-status-only=true]) #loading-layer{display:none}#file-list file-tree-container{width:100%;height:100%;min-height:0;display:block}.file-entry{width:100%;min-height:30px;color:inherit;font:inherit;text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:3px 7px;display:grid}.file-entry:hover,.file-entry[aria-current=true]{background:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.file-entry:hover,.file-entry[aria-current=true]{background:color-mix(in lab,var(--cmux-diff-fg) 9%,transparent)}}.file-status{width:17px;height:17px;color:var(--cmux-diff-text-muted);border:1px solid;border-radius:5px;justify-content:center;align-items:center;font-size:9px;line-height:1;display:inline-flex}.file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-stats{color:var(--cmux-diff-text-muted);gap:5px;display:inline-flex}.stat-add{color:light-dark(var(--cmux-diff-addition-fg-light),var(--cmux-diff-addition-fg-dark))}.stat-del{color:light-dark(var(--cmux-diff-deletion-fg-light),var(--cmux-diff-deletion-fg-dark))}#viewer{--diffs-font-family:var(--cmux-diff-code-font-family);--diffs-header-font-family:var(--cmux-diff-ui-font-family);--diffs-font-size:var(--cmux-diff-font-size);--diffs-line-height:var(--cmux-diff-line-height);--diffs-bg-selection-override:light-dark(var(--cmux-diff-selection-bg-light),var(--cmux-diff-selection-bg-dark));overscroll-behavior:contain;overflow-anchor:none;contain:strict;border-bottom:1px solid var(--cmux-diff-border);background:0 0;grid-area:viewer;width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:clip auto}.code-view-root{overscroll-behavior:contain;overflow-anchor:none;contain:strict;width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:clip auto}@media(max-width:520px){#content,body[data-files-hidden=true] #content{grid-template-columns:minmax(0,1fr);grid-template-areas:"viewer"}#files-sidebar{display:none}#app[data-file-search-open=true] #files-sidebar-backdrop{z-index:44;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:default;background:#00000061;border:0;width:100%;height:100%;margin:0;padding:0;display:block;position:absolute;inset:0}#app[data-file-search-open=true] #files-sidebar-backdrop:focus-visible{outline:2px solid var(--cmux-diff-accent);outline-offset:-2px}#app[data-file-search-open=true] #files-sidebar{z-index:45;visibility:visible;opacity:1;pointer-events:auto;border-left:1px solid var(--cmux-diff-border);background:var(--cmux-diff-bg);isolation:isolate;--cmux-diff-sidebar-bg:var(--cmux-diff-bg);width:min(88vw,360px);max-width:calc(100% - 32px);display:flex;position:absolute;inset:0 0 0 auto;box-shadow:-18px 0 42px #00000057}#app[data-file-search-open=true] #files-resize-handle{display:none}}@media(prefers-reduced-motion:reduce){#files-sidebar{transition:none}}#viewer diffs-container{--diffs-font-family:var(--cmux-diff-code-font-family);--diffs-header-font-family:var(--cmux-diff-ui-font-family);--diffs-font-size:var(--cmux-diff-font-size);--diffs-line-height:var(--cmux-diff-line-height);--diffs-bg-selection-override:light-dark(var(--cmux-diff-selection-bg-light),var(--cmux-diff-selection-bg-dark));contain:layout paint style;flex:auto;width:100%;min-height:30px;display:block;overflow:clip}#viewer diffs-container [data-diffs-header]{overflow-x:clip}#viewer diffs-container [data-diffs-header=default] [data-metadata]{flex-shrink:0}#loading-layer{z-index:4;pointer-events:none;contain:strict;background:0 0;grid-area:viewer;position:absolute;inset:0;overflow:hidden}body[data-status-only=true] #loading-layer{pointer-events:auto;justify-content:center;align-items:center;width:100%;height:100%;padding:32px;display:flex;position:static}#status{z-index:5;border:1px solid var(--cmux-diff-fg);align-items:center;gap:10px;max-width:calc(100% - 24px);min-height:32px;padding:8px 12px;display:flex;position:absolute;top:10px;left:12px}@supports (color:color-mix(in lab,red,red)){#status{border:1px solid color-mix(in lab,var(--cmux-diff-fg) 10%,transparent)}}#status{background:var(--cmux-diff-bg);font-family:var(--cmux-diff-ui-font-family);font-size:13px;line-height:var(--cmux-diff-ui-line-height);color:var(--cmux-diff-fg);border-radius:7px}@supports (color:color-mix(in lab,red,red)){#status{color:color-mix(in lab,var(--cmux-diff-fg) 70%,var(--cmux-diff-bg))}}body[data-status-only=true] #status{text-align:center;text-wrap:balance;width:auto;max-width:340px;min-height:0;color:var(--cmux-diff-fg);background:0 0;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:0;font-size:14px;line-height:1.55;position:static}@supports (color:color-mix(in lab,red,red)){body[data-status-only=true] #status{color:color-mix(in lab,var(--cmux-diff-fg) 58%,var(--cmux-diff-bg))}}body[data-status-only=true] #status-text{letter-spacing:.005em;font-weight:500}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#status-icon{display:none}body[data-status-only=true] #status:not([data-error=true]):not([data-pending=true]) #status-icon{background:var(--cmux-diff-fg);border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;display:flex}@supports (color:color-mix(in lab,red,red)){body[data-status-only=true] #status:not([data-error=true]):not([data-pending=true]) #status-icon{background:color-mix(in lab,var(--cmux-diff-fg) 5%,transparent)}}body[data-status-only=true] #status:not([data-error=true]):not([data-pending=true]) #status-icon{border:1px solid var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){body[data-status-only=true] #status:not([data-error=true]):not([data-pending=true]) #status-icon{border:1px solid color-mix(in lab,var(--cmux-diff-fg) 8%,transparent)}}body[data-status-only=true] #status:not([data-error=true]):not([data-pending=true]) #status-icon:before{content:"";opacity:.8;background-color:currentColor;width:26px;height:26px;display:block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M9 13h6'/%3E%3Cpath d='M9 17h4'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M9 13h6'/%3E%3Cpath d='M9 17h4'/%3E%3C/svg%3E") 50%/contain no-repeat}#status[data-pending=true]:before,body[data-loading=true] #status:before{content:"";border:2px solid var(--cmux-diff-fg);flex:none;width:14px;height:14px}@supports (color:color-mix(in lab,red,red)){#status[data-pending=true]:before,body[data-loading=true] #status:before{border:2px solid color-mix(in lab,var(--cmux-diff-fg) 20%,transparent)}}#status[data-pending=true]:before,body[data-loading=true] #status:before{border-top-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){#status[data-pending=true]:before,body[data-loading=true] #status:before{border-top-color:color-mix(in lab,var(--cmux-diff-fg) 70%,var(--cmux-diff-bg))}}#status[data-pending=true]:before,body[data-loading=true] #status:before{border-radius:50%;animation:.8s linear infinite cmuxDiffPendingSpin}#status[data-error=true]{color:light-dark(#b42318,#ff8a80)}@keyframes cmuxDiffPendingSpin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){#status[data-pending=true]:before,body[data-loading=true] #status:before{animation:none}}#comments-section{border-top:1px solid var(--cmux-diff-border);background:var(--cmux-diff-sidebar-bg);flex-direction:column;flex:none;min-height:0;max-height:40%;display:flex}#comments-header{min-height:30px;color:var(--cmux-diff-text-muted);font-size:var(--cmux-diff-ui-font-size);align-items:center;padding:0 10px;display:flex}#comments-list{flex-direction:column;gap:4px;min-height:0;padding:0 6px 6px;display:flex;overflow-y:auto}.comments-empty{color:var(--cmux-diff-text-muted);font-size:var(--cmux-diff-ui-font-size);padding:2px 7px 6px}.comment-entry{color:var(--cmux-diff-text-subtle);font:inherit;font-size:var(--cmux-diff-ui-font-size);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;flex-direction:column;gap:2px;padding:5px 7px;display:flex}.comment-entry:hover{background:var(--cmux-diff-hover-bg)}.comment-entry-header{justify-content:space-between;align-items:center;gap:6px;display:flex}.comment-entry-location{color:var(--cmux-diff-fg);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.comment-entry-badge{background:var(--cmux-diff-muted-bg);color:var(--cmux-diff-text-muted);font-size:calc(var(--cmux-diff-ui-font-size) - 1px);border-radius:4px;flex:none;padding:0 5px}.comment-entry-message{text-overflow:ellipsis;white-space:nowrap;color:var(--cmux-diff-text-muted);overflow:hidden}.comment-composer,.comment-card{border:1px solid var(--cmux-diff-border);background:light-dark(var(--cmux-diff-bg),var(--cmux-diff-bg));border-radius:10px;flex-direction:column;gap:8px;max-width:680px;margin:8px 12px;padding:10px 12px;display:flex}@supports (color:color-mix(in lab,red,red)){.comment-composer,.comment-card{background:light-dark(color-mix(in lab,var(--cmux-diff-bg) 92%,#fff),color-mix(in lab,var(--cmux-diff-bg) 90%,#fff))}}.comment-composer,.comment-card{color:var(--cmux-diff-fg);font-family:var(--cmux-diff-ui-font-family);font-size:13px;line-height:1.45;box-shadow:0 1px 2px lab(0% none none/.1),0 2px 8px lab(0% none none/.06)}.comment-composer:focus-within{border-color:var(--cmux-diff-accent)}@supports (color:color-mix(in lab,red,red)){.comment-composer:focus-within{border-color:color-mix(in lab,var(--cmux-diff-accent) 60%,var(--cmux-diff-border))}}.comment-composer:focus-within{box-shadow:0 0 0 3px var(--cmux-diff-accent)}@supports (color:color-mix(in lab,red,red)){.comment-composer:focus-within{box-shadow:0 0 0 3px color-mix(in lab,var(--cmux-diff-accent) 18%,transparent)}}.comment-composer-input{box-sizing:border-box;resize:none;width:100%;min-height:52px;color:var(--cmux-diff-fg);font:inherit;background:0 0;border:0;padding:0}.comment-composer-input::placeholder{color:var(--cmux-diff-text-muted)}.comment-composer-input:focus-visible{outline:none}.comment-composer-footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.comment-composer-buttons{gap:6px;display:inline-flex}.comment-button{color:var(--cmux-diff-text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 12px;font-weight:500}.comment-button:hover:not(:disabled){background:var(--cmux-diff-hover-bg);color:var(--cmux-diff-fg)}.comment-button:disabled{opacity:.5;cursor:default}.comment-button-primary{background:var(--cmux-diff-accent);color:light-dark(#fff,#08233f)}.comment-button-primary:hover:not(:disabled){background:var(--cmux-diff-accent)}@supports (color:color-mix(in lab,red,red)){.comment-button-primary:hover:not(:disabled){background:color-mix(in lab,var(--cmux-diff-accent) 86%,var(--cmux-diff-fg))}}.comment-button-primary:hover:not(:disabled){color:light-dark(#fff,#08233f)}.comment-card-header{justify-content:space-between;align-items:center;gap:8px;min-height:20px;display:flex}.comment-card-location{font-weight:500;font-size:calc(var(--cmux-diff-ui-font-size) - 1px);color:var(--cmux-diff-text-muted)}.comment-card-actions{opacity:0;gap:2px;transition:opacity .1s;display:inline-flex}.comment-card:hover .comment-card-actions,.comment-card:focus-within .comment-card-actions{opacity:1}.comment-card-action{color:var(--cmux-diff-text-muted);font:inherit;font-size:calc(var(--cmux-diff-ui-font-size) - 1px);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:1px 6px}.comment-card-action:hover{background:var(--cmux-diff-hover-bg);color:var(--cmux-diff-fg)}.comment-card-message{white-space:pre-wrap;overflow-wrap:anywhere}#diff-find-anchor{z-index:60;pointer-events:none;position:absolute;top:0;right:0}#diff-find-bar{pointer-events:auto;border:1px solid var(--cmux-diff-fg);align-items:center;gap:4px;margin:10px 22px 0 0;padding:5px 6px;display:flex}@supports (color:color-mix(in lab,red,red)){#diff-find-bar{border:1px solid color-mix(in lab,var(--cmux-diff-fg) 13%,transparent)}}#diff-find-bar{background:var(--cmux-diff-bg);border-radius:8px;box-shadow:0 16px 34px lab(0% none none/.28)}#diff-find-input{background:var(--cmux-diff-fg);border:1px solid #0000;border-radius:6px;width:180px;padding:3px 7px}@supports (color:color-mix(in lab,red,red)){#diff-find-input{background:color-mix(in lab,var(--cmux-diff-fg) 7%,transparent)}}#diff-find-input{color:var(--cmux-diff-fg);font-family:var(--cmux-diff-ui-font-family);font-size:var(--cmux-diff-ui-font-size);outline:none}#diff-find-input:focus-visible{border-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){#diff-find-input:focus-visible{border-color:color-mix(in lab,var(--cmux-diff-fg) 24%,transparent)}}#diff-find-count{text-align:right;min-width:40px;color:var(--cmux-diff-text-muted);font-family:var(--cmux-diff-ui-font-family);font-size:calc(var(--cmux-diff-ui-font-size) - 1px);font-variant-numeric:tabular-nums;padding:0 4px}#diff-find-bar .toolbar-icon:disabled{opacity:.4;cursor:default}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}`;function ho(){const t=document.getElementById("cmux-diff-viewer-config");if(!t?.textContent)throw new Error("Missing cmux diff viewer config");return JSON.parse(t.textContent)}function vo(t){const e=ho();Xt("diff",mo),rn(Oe(e.payload?.appearance)),typeof e.payload?.title=="string"&&e.payload.title.trim()!==""&&(document.title=e.payload.title);const n=Lt(e.payload?.labels,{assertMissing:Rt()}),r=Ir(e,n);document.body.dataset.filesHidden="false",Ie(r);const i=Jt(()=>s.jsx(ai,{config:e,initialStatus:r}));zt.createRoot(t).render(s.jsx(Ot,{router:i}))}export{vo as mountDiffSurface}; diff --git a/webviews/src/App.tsx b/webviews/src/App.tsx index d72c3ef4a240..0364601e8d25 100644 --- a/webviews/src/App.tsx +++ b/webviews/src/App.tsx @@ -315,6 +315,34 @@ export function App({ config, initialStatus }: ConfigProps) { const highlighterOptions = workerHighlighterOptions(state.options, appearance, state.languages); const payloadRepoRoot = typeof payload.repoRoot === "string" && payload.repoRoot !== "" ? payload.repoRoot : null; const commentRepoRoot = diffSourceRepoRoot(resolvedSessionSource ?? activeSessionSource) ?? payloadRepoRoot; + useEffect(() => { + const configuredTitle = + typeof payload.title === "string" ? payload.title.trim() : ""; + if (configuredTitle === "") { + return; + } + + const activeSource = resolvedSessionSource ?? activeSessionSource; + if (activeSource?.kind === "patch") { + document.title = configuredTitle; + return; + } + + const repoRoot = diffSourceRepoRoot(activeSource) ?? payloadRepoRoot; + const repoOption = Array.isArray(payload.repoOptions) + ? payload.repoOptions.find((option) => option?.value === repoRoot) + : undefined; + const repoLabel = + typeof repoOption?.label === "string" ? repoOption.label.trim() : ""; + document.title = + repoLabel === "" ? configuredTitle : `${configuredTitle} — ${repoLabel}`; + }, [ + activeSessionSource, + payload.repoOptions, + payload.title, + payloadRepoRoot, + resolvedSessionSource, + ]); const bridgeAvailable = diffCommentsBridgeAvailable() && commentRepoRoot != null; const commentLabels = resolveCommentLabels(payload); const comments = useDiffComments({ @@ -970,6 +998,7 @@ function SourceControls({ onSelectSessionSource={(source) => onSelectSessionSource( repoSelectionWithActiveSource(source, activeSessionSource), )} + selectedOptionTitle selectedValue={diffSourceRepoRoot(activeSessionSource)} /> ) : null} @@ -1133,6 +1162,7 @@ function NavigationSelect({ onNavigate, onSelectSessionSource, options, + selectedOptionTitle = false, selectedValue, }: { ariaLabel: string; @@ -1141,6 +1171,7 @@ function NavigationSelect({ onNavigate: (url: string) => void; onSelectSessionSource?: (source: DiffSource) => void; options: any[] | undefined; + selectedOptionTitle?: boolean; selectedValue?: string | null; }) { if (!Array.isArray(options) || options.length < 2) { @@ -1149,12 +1180,19 @@ function NavigationSelect({ const selected = options.find((option) => option.value === selectedValue) ?? options.find((option) => option.selected) ?? options.find((option) => !option.disabled); + const selectedTitle = selectedOptionTitle + ? ( + typeof selected?.message === "string" && selected.message.trim() !== "" + ? selected.message + : (String(selected?.value ?? fallbackValue).trim() || ariaLabel) + ) + : ariaLabel; return (