devchain-cli 0.6.1 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/drizzle/0024_review_tables.sql +71 -0
- package/dist/drizzle/0025_reviews_mode_and_nullable_shas.sql +80 -0
- package/dist/drizzle/0026_review_comments_edited_at.sql +2 -0
- package/dist/drizzle/meta/_journal.json +22 -1
- package/dist/server/common/errors/error-types.d.ts +3 -0
- package/dist/server/common/errors/error-types.js +7 -1
- package/dist/server/common/errors/error-types.js.map +1 -1
- package/dist/server/common/validation/path-validation.d.ts +11 -0
- package/dist/server/common/validation/path-validation.js +197 -0
- package/dist/server/common/validation/path-validation.js.map +1 -0
- package/dist/server/modules/chat/dtos/chat.dto.d.ts +13 -13
- package/dist/server/modules/core/core.module.js +3 -2
- package/dist/server/modules/core/core.module.js.map +1 -1
- package/dist/server/modules/core/services/preflight.service.d.ts +1 -3
- package/dist/server/modules/core/services/preflight.service.js +2 -28
- package/dist/server/modules/core/services/preflight.service.js.map +1 -1
- package/dist/server/modules/core/services/provider-mcp-ensure.service.d.ts +26 -0
- package/dist/server/modules/core/services/provider-mcp-ensure.service.js +224 -0
- package/dist/server/modules/core/services/provider-mcp-ensure.service.js.map +1 -0
- package/dist/server/modules/epics/controllers/epics.controller.d.ts +3 -2
- package/dist/server/modules/epics/controllers/epics.controller.js +16 -6
- package/dist/server/modules/epics/controllers/epics.controller.js.map +1 -1
- package/dist/server/modules/events/catalog/epic.created.d.ts +2 -2
- package/dist/server/modules/events/catalog/index.d.ts +340 -2
- package/dist/server/modules/events/catalog/index.js +12 -0
- package/dist/server/modules/events/catalog/index.js.map +1 -1
- package/dist/server/modules/events/catalog/review.comment.created.d.ts +69 -0
- package/dist/server/modules/events/catalog/review.comment.created.js +30 -0
- package/dist/server/modules/events/catalog/review.comment.created.js.map +1 -0
- package/dist/server/modules/events/catalog/review.comment.deleted.d.ts +30 -0
- package/dist/server/modules/events/catalog/review.comment.deleted.js +17 -0
- package/dist/server/modules/events/catalog/review.comment.deleted.js.map +1 -0
- package/dist/server/modules/events/catalog/review.comment.resolved.d.ts +30 -0
- package/dist/server/modules/events/catalog/review.comment.resolved.js +17 -0
- package/dist/server/modules/events/catalog/review.comment.resolved.js.map +1 -0
- package/dist/server/modules/events/catalog/review.comment.updated.d.ts +39 -0
- package/dist/server/modules/events/catalog/review.comment.updated.js +20 -0
- package/dist/server/modules/events/catalog/review.comment.updated.js.map +1 -0
- package/dist/server/modules/events/catalog/review.created.d.ts +90 -0
- package/dist/server/modules/events/catalog/review.created.js +40 -0
- package/dist/server/modules/events/catalog/review.created.js.map +1 -0
- package/dist/server/modules/events/catalog/review.updated.d.ts +110 -0
- package/dist/server/modules/events/catalog/review.updated.js +35 -0
- package/dist/server/modules/events/catalog/review.updated.js.map +1 -0
- package/dist/server/modules/events/subscribers/index.js +4 -0
- package/dist/server/modules/events/subscribers/index.js.map +1 -1
- package/dist/server/modules/events/subscribers/review-broadcaster.subscriber.d.ts +16 -0
- package/dist/server/modules/events/subscribers/review-broadcaster.subscriber.js +163 -0
- package/dist/server/modules/events/subscribers/review-broadcaster.subscriber.js.map +1 -0
- package/dist/server/modules/events/subscribers/review-comment-notifier.subscriber.d.ts +23 -0
- package/dist/server/modules/events/subscribers/review-comment-notifier.subscriber.js +217 -0
- package/dist/server/modules/events/subscribers/review-comment-notifier.subscriber.js.map +1 -0
- package/dist/server/modules/git/controllers/git.controller.d.ts +24 -0
- package/dist/server/modules/git/controllers/git.controller.js +230 -0
- package/dist/server/modules/git/controllers/git.controller.js.map +1 -0
- package/dist/server/modules/git/dtos/git.dto.d.ts +86 -0
- package/dist/server/modules/git/dtos/git.dto.js +36 -0
- package/dist/server/modules/git/dtos/git.dto.js.map +1 -0
- package/dist/server/modules/git/git.module.d.ts +2 -0
- package/dist/server/modules/git/git.module.js +25 -0
- package/dist/server/modules/git/git.module.js.map +1 -0
- package/dist/server/modules/git/services/git.service.d.ts +71 -0
- package/dist/server/modules/git/services/git.service.js +550 -0
- package/dist/server/modules/git/services/git.service.js.map +1 -0
- package/dist/server/modules/mcp/controllers/mcp-http.controller.js +17 -562
- package/dist/server/modules/mcp/controllers/mcp-http.controller.js.map +1 -1
- package/dist/server/modules/mcp/controllers/mcp-sdk.controller.js +9 -568
- package/dist/server/modules/mcp/controllers/mcp-sdk.controller.js.map +1 -1
- package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +226 -36
- package/dist/server/modules/mcp/dtos/mcp.dto.js +158 -50
- package/dist/server/modules/mcp/dtos/mcp.dto.js.map +1 -1
- package/dist/server/modules/mcp/dtos/schema-registry.d.ts +7 -0
- package/dist/server/modules/mcp/dtos/schema-registry.js +56 -0
- package/dist/server/modules/mcp/dtos/schema-registry.js.map +1 -0
- package/dist/server/modules/mcp/mcp.module.js +2 -0
- package/dist/server/modules/mcp/mcp.module.js.map +1 -1
- package/dist/server/modules/mcp/services/mcp.service.d.ts +9 -1
- package/dist/server/modules/mcp/services/mcp.service.js +702 -33
- package/dist/server/modules/mcp/services/mcp.service.js.map +1 -1
- package/dist/server/modules/mcp/tool-definitions.d.ts +2438 -0
- package/dist/server/modules/mcp/tool-definitions.js +727 -0
- package/dist/server/modules/mcp/tool-definitions.js.map +1 -0
- package/dist/server/modules/mcp/utils/param-suggestion.d.ts +3 -0
- package/dist/server/modules/mcp/utils/param-suggestion.js +95 -0
- package/dist/server/modules/mcp/utils/param-suggestion.js.map +1 -0
- package/dist/server/modules/providers/controllers/providers.controller.d.ts +7 -6
- package/dist/server/modules/providers/controllers/providers.controller.js +12 -107
- package/dist/server/modules/providers/controllers/providers.controller.js.map +1 -1
- package/dist/server/modules/reviews/controllers/reviews.controller.d.ts +28 -0
- package/dist/server/modules/reviews/controllers/reviews.controller.js +369 -0
- package/dist/server/modules/reviews/controllers/reviews.controller.js.map +1 -0
- package/dist/server/modules/reviews/dtos/review.dto.d.ts +195 -0
- package/dist/server/modules/reviews/dtos/review.dto.js +92 -0
- package/dist/server/modules/reviews/dtos/review.dto.js.map +1 -0
- package/dist/server/modules/reviews/reviews.module.d.ts +2 -0
- package/dist/server/modules/reviews/reviews.module.js +27 -0
- package/dist/server/modules/reviews/reviews.module.js.map +1 -0
- package/dist/server/modules/reviews/services/reviews.service.d.ts +86 -0
- package/dist/server/modules/reviews/services/reviews.service.js +464 -0
- package/dist/server/modules/reviews/services/reviews.service.js.map +1 -0
- package/dist/server/modules/reviews/utils/notification-formatter.d.ts +12 -0
- package/dist/server/modules/reviews/utils/notification-formatter.js +60 -0
- package/dist/server/modules/reviews/utils/notification-formatter.js.map +1 -0
- package/dist/server/modules/sessions/services/sessions.service.d.ts +3 -1
- package/dist/server/modules/sessions/services/sessions.service.js +32 -2
- package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
- package/dist/server/modules/storage/db/schema.d.ts +697 -0
- package/dist/server/modules/storage/db/schema.js +71 -1
- package/dist/server/modules/storage/db/schema.js.map +1 -1
- package/dist/server/modules/storage/interfaces/storage.interface.d.ts +23 -1
- package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
- package/dist/server/modules/storage/local/local-storage.service.d.ts +15 -2
- package/dist/server/modules/storage/local/local-storage.service.js +396 -7
- package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
- package/dist/server/modules/storage/models/domain.models.d.ts +62 -0
- package/dist/server/templates/claude-codex-advanced-swe.json +139 -0
- package/dist/server/templates/claude-codex-advanced.json +82 -82
- package/dist/server/templates/claude-opus.json +99 -99
- package/dist/server/templates/claude-swe-single.json +105 -0
- package/dist/server/templates/simple-codex.json +70 -70
- package/dist/server/test-setup.js +45 -0
- package/dist/server/test-setup.js.map +1 -1
- package/dist/server/tsconfig.tsbuildinfo +1 -1
- package/dist/server/ui/assets/ReviewDetailPage-I54h-2L-.js +6 -0
- package/dist/server/ui/assets/ReviewsPage-B4ua5hiX.js +19 -0
- package/dist/server/ui/assets/index-CqcmnFBh.css +32 -0
- package/dist/server/ui/assets/index-JbUMpbg7.js +858 -0
- package/dist/server/ui/assets/useReviewSubscription-C0GEsiRw.js +83 -0
- package/dist/server/ui/assets/useReviewSubscription-T3uj2-aP.css +1 -0
- package/dist/server/ui/index.html +2 -2
- package/dist/templates/claude-codex-advanced-swe.json +139 -0
- package/dist/templates/claude-codex-advanced.json +82 -82
- package/dist/templates/claude-opus.json +99 -99
- package/dist/templates/claude-swe-single.json +105 -0
- package/dist/templates/simple-codex.json +70 -70
- package/package.json +12 -2
- package/prebuilds/node-pty/darwin-arm64/pty.node +0 -0
- package/prebuilds/node-pty/darwin-arm64/spawn-helper +0 -0
- package/prebuilds/node-pty/darwin-x64/pty.node +0 -0
- package/prebuilds/node-pty/darwin-x64/spawn-helper +0 -0
- package/prebuilds/node-pty/linux-arm64/pty.node +0 -0
- package/prebuilds/node-pty/linux-x64/pty.node +0 -0
- package/prebuilds/node-pty/win32-arm64/conpty/OpenConsole.exe +0 -0
- package/prebuilds/node-pty/win32-arm64/conpty/conpty.dll +0 -0
- package/prebuilds/node-pty/win32-arm64/conpty.node +0 -0
- package/prebuilds/node-pty/win32-arm64/conpty.pdb +0 -0
- package/prebuilds/node-pty/win32-arm64/conpty_console_list.node +0 -0
- package/prebuilds/node-pty/win32-arm64/conpty_console_list.pdb +0 -0
- package/prebuilds/node-pty/win32-arm64/pty.node +0 -0
- package/prebuilds/node-pty/win32-arm64/pty.pdb +0 -0
- package/prebuilds/node-pty/win32-arm64/winpty-agent.exe +0 -0
- package/prebuilds/node-pty/win32-arm64/winpty-agent.pdb +0 -0
- package/prebuilds/node-pty/win32-arm64/winpty.dll +0 -0
- package/prebuilds/node-pty/win32-arm64/winpty.pdb +0 -0
- package/prebuilds/node-pty/win32-x64/conpty/OpenConsole.exe +0 -0
- package/prebuilds/node-pty/win32-x64/conpty/conpty.dll +0 -0
- package/prebuilds/node-pty/win32-x64/conpty.node +0 -0
- package/prebuilds/node-pty/win32-x64/conpty.pdb +0 -0
- package/prebuilds/node-pty/win32-x64/conpty_console_list.node +0 -0
- package/prebuilds/node-pty/win32-x64/conpty_console_list.pdb +0 -0
- package/prebuilds/node-pty/win32-x64/pty.node +0 -0
- package/prebuilds/node-pty/win32-x64/pty.pdb +0 -0
- package/prebuilds/node-pty/win32-x64/winpty-agent.exe +0 -0
- package/prebuilds/node-pty/win32-x64/winpty-agent.pdb +0 -0
- package/prebuilds/node-pty/win32-x64/winpty.dll +0 -0
- package/prebuilds/node-pty/win32-x64/winpty.pdb +0 -0
- package/scripts/postinstall.js +51 -1
- package/dist/server/ui/assets/index-BoDZOB7c.css +0 -32
- package/dist/server/ui/assets/index-hB0e02VB.js +0 -735
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
var fa=e=>{throw TypeError(e)};var ga=(e,t,n)=>t.has(e)||fa("Cannot "+n);var kt=(e,t,n)=>(ga(e,t,"read from private field"),n?n.call(e):t.get(e)),ba=(e,t,n)=>t.has(e)?fa("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),va=(e,t,n,r)=>(ga(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n);import{c as Be,r as w,u as mr,h as O,P as Xn,l as Ts,Z as je,i as As,_ as ks,$ as Po,a0 as $o,a1 as zo,j as u,a as H,a2 as Bo,a3 as Go,a4 as hr,a5 as fr,a6 as gr,C as gn,q as bn,s as xe,M as ke,y as br,a7 as Is,B as ee,a8 as vn,a9 as on,aa as $e,ab as Rs,ac as Ot,ad as Uo,ae as Ho,af as Ko,ag as Wo,ah as Yo,ai as qo,aj as Xo,ak as Na,al as Zo,am as Qo,D as ln,b as un,d as cn,e as pn,f as dn,an as Zn,ao as vr,Q as yt,ap as _s,T as Ln,K as Fn,L as Pn,O as $n,aq as Nr,ar as Jo,U as Pe,as as zn,at as js,au as el,av as tl,aw as nl,n as Os,ax as rl,ay as al,az as sl,aA as il,aB as ol,aC as Vs,aD as ll,aE as Ms,aF as Bn,S as ul,G as cl,H as pl,I as dl,J as ml,aG as hl,aH as fl,aI as wa,aJ as gl,p as bl,v as xt,A as Bt,aK as vt,aL as vl,aM as Nl,aN as wl,N as yl,aO as xl}from"./index-JbUMpbg7.js";/**
|
|
2
|
+
* @license lucide-react v0.545.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const El=[["rect",{x:"14",y:"14",width:"4",height:"6",rx:"2",key:"p02svl"}],["rect",{x:"6",y:"4",width:"4",height:"6",rx:"2",key:"xm4xkj"}],["path",{d:"M6 20h4",key:"1i6q5t"}],["path",{d:"M14 10h4",key:"ru81e7"}],["path",{d:"M6 14h2v6",key:"16z9wg"}],["path",{d:"M14 4h2v6",key:"1idq9u"}]],Sl=Be("binary",El);/**
|
|
7
|
+
* @license lucide-react v0.545.0 - ISC
|
|
8
|
+
*
|
|
9
|
+
* This source code is licensed under the ISC license.
|
|
10
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
11
|
+
*/const Dl=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]],Cl=Be("columns-2",Dl);/**
|
|
12
|
+
* @license lucide-react v0.545.0 - ISC
|
|
13
|
+
*
|
|
14
|
+
* This source code is licensed under the ISC license.
|
|
15
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
16
|
+
*/const Tl=[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]],Oe=Be("file-code",Tl);/**
|
|
17
|
+
* @license lucide-react v0.545.0 - ISC
|
|
18
|
+
*
|
|
19
|
+
* This source code is licensed under the ISC license.
|
|
20
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
21
|
+
*/const Al=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],kl=Be("folder",Al);/**
|
|
22
|
+
* @license lucide-react v0.545.0 - ISC
|
|
23
|
+
*
|
|
24
|
+
* This source code is licensed under the ISC license.
|
|
25
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
26
|
+
*/const Il=[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]],wr=Be("lightbulb",Il);/**
|
|
27
|
+
* @license lucide-react v0.545.0 - ISC
|
|
28
|
+
*
|
|
29
|
+
* This source code is licensed under the ISC license.
|
|
30
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
31
|
+
*/const Rl=[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}]],_l=Be("message-circle",Rl);/**
|
|
32
|
+
* @license lucide-react v0.545.0 - ISC
|
|
33
|
+
*
|
|
34
|
+
* This source code is licensed under the ISC license.
|
|
35
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
36
|
+
*/const jl=[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]],Ol=Be("pen-line",jl);/**
|
|
37
|
+
* @license lucide-react v0.545.0 - ISC
|
|
38
|
+
*
|
|
39
|
+
* This source code is licensed under the ISC license.
|
|
40
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
41
|
+
*/const Vl=[["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}],["path",{d:"m9 17-5-5 5-5",key:"nvlc11"}]],Ml=Be("reply",Vl);/**
|
|
42
|
+
* @license lucide-react v0.545.0 - ISC
|
|
43
|
+
*
|
|
44
|
+
* This source code is licensed under the ISC license.
|
|
45
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
46
|
+
*/const Ll=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 12h18",key:"1i2n21"}]],Fl=Be("rows-2",Ll);var Ls="Toggle",Fs=w.forwardRef((e,t)=>{const{pressed:n,defaultPressed:r,onPressedChange:a,...s}=e,[i,o]=mr({prop:n,onChange:a,defaultProp:r??!1,caller:Ls});return O.jsx(Xn.button,{type:"button","aria-pressed":i,"data-state":i?"on":"off","data-disabled":e.disabled?"":void 0,...s,ref:t,onClick:Ts(e.onClick,()=>{e.disabled||o(!i)})})});Fs.displayName=Ls;var Ye="ToggleGroup",[Ps]=As(Ye,[ks]),$s=ks(),yr=je.forwardRef((e,t)=>{const{type:n,...r}=e;if(n==="single"){const a=r;return O.jsx(Pl,{...a,ref:t})}if(n==="multiple"){const a=r;return O.jsx($l,{...a,ref:t})}throw new Error(`Missing prop \`type\` expected on \`${Ye}\``)});yr.displayName=Ye;var[zs,Bs]=Ps(Ye),Pl=je.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:a=()=>{},...s}=e,[i,o]=mr({prop:n,defaultProp:r??"",onChange:a,caller:Ye});return O.jsx(zs,{scope:e.__scopeToggleGroup,type:"single",value:je.useMemo(()=>i?[i]:[],[i]),onItemActivate:o,onItemDeactivate:je.useCallback(()=>o(""),[o]),children:O.jsx(Gs,{...s,ref:t})})}),$l=je.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:a=()=>{},...s}=e,[i,o]=mr({prop:n,defaultProp:r??[],onChange:a,caller:Ye}),l=je.useCallback(p=>o((d=[])=>[...d,p]),[o]),c=je.useCallback(p=>o((d=[])=>d.filter(m=>m!==p)),[o]);return O.jsx(zs,{scope:e.__scopeToggleGroup,type:"multiple",value:i,onItemActivate:l,onItemDeactivate:c,children:O.jsx(Gs,{...s,ref:t})})});yr.displayName=Ye;var[zl,Bl]=Ps(Ye),Gs=je.forwardRef((e,t)=>{const{__scopeToggleGroup:n,disabled:r=!1,rovingFocus:a=!0,orientation:s,dir:i,loop:o=!0,...l}=e,c=$s(n),p=$o(i),d={role:"group",dir:p,...l};return O.jsx(zl,{scope:n,rovingFocus:a,disabled:r,children:a?O.jsx(zo,{asChild:!0,...c,orientation:s,dir:p,loop:o,children:O.jsx(Xn.div,{...d,ref:t})}):O.jsx(Xn.div,{...d,ref:t})})}),mn="ToggleGroupItem",Us=je.forwardRef((e,t)=>{const n=Bs(mn,e.__scopeToggleGroup),r=Bl(mn,e.__scopeToggleGroup),a=$s(e.__scopeToggleGroup),s=n.value.includes(e.value),i=r.disabled||e.disabled,o={...e,pressed:s,disabled:i},l=je.useRef(null);return r.rovingFocus?O.jsx(Po,{asChild:!0,...a,focusable:!i,active:s,ref:l,children:O.jsx(ya,{...o,ref:t})}):O.jsx(ya,{...o,ref:t})});Us.displayName=mn;var ya=je.forwardRef((e,t)=>{const{__scopeToggleGroup:n,value:r,...a}=e,s=Bs(mn,n),i={role:"radio","aria-checked":e.pressed,"aria-pressed":void 0},o=s.type==="single"?i:void 0;return O.jsx(Fs,{...o,...a,ref:t,onPressedChange:l=>{l?s.onItemActivate(r):s.onItemDeactivate(r)}})}),Hs=yr,Ks=Us;const Ws=w.createContext({size:"default",variant:"default"}),xr=w.forwardRef(({className:e,variant:t,size:n,children:r,...a},s)=>u.jsxDEV(Hs,{ref:s,className:H("flex items-center justify-center gap-1",e),...a,children:u.jsxDEV(Ws.Provider,{value:{variant:t,size:n},children:r},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/toggle-group.tsx",lineNumber:25,columnNumber:5},void 0)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/toggle-group.tsx",lineNumber:20,columnNumber:3},void 0));xr.displayName=Hs.displayName;const Gl={default:"bg-transparent data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",outline:"border border-input bg-transparent hover:bg-accent hover:text-accent-foreground data-[state=on]:bg-accent data-[state=on]:text-accent-foreground"},Ul={default:"h-9 px-3",sm:"h-8 px-2",lg:"h-10 px-4"},Er=w.forwardRef(({className:e,children:t,variant:n,size:r,...a},s)=>{const i=w.useContext(Ws);return u.jsxDEV(Ks,{ref:s,className:H("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",Gl[n??i.variant??"default"],Ul[r??i.size??"default"],e),...a,children:t},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/toggle-group.tsx",lineNumber:53,columnNumber:5},void 0)});Er.displayName=Ks.displayName;function ne(e,t="Assertion error"){if(!e)throw Error(t)}function Nt({group:e}){const{orientation:t,panels:n}=e;return n.reduce((r,a)=>(r+=t==="horizontal"?a.element.offsetWidth:a.element.offsetHeight,r),0)}function Qn(e,t){return t.sort(e==="horizontal"?Hl:Kl)}function Hl(e,t){const n=e.element.offsetLeft-t.element.offsetLeft;return n!==0?n:e.element.offsetWidth-t.element.offsetWidth}function Kl(e,t){const n=e.element.offsetTop-t.element.offsetTop;return n!==0?n:e.element.offsetHeight-t.element.offsetHeight}function Ys(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function qs(e,t){return{x:e.x>=t.left&&e.x<=t.right?0:Math.min(Math.abs(e.x-t.left),Math.abs(e.x-t.right)),y:e.y>=t.top&&e.y<=t.bottom?0:Math.min(Math.abs(e.y-t.top),Math.abs(e.y-t.bottom))}}function Wl({orientation:e,rects:t,targetRect:n}){const r={x:n.x+n.width/2,y:n.y+n.height/2};let a,s=Number.MAX_VALUE;for(const i of t){const{x:o,y:l}=qs(r,i),c=e==="horizontal"?o:l;c<s&&(s=c,a=i)}return ne(a,"No rect found"),a}function Xs(e){const{element:t,orientation:n,panels:r,separators:a}=e,s=Qn(n,Array.from(t.children).filter(Ys).map(p=>({element:p}))).map(({element:p})=>p),i=[];let o=!1,l,c=[];for(const p of s)if(p.hasAttribute("data-panel")){const d=r.find(m=>m.element===p);if(d){if(l){const m=l.element.getBoundingClientRect(),f=p.getBoundingClientRect();let h;if(o){const g=n==="horizontal"?new DOMRect(m.right,m.top,0,m.height):new DOMRect(m.left,m.bottom,m.width,0),b=n==="horizontal"?new DOMRect(f.left,f.top,0,f.height):new DOMRect(f.left,f.top,f.width,0);switch(c.length){case 0:{h=[g,b];break}case 1:{const N=c[0],y=Wl({orientation:n,rects:[m,f],targetRect:N.element.getBoundingClientRect()});h=[N,y===m?b:g];break}default:{h=c;break}}}else c.length?h=c:h=[n==="horizontal"?new DOMRect(m.right,f.top,f.left-m.right,f.height):new DOMRect(f.left,m.bottom,f.width,f.top-m.bottom)];for(const g of h)i.push({group:e,groupSize:Nt({group:e}),panels:[l,d],separator:"width"in g?void 0:g,rect:"width"in g?g:g.element.getBoundingClientRect()})}o=!1,l=d,c=[]}}else if(p.hasAttribute("data-separator")){const d=a.find(m=>m.element===p);d?c.push(d):(l=void 0,c=[])}else o=!0;return i}function Yl(e,t){const n=getComputedStyle(e),r=parseFloat(n.fontSize);return t*r}function ql(e,t){const n=getComputedStyle(e.ownerDocument.body),r=parseFloat(n.fontSize);return t*r}function Xl(e){return e/100*window.innerHeight}function Zl(e){return e/100*window.innerWidth}function Ql(e){switch(typeof e){case"number":return[e,"px"];case"string":{const t=parseFloat(e);return e.endsWith("%")?[t,"%"]:e.endsWith("px")?[t,"px"]:e.endsWith("rem")?[t,"rem"]:e.endsWith("em")?[t,"em"]:e.endsWith("vh")?[t,"vh"]:e.endsWith("vw")?[t,"vw"]:[t,"%"]}}}function Yt({groupSize:e,panelElement:t,styleProp:n}){let r;const[a,s]=Ql(n);switch(s){case"%":{r=a/100*e;break}case"px":{r=a;break}case"rem":{r=ql(t,a);break}case"em":{r=Yl(t,a);break}case"vh":{r=Xl(a);break}case"vw":{r=Zl(a);break}}return r}function _e(e){return parseFloat(e.toFixed(3))}function xa(e){const{panels:t}=e,n=Nt({group:e});return n===0?t.map(r=>({collapsedSize:0,collapsible:r.panelConstraints.collapsible===!0,defaultSize:void 0,minSize:0,maxSize:100,panelId:r.id})):t.map(r=>{const{element:a,panelConstraints:s}=r;let i=0;if(s.collapsedSize){const p=Yt({groupSize:n,panelElement:a,styleProp:s.collapsedSize});i=_e(p/n*100)}let o;if(s.defaultSize){const p=Yt({groupSize:n,panelElement:a,styleProp:s.defaultSize});o=_e(p/n*100)}let l=0;if(s.minSize){const p=Yt({groupSize:n,panelElement:a,styleProp:s.minSize});l=_e(p/n*100)}let c=100;if(s.maxSize){const p=Yt({groupSize:n,panelElement:a,styleProp:s.maxSize});c=_e(p/n*100)}return{collapsedSize:i,collapsible:s.collapsible===!0,defaultSize:o,minSize:l,maxSize:c,panelId:r.id}})}var Ke;class Jl{constructor(){ba(this,Ke,{})}addListener(t,n){const r=kt(this,Ke)[t];return r===void 0?kt(this,Ke)[t]=[n]:r.includes(n)||r.push(n),()=>{this.removeListener(t,n)}}emit(t,n){const r=kt(this,Ke)[t];if(r!==void 0)if(r.length===1)r[0].call(null,n);else{let a=!1,s=null;const i=Array.from(r);for(let o=0;o<i.length;o++){const l=i[o];try{l.call(null,n)}catch(c){s===null&&(a=!0,s=c)}}if(a)throw s}}removeAllListeners(){va(this,Ke,{})}removeListener(t,n){const r=kt(this,Ke)[t];if(r!==void 0){const a=r.indexOf(n);a>=0&&r.splice(a,1)}}}Ke=new WeakMap;function fe(e,t,n=0){return Math.abs(_e(e)-_e(t))<=n}let Te={cursorFlags:0,interactionState:{state:"inactive"},mountedGroups:new Map};const et=new Jl;function Ie(){return Te}function be(e){const t=typeof e=="function"?e(Te):e;if(Te===t)return Te;const n=Te;return Te={...Te,...t},t.cursorFlags!==void 0&&et.emit("cursorFlagsChange",Te.cursorFlags),t.interactionState!==void 0&&et.emit("interactionStateChange",Te.interactionState),t.mountedGroups!==void 0&&(Te.mountedGroups.forEach((r,a)=>{r.derivedPanelConstraints.forEach(s=>{if(s.collapsible){const{layout:i}=n.mountedGroups.get(a)??{};if(i){const o=fe(s.collapsedSize,r.layout[s.panelId]),l=fe(s.collapsedSize,i[s.panelId]);o&&!l&&(a.inMemoryLastExpandedPanelSizes[s.panelId]=i[s.panelId])}}})}),et.emit("mountedGroupsChange",Te.mountedGroups)),Te}function eu(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function Vt(e,t){return fe(e,t)?0:e>t?1:-1}function ht({panelConstraints:e,size:t}){const{collapsedSize:n=0,collapsible:r,maxSize:a=100,minSize:s=0}=e;if(Vt(t,s)<0)if(r){const i=(n+s)/2;Vt(t,i)<0?t=n:t=s}else t=s;return t=Math.min(a,t),t=_e(t),t}function Mt({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:a,trigger:s}){if(fe(e,0))return t;const i=Object.values(t),o=Object.values(a),l=[...i],[c,p]=r;ne(c!=null,"Invalid first pivot index"),ne(p!=null,"Invalid second pivot index");let d=0;if(s==="keyboard"){{const h=e<0?p:c,g=n[h];ne(g,`Panel constraints not found for index ${h}`);const{collapsedSize:b=0,collapsible:N,minSize:y=0}=g;if(N){const x=i[h];if(ne(x!=null,`Previous layout not found for panel index ${h}`),fe(x,b)){const v=y-x;Vt(v,Math.abs(e))>0&&(e=e<0?0-v:v)}}}{const h=e<0?c:p,g=n[h];ne(g,`No panel constraints found for index ${h}`);const{collapsedSize:b=0,collapsible:N,minSize:y=0}=g;if(N){const x=i[h];if(ne(x!=null,`Previous layout not found for panel index ${h}`),fe(x,y)){const v=x-b;Vt(v,Math.abs(e))>0&&(e=e<0?0-v:v)}}}}{const h=e<0?1:-1;let g=e<0?p:c,b=0;for(;;){const y=i[g];ne(y!=null,`Previous layout not found for panel index ${g}`);const x=ht({panelConstraints:n[g],size:100})-y;if(b+=x,g+=h,g<0||g>=n.length)break}const N=Math.min(Math.abs(e),Math.abs(b));e=e<0?0-N:N}{let h=e<0?c:p;for(;h>=0&&h<n.length;){const g=Math.abs(e)-Math.abs(d),b=i[h];ne(b!=null,`Previous layout not found for panel index ${h}`);const N=b-g,y=ht({panelConstraints:n[h],size:N});if(!fe(b,y)&&(d+=b-y,l[h]=y,d.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?h--:h++}}if(eu(o,l))return a;{const h=e<0?p:c,g=i[h];ne(g!=null,`Previous layout not found for panel index ${h}`);const b=g+d,N=ht({panelConstraints:n[h],size:b});if(l[h]=N,!fe(N,b)){let y=b-N,x=e<0?p:c;for(;x>=0&&x<n.length;){const v=l[x];ne(v!=null,`Previous layout not found for panel index ${x}`);const E=v+y,S=ht({panelConstraints:n[x],size:E});if(fe(v,S)||(y-=S-v,l[x]=S),fe(y,0))break;e>0?x--:x++}}}const m=Object.values(l).reduce((h,g)=>g+h,0);if(!fe(m,100,.1))return a;const f=Object.keys(a);return l.reduce((h,g,b)=>(h[f[b]]=g,h),{})}function nn(e){const{mountedGroups:t}=Ie();for(const[n]of t)if(n.separators.some(r=>r.element===e))return n;throw Error("Could not find parent Group for separator element")}function tt(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(t[n]===void 0||Vt(e[n],t[n])!==0)return!1;return!0}function nt({layout:e,panelConstraints:t}){const n=[...Object.values(e)],r=n.reduce((i,o)=>i+o,0);if(n.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${n.map(i=>`${i}%`).join(", ")}`);if(!fe(r,100)&&n.length>0)for(let i=0;i<t.length;i++){const o=n[i];ne(o!=null,`No layout data found for index ${i}`);const l=100/r*o;n[i]=l}let a=0;for(let i=0;i<t.length;i++){const o=n[i];ne(o!=null,`No layout data found for index ${i}`);const l=ht({panelConstraints:t[i],size:o});o!=l&&(a+=o-l,n[i]=l)}if(!fe(a,0))for(let i=0;i<t.length;i++){const o=n[i];ne(o!=null,`No layout data found for index ${i}`);const l=o+a,c=ht({panelConstraints:t[i],size:l});if(o!==c&&(a-=c-o,n[i]=c,fe(a,0)))break}const s=Object.keys(e);return n.reduce((i,o,l)=>(i[s[l]]=o,i),{})}function Zs({groupId:e}){const t=()=>{const{mountedGroups:n}=Ie();for(const[r,a]of n)if(r.id===e)return{group:r,...a};throw Error(`Could not find Group with id "${e}"`)};return{getLayout(){const{defaultLayoutDeferred:n,layout:r}=t();return n?{}:r},setLayout(n){const{defaultLayoutDeferred:r,derivedPanelConstraints:a,group:s,layout:i,separatorToPanels:o}=t(),l=nt({layout:n,panelConstraints:a});return r?i:(tt(i,l)||be(c=>({mountedGroups:new Map(c.mountedGroups).set(s,{defaultLayoutDeferred:r,derivedPanelConstraints:a,layout:l,separatorToPanels:o})})),l)}}}function Qs(e){const{mountedGroups:t}=Ie(),n=t.get(e);return ne(n,`Mounted Group ${e.id} not found`),n}function Qe(e,t){const n=nn(e),r=Qs(n),a=n.separators.find(p=>p.element===e);ne(a,"Matching separator not found");const s=r.separatorToPanels.get(a);ne(s,"Matching panels not found");const i=s.map(p=>n.panels.indexOf(p)),o=Zs({groupId:n.id}).getLayout(),l=Mt({delta:t,initialLayout:o,panelConstraints:r.derivedPanelConstraints,pivotIndices:i,prevLayout:o,trigger:"keyboard"}),c=nt({layout:l,panelConstraints:r.derivedPanelConstraints});tt(o,c)||be(p=>({mountedGroups:new Map(p.mountedGroups).set(n,{defaultLayoutDeferred:r.defaultLayoutDeferred,derivedPanelConstraints:r.derivedPanelConstraints,layout:c,separatorToPanels:r.separatorToPanels})}))}function Ea(e){if(e.defaultPrevented)return;const t=e.currentTarget,n=nn(t);if(!n.disabled)switch(e.key){case"ArrowDown":{e.preventDefault(),n.orientation==="vertical"&&Qe(t,5);break}case"ArrowLeft":{e.preventDefault(),n.orientation==="horizontal"&&Qe(t,-5);break}case"ArrowRight":{e.preventDefault(),n.orientation==="horizontal"&&Qe(t,5);break}case"ArrowUp":{e.preventDefault(),n.orientation==="vertical"&&Qe(t,-5);break}case"End":{e.preventDefault(),Qe(t,100);break}case"Enter":{e.preventDefault();const r=nn(t),{derivedPanelConstraints:a,layout:s,separatorToPanels:i}=Qs(r),o=r.separators.find(d=>d.element===t);ne(o,"Matching separator not found");const l=i.get(o);ne(l,"Matching panels not found");const c=l[0],p=a.find(d=>d.panelId===c.id);if(ne(p,"Panel metadata not found"),p.collapsible){const d=s[c.id],m=p.collapsedSize===d?r.inMemoryLastExpandedPanelSizes[c.id]??p.minSize:p.collapsedSize;Qe(t,m-d)}break}case"F6":{e.preventDefault();const r=nn(t).separators.map(i=>i.element),a=Array.from(r).findIndex(i=>i===e.currentTarget);ne(a!==null,"Index not found");const s=e.shiftKey?a>0?a-1:r.length-1:a+1<r.length?a+1:0;r[s].focus();break}case"Home":{e.preventDefault(),Qe(t,-100);break}}}const tu=e=>e,Gn=()=>{},Js=1,ei=2,ti=4,ni=8,Sa={coarse:10,precise:5};function nu(e,t,n){let r,a={x:1/0,y:1/0};for(const s of t){const i=qs(n,s.rect);switch(e){case"horizontal":{i.x<=a.x&&(r=s,a=i);break}case"vertical":{i.y<=a.y&&(r=s,a=i);break}}}return r?{distance:a,hitRegion:r}:void 0}let qt;function ru(){return qt===void 0&&(typeof matchMedia=="function"?qt=!!matchMedia("(pointer:coarse)").matches:qt=!1),qt}function au(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function su(e,t){if(e===t)throw new Error("Cannot compare node with itself");const n={a:Ta(e),b:Ta(t)};let r;for(;n.a.at(-1)===n.b.at(-1);)e=n.a.pop(),t=n.b.pop(),r=e;ne(r,"Stacking order can only be calculated for elements with a common ancestor");const a={a:Ca(Da(n.a)),b:Ca(Da(n.b))};if(a.a===a.b){const s=r.childNodes,i={a:n.a.at(-1),b:n.b.at(-1)};let o=s.length;for(;o--;){const l=s[o];if(l===i.a)return 1;if(l===i.b)return-1}}return Math.sign(a.a-a.b)}const iu=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function ou(e){const t=getComputedStyle(ri(e)??e).display;return t==="flex"||t==="inline-flex"}function lu(e){const t=getComputedStyle(e);return!!(t.position==="fixed"||t.zIndex!=="auto"&&(t.position!=="static"||ou(e))||+t.opacity<1||"transform"in t&&t.transform!=="none"||"webkitTransform"in t&&t.webkitTransform!=="none"||"mixBlendMode"in t&&t.mixBlendMode!=="normal"||"filter"in t&&t.filter!=="none"||"webkitFilter"in t&&t.webkitFilter!=="none"||"isolation"in t&&t.isolation==="isolate"||iu.test(t.willChange)||t.webkitOverflowScrolling==="touch")}function Da(e){let t=e.length;for(;t--;){const n=e[t];if(ne(n,"Missing node"),lu(n))return n}return null}function Ca(e){return e&&Number(getComputedStyle(e).zIndex)||0}function Ta(e){const t=[];for(;e;)t.push(e),e=ri(e);return t}function ri(e){const{parentNode:t}=e;return au(t)?t.host:t}function uu(e,t){return e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y}function cu({groupElement:e,hitRegion:t,pointerEventTarget:n}){if(!Ys(n)||n.contains(e)||e.contains(n))return!0;if(su(n,e)>0){let r=n;for(;r;){if(r.contains(e))return!0;if(uu(r.getBoundingClientRect(),t))return!1;r=r.parentElement}}return!0}function ai(e,t){const n=[];return t.forEach((r,a)=>{if(a.disabled)return;const s=ru()?Sa.coarse:Sa.precise,i=Xs(a),o=nu(a.orientation,i,{x:e.clientX,y:e.clientY});o&&o.distance.x<=s&&o.distance.y<=s&&cu({groupElement:a.element,hitRegion:o.hitRegion.rect,pointerEventTarget:e.target})&&n.push(o.hitRegion)}),n}function Aa(e){if(e.defaultPrevented||e.pointerType==="mouse"&&e.button>0)return;const{mountedGroups:t}=Ie(),n=ai(e,t),r=new Set,a=new Set,s=new Set,i=new Map;let o=!1;n.forEach(l=>{r.add(l.group),l.panels.forEach(p=>{a.add(p)}),l.separator&&(s.add(l.separator),o||(o=!0,l.separator.element.focus()));const c=t.get(l.group);c&&i.set(l.group,c.layout)}),be({interactionState:{hitRegions:n,initialLayoutMap:i,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:"active"}}),n.length&&e.preventDefault()}function pu({cursorFlags:e,groups:t,state:n}){let r=0,a=0;switch(n){case"active":case"hover":t.forEach(s=>{if(!s.disableCursor)switch(s.orientation){case"horizontal":{r++;break}case"vertical":{a++;break}}})}if(r===0&&a===0)return null;switch(n){case"active":{const s=(e&Js)!==0,i=(e&ei)!==0,o=(e&ti)!==0,l=(e&ni)!==0;if(e){if(s)return o?"se-resize":l?"ne-resize":"e-resize";if(i)return o?"sw-resize":l?"nw-resize":"w-resize";if(o)return"s-resize";if(l)return"n-resize"}break}}return r>0&&a>0?"move":r>0?"ew-resize":"ns-resize"}const ka=new WeakMap;function Sr(e){if(e.defaultView===null||e.defaultView===void 0)return;let{prevStyle:t,styleSheet:n}=ka.get(e)??{};n===void 0&&(n=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets=[n]);const{cursorFlags:r,interactionState:a}=Ie();switch(a.state){case"active":case"hover":{const s=pu({cursorFlags:r,groups:a.hitRegions.map(o=>o.group),state:a.state}),i=`*{cursor: ${s} !important; ${a.state==="active"?"touch-action: none;":""} }`;if(t===i)return;t=i,s?n.cssRules.length===0?n.insertRule(i):n.replaceSync(i):n.cssRules.length===1&&n.deleteRule(0);break}case"inactive":{t=void 0,n.cssRules.length===1&&n.deleteRule(0);break}}ka.set(e,{prevStyle:t,styleSheet:n})}function si({document:e,event:t,hitRegions:n,initialLayoutMap:r,mountedGroups:a,pointerDownAtPoint:s}){let i=0;const o=new Map(a);n.forEach(l=>{const{group:c,groupSize:p}=l,{disableCursor:d,orientation:m,panels:f}=c;let h=0;s?m==="horizontal"?h=(t.clientX-s.x)/p*100:h=(t.clientY-s.y)/p*100:m==="horizontal"?h=t.clientX<0?-100:100:h=t.clientY<0?-100:100;const g=r.get(c),{defaultLayoutDeferred:b,derivedPanelConstraints:N,layout:y,separatorToPanels:x}=a.get(c)??{defaultLayoutDeferred:!1};if(N&&g&&y&&x){const v=Mt({delta:h,initialLayout:g,panelConstraints:N,pivotIndices:l.panels.map(E=>f.indexOf(E)),prevLayout:y,trigger:"mouse-or-touch"});if(tt(v,y)){if(h!==0&&!d)switch(m){case"horizontal":{i|=h<0?Js:ei;break}case"vertical":{i|=h<0?ti:ni;break}}}else{o.set(l.group,{defaultLayoutDeferred:b,derivedPanelConstraints:N,layout:v,separatorToPanels:x});const E=l.group.panels.map(({id:S})=>S).join(",");l.group.inMemoryLayouts[E]=v}}}),be({cursorFlags:i,mountedGroups:o}),Sr(e)}function Ia(e){const{interactionState:t,mountedGroups:n}=Ie();switch(t.state){case"active":si({document:e.currentTarget,event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n})}}function Ra(e){if(e.defaultPrevented)return;const{interactionState:t,mountedGroups:n}=Ie();switch(t.state){case"active":{if(e.buttons===0){be(r=>r.interactionState.state==="inactive"?r:{cursorFlags:0,interactionState:{state:"inactive"}}),be(r=>({mountedGroups:new Map(r.mountedGroups)}));return}si({document:e.currentTarget,event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n,pointerDownAtPoint:t.pointerDownAtPoint});break}default:{const r=ai(e,n);r.length===0?t.state!=="inactive"&&be({interactionState:{state:"inactive"}}):be({interactionState:{hitRegions:r,state:"hover"}}),Sr(e.currentTarget);break}}}function _a(e){if(e.defaultPrevented||e.pointerType==="mouse"&&e.button>0)return;const{interactionState:t}=Ie();switch(t.state){case"active":be({cursorFlags:0,interactionState:{state:"inactive"}}),t.hitRegions.length>0&&(Sr(e.currentTarget),be(n=>({mountedGroups:new Map(n.mountedGroups)})),e.preventDefault())}}function ja(e){let t=0,n=0;const r={};for(const s of e)if(s.defaultSize!==void 0){t++;const i=_e(s.defaultSize);n+=i,r[s.panelId]=i}else r[s.panelId]=void 0;const a=e.length-t;if(a!==0){const s=_e((100-n)/a);for(const i of e)i.defaultSize===void 0&&(r[i.panelId]=s)}return r}function du(e,t,n){if(!n[0])return;const r=e.panels.find(l=>l.element===t);if(!r||!r.onResize)return;const a=Nt({group:e}),s=e.orientation==="horizontal"?r.element.offsetWidth:r.element.offsetHeight,i=r.mutableValues.prevSize,o={asPercentage:_e(s/a*100),inPixels:s};r.mutableValues.prevSize=o,r.onResize(o,r.id,i)}function mu(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(e[n]!==t[n])return!1;return!0}function hu(e,t){const n=e.map(a=>a.id),r=Object.keys(t);if(n.length!==r.length)return!1;for(const a of n)if(!r.includes(a))return!1;return!0}const lt=new Map;function fu(e){let t=!0;ne(e.element.ownerDocument.defaultView,"Cannot register an unmounted Group");const n=e.element.ownerDocument.defaultView.ResizeObserver,r=new Set,a=new Set,s=new n(h=>{for(const g of h){const{borderBoxSize:b,target:N}=g;if(N===e.element){if(t){if(Nt({group:e})===0)return;be(y=>{const x=y.mountedGroups.get(e);if(x){const v=xa(e),E=x.defaultLayoutDeferred?ja(v):x.layout,S=nt({layout:E,panelConstraints:v});return!x.defaultLayoutDeferred&&tt(E,S)&&mu(x.derivedPanelConstraints,v)?y:{mountedGroups:new Map(y.mountedGroups).set(e,{defaultLayoutDeferred:!1,derivedPanelConstraints:v,layout:S,separatorToPanels:x.separatorToPanels})}}return y})}}else du(e,N,b)}});s.observe(e.element),e.panels.forEach(h=>{ne(!r.has(h.id),`Panel ids must be unique; id "${h.id}" was used more than once`),r.add(h.id),h.onResize&&s.observe(h.element)});const i=Nt({group:e}),o=xa(e),l=e.panels.map(({id:h})=>h).join(",");let c=e.defaultLayout;c&&(hu(e.panels,c)||(c=void 0));const p=e.inMemoryLayouts[l]??c??ja(o),d=nt({layout:p,panelConstraints:o}),m=Xs(e),f=e.element.ownerDocument;return be(h=>{const g=new Map;return lt.set(f,(lt.get(f)??0)+1),m.forEach(b=>{b.separator&&g.set(b.separator,b.panels)}),{mountedGroups:new Map(h.mountedGroups).set(e,{defaultLayoutDeferred:i===0,derivedPanelConstraints:o,layout:d,separatorToPanels:g})}}),e.separators.forEach(h=>{ne(!a.has(h.id),`Separator ids must be unique; id "${h.id}" was used more than once`),a.add(h.id),h.element.addEventListener("keydown",Ea)}),lt.get(f)===1&&(f.addEventListener("pointerdown",Aa,!0),f.addEventListener("pointerleave",Ia),f.addEventListener("pointermove",Ra),f.addEventListener("pointerup",_a,!0)),function(){t=!1,lt.set(f,Math.max(0,(lt.get(f)??0)-1)),be(h=>{const g=new Map(h.mountedGroups);return g.delete(e),{mountedGroups:g}}),e.separators.forEach(h=>{h.element.removeEventListener("keydown",Ea)}),lt.get(f)||(f.removeEventListener("pointerdown",Aa,!0),f.removeEventListener("pointerleave",Ia),f.removeEventListener("pointermove",Ra),f.removeEventListener("pointerup",_a,!0)),s.disconnect()}}function ii(){const[e,t]=w.useState({}),n=w.useCallback(()=>t({}),[]);return[e,n]}function Dr(e){const t=w.useId();return`${e??t}`}const rt=typeof window<"u"?w.useLayoutEffect:w.useEffect;function _t(e){const t=w.useRef(e);return rt(()=>{t.current=e},[e]),w.useCallback((...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[t])}function Cr(...e){return _t(t=>{e.forEach(n=>{if(n)switch(typeof n){case"function":{n(t);break}case"object":{n.current=t;break}}})})}function gu(e){const t=w.useRef({...e});return rt(()=>{for(const n in e)t.current[n]=e[n]},[e]),t.current}const oi=w.createContext(null);function bu(e,t){const n=w.useRef({getLayout:()=>({}),setLayout:tu});w.useImperativeHandle(t,()=>n.current,[]),rt(()=>{Object.assign(n.current,Zs({groupId:e}))})}function li({children:e,className:t,defaultLayout:n,disableCursor:r,disabled:a,elementRef:s,groupRef:i,id:o,onLayoutChange:l,onLayoutChanged:c,orientation:p="horizontal",style:d,...m}){const f=w.useRef({onLayoutChange:{},onLayoutChanged:{}}),h=_t(A=>{tt(f.current.onLayoutChange,A)||(f.current.onLayoutChange=A,l==null||l(A))}),g=_t(A=>{tt(f.current.onLayoutChanged,A)||(f.current.onLayoutChanged=A,c==null||c(A))}),b=Dr(o),N=w.useRef(null),[y,x]=ii(),v=w.useRef({lastExpandedPanelSizes:{},layouts:{},panels:[],separators:[]}),E=Cr(N,s);bu(b,i);const S=_t((A,j)=>{const{interactionState:L,mountedGroups:R}=Ie();for(const $ of R.keys())if($.id===A){const W=R.get($);if(W){let Y=!1;switch(L.state){case"active":{Y=L.hitRegions.some(k=>k.group===$);break}}return{flexGrow:W.layout[j]??1,pointerEvents:Y?"none":void 0}}}return{flexGrow:(n==null?void 0:n[j])??1}}),C=w.useMemo(()=>({getPanelStyles:S,id:b,orientation:p,registerPanel:A=>{const j=v.current;return j.panels=Qn(p,[...j.panels,A]),x(),()=>{j.panels=j.panels.filter(L=>L!==A),x()}},registerSeparator:A=>{const j=v.current;return j.separators=Qn(p,[...j.separators,A]),x(),()=>{j.separators=j.separators.filter(L=>L!==A),x()}}}),[S,b,x,p]),D=gu({defaultLayout:n,disableCursor:r}),V=w.useRef(null);return rt(()=>{const A=N.current;if(A===null)return;const j=v.current,L={defaultLayout:D.defaultLayout,disableCursor:!!D.disableCursor,disabled:!!a,element:A,id:b,inMemoryLastExpandedPanelSizes:v.current.lastExpandedPanelSizes,inMemoryLayouts:v.current.layouts,orientation:p,panels:j.panels,separators:j.separators};V.current=L;const R=fu(L),$=Ie().mountedGroups.get(L);if($){const{defaultLayoutDeferred:k,derivedPanelConstraints:_,layout:U}=$;!k&&_.length>0&&(h(U),g(U),j.panels.forEach(T=>{T.scheduleUpdate()}))}const W=et.addListener("interactionStateChange",()=>{j.panels.forEach(k=>{k.scheduleUpdate()})}),Y=et.addListener("mountedGroupsChange",k=>{const _=k.get(L);if(_){const{defaultLayoutDeferred:U,derivedPanelConstraints:T,layout:G}=_;if(U||T.length===0)return;const{interactionState:Z}=Ie(),ce=Z.state!=="active";h(G),ce&&g(G),j.panels.forEach(M=>{M.scheduleUpdate()})}});return()=>{V.current=null,R(),W(),Y()}},[a,b,g,h,p,y,D]),w.useEffect(()=>{const A=V.current;A&&(A.defaultLayout=n,A.disableCursor=!!r)}),O.jsx(oi.Provider,{value:C,children:O.jsx("div",{...m,"aria-orientation":p,className:t,"data-group":!0,"data-testid":b,id:b,ref:E,style:{height:"100%",width:"100%",overflow:"hidden",...d,display:"flex",flexDirection:p==="horizontal"?"row":"column",flexWrap:"nowrap"},children:e})})}li.displayName="Group";function Un(e,t){return`react-resizable-panels:${[e,...t].join(":")}`}function Dh({debounceSaveMs:e=100,panelIds:t,storage:n=localStorage,...r}){const a=t!==void 0,s="id"in r?r.id:r.groupId,i=Un(s,t??[]),o=w.useSyncExternalStore(vu,()=>n.getItem(i),()=>n.getItem(i)),l=w.useMemo(()=>o?JSON.parse(o):void 0,[o]),c=w.useRef(null),p=w.useCallback(()=>{const f=c.current;f&&(c.current=null,clearTimeout(f))},[]);w.useLayoutEffect(()=>()=>{p()},[p]);const d=w.useCallback(f=>{p();let h;a?h=Un(s,Object.keys(f)):h=Un(s,[]);try{n.setItem(h,JSON.stringify(f))}catch(g){console.error(g)}},[p,a,s,n]),m=w.useCallback(f=>{p(),e===0?d(f):c.current=setTimeout(()=>{d(f)},e)},[p,e,d]);return{defaultLayout:l,onLayoutChange:m,onLayoutChanged:d}}function vu(){return function(){}}function Tr(){const e=w.useContext(oi);return ne(e,"Group Context not found; did you render a Panel or Separator outside of a Group?"),e}function Nu({groupId:e,panelId:t}){const n=()=>{const{mountedGroups:o}=Ie();for(const[l,{defaultLayoutDeferred:c,derivedPanelConstraints:p,layout:d,separatorToPanels:m}]of o)if(l.id===e)return{defaultLayoutDeferred:c,derivedPanelConstraints:p,group:l,layout:d,separatorToPanels:m};throw Error(`Group ${e} not found`)},r=()=>{const o=n().derivedPanelConstraints.find(l=>l.panelId===t);if(o!==void 0)return o;throw Error(`Panel constraints not found for Panel ${t}`)},a=()=>{const o=n().group.panels.find(l=>l.id===t);if(o!==void 0)return o;throw Error(`Layout not found for Panel ${t}`)},s=()=>{const o=n().layout[t];if(o!==void 0)return o;throw Error(`Layout not found for Panel ${t}`)},i=o=>{const l=s();if(o===l)return;const{defaultLayoutDeferred:c,derivedPanelConstraints:p,group:d,layout:m,separatorToPanels:f}=n(),h=d.panels.findIndex(y=>y.id===t),g=h===d.panels.length-1,b=Mt({delta:g?l-o:o-l,initialLayout:m,panelConstraints:p,pivotIndices:g?[h-1,h]:[h,h+1],prevLayout:m,trigger:"imperative-api"}),N=nt({layout:b,panelConstraints:p});tt(m,N)||be(y=>({mountedGroups:new Map(y.mountedGroups).set(d,{defaultLayoutDeferred:c,derivedPanelConstraints:p,layout:N,separatorToPanels:f})}))};return{collapse:()=>{const{collapsible:o,collapsedSize:l}=r(),{mutableValues:c}=a(),p=s();o&&p!==l&&(c.expandToSize=p,i(l))},expand:()=>{const{collapsible:o,collapsedSize:l,minSize:c}=r(),{mutableValues:p}=a(),d=s();if(o&&d===l){let m=p.expandToSize??c;m===0&&(m=1),i(m)}},getSize:()=>{const{group:o}=n(),l=s(),{element:c}=a(),p=o.orientation==="horizontal"?c.offsetWidth:c.offsetHeight;return{asPercentage:l,inPixels:p}},isCollapsed:()=>{const{collapsible:o,collapsedSize:l}=r(),c=s();return o&&fe(l,c)},resize:o=>{if(s()!==o){let l;switch(typeof o){case"number":{const{group:c}=n(),p=Nt({group:c});l=_e(o/p*100);break}case"string":{l=parseFloat(o);break}}i(l)}}}}function wu(e,t){const{id:n}=Tr(),r=w.useRef({collapse:Gn,expand:Gn,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:Gn});w.useImperativeHandle(t,()=>r.current,[]),rt(()=>{Object.assign(r.current,Nu({groupId:n,panelId:e}))})}function ui({children:e,className:t,collapsedSize:n="0%",collapsible:r=!1,defaultSize:a,elementRef:s,id:i,maxSize:o="100%",minSize:l="0%",onResize:c,panelRef:p,style:d,...m}){const f=!!i,h=Dr(i),g=w.useRef(null),b=Cr(g,s),[,N]=ii(),{getPanelStyles:y,id:x,registerPanel:v}=Tr(),E=c!==null,S=_t((D,V,A)=>{c==null||c(D,i,A)});rt(()=>{const D=g.current;if(D!==null)return v({element:D,id:h,idIsStable:f,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:E?S:void 0,panelConstraints:{collapsedSize:n,collapsible:r,defaultSize:a,maxSize:o,minSize:l},scheduleUpdate:N})},[n,r,a,N,E,h,f,o,l,S,v]),wu(h,p);const C=y(x,h);return O.jsx("div",{...m,"data-panel":!0,"data-testid":h,id:h,ref:b,style:{...yu,flexBasis:0,flexShrink:1,overflow:"hidden",...C},children:O.jsx("div",{className:t,style:{width:"100%",height:"100%",...d},children:e})})}ui.displayName="Panel";const yu={minHeight:0,maxHeight:"100%",height:"auto",minWidth:0,maxWidth:"100%",width:"auto",border:"none",borderWidth:0,padding:0,margin:0};function xu({layout:e,panelConstraints:t,panelId:n,panelIndex:r}){let a,s;const i=e[n],o=t.find(l=>l.panelId===n);if(o){const l=o.maxSize,c=s=o.collapsible?o.collapsedSize:o.minSize,p=[r,r+1];s=nt({layout:Mt({delta:c-i,initialLayout:e,panelConstraints:t,pivotIndices:p,prevLayout:e,trigger:"keyboard"}),panelConstraints:t})[n],a=nt({layout:Mt({delta:l-i,initialLayout:e,panelConstraints:t,pivotIndices:p,prevLayout:e,trigger:"keyboard"}),panelConstraints:t})[n]}return{valueControls:n,valueMax:a,valueMin:s,valueNow:i}}function ci({children:e,className:t,elementRef:n,id:r,style:a,...s}){const i=Dr(r),[o,l]=w.useState({}),[c,p]=w.useState("inactive"),d=w.useRef(null),m=Cr(d,n),{id:f,orientation:h,registerSeparator:g}=Tr(),b=h==="horizontal"?"vertical":"horizontal";return rt(()=>{const N=d.current;if(N!==null){const y={element:N,id:i},x=g(y),v=et.addListener("interactionStateChange",S=>{p(S.state!=="inactive"&&S.hitRegions.some(C=>C.separator===y)?S.state:"inactive")}),E=et.addListener("mountedGroupsChange",S=>{S.forEach(({derivedPanelConstraints:C,layout:D,separatorToPanels:V},A)=>{if(A.id===f){const j=V.get(y);if(j){const L=j[0],R=A.panels.indexOf(L);l(xu({layout:D,panelConstraints:C,panelId:L.id,panelIndex:R}))}}})});return()=>{v(),E(),x()}}},[f,i,g]),O.jsx("div",{...s,"aria-controls":o.valueControls,"aria-orientation":b,"aria-valuemax":o.valueMax,"aria-valuemin":o.valueMin,"aria-valuenow":o.valueNow,children:e,className:t,"data-separator":c,"data-testid":i,id:i,ref:m,role:"separator",style:{flexBasis:"auto",...a,flexGrow:0,flexShrink:0},tabIndex:0})}ci.displayName="Separator";const Ch=({className:e,...t})=>u.jsxDEV(li,{className:H("flex h-full w-full data-[panel-group-direction=vertical]:flex-col",e),...t},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/resizable.tsx",lineNumber:9,columnNumber:3},void 0),Th=ui,Ah=({withHandle:e,className:t,...n})=>u.jsxDEV(ci,{className:H("relative flex w-2 items-center justify-center bg-transparent after:absolute after:inset-y-0 after:left-1/2 after:w-px after:bg-border after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1","aria-[orientation=horizontal]:h-2 aria-[orientation=horizontal]:w-full aria-[orientation=horizontal]:after:inset-y-auto aria-[orientation=horizontal]:after:top-1/2 aria-[orientation=horizontal]:after:left-0 aria-[orientation=horizontal]:after:h-px aria-[orientation=horizontal]:after:w-full aria-[orientation=horizontal]:after:-translate-y-1/2 aria-[orientation=horizontal]:after:translate-x-0 [&[aria-orientation=horizontal]>div]:rotate-90",t),...n,children:e&&u.jsxDEV("div",{className:"z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border",children:u.jsxDEV(Bo,{className:"h-2.5 w-2.5"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/resizable.tsx",lineNumber:38,columnNumber:9},void 0)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/resizable.tsx",lineNumber:37,columnNumber:7},void 0)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/resizable.tsx",lineNumber:24,columnNumber:3},void 0);function ut(e,t,n){let r=n.initialDeps??[],a,s=!0;function i(){var o,l,c;let p;n.key&&((o=n.debug)!=null&&o.call(n))&&(p=Date.now());const d=e();if(!(d.length!==r.length||d.some((h,g)=>r[g]!==h)))return a;r=d;let f;if(n.key&&((l=n.debug)!=null&&l.call(n))&&(f=Date.now()),a=t(...d),n.key&&((c=n.debug)!=null&&c.call(n))){const h=Math.round((Date.now()-p)*100)/100,g=Math.round((Date.now()-f)*100)/100,b=g/16,N=(y,x)=>{for(y=String(y);y.length<x;)y=" "+y;return y};console.info(`%c⏱ ${N(g,5)} /${N(h,5)} ms`,`
|
|
47
|
+
font-size: .6rem;
|
|
48
|
+
font-weight: bold;
|
|
49
|
+
color: hsl(${Math.max(0,Math.min(120-120*b,120))}deg 100% 31%);`,n==null?void 0:n.key)}return n!=null&&n.onChange&&!(s&&n.skipInitialOnChange)&&n.onChange(a),s=!1,a}return i.updateDeps=o=>{r=o},i}function Oa(e,t){if(e===void 0)throw new Error("Unexpected undefined");return e}const Eu=(e,t)=>Math.abs(e-t)<1.01,Su=(e,t,n)=>{let r;return function(...a){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,a),n)}},Va=e=>{const{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},Du=e=>e,Cu=e=>{const t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1),r=[];for(let a=t;a<=n;a++)r.push(a);return r},Tu=(e,t)=>{const n=e.scrollElement;if(!n)return;const r=e.targetWindow;if(!r)return;const a=i=>{const{width:o,height:l}=i;t({width:Math.round(o),height:Math.round(l)})};if(a(Va(n)),!r.ResizeObserver)return()=>{};const s=new r.ResizeObserver(i=>{const o=()=>{const l=i[0];if(l!=null&&l.borderBoxSize){const c=l.borderBoxSize[0];if(c){a({width:c.inlineSize,height:c.blockSize});return}}a(Va(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(o):o()});return s.observe(n,{box:"border-box"}),()=>{s.unobserve(n)}},Ma={passive:!0},La=typeof window>"u"?!0:"onscrollend"in window,Au=(e,t)=>{const n=e.scrollElement;if(!n)return;const r=e.targetWindow;if(!r)return;let a=0;const s=e.options.useScrollendEvent&&La?()=>{}:Su(r,()=>{t(a,!1)},e.options.isScrollingResetDelay),i=p=>()=>{const{horizontal:d,isRtl:m}=e.options;a=d?n.scrollLeft*(m&&-1||1):n.scrollTop,s(),t(a,p)},o=i(!0),l=i(!1);n.addEventListener("scroll",o,Ma);const c=e.options.useScrollendEvent&&La;return c&&n.addEventListener("scrollend",l,Ma),()=>{n.removeEventListener("scroll",o),c&&n.removeEventListener("scrollend",l)}},ku=(e,t,n)=>{if(t!=null&&t.borderBoxSize){const r=t.borderBoxSize[0];if(r)return Math.round(r[n.options.horizontal?"inlineSize":"blockSize"])}return e[n.options.horizontal?"offsetWidth":"offsetHeight"]},Iu=(e,{adjustments:t=0,behavior:n},r)=>{var a,s;const i=e+t;(s=(a=r.scrollElement)==null?void 0:a.scrollTo)==null||s.call(a,{[r.options.horizontal?"left":"top"]:i,behavior:n})};class Ru{constructor(t){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.currentScrollToIndex=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.laneAssignments=new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.observer=(()=>{let n=null;const r=()=>n||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:n=new this.targetWindow.ResizeObserver(a=>{a.forEach(s=>{const i=()=>{this._measureElement(s.target,s)};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(i):i()})}));return{disconnect:()=>{var a;(a=r())==null||a.disconnect(),n=null},observe:a=>{var s;return(s=r())==null?void 0:s.observe(a,{box:"border-box"})},unobserve:a=>{var s;return(s=r())==null?void 0:s.unobserve(a)}}})(),this.range=null,this.setOptions=n=>{Object.entries(n).forEach(([r,a])=>{typeof a>"u"&&delete n[r]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:Du,rangeExtractor:Cu,onChange:()=>{},measureElement:ku,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,...n}},this.notify=n=>{var r,a;(a=(r=this.options).onChange)==null||a.call(r,this,n)},this.maybeNotify=ut(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),n=>{this.notify(n)},{key:"maybeNotify",debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(n=>n()),this.unsubs=[],this.observer.disconnect(),this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var n;const r=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==r){if(this.cleanup(),!r){this.maybeNotify();return}this.scrollElement=r,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((n=this.scrollElement)==null?void 0:n.window)??null,this.elementsCache.forEach(a=>{this.observer.observe(a)}),this.unsubs.push(this.options.observeElementRect(this,a=>{this.scrollRect=a,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(a,s)=>{this.scrollAdjustments=0,this.scrollDirection=s?this.getScrollOffset()<a?"forward":"backward":null,this.scrollOffset=a,this.isScrolling=s,this.maybeNotify()})),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}},this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(n,r)=>{const a=new Map,s=new Map;for(let i=r-1;i>=0;i--){const o=n[i];if(a.has(o.lane))continue;const l=s.get(o.lane);if(l==null||o.end>l.end?s.set(o.lane,o):o.end<l.end&&a.set(o.lane,!0),a.size===this.options.lanes)break}return s.size===this.options.lanes?Array.from(s.values()).sort((i,o)=>i.end===o.end?i.index-o.index:i.end-o.end)[0]:void 0},this.getMeasurementOptions=ut(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes],(n,r,a,s,i,o)=>(this.prevLanes!==void 0&&this.prevLanes!==o&&(this.lanesChangedFlag=!0),this.prevLanes=o,this.pendingMeasuredCacheIndexes=[],{count:n,paddingStart:r,scrollMargin:a,getItemKey:s,enabled:i,lanes:o}),{key:!1}),this.getMeasurements=ut(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:n,paddingStart:r,scrollMargin:a,getItemKey:s,enabled:i,lanes:o},l)=>{if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>n)for(const m of this.laneAssignments.keys())m>=n&&this.laneAssignments.delete(m);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(m=>{this.itemSizeCache.set(m.key,m.size)}));const c=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===n&&(this.lanesSettling=!1);const p=this.measurementsCache.slice(0,c),d=new Array(o).fill(void 0);for(let m=0;m<c;m++){const f=p[m];f&&(d[f.lane]=m)}for(let m=c;m<n;m++){const f=s(m),h=this.laneAssignments.get(m);let g,b;if(h!==void 0&&this.options.lanes>1){g=h;const v=d[g],E=v!==void 0?p[v]:void 0;b=E?E.end+this.options.gap:r+a}else{const v=this.options.lanes===1?p[m-1]:this.getFurthestMeasurement(p,m);b=v?v.end+this.options.gap:r+a,g=v?v.lane:m%this.options.lanes,this.options.lanes>1&&this.laneAssignments.set(m,g)}const N=l.get(f),y=typeof N=="number"?N:this.options.estimateSize(m),x=b+y;p[m]={index:m,start:b,size:y,end:x,key:f,lane:g},d[g]=m}return this.measurementsCache=p,p},{key:"getMeasurements",debug:()=>this.options.debug}),this.calculateRange=ut(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(n,r,a,s)=>this.range=n.length>0&&r>0?_u({measurements:n,outerSize:r,scrollOffset:a,lanes:s}):null,{key:"calculateRange",debug:()=>this.options.debug}),this.getVirtualIndexes=ut(()=>{let n=null,r=null;const a=this.calculateRange();return a&&(n=a.startIndex,r=a.endIndex),this.maybeNotify.updateDeps([this.isScrolling,n,r]),[this.options.rangeExtractor,this.options.overscan,this.options.count,n,r]},(n,r,a,s,i)=>s===null||i===null?[]:n({startIndex:s,endIndex:i,overscan:r,count:a}),{key:"getVirtualIndexes",debug:()=>this.options.debug}),this.indexFromElement=n=>{const r=this.options.indexAttribute,a=n.getAttribute(r);return a?parseInt(a,10):(console.warn(`Missing attribute name '${r}={index}' on measured element.`),-1)},this._measureElement=(n,r)=>{const a=this.indexFromElement(n),s=this.measurementsCache[a];if(!s)return;const i=s.key,o=this.elementsCache.get(i);o!==n&&(o&&this.observer.unobserve(o),this.observer.observe(n),this.elementsCache.set(i,n)),n.isConnected&&this.resizeItem(a,this.options.measureElement(n,r,this))},this.resizeItem=(n,r)=>{const a=this.measurementsCache[n];if(!a)return;const s=this.itemSizeCache.get(a.key)??a.size,i=r-s;i!==0&&((this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(a,i,this):a.start<this.getScrollOffset()+this.scrollAdjustments)&&(this.options.debug&&console.info("correction",i),this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=i,behavior:void 0})),this.pendingMeasuredCacheIndexes.push(a.index),this.itemSizeCache=new Map(this.itemSizeCache.set(a.key,r)),this.notify(!1))},this.measureElement=n=>{if(!n){this.elementsCache.forEach((r,a)=>{r.isConnected||(this.observer.unobserve(r),this.elementsCache.delete(a))});return}this._measureElement(n,void 0)},this.getVirtualItems=ut(()=>[this.getVirtualIndexes(),this.getMeasurements()],(n,r)=>{const a=[];for(let s=0,i=n.length;s<i;s++){const o=n[s],l=r[o];a.push(l)}return a},{key:"getVirtualItems",debug:()=>this.options.debug}),this.getVirtualItemForOffset=n=>{const r=this.getMeasurements();if(r.length!==0)return Oa(r[pi(0,r.length-1,a=>Oa(r[a]).start,n)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const n=this.scrollElement.document.documentElement;return this.options.horizontal?n.scrollWidth-this.scrollElement.innerWidth:n.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(n,r,a=0)=>{if(!this.scrollElement)return 0;const s=this.getSize(),i=this.getScrollOffset();r==="auto"&&(r=n>=i+s?"end":"start"),r==="center"?n+=(a-s)/2:r==="end"&&(n-=s);const o=this.getMaxScrollOffset();return Math.max(Math.min(o,n),0)},this.getOffsetForIndex=(n,r="auto")=>{n=Math.max(0,Math.min(n,this.options.count-1));const a=this.measurementsCache[n];if(!a)return;const s=this.getSize(),i=this.getScrollOffset();if(r==="auto")if(a.end>=i+s-this.options.scrollPaddingEnd)r="end";else if(a.start<=i+this.options.scrollPaddingStart)r="start";else return[i,r];if(r==="end"&&n===this.options.count-1)return[this.getMaxScrollOffset(),r];const o=r==="end"?a.end+this.options.scrollPaddingEnd:a.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(o,r,a.size),r]},this.isDynamicMode=()=>this.elementsCache.size>0,this.scrollToOffset=(n,{align:r="start",behavior:a}={})=>{a==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getOffsetForAlignment(n,r),{adjustments:void 0,behavior:a})},this.scrollToIndex=(n,{align:r="auto",behavior:a}={})=>{a==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),n=Math.max(0,Math.min(n,this.options.count-1)),this.currentScrollToIndex=n;let s=0;const i=10,o=c=>{if(!this.targetWindow)return;const p=this.getOffsetForIndex(n,c);if(!p){console.warn("Failed to get offset for index:",n);return}const[d,m]=p;this._scrollToOffset(d,{adjustments:void 0,behavior:a}),this.targetWindow.requestAnimationFrame(()=>{const f=()=>{if(this.currentScrollToIndex!==n)return;const h=this.getScrollOffset(),g=this.getOffsetForIndex(n,m);if(!g){console.warn("Failed to get offset for index:",n);return}Eu(g[0],h)||l(m)};this.isDynamicMode()?this.targetWindow.requestAnimationFrame(f):f()})},l=c=>{this.targetWindow&&this.currentScrollToIndex===n&&(s++,s<i?(this.options.debug&&console.info("Schedule retry",s,i),this.targetWindow.requestAnimationFrame(()=>o(c))):console.warn(`Failed to scroll to index ${n} after ${i} attempts.`))};o(r)},this.scrollBy=(n,{behavior:r}={})=>{r==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getScrollOffset()+n,{adjustments:void 0,behavior:r})},this.getTotalSize=()=>{var n;const r=this.getMeasurements();let a;if(r.length===0)a=this.options.paddingStart;else if(this.options.lanes===1)a=((n=r[r.length-1])==null?void 0:n.end)??0;else{const s=Array(this.options.lanes).fill(null);let i=r.length-1;for(;i>=0&&s.some(o=>o===null);){const o=r[i];s[o.lane]===null&&(s[o.lane]=o.end),i--}a=Math.max(...s.filter(o=>o!==null))}return Math.max(a-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(n,{adjustments:r,behavior:a})=>{this.options.scrollToFn(n,{behavior:a,adjustments:r},this)},this.measure=()=>{this.itemSizeCache=new Map,this.laneAssignments=new Map,this.notify(!1)},this.setOptions(t)}}const pi=(e,t,n,r)=>{for(;e<=t;){const a=(e+t)/2|0,s=n(a);if(s<r)e=a+1;else if(s>r)t=a-1;else return a}return e>0?e-1:0};function _u({measurements:e,outerSize:t,scrollOffset:n,lanes:r}){const a=e.length-1,s=l=>e[l].start;if(e.length<=r)return{startIndex:0,endIndex:a};let i=pi(0,a,s,n),o=i;if(r===1)for(;o<a&&e[o].end<n+t;)o++;else if(r>1){const l=Array(r).fill(0);for(;o<a&&l.some(p=>p<n+t);){const p=e[o];l[p.lane]=p.end,o++}const c=Array(r).fill(n+t);for(;i>=0&&c.some(p=>p>=n);){const p=e[i];c[p.lane]=p.start,i--}i=Math.max(0,i-i%r),o=Math.min(a,o+(r-1-o%r))}return{startIndex:i,endIndex:o}}const Fa=typeof document<"u"?w.useLayoutEffect:w.useEffect;function ju({useFlushSync:e=!0,...t}){const n=w.useReducer(()=>({}),{})[1],r={...t,onChange:(s,i)=>{var o;e&&i?Go.flushSync(n):n(),(o=t.onChange)==null||o.call(t,s,i)}},[a]=w.useState(()=>new Ru(r));return a.setOptions(r),Fa(()=>a._didMount(),[]),Fa(()=>a._willUpdate()),a}function Ou(e){return ju({observeElementRect:Tu,observeElementOffset:Au,scrollToFn:Iu,...e})}const Vu=40,di={added:{label:"A",className:"bg-green-500 text-white",iconColor:"text-green-600 dark:text-green-400"},modified:{label:"M",className:"bg-yellow-500 text-white",iconColor:"text-amber-700 dark:text-amber-400"},deleted:{label:"D",className:"bg-red-500 text-white",iconColor:"text-red-600 dark:text-red-400"},renamed:{label:"R",className:"bg-blue-500 text-white",iconColor:"text-blue-600 dark:text-blue-400"},copied:{label:"C",className:"bg-purple-500 text-white",iconColor:"text-purple-600 dark:text-purple-400"}};function Mu(e){const t=[],n=new Map,r=[...e].sort((a,s)=>a.path.localeCompare(s.path));for(const a of r){const s=a.path.split("/");let i="",o=t;for(let c=0;c<s.length-1;c++){const p=s[c];i=i?`${i}/${p}`:p;let d=n.get(i);d||(d={name:p,path:i,isFolder:!0,children:[]},n.set(i,d),o.push(d)),o=d.children}const l=s[s.length-1];o.push({name:l,path:a.path,isFolder:!1,file:a})}return t}function Jn(e){return e.map(t=>{if(!t.isFolder||!t.children)return t;let n=Jn(t.children),r={...t};for(;n.length===1&&n[0].isFolder;){const a=n[0];r={...r,name:`${r.name}/${a.name}`,path:a.path,children:a.children},n=a.children?Jn(a.children):[]}return{...r,children:n}})}function Lu(e){const t=Mu(e);return Jn(t)}function mi({additions:e,deletions:t}){const n=[e>0?`${e} additions`:null,t>0?`${t} deletions`:null].filter(Boolean).join(", ");return u.jsxDEV("span",{className:"text-xs shrink-0 font-mono","aria-label":n||"No changes",children:[e>0&&u.jsxDEV("span",{className:"text-green-600","aria-hidden":"true",children:["+",e]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:151,columnNumber:9},this),e>0&&t>0&&u.jsxDEV("span",{className:"text-muted-foreground","aria-hidden":"true",children:"/"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:156,columnNumber:9},this),t>0&&u.jsxDEV("span",{className:"text-red-600","aria-hidden":"true",children:["-",t]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:161,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:149,columnNumber:5},this)}function hi({node:e,depth:t,selectedFile:n,onSelectFile:r,expandedFolders:a,onToggleFolder:s,commentCounts:i,searchQuery:o}){var f,h;const l=a.has(e.path),c=8+t*16;if(e.isFolder){const g=o.toLowerCase(),b=o?e.name.toLowerCase().includes(g)||e.path.toLowerCase().includes(g):!1;return(o?b||((f=e.children)==null?void 0:f.some(y=>y.path.toLowerCase().includes(g)||y.isFolder&&fi(y,o))):!0)?u.jsxDEV("div",{role:"treeitem","aria-expanded":l,children:[u.jsxDEV("button",{className:H("w-full text-left px-2 py-1.5 flex items-center gap-1.5 hover:bg-accent rounded-sm transition-colors"),style:{paddingLeft:c},onClick:()=>s(e.path),"aria-expanded":l,"aria-label":`${e.name} folder, ${l?"expanded":"collapsed"}`,title:e.path,children:[l?u.jsxDEV(gn,{className:"h-4 w-4 shrink-0 text-muted-foreground","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:221,columnNumber:13},this):u.jsxDEV(bn,{className:"h-4 w-4 shrink-0 text-muted-foreground","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:223,columnNumber:13},this),u.jsxDEV(kl,{className:"h-4 w-4 shrink-0 text-muted-foreground","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:225,columnNumber:11},this),u.jsxDEV("span",{className:"truncate text-sm font-medium",children:e.name},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:226,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:210,columnNumber:9},this),l&&u.jsxDEV("div",{role:"group",children:(h=e.children)==null?void 0:h.map(y=>u.jsxDEV(hi,{node:y,depth:t+1,selectedFile:n,onSelectFile:r,expandedFolders:a,onToggleFolder:s,commentCounts:i,searchQuery:o},y.path,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:231,columnNumber:15},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:229,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:209,columnNumber:7},this):null}const p=e.file,d=n===e.path,m=(i==null?void 0:i[e.path])??0;return o&&!e.path.toLowerCase().includes(o.toLowerCase())?null:u.jsxDEV("button",{className:H("w-full text-left px-2 py-1.5 flex items-center gap-1.5 rounded-sm transition-colors",d?"bg-accent":"hover:bg-accent/50"),style:{paddingLeft:c+20},onClick:()=>r(e.path),role:"treeitem","aria-selected":d,"aria-label":`${e.name}, ${p.status}, ${p.additions} additions, ${p.deletions} deletions${m>0?`, ${m} comments`:""}`,children:[u.jsxDEV("span",{title:p.status,className:"shrink-0",children:u.jsxDEV(Oe,{className:H("h-4 w-4",di[p.status].iconColor),"aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:272,columnNumber:9},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:271,columnNumber:7},this),u.jsxDEV("span",{className:"sr-only",children:p.status},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:277,columnNumber:7},this),u.jsxDEV("span",{className:H("truncate flex-1 text-sm",d&&"font-medium",p.status==="deleted"&&"opacity-70"),children:e.name},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:278,columnNumber:7},this),u.jsxDEV("div",{className:"flex items-center gap-1.5 shrink-0",children:[m>0&&u.jsxDEV(xe,{variant:"secondary",className:"h-5 px-1.5 text-xs gap-0.5","aria-hidden":"true",children:[u.jsxDEV(ke,{className:"h-3 w-3"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:290,columnNumber:13},this),m]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:289,columnNumber:11},this),u.jsxDEV(mi,{additions:p.additions,deletions:p.deletions},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:294,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:287,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:260,columnNumber:5},this)}function fi(e,t){if(!e.children)return!1;const n=t.toLowerCase();return e.children.some(r=>r.path.toLowerCase().includes(n)||r.name.toLowerCase().includes(n)||r.isFolder&&fi(r,t))}function Fu({file:e,isSelected:t,onSelect:n,commentCount:r}){return u.jsxDEV("button",{className:H("w-full text-left px-3 py-2 flex items-center gap-2 rounded-md transition-colors",t?"bg-accent":"hover:bg-accent/50"),onClick:n,role:"option","aria-selected":t,"aria-label":`${e.path}, ${e.status}, ${e.additions} additions, ${e.deletions} deletions${r>0?`, ${r} comments`:""}`,children:[u.jsxDEV("span",{title:e.status,className:"shrink-0",children:u.jsxDEV(Oe,{className:H("h-4 w-4",di[e.status].iconColor),"aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:334,columnNumber:9},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:333,columnNumber:7},this),u.jsxDEV("span",{className:"sr-only",children:e.status},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:339,columnNumber:7},this),u.jsxDEV("span",{className:H("truncate flex-1 text-sm",t&&"font-medium",e.status==="deleted"&&"opacity-70"),children:e.path},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:340,columnNumber:7},this),u.jsxDEV("div",{className:"flex items-center gap-1.5 shrink-0",children:[r>0&&u.jsxDEV(xe,{variant:"secondary",className:"h-5 px-1.5 text-xs gap-0.5","aria-hidden":"true",children:[u.jsxDEV(ke,{className:"h-3 w-3"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:352,columnNumber:13},this),r]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:351,columnNumber:11},this),u.jsxDEV(mi,{additions:e.additions,deletions:e.deletions},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:356,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:349,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:323,columnNumber:5},this)}function kh({files:e,selectedFile:t,onSelectFile:n,commentCounts:r,isLoading:a}){const[s,i]=w.useState(""),[o,l]=w.useState("tree"),[c,p]=w.useState(new Set),[d,m]=w.useState(!1),f=w.useRef(null);w.useEffect(()=>{if(e.length>0&&!d){const v=new Set;for(const E of e){const S=E.path.split("/");let C="";for(let D=0;D<S.length-1;D++)C=C?`${C}/${S[D]}`:S[D],v.add(C)}p(v),m(!0)}},[e,d]);const h=w.useMemo(()=>Lu(e),[e]),g=w.useMemo(()=>{if(!s)return e;const v=s.toLowerCase();return e.filter(E=>E.path.toLowerCase().includes(v))},[e,s]),b=Ou({count:g.length,getScrollElement:()=>f.current,estimateSize:()=>Vu,overscan:5});w.useEffect(()=>{if(o==="flat"&&t){const v=g.findIndex(E=>E.path===t);v!==-1&&b.scrollToIndex(v,{align:"auto"})}},[o,t,g,b]);const N=v=>{p(E=>{const S=new Set(E);return S.has(v)?S.delete(v):S.add(v),S})},y=()=>{const v=new Set;for(const E of e){const S=E.path.split("/");let C="";for(let D=0;D<S.length-1;D++)C=C?`${C}/${S[D]}`:S[D],v.add(C)}p(v)},x=()=>{p(new Set)};return a?u.jsxDEV("div",{className:"h-full flex flex-col",children:[u.jsxDEV("div",{className:"p-2 border-b",children:u.jsxDEV("div",{className:"h-9 bg-muted rounded-md animate-pulse"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:453,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:452,columnNumber:9},this),u.jsxDEV("div",{className:"flex-1 p-2 space-y-1",children:Array.from({length:8}).map((v,E)=>u.jsxDEV("div",{className:"h-7 bg-muted rounded-sm animate-pulse"},E,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:457,columnNumber:13},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:455,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:451,columnNumber:7},this):e.length===0?u.jsxDEV("div",{className:"h-full flex flex-col items-center justify-center p-4 text-center text-muted-foreground",children:[u.jsxDEV(Oe,{className:"h-8 w-8 mb-2"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:467,columnNumber:9},this),u.jsxDEV("p",{className:"text-sm",children:"No files changed"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:468,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:466,columnNumber:7},this):u.jsxDEV("div",{className:"h-full flex flex-col",children:[u.jsxDEV("div",{className:"p-2 border-b space-y-2",children:[u.jsxDEV("div",{className:"relative",children:[u.jsxDEV(hr,{className:"absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:478,columnNumber:11},this),u.jsxDEV(fr,{placeholder:"Filter files...",value:s,onChange:v=>i(v.target.value),className:"pl-8 h-8 text-sm","aria-label":"Filter files by name"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:482,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:477,columnNumber:9},this),u.jsxDEV("div",{className:"flex items-center gap-1 text-xs",role:"group","aria-label":"View options",children:[u.jsxDEV("button",{className:H("px-2 py-1 rounded-sm transition-colors",o==="tree"?"bg-accent":"hover:bg-accent/50"),onClick:()=>l("tree"),"aria-pressed":o==="tree",children:"Tree"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:491,columnNumber:11},this),u.jsxDEV("button",{className:H("px-2 py-1 rounded-sm transition-colors",o==="flat"?"bg-accent":"hover:bg-accent/50"),onClick:()=>l("flat"),"aria-pressed":o==="flat",children:"Flat"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:501,columnNumber:11},this),o==="tree"&&u.jsxDEV(u.Fragment,{children:[u.jsxDEV("span",{className:"mx-1 text-muted-foreground","aria-hidden":"true",children:"|"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:513,columnNumber:15},this),u.jsxDEV("button",{className:"px-2 py-1 rounded-sm hover:bg-accent/50 transition-colors",onClick:y,"aria-label":"Expand all folders",children:"Expand"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:516,columnNumber:15},this),u.jsxDEV("button",{className:"px-2 py-1 rounded-sm hover:bg-accent/50 transition-colors",onClick:x,"aria-label":"Collapse all folders",children:"Collapse"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:523,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:512,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:490,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:476,columnNumber:7},this),o==="tree"?u.jsxDEV(gr,{className:"flex-1",children:u.jsxDEV("div",{className:"py-1",children:[u.jsxDEV("div",{role:"tree","aria-label":"Changed files",children:h.map(v=>u.jsxDEV(hi,{node:v,depth:0,selectedFile:t,onSelectFile:n,expandedFolders:c,onToggleFolder:N,commentCounts:r,searchQuery:s},v.path,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:541,columnNumber:17},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:539,columnNumber:13},this),s&&g.length===0&&u.jsxDEV("div",{className:"p-4 text-center text-sm text-muted-foreground",role:"status",children:['No files match "',s,'"']},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:555,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:538,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:537,columnNumber:9},this):u.jsxDEV("div",{ref:f,className:"flex-1 overflow-auto",role:"listbox","aria-label":"Changed files",children:g.length>0?u.jsxDEV("div",{className:"relative w-full px-1",style:{height:`${b.getTotalSize()}px`},children:b.getVirtualItems().map(v=>{const E=g[v.index];return u.jsxDEV("div",{className:"absolute top-0 left-0 w-full px-1",style:{height:`${v.size}px`,transform:`translateY(${v.start}px)`},children:u.jsxDEV(Fu,{file:E,isSelected:t===E.path,onSelect:()=>n(E.path),commentCount:(r==null?void 0:r[E.path])??0},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:591,columnNumber:21},this)},E.path,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:583,columnNumber:19},this)})},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:576,columnNumber:13},this):s?u.jsxDEV("div",{className:"p-4 text-center text-sm text-muted-foreground",role:"status",children:['No files match "',s,'"']},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:602,columnNumber:13},this):null},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:569,columnNumber:9},this),u.jsxDEV("div",{className:"p-2 border-t text-xs text-muted-foreground",children:[e.length," file",e.length!==1?"s":""," changed",s&&g.length!==e.length&&u.jsxDEV("span",{children:[" (",g.length," shown)"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:613,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:610,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:474,columnNumber:5},this)}function Pa(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Q(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Pa(Object(n),!0).forEach(function(r){er(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Pa(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function er(e,t,n){return(t=function(r){var a=function(s,i){if(typeof s!="object"||s===null)return s;var o=s[Symbol.toPrimitive];if(o!==void 0){var l=o.call(s,i);if(typeof l!="object")return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return(i==="string"?String:Number)(s)}(r,"string");return typeof a=="symbol"?a:String(a)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function We(e,t){if(e==null)return{};var n,r,a=function(i,o){if(i==null)return{};var l,c,p={},d=Object.keys(i);for(c=0;c<d.length;c++)l=d[c],o.indexOf(l)>=0||(p[l]=i[l]);return p}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function X(e,t){return bi(e)||function(n,r){var a=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(a!=null){var s,i,o,l,c=[],p=!0,d=!1;try{if(o=(a=a.call(n)).next,r===0){if(Object(a)!==a)return;p=!1}else for(;!(p=(s=o.call(a)).done)&&(c.push(s.value),c.length!==r);p=!0);}catch(m){d=!0,i=m}finally{try{if(!p&&a.return!=null&&(l=a.return(),Object(l)!==l))return}finally{if(d)throw i}}return c}}(e,t)||Nn(e,t)||Ni()}function gi(e){return bi(e)||vi(e)||Nn(e)||Ni()}function Ee(e){return function(t){if(Array.isArray(t))return tr(t)}(e)||vi(e)||Nn(e)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
50
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function bi(e){if(Array.isArray(e))return e}function vi(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Nn(e,t){if(e){if(typeof e=="string")return tr(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?tr(e,t):void 0}}function tr(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ni(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
51
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ar(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=Nn(e))||t){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(l){throw l},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
52
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var s,i=!0,o=!1;return{s:function(){n=n.call(e)},n:function(){var l=n.next();return i=l.done,l},e:function(l){o=!0,s=l},f:function(){try{i||n.return==null||n.return()}finally{if(o)throw s}}}}var Xt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Gt(e,t){return e(t={exports:{}},t.exports),t.exports}var ye=Gt(function(e){/*!
|
|
53
|
+
Copyright (c) 2018 Jed Watson.
|
|
54
|
+
Licensed under the MIT License (MIT), see
|
|
55
|
+
http://jedwatson.github.io/classnames
|
|
56
|
+
*/(function(){var t={}.hasOwnProperty;function n(){for(var r=[],a=0;a<arguments.length;a++){var s=arguments[a];if(s){var i=typeof s;if(i==="string"||i==="number")r.push(s);else if(Array.isArray(s)){if(s.length){var o=n.apply(null,s);o&&r.push(o)}}else if(i==="object"){if(s.toString!==Object.prototype.toString&&!s.toString.toString().includes("[native code]")){r.push(s.toString());continue}for(var l in s)t.call(s,l)&&s[l]&&r.push(l)}}}return r.join(" ")}e.exports?(n.default=n,e.exports=n):window.classNames=n})()}),ge={hunkClassName:"",lineClassName:"",gutterClassName:"",codeClassName:"",monotonous:!1,gutterType:"default",viewType:"split",widgets:{},hideGutter:!1,selectedChanges:[],generateAnchorID:function(){},generateLineClassName:function(){},renderGutter:function(e){var t=e.renderDefault;return(0,e.wrapInAnchor)(t())},codeEvents:{},gutterEvents:{}},wi=w.createContext(ge),Pu=wi.Provider,$u=function(){return w.useContext(wi)},zu=Gt(function(e,t){(function(n){function r(s){var i=s.slice(11),o=null,l=null;switch(i.indexOf('"')){case-1:o=(d=i.split(" "))[0].slice(2),l=d[1].slice(2);break;case 0:var c=i.indexOf('"',2);o=i.slice(3,c);var p=i.indexOf('"',c+1);l=p<0?i.slice(c+4):i.slice(p+3,-1);break;default:var d;o=(d=i.split(" "))[0].slice(2),l=d[1].slice(3,-1)}return{oldPath:o,newPath:l}}var a={parse:function(s){for(var i,o,l,c,p,d=[],m=2,f=s.split(`
|
|
57
|
+
`),h=f.length,g=0;g<h;){var b=f[g];if(b.indexOf("diff --git")===0){i={hunks:[],oldEndingNewLine:!0,newEndingNewLine:!0,oldPath:(p=r(b)).oldPath,newPath:p.newPath},d.push(i);var N,y=null;e:for(;N=f[++g];){var x=N.indexOf(" "),v=x>-1?N.slice(0,x):v;switch(v){case"diff":g--;break e;case"deleted":case"new":var E=N.slice(x+1);E.indexOf("file mode")===0&&(i[v==="new"?"newMode":"oldMode"]=E.slice(10));break;case"similarity":i.similarity=parseInt(N.split(" ")[2],10);break;case"index":var S=N.slice(x+1).split(" "),C=S[0].split("..");i.oldRevision=C[0],i.newRevision=C[1],S[1]&&(i.oldMode=i.newMode=S[1]);break;case"copy":case"rename":var D=N.slice(x+1);D.indexOf("from")===0?i.oldPath=D.slice(5):i.newPath=D.slice(3),y=v;break;case"---":var V=N.slice(x+1),A=f[++g].slice(4);V==="/dev/null"?(A=A.slice(2),y="add"):A==="/dev/null"?(V=V.slice(2),y="delete"):(y="modify",V=V.slice(2),A=A.slice(2)),V&&(i.oldPath=V),A&&(i.newPath=A),m=5;break e}}i.type=y||"modify"}else if(b.indexOf("Binary")===0)i.isBinary=!0,i.type=b.indexOf("/dev/null and")>=0?"add":b.indexOf("and /dev/null")>=0?"delete":"modify",m=2,i=null;else if(m===5)if(b.indexOf("@@")===0){var j=/^@@\s+-([0-9]+)(,([0-9]+))?\s+\+([0-9]+)(,([0-9]+))?/.exec(b);o={content:b,oldStart:j[1]-0,newStart:j[4]-0,oldLines:j[3]-0||1,newLines:j[6]-0||1,changes:[]},i.hunks.push(o),l=o.oldStart,c=o.newStart}else{var L=b.slice(0,1),R={content:b.slice(1)};switch(L){case"+":R.type="insert",R.isInsert=!0,R.lineNumber=c,c++;break;case"-":R.type="delete",R.isDelete=!0,R.lineNumber=l,l++;break;case" ":R.type="normal",R.isNormal=!0,R.oldLineNumber=l,R.newLineNumber=c,l++,c++;break;case"\\":var $=o.changes[o.changes.length-1];$.isDelete||(i.newEndingNewLine=!1),$.isInsert||(i.oldEndingNewLine=!1)}R.type&&o.changes.push(R)}g++}return d}};e.exports=a})()});function qe(e){return e.type==="insert"}function Se(e){return e.type==="delete"}function ze(e){return e.type==="normal"}function Bu(e,t){var n=t.nearbySequences==="zip"?function(r){var a=r.reduce(function(s,i,o){var l=X(s,3),c=l[0],p=l[1],d=l[2];return p?qe(i)&&d>=0?(c.splice(d+1,0,i),[c,i,d+2]):(c.push(i),[c,i,Se(i)&&Se(p)?d:o]):(c.push(i),[c,i,Se(i)?o:-1])},[[],null,-1]);return X(a,1)[0]}(e.changes):e.changes;return Q(Q({},e),{},{isPlain:!1,changes:n})}function Gu(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=function(r){if(r.startsWith("diff --git"))return r;var a=r.indexOf(`
|
|
58
|
+
`),s=r.indexOf(`
|
|
59
|
+
`,a+1),i=r.slice(0,a),o=r.slice(a+1,s),l=i.split(" ").slice(1,-3).join(" "),c=o.split(" ").slice(1,-3).join(" ");return["diff --git a/".concat(l," b/").concat(c),"index 1111111..2222222 100644","--- a/".concat(l),"+++ b/".concat(c),r.slice(s+1)].join(`
|
|
60
|
+
`)}(e.trimStart());return zu.parse(n).map(function(r){return function(a,s){var i=a.hunks.map(function(o){return Bu(o,s)});return Q(Q({},a),{},{hunks:i})}(r,t)})}function Uu(e){return e[0]}function Hu(e){return e[e.length-1]}function nr(e){return["".concat(e,"Start"),"".concat(e,"Lines")]}function Lt(e){return e==="old"?function(t){return qe(t)?-1:ze(t)?t.oldLineNumber:t.lineNumber}:function(t){return Se(t)?-1:ze(t)?t.newLineNumber:t.lineNumber}}function yi(e,t){return function(n,r){var a=n[e],s=a+n[t];return r>=a&&r<s}}function Ku(e,t){return function(n,r,a){var s=n[e]+n[t],i=r[e];return a>=s&&a<i}}function xi(e){var t=Lt(e),n=function(r){var a=X(nr(r),2),s=yi(a[0],a[1]);return function(i,o){return i.find(function(l){return s(l,o)})}}(e);return function(r,a){var s=n(r,a);if(s)return s.changes.find(function(i){return t(i)===a})}}function kr(e){var t=e==="old"?"new":"old",n=X(nr(e),2),r=n[0],a=n[1],s=X(nr(t),2),i=s[0],o=s[1],l=Lt(e),c=Lt(t),p=yi(r,a),d=Ku(r,a);return function(m,f){var h=Uu(m);if(f<h[r]){var g=h[r]-f;return h[i]-g}var b=Hu(m);if(b[r]+b[a]<=f){var N=f-b[r]-b[a];return b[i]+b[o]+N}for(var y=0;y<m.length;y++){var x=m[y],v=m[y+1];if(p(x,f)){var E=x.changes.findIndex(function(j){return l(j)===f}),S=x.changes[E];if(ze(S))return c(S);var C=Se(S)?E+1:E-1,D=x.changes[C];if(!D)return-1;var V=qe(S)?"delete":"insert";return D.type===V?c(D):-1}if(d(x,v,f)){var A=f-x[r]-x[a];return x[i]+x[o]+A}}throw new Error("Unexpected line position ".concat(f))}}var Wu=function(e,t,n,r){for(var a=e.length,s=n+-1;++s<a;)if(t(e[s],s,e))return s;return-1},Yu=function(){this.__data__=[],this.size=0},Ei=function(e,t){return e===t||e!=e&&t!=t},wn=function(e,t){for(var n=e.length;n--;)if(Ei(e[n][0],t))return n;return-1},qu=Array.prototype.splice,Xu=function(e){var t=this.__data__,n=wn(t,e);return!(n<0)&&(n==t.length-1?t.pop():qu.call(t,n,1),--this.size,!0)},Zu=function(e){var t=this.__data__,n=wn(t,e);return n<0?void 0:t[n][1]},Qu=function(e){return wn(this.__data__,e)>-1},Ju=function(e,t){var n=this.__data__,r=wn(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};function ct(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}ct.prototype.clear=Yu,ct.prototype.delete=Xu,ct.prototype.get=Zu,ct.prototype.has=Qu,ct.prototype.set=Ju;var yn=ct,ec=function(){this.__data__=new yn,this.size=0},tc=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},nc=function(e){return this.__data__.get(e)},rc=function(e){return this.__data__.has(e)},Si=typeof Xt=="object"&&Xt&&Xt.Object===Object&&Xt,ac=typeof self=="object"&&self&&self.Object===Object&&self,Ge=Si||ac||Function("return this")(),Ve=Ge.Symbol,Di=Object.prototype,sc=Di.hasOwnProperty,ic=Di.toString,It=Ve?Ve.toStringTag:void 0,oc=function(e){var t=sc.call(e,It),n=e[It];try{e[It]=void 0;var r=!0}catch{}var a=ic.call(e);return r&&(t?e[It]=n:delete e[It]),a},lc=Object.prototype.toString,uc=function(e){return lc.call(e)},$a=Ve?Ve.toStringTag:void 0,Et=function(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":$a&&$a in Object(e)?oc(e):uc(e)},Ft=function(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")},Ci=function(e){if(!Ft(e))return!1;var t=Et(e);return t=="[object Function]"||t=="[object GeneratorFunction]"||t=="[object AsyncFunction]"||t=="[object Proxy]"},Hn=Ge["__core-js_shared__"],za=function(){var e=/[^.]+$/.exec(Hn&&Hn.keys&&Hn.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),cc=function(e){return!!za&&za in e},pc=Function.prototype.toString,at=function(e){if(e!=null){try{return pc.call(e)}catch{}try{return e+""}catch{}}return""},dc=/^\[object .+?Constructor\]$/,mc=Function.prototype,hc=Object.prototype,fc=mc.toString,gc=hc.hasOwnProperty,bc=RegExp("^"+fc.call(gc).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),vc=function(e){return!(!Ft(e)||cc(e))&&(Ci(e)?bc:dc).test(at(e))},Nc=function(e,t){return e==null?void 0:e[t]},st=function(e,t){var n=Nc(e,t);return vc(n)?n:void 0},Pt=st(Ge,"Map"),$t=st(Object,"create"),wc=function(){this.__data__=$t?$t(null):{},this.size=0},yc=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},xc=Object.prototype.hasOwnProperty,Ec=function(e){var t=this.__data__;if($t){var n=t[e];return n==="__lodash_hash_undefined__"?void 0:n}return xc.call(t,e)?t[e]:void 0},Sc=Object.prototype.hasOwnProperty,Dc=function(e){var t=this.__data__;return $t?t[e]!==void 0:Sc.call(t,e)},Cc=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=$t&&t===void 0?"__lodash_hash_undefined__":t,this};function pt(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}pt.prototype.clear=wc,pt.prototype.delete=yc,pt.prototype.get=Ec,pt.prototype.has=Dc,pt.prototype.set=Cc;var Ba=pt,Tc=function(){this.size=0,this.__data__={hash:new Ba,map:new(Pt||yn),string:new Ba}},Ac=function(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null},xn=function(e,t){var n=e.__data__;return Ac(t)?n[typeof t=="string"?"string":"hash"]:n.map},kc=function(e){var t=xn(this,e).delete(e);return this.size-=t?1:0,t},Ic=function(e){return xn(this,e).get(e)},Rc=function(e){return xn(this,e).has(e)},_c=function(e,t){var n=xn(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this};function dt(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}dt.prototype.clear=Tc,dt.prototype.delete=kc,dt.prototype.get=Ic,dt.prototype.has=Rc,dt.prototype.set=_c;var En=dt,jc=function(e,t){var n=this.__data__;if(n instanceof yn){var r=n.__data__;if(!Pt||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new En(r)}return n.set(e,t),this.size=n.size,this};function mt(e){var t=this.__data__=new yn(e);this.size=t.size}mt.prototype.clear=ec,mt.prototype.delete=tc,mt.prototype.get=nc,mt.prototype.has=rc,mt.prototype.set=jc;var rn=mt,Oc=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},Vc=function(e){return this.__data__.has(e)};function an(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new En;++t<n;)this.add(e[t])}an.prototype.add=an.prototype.push=Oc,an.prototype.has=Vc;var Mc=an,Lc=function(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1},Fc=function(e,t){return e.has(t)},Ti=function(e,t,n,r,a,s){var i=1&n,o=e.length,l=t.length;if(o!=l&&!(i&&l>o))return!1;var c=s.get(e),p=s.get(t);if(c&&p)return c==t&&p==e;var d=-1,m=!0,f=2&n?new Mc:void 0;for(s.set(e,t),s.set(t,e);++d<o;){var h=e[d],g=t[d];if(r)var b=i?r(g,h,d,t,e,s):r(h,g,d,e,t,s);if(b!==void 0){if(b)continue;m=!1;break}if(f){if(!Lc(t,function(N,y){if(!Fc(f,y)&&(h===N||a(h,N,n,r,s)))return f.push(y)})){m=!1;break}}else if(h!==g&&!a(h,g,n,r,s)){m=!1;break}}return s.delete(e),s.delete(t),m},Ga=Ge.Uint8Array,Pc=function(e){var t=-1,n=Array(e.size);return e.forEach(function(r,a){n[++t]=[a,r]}),n},$c=function(e){var t=-1,n=Array(e.size);return e.forEach(function(r){n[++t]=r}),n},Ua=Ve?Ve.prototype:void 0,Kn=Ua?Ua.valueOf:void 0,zc=function(e,t,n,r,a,s,i){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!s(new Ga(e),new Ga(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return Ei(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var o=Pc;case"[object Set]":var l=1&r;if(o||(o=$c),e.size!=t.size&&!l)return!1;var c=i.get(e);if(c)return c==t;r|=2,i.set(e,t);var p=Ti(o(e),o(t),r,a,s,i);return i.delete(e),p;case"[object Symbol]":if(Kn)return Kn.call(e)==Kn.call(t)}return!1},Ai=function(e,t){for(var n=-1,r=t.length,a=e.length;++n<r;)e[a+n]=t[n];return e},De=Array.isArray,Bc=function(e,t,n){var r=t(e);return De(e)?r:Ai(r,n(e))},Gc=function(e,t){for(var n=-1,r=e==null?0:e.length,a=0,s=[];++n<r;){var i=e[n];t(i,n,e)&&(s[a++]=i)}return s},Uc=function(){return[]},Hc=Object.prototype.propertyIsEnumerable,Ha=Object.getOwnPropertySymbols,Kc=Ha?function(e){return e==null?[]:(e=Object(e),Gc(Ha(e),function(t){return Hc.call(e,t)}))}:Uc,Wc=function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r},wt=function(e){return e!=null&&typeof e=="object"},Ka=function(e){return wt(e)&&Et(e)=="[object Arguments]"},ki=Object.prototype,Yc=ki.hasOwnProperty,qc=ki.propertyIsEnumerable,Sn=Ka(function(){return arguments}())?Ka:function(e){return wt(e)&&Yc.call(e,"callee")&&!qc.call(e,"callee")},Xc=function(){return!1},hn=Gt(function(e,t){var n=t&&!t.nodeType&&t,r=n&&e&&!e.nodeType&&e,a=r&&r.exports===n?Ge.Buffer:void 0,s=(a?a.isBuffer:void 0)||Xc;e.exports=s}),Zc=/^(?:0|[1-9]\d*)$/,Ii=function(e,t){var n=typeof e;return!!(t=t??9007199254740991)&&(n=="number"||n!="symbol"&&Zc.test(e))&&e>-1&&e%1==0&&e<t},Ir=function(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=9007199254740991},ie={};ie["[object Float32Array]"]=ie["[object Float64Array]"]=ie["[object Int8Array]"]=ie["[object Int16Array]"]=ie["[object Int32Array]"]=ie["[object Uint8Array]"]=ie["[object Uint8ClampedArray]"]=ie["[object Uint16Array]"]=ie["[object Uint32Array]"]=!0,ie["[object Arguments]"]=ie["[object Array]"]=ie["[object ArrayBuffer]"]=ie["[object Boolean]"]=ie["[object DataView]"]=ie["[object Date]"]=ie["[object Error]"]=ie["[object Function]"]=ie["[object Map]"]=ie["[object Number]"]=ie["[object Object]"]=ie["[object RegExp]"]=ie["[object Set]"]=ie["[object String]"]=ie["[object WeakMap]"]=!1;var Qc=function(e){return wt(e)&&Ir(e.length)&&!!ie[Et(e)]},Jc=function(e){return function(t){return e(t)}},Wa=Gt(function(e,t){var n=t&&!t.nodeType&&t,r=n&&e&&!e.nodeType&&e,a=r&&r.exports===n&&Si.process,s=function(){try{var i=r&&r.require&&r.require("util").types;return i||a&&a.binding&&a.binding("util")}catch{}}();e.exports=s}),Ya=Wa&&Wa.isTypedArray,Rr=Ya?Jc(Ya):Qc,ep=Object.prototype.hasOwnProperty,tp=function(e,t){var n=De(e),r=!n&&Sn(e),a=!n&&!r&&hn(e),s=!n&&!r&&!a&&Rr(e),i=n||r||a||s,o=i?Wc(e.length,String):[],l=o.length;for(var c in e)!ep.call(e,c)||i&&(c=="length"||a&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||Ii(c,l))||o.push(c);return o},np=Object.prototype,Ri=function(e){var t=e&&e.constructor;return e===(typeof t=="function"&&t.prototype||np)},rp=function(e,t){return function(n){return e(t(n))}}(Object.keys,Object),ap=Object.prototype.hasOwnProperty,_i=function(e){if(!Ri(e))return rp(e);var t=[];for(var n in Object(e))ap.call(e,n)&&n!="constructor"&&t.push(n);return t},Dn=function(e){return e!=null&&Ir(e.length)&&!Ci(e)},_r=function(e){return Dn(e)?tp(e):_i(e)},qa=function(e){return Bc(e,_r,Kc)},sp=Object.prototype.hasOwnProperty,ip=function(e,t,n,r,a,s){var i=1&n,o=qa(e),l=o.length;if(l!=qa(t).length&&!i)return!1;for(var c=l;c--;){var p=o[c];if(!(i?p in t:sp.call(t,p)))return!1}var d=s.get(e),m=s.get(t);if(d&&m)return d==t&&m==e;var f=!0;s.set(e,t),s.set(t,e);for(var h=i;++c<l;){var g=e[p=o[c]],b=t[p];if(r)var N=i?r(b,g,p,t,e,s):r(g,b,p,e,t,s);if(!(N===void 0?g===b||a(g,b,n,r,s):N)){f=!1;break}h||(h=p=="constructor")}if(f&&!h){var y=e.constructor,x=t.constructor;y==x||!("constructor"in e)||!("constructor"in t)||typeof y=="function"&&y instanceof y&&typeof x=="function"&&x instanceof x||(f=!1)}return s.delete(e),s.delete(t),f},rr=st(Ge,"DataView"),ar=st(Ge,"Promise"),sr=st(Ge,"Set"),ir=st(Ge,"WeakMap"),op=at(rr),lp=at(Pt),up=at(ar),cp=at(sr),pp=at(ir),Je=Et;(rr&&Je(new rr(new ArrayBuffer(1)))!="[object DataView]"||Pt&&Je(new Pt)!="[object Map]"||ar&&Je(ar.resolve())!="[object Promise]"||sr&&Je(new sr)!="[object Set]"||ir&&Je(new ir)!="[object WeakMap]")&&(Je=function(e){var t=Et(e),n=t=="[object Object]"?e.constructor:void 0,r=n?at(n):"";if(r)switch(r){case op:return"[object DataView]";case lp:return"[object Map]";case up:return"[object Promise]";case cp:return"[object Set]";case pp:return"[object WeakMap]"}return t});var or=Je,Zt="[object Object]",Xa=Object.prototype.hasOwnProperty,dp=function(e,t,n,r,a,s){var i=De(e),o=De(t),l=i?"[object Array]":or(e),c=o?"[object Array]":or(t),p=(l=l=="[object Arguments]"?Zt:l)==Zt,d=(c=c=="[object Arguments]"?Zt:c)==Zt,m=l==c;if(m&&hn(e)){if(!hn(t))return!1;i=!0,p=!1}if(m&&!p)return s||(s=new rn),i||Rr(e)?Ti(e,t,n,r,a,s):zc(e,t,l,n,r,a,s);if(!(1&n)){var f=p&&Xa.call(e,"__wrapped__"),h=d&&Xa.call(t,"__wrapped__");if(f||h){var g=f?e.value():e,b=h?t.value():t;return s||(s=new rn),a(g,b,n,r,s)}}return!!m&&(s||(s=new rn),ip(e,t,n,r,a,s))},Cn=function e(t,n,r,a,s){return t===n||(t==null||n==null||!wt(t)&&!wt(n)?t!=t&&n!=n:dp(t,n,r,a,e,s))},mp=function(e,t,n,r){var a=n.length,s=a;if(e==null)return!s;for(e=Object(e);a--;){var i=n[a];if(i[2]?i[1]!==e[i[0]]:!(i[0]in e))return!1}for(;++a<s;){var o=(i=n[a])[0],l=e[o],c=i[1];if(i[2]){if(l===void 0&&!(o in e))return!1}else{var p=new rn,d;if(!(d===void 0?Cn(c,l,3,r,p):d))return!1}}return!0},ji=function(e){return e==e&&!Ft(e)},hp=function(e){for(var t=_r(e),n=t.length;n--;){var r=t[n],a=e[r];t[n]=[r,a,ji(a)]}return t},Oi=function(e,t){return function(n){return n!=null&&n[e]===t&&(t!==void 0||e in Object(n))}},fp=function(e){var t=hp(e);return t.length==1&&t[0][2]?Oi(t[0][0],t[0][1]):function(n){return n===e||mp(n,e,t)}},Tn=function(e){return typeof e=="symbol"||wt(e)&&Et(e)=="[object Symbol]"},gp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,bp=/^\w*$/,jr=function(e,t){if(De(e))return!1;var n=typeof e;return!(n!="number"&&n!="symbol"&&n!="boolean"&&e!=null&&!Tn(e))||bp.test(e)||!gp.test(e)||t!=null&&e in Object(t)};function Or(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError("Expected a function");var n=function(){var r=arguments,a=t?t.apply(this,r):r[0],s=n.cache;if(s.has(a))return s.get(a);var i=e.apply(this,r);return n.cache=s.set(a,i)||s,i};return n.cache=new(Or.Cache||En),n}Or.Cache=En;var vp=Or,Np=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,wp=/\\(\\)?/g,yp=function(e){var t=vp(e,function(r){return n.size===500&&n.clear(),r}),n=t.cache;return t}(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(Np,function(n,r,a,s){t.push(a?s.replace(wp,"$1"):r||n)}),t}),Vi=function(e,t){for(var n=-1,r=e==null?0:e.length,a=Array(r);++n<r;)a[n]=t(e[n],n,e);return a},Za=Ve?Ve.prototype:void 0,Qa=Za?Za.toString:void 0,xp=function e(t){if(typeof t=="string")return t;if(De(t))return Vi(t,e)+"";if(Tn(t))return Qa?Qa.call(t):"";var n=t+"";return n=="0"&&1/t==-1/0?"-0":n},Ep=function(e){return e==null?"":xp(e)},Mi=function(e,t){return De(e)?e:jr(e,t)?[e]:yp(Ep(e))},An=function(e){if(typeof e=="string"||Tn(e))return e;var t=e+"";return t=="0"&&1/e==-1/0?"-0":t},Li=function(e,t){for(var n=0,r=(t=Mi(t,e)).length;e!=null&&n<r;)e=e[An(t[n++])];return n&&n==r?e:void 0},Sp=function(e,t,n){var r=e==null?void 0:Li(e,t);return r===void 0?n:r},Dp=function(e,t){return e!=null&&t in Object(e)},Cp=function(e,t,n){for(var r=-1,a=(t=Mi(t,e)).length,s=!1;++r<a;){var i=An(t[r]);if(!(s=e!=null&&n(e,i)))break;e=e[i]}return s||++r!=a?s:!!(a=e==null?0:e.length)&&Ir(a)&&Ii(i,a)&&(De(e)||Sn(e))},Tp=function(e,t){return e!=null&&Cp(e,t,Dp)},Ap=function(e,t){return jr(e)&&ji(t)?Oi(An(e),t):function(n){var r=Sp(n,e);return r===void 0&&r===t?Tp(n,e):Cn(t,r,3)}},kp=function(e){return e},Ip=function(e){return function(t){return t==null?void 0:t[e]}},Rp=function(e){return function(t){return Li(t,e)}},_p=function(e){return jr(e)?Ip(An(e)):Rp(e)},kn=function(e){return typeof e=="function"?e:e==null?kp:typeof e=="object"?De(e)?Ap(e[0],e[1]):fp(e):_p(e)},jp=/\s/,Op=function(e){for(var t=e.length;t--&&jp.test(e.charAt(t)););return t},Vp=/^\s+/,Mp=function(e){return e&&e.slice(0,Op(e)+1).replace(Vp,"")},Lp=/^[-+]0x[0-9a-f]+$/i,Fp=/^0b[01]+$/i,Pp=/^0o[0-7]+$/i,$p=parseInt,zp=function(e){if(typeof e=="number")return e;if(Tn(e))return NaN;if(Ft(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=Ft(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=Mp(e);var n=Fp.test(e);return n||Pp.test(e)?$p(e.slice(2),n?2:8):Lp.test(e)?NaN:+e},Bp=function(e){return e?(e=zp(e))===1/0||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:e===0?e:0},Gp=function(e){var t=Bp(e),n=t%1;return t==t?n?t-n:t:0};function Ae(e){if(!e)throw new Error("change is not provided");if(ze(e))return"N".concat(e.oldLineNumber);var t=qe(e)?"I":"D";return"".concat(t).concat(e.lineNumber)}kr("old");var In=Lt("old"),Rn=Lt("new");xi("old");xi("new");kr("new");kr("old");var Ja=function(){try{var e=st(Object,"defineProperty");return e({},"",{}),e}catch{}}(),Vr=function(e,t,n){t=="__proto__"&&Ja?Ja(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n},Up=function(e){return function(t,n,r){for(var a=-1,s=Object(t),i=r(t),o=i.length;o--;){var l=i[++a];if(n(s[l],l,s)===!1)break}return t}},Hp=Up(),Fi=function(e,t){return e&&Hp(e,t,_r)},Pi=function(e,t){var n={};return t=kn(t),Fi(e,function(r,a,s){Vr(n,a,t(r,a,s))}),n},Kp=["changeKey","text","tokens","renderToken"],es=function e(t,n){var r=t.type,a=t.value,s=t.markType,i=t.properties,o=t.className,l=t.children,c=function(d){return O.jsx("span",{className:d,children:a||l&&l.map(e)},n)};switch(r){case"text":return a;case"mark":return c("diff-code-mark diff-code-mark-".concat(s));case"edit":return c("diff-code-edit");default:var p=i&&i.className;return c(ye(o||p))}};function Wp(e){if(!Array.isArray(e))return!0;if(e.length>1)return!1;if(e.length===1){var t=X(e,1)[0];return t.type==="text"&&!t.value}return!0}function Yp(e){var t=e.changeKey,n=e.text,r=e.tokens,a=e.renderToken,s=We(e,Kp),i=a?function(o,l){return a(o,es,l)}:es;return O.jsx("td",Q(Q({},s),{},{"data-change-key":t,children:r?Wp(r)?" ":r.map(i):n||" "}))}var $i=w.memo(Yp);function zi(e,t){return function(){var n=t==="old"?In(e):Rn(e);return n===-1?void 0:n}}function Bi(e,t){return function(n){return e&&n?O.jsx("a",{href:t?"#"+t:void 0,children:n}):n}}function fn(e,t){return t?function(n){e(),t(n)}:e}function ts(e,t,n,r){return w.useMemo(function(){var a=Pi(e,function(s){return function(i){return s&&s(t,i)}});return a.onMouseEnter=fn(n,a.onMouseEnter),a.onMouseLeave=fn(r,a.onMouseLeave),a},[e,n,r,t])}function ns(e,t,n,r,a,s,i,o,l){var c={change:t,side:r,inHoverState:o,renderDefault:zi(t,r),wrapInAnchor:Bi(a,s)};return O.jsx("td",Q(Q({className:e},i),{},{"data-change-key":n,children:l(c)}))}function qp(e){var t,n,r,a=e.change,s=e.selected,i=e.tokens,o=e.className,l=e.generateLineClassName,c=e.gutterClassName,p=e.codeClassName,d=e.gutterEvents,m=e.codeEvents,f=e.hideGutter,h=e.gutterAnchor,g=e.generateAnchorID,b=e.renderToken,N=e.renderGutter,y=a.type,x=a.content,v=Ae(a),E=(t=X(w.useState(!1),2),n=t[0],r=t[1],[n,w.useCallback(function(){return r(!0)},[]),w.useCallback(function(){return r(!1)},[])]),S=X(E,3),C=S[0],D=S[1],V=S[2],A=w.useMemo(function(){return{change:a}},[a]),j=ts(d,A,D,V),L=ts(m,A,D,V),R=g(a),$=l({changes:[a],defaultGenerate:function(){return o}}),W=ye("diff-gutter","diff-gutter-".concat(y),c,{"diff-gutter-selected":s}),Y=ye("diff-code","diff-code-".concat(y),p,{"diff-code-selected":s});return O.jsxs("tr",{id:R,className:ye("diff-line",$),children:[!f&&ns(W,a,v,"old",h,R,j,C,N),!f&&ns(W,a,v,"new",h,R,j,C,N),O.jsx($i,Q({className:Y,changeKey:v,text:x,tokens:i,renderToken:b},L))]})}var Xp=w.memo(qp);function Zp(e){var t=e.hideGutter,n=e.element;return O.jsx("tr",{className:"diff-widget",children:O.jsx("td",{colSpan:t?1:3,className:"diff-widget-content",children:n})})}var Qp=["hideGutter","selectedChanges","tokens","lineClassName"],Jp=["hunk","widgets","className"];function ed(e){var t=e.hunk,n=e.widgets,r=e.className,a=We(e,Jp),s=function(i,o){return i.reduce(function(l,c){var p=Ae(c);l.push(["change",p,c]);var d=o[p];return d&&l.push(["widget",p,d]),l},[])}(t.changes,n);return O.jsx("tbody",{className:ye("diff-hunk",r),children:s.map(function(i){return function(o,l){var c=X(o,3),p=c[0],d=c[1],m=c[2],f=l.hideGutter,h=l.selectedChanges,g=l.tokens,b=l.lineClassName,N=We(l,Qp);if(p==="change"){var y=Se(m)?"old":"new",x=Se(m)?In(m):Rn(m),v=g?g[y][x-1]:null;return O.jsx(Xp,Q({className:b,change:m,hideGutter:f,selected:h.includes(d),tokens:v},N),"change".concat(d))}return p==="widget"?O.jsx(Zp,{hideGutter:f,element:m},"widget".concat(d)):null}(i,a)})})}var Gi=0;function Qt(e,t,n,r){var a=w.useCallback(function(){return t(e)},[e,t]),s=w.useCallback(function(){return t("")},[t]);return w.useMemo(function(){var i=Pi(r,function(o){return function(l){return o&&o({side:e,change:n},l)}});return i.onMouseEnter=fn(a,i.onMouseEnter),i.onMouseLeave=fn(s,i.onMouseLeave),i},[n,r,a,e,s])}function Wn(e){var t=e.change,n=e.side,r=e.selected,a=e.tokens,s=e.gutterClassName,i=e.codeClassName,o=e.gutterEvents,l=e.codeEvents,c=e.anchorID,p=e.gutterAnchor,d=e.gutterAnchorTarget,m=e.hideGutter,f=e.hover,h=e.renderToken,g=e.renderGutter;if(!t){var b=ye("diff-gutter","diff-gutter-omit",s),N=ye("diff-code","diff-code-omit",i);return[!m&&O.jsx("td",{className:b},"gutter"),O.jsx("td",{className:N},"code")]}var y=t.type,x=t.content,v=Ae(t),E=n===Gi?"old":"new",S=Q({id:c||void 0,className:ye("diff-gutter","diff-gutter-".concat(y),er({"diff-gutter-selected":r},"diff-line-hover-"+E,f),s),children:g({change:t,side:E,inHoverState:f,renderDefault:zi(t,E),wrapInAnchor:Bi(p,d)})},o),C=ye("diff-code","diff-code-".concat(y),er({"diff-code-selected":r},"diff-line-hover-"+E,f),i);return[!m&&O.jsx("td",Q(Q({},S),{},{"data-change-key":v}),"gutter"),O.jsx($i,Q({className:C,changeKey:v,text:x,tokens:a,renderToken:h},l),"code")]}function td(e){var t=e.className,n=e.oldChange,r=e.newChange,a=e.oldSelected,s=e.newSelected,i=e.oldTokens,o=e.newTokens,l=e.monotonous,c=e.gutterClassName,p=e.codeClassName,d=e.gutterEvents,m=e.codeEvents,f=e.hideGutter,h=e.generateAnchorID,g=e.generateLineClassName,b=e.gutterAnchor,N=e.renderToken,y=e.renderGutter,x=X(w.useState(""),2),v=x[0],E=x[1],S=Qt("old",E,n,d),C=Qt("new",E,r,d),D=Qt("old",E,n,m),V=Qt("new",E,r,m),A=n&&h(n),j=r&&h(r),L=g({changes:[n,r],defaultGenerate:function(){return t}}),R={monotonous:l,hideGutter:f,gutterClassName:c,codeClassName:p,gutterEvents:d,codeEvents:m,renderToken:N,renderGutter:y},$=Q(Q({},R),{},{change:n,side:Gi,selected:a,tokens:i,gutterEvents:S,codeEvents:D,anchorID:A,gutterAnchor:b,gutterAnchorTarget:A,hover:v==="old"}),W=Q(Q({},R),{},{change:r,side:1,selected:s,tokens:o,gutterEvents:C,codeEvents:V,anchorID:n===r?null:j,gutterAnchor:b,gutterAnchorTarget:n===r?A:j,hover:v==="new"});if(l)return O.jsx("tr",{className:ye("diff-line",L),children:Wn(n?$:W)});var Y=function(k,_){return k&&!_?"diff-line-old-only":!k&&_?"diff-line-new-only":k===_?"diff-line-normal":"diff-line-compare"}(n,r);return O.jsxs("tr",{className:ye("diff-line",Y,L),children:[Wn($),Wn(W)]})}var nd=w.memo(td);function rd(e){var t=e.hideGutter,n=e.oldElement,r=e.newElement;return e.monotonous?O.jsx("tr",{className:"diff-widget",children:O.jsx("td",{colSpan:t?1:2,className:"diff-widget-content",children:n||r})}):n===r?O.jsx("tr",{className:"diff-widget",children:O.jsx("td",{colSpan:t?2:4,className:"diff-widget-content",children:n})}):O.jsxs("tr",{className:"diff-widget",children:[O.jsx("td",{colSpan:t?1:2,className:"diff-widget-content",children:n}),O.jsx("td",{colSpan:t?1:2,className:"diff-widget-content",children:r})]})}var ad=["selectedChanges","monotonous","hideGutter","tokens","lineClassName"],sd=["hunk","widgets","className"];function Jt(e,t){return(e?Ae(e):"00")+(t?Ae(t):"00")}function id(e){var t=e.hunk,n=e.widgets,r=e.className,a=We(e,sd),s=function(i,o){for(var l=function(N){if(!N)return null;var y=Ae(N);return o[y]||null},c=[],p=0;p<i.length;p++){var d=i[p];if(ze(d))c.push(["change",Jt(d,d),d,d]);else if(Se(d)){var m=i[p+1];m&&qe(m)?(p+=1,c.push(["change",Jt(d,m),d,m])):c.push(["change",Jt(d,null),d,null])}else c.push(["change",Jt(null,d),null,d]);var f=c[c.length-1],h=l(f[2]),g=l(f[3]);if(h||g){var b=f[1];c.push(["widget",b,h,g])}}return c}(t.changes,n);return O.jsx("tbody",{className:ye("diff-hunk",r),children:s.map(function(i){return function(o,l){var c=X(o,4),p=c[0],d=c[1],m=c[2],f=c[3],h=l.selectedChanges,g=l.monotonous,b=l.hideGutter,N=l.tokens,y=l.lineClassName,x=We(l,ad);if(p==="change"){var v=!!m&&h.includes(Ae(m)),E=!!f&&h.includes(Ae(f)),S=m&&N?N.old[In(m)-1]:null,C=f&&N?N.new[Rn(f)-1]:null;return O.jsx(nd,Q({className:y,oldChange:m,newChange:f,monotonous:g,hideGutter:b,oldSelected:v,newSelected:E,oldTokens:S,newTokens:C},x),"change".concat(d))}return p==="widget"?O.jsx(rd,{monotonous:g,hideGutter:b,oldElement:m,newElement:f},"widget".concat(d)):null}(i,a)})})}var od=["gutterType","hunkClassName"];function Ui(e){var t=e.hunk,n=$u(),r=n.gutterType,a=n.hunkClassName,s=We(n,od),i=r==="none",o=r==="anchor",l=s.viewType==="unified"?ed:id;return O.jsx(l,Q(Q({},s),{},{hunk:t,hideGutter:i,gutterAnchor:o,className:a}))}function ld(){}function rs(e,t){var n=t?"auto":"none";e instanceof HTMLElement&&e.style.userSelect!==n&&(e.style.userSelect=n)}function ud(e){return e.map(function(t){return O.jsx(Ui,{hunk:t},function(n){return"-".concat(n.oldStart,",").concat(n.oldLines," +").concat(n.newStart,",").concat(n.newLines)}(t))})}function cd(e){var t=e.diffType,n=e.hunks,r=e.optimizeSelection,a=e.className,s=e.hunkClassName,i=s===void 0?ge.hunkClassName:s,o=e.lineClassName,l=o===void 0?ge.lineClassName:o,c=e.generateLineClassName,p=c===void 0?ge.generateLineClassName:c,d=e.gutterClassName,m=d===void 0?ge.gutterClassName:d,f=e.codeClassName,h=f===void 0?ge.codeClassName:f,g=e.gutterType,b=g===void 0?ge.gutterType:g,N=e.viewType,y=N===void 0?ge.viewType:N,x=e.gutterEvents,v=x===void 0?ge.gutterEvents:x,E=e.codeEvents,S=E===void 0?ge.codeEvents:E,C=e.generateAnchorID,D=C===void 0?ge.generateAnchorID:C,V=e.selectedChanges,A=V===void 0?ge.selectedChanges:V,j=e.widgets,L=j===void 0?ge.widgets:j,R=e.renderGutter,$=R===void 0?ge.renderGutter:R,W=e.tokens,Y=e.renderToken,k=e.children,_=k===void 0?ud:k,U=w.useRef(null),T=w.useCallback(function(Le){var Ct=Le.target;if(Le.button===0){var He=function(Ze,F){for(var B=Ze;B&&B!==document.documentElement&&!B.classList.contains(F);)B=B.parentElement;return B===document.documentElement?null:B}(Ct,"diff-code");if(He&&He.parentElement){var Tt=window.getSelection();Tt&&Tt.removeAllRanges();var ot=Ee(He.parentElement.children).indexOf(He);if(ot===1||ot===3){var Wt,Xe=Ar(U.current?U.current.querySelectorAll(".diff-line"):[]);try{for(Xe.s();!(Wt=Xe.n()).done;){var At=Wt.value.children;rs(At[1],ot===1),rs(At[3],ot===3)}}catch(Ze){Xe.e(Ze)}finally{Xe.f()}}}}},[]),G=b==="none",Z=t==="add"||t==="delete",ce=y==="split"&&!Z&&r?T:ld,M=w.useMemo(function(){return O.jsxs("colgroup",y==="unified"?{children:[!G&&O.jsx("col",{className:"diff-gutter-col"}),!G&&O.jsx("col",{className:"diff-gutter-col"}),O.jsx("col",{})]}:Z?{children:[!G&&O.jsx("col",{className:"diff-gutter-col"}),O.jsx("col",{})]}:{children:[!G&&O.jsx("col",{className:"diff-gutter-col"}),O.jsx("col",{}),!G&&O.jsx("col",{className:"diff-gutter-col"}),O.jsx("col",{})]})},[y,Z,G]),oe=w.useMemo(function(){return{hunkClassName:i,lineClassName:l,generateLineClassName:p,gutterClassName:m,codeClassName:h,monotonous:Z,hideGutter:G,viewType:y,gutterType:b,codeEvents:S,gutterEvents:v,generateAnchorID:D,selectedChanges:A,widgets:L,renderGutter:$,tokens:W,renderToken:Y}},[h,S,D,m,v,b,G,i,l,p,Z,$,Y,A,W,y,L]);return O.jsx(Pu,{value:oe,children:O.jsxs("table",{ref:U,className:ye("diff","diff-".concat(y),a),onMouseDown:ce,children:[M,_(n)]})})}var pd=w.memo(cd),dd=function(e,t,n,r){for(var a=-1,s=e==null?0:e.length;++a<s;){var i=e[a];t(r,i,n(i),e)}return r},md=function(e,t){return function(n,r){if(n==null)return n;if(!Dn(n))return e(n,r);for(var a=n.length,s=-1,i=Object(n);++s<a&&r(i[s],s,i)!==!1;);return n}},Hi=md(Fi),hd=function(e,t,n,r){return Hi(e,function(a,s,i){t(r,a,n(a),i)}),r},Ki=function(e,t){return function(n,r){var a=De(n)?dd:hd,s=t?t():{};return a(n,e,kn(r),s)}},fd=Ki(function(e,t,n){Vr(e,n,t)}),as=Ve?Ve.isConcatSpreadable:void 0,gd=function(e){return De(e)||Sn(e)||!!(as&&e&&e[as])},Wi=function(t,n,r,a,s){var i=-1,o=t.length;for(r||(r=gd),s||(s=[]);++i<o;){var l=t[i];r(l)?Ai(s,l):s[s.length]=l}return s},bd=function(e,t){var n=-1,r=Dn(e)?Array(e.length):[];return Hi(e,function(a,s,i){r[++n]=t(a,s,i)}),r},vd=function(e,t){return(De(e)?Vi:bd)(e,kn(t))},Mr=function(e,t){return Wi(vd(e,t))};function Nd(e,t){var n=t.newStart,r=t.changes.reduce(function(a,s){var i=X(a,2),o=i[0],l=i[1];return Se(s)?(o.splice(l,1),[o,l]):(qe(s)&&o.splice(l,0,s.content),[o,l+1])},[e,n-1]);return X(r,1)[0]}function ss(e,t,n){if(!e.length)return[];var r=t==="old"?In:Rn,a=fd(e,r),s=r(e[e.length-1]);return Array.from({length:s}).map(function(i,o){return n(a[o+1])})}function wd(e){var t=function(i){return Mr(i,function(o){return o.changes}).reduce(function(o,l){var c=X(o,2),p=c[0],d=c[1];return ze(l)?(p.push(l),d.push(l)):Se(l)?p.push(l):d.push(l),[p,d]},[[],[]])}(e),n=X(t,2),r=n[0],a=n[1],s=function(i){return i?i.content:""};return[ss(r,"old",s).join(`
|
|
61
|
+
`),ss(a,"new",s).join(`
|
|
62
|
+
`)]}function en(e){return{type:"root",children:e}}function yd(e,t){if(t.oldSource){var n=function(l,c){return c.reduce(Nd,l.split(`
|
|
63
|
+
`)).join(`
|
|
64
|
+
`)}(t.oldSource,e),r=t.highlight?function(l){return t.refractor.highlight(l,t.language)}:function(l){return[{type:"text",value:l}]};return[en(r(t.oldSource)),en(r(n))]}var a=X(wd(e),2),s=a[0],i=a[1],o=t.highlight?function(l){return en(t.refractor.highlight(l,t.language))}:function(l){return en([{type:"text",value:l}])};return[o(s),o(i)]}function ft(e){return e.map(function(t){return Q({},t)})}function xd(e,t){return[].concat(Ee(ft(e.slice(0,-1))),[t])}function Lr(e){var t=e[e.length-1];if(t.type==="text")return t;throw new Error("Invalid token path with leaf of type ".concat(t.type))}function Ed(e,t,n,r){var a=e.slice(0,-1),s=Lr(e),i=[];if(n<=0||t>=(s==null?void 0:s.value.length))return[e];var o=function(d,m){var f=s.value.slice(d,m);return[].concat(Ee(a),[Q(Q({},s),{},{value:f})])};if(t>0){var l=o(0,t);i.push(ft(l))}var c=o(Math.max(t,0),n);if(i.push(r?function(d,m){return[m].concat(Ee(ft(d)))}(c,r):ft(c)),n<s.value.length){var p=o(n);i.push(ft(p))}return i}var Sd=["children"];function Yi(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];if(e.children){var r=e.children,a=We(e,Sd);n.push(a);var s,i=Ar(r);try{for(i.s();!(s=i.n()).done;)Yi(s.value,t,n)}catch(o){i.e(o)}finally{i.f()}n.pop()}else t.push(ft([].concat(Ee(n.slice(1)),[e])));return t}function Dd(e){return e.reduce(function(t,n){var r=t[t.length-1],a=function(l){var c=Lr(l);return c.value.includes(`
|
|
65
|
+
`)?c.value.split(`
|
|
66
|
+
`).map(function(p){return xd(l,Q(Q({},c),{},{value:p}))}):[l]}(n),s=gi(a),i=s[0],o=s.slice(1);return[].concat(Ee(t.slice(0,-1)),[[].concat(Ee(r),[i])],Ee(o.map(function(l){return[l]})))},[[]])}function is(e){return Dd(Yi(e))}var Cd=function(e,t,n){var r=(n=typeof n=="function"?n:void 0)?n(e,t):void 0;return r===void 0?Cn(e,t,void 0,n):!!r},Td=function(e,t){return Cn(e,t)},Ad=function(e){var t=e==null?0:e.length;return t?e[t-1]:void 0};function kd(e,t){if(!e.children)throw new Error("parent node missing children property");var n,r,a=Ad(e.children);return a&&(r=t,(n=a).type===r.type&&(n.type==="text"||n.children&&r.children&&Cd(n,r,function(s,i,o){return o==="chlidren"||Td(s,i)})))?e.children[e.children.length-1]=function(s,i){return"value"in s&&"value"in i?Q(Q({},s),{},{value:"".concat(s.value).concat(i.value)}):s}(a,t):e.children.push(t),e.children[e.children.length-1]}function os(e){var t,n={type:"root",children:[]},r=Ar(e);try{var a=function(){var s=t.value;s.reduce(function(i,o,l){return kd(i,l===s.length-1?Q({},o):Q(Q({},o),{},{children:[]}))},n)};for(r.s();!(t=r.n()).done;)a()}catch(s){r.e(s)}finally{r.f()}return n}var Id=Object.prototype.hasOwnProperty,Rd=Ki(function(e,t,n){Id.call(e,n)?e[n].push(t):Vr(e,n,[t])}),_d=Object.prototype.hasOwnProperty,jd=function(e){if(e==null)return!0;if(Dn(e)&&(De(e)||typeof e=="string"||typeof e.splice=="function"||hn(e)||Rr(e)||Sn(e)))return!e.length;var t=or(e);if(t=="[object Map]"||t=="[object Set]")return!e.size;if(Ri(e))return!_i(e).length;for(var n in e)if(_d.call(e,n))return!1;return!0},Od=function(e,t){var n=t.start,r=t.length,a=n+r,s=e.reduce(function(i,o){var l=X(i,2),c=l[0],p=l[1],d=p+Lr(o).value.length;if(p>a||d<n)c.push(o);else{var m=Ed(o,n-p,a-p,t);c.push.apply(c,Ee(m))}return[c,d]},[[],0]);return X(s,1)[0]};function ls(e,t){var n=Rd(t,"lineNumber");return e.map(function(r,a){return function(s,i){return jd(i)?s:i.reduce(Od,s)}(r,n[a+1])})}function Vd(e,t){return function(n){var r=X(n,2),a=r[0],s=r[1];return[ls(a,e),ls(s,t)]}}var us=function(e){return e!=null&&e.length?Wi(e):[]},Md=Math.max,cs=function(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var a=n==null?0:Gp(n);return a<0&&(a=Md(r+a,0)),Wu(e,kn(t),a)},_n=Gt(function(e){var t=function(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32};t.Diff=function(n,r){return[n,r]},t.prototype.diff_main=function(n,r,a,s){s===void 0&&(s=this.Diff_Timeout<=0?Number.MAX_VALUE:new Date().getTime()+1e3*this.Diff_Timeout);var i=s;if(n==null||r==null)throw new Error("Null input. (diff_main)");if(n==r)return n?[new t.Diff(0,n)]:[];a===void 0&&(a=!0);var o=a,l=this.diff_commonPrefix(n,r),c=n.substring(0,l);n=n.substring(l),r=r.substring(l),l=this.diff_commonSuffix(n,r);var p=n.substring(n.length-l);n=n.substring(0,n.length-l),r=r.substring(0,r.length-l);var d=this.diff_compute_(n,r,o,i);return c&&d.unshift(new t.Diff(0,c)),p&&d.push(new t.Diff(0,p)),this.diff_cleanupMerge(d),d},t.prototype.diff_compute_=function(n,r,a,s){var i;if(!n)return[new t.Diff(1,r)];if(!r)return[new t.Diff(-1,n)];var o=n.length>r.length?n:r,l=n.length>r.length?r:n,c=o.indexOf(l);if(c!=-1)return i=[new t.Diff(1,o.substring(0,c)),new t.Diff(0,l),new t.Diff(1,o.substring(c+l.length))],n.length>r.length&&(i[0][0]=i[2][0]=-1),i;if(l.length==1)return[new t.Diff(-1,n),new t.Diff(1,r)];var p=this.diff_halfMatch_(n,r);if(p){var d=p[0],m=p[1],f=p[2],h=p[3],g=p[4],b=this.diff_main(d,f,a,s),N=this.diff_main(m,h,a,s);return b.concat([new t.Diff(0,g)],N)}return a&&n.length>100&&r.length>100?this.diff_lineMode_(n,r,s):this.diff_bisect_(n,r,s)},t.prototype.diff_lineMode_=function(n,r,a){var s=this.diff_linesToChars_(n,r);n=s.chars1,r=s.chars2;var i=s.lineArray,o=this.diff_main(n,r,!1,a);this.diff_charsToLines_(o,i),this.diff_cleanupSemantic(o),o.push(new t.Diff(0,""));for(var l=0,c=0,p=0,d="",m="";l<o.length;){switch(o[l][0]){case 1:p++,m+=o[l][1];break;case-1:c++,d+=o[l][1];break;case 0:if(c>=1&&p>=1){o.splice(l-c-p,c+p),l=l-c-p;for(var f=this.diff_main(d,m,!1,a),h=f.length-1;h>=0;h--)o.splice(l,0,f[h]);l+=f.length}p=0,c=0,d="",m=""}l++}return o.pop(),o},t.prototype.diff_bisect_=function(n,r,a){for(var s=n.length,i=r.length,o=Math.ceil((s+i)/2),l=o,c=2*o,p=new Array(c),d=new Array(c),m=0;m<c;m++)p[m]=-1,d[m]=-1;p[l+1]=0,d[l+1]=0;for(var f=s-i,h=f%2!=0,g=0,b=0,N=0,y=0,x=0;x<o&&!(new Date().getTime()>a);x++){for(var v=-x+g;v<=x-b;v+=2){for(var E=l+v,S=(j=v==-x||v!=x&&p[E-1]<p[E+1]?p[E+1]:p[E-1]+1)-v;j<s&&S<i&&n.charAt(j)==r.charAt(S);)j++,S++;if(p[E]=j,j>s)b+=2;else if(S>i)g+=2;else if(h&&(V=l+f-v)>=0&&V<c&&d[V]!=-1&&j>=(D=s-d[V]))return this.diff_bisectSplit_(n,r,j,S,a)}for(var C=-x+N;C<=x-y;C+=2){for(var D,V=l+C,A=(D=C==-x||C!=x&&d[V-1]<d[V+1]?d[V+1]:d[V-1]+1)-C;D<s&&A<i&&n.charAt(s-D-1)==r.charAt(i-A-1);)D++,A++;if(d[V]=D,D>s)y+=2;else if(A>i)N+=2;else if(!h&&(E=l+f-C)>=0&&E<c&&p[E]!=-1){var j;if(S=l+(j=p[E])-E,j>=(D=s-D))return this.diff_bisectSplit_(n,r,j,S,a)}}}return[new t.Diff(-1,n),new t.Diff(1,r)]},t.prototype.diff_bisectSplit_=function(n,r,a,s,i){var o=n.substring(0,a),l=r.substring(0,s),c=n.substring(a),p=r.substring(s),d=this.diff_main(o,l,!1,i),m=this.diff_main(c,p,!1,i);return d.concat(m)},t.prototype.diff_linesToChars_=function(n,r){var a=[],s={};function i(c){for(var p="",d=0,m=-1,f=a.length;m<c.length-1;){(m=c.indexOf(`
|
|
67
|
+
`,d))==-1&&(m=c.length-1);var h=c.substring(d,m+1);(s.hasOwnProperty?s.hasOwnProperty(h):s[h]!==void 0)?p+=String.fromCharCode(s[h]):(f==o&&(h=c.substring(d),m=c.length),p+=String.fromCharCode(f),s[h]=f,a[f++]=h),d=m+1}return p}a[0]="";var o=4e4,l=i(n);return o=65535,{chars1:l,chars2:i(r),lineArray:a}},t.prototype.diff_charsToLines_=function(n,r){for(var a=0;a<n.length;a++){for(var s=n[a][1],i=[],o=0;o<s.length;o++)i[o]=r[s.charCodeAt(o)];n[a][1]=i.join("")}},t.prototype.diff_commonPrefix=function(n,r){if(!n||!r||n.charAt(0)!=r.charAt(0))return 0;for(var a=0,s=Math.min(n.length,r.length),i=s,o=0;a<i;)n.substring(o,i)==r.substring(o,i)?o=a=i:s=i,i=Math.floor((s-a)/2+a);return i},t.prototype.diff_commonSuffix=function(n,r){if(!n||!r||n.charAt(n.length-1)!=r.charAt(r.length-1))return 0;for(var a=0,s=Math.min(n.length,r.length),i=s,o=0;a<i;)n.substring(n.length-i,n.length-o)==r.substring(r.length-i,r.length-o)?o=a=i:s=i,i=Math.floor((s-a)/2+a);return i},t.prototype.diff_commonOverlap_=function(n,r){var a=n.length,s=r.length;if(a==0||s==0)return 0;a>s?n=n.substring(a-s):a<s&&(r=r.substring(0,a));var i=Math.min(a,s);if(n==r)return i;for(var o=0,l=1;;){var c=n.substring(i-l),p=r.indexOf(c);if(p==-1)return o;l+=p,p!=0&&n.substring(i-l)!=r.substring(0,l)||(o=l,l++)}},t.prototype.diff_halfMatch_=function(n,r){if(this.Diff_Timeout<=0)return null;var a=n.length>r.length?n:r,s=n.length>r.length?r:n;if(a.length<4||2*s.length<a.length)return null;var i=this;function o(g,b,N){for(var y,x,v,E,S=g.substring(N,N+Math.floor(g.length/4)),C=-1,D="";(C=b.indexOf(S,C+1))!=-1;){var V=i.diff_commonPrefix(g.substring(N),b.substring(C)),A=i.diff_commonSuffix(g.substring(0,N),b.substring(0,C));D.length<A+V&&(D=b.substring(C-A,C)+b.substring(C,C+V),y=g.substring(0,N-A),x=g.substring(N+V),v=b.substring(0,C-A),E=b.substring(C+V))}return 2*D.length>=g.length?[y,x,v,E,D]:null}var l,c,p,d,m,f=o(a,s,Math.ceil(a.length/4)),h=o(a,s,Math.ceil(a.length/2));return f||h?(l=h?f&&f[4].length>h[4].length?f:h:f,n.length>r.length?(c=l[0],p=l[1],d=l[2],m=l[3]):(d=l[0],m=l[1],c=l[2],p=l[3]),[c,p,d,m,l[4]]):null},t.prototype.diff_cleanupSemantic=function(n){for(var r=!1,a=[],s=0,i=null,o=0,l=0,c=0,p=0,d=0;o<n.length;)n[o][0]==0?(a[s++]=o,l=p,c=d,p=0,d=0,i=n[o][1]):(n[o][0]==1?p+=n[o][1].length:d+=n[o][1].length,i&&i.length<=Math.max(l,c)&&i.length<=Math.max(p,d)&&(n.splice(a[s-1],0,new t.Diff(-1,i)),n[a[s-1]+1][0]=1,s--,o=--s>0?a[s-1]:-1,l=0,c=0,p=0,d=0,i=null,r=!0)),o++;for(r&&this.diff_cleanupMerge(n),this.diff_cleanupSemanticLossless(n),o=1;o<n.length;){if(n[o-1][0]==-1&&n[o][0]==1){var m=n[o-1][1],f=n[o][1],h=this.diff_commonOverlap_(m,f),g=this.diff_commonOverlap_(f,m);h>=g?(h>=m.length/2||h>=f.length/2)&&(n.splice(o,0,new t.Diff(0,f.substring(0,h))),n[o-1][1]=m.substring(0,m.length-h),n[o+1][1]=f.substring(h),o++):(g>=m.length/2||g>=f.length/2)&&(n.splice(o,0,new t.Diff(0,m.substring(0,g))),n[o-1][0]=1,n[o-1][1]=f.substring(0,f.length-g),n[o+1][0]=-1,n[o+1][1]=m.substring(g),o++),o++}o++}},t.prototype.diff_cleanupSemanticLossless=function(n){function r(g,b){if(!g||!b)return 6;var N=g.charAt(g.length-1),y=b.charAt(0),x=N.match(t.nonAlphaNumericRegex_),v=y.match(t.nonAlphaNumericRegex_),E=x&&N.match(t.whitespaceRegex_),S=v&&y.match(t.whitespaceRegex_),C=E&&N.match(t.linebreakRegex_),D=S&&y.match(t.linebreakRegex_),V=C&&g.match(t.blanklineEndRegex_),A=D&&b.match(t.blanklineStartRegex_);return V||A?5:C||D?4:x&&!E&&S?3:E||S?2:x||v?1:0}for(var a=1;a<n.length-1;){if(n[a-1][0]==0&&n[a+1][0]==0){var s=n[a-1][1],i=n[a][1],o=n[a+1][1],l=this.diff_commonSuffix(s,i);if(l){var c=i.substring(i.length-l);s=s.substring(0,s.length-l),i=c+i.substring(0,i.length-l),o=c+o}for(var p=s,d=i,m=o,f=r(s,i)+r(i,o);i.charAt(0)===o.charAt(0);){s+=i.charAt(0),i=i.substring(1)+o.charAt(0),o=o.substring(1);var h=r(s,i)+r(i,o);h>=f&&(f=h,p=s,d=i,m=o)}n[a-1][1]!=p&&(p?n[a-1][1]=p:(n.splice(a-1,1),a--),n[a][1]=d,m?n[a+1][1]=m:(n.splice(a+1,1),a--))}a++}},t.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/,t.whitespaceRegex_=/\s/,t.linebreakRegex_=/[\r\n]/,t.blanklineEndRegex_=/\n\r?\n$/,t.blanklineStartRegex_=/^\r?\n\r?\n/,t.prototype.diff_cleanupEfficiency=function(n){for(var r=!1,a=[],s=0,i=null,o=0,l=!1,c=!1,p=!1,d=!1;o<n.length;)n[o][0]==0?(n[o][1].length<this.Diff_EditCost&&(p||d)?(a[s++]=o,l=p,c=d,i=n[o][1]):(s=0,i=null),p=d=!1):(n[o][0]==-1?d=!0:p=!0,i&&(l&&c&&p&&d||i.length<this.Diff_EditCost/2&&l+c+p+d==3)&&(n.splice(a[s-1],0,new t.Diff(-1,i)),n[a[s-1]+1][0]=1,s--,i=null,l&&c?(p=d=!0,s=0):(o=--s>0?a[s-1]:-1,p=d=!1),r=!0)),o++;r&&this.diff_cleanupMerge(n)},t.prototype.diff_cleanupMerge=function(n){n.push(new t.Diff(0,""));for(var r,a=0,s=0,i=0,o="",l="";a<n.length;)switch(n[a][0]){case 1:i++,l+=n[a][1],a++;break;case-1:s++,o+=n[a][1],a++;break;case 0:s+i>1?(s!==0&&i!==0&&((r=this.diff_commonPrefix(l,o))!==0&&(a-s-i>0&&n[a-s-i-1][0]==0?n[a-s-i-1][1]+=l.substring(0,r):(n.splice(0,0,new t.Diff(0,l.substring(0,r))),a++),l=l.substring(r),o=o.substring(r)),(r=this.diff_commonSuffix(l,o))!==0&&(n[a][1]=l.substring(l.length-r)+n[a][1],l=l.substring(0,l.length-r),o=o.substring(0,o.length-r))),a-=s+i,n.splice(a,s+i),o.length&&(n.splice(a,0,new t.Diff(-1,o)),a++),l.length&&(n.splice(a,0,new t.Diff(1,l)),a++),a++):a!==0&&n[a-1][0]==0?(n[a-1][1]+=n[a][1],n.splice(a,1)):a++,i=0,s=0,o="",l=""}n[n.length-1][1]===""&&n.pop();var c=!1;for(a=1;a<n.length-1;)n[a-1][0]==0&&n[a+1][0]==0&&(n[a][1].substring(n[a][1].length-n[a-1][1].length)==n[a-1][1]?(n[a][1]=n[a-1][1]+n[a][1].substring(0,n[a][1].length-n[a-1][1].length),n[a+1][1]=n[a-1][1]+n[a+1][1],n.splice(a-1,1),c=!0):n[a][1].substring(0,n[a+1][1].length)==n[a+1][1]&&(n[a-1][1]+=n[a+1][1],n[a][1]=n[a][1].substring(n[a+1][1].length)+n[a+1][1],n.splice(a+1,1),c=!0)),a++;c&&this.diff_cleanupMerge(n)},t.prototype.diff_xIndex=function(n,r){var a,s=0,i=0,o=0,l=0;for(a=0;a<n.length&&(n[a][0]!==1&&(s+=n[a][1].length),n[a][0]!==-1&&(i+=n[a][1].length),!(s>r));a++)o=s,l=i;return n.length!=a&&n[a][0]===-1?l:l+(r-o)},t.prototype.diff_prettyHtml=function(n){for(var r=[],a=/&/g,s=/</g,i=/>/g,o=/\n/g,l=0;l<n.length;l++){var c=n[l][0],p=n[l][1].replace(a,"&").replace(s,"<").replace(i,">").replace(o,"¶<br>");switch(c){case 1:r[l]='<ins style="background:#e6ffe6;">'+p+"</ins>";break;case-1:r[l]='<del style="background:#ffe6e6;">'+p+"</del>";break;case 0:r[l]="<span>"+p+"</span>"}}return r.join("")},t.prototype.diff_text1=function(n){for(var r=[],a=0;a<n.length;a++)n[a][0]!==1&&(r[a]=n[a][1]);return r.join("")},t.prototype.diff_text2=function(n){for(var r=[],a=0;a<n.length;a++)n[a][0]!==-1&&(r[a]=n[a][1]);return r.join("")},t.prototype.diff_levenshtein=function(n){for(var r=0,a=0,s=0,i=0;i<n.length;i++){var o=n[i][0],l=n[i][1];switch(o){case 1:a+=l.length;break;case-1:s+=l.length;break;case 0:r+=Math.max(a,s),a=0,s=0}}return r+=Math.max(a,s)},t.prototype.diff_toDelta=function(n){for(var r=[],a=0;a<n.length;a++)switch(n[a][0]){case 1:r[a]="+"+encodeURI(n[a][1]);break;case-1:r[a]="-"+n[a][1].length;break;case 0:r[a]="="+n[a][1].length}return r.join(" ").replace(/%20/g," ")},t.prototype.diff_fromDelta=function(n,r){for(var a=[],s=0,i=0,o=r.split(/\t/g),l=0;l<o.length;l++){var c=o[l].substring(1);switch(o[l].charAt(0)){case"+":try{a[s++]=new t.Diff(1,decodeURI(c))}catch{throw new Error("Illegal escape in diff_fromDelta: "+c)}break;case"-":case"=":var p=parseInt(c,10);if(isNaN(p)||p<0)throw new Error("Invalid number in diff_fromDelta: "+c);var d=n.substring(i,i+=p);o[l].charAt(0)=="="?a[s++]=new t.Diff(0,d):a[s++]=new t.Diff(-1,d);break;default:if(o[l])throw new Error("Invalid diff operation in diff_fromDelta: "+o[l])}}if(i!=n.length)throw new Error("Delta length ("+i+") does not equal source text length ("+n.length+").");return a},t.prototype.match_main=function(n,r,a){if(n==null||r==null||a==null)throw new Error("Null input. (match_main)");return a=Math.max(0,Math.min(a,n.length)),n==r?0:n.length?n.substring(a,a+r.length)==r?a:this.match_bitap_(n,r,a):-1},t.prototype.match_bitap_=function(n,r,a){if(r.length>this.Match_MaxBits)throw new Error("Pattern too long for this browser.");var s=this.match_alphabet_(r),i=this;function o(S,C){var D=S/r.length,V=Math.abs(a-C);return i.Match_Distance?D+V/i.Match_Distance:V?1:D}var l=this.Match_Threshold,c=n.indexOf(r,a);c!=-1&&(l=Math.min(o(0,c),l),(c=n.lastIndexOf(r,a+r.length))!=-1&&(l=Math.min(o(0,c),l)));var p,d,m=1<<r.length-1;c=-1;for(var f,h=r.length+n.length,g=0;g<r.length;g++){for(p=0,d=h;p<d;)o(g,a+d)<=l?p=d:h=d,d=Math.floor((h-p)/2+p);h=d;var b=Math.max(1,a-d+1),N=Math.min(a+d,n.length)+r.length,y=Array(N+2);y[N+1]=(1<<g)-1;for(var x=N;x>=b;x--){var v=s[n.charAt(x-1)];if(y[x]=g===0?(y[x+1]<<1|1)&v:(y[x+1]<<1|1)&v|(f[x+1]|f[x])<<1|1|f[x+1],y[x]&m){var E=o(g,x-1);if(E<=l){if(l=E,!((c=x-1)>a))break;b=Math.max(1,2*a-c)}}}if(o(g+1,a)>l)break;f=y}return c},t.prototype.match_alphabet_=function(n){for(var r={},a=0;a<n.length;a++)r[n.charAt(a)]=0;for(a=0;a<n.length;a++)r[n.charAt(a)]|=1<<n.length-a-1;return r},t.prototype.patch_addContext_=function(n,r){if(r.length!=0){if(n.start2===null)throw Error("patch not initialized");for(var a=r.substring(n.start2,n.start2+n.length1),s=0;r.indexOf(a)!=r.lastIndexOf(a)&&a.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)s+=this.Patch_Margin,a=r.substring(n.start2-s,n.start2+n.length1+s);s+=this.Patch_Margin;var i=r.substring(n.start2-s,n.start2);i&&n.diffs.unshift(new t.Diff(0,i));var o=r.substring(n.start2+n.length1,n.start2+n.length1+s);o&&n.diffs.push(new t.Diff(0,o)),n.start1-=i.length,n.start2-=i.length,n.length1+=i.length+o.length,n.length2+=i.length+o.length}},t.prototype.patch_make=function(n,r,a){var s,i;if(typeof n=="string"&&typeof r=="string"&&a===void 0)s=n,(i=this.diff_main(s,r,!0)).length>2&&(this.diff_cleanupSemantic(i),this.diff_cleanupEfficiency(i));else if(n&&typeof n=="object"&&r===void 0&&a===void 0)i=n,s=this.diff_text1(i);else if(typeof n=="string"&&r&&typeof r=="object"&&a===void 0)s=n,i=r;else{if(typeof n!="string"||typeof r!="string"||!a||typeof a!="object")throw new Error("Unknown call format to patch_make.");s=n,i=a}if(i.length===0)return[];for(var o=[],l=new t.patch_obj,c=0,p=0,d=0,m=s,f=s,h=0;h<i.length;h++){var g=i[h][0],b=i[h][1];switch(c||g===0||(l.start1=p,l.start2=d),g){case 1:l.diffs[c++]=i[h],l.length2+=b.length,f=f.substring(0,d)+b+f.substring(d);break;case-1:l.length1+=b.length,l.diffs[c++]=i[h],f=f.substring(0,d)+f.substring(d+b.length);break;case 0:b.length<=2*this.Patch_Margin&&c&&i.length!=h+1?(l.diffs[c++]=i[h],l.length1+=b.length,l.length2+=b.length):b.length>=2*this.Patch_Margin&&c&&(this.patch_addContext_(l,m),o.push(l),l=new t.patch_obj,c=0,m=f,p=d)}g!==1&&(p+=b.length),g!==-1&&(d+=b.length)}return c&&(this.patch_addContext_(l,m),o.push(l)),o},t.prototype.patch_deepCopy=function(n){for(var r=[],a=0;a<n.length;a++){var s=n[a],i=new t.patch_obj;i.diffs=[];for(var o=0;o<s.diffs.length;o++)i.diffs[o]=new t.Diff(s.diffs[o][0],s.diffs[o][1]);i.start1=s.start1,i.start2=s.start2,i.length1=s.length1,i.length2=s.length2,r[a]=i}return r},t.prototype.patch_apply=function(n,r){if(n.length==0)return[r,[]];n=this.patch_deepCopy(n);var a=this.patch_addPadding(n);r=a+r+a,this.patch_splitMax(n);for(var s=0,i=[],o=0;o<n.length;o++){var l,c,p=n[o].start2+s,d=this.diff_text1(n[o].diffs),m=-1;if(d.length>this.Match_MaxBits?(l=this.match_main(r,d.substring(0,this.Match_MaxBits),p))!=-1&&((m=this.match_main(r,d.substring(d.length-this.Match_MaxBits),p+d.length-this.Match_MaxBits))==-1||l>=m)&&(l=-1):l=this.match_main(r,d,p),l==-1)i[o]=!1,s-=n[o].length2-n[o].length1;else if(i[o]=!0,s=l-p,d==(c=m==-1?r.substring(l,l+d.length):r.substring(l,m+this.Match_MaxBits)))r=r.substring(0,l)+this.diff_text2(n[o].diffs)+r.substring(l+d.length);else{var f=this.diff_main(d,c,!1);if(d.length>this.Match_MaxBits&&this.diff_levenshtein(f)/d.length>this.Patch_DeleteThreshold)i[o]=!1;else{this.diff_cleanupSemanticLossless(f);for(var h,g=0,b=0;b<n[o].diffs.length;b++){var N=n[o].diffs[b];N[0]!==0&&(h=this.diff_xIndex(f,g)),N[0]===1?r=r.substring(0,l+h)+N[1]+r.substring(l+h):N[0]===-1&&(r=r.substring(0,l+h)+r.substring(l+this.diff_xIndex(f,g+N[1].length))),N[0]!==-1&&(g+=N[1].length)}}}}return[r=r.substring(a.length,r.length-a.length),i]},t.prototype.patch_addPadding=function(n){for(var r=this.Patch_Margin,a="",s=1;s<=r;s++)a+=String.fromCharCode(s);for(s=0;s<n.length;s++)n[s].start1+=r,n[s].start2+=r;var i=n[0],o=i.diffs;if(o.length==0||o[0][0]!=0)o.unshift(new t.Diff(0,a)),i.start1-=r,i.start2-=r,i.length1+=r,i.length2+=r;else if(r>o[0][1].length){var l=r-o[0][1].length;o[0][1]=a.substring(o[0][1].length)+o[0][1],i.start1-=l,i.start2-=l,i.length1+=l,i.length2+=l}return(o=(i=n[n.length-1]).diffs).length==0||o[o.length-1][0]!=0?(o.push(new t.Diff(0,a)),i.length1+=r,i.length2+=r):r>o[o.length-1][1].length&&(l=r-o[o.length-1][1].length,o[o.length-1][1]+=a.substring(0,l),i.length1+=l,i.length2+=l),a},t.prototype.patch_splitMax=function(n){for(var r=this.Match_MaxBits,a=0;a<n.length;a++)if(!(n[a].length1<=r)){var s=n[a];n.splice(a--,1);for(var i=s.start1,o=s.start2,l="";s.diffs.length!==0;){var c=new t.patch_obj,p=!0;for(c.start1=i-l.length,c.start2=o-l.length,l!==""&&(c.length1=c.length2=l.length,c.diffs.push(new t.Diff(0,l)));s.diffs.length!==0&&c.length1<r-this.Patch_Margin;){var d=s.diffs[0][0],m=s.diffs[0][1];d===1?(c.length2+=m.length,o+=m.length,c.diffs.push(s.diffs.shift()),p=!1):d===-1&&c.diffs.length==1&&c.diffs[0][0]==0&&m.length>2*r?(c.length1+=m.length,i+=m.length,p=!1,c.diffs.push(new t.Diff(d,m)),s.diffs.shift()):(m=m.substring(0,r-c.length1-this.Patch_Margin),c.length1+=m.length,i+=m.length,d===0?(c.length2+=m.length,o+=m.length):p=!1,c.diffs.push(new t.Diff(d,m)),m==s.diffs[0][1]?s.diffs.shift():s.diffs[0][1]=s.diffs[0][1].substring(m.length))}l=(l=this.diff_text2(c.diffs)).substring(l.length-this.Patch_Margin);var f=this.diff_text1(s.diffs).substring(0,this.Patch_Margin);f!==""&&(c.length1+=f.length,c.length2+=f.length,c.diffs.length!==0&&c.diffs[c.diffs.length-1][0]===0?c.diffs[c.diffs.length-1][1]+=f:c.diffs.push(new t.Diff(0,f))),p||n.splice(++a,0,c)}}},t.prototype.patch_toText=function(n){for(var r=[],a=0;a<n.length;a++)r[a]=n[a];return r.join("")},t.prototype.patch_fromText=function(n){var r=[];if(!n)return r;for(var a=n.split(`
|
|
68
|
+
`),s=0,i=/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/;s<a.length;){var o=a[s].match(i);if(!o)throw new Error("Invalid patch string: "+a[s]);var l=new t.patch_obj;for(r.push(l),l.start1=parseInt(o[1],10),o[2]===""?(l.start1--,l.length1=1):o[2]=="0"?l.length1=0:(l.start1--,l.length1=parseInt(o[2],10)),l.start2=parseInt(o[3],10),o[4]===""?(l.start2--,l.length2=1):o[4]=="0"?l.length2=0:(l.start2--,l.length2=parseInt(o[4],10)),s++;s<a.length;){var c=a[s].charAt(0);try{var p=decodeURI(a[s].substring(1))}catch{throw new Error("Illegal escape in patch_fromText: "+p)}if(c=="-")l.diffs.push(new t.Diff(-1,p));else if(c=="+")l.diffs.push(new t.Diff(1,p));else if(c==" ")l.diffs.push(new t.Diff(0,p));else{if(c=="@")break;if(c!=="")throw new Error('Invalid patch mode "'+c+'" in: '+p)}s++}}return r},(t.patch_obj=function(){this.diffs=[],this.start1=null,this.start2=null,this.length1=0,this.length2=0}).prototype.toString=function(){for(var n,r=["@@ -"+(this.length1===0?this.start1+",0":this.length1==1?this.start1+1:this.start1+1+","+this.length1)+" +"+(this.length2===0?this.start2+",0":this.length2==1?this.start2+1:this.start2+1+","+this.length2)+` @@
|
|
69
|
+
`],a=0;a<this.diffs.length;a++){switch(this.diffs[a][0]){case 1:n="+";break;case-1:n="-";break;case 0:n=" "}r[a+1]=n+encodeURI(this.diffs[a][1])+`
|
|
70
|
+
`}return r.join("").replace(/%20/g," ")},e.exports=t,e.exports.diff_match_patch=t,e.exports.DIFF_DELETE=-1,e.exports.DIFF_INSERT=1,e.exports.DIFF_EQUAL=0}),Ld=_n.DIFF_EQUAL,Fd=_n.DIFF_DELETE,Pd=_n.DIFF_INSERT;function qi(e){var t=cs(e,function(r){return!ze(r)});if(t===-1)return[];var n=cs(e,function(r){return!!ze(r)},t);return n===-1?[e.slice(t)]:[e.slice(t,n)].concat(Ee(qi(e.slice(n))))}function ps(e){return e.reduce(function(t,n){var r=X(n,2),a=r[0],s=gi(r[1].split(`
|
|
71
|
+
`).map(function(l){return[a,l]})),i=s[0],o=s.slice(1);return[].concat(Ee(t.slice(0,-1)),[[].concat(Ee(t[t.length-1]),[i])],Ee(o.map(function(l){return[l]})))},[[]])}function lr(e,t){return e.reduce(function(n,r){var a=X(n,2),s=a[0],i=a[1],o=X(r,2),l=o[0],c=o[1];if(l!==Ld){var p={type:"edit",lineNumber:t,start:i,length:c.length};s.push(p)}return[s,i+c.length]},[[],0])[0]}function ds(e,t){return Mr(e,function(n,r){return lr(n,t+r)})}function Xi(e,t){var n=new _n,r=n.diff_main(e,t);return n.diff_cleanupSemantic(r),r.length<=1?[[],[]]:function(a){return a.reduce(function(s,i){var o=X(s,2),l=o[0],c=o[1];switch(X(i,1)[0]){case Pd:c.push(i);break;case Fd:l.push(i);break;default:l.push(i),c.push(i)}return[l,c]},[[],[]])}(r)}function $d(e){var t=e.reduce(function(c,p){var d=X(c,2),m=d[0],f=d[1];return Se(p)?[m+(m?`
|
|
72
|
+
`:"")+p.content,f]:[m,f+(f?`
|
|
73
|
+
`:"")+p.content]},["",""]),n=X(t,2),r=X(Xi(n[0],n[1]),2),a=r[0],s=r[1];if(a.length===0&&s.length===0)return[[],[]];var i=function(c){if(c&&!ze(c))return c.lineNumber},o=i(e.find(Se)),l=i(e.find(qe));if(o===void 0||l===void 0)throw new Error("Could not find start line number for edit");return[ds(ps(a),o),ds(ps(s),l)]}function zd(e){var t=e.reduce(function(r,a){var s=X(r,3),i=s[0],o=s[1],l=s[2];if(!l||!Se(l)||!qe(a))return[i,o,a];var c=X(Xi(l.content,a.content),2),p=c[0],d=c[1];return[i.concat(lr(p,l.lineNumber)),o.concat(lr(d,a.lineNumber)),a]},[[],[],null]),n=X(t,2);return[n[0],n[1]]}function Bd(e){var t=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{}).type,n=(t===void 0?"block":t)==="block"?$d:zd,r=Mr(e.map(function(o){return o.changes}),qi).map(n).reduce(function(o,l){var c=X(o,2),p=c[0],d=c[1],m=X(l,2),f=m[0],h=m[1];return[p.concat(f),d.concat(h)]},[[],[]]),a=X(r,2),s=a[0],i=a[1];return Vd(us(s),us(i))}var Gd=["enhancers"],Ud=function(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=n.enhancers,a=r===void 0?[]:r,s=X(yd(e,We(n,Gd)),2),i=s[0],o=s[1],l=[is(i),is(o)],c=(t=[l[0],l[1]],a.reduce(function(g,b){return b(g)},t)),p=X(c,2),d=p[0],m=p[1],f=[d.map(os),m.map(os)],h=f[1];return{old:f[0].map(function(g){var b;return(b=g.children)!==null&&b!==void 0?b:[]}),new:h.map(function(g){var b;return(b=g.children)!==null&&b!==void 0?b:[]})}};Me.displayName="clike";Me.aliases=[];function Me(e){e.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}}Ut.displayName="c";Ut.aliases=[];function Ut(e){e.register(Me),e.languages.c=e.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),e.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),e.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},e.languages.c.string],char:e.languages.c.char,comment:e.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:e.languages.c}}}}),e.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete e.languages.c.boolean}jn.displayName="cpp";jn.aliases=[];function jn(e){e.register(Ut),function(t){var n=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,r=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,function(){return n.source});t.languages.cpp=t.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,function(){return n.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:n,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),t.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,function(){return r})+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),t.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t.languages.cpp}}}}),t.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),t.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:t.languages.extend("cpp",{})}}),t.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},t.languages.cpp["base-clause"])}(e)}Fr.displayName="arduino";Fr.aliases=["ino"];function Fr(e){e.register(jn),e.languages.arduino=e.languages.extend("cpp",{keyword:/\b(?:String|array|bool|boolean|break|byte|case|catch|continue|default|do|double|else|finally|for|function|goto|if|in|instanceof|int|integer|long|loop|new|null|return|setup|string|switch|throw|try|void|while|word)\b/,constant:/\b(?:ANALOG_MESSAGE|DEFAULT|DIGITAL_MESSAGE|EXTERNAL|FIRMATA_STRING|HIGH|INPUT|INPUT_PULLUP|INTERNAL|INTERNAL1V1|INTERNAL2V56|LED_BUILTIN|LOW|OUTPUT|REPORT_ANALOG|REPORT_DIGITAL|SET_PIN_MODE|SYSEX_START|SYSTEM_RESET)\b/,builtin:/\b(?:Audio|BSSID|Bridge|Client|Console|EEPROM|Esplora|EsploraTFT|Ethernet|EthernetClient|EthernetServer|EthernetUDP|File|FileIO|FileSystem|Firmata|GPRS|GSM|GSMBand|GSMClient|GSMModem|GSMPIN|GSMScanner|GSMServer|GSMVoiceCall|GSM_SMS|HttpClient|IPAddress|IRread|Keyboard|KeyboardController|LiquidCrystal|LiquidCrystal_I2C|Mailbox|Mouse|MouseController|PImage|Process|RSSI|RobotControl|RobotMotor|SD|SPI|SSID|Scheduler|Serial|Server|Servo|SoftwareSerial|Stepper|Stream|TFT|Task|USBHost|WiFi|WiFiClient|WiFiServer|WiFiUDP|Wire|YunClient|YunServer|abs|addParameter|analogRead|analogReadResolution|analogReference|analogWrite|analogWriteResolution|answerCall|attach|attachGPRS|attachInterrupt|attached|autoscroll|available|background|beep|begin|beginPacket|beginSD|beginSMS|beginSpeaker|beginTFT|beginTransmission|beginWrite|bit|bitClear|bitRead|bitSet|bitWrite|blink|blinkVersion|buffer|changePIN|checkPIN|checkPUK|checkReg|circle|cityNameRead|cityNameWrite|clear|clearScreen|click|close|compassRead|config|connect|connected|constrain|cos|countryNameRead|countryNameWrite|createChar|cursor|debugPrint|delay|delayMicroseconds|detach|detachInterrupt|digitalRead|digitalWrite|disconnect|display|displayLogos|drawBMP|drawCompass|encryptionType|end|endPacket|endSMS|endTransmission|endWrite|exists|exitValue|fill|find|findUntil|flush|gatewayIP|get|getAsynchronously|getBand|getButton|getCurrentCarrier|getIMEI|getKey|getModifiers|getOemKey|getPINUsed|getResult|getSignalStrength|getSocket|getVoiceCallStatus|getXChange|getYChange|hangCall|height|highByte|home|image|interrupts|isActionDone|isDirectory|isListening|isPIN|isPressed|isValid|keyPressed|keyReleased|keyboardRead|knobRead|leftToRight|line|lineFollowConfig|listen|listenOnLocalhost|loadImage|localIP|lowByte|macAddress|maintain|map|max|messageAvailable|micros|millis|min|mkdir|motorsStop|motorsWrite|mouseDragged|mouseMoved|mousePressed|mouseReleased|move|noAutoscroll|noBlink|noBuffer|noCursor|noDisplay|noFill|noInterrupts|noListenOnLocalhost|noStroke|noTone|onReceive|onRequest|open|openNextFile|overflow|parseCommand|parseFloat|parseInt|parsePacket|pauseMode|peek|pinMode|playFile|playMelody|point|pointTo|position|pow|prepare|press|print|printFirmwareVersion|printVersion|println|process|processInput|pulseIn|put|random|randomSeed|read|readAccelerometer|readBlue|readButton|readBytes|readBytesUntil|readGreen|readJoystickButton|readJoystickSwitch|readJoystickX|readJoystickY|readLightSensor|readMessage|readMicrophone|readNetworks|readRed|readSlider|readString|readStringUntil|readTemperature|ready|rect|release|releaseAll|remoteIP|remoteNumber|remotePort|remove|requestFrom|retrieveCallingNumber|rewindDirectory|rightToLeft|rmdir|robotNameRead|robotNameWrite|run|runAsynchronously|runShellCommand|runShellCommandAsynchronously|running|scanNetworks|scrollDisplayLeft|scrollDisplayRight|seek|sendAnalog|sendDigitalPortPair|sendDigitalPorts|sendString|sendSysex|serialEvent|setBand|setBitOrder|setClockDivider|setCursor|setDNS|setDataMode|setFirmwareVersion|setMode|setPINUsed|setSpeed|setTextSize|setTimeout|shiftIn|shiftOut|shutdown|sin|size|sqrt|startLoop|step|stop|stroke|subnetMask|switchPIN|tan|tempoWrite|text|tone|transfer|tuneWrite|turn|updateIR|userNameRead|userNameWrite|voiceCall|waitContinue|width|write|writeBlue|writeGreen|writeJSON|writeMessage|writeMicroseconds|writeRGB|writeRed|yield)\b/}),e.languages.ino=e.languages.arduino}Pr.displayName="bash";Pr.aliases=["sh","shell"];function Pr(e){(function(t){var n="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",r={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},a={bash:r,environment:{pattern:RegExp("\\$"+n),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+n),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};t.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+n),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:a},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:r}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:a},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:a.entity}}],environment:{pattern:RegExp("\\$?"+n),alias:"constant"},variable:a.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},r.inside=t.languages.bash;for(var s=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],i=a.variable[1].inside,o=0;o<s.length;o++)i[s[o]]=t.languages.bash[s[o]];t.languages.sh=t.languages.bash,t.languages.shell=t.languages.bash})(e)}$r.displayName="csharp";$r.aliases=["cs","dotnet"];function $r(e){e.register(Me),function(t){function n(T,G){return T.replace(/<<(\d+)>>/g,function(Z,ce){return"(?:"+G[+ce]+")"})}function r(T,G,Z){return RegExp(n(T,G),"")}function a(T,G){for(var Z=0;Z<G;Z++)T=T.replace(/<<self>>/g,function(){return"(?:"+T+")"});return T.replace(/<<self>>/g,"[^\\s\\S]")}var s={type:"bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",typeDeclaration:"class enum interface record struct",contextual:"add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)",other:"abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield"};function i(T){return"\\b(?:"+T.trim().replace(/ /g,"|")+")\\b"}var o=i(s.typeDeclaration),l=RegExp(i(s.type+" "+s.typeDeclaration+" "+s.contextual+" "+s.other)),c=i(s.typeDeclaration+" "+s.contextual+" "+s.other),p=i(s.type+" "+s.typeDeclaration+" "+s.other),d=a(/<(?:[^<>;=+\-*/%&|^]|<<self>>)*>/.source,2),m=a(/\((?:[^()]|<<self>>)*\)/.source,2),f=/@?\b[A-Za-z_]\w*\b/.source,h=n(/<<0>>(?:\s*<<1>>)?/.source,[f,d]),g=n(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source,[c,h]),b=/\[\s*(?:,\s*)*\]/.source,N=n(/<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,[g,b]),y=n(/[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,[d,m,b]),x=n(/\(<<0>>+(?:,<<0>>+)+\)/.source,[y]),v=n(/(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,[x,g,b]),E={keyword:l,punctuation:/[<>()?,.:[\]]/},S=/'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source,C=/"(?:\\.|[^\\"\r\n])*"/.source,D=/@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;t.languages.csharp=t.languages.extend("clike",{string:[{pattern:r(/(^|[^$\\])<<0>>/.source,[D]),lookbehind:!0,greedy:!0},{pattern:r(/(^|[^@$\\])<<0>>/.source,[C]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:r(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source,[g]),lookbehind:!0,inside:E},{pattern:r(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source,[f,v]),lookbehind:!0,inside:E},{pattern:r(/(\busing\s+)<<0>>(?=\s*=)/.source,[f]),lookbehind:!0},{pattern:r(/(\b<<0>>\s+)<<1>>/.source,[o,h]),lookbehind:!0,inside:E},{pattern:r(/(\bcatch\s*\(\s*)<<0>>/.source,[g]),lookbehind:!0,inside:E},{pattern:r(/(\bwhere\s+)<<0>>/.source,[f]),lookbehind:!0},{pattern:r(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source,[N]),lookbehind:!0,inside:E},{pattern:r(/\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/.source,[v,p,f]),inside:E}],keyword:l,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),t.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),t.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:r(/([(,]\s*)<<0>>(?=\s*:)/.source,[f]),lookbehind:!0,alias:"punctuation"}}),t.languages.insertBefore("csharp","class-name",{namespace:{pattern:r(/(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,[f]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:r(/(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/.source,[m]),lookbehind:!0,alias:"class-name",inside:E},"return-type":{pattern:r(/<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,[v,g]),inside:E,alias:"class-name"},"constructor-invocation":{pattern:r(/(\bnew\s+)<<0>>(?=\s*[[({])/.source,[v]),lookbehind:!0,inside:E,alias:"class-name"},"generic-method":{pattern:r(/<<0>>\s*<<1>>(?=\s*\()/.source,[f,d]),inside:{function:r(/^<<0>>/.source,[f]),generic:{pattern:RegExp(d),alias:"class-name",inside:E}}},"type-list":{pattern:r(/\b((?:<<0>>\s+<<1>>|record\s+<<1>>\s*<<5>>|where\s+<<2>>)\s*:\s*)(?:<<3>>|<<4>>|<<1>>\s*<<5>>|<<6>>)(?:\s*,\s*(?:<<3>>|<<4>>|<<6>>))*(?=\s*(?:where|[{;]|=>|$))/.source,[o,h,f,v,l.source,m,/\bnew\s*\(\s*\)/.source]),lookbehind:!0,inside:{"record-arguments":{pattern:r(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source,[h,m]),lookbehind:!0,greedy:!0,inside:t.languages.csharp},keyword:l,"class-name":{pattern:RegExp(v),greedy:!0,inside:E},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var V=C+"|"+S,A=n(/\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,[V]),j=a(n(/[^"'/()]|<<0>>|\(<<self>>*\)/.source,[A]),2),L=/\b(?:assembly|event|field|method|module|param|property|return|type)\b/.source,R=n(/<<0>>(?:\s*\(<<1>>*\))?/.source,[g,j]);t.languages.insertBefore("csharp","class-name",{attribute:{pattern:r(/((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/.source,[L,R]),lookbehind:!0,greedy:!0,inside:{target:{pattern:r(/^<<0>>(?=\s*:)/.source,[L]),alias:"keyword"},"attribute-arguments":{pattern:r(/\(<<0>>*\)/.source,[j]),inside:t.languages.csharp},"class-name":{pattern:RegExp(g),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var $=/:[^}\r\n]+/.source,W=a(n(/[^"'/()]|<<0>>|\(<<self>>*\)/.source,[A]),2),Y=n(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[W,$]),k=a(n(/[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<<self>>*\)/.source,[V]),2),_=n(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[k,$]);function U(T,G){return{interpolation:{pattern:r(/((?:^|[^{])(?:\{\{)*)<<0>>/.source,[T]),lookbehind:!0,inside:{"format-string":{pattern:r(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source,[G,$]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:t.languages.csharp}}},string:/[\s\S]+/}}t.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:r(/(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,[Y]),lookbehind:!0,greedy:!0,inside:U(Y,W)},{pattern:r(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source,[_]),lookbehind:!0,greedy:!0,inside:U(_,k)}],char:{pattern:RegExp(S),greedy:!0}}),t.languages.dotnet=t.languages.cs=t.languages.csharp}(e)}Ht.displayName="markup";Ht.aliases=["atom","html","mathml","rss","ssml","svg","xml"];function Ht(e){e.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},e.languages.markup.tag.inside["attr-value"].inside.entity=e.languages.markup.entity,e.languages.markup.doctype.inside["internal-subset"].inside=e.languages.markup,e.hooks.add("wrap",function(t){t.type==="entity"&&(t.attributes.title=t.content.value.replace(/&/,"&"))}),Object.defineProperty(e.languages.markup.tag,"addInlined",{value:function(n,r){var a={};a["language-"+r]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:e.languages[r]},a.cdata=/^<!\[CDATA\[|\]\]>$/i;var s={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:a}};s["language-"+r]={pattern:/[\s\S]+/,inside:e.languages[r]};var i={};i[n]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return n}),"i"),lookbehind:!0,greedy:!0,inside:s},e.languages.insertBefore("markup","cdata",i)}}),Object.defineProperty(e.languages.markup.tag,"addAttribute",{value:function(t,n){e.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+t+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[n,"language-"+n],inside:e.languages[n]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),e.languages.html=e.languages.markup,e.languages.mathml=e.languages.markup,e.languages.svg=e.languages.markup,e.languages.xml=e.languages.extend("markup",{}),e.languages.ssml=e.languages.xml,e.languages.atom=e.languages.xml,e.languages.rss=e.languages.xml}St.displayName="css";St.aliases=[];function St(e){(function(t){var n=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;t.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+n.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+n.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+n.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+n.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:n,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},t.languages.css.atrule.inside.rest=t.languages.css;var r=t.languages.markup;r&&(r.tag.addInlined("style","css"),r.tag.addAttribute("style","css"))})(e)}zr.displayName="diff";zr.aliases=[];function zr(e){(function(t){t.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var n={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(n).forEach(function(r){var a=n[r],s=[];/^\w+$/.test(r)||s.push(/\w+/.exec(r)[0]),r==="diff"&&s.push("bold"),t.languages.diff[r]={pattern:RegExp("^(?:["+a+`].*(?:\r
|
|
74
|
+
?|
|
|
75
|
+
|(?![\\s\\S])))+`,"m"),alias:s,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(r)[0]}}}}),Object.defineProperty(t.languages.diff,"PREFIXES",{value:n})})(e)}Br.displayName="go";Br.aliases=[];function Br(e){e.register(Me),e.languages.go=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),e.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete e.languages.go["class-name"]}Gr.displayName="ini";Gr.aliases=[];function Gr(e){e.languages.ini={comment:{pattern:/(^[ \f\t\v]*)[#;][^\n\r]*/m,lookbehind:!0},section:{pattern:/(^[ \f\t\v]*)\[[^\n\r\]]*\]?/m,lookbehind:!0,inside:{"section-name":{pattern:/(^\[[ \f\t\v]*)[^ \f\t\v\]]+(?:[ \f\t\v]+[^ \f\t\v\]]+)*/,lookbehind:!0,alias:"selector"},punctuation:/\[|\]/}},key:{pattern:/(^[ \f\t\v]*)[^ \f\n\r\t\v=]+(?:[ \f\t\v]+[^ \f\n\r\t\v=]+)*(?=[ \f\t\v]*=)/m,lookbehind:!0,alias:"attr-name"},value:{pattern:/(=[ \f\t\v]*)[^ \f\n\r\t\v]+(?:[ \f\t\v]+[^ \f\n\r\t\v]+)*/,lookbehind:!0,alias:"attr-value",inside:{"inner-value":{pattern:/^("|').+(?=\1$)/,lookbehind:!0}}},punctuation:/=/}}Ur.displayName="java";Ur.aliases=[];function Ur(e){e.register(Me),function(t){var n=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,r=/(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,a={pattern:RegExp(/(^|[^\w.])/.source+r+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};t.languages.java=t.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[a,{pattern:RegExp(/(^|[^\w.])/.source+r+/[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),lookbehind:!0,inside:a.inside},{pattern:RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source+r+/[A-Z]\w*\b/.source),lookbehind:!0,inside:a.inside}],keyword:n,function:[t.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),t.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),t.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":a,keyword:n,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\bimport\s+)/.source+r+/(?:[A-Z]\w*|\*)(?=\s*;)/.source),lookbehind:!0,inside:{namespace:a.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(/(\bimport\s+static\s+)/.source+r+/(?:\w+|\*)(?=\s*;)/.source),lookbehind:!0,alias:"static",inside:{namespace:a.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!<keyword>)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(/<keyword>/g,function(){return n.source})),lookbehind:!0,inside:{punctuation:/\./}}})}(e)}Hr.displayName="regex";Hr.aliases=[];function Hr(e){(function(t){var n={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},r=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/,a={pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},s={pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},i="(?:[^\\\\-]|"+r.source+")",o=RegExp(i+"-"+i),l={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"};t.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:o,inside:{escape:r,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":n,"char-set":s,escape:r}},"special-escape":n,"char-set":a,backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":l}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:r,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":l}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}}})(e)}On.displayName="javascript";On.aliases=["js"];function On(e){e.register(Me),e.languages.javascript=e.languages.extend("clike",{"class-name":[e.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),e.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,e.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:e.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:e.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:e.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:e.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:e.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),e.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:e.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),e.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),e.languages.markup&&(e.languages.markup.tag.addInlined("script","javascript"),e.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),e.languages.js=e.languages.javascript}Kr.displayName="json";Kr.aliases=["webmanifest"];function Kr(e){e.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},e.languages.webmanifest=e.languages.json}Wr.displayName="kotlin";Wr.aliases=["kt","kts"];function Wr(e){e.register(Me),function(t){t.languages.kotlin=t.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete t.languages.kotlin["class-name"];var n={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:t.languages.kotlin}};t.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:n},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:n},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete t.languages.kotlin.string,t.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),t.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),t.languages.kt=t.languages.kotlin,t.languages.kts=t.languages.kotlin}(e)}Yr.displayName="less";Yr.aliases=[];function Yr(e){e.register(St),e.languages.less=e.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),e.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}})}qr.displayName="lua";qr.aliases=[];function qr(e){e.languages.lua={comment:/^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[^z]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,greedy:!0},number:/\b0x[a-f\d]+(?:\.[a-f\d]*)?(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|(?:\.\d*)?(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,keyword:/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,function:/(?!\d)\w+(?=\s*(?:[({]))/,operator:[/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\.\.(?!\.)/,lookbehind:!0}],punctuation:/[\[\](){},;]|\.+|:+/}}Xr.displayName="makefile";Xr.aliases=[];function Xr(e){e.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/}}Zr.displayName="yaml";Zr.aliases=["yml"];function Zr(e){(function(t){var n=/[*&][^\s[\]{},]+/,r=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,a="(?:"+r.source+"(?:[ ]+"+n.source+")?|"+n.source+"(?:[ ]+"+r.source+")?)",s=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source}),i=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function o(l,c){c=(c||"").replace(/m/g,"")+"m";var p=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,function(){return a}).replace(/<<value>>/g,function(){return l});return RegExp(p,c)}t.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,function(){return a})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,function(){return a}).replace(/<<key>>/g,function(){return"(?:"+s+"|"+i+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:o(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:o(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:o(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:o(i),lookbehind:!0,greedy:!0},number:{pattern:o(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:r,important:n,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},t.languages.yml=t.languages.yaml})(e)}Qr.displayName="markdown";Qr.aliases=["md"];function Qr(e){e.register(Ht),function(t){var n=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function r(o){return o=o.replace(/<inner>/g,function(){return n}),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+o+")")}var a=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,s=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,function(){return a}),i=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;t.languages.markdown=t.languages.extend("markup",{}),t.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:t.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+s+i+"(?:"+s+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+s+i+")(?:"+s+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(a),inside:t.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+s+")"+i+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+s+"$"),inside:{"table-header":{pattern:RegExp(a),alias:"important",inside:t.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:r(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:r(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:r(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:r(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(o){["url","bold","italic","strike","code-snippet"].forEach(function(l){o!==l&&(t.languages.markdown[o].inside.content.inside[l]=t.languages.markdown[l])})}),t.hooks.add("after-tokenize",function(o){if(o.language!=="markdown"&&o.language!=="md")return;function l(c){if(!(!c||typeof c=="string"))for(var p=0,d=c.length;p<d;p++){var m=c[p];if(m.type!=="code"){l(m.content);continue}var f=m.content[1],h=m.content[3];if(f&&h&&f.type==="code-language"&&h.type==="code-block"&&typeof f.content=="string"){var g=f.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp");g=(/[a-z][\w-]*/i.exec(g)||[""])[0].toLowerCase();var b="language-"+g;h.alias?typeof h.alias=="string"?h.alias=[h.alias,b]:h.alias.push(b):h.alias=[b]}}}l(o.tokens)}),t.hooks.add("wrap",function(o){if(o.type==="code-block"){for(var l="",c=0,p=o.classes.length;c<p;c++){var d=o.classes[c],m=/language-(.+)/.exec(d);if(m){l=m[1];break}}var f=t.languages[l];if(f)o.content=t.highlight(o.content.value,f,l);else if(l&&l!=="none"&&t.plugins.autoloader){var h="md-"+new Date().valueOf()+"-"+Math.floor(Math.random()*1e16);o.attributes.id=h,t.plugins.autoloader.loadLanguages(l,function(){var g=document.getElementById(h);g&&(g.innerHTML=t.highlight(g.textContent,t.languages[l],l))})}}}),RegExp(t.languages.markup.tag.pattern.source,"gi"),t.languages.md=t.languages.markdown}(e)}Jr.displayName="objectivec";Jr.aliases=["objc"];function Jr(e){e.register(Ut),e.languages.objectivec=e.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete e.languages.objectivec["class-name"],e.languages.objc=e.languages.objectivec}ea.displayName="perl";ea.aliases=[];function ea(e){(function(t){var n=/(?:\((?:[^()\\]|\\[\s\S])*\)|\{(?:[^{}\\]|\\[\s\S])*\}|\[(?:[^[\]\\]|\\[\s\S])*\]|<(?:[^<>\\]|\\[\s\S])*>)/.source;t.languages.perl={comment:[{pattern:/(^\s*)=\w[\s\S]*?=cut.*/m,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\$])#.*/,lookbehind:!0,greedy:!0}],string:[{pattern:RegExp(/\b(?:q|qq|qw|qx)(?![a-zA-Z0-9])\s*/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2/.source,n].join("|")+")"),greedy:!0},{pattern:/("|`)(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0},{pattern:/'(?:[^'\\\r\n]|\\.)*'/,greedy:!0}],regex:[{pattern:RegExp(/\b(?:m|qr)(?![a-zA-Z0-9])\s*/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2/.source,n].join("|")+")"+/[msixpodualngc]*/.source),greedy:!0},{pattern:RegExp(/(^|[^-])\b(?:s|tr|y)(?![a-zA-Z0-9])\s*/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\\[\s\S])*\2/.source,/([a-zA-Z0-9])(?:(?!\3)[^\\]|\\[\s\S])*\3(?:(?!\3)[^\\]|\\[\s\S])*\3/.source,n+/\s*/.source+n].join("|")+")"+/[msixpodualngcer]*/.source),lookbehind:!0,greedy:!0},{pattern:/\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|x|xor)\b))/,greedy:!0}],variable:[/[&*$@%]\{\^[A-Z]+\}/,/[&*$@%]\^[A-Z_]/,/[&*$@%]#?(?=\{)/,/[&*$@%]#?(?:(?:::)*'?(?!\d)[\w$]+(?![\w$]))+(?:::)*/,/[&*$@%]\d+/,/(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/],filehandle:{pattern:/<(?![<=])\S*?>|\b_\b/,alias:"symbol"},"v-string":{pattern:/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/,alias:"string"},function:{pattern:/(\bsub[ \t]+)\w+/,lookbehind:!0},keyword:/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/,number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/,operator:/-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)\b/,punctuation:/[{}[\];(),:]/}})(e)}Vn.displayName="markup-templating";Vn.aliases=[];function Vn(e){e.register(Ht),function(t){function n(r,a){return"___"+r.toUpperCase()+a+"___"}Object.defineProperties(t.languages["markup-templating"]={},{buildPlaceholders:{value:function(r,a,s,i){if(r.language===a){var o=r.tokenStack=[];r.code=r.code.replace(s,function(l){if(typeof i=="function"&&!i(l))return l;for(var c=o.length,p;r.code.indexOf(p=n(a,c))!==-1;)++c;return o[c]=l,p}),r.grammar=t.languages.markup}}},tokenizePlaceholders:{value:function(r,a){if(r.language!==a||!r.tokenStack)return;r.grammar=t.languages[a];var s=0,i=Object.keys(r.tokenStack);function o(l){for(var c=0;c<l.length&&!(s>=i.length);c++){var p=l[c];if(typeof p=="string"||p.content&&typeof p.content=="string"){var d=i[s],m=r.tokenStack[d],f=typeof p=="string"?p:p.content,h=n(a,d),g=f.indexOf(h);if(g>-1){++s;var b=f.substring(0,g),N=new t.Token(a,t.tokenize(m,r.grammar),"language-"+a,m),y=f.substring(g+h.length),x=[];b&&x.push.apply(x,o([b])),x.push(N),y&&x.push.apply(x,o([y])),typeof p=="string"?l.splice.apply(l,[c,1].concat(x)):p.content=x}}else p.content&&o(p.content)}return l}o(r.tokens)}}})}(e)}ta.displayName="php";ta.aliases=[];function ta(e){e.register(Vn),function(t){var n=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,r=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],a=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,s=/<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,i=/[{}\[\](),:;]/;t.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:n,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:r,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:a,operator:s,punctuation:i};var o={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:t.languages.php},l=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:o}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:o}}];t.languages.insertBefore("php","variable",{string:l,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:n,string:l,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:r,number:a,operator:s,punctuation:i}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),t.hooks.add("before-tokenize",function(c){if(/<\?/.test(c.code)){var p=/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g;t.languages["markup-templating"].buildPlaceholders(c,"php",p)}}),t.hooks.add("after-tokenize",function(c){t.languages["markup-templating"].tokenizePlaceholders(c,"php")})}(e)}na.displayName="python";na.aliases=["py"];function na(e){e.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern://,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},e.languages.python["string-interpolation"].inside.interpolation.inside.rest=e.languages.python,e.languages.py=e.languages.python}ra.displayName="r";ra.aliases=[];function ra(e){e.languages.r={comment:/#.*/,string:{pattern:/(['"])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},"percent-operator":{pattern:/%[^%\s]*%/,alias:"operator"},boolean:/\b(?:FALSE|TRUE)\b/,ellipsis:/\.\.(?:\.|\d+)/,number:[/\b(?:Inf|NaN)\b/,/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+(?:\.\d*)?|\B\.\d+)(?:[EePp][+-]?\d+)?[iL]?/],keyword:/\b(?:NA|NA_character_|NA_complex_|NA_integer_|NA_real_|NULL|break|else|for|function|if|in|next|repeat|while)\b/,operator:/->?>?|<(?:=|<?-)?|[>=!]=?|::?|&&?|\|\|?|[+*\/^$@~]/,punctuation:/[(){}\[\],;]/}}aa.displayName="ruby";aa.aliases=["rb"];function aa(e){e.register(Me),function(t){t.languages.ruby=t.languages.extend("clike",{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),t.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var n={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:t.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}};delete t.languages.ruby.function;var r="(?:"+[/([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,/\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,/\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,/<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source].join("|")+")",a=/(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/.source;t.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp(/%r/.source+r+/[egimnosux]{0,6}/.source),greedy:!0,inside:{interpolation:n,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:n,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(/(^|[^:]):/.source+a),lookbehind:!0,greedy:!0},{pattern:RegExp(/([\r\n{(,][ \t]*)/.source+a+/(?=:(?!:))/.source),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),t.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp(/%[qQiIwWs]?/.source+r),greedy:!0,inside:{interpolation:n,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:n,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:n,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(/%x/.source+r),greedy:!0,inside:{interpolation:n,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:n,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete t.languages.ruby.string,t.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),t.languages.rb=t.languages.ruby}(e)}sa.displayName="rust";sa.aliases=[];function sa(e){(function(t){for(var n=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,r=0;r<2;r++)n=n.replace(/<self>/g,function(){return n});n=n.replace(/<self>/g,function(){return/[^\s\S]/.source}),t.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+n),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},t.languages.rust["closure-params"].inside.rest=t.languages.rust,t.languages.rust.attribute.inside.string=t.languages.rust.string})(e)}ia.displayName="sass";ia.aliases=[];function ia(e){e.register(St),function(t){t.languages.sass=t.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),t.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete t.languages.sass.atrule;var n=/\$[-\w]+|#\{\$[-\w]+\}/,r=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];t.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:n,operator:r}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:n,operator:r,important:t.languages.sass.important}}}),delete t.languages.sass.property,delete t.languages.sass.important,t.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(e)}oa.displayName="scss";oa.aliases=[];function oa(e){e.register(St),e.languages.scss=e.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),e.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),e.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),e.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),e.languages.scss.atrule.inside.rest=e.languages.scss}la.displayName="sql";la.aliases=[];function la(e){e.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}}ua.displayName="swift";ua.aliases=[];function ua(e){e.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+(/(?:elseif|if)\b/.source+"(?:[ ]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+")+"|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},e.languages.swift["string-literal"].forEach(function(t){t.inside.interpolation.inside=e.languages.swift})}ca.displayName="typescript";ca.aliases=["ts"];function ca(e){e.register(On),function(t){t.languages.typescript=t.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),t.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete t.languages.typescript.parameter,delete t.languages.typescript["literal-property"];var n=t.languages.extend("typescript",{});delete n["class-name"],t.languages.typescript["class-name"].inside=n,t.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:n}}}}),t.languages.ts=t.languages.typescript}(e)}Mn.displayName="basic";Mn.aliases=[];function Mn(e){e.languages.basic={comment:{pattern:/(?:!|REM\b).+/i,inside:{keyword:/^REM/i}},string:{pattern:/"(?:""|[!#$%&'()*,\/:;<=>?^\w +\-.])*"/,greedy:!0},number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,keyword:/\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SELECT CASE|SHARED|SHELL|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|\b)/i,function:/\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\$|\b)/i,operator:/<[=>]?|>=?|[+\-*\/^=&]|\b(?:AND|EQV|IMP|NOT|OR|XOR)\b/i,punctuation:/[,;:()]/}}pa.displayName="vbnet";pa.aliases=[];function pa(e){e.register(Mn),e.languages.vbnet=e.languages.extend("basic",{comment:[{pattern:/(?:!|REM\b).+/i,inside:{keyword:/^REM/i}},{pattern:/(^|[^\\:])'.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(^|[^"])"(?:""|[^"])*"(?!")/,lookbehind:!0,greedy:!0},keyword:/(?:\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDBL|CDEC|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LET|LIB|LIKE|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPERATOR|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHELL|SHORT|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SWAP|SYNCLOCK|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\$|\b)/i,punctuation:/[,;:(){}]/})}class Kt{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}}Kt.prototype.normal={};Kt.prototype.property={};Kt.prototype.space=void 0;function Zi(e,t){const n={},r={};for(const a of e)Object.assign(n,a.property),Object.assign(r,a.normal);return new Kt(n,r,t)}function zt(e){return e.toLowerCase()}class ve{constructor(t,n){this.attribute=n,this.property=t}}ve.prototype.attribute="";ve.prototype.booleanish=!1;ve.prototype.boolean=!1;ve.prototype.commaOrSpaceSeparated=!1;ve.prototype.commaSeparated=!1;ve.prototype.defined=!1;ve.prototype.mustUseProperty=!1;ve.prototype.number=!1;ve.prototype.overloadedBoolean=!1;ve.prototype.property="";ve.prototype.spaceSeparated=!1;ve.prototype.space=void 0;let Hd=0;const K=it(),ue=it(),ur=it(),I=it(),ae=it(),gt=it(),we=it();function it(){return 2**++Hd}const cr=Object.freeze(Object.defineProperty({__proto__:null,boolean:K,booleanish:ue,commaOrSpaceSeparated:we,commaSeparated:gt,number:I,overloadedBoolean:ur,spaceSeparated:ae},Symbol.toStringTag,{value:"Module"})),Yn=Object.keys(cr);class da extends ve{constructor(t,n,r,a){let s=-1;if(super(t,n),ms(this,"space",a),typeof r=="number")for(;++s<Yn.length;){const i=Yn[s];ms(this,Yn[s],(r&cr[i])===cr[i])}}}da.prototype.defined=!0;function ms(e,t,n){n&&(e[t]=n)}function Dt(e){const t={},n={};for(const[r,a]of Object.entries(e.properties)){const s=new da(r,e.transform(e.attributes||{},r),a,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(s.mustUseProperty=!0),t[r]=s,n[zt(r)]=r,n[zt(s.attribute)]=r}return new Kt(t,n,e.space)}const Qi=Dt({properties:{ariaActiveDescendant:null,ariaAtomic:ue,ariaAutoComplete:null,ariaBusy:ue,ariaChecked:ue,ariaColCount:I,ariaColIndex:I,ariaColSpan:I,ariaControls:ae,ariaCurrent:null,ariaDescribedBy:ae,ariaDetails:null,ariaDisabled:ue,ariaDropEffect:ae,ariaErrorMessage:null,ariaExpanded:ue,ariaFlowTo:ae,ariaGrabbed:ue,ariaHasPopup:null,ariaHidden:ue,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:ae,ariaLevel:I,ariaLive:null,ariaModal:ue,ariaMultiLine:ue,ariaMultiSelectable:ue,ariaOrientation:null,ariaOwns:ae,ariaPlaceholder:null,ariaPosInSet:I,ariaPressed:ue,ariaReadOnly:ue,ariaRelevant:null,ariaRequired:ue,ariaRoleDescription:ae,ariaRowCount:I,ariaRowIndex:I,ariaRowSpan:I,ariaSelected:ue,ariaSetSize:I,ariaSort:null,ariaValueMax:I,ariaValueMin:I,ariaValueNow:I,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function Ji(e,t){return t in e?e[t]:t}function eo(e,t){return Ji(e,t.toLowerCase())}const Kd=Dt({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:gt,acceptCharset:ae,accessKey:ae,action:null,allow:null,allowFullScreen:K,allowPaymentRequest:K,allowUserMedia:K,alt:null,as:null,async:K,autoCapitalize:null,autoComplete:ae,autoFocus:K,autoPlay:K,blocking:ae,capture:null,charSet:null,checked:K,cite:null,className:ae,cols:I,colSpan:null,content:null,contentEditable:ue,controls:K,controlsList:ae,coords:I|gt,crossOrigin:null,data:null,dateTime:null,decoding:null,default:K,defer:K,dir:null,dirName:null,disabled:K,download:ur,draggable:ue,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:K,formTarget:null,headers:ae,height:I,hidden:ur,high:I,href:null,hrefLang:null,htmlFor:ae,httpEquiv:ae,id:null,imageSizes:null,imageSrcSet:null,inert:K,inputMode:null,integrity:null,is:null,isMap:K,itemId:null,itemProp:ae,itemRef:ae,itemScope:K,itemType:ae,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:K,low:I,manifest:null,max:null,maxLength:I,media:null,method:null,min:null,minLength:I,multiple:K,muted:K,name:null,nonce:null,noModule:K,noValidate:K,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:K,optimum:I,pattern:null,ping:ae,placeholder:null,playsInline:K,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:K,referrerPolicy:null,rel:ae,required:K,reversed:K,rows:I,rowSpan:I,sandbox:ae,scope:null,scoped:K,seamless:K,selected:K,shadowRootClonable:K,shadowRootDelegatesFocus:K,shadowRootMode:null,shape:null,size:I,sizes:null,slot:null,span:I,spellCheck:ue,src:null,srcDoc:null,srcLang:null,srcSet:null,start:I,step:null,style:null,tabIndex:I,target:null,title:null,translate:null,type:null,typeMustMatch:K,useMap:null,value:ue,width:I,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:ae,axis:null,background:null,bgColor:null,border:I,borderColor:null,bottomMargin:I,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:K,declare:K,event:null,face:null,frame:null,frameBorder:null,hSpace:I,leftMargin:I,link:null,longDesc:null,lowSrc:null,marginHeight:I,marginWidth:I,noResize:K,noHref:K,noShade:K,noWrap:K,object:null,profile:null,prompt:null,rev:null,rightMargin:I,rules:null,scheme:null,scrolling:ue,standby:null,summary:null,text:null,topMargin:I,valueType:null,version:null,vAlign:null,vLink:null,vSpace:I,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:K,disableRemotePlayback:K,prefix:null,property:null,results:I,security:null,unselectable:null},space:"html",transform:eo}),Wd=Dt({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:we,accentHeight:I,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:I,amplitude:I,arabicForm:null,ascent:I,attributeName:null,attributeType:null,azimuth:I,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:I,by:null,calcMode:null,capHeight:I,className:ae,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:I,diffuseConstant:I,direction:null,display:null,dur:null,divisor:I,dominantBaseline:null,download:K,dx:null,dy:null,edgeMode:null,editable:null,elevation:I,enableBackground:null,end:null,event:null,exponent:I,externalResourcesRequired:null,fill:null,fillOpacity:I,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:gt,g2:gt,glyphName:gt,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:I,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:I,horizOriginX:I,horizOriginY:I,id:null,ideographic:I,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:I,k:I,k1:I,k2:I,k3:I,k4:I,kernelMatrix:we,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:I,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:I,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:I,overlineThickness:I,paintOrder:null,panose1:null,path:null,pathLength:I,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:ae,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:I,pointsAtY:I,pointsAtZ:I,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:we,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:we,rev:we,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:we,requiredFeatures:we,requiredFonts:we,requiredFormats:we,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:I,specularExponent:I,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:I,strikethroughThickness:I,string:null,stroke:null,strokeDashArray:we,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:I,strokeOpacity:I,strokeWidth:null,style:null,surfaceScale:I,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:we,tabIndex:I,tableValues:null,target:null,targetX:I,targetY:I,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:we,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:I,underlineThickness:I,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:I,values:null,vAlphabetic:I,vMathematical:I,vectorEffect:null,vHanging:I,vIdeographic:I,version:null,vertAdvY:I,vertOriginX:I,vertOriginY:I,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:I,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:Ji}),to=Dt({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}}),no=Dt({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:eo}),ro=Dt({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),Yd=/[A-Z]/g,hs=/-[a-z]/g,qd=/^data[-\w.:]+$/i;function Xd(e,t){const n=zt(t);let r=t,a=ve;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&qd.test(t)){if(t.charAt(4)==="-"){const s=t.slice(5).replace(hs,Qd);r="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=t.slice(4);if(!hs.test(s)){let i=s.replace(Yd,Zd);i.charAt(0)!=="-"&&(i="-"+i),t="data"+i}}a=da}return new a(r,t)}function Zd(e){return"-"+e.toLowerCase()}function Qd(e){return e.charAt(1).toUpperCase()}const Jd=Zi([Qi,Kd,to,no,ro],"html"),em=Zi([Qi,Wd,to,no,ro],"svg");function fs(e){const t=[],n=String(e||"");let r=n.indexOf(","),a=0,s=!1;for(;!s;){r===-1&&(r=n.length,s=!0);const i=n.slice(a,r).trim();(i||!s)&&t.push(i),a=r+1,r=n.indexOf(",",a)}return t}const gs=/[#.]/g;function tm(e,t){const n=e||"",r={};let a=0,s,i;for(;a<n.length;){gs.lastIndex=a;const o=gs.exec(n),l=n.slice(a,o?o.index:n.length);l&&(s?s==="#"?r.id=l:Array.isArray(r.className)?r.className.push(l):r.className=[l]:i=l,a+=l.length),o&&(s=o[0],a++)}return{type:"element",tagName:i||t||"div",properties:r,children:[]}}function bs(e){const t=String(e||"").trim();return t?t.split(/[ \t\n\r\f]+/g):[]}function ao(e,t,n){const r=n?sm(n):void 0;function a(s,i,...o){let l;if(s==null){l={type:"root",children:[]};const c=i;o.unshift(c)}else{l=tm(s,t);const c=l.tagName.toLowerCase(),p=r?r.get(c):void 0;if(l.tagName=p||c,nm(i))o.unshift(i);else for(const[d,m]of Object.entries(i))rm(e,l.properties,d,m)}for(const c of o)pr(l.children,c);return l.type==="element"&&l.tagName==="template"&&(l.content={type:"root",children:l.children},l.children=[]),l}return a}function nm(e){if(e===null||typeof e!="object"||Array.isArray(e))return!0;if(typeof e.type!="string")return!1;const t=e,n=Object.keys(e);for(const r of n){const a=t[r];if(a&&typeof a=="object"){if(!Array.isArray(a))return!0;const s=a;for(const i of s)if(typeof i!="number"&&typeof i!="string")return!0}}return!!("children"in e&&Array.isArray(e.children))}function rm(e,t,n,r){const a=Xd(e,n);let s;if(r!=null){if(typeof r=="number"){if(Number.isNaN(r))return;s=r}else typeof r=="boolean"?s=r:typeof r=="string"?a.spaceSeparated?s=bs(r):a.commaSeparated?s=fs(r):a.commaOrSpaceSeparated?s=bs(fs(r).join(" ")):s=vs(a,a.property,r):Array.isArray(r)?s=[...r]:s=a.property==="style"?am(r):String(r);if(Array.isArray(s)){const i=[];for(const o of s)i.push(vs(a,a.property,o));s=i}a.property==="className"&&Array.isArray(t.className)&&(s=t.className.concat(s)),t[a.property]=s}}function pr(e,t){if(t!=null)if(typeof t=="number"||typeof t=="string")e.push({type:"text",value:String(t)});else if(Array.isArray(t))for(const n of t)pr(e,n);else if(typeof t=="object"&&"type"in t)t.type==="root"?pr(e,t.children):e.push(t);else throw new Error("Expected node, nodes, or string, got `"+t+"`")}function vs(e,t,n){if(typeof n=="string"){if(e.number&&n&&!Number.isNaN(Number(n)))return Number(n);if((e.boolean||e.overloadedBoolean)&&(n===""||zt(n)===zt(t)))return!0}return n}function am(e){const t=[];for(const[n,r]of Object.entries(e))t.push([n,r].join(": "));return t.join("; ")}function sm(e){const t=new Map;for(const n of e)t.set(n.toLowerCase(),n);return t}const im=["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","solidColor","textArea","textPath"],om=ao(Jd,"div");ao(em,"g",im);const lm=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"],Ns={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"};function so(e){const t=typeof e=="string"?e.charCodeAt(0):e;return t>=48&&t<=57}function um(e){const t=typeof e=="string"?e.charCodeAt(0):e;return t>=97&&t<=102||t>=65&&t<=70||t>=48&&t<=57}function cm(e){const t=typeof e=="string"?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90}function ws(e){return cm(e)||so(e)}const ys=document.createElement("i");function xs(e){const t="&"+e+";";ys.innerHTML=t;const n=ys.textContent;return n.charCodeAt(n.length-1)===59&&e!=="semi"||n===t?!1:n}const pm=["","Named character references must be terminated by a semicolon","Numeric character references must be terminated by a semicolon","Named character references cannot be empty","Numeric character references cannot be empty","Named character references must be known","Numeric character references cannot be disallowed","Numeric character references cannot be outside the permissible Unicode range"];function dm(e,t){const n={},r=typeof n.additional=="string"?n.additional.charCodeAt(0):n.additional,a=[];let s=0,i=-1,o="",l,c;n.position&&("start"in n.position||"indent"in n.position?(c=n.position.indent,l=n.position.start):l=n.position);let p=(l?l.line:0)||1,d=(l?l.column:0)||1,m=h(),f;for(s--;++s<=e.length;)if(f===10&&(d=(c?c[i]:0)||1),f=e.charCodeAt(s),f===38){const N=e.charCodeAt(s+1);if(N===9||N===10||N===12||N===32||N===38||N===60||Number.isNaN(N)||r&&N===r){o+=String.fromCharCode(f),d++;continue}const y=s+1;let x=y,v=y,E;if(N===35){v=++x;const R=e.charCodeAt(v);R===88||R===120?(E="hexadecimal",v=++x):E="decimal"}else E="named";let S="",C="",D="";const V=E==="named"?ws:E==="decimal"?so:um;for(v--;++v<=e.length;){const R=e.charCodeAt(v);if(!V(R))break;D+=String.fromCharCode(R),E==="named"&&lm.includes(D)&&(S=D,C=xs(D))}let A=e.charCodeAt(v)===59;if(A){v++;const R=E==="named"?xs(D):!1;R&&(S=D,C=R)}let j=1+v-y,L="";if(!(!A&&n.nonTerminated===!1))if(!D)E!=="named"&&g(4,j);else if(E==="named"){if(A&&!C)g(5,1);else if(S!==D&&(v=x+S.length,j=1+v-x,A=!1),!A){const R=S?1:3;if(n.attribute){const $=e.charCodeAt(v);$===61?(g(R,j),C=""):ws($)?C="":g(R,j)}else g(R,j)}L=C}else{A||g(2,j);let R=Number.parseInt(D,E==="hexadecimal"?16:10);if(mm(R))g(7,j),L="�";else if(R in Ns)g(6,j),L=Ns[R];else{let $="";hm(R)&&g(6,j),R>65535&&(R-=65536,$+=String.fromCharCode(R>>>10|55296),R=56320|R&1023),L=$+String.fromCharCode(R)}}if(L){b(),m=h(),s=v-1,d+=v-y+1,a.push(L);const R=h();R.offset++,n.reference&&n.reference.call(n.referenceContext||void 0,L,{start:m,end:R},e.slice(y-1,v)),m=R}else D=e.slice(y-1,v),o+=D,d+=D.length,s=v-1}else f===10&&(p++,i++,d=0),Number.isNaN(f)?b():(o+=String.fromCharCode(f),d++);return a.join("");function h(){return{line:p,column:d,offset:s+((l?l.offset:0)||0)}}function g(N,y){let x;n.warning&&(x=h(),x.column+=y,x.offset+=y,n.warning.call(n.warningContext||void 0,pm[N],x,N))}function b(){o&&(a.push(o),n.text&&n.text.call(n.textContext||void 0,o,{start:m,end:h()}),o="")}}function mm(e){return e>=55296&&e<=57343||e>1114111}function hm(e){return e>=1&&e<=8||e===11||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534}var fm=0,tn={},de={util:{type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++fm}),e.__id},clone:function e(t,n){n=n||{};var r,a;switch(de.util.type(t)){case"Object":if(a=de.util.objId(t),n[a])return n[a];r={},n[a]=r;for(var s in t)t.hasOwnProperty(s)&&(r[s]=e(t[s],n));return r;case"Array":return a=de.util.objId(t),n[a]?n[a]:(r=[],n[a]=r,t.forEach(function(i,o){r[o]=e(i,n)}),r);default:return t}}},languages:{plain:tn,plaintext:tn,text:tn,txt:tn,extend:function(e,t){var n=de.util.clone(de.languages[e]);for(var r in t)n[r]=t[r];return n},insertBefore:function(e,t,n,r){r=r||de.languages;var a=r[e],s={};for(var i in a)if(a.hasOwnProperty(i)){if(i==t)for(var o in n)n.hasOwnProperty(o)&&(s[o]=n[o]);n.hasOwnProperty(i)||(s[i]=a[i])}var l=r[e];return r[e]=s,de.languages.DFS(de.languages,function(c,p){p===l&&c!=e&&(this[c]=s)}),s},DFS:function e(t,n,r,a){a=a||{};var s=de.util.objId;for(var i in t)if(t.hasOwnProperty(i)){n.call(t,i,t[i],r||i);var o=t[i],l=de.util.type(o);l==="Object"&&!a[s(o)]?(a[s(o)]=!0,e(o,n,null,a)):l==="Array"&&!a[s(o)]&&(a[s(o)]=!0,e(o,n,i,a))}}},plugins:{},highlight:function(e,t,n){var r={code:e,grammar:t,language:n};if(de.hooks.run("before-tokenize",r),!r.grammar)throw new Error('The language "'+r.language+'" has no grammar.');return r.tokens=de.tokenize(r.code,r.grammar),de.hooks.run("after-tokenize",r),jt.stringify(de.util.encode(r.tokens),r.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var a=new gm;return sn(a,a.head,e),io(e,a,t,a.head,0),vm(a)},hooks:{all:{},add:function(e,t){var n=de.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=de.hooks.all[e];if(!(!n||!n.length))for(var r=0,a;a=n[r++];)a(t)}},Token:jt};function jt(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=(r||"").length|0}function Es(e,t,n,r){e.lastIndex=t;var a=e.exec(n);if(a&&r&&a[1]){var s=a[1].length;a.index+=s,a[0]=a[0].slice(s)}return a}function io(e,t,n,r,a,s){for(var i in n)if(!(!n.hasOwnProperty(i)||!n[i])){var o=n[i];o=Array.isArray(o)?o:[o];for(var l=0;l<o.length;++l){if(s&&s.cause==i+","+l)return;var c=o[l],p=c.inside,d=!!c.lookbehind,m=!!c.greedy,f=c.alias;if(m&&!c.pattern.global){var h=c.pattern.toString().match(/[imsuy]*$/)[0];c.pattern=RegExp(c.pattern.source,h+"g")}for(var g=c.pattern||c,b=r.next,N=a;b!==t.tail&&!(s&&N>=s.reach);N+=b.value.length,b=b.next){var y=b.value;if(t.length>e.length)return;if(!(y instanceof jt)){var x=1,v;if(m){if(v=Es(g,N,e,d),!v||v.index>=e.length)break;var D=v.index,E=v.index+v[0].length,S=N;for(S+=b.value.length;D>=S;)b=b.next,S+=b.value.length;if(S-=b.value.length,N=S,b.value instanceof jt)continue;for(var C=b;C!==t.tail&&(S<E||typeof C.value=="string");C=C.next)x++,S+=C.value.length;x--,y=e.slice(N,S),v.index-=N}else if(v=Es(g,0,y,d),!v)continue;var D=v.index,V=v[0],A=y.slice(0,D),j=y.slice(D+V.length),L=N+y.length;s&&L>s.reach&&(s.reach=L);var R=b.prev;A&&(R=sn(t,R,A),N+=A.length),bm(t,R,x);var $=new jt(i,p?de.tokenize(V,p):V,f,V);if(b=sn(t,R,$),j&&sn(t,b,j),x>1){var W={cause:i+","+l,reach:L};io(e,t,n,b.prev,N,W),s&&W.reach>s.reach&&(s.reach=W.reach)}}}}}}function gm(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function sn(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function bm(e,t,n){for(var r=t.next,a=0;a<n&&r!==e.tail;a++)r=r.next;t.next=r,r.prev=t,e.length-=a}function vm(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}const oo=de;function lo(){}lo.prototype=oo;const P=new lo;P.highlight=Nm;P.register=wm;P.alias=ym;P.registered=xm;P.listLanguages=Em;P.util.encode=Sm;P.Token.stringify=dr;function Nm(e,t){if(typeof e!="string")throw new TypeError("Expected `string` for `value`, got `"+e+"`");let n,r;if(t&&typeof t=="object")n=t;else{if(r=t,typeof r!="string")throw new TypeError("Expected `string` for `name`, got `"+r+"`");if(Object.hasOwn(P.languages,r))n=P.languages[r];else throw new Error("Unknown language: `"+r+"` is not registered")}return{type:"root",children:oo.highlight.call(P,e,n,r)}}function wm(e){if(typeof e!="function"||!e.displayName)throw new Error("Expected `function` for `syntax`, got `"+e+"`");Object.hasOwn(P.languages,e.displayName)||e(P)}function ym(e,t){const n=P.languages;let r={};typeof e=="string"?t&&(r[e]=t):r=e;let a;for(a in r)if(Object.hasOwn(r,a)){const s=r[a],i=typeof s=="string"?[s]:s;let o=-1;for(;++o<i.length;)n[i[o]]=n[a]}}function xm(e){if(typeof e!="string")throw new TypeError("Expected `string` for `aliasOrLanguage`, got `"+e+"`");return Object.hasOwn(P.languages,e)}function Em(){const e=P.languages,t=[];let n;for(n in e)Object.hasOwn(e,n)&&typeof e[n]=="object"&&t.push(n);return t}function dr(e,t){if(typeof e=="string")return{type:"text",value:e};if(Array.isArray(e)){const r=[];let a=-1;for(;++a<e.length;)e[a]!==null&&e[a]!==void 0&&e[a]!==""&&r.push(dr(e[a],t));return r}const n={attributes:{},classes:["token",e.type],content:dr(e.content,t),language:t,tag:"span",type:e.type};return e.alias&&n.classes.push(...typeof e.alias=="string"?[e.alias]:e.alias),P.hooks.run("wrap",n),om(n.tag+"."+n.classes.join("."),Dm(n.attributes),n.content)}function Sm(e){return e}function Dm(e){let t;for(t in e)Object.hasOwn(e,t)&&(e[t]=dm(e[t]));return e}P.register(Me);P.register(Ut);P.register(jn);P.register(Fr);P.register(Pr);P.register($r);P.register(Ht);P.register(St);P.register(zr);P.register(Br);P.register(Gr);P.register(Ur);P.register(Hr);P.register(On);P.register(Kr);P.register(Wr);P.register(Yr);P.register(qr);P.register(Xr);P.register(Zr);P.register(Qr);P.register(Jr);P.register(ea);P.register(Vn);P.register(ta);P.register(na);P.register(ra);P.register(aa);P.register(sa);P.register(ia);P.register(oa);P.register(la);P.register(ua);P.register(ca);P.register(Mn);P.register(pa);async function Cm(e){const t=await fetch(`/api/agents?projectId=${encodeURIComponent(e)}`);if(!t.ok)throw new Error("Failed to fetch agents");return t.json()}function Tm({commentCount:e,hasUnresolved:t,onClick:n,className:r}){const a=`${e} comment${e>1?"s":""}${t?", has unresolved":""}`;return u.jsxDEV("button",{onClick:n,className:H("flex items-center justify-center h-5 w-5 rounded-full text-xs",t?"bg-amber-100 text-amber-800 hover:bg-amber-200 dark:bg-amber-900/30 dark:text-amber-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-gray-800 dark:text-gray-400",r),title:`${e} comment${e>1?"s":""}`,"aria-label":a,children:u.jsxDEV(ke,{className:"h-3 w-3","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:135,columnNumber:7},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:123,columnNumber:5},this)}function Am({lineStart:e,lineEnd:t,side:n,projectId:r,onSubmit:a,onCancel:s,isSubmitting:i=!1,className:o}){const[l,c]=w.useState(""),[p,d]=w.useState("comment"),[m,f]=w.useState(new Set),[h,g]=w.useState(""),[b,N]=w.useState(!1),y=w.useRef(null),{data:x,isLoading:v}=br({queryKey:["agents",r],queryFn:()=>Cm(r),enabled:!!r}),E=(x==null?void 0:x.items)??[],{showAutocomplete:S,mentionQuery:C,selectedIndex:D,handleInputChange:V,handleKeyDown:A,insertMention:j}=Is(y,E,T=>{f(G=>new Set([...G,T.id]))}),L=w.useMemo(()=>E.filter(T=>T.name.toLowerCase().includes(C.toLowerCase())),[E,C]),R=T=>{const G=j(T,l);c(G),f(Z=>new Set([...Z,T.id]))},$=w.useMemo(()=>{if(!h.trim())return E;const T=h.toLowerCase();return E.filter(G=>G.name.toLowerCase().includes(T))},[E,h]),W=6,Y=w.useMemo(()=>{if(b)return $;const T=$.slice(0,W),G=$.filter(Z=>m.has(Z.id)&&!T.some(ce=>ce.id===Z.id));return[...T,...G]},[$,b,m]),k=$.length>W,_=e===t?`Line ${e}`:`Lines ${e}-${t}`,U=async()=>{if(!l.trim())return;const T=Rs(l,E),G=[...new Set([...m,...T])];await a(l.trim(),p,G)};return u.jsxDEV("div",{className:H("new-comment-form border-l-2 border-green-400 bg-green-50/50 dark:bg-green-950/30 px-3 py-2 my-1",o),"data-testid":"new-comment-form",children:[u.jsxDEV("div",{className:"flex items-center justify-between mb-2",children:[u.jsxDEV("span",{className:"text-xs font-medium text-muted-foreground",children:[_," (",n==="new"?"new":"old",")"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:559,columnNumber:9},this),u.jsxDEV(ee,{size:"sm",variant:"ghost",className:"h-5 w-5 p-0",onClick:s,children:u.jsxDEV(vn,{className:"h-3 w-3"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:563,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:562,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:558,columnNumber:7},this),u.jsxDEV("div",{className:"relative mb-2",children:[u.jsxDEV(on,{ref:y,placeholder:"Write a comment... (type @ to mention agents)",value:l,onChange:T=>{c(T.target.value),V(T.target.value,T.target.selectionStart)},onKeyDown:T=>{A(T,l,c)},className:"min-h-[80px] text-sm bg-white dark:bg-background",disabled:i,autoFocus:!0},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:569,columnNumber:9},this),S&&L.length>0&&u.jsxDEV("div",{className:"absolute bottom-full left-0 mb-1 w-48 max-h-40 overflow-auto bg-popover border rounded-md shadow-lg z-50",children:L.map((T,G)=>u.jsxDEV("button",{type:"button",className:H("w-full px-3 py-1.5 text-sm text-left flex items-center gap-2 hover:bg-accent",G===D&&"bg-accent"),onClick:()=>R(T),children:[u.jsxDEV($e,{className:"h-3 w-3 text-muted-foreground"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:597,columnNumber:17},this),T.name]},T.id,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:588,columnNumber:15},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:586,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:568,columnNumber:7},this),E.length>0&&u.jsxDEV("div",{className:"mb-2 space-y-2",role:"group","aria-label":"Assign to agents",children:[u.jsxDEV("div",{className:"flex items-center gap-1 flex-wrap",children:[u.jsxDEV("span",{className:"text-xs text-muted-foreground mr-1",children:[u.jsxDEV($e,{className:"h-3 w-3 inline mr-0.5"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:610,columnNumber:15},this),"Assign to:"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:609,columnNumber:13},this),u.jsxDEV(xr,{type:"multiple",value:Array.from(m),onValueChange:T=>f(new Set(T)),className:"flex-wrap !justify-start gap-1",children:Y.map(T=>u.jsxDEV(Er,{value:T.id,size:"sm",variant:"outline",className:"h-6 text-xs gap-1 px-2 data-[state=on]:!bg-primary data-[state=on]:!text-primary-foreground","aria-label":`Assign to ${T.name}`,children:[u.jsxDEV($e,{className:"h-3 w-3"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:628,columnNumber:19},this),T.name]},T.id,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:620,columnNumber:17},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:613,columnNumber:13},this),Y.length===0&&h.trim()&&u.jsxDEV("span",{className:"text-xs text-muted-foreground",children:"No agents found"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:634,columnNumber:15},this),k&&!b&&u.jsxDEV(ee,{variant:"ghost",size:"sm",className:"h-6 text-xs px-2",onClick:()=>N(!0),children:["+",$.length-W," more"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:637,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:608,columnNumber:11},this),b&&u.jsxDEV("div",{className:"space-y-2",children:u.jsxDEV("div",{className:"flex items-center gap-2",children:[u.jsxDEV("div",{className:"relative flex-1",children:[u.jsxDEV(hr,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-3 w-3 text-muted-foreground"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:653,columnNumber:19},this),u.jsxDEV(fr,{value:h,onChange:T=>g(T.target.value),placeholder:"Search agents...",className:"h-7 pl-7 text-xs"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:654,columnNumber:19},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:652,columnNumber:17},this),u.jsxDEV(ee,{variant:"ghost",size:"sm",className:"h-7 text-xs",onClick:()=>{N(!1),g("")},children:[u.jsxDEV(gn,{className:"h-3 w-3 mr-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:670,columnNumber:19},this),"Collapse"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:661,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:651,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:650,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:607,columnNumber:9},this),v&&u.jsxDEV("div",{className:"mb-2 flex items-center gap-1",children:u.jsxDEV("span",{className:"text-xs text-muted-foreground",children:[u.jsxDEV($e,{className:"h-3 w-3 inline mr-0.5"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:683,columnNumber:13},this),"Loading agents..."]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:682,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:681,columnNumber:9},this),u.jsxDEV("div",{className:"flex items-center gap-2 flex-wrap",children:[u.jsxDEV("select",{value:p,onChange:T=>d(T.target.value),className:"text-xs border rounded px-2 py-1 bg-white dark:bg-background",disabled:i,children:[u.jsxDEV("option",{value:"comment",children:"Comment"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:696,columnNumber:11},this),u.jsxDEV("option",{value:"suggestion",children:"Suggestion"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:697,columnNumber:11},this),u.jsxDEV("option",{value:"issue",children:"Issue"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:698,columnNumber:11},this),u.jsxDEV("option",{value:"approval",children:"Approval"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:699,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:690,columnNumber:9},this),u.jsxDEV("div",{className:"flex-1 min-w-0"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:702,columnNumber:9},this),u.jsxDEV(ee,{size:"sm",variant:"ghost",onClick:s,disabled:i,children:"Cancel"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:704,columnNumber:9},this),u.jsxDEV(ee,{size:"sm",onClick:U,disabled:!l.trim()||i,children:i?"Posting...":"Comment"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:707,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:689,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:551,columnNumber:5},this)}function km(e){const t=[],n=/```suggestion\s*\n([\s\S]*?)```/g;let r=0,a;for(;(a=n.exec(e))!==null;){if(a.index>r){const s=e.slice(r,a.index).trim();s&&t.push({type:"text",content:s})}t.push({type:"suggestion",content:a[1].trimEnd()}),r=a.index+a[0].length}if(r<e.length){const s=e.slice(r).trim();s&&t.push({type:"text",content:s})}return t.length===0&&e.trim()&&t.push({type:"text",content:e.trim()}),t}function Im(e){return/```suggestion\s*\n[\s\S]*?```/.test(e)}function Rm({suggestedCode:e,originalCode:t,filePath:n,lineStart:r,lineEnd:a,onApply:s,isApplying:i=!1,isApplied:o=!1,showApplyButton:l=!0,className:c}){const[p,d]=w.useState(!1),m=async()=>{await navigator.clipboard.writeText(e),d(!0),setTimeout(()=>d(!1),2e3)},f=r!=null?a!=null&&a!==r?`L${r}-${a}`:`L${r}`:null;return u.jsxDEV("div",{className:H("rounded-md border bg-muted/30 overflow-hidden",c),"data-testid":"suggestion-block",children:[u.jsxDEV("div",{className:"flex items-center justify-between px-3 py-1.5 bg-blue-50 border-b",children:[u.jsxDEV("div",{className:"flex items-center gap-2",children:[u.jsxDEV(xe,{variant:"secondary",className:"text-xs bg-blue-100 text-blue-700",children:"Suggestion"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:118,columnNumber:11},this),n&&f&&u.jsxDEV("span",{className:"text-xs text-muted-foreground font-mono",children:[n,":",f]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:122,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:117,columnNumber:9},this),u.jsxDEV("div",{className:"flex items-center gap-1",children:u.jsxDEV(ee,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0",onClick:m,title:"Copy suggestion",children:p?u.jsxDEV(Ot,{className:"h-3.5 w-3.5 text-green-600"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:136,columnNumber:15},this):u.jsxDEV(Uo,{className:"h-3.5 w-3.5"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:138,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:128,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:127,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:116,columnNumber:7},this),u.jsxDEV("div",{className:"text-sm font-mono",children:[t&&u.jsxDEV("div",{className:"bg-red-50 border-l-4 border-red-300",children:t.split(`
|
|
76
|
+
`).map((h,g)=>u.jsxDEV("div",{className:"px-3 py-0.5 flex",children:[u.jsxDEV("span",{className:"text-red-500 mr-2 select-none",children:"-"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:151,columnNumber:17},this),u.jsxDEV("span",{className:"text-red-700",children:h||" "},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:152,columnNumber:17},this)]},`old-${g}`,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:150,columnNumber:15},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:148,columnNumber:11},this),u.jsxDEV("div",{className:"bg-green-50 border-l-4 border-green-300",children:e.split(`
|
|
77
|
+
`).map((h,g)=>u.jsxDEV("div",{className:"px-3 py-0.5 flex",children:[u.jsxDEV("span",{className:"text-green-500 mr-2 select-none",children:"+"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:162,columnNumber:15},this),u.jsxDEV("span",{className:"text-green-700",children:h||" "},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:163,columnNumber:15},this)]},`new-${g}`,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:161,columnNumber:13},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:159,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:145,columnNumber:7},this),l&&s&&!o&&u.jsxDEV("div",{className:"px-3 py-2 bg-muted/50 border-t",children:u.jsxDEV(ee,{size:"sm",variant:"secondary",className:"h-7 text-xs",onClick:s,disabled:i,children:i?u.jsxDEV(u.Fragment,{children:[u.jsxDEV(Ho,{className:"h-3 w-3 mr-1 animate-spin"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:181,columnNumber:17},this),"Applying..."]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:180,columnNumber:15},this):u.jsxDEV(u.Fragment,{children:[u.jsxDEV(Ko,{className:"h-3 w-3 mr-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:186,columnNumber:17},this),"Apply Suggestion"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:185,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:172,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:171,columnNumber:9},this),o&&u.jsxDEV("div",{className:"px-3 py-2 bg-green-50 border-t",children:u.jsxDEV("span",{className:"text-xs text-green-700 flex items-center gap-1",children:[u.jsxDEV(Ot,{className:"h-3 w-3"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:198,columnNumber:13},this),"Suggestion applied"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:197,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:196,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:111,columnNumber:5},this)}function Ss(e){const t=new Date(e),r=new Date().getTime()-t.getTime(),a=Math.floor(r/1e3),s=Math.floor(a/60),i=Math.floor(s/60),o=Math.floor(i/24);return a<60?"just now":s<60?`${s}m ago`:i<24?`${i}h ago`:o<7?`${o}d ago`:t.toLocaleDateString()}const _m={comment:{icon:ke,label:"Comment",className:"bg-gray-100 text-gray-700"},suggestion:{icon:wr,label:"Suggestion",className:"bg-blue-100 text-blue-700"},issue:{icon:yt,label:"Issue",className:"bg-orange-100 text-orange-700"},approval:{icon:vr,label:"Approval",className:"bg-green-100 text-green-700"}},jm={open:{icon:yt,label:"Open",className:"text-amber-700 dark:text-amber-500"},resolved:{icon:Ot,label:"Resolved",className:"text-green-600"},wont_fix:{icon:vn,label:"Won't Fix",className:"text-gray-500"}};function uo({comment:e,isReply:t=!1,isPending:n=!1,getSessionForAgent:r,onOpenTerminal:a}){var b;const s=_m[e.commentType],i=jm[e.status],o=s.icon,l=i.icon,c=e.authorType==="agent",p=c?$e:_s,d=c?e.authorAgentName??((b=e.authorAgentId)==null?void 0:b.slice(0,8))??"Agent":"You",m=c&&e.authorAgentId&&r?r(e.authorAgentId):null,f=()=>{m&&a&&a(m)},h=(N,y,x)=>{const v=(r==null?void 0:r(N))??null;return u.jsxDEV("span",{children:[x&&", ",v&&a?u.jsxDEV("button",{onClick:()=>a(v),className:"text-amber-700 hover:text-amber-900 hover:underline font-medium",children:y},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:179,columnNumber:11},this):u.jsxDEV(Ln,{children:u.jsxDEV(Fn,{children:[u.jsxDEV(Pn,{asChild:!0,children:u.jsxDEV("span",{className:"text-amber-800/70 dark:text-amber-400/70 cursor-not-allowed",children:y},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:189,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:188,columnNumber:15},this),u.jsxDEV($n,{children:u.jsxDEV("p",{children:"No running session"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:194,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:193,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:187,columnNumber:13},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:186,columnNumber:11},this)]},N,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:176,columnNumber:7},this)},g=()=>{if(!n||!e.targetAgents||e.targetAgents.length===0)return null;const N=3,y=e.targetAgents.slice(0,N),x=e.targetAgents.length-N;return u.jsxDEV("span",{className:"text-xs text-amber-700 dark:text-amber-500 flex items-center gap-1",children:["Waiting on: ",y.map((v,E)=>h(v.agentId,v.name,E>0)),x>0&&u.jsxDEV(Ln,{children:u.jsxDEV(Fn,{children:[u.jsxDEV(Pn,{asChild:!0,children:u.jsxDEV("span",{className:"text-amber-700 dark:text-amber-500 cursor-help",children:["+",x," more"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:220,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:219,columnNumber:15},this),u.jsxDEV($n,{children:u.jsxDEV("p",{children:e.targetAgents.slice(N).map(v=>v.name).join(", ")},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:225,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:224,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:218,columnNumber:13},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:217,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:214,columnNumber:7},this)};return u.jsxDEV("div",{className:"flex items-center gap-2 flex-wrap",children:[u.jsxDEV("div",{className:H("flex items-center gap-1.5 text-sm font-medium",c?"text-purple-700":"text-foreground"),children:[u.jsxDEV(p,{className:"h-4 w-4","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:248,columnNumber:9},this),c&&m&&a?u.jsxDEV("button",{onClick:f,className:"hover:underline",title:"Open terminal",children:d},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:250,columnNumber:11},this):c&&!m&&r?u.jsxDEV(Ln,{children:u.jsxDEV(Fn,{children:[u.jsxDEV(Pn,{asChild:!0,children:u.jsxDEV("span",{className:"cursor-not-allowed opacity-75",children:d},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:257,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:256,columnNumber:15},this),u.jsxDEV($n,{children:u.jsxDEV("p",{children:"No running session"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:260,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:259,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:255,columnNumber:13},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:254,columnNumber:11},this):u.jsxDEV("span",{children:d},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:265,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:242,columnNumber:7},this),!t&&u.jsxDEV(xe,{variant:"secondary",className:H("text-xs",s.className),"aria-label":`Comment type: ${s.label}`,children:[u.jsxDEV(o,{className:"h-3 w-3 mr-1","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:276,columnNumber:11},this),s.label]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:271,columnNumber:9},this),!t&&u.jsxDEV("span",{className:H("flex items-center gap-1 text-xs",i.className),role:"status","aria-label":`Status: ${i.label}`,children:[u.jsxDEV(l,{className:"h-3 w-3","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:288,columnNumber:11},this),i.label]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:283,columnNumber:9},this),!t&&n?g():!t&&e.targetAgents&&e.targetAgents.length>0&&u.jsxDEV(xe,{variant:"outline",className:"text-xs",title:e.targetAgents.map(N=>N.name).join(", "),children:["Sent to: ",e.targetAgents.length]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:299,columnNumber:13},this),u.jsxDEV("time",{className:"text-xs text-muted-foreground",dateTime:e.createdAt,children:Ss(e.createdAt)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:309,columnNumber:7},this),e.editedAt&&u.jsxDEV("span",{className:"text-xs text-muted-foreground italic",title:`Edited ${Ss(e.editedAt)}`,children:"(edited)"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:315,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:240,columnNumber:5},this)}function Om({comment:e}){if(!e.filePath)return null;const t=e.lineStart!==null?e.lineEnd!==null&&e.lineEnd!==e.lineStart?`L${e.lineStart}-${e.lineEnd}`:`L${e.lineStart}`:null;return u.jsxDEV("div",{className:"flex items-center gap-1.5 text-xs text-muted-foreground mt-1",children:[u.jsxDEV(Oe,{className:"h-3 w-3"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:338,columnNumber:7},this),u.jsxDEV("span",{className:"font-mono",children:e.filePath},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:339,columnNumber:7},this),t&&u.jsxDEV("span",{className:"text-muted-foreground",children:["(",t,")"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:340,columnNumber:20},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:337,columnNumber:5},this)}function Vm({reply:e,getSessionForAgent:t,onOpenTerminal:n}){return u.jsxDEV("div",{className:"pl-4 border-l-2 border-muted mt-2",children:[u.jsxDEV(uo,{comment:e,isReply:!0,getSessionForAgent:t,onOpenTerminal:n},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:356,columnNumber:7},this),u.jsxDEV("p",{className:"text-sm mt-1 whitespace-pre-wrap",children:e.content},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:362,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:355,columnNumber:5},this)}function Mm({comment:e,replies:t=[],isPending:n=!1,getSessionForAgent:r,onOpenTerminal:a,onReply:s,onResolve:i,onApplySuggestion:o,onDelete:l,onEdit:c,isReplying:p=!1,isResolving:d=!1,isApplyingSuggestion:m=!1,isDeleting:f=!1,isEditing:h=!1,className:g}){const[b,N]=w.useState(!1),[y,x]=w.useState(""),[v,E]=w.useState(!1),[S,C]=w.useState(!1),[D,V]=w.useState("resolved"),[A,j]=w.useState(!0),[L,R]=w.useState(!1),[$,W]=w.useState(e.content),Y=t.length>0,k=e.status==="open",_=e.authorType==="user",U=async()=>{!y.trim()||!s||(await s(e.id,y.trim()),x(""),N(!1))},T=async()=>{i&&(await i(e.id,D),E(!1))},G=async()=>{l&&(await l(e.id),C(!1))},Z=async()=>{!$.trim()||!c||(await c(e.id,$.trim(),e.version),R(!1))},ce=()=>{W(e.content),R(!1)};return u.jsxDEV("div",{className:H("p-3 rounded-lg border bg-card",n&&"border-l-4 border-l-amber-500 bg-amber-50/50 dark:bg-amber-950/20",!k&&"opacity-75",g),"data-testid":"comment-thread",children:[u.jsxDEV("div",{className:"flex items-start gap-2",children:[Y&&u.jsxDEV("button",{onClick:()=>j(!A),className:"mt-0.5 p-0.5 hover:bg-muted rounded","aria-label":A?"Collapse replies":"Expand replies",children:A?u.jsxDEV(gn,{className:"h-4 w-4 text-muted-foreground"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:449,columnNumber:15},this):u.jsxDEV(bn,{className:"h-4 w-4 text-muted-foreground"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:451,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:443,columnNumber:11},this),u.jsxDEV("div",{className:"flex-1 min-w-0",children:[u.jsxDEV(uo,{comment:e,isPending:n,getSessionForAgent:r,onOpenTerminal:a},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:456,columnNumber:11},this),u.jsxDEV(Om,{comment:e},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:462,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:455,columnNumber:9},this),_&&(c||l)&&!L&&u.jsxDEV(Wo,{children:[u.jsxDEV(Yo,{asChild:!0,children:u.jsxDEV(ee,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0",children:[u.jsxDEV(qo,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:469,columnNumber:17},this),u.jsxDEV("span",{className:"sr-only",children:"Comment actions"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:470,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:468,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:467,columnNumber:13},this),u.jsxDEV(Xo,{align:"end",children:[c&&u.jsxDEV(Na,{onClick:()=>R(!0),children:[u.jsxDEV(Zo,{className:"h-4 w-4 mr-2"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:476,columnNumber:19},this),"Edit"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:475,columnNumber:17},this),l&&u.jsxDEV(Na,{onClick:()=>C(!0),className:"text-destructive focus:text-destructive",children:[u.jsxDEV(Qo,{className:"h-4 w-4 mr-2"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:485,columnNumber:19},this),"Delete"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:481,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:473,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:466,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:441,columnNumber:7},this),u.jsxDEV("div",{className:H("mt-2",Y&&"ml-6"),children:L?u.jsxDEV("div",{className:"space-y-2",children:[u.jsxDEV(on,{value:$,onChange:M=>W(M.target.value),className:"min-h-[80px] text-sm",disabled:h,"aria-label":"Edit comment content"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:498,columnNumber:13},this),u.jsxDEV("div",{className:"flex gap-2",children:[u.jsxDEV(ee,{size:"sm",onClick:Z,disabled:!$.trim()||h||$.trim()===e.content,children:h?"Saving...":"Save"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:506,columnNumber:15},this),u.jsxDEV(ee,{size:"sm",variant:"ghost",onClick:ce,disabled:h,children:"Cancel"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:515,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:505,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:497,columnNumber:11},this):Im(e.content)?u.jsxDEV("div",{className:"space-y-2",children:km(e.content).map((M,oe)=>M.type==="suggestion"?u.jsxDEV(Rm,{suggestedCode:M.content,filePath:e.filePath,lineStart:e.lineStart,lineEnd:e.lineEnd,onApply:o?()=>o(e.id):void 0,isApplying:m,isApplied:e.status==="resolved",showApplyButton:!!o&&e.status==="open"},oe,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:524,columnNumber:17},this):u.jsxDEV("p",{className:"text-sm whitespace-pre-wrap",children:M.content},oe,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:536,columnNumber:17},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:521,columnNumber:11},this):u.jsxDEV("p",{className:"text-sm whitespace-pre-wrap",children:e.content},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:543,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:495,columnNumber:7},this),Y&&A&&u.jsxDEV("div",{className:"mt-3 ml-6 space-y-2",children:t.map(M=>u.jsxDEV(Vm,{reply:M,getSessionForAgent:r,onOpenTerminal:a},M.id,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:551,columnNumber:13},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:549,columnNumber:9},this),b&&u.jsxDEV("div",{className:"mt-3 ml-6 space-y-2",children:[u.jsxDEV(on,{placeholder:"Write a reply...",value:y,onChange:M=>x(M.target.value),className:"min-h-[80px] text-sm",disabled:p},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:564,columnNumber:11},this),u.jsxDEV("div",{className:"flex gap-2",children:[u.jsxDEV(ee,{size:"sm",onClick:U,disabled:!y.trim()||p,children:p?"Posting...":"Reply"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:572,columnNumber:13},this),u.jsxDEV(ee,{size:"sm",variant:"ghost",onClick:()=>{N(!1),x("")},children:"Cancel"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:579,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:571,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:563,columnNumber:9},this),!L&&u.jsxDEV("div",{className:"mt-3 flex flex-wrap gap-1",role:"group","aria-label":"Comment actions",children:[s&&u.jsxDEV(ee,{size:"sm",variant:"ghost",className:"h-7 text-xs",onClick:()=>N(!b),"aria-expanded":b,"aria-label":b?"Cancel reply":"Reply to this comment",children:[u.jsxDEV(Ml,{className:"h-3 w-3 mr-1","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:605,columnNumber:15},this),"Reply"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:597,columnNumber:13},this),k&&i&&u.jsxDEV(ee,{size:"sm",variant:"ghost",className:"h-7 text-xs",onClick:()=>E(!0),disabled:d,"aria-label":"Resolve this comment",children:[u.jsxDEV(Ot,{className:"h-3 w-3 mr-1","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:618,columnNumber:15},this),"Resolve"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:610,columnNumber:13},this),Y&&u.jsxDEV("span",{className:"text-xs text-muted-foreground self-center","aria-live":"polite",children:[t.length," ",t.length===1?"reply":"replies"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:623,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:595,columnNumber:9},this),u.jsxDEV(ln,{open:v,onOpenChange:E,children:u.jsxDEV(un,{children:[u.jsxDEV(cn,{children:[u.jsxDEV(pn,{children:"Resolve Comment"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:634,columnNumber:13},this),u.jsxDEV(dn,{children:"How do you want to resolve this comment?"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:635,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:633,columnNumber:11},this),u.jsxDEV("fieldset",{className:"py-4",children:[u.jsxDEV("legend",{className:"sr-only",children:"Resolution status"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:638,columnNumber:13},this),u.jsxDEV("div",{className:"flex gap-4",children:[u.jsxDEV("label",{className:"flex items-center gap-2 cursor-pointer",children:[u.jsxDEV("input",{type:"radio",name:"resolveStatus",value:"resolved",checked:D==="resolved",onChange:()=>V("resolved"),className:"h-4 w-4","aria-describedby":"resolve-desc"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:641,columnNumber:17},this),u.jsxDEV("span",{className:"text-sm",children:"Resolved"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:650,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:640,columnNumber:15},this),u.jsxDEV("label",{className:"flex items-center gap-2 cursor-pointer",children:[u.jsxDEV("input",{type:"radio",name:"resolveStatus",value:"wont_fix",checked:D==="wont_fix",onChange:()=>V("wont_fix"),className:"h-4 w-4","aria-describedby":"resolve-desc"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:653,columnNumber:17},this),u.jsxDEV("span",{className:"text-sm",children:"Won't Fix"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:662,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:652,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:639,columnNumber:13},this),u.jsxDEV("p",{id:"resolve-desc",className:"sr-only",children:"Choose resolved if the issue was addressed, or won't fix if it will not be addressed"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:665,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:637,columnNumber:11},this),u.jsxDEV(Zn,{children:[u.jsxDEV(ee,{variant:"outline",onClick:()=>E(!1),children:"Cancel"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:671,columnNumber:13},this),u.jsxDEV(ee,{onClick:T,disabled:d,children:d?"Resolving...":"Confirm"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:674,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:670,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:632,columnNumber:9},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:631,columnNumber:7},this),u.jsxDEV(ln,{open:S,onOpenChange:C,children:u.jsxDEV(un,{children:[u.jsxDEV(cn,{children:[u.jsxDEV(pn,{children:"Delete Comment"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:685,columnNumber:13},this),u.jsxDEV(dn,{children:["Are you sure you want to delete this comment? This action cannot be undone.",Y&&" All replies will also be deleted."]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:686,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:684,columnNumber:11},this),u.jsxDEV(Zn,{children:[u.jsxDEV(ee,{variant:"outline",onClick:()=>C(!1),children:"Cancel"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:692,columnNumber:13},this),u.jsxDEV(ee,{variant:"destructive",onClick:G,disabled:f,children:f?"Deleting...":"Delete"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:695,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:691,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:683,columnNumber:9},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:682,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:429,columnNumber:5},this)}async function Ih(e){const t=await fetch(`/api/reviews/${e}`);if(!t.ok)throw new Error("Failed to fetch review");return t.json()}async function Rh(e){const t=await fetch("/api/reviews",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw new Error("Failed to create review");return t.json()}async function Lm(e,t){const r=new URLSearchParams().toString(),a=r?`/api/reviews/${e}/comments?${r}`:`/api/reviews/${e}/comments`,s=await fetch(a);if(!s.ok)throw new Error("Failed to fetch review comments");return s.json()}const _h={draft:{bg:"bg-gray-100",text:"text-gray-700"},pending:{bg:"bg-yellow-100",text:"text-yellow-800"},changes_requested:{bg:"bg-orange-100",text:"text-orange-800"},approved:{bg:"bg-green-100",text:"text-green-800"},closed:{bg:"bg-slate-100",text:"text-slate-600"}},jh={draft:"Draft",pending:"Pending",changes_requested:"Changes Requested",approved:"Approved",closed:"Closed"};async function Oh(e,t){const n=new URLSearchParams({projectId:e});t!=null&&t.ref&&n.append("ref",t.ref),n.append("limit",String(t.limit));const r=await fetch(`/api/git/commits?${n.toString()}`);if(!r.ok)throw new Error("Failed to fetch commits");return r.json()}async function Vh(e){const t=await fetch(`/api/git/branches?projectId=${e}`);if(!t.ok)throw new Error("Failed to fetch branches");return t.json()}async function Mh(e,t,n){const r=new URLSearchParams({projectId:e,base:t,head:n}),a=await fetch(`/api/git/changed-files?${r.toString()}`);if(!a.ok)throw new Error("Failed to fetch changed files");return a.json()}async function Lh(e,t,n){const r=new URLSearchParams({projectId:e,base:t,head:n}),a=await fetch(`/api/git/diff?${r.toString()}`);if(!a.ok)throw new Error("Failed to fetch diff");return(await a.json()).diff}async function Fh(e,t="all"){const n=new URLSearchParams({projectId:e,filter:t}),r=await fetch(`/api/git/working-tree?${n.toString()}`);if(!r.ok)throw new Error("Failed to fetch working tree");return r.json()}async function Ph(e,t){const n=new URLSearchParams({projectId:e}),r=await fetch(`/api/git/commit/${t}?${n.toString()}`);if(!r.ok)throw new Error("Failed to fetch commit diff");return r.json()}async function $h(e){const t=new URLSearchParams({projectId:e}),n=await fetch(`/api/reviews/active?${t.toString()}`);if(!n.ok)throw new Error("Failed to fetch active review");return(await n.json()).review}async function zh(e,t){const n=await fetch(`/api/reviews/${e}/close`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({version:t})});if(!n.ok)throw new Error("Failed to close review");return n.json()}function co(e){const t=new Map;for(const n of e)if(n.parentId!==null){const r=t.get(n.parentId);r?r.push(n):t.set(n.parentId,[n])}return t}function ma(e,t){const n=t.get(e)||[],r=[];for(const a of n)r.push(a),r.push(...ma(a.id,t));return r.sort((a,s)=>new Date(a.createdAt).getTime()-new Date(s.createdAt).getTime())}function Fm(e){const t=new Map,n=co(e);return e.filter(a=>a.parentId===null).forEach(a=>{const s=ma(a.id,n);t.set(a.id,s)}),t}function Pm(e){const t=co(e),n=new Map;for(const r of e)if(r.lineStart!==null&&r.parentId===null){const a=`${r.side||"new"}-${r.lineStart}`,s={root:r,replies:ma(r.id,t)},i=n.get(a)||[];n.set(a,[...i,s])}for(const[r,a]of n)a.sort((s,i)=>new Date(s.root.createdAt).getTime()-new Date(i.root.createdAt).getTime()),n.set(r,a);return n}function Rt(e){const{comment:t,replies:n}=e;if(t.parentId!==null||t.status!=="open")return!1;const r=new Set(t.targetAgents.map(i=>i.agentId));if(r.size===0)return!1;let a=t.authorType==="user"?new Date(t.createdAt):null;for(const i of n)if(i.authorType==="user"){const o=new Date(i.createdAt);(!a||o>a)&&(a=o)}if(!a)return!1;let s=null;for(const i of n)if(i.authorType==="agent"&&i.authorAgentId&&r.has(i.authorAgentId)){const o=new Date(i.createdAt);(!s||o>s)&&(s=o)}return!s||a>s}const $m={js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",kt:"kotlin",swift:"swift",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",php:"php",sh:"bash",bash:"bash",zsh:"bash",json:"json",yaml:"yaml",yml:"yaml",xml:"markup",html:"markup",css:"css",scss:"scss",less:"less",md:"markdown",sql:"sql",graphql:"graphql",dockerfile:"docker",makefile:"makefile"};function zm(e){var n;const t=(n=e.split(".").pop())==null?void 0:n.toLowerCase();return t&&$m[t]||null}function Bm(){return u.jsxDEV("div",{className:"h-full flex flex-col",children:[u.jsxDEV("div",{className:"p-3 border-b flex items-center gap-2",children:[u.jsxDEV(Pe,{className:"h-5 w-5"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:129,columnNumber:9},this),u.jsxDEV(Pe,{className:"h-5 w-48"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:130,columnNumber:9},this),u.jsxDEV("div",{className:"flex-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:131,columnNumber:9},this),u.jsxDEV(Pe,{className:"h-8 w-20"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:132,columnNumber:9},this),u.jsxDEV(Pe,{className:"h-8 w-20"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:133,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:128,columnNumber:7},this),u.jsxDEV("div",{className:"flex-1 p-4 space-y-2",children:Array.from({length:15}).map((e,t)=>u.jsxDEV(Pe,{className:"h-5 w-full",style:{width:`${60+Math.random()*40}%`}},t,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:137,columnNumber:11},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:135,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:127,columnNumber:5},this)}function Gm({filePath:e}){return u.jsxDEV("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground p-8",children:[u.jsxDEV(Sl,{className:"h-12 w-12 mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:151,columnNumber:7},this),u.jsxDEV("p",{className:"text-lg font-medium mb-2",children:"Binary file"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:152,columnNumber:7},this),u.jsxDEV("p",{className:"text-sm text-center",children:["Cannot display diff for binary file: ",e]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:153,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:150,columnNumber:5},this)}function Um({message:e}){return u.jsxDEV("div",{className:"flex flex-col items-center justify-center h-full text-destructive p-8",children:[u.jsxDEV(yt,{className:"h-12 w-12 mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:161,columnNumber:7},this),u.jsxDEV("p",{className:"text-lg font-medium mb-2",children:"Failed to load diff"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:162,columnNumber:7},this),u.jsxDEV("p",{className:"text-sm text-center",children:e},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:163,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:160,columnNumber:5},this)}function Hm({fileInfo:e}){return(e==null?void 0:e.status)==="added"&&(e==null?void 0:e.additions)===0&&(e==null?void 0:e.deletions)===0?u.jsxDEV("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground p-8",children:[u.jsxDEV(Oe,{className:"h-12 w-12 mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:181,columnNumber:9},this),u.jsxDEV("p",{className:"text-lg font-medium mb-2",children:"New file"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:182,columnNumber:9},this),u.jsxDEV("p",{className:"text-sm text-center max-w-md",children:"This is an untracked file. The diff content may not be available if the file is binary, too large, or was skipped during diff generation."},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:183,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:180,columnNumber:7},this):u.jsxDEV("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground p-8",children:[u.jsxDEV(Oe,{className:"h-12 w-12 mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:193,columnNumber:7},this),u.jsxDEV("p",{className:"text-lg font-medium mb-2",children:"No changes"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:194,columnNumber:7},this),u.jsxDEV("p",{className:"text-sm text-center",children:"This file has no visible changes."},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:195,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:192,columnNumber:5},this)}function Fe(e,t){return e.type==="insert"?t==="new"?e.lineNumber:null:e.type==="delete"?t==="old"?e.lineNumber:null:t==="old"?e.oldLineNumber:e.newLineNumber}const Km=8,Wm=w.memo(function({hunk:t,hunkKey:n,isExpanded:r,onToggleExpand:a,children:s,viewType:i}){const o=w.useRef(null),[l,c]=w.useState(!1);w.useEffect(()=>{const g=o.current;if(!g)return;const b=new IntersectionObserver(N=>{N.forEach(y=>{y.isIntersecting&&c(!0)})},{rootMargin:"200px",threshold:0});return b.observe(g),()=>{b.disconnect()}},[]);const p=t.changes.length,d=p>Km*2,m=t.oldStart,f=t.newStart,h=i==="split"?4:3;return u.jsxDEV(u.Fragment,{children:[u.jsxDEV("tbody",{ref:o,"data-hunk-key":n,children:d?u.jsxDEV("tr",{className:"bg-muted/50 border-y text-xs text-muted-foreground",children:u.jsxDEV("td",{colSpan:h,className:"px-2 py-1",children:u.jsxDEV("div",{className:"flex items-center gap-2",children:[u.jsxDEV("button",{onClick:a,className:"flex items-center gap-1 hover:text-foreground","aria-expanded":r,"aria-label":`${r?"Collapse":"Expand"} ${p} lines`,children:[r?u.jsxDEV(gn,{className:"h-3 w-3","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:288,columnNumber:21},this):u.jsxDEV(bn,{className:"h-3 w-3","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:290,columnNumber:21},this),u.jsxDEV("span",{children:[r?"Collapse":"Expand"," ",p," lines"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:292,columnNumber:19},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:281,columnNumber:17},this),u.jsxDEV("span",{className:"text-muted-foreground/60","aria-label":`Hunk at line ${m} old, ${f} new`,children:["@@ -",m," +",f," @@"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:296,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:280,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:279,columnNumber:13},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:278,columnNumber:11},this):u.jsxDEV("tr",{className:"h-0",children:u.jsxDEV("td",{colSpan:h},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:308,columnNumber:13},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:307,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:276,columnNumber:7},this),!d||r?l?s:u.jsxDEV("tbody",{children:u.jsxDEV("tr",{style:{height:`${p*22}px`},children:u.jsxDEV("td",{colSpan:h,className:"text-center text-muted-foreground text-sm py-4",children:u.jsxDEV(zn,{className:"h-4 w-4 animate-pulse inline-block"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:323,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:322,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:321,columnNumber:13},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:320,columnNumber:11},this):u.jsxDEV("tbody",{children:u.jsxDEV("tr",{children:u.jsxDEV("td",{colSpan:h,children:u.jsxDEV("button",{onClick:a,className:"w-full flex items-center justify-center gap-2 py-2 text-xs text-muted-foreground hover:bg-muted/50 border-b","aria-expanded":!1,"aria-label":`Show ${p} hidden lines`,children:[u.jsxDEV(zn,{className:"h-3 w-3","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:339,columnNumber:17},this),u.jsxDEV("span",{children:["Show ",p," hidden lines"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:340,columnNumber:17},this),u.jsxDEV(zn,{className:"h-3 w-3","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:341,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:333,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:332,columnNumber:13},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:331,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:330,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:274,columnNumber:5},this)});function Bh({diff:e,filePath:t,isLoading:n,error:r,viewType:a,onViewTypeChange:s,projectId:i,comments:o=[],onAddComment:l,onReplyToComment:c,onResolveComment:p,onDeleteComment:d,onEditComment:m,isSubmittingComment:f=!1,isResolvingComment:h=!1,isDeletingComment:g=!1,isEditingComment:b=!1,getSessionForAgent:N,onOpenTerminal:y,fileInfo:x,selectedCommentId:v,onClearSelectedComment:E}){const[S,C]=w.useState(null),[D,V]=w.useState(null),[A,j]=w.useState(new Set);w.useEffect(()=>{j(new Set)},[t]);const[L,R]=w.useState(!1),$=w.useRef(null),W=w.useRef(null),Y=w.useRef(null);w.useEffect(()=>{const F=z=>{z.key==="Escape"&&(S||D)&&(C(null),V(null))},B=z=>{W.current&&!W.current.contains(z.target)&&S&&!D&&C(null)};return document.addEventListener("keydown",F),document.addEventListener("mousedown",B),()=>{document.removeEventListener("keydown",F),document.removeEventListener("mousedown",B)}},[S,D]),w.useEffect(()=>{if(!L)return;const F=z=>{var se;const q=document.elementFromPoint(z.clientX,z.clientY);if(!q)return;const te=q.closest(".diff-gutter, .diff-gutter-col");if(!te)return;const J=(se=te.textContent)==null?void 0:se.trim(),me=J?parseInt(J,10):null;if(me&&!isNaN(me)&&$.current){const Re=Math.min($.current.line,me),le=Math.max($.current.line,me);C({lineStart:Re,lineEnd:le,side:$.current.side})}},B=()=>{R(!1)};return document.addEventListener("mousemove",F),document.addEventListener("mouseup",B),()=>{document.removeEventListener("mousemove",F),document.removeEventListener("mouseup",B)}},[L]);const k=w.useMemo(()=>{if(!e)return[];try{return Gu(e)}catch{return[]}},[e]),_=w.useMemo(()=>k.length===0?null:k.find(F=>F.newPath===t||F.oldPath===t)||k[0],[k,t]),U=w.useMemo(()=>{const F=new Map;return _!=null&&_.hunks&&_.hunks.forEach(B=>{B.changes.forEach(z=>{F.set(Ae(z),z)})}),F},[_==null?void 0:_.hunks]),T=w.useMemo(()=>{const F=new Map;return _!=null&&_.hunks&&_.hunks.forEach(B=>{const z=Ae(B.changes[0]);B.changes.forEach(q=>{const te=Fe(q,"old"),J=Fe(q,"new");te!==null&&F.set(`old-${te}`,z),J!==null&&F.set(`new-${J}`,z)})}),F},[_==null?void 0:_.hunks]);w.useEffect(()=>{if(!v)return;let F=!1,B=null,z=null,q=o.find(re=>re.id===v);if(!q){for(const re of o)if(re.parentId===v){q=o.find(he=>he.id===re.parentId)||re;break}}if(!q||q.lineStart===null){E==null||E();return}const J=(q.parentId===null?q.id:q.parentId)||v,me=`${q.side||"new"}-${q.lineStart}`,se=T.get(me);se&&A.has(se)&&j(re=>{const he=new Set(re);return he.delete(se),he});const Re=()=>{var re;if(!F&&se){const he=(re=W.current)==null?void 0:re.querySelector(`[data-hunk-key="${se}"]`);he&&he.scrollIntoView({behavior:"auto",block:"center"})}},le=2500,Ce=100;let Ne=0;const pe=()=>{var he;if(F)return;const re=(he=W.current)==null?void 0:he.querySelector(`[data-comment-id="${J}"]`);re?(re.scrollIntoView({behavior:"smooth",block:"center"}),re instanceof HTMLElement&&re.focus({preventScroll:!0}),B=setTimeout(()=>{F||E==null||E()},2e3)):Ne<le?(Ne+=Ce,z=setTimeout(pe,Ce)):E==null||E()};return requestAnimationFrame(()=>{F||(Re(),z=setTimeout(pe,50))}),()=>{F=!0,B&&clearTimeout(B),z&&clearTimeout(z)}},[v,o,E,T,A]);const G=(_==null?void 0:_.isBinary)===!0,Z=w.useMemo(()=>zm(t),[t]),ce=w.useMemo(()=>{if(!(!(_!=null&&_.hunks)||!Z))try{return P.registered(Z)?Ud(_.hunks,{highlight:!0,enhancers:[Bd(_.hunks,{type:"block"})],language:Z,refractor:P}):void 0}catch{return}},[_==null?void 0:_.hunks,Z]),M=w.useMemo(()=>Pm(o),[o]),oe=w.useMemo(()=>{const F={};return _!=null&&_.hunks&&_.hunks.forEach(B=>{B.changes.forEach(z=>{const q=Ae(z),te=Fe(z,"new")||Fe(z,"old");if(!te)return;const J=z.type==="delete"?"old":"new",me=`${J}-${te}`,se=M.get(me);if(se&&se.length>0){const Re=le=>{for(const Ce of se){if(Ce.root.id===le)return Ce.root;const Ne=Ce.replies.find(pe=>pe.id===le);if(Ne)return Ne}};F[q]=u.jsxDEV("div",{className:"inline-comment-wrapper my-1 space-y-2",children:se.map(le=>{const Ce=Rt({comment:le.root,replies:le.replies}),Ne=v===le.root.id;return u.jsxDEV("div",{"data-comment-id":le.root.id,tabIndex:-1,className:H("transition-all duration-200 outline-none",Ne&&"ring-2 ring-primary ring-offset-2 rounded-lg"),children:u.jsxDEV(Mm,{comment:le.root,replies:le.replies,isPending:Ce,getSessionForAgent:N,onOpenTerminal:y,onReply:c?async(pe,re)=>{await c(pe,re)}:void 0,onResolve:p?async(pe,re)=>{const he=Re(pe);he&&await p(pe,re,he.version)}:void 0,onDelete:d,onEdit:m,isReplying:f,isResolving:h,isDeleting:g,isEditing:b},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:724,columnNumber:21},this)},le.root.id,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:715,columnNumber:19},this)})},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:707,columnNumber:13},this)}D&&D.side===J&&te>=D.lineStart&&te===D.lineEnd&&(F[q]=u.jsxDEV(Am,{lineStart:D.lineStart,lineEnd:D.lineEnd,side:D.side,projectId:i??"",onSubmit:async(Re,le,Ce)=>{l&&await l(D.lineStart,D.lineEnd,D.side,Re,le,Ce),V(null)},onCancel:()=>V(null),isSubmitting:f},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:768,columnNumber:13},this))})}),F},[_==null?void 0:_.hunks,M,D,i,l,c,p,d,m,f,h,g,b,N,y,v]),Le=w.useCallback((F,B)=>{if(!l||!F.change)return;const z=F.change,q=F.side==="old"?"old":"new",te=Fe(z,q);if(te){if(B.shiftKey&&S&&S.side===q){const J=Math.min(S.lineStart,te),me=Math.max(S.lineStart,te);C({lineStart:J,lineEnd:me,side:q});return}$.current={line:te,side:q},R(!0),C({lineStart:te,lineEnd:te,side:q})}},[l,S]),Ct=w.useCallback(F=>{!l||!F.change||!S||!L&&S&&V({lineStart:S.lineStart,lineEnd:S.lineEnd,side:S.side})},[l,S,L]),He=w.useCallback(F=>{let B=F;for(;B;){if(B instanceof HTMLElement){const z=B.getAttribute("data-change-key");if(z)return z}B=B.parentNode}return null},[]),Tt=w.useCallback(F=>{const B=window.getSelection();if(!B||B.isCollapsed){Y.current=null;return}const z=He(B.anchorNode),q=He(B.focusNode);if(!z||!q){Y.current=null;return}const te=U.get(z),J=U.get(q);if(!te||!J){Y.current=null;return}const me=Fe(te,F),se=Fe(J,F);if(me==null||se==null){Y.current=null;return}const Re=Math.min(me,se),le=Math.max(me,se);Y.current={lineStart:Re,lineEnd:le,side:F}},[He,U]),ot=w.useCallback(F=>{const{change:B,side:z,renderDefault:q,inHoverState:te}=F,J=Fe(B,z);if(!J)return q();const me=`${z}-${J}`,se=M.get(me),Re=se&&se.length>0,le=(se==null?void 0:se.some(Ne=>Ne.root.status==="open"||Ne.replies.some(pe=>pe.status==="open")))||!1,Ce=S&&S.side===z&&J>=S.lineStart&&J<=S.lineEnd;return u.jsxDEV("div",{className:"flex items-center gap-0.5",children:[u.jsxDEV("span",{className:H(Ce&&"bg-blue-100"),children:q()},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:945,columnNumber:11},this),u.jsxDEV("div",{className:"w-5 flex items-center justify-center",children:Re?u.jsxDEV(Tm,{commentCount:se.length,hasUnresolved:le,onClick:()=>{var re;const Ne=se[0].root.id,pe=(re=W.current)==null?void 0:re.querySelector(`[data-comment-id="${Ne}"]`);pe&&(pe.scrollIntoView({behavior:"smooth",block:"center"}),pe instanceof HTMLElement&&pe.focus({preventScroll:!0}))}},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:950,columnNumber:15},this):(!l||!te?!1:a==="split"?!0:B.type==="delete"?z==="old":z==="new")?u.jsxDEV("button",{className:"h-4 w-4 rounded-full bg-blue-500 hover:bg-blue-600 text-white flex items-center justify-center opacity-60 hover:opacity-100",onMouseDown:()=>Tt(z),onClick:pe=>{var he,ha;pe.stopPropagation();const re=(((he=Y.current)==null?void 0:he.side)===z?Y.current:null)??((S==null?void 0:S.side)===z?S:null)??{lineStart:J,lineEnd:J,side:z};V({lineStart:re.lineStart,lineEnd:re.lineEnd,side:re.side}),Y.current=null,(ha=window.getSelection())==null||ha.removeAllRanges()},title:"Add comment","aria-label":`Add comment on line ${J}`,children:u.jsxDEV(Nr,{className:"h-2.5 w-2.5","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1011,columnNumber:21},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:985,columnNumber:19},this):null},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:948,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:943,columnNumber:9},this)},[M,S,l,a,Tt]),Wt=w.useCallback(({changes:F})=>{if(!S||F.length===0)return"";const B=F.find(te=>te!==null);if(!B)return"";const z=S.side,q=Fe(B,z);return q&&q>=S.lineStart&&q<=S.lineEnd?"bg-blue-50":""},[S]);if(n)return u.jsxDEV(Bm,{},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1046,columnNumber:12},this);if(r)return u.jsxDEV(Um,{message:r},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1050,columnNumber:12},this);if(G)return u.jsxDEV(Gm,{filePath:t},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1054,columnNumber:12},this);if(!_||!_.hunks||_.hunks.length===0)return u.jsxDEV(Hm,{fileInfo:x},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1058,columnNumber:12},this);const Xe=_.hunks.reduce((F,B)=>F+B.changes.filter(z=>z.type==="insert").length,0),At=_.hunks.reduce((F,B)=>F+B.changes.filter(z=>z.type==="delete").length,0),Ze=o.filter(F=>F.parentId===null).length;return u.jsxDEV("div",{ref:W,className:"h-full flex flex-col",role:"region","aria-label":`Diff viewer for ${t}`,children:[u.jsxDEV("div",{className:"p-3 border-b flex items-center gap-2 bg-card shrink-0",children:[u.jsxDEV(Oe,{className:"h-4 w-4 text-muted-foreground","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1082,columnNumber:9},this),u.jsxDEV("span",{className:"font-mono text-sm truncate",children:t},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1083,columnNumber:9},this),u.jsxDEV("div",{className:"flex items-center gap-1 ml-2",role:"group","aria-label":"File statistics",children:[u.jsxDEV(xe,{variant:"secondary",className:"text-xs bg-green-100 text-green-700","aria-label":`${Xe} lines added`,children:["+",Xe]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1085,columnNumber:11},this),u.jsxDEV(xe,{variant:"secondary",className:"text-xs bg-red-100 text-red-700","aria-label":`${At} lines removed`,children:["-",At]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1092,columnNumber:11},this),Ze>0&&u.jsxDEV(xe,{variant:"secondary",className:"text-xs bg-blue-100 text-blue-700","aria-label":`${Ze} comments`,children:[u.jsxDEV(ke,{className:"h-3 w-3 mr-1","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1105,columnNumber:15},this),Ze]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1100,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1084,columnNumber:9},this),u.jsxDEV("div",{className:"flex-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1110,columnNumber:9},this),u.jsxDEV("div",{className:"flex items-center gap-1 border rounded-md p-0.5",role:"group","aria-label":"View type",children:[u.jsxDEV(ee,{variant:a==="unified"?"secondary":"ghost",size:"sm",className:"h-7 px-2 text-xs",onClick:()=>s("unified"),title:"Unified view","aria-pressed":a==="unified",children:[u.jsxDEV(Fl,{className:"h-3.5 w-3.5 mr-1","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1125,columnNumber:13},this),"Unified"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1117,columnNumber:11},this),u.jsxDEV(ee,{variant:a==="split"?"secondary":"ghost",size:"sm",className:"h-7 px-2 text-xs",onClick:()=>s("split"),title:"Side-by-side view","aria-pressed":a==="split",children:[u.jsxDEV(Cl,{className:"h-3.5 w-3.5 mr-1","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1136,columnNumber:13},this),"Split"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1128,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1112,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1081,columnNumber:7},this),u.jsxDEV(gr,{className:"flex-1",children:[u.jsxDEV("div",{className:H("diff-viewer",a==="split"&&"diff-split"),children:u.jsxDEV(pd,{viewType:a,diffType:_.type,hunks:_.hunks,tokens:ce,widgets:oe,renderGutter:ot,generateLineClassName:Wt,gutterEvents:{onMouseDown:Le,onClick:Ct},children:F=>F.map(B=>{const z=Ae(B.changes[0]),q=!A.has(z);return u.jsxDEV(Wm,{hunk:B,hunkKey:z,isExpanded:q,onToggleExpand:()=>{j(te=>{const J=new Set(te);return J.has(z)?J.delete(z):J.add(z),J})},viewType:a,children:u.jsxDEV(Ui,{hunk:B},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1181,columnNumber:21},this)},z,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1163,columnNumber:19},this)})},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1145,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1144,columnNumber:9},this),u.jsxDEV(Jo,{orientation:"horizontal"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1188,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1143,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1074,columnNumber:5},this)}var po="AlertDialog",[Ym]=As(po,[js]),Ue=js(),mo=e=>{const{__scopeAlertDialog:t,...n}=e,r=Ue(t);return O.jsx(el,{...r,...n,modal:!0})};mo.displayName=po;var qm="AlertDialogTrigger",ho=w.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,a=Ue(n);return O.jsx(tl,{...a,...r,ref:t})});ho.displayName=qm;var Xm="AlertDialogPortal",fo=e=>{const{__scopeAlertDialog:t,...n}=e,r=Ue(t);return O.jsx(nl,{...r,...n})};fo.displayName=Xm;var Zm="AlertDialogOverlay",go=w.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,a=Ue(n);return O.jsx(ll,{...a,...r,ref:t})});go.displayName=Zm;var bt="AlertDialogContent",[Qm,Jm]=Ym(bt),eh=sl("AlertDialogContent"),bo=w.forwardRef((e,t)=>{const{__scopeAlertDialog:n,children:r,...a}=e,s=Ue(n),i=w.useRef(null),o=Os(t,i),l=w.useRef(null);return O.jsx(rl,{contentName:bt,titleName:vo,docsSlug:"alert-dialog",children:O.jsx(Qm,{scope:n,cancelRef:l,children:O.jsxs(al,{role:"alertdialog",...s,...a,ref:o,onOpenAutoFocus:Ts(a.onOpenAutoFocus,c=>{var p;c.preventDefault(),(p=l.current)==null||p.focus({preventScroll:!0})}),onPointerDownOutside:c=>c.preventDefault(),onInteractOutside:c=>c.preventDefault(),children:[O.jsx(eh,{children:r}),O.jsx(nh,{contentRef:i})]})})})});bo.displayName=bt;var vo="AlertDialogTitle",No=w.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,a=Ue(n);return O.jsx(il,{...a,...r,ref:t})});No.displayName=vo;var wo="AlertDialogDescription",yo=w.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,a=Ue(n);return O.jsx(ol,{...a,...r,ref:t})});yo.displayName=wo;var th="AlertDialogAction",xo=w.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,a=Ue(n);return O.jsx(Vs,{...a,...r,ref:t})});xo.displayName=th;var Eo="AlertDialogCancel",So=w.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,{cancelRef:a}=Jm(Eo,n),s=Ue(n),i=Os(t,a);return O.jsx(Vs,{...s,...r,ref:i})});So.displayName=Eo;var nh=({contentRef:e})=>{const t=`\`${bt}\` requires a description for the component to be accessible for screen reader users.
|
|
78
|
+
|
|
79
|
+
You can add a description to the \`${bt}\` by passing a \`${wo}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
|
|
80
|
+
|
|
81
|
+
Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${bt}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
|
|
82
|
+
|
|
83
|
+
For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return w.useEffect(()=>{var r;document.getElementById((r=e.current)==null?void 0:r.getAttribute("aria-describedby"))||console.warn(t)},[t,e]),null},rh=mo,ah=ho,sh=fo,Do=go,Co=bo,To=xo,Ao=So,ko=No,Io=yo;const ih=rh,oh=ah,lh=sh,Ro=w.forwardRef(({className:e,...t},n)=>u.jsxDEV(Do,{className:H("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:n},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/alert-dialog.tsx",lineNumber:16,columnNumber:3},void 0));Ro.displayName=Do.displayName;const _o=w.forwardRef(({className:e,...t},n)=>u.jsxDEV(lh,{children:[u.jsxDEV(Ro,{},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/alert-dialog.tsx",lineNumber:32,columnNumber:5},void 0),u.jsxDEV(Co,{ref:n,className:H("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...t},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/alert-dialog.tsx",lineNumber:33,columnNumber:5},void 0)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/alert-dialog.tsx",lineNumber:31,columnNumber:3},void 0));_o.displayName=Co.displayName;const jo=({className:e,...t})=>u.jsxDEV("div",{className:H("flex flex-col space-y-2 text-center sm:text-left",e),...t},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/alert-dialog.tsx",lineNumber:46,columnNumber:3},void 0);jo.displayName="AlertDialogHeader";const Oo=({className:e,...t})=>u.jsxDEV("div",{className:H("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/alert-dialog.tsx",lineNumber:51,columnNumber:3},void 0);Oo.displayName="AlertDialogFooter";const Vo=w.forwardRef(({className:e,...t},n)=>u.jsxDEV(ko,{ref:n,className:H("text-lg font-semibold",e),...t},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/alert-dialog.tsx",lineNumber:62,columnNumber:3},void 0));Vo.displayName=ko.displayName;const Mo=w.forwardRef(({className:e,...t},n)=>u.jsxDEV(Io,{ref:n,className:H("text-sm text-muted-foreground",e),...t},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/alert-dialog.tsx",lineNumber:74,columnNumber:3},void 0));Mo.displayName=Io.displayName;const Lo=w.forwardRef(({className:e,...t},n)=>u.jsxDEV(To,{ref:n,className:H(Ms(),e),...t},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/alert-dialog.tsx",lineNumber:86,columnNumber:3},void 0));Lo.displayName=To.displayName;const Fo=w.forwardRef(({className:e,...t},n)=>u.jsxDEV(Ao,{ref:n,className:H(Ms({variant:"outline"}),"mt-2 sm:mt-0",e),...t},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/alert-dialog.tsx",lineNumber:94,columnNumber:3},void 0));Fo.displayName=Ao.displayName;const uh={comment:{icon:ke,label:"Comment",className:"text-gray-500"},suggestion:{icon:wr,label:"Suggestion",className:"text-blue-500"},issue:{icon:yt,label:"Issue",className:"text-orange-500"},approval:{icon:vr,label:"Approval",className:"text-green-500"}},ch={open:{icon:yt,label:"Open",badgeVariant:"secondary"},resolved:{icon:Ot,label:"Resolved",badgeVariant:"outline"},wont_fix:{icon:vn,label:"Won't Fix",badgeVariant:"outline"}};function ph(e,t=60){const n=e.replace(/\n/g," ").trim();return n.length<=t?n:n.slice(0,t).trim()+"…"}function dh(e){if(!e.filePath)return"Review-level";const t=e.filePath.split("/").pop()||e.filePath,n=e.lineStart!==null?e.lineEnd!==null&&e.lineEnd!==e.lineStart?`:${e.lineStart}-${e.lineEnd}`:`:${e.lineStart}`:"";return`${t}${n}`}function Ds({comment:e,replyCount:t,isPending:n,onClick:r,isSelected:a=!1,className:s}){var b;const i=uh[e.commentType],o=ch[e.status],l=i.icon,c=o.icon,p=e.authorType==="agent",d=p?$e:_s,m=p?e.authorAgentName??((b=e.authorAgentId)==null?void 0:b.slice(0,8))??"Agent":"You",f=dh(e),h=ph(e.content),g=[i.label,"by",m,"-",h,"-",f,"-",o.label,t>0?`- ${t} ${t===1?"reply":"replies"}`:"",n?"- Pending response":""].filter(Boolean).join(" ");return u.jsxDEV("button",{type:"button",onClick:r,className:H("w-full text-left p-2 rounded-md border transition-colors","hover:bg-accent hover:border-accent-foreground/20","focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",n&&"border-l-4 border-l-amber-500 bg-amber-50/50 dark:bg-amber-950/20",a&&"bg-accent border-accent-foreground/30",e.status!=="open"&&!a&&"opacity-60",s),"aria-label":g,"data-testid":"comment-reference-item",children:[u.jsxDEV("div",{className:"flex items-center gap-2 mb-1",children:[u.jsxDEV(l,{className:H("h-4 w-4 flex-shrink-0",i.className),"aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:174,columnNumber:9},this),u.jsxDEV("div",{className:H("flex items-center gap-1 text-xs font-medium min-w-0",p?"text-purple-700 dark:text-purple-400":"text-foreground"),children:[u.jsxDEV(d,{className:"h-3 w-3 flex-shrink-0","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:186,columnNumber:11},this),u.jsxDEV("span",{className:"truncate",children:m},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:187,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:180,columnNumber:9},this),u.jsxDEV("div",{className:"flex-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:191,columnNumber:9},this),u.jsxDEV(xe,{variant:o.badgeVariant,className:H("text-[10px] px-1.5 py-0 h-4 flex-shrink-0",e.status==="open"&&"bg-amber-100 text-amber-800 dark:bg-amber-900/50 dark:text-amber-400",e.status==="resolved"&&"text-green-600 dark:text-green-400",e.status==="wont_fix"&&"text-gray-500"),children:[u.jsxDEV(c,{className:"h-2.5 w-2.5 mr-0.5","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:204,columnNumber:11},this),o.label]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:194,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:172,columnNumber:7},this),u.jsxDEV("p",{className:"text-sm text-foreground truncate mb-1",title:e.content,children:h},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:210,columnNumber:7},this),u.jsxDEV("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[u.jsxDEV("div",{className:"flex items-center gap-1 min-w-0 flex-1",children:[u.jsxDEV(Oe,{className:"h-3 w-3 flex-shrink-0","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:218,columnNumber:11},this),u.jsxDEV("span",{className:"truncate",title:e.filePath??"Review-level",children:f},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:219,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:217,columnNumber:9},this),t>0&&u.jsxDEV("div",{className:"flex items-center gap-0.5 flex-shrink-0",children:[u.jsxDEV(_l,{className:"h-3 w-3","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:227,columnNumber:13},this),u.jsxDEV("span",{children:t},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:228,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:226,columnNumber:11},this),n&&u.jsxDEV("span",{className:"text-amber-600 dark:text-amber-400 flex-shrink-0",children:"Pending"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:234,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:215,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:153,columnNumber:5},this)}function mh(e){let n=(r=>r.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"))(e);return n=n.replace(/```(\w+)?\n([\s\S]*?)```/g,'<pre class="bg-muted p-2 rounded text-sm overflow-x-auto"><code>$2</code></pre>').replace(/`([^`]+)`/g,'<code class="bg-muted px-1 rounded text-sm">$1</code>').replace(/\*\*([^*]+)\*\*/g,"<strong>$1</strong>").replace(/\*([^*]+)\*/g,"<em>$1</em>").replace(/\[([^\]]+)\]\(([^)]+)\)/g,(r,a,s)=>`<a href="${/^(https?:|mailto:|#|\/)/i.test(s)?s:"#"}" class="text-blue-600 underline" target="_blank" rel="noopener noreferrer">${a}</a>`).replace(/\n/g,"<br />"),bl.sanitize(n,{ALLOWED_TAGS:["pre","code","strong","em","a","br"],ALLOWED_ATTR:["href","class","target","rel"],ALLOW_DATA_ATTR:!1})}const hh=[{value:"comment",label:"Comment",icon:ke},{value:"suggestion",label:"Suggestion",icon:wr},{value:"issue",label:"Issue",icon:yt},{value:"approval",label:"Approval",icon:vr}];async function fh(e){const t=await fetch(`/api/agents?projectId=${encodeURIComponent(e)}`);if(!t.ok)throw new Error("Failed to fetch agents");return t.json()}function gh({open:e,onOpenChange:t,filePath:n,lineStart:r,lineEnd:a,side:s,projectId:i,reviewId:o,onSubmit:l,isSubmitting:c=!1}){const[p,d]=w.useState(""),[m,f]=w.useState("comment"),[h,g]=w.useState(new Set),[b,N]=w.useState(""),[y,x]=w.useState("write"),[v,E]=w.useState(!1),S=w.useRef(null),{data:C}=br({queryKey:["agents",i],queryFn:()=>fh(i),enabled:e&&!!i}),D=(C==null?void 0:C.items)??[],{showAutocomplete:V,mentionQuery:A,selectedIndex:j,handleInputChange:L,handleKeyDown:R,insertMention:$}=Is(S,D,M=>{g(oe=>new Set([...oe,M.id]))}),W=w.useMemo(()=>D.filter(M=>M.name.toLowerCase().includes(A.toLowerCase())),[D,A]),Y=M=>{const oe=$(M,p);d(oe),g(Le=>new Set([...Le,M.id]))},k=w.useMemo(()=>{if(!b.trim())return D;const M=b.toLowerCase();return D.filter(oe=>oe.name.toLowerCase().includes(M))},[D,b]),_=8,U=w.useMemo(()=>{if(v)return k;const M=k.slice(0,_),oe=k.filter(Le=>h.has(Le.id)&&!M.some(Ct=>Ct.id===Le.id));return[...M,...oe]},[k,v,h]),T=k.length>_,G=w.useMemo(()=>n?r===null?n:a===null||a===r?`${n}:${r} (${s==="old"?"old":"new"})`:`${n}:${r}-${a} (${s==="old"?"old":"new"})`:"Review-level comment",[n,r,a,s]),Z=async()=>{if(!p.trim())return;const M=Rs(p,D),oe=[...new Set([...h,...M])];await l({content:p.trim(),commentType:m,assignedAgentIds:oe,filePath:n,lineStart:r,lineEnd:a,side:s}),d(""),f("comment"),g(new Set),N(""),x("write")},ce=()=>{d(""),f("comment"),g(new Set),N(""),x("write"),t(!1)};return u.jsxDEV(ln,{open:e,onOpenChange:t,children:u.jsxDEV(un,{className:"max-w-2xl max-h-[90vh] flex flex-col",children:[u.jsxDEV(cn,{children:[u.jsxDEV(pn,{className:"flex items-center gap-2",children:[u.jsxDEV(ke,{className:"h-5 w-5"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:255,columnNumber:13},this),"New Comment"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:254,columnNumber:11},this),u.jsxDEV(dn,{className:"flex items-center gap-2 font-mono text-xs",children:[u.jsxDEV(Oe,{className:"h-3 w-3"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:259,columnNumber:13},this),G]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:258,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:253,columnNumber:9},this),u.jsxDEV("div",{className:"flex-1 space-y-4 overflow-hidden",children:[u.jsxDEV("div",{className:"space-y-2",children:[u.jsxDEV(Bn,{children:"Comment Type"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:267,columnNumber:13},this),u.jsxDEV(ul,{value:m,onValueChange:M=>f(M),children:[u.jsxDEV(cl,{className:"w-[200px]","aria-label":"Select comment type",children:u.jsxDEV(pl,{},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:270,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:269,columnNumber:15},this),u.jsxDEV(dl,{children:hh.map(M=>{const oe=M.icon;return u.jsxDEV(ml,{value:M.value,children:u.jsxDEV("div",{className:"flex items-center gap-2",children:[u.jsxDEV(oe,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:278,columnNumber:25},this),M.label]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:277,columnNumber:23},this)},M.value,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:276,columnNumber:21},this)})},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:272,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:268,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:266,columnNumber:11},this),u.jsxDEV("div",{className:"space-y-2",children:[u.jsxDEV("div",{className:"flex items-center justify-between",children:[u.jsxDEV(Bn,{children:"Content"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:291,columnNumber:15},this),u.jsxDEV(hl,{value:y,onValueChange:M=>x(M),children:u.jsxDEV(fl,{className:"h-8",children:[u.jsxDEV(wa,{value:"write",className:"text-xs px-2 h-6",children:[u.jsxDEV(Ol,{className:"h-3 w-3 mr-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:295,columnNumber:21},this),"Write"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:294,columnNumber:19},this),u.jsxDEV(wa,{value:"preview",className:"text-xs px-2 h-6",children:[u.jsxDEV(gl,{className:"h-3 w-3 mr-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:299,columnNumber:21},this),"Preview"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:298,columnNumber:19},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:293,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:292,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:290,columnNumber:13},this),y==="write"?u.jsxDEV("div",{className:"relative",children:[u.jsxDEV(on,{ref:S,value:p,onChange:M=>{d(M.target.value),L(M.target.value,M.target.selectionStart)},onKeyDown:M=>{R(M,p,d)},placeholder:"Write your comment... (Markdown supported, type @ to mention agents)",className:"min-h-[150px] font-mono text-sm",disabled:c},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:308,columnNumber:17},this),V&&W.length>0&&u.jsxDEV("div",{className:"absolute bottom-full left-0 mb-1 w-48 max-h-40 overflow-auto bg-popover border rounded-md shadow-lg z-50",children:W.map((M,oe)=>u.jsxDEV("button",{type:"button",className:H("w-full px-3 py-1.5 text-sm text-left flex items-center gap-2 hover:bg-accent",oe===j&&"bg-accent"),onClick:()=>Y(M),children:[u.jsxDEV($e,{className:"h-3 w-3 text-muted-foreground"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:335,columnNumber:25},this),M.name]},M.id,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:326,columnNumber:23},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:324,columnNumber:19},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:307,columnNumber:15},this):u.jsxDEV("div",{className:"min-h-[150px] p-3 border rounded-md bg-muted/30 prose prose-sm max-w-none",dangerouslySetInnerHTML:{__html:p.trim()?mh(p):'<span class="text-muted-foreground">Nothing to preview</span>'}},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:343,columnNumber:15},this),u.jsxDEV("p",{className:"text-xs text-muted-foreground",children:"Supports basic Markdown: **bold**, *italic*, `code`, ```code blocks```, [links](url)"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:353,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:289,columnNumber:11},this),u.jsxDEV("div",{className:"space-y-2",children:[u.jsxDEV(Bn,{className:"flex items-center gap-2",children:[u.jsxDEV($e,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:361,columnNumber:15},this),"Assign to Agents (optional)"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:360,columnNumber:13},this),D.length>0?u.jsxDEV("div",{className:"space-y-2",children:[u.jsxDEV("div",{className:"flex items-center gap-1 flex-wrap",children:[u.jsxDEV(xr,{type:"multiple",value:Array.from(h),onValueChange:M=>g(new Set(M)),className:"flex-wrap !justify-start gap-1",children:U.map(M=>u.jsxDEV(Er,{value:M.id,size:"sm",variant:"outline",className:"h-7 text-sm gap-1 px-2 data-[state=on]:!bg-primary data-[state=on]:!text-primary-foreground","aria-label":`Assign to ${M.name}`,children:[u.jsxDEV($e,{className:"h-3 w-3"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:384,columnNumber:25},this),M.name]},M.id,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:376,columnNumber:23},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:369,columnNumber:19},this),U.length===0&&b.trim()&&u.jsxDEV("p",{className:"text-sm text-muted-foreground py-2",children:"No agents found"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:390,columnNumber:21},this),T&&!v&&u.jsxDEV(ee,{variant:"ghost",size:"sm",className:"h-7 text-sm px-2",onClick:()=>E(!0),children:["+",k.length-_," more"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:393,columnNumber:21},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:368,columnNumber:17},this),v&&u.jsxDEV("div",{className:"space-y-2",children:u.jsxDEV("div",{className:"flex items-center gap-2",children:[u.jsxDEV("div",{className:"relative flex-1",children:[u.jsxDEV(hr,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:409,columnNumber:25},this),u.jsxDEV(fr,{value:b,onChange:M=>N(M.target.value),placeholder:"Search agents...",className:"pl-8"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:410,columnNumber:25},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:408,columnNumber:23},this),u.jsxDEV(ee,{variant:"ghost",size:"sm",onClick:()=>{E(!1),N("")},children:"Collapse"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:417,columnNumber:23},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:407,columnNumber:21},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:406,columnNumber:19},this),h.size>0&&u.jsxDEV("p",{className:"text-xs text-muted-foreground",children:[h.size," agent",h.size>1?"s":""," selected"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:433,columnNumber:19},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:366,columnNumber:15},this):u.jsxDEV("p",{className:"text-sm text-muted-foreground py-2",children:"No agents available"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:439,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:359,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:264,columnNumber:9},this),u.jsxDEV(Zn,{children:[u.jsxDEV(ee,{variant:"outline",onClick:ce,disabled:c,children:"Cancel"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:445,columnNumber:11},this),u.jsxDEV(ee,{onClick:Z,disabled:!p.trim()||c,children:c?"Posting...":"Post Comment"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:448,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:444,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:252,columnNumber:7},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:251,columnNumber:5},this)}function bh(){const e=xt();return Bt({mutationFn:async t=>{const n=await fetch(`/api/reviews/${t.reviewId}/comments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:t.content,commentType:t.commentType,filePath:t.filePath,lineStart:t.lineStart,lineEnd:t.lineEnd,side:t.side,targetAgentIds:t.targetAgentIds})});if(!n.ok)throw new Error("Failed to create comment");return n.json()},onMutate:async t=>{await e.cancelQueries({queryKey:["review-comments",t.reviewId]});const n=e.getQueryData(["review-comments",t.reviewId]),r={id:`temp-${Date.now()}`,reviewId:t.reviewId,filePath:t.filePath,parentId:null,lineStart:t.lineStart,lineEnd:t.lineEnd,side:t.side,content:t.content,commentType:t.commentType,status:"open",authorType:"user",authorAgentId:null,authorAgentName:null,targetAgents:[],version:1,editedAt:null,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()};return e.setQueryData(["review-comments",t.reviewId],a=>a?{...a,items:[r,...a.items],total:a.total+1}:{items:[r],total:1,limit:100,offset:0}),{previousComments:n}},onError:(t,n,r)=>{r!=null&&r.previousComments&&e.setQueryData(["review-comments",n.reviewId],r.previousComments),vt({title:"Failed to create comment",description:"Your comment could not be posted. Please try again.",variant:"destructive"})},onSettled:(t,n,r)=>{e.invalidateQueries({queryKey:["review-comments",r.reviewId]})}})}function Gh(){const e=xt();return Bt({mutationFn:async t=>{const n=await fetch(`/api/reviews/${t.reviewId}/comments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({parentId:t.parentId,content:t.content,commentType:"comment",targetAgentIds:t.targetAgentIds})});if(!n.ok)throw new Error("Failed to post reply");return n.json()},onMutate:async t=>{await e.cancelQueries({queryKey:["review-comments",t.reviewId]});const n=e.getQueryData(["review-comments",t.reviewId]),r=n==null?void 0:n.items.find(s=>s.id===t.parentId),a={id:`temp-${Date.now()}`,reviewId:t.reviewId,filePath:(r==null?void 0:r.filePath)??null,parentId:t.parentId,lineStart:(r==null?void 0:r.lineStart)??null,lineEnd:(r==null?void 0:r.lineEnd)??null,side:(r==null?void 0:r.side)??null,content:t.content,commentType:"comment",status:"open",authorType:"user",authorAgentId:null,authorAgentName:null,targetAgents:[],version:1,editedAt:null,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()};return e.setQueryData(["review-comments",t.reviewId],s=>s?{...s,items:[...s.items,a],total:s.total+1}:{items:[a],total:1,limit:100,offset:0}),{previousComments:n}},onError:(t,n,r)=>{r!=null&&r.previousComments&&e.setQueryData(["review-comments",n.reviewId],r.previousComments),vt({title:"Failed to post reply",description:"Your reply could not be posted. Please try again.",variant:"destructive"})},onSettled:(t,n,r)=>{e.invalidateQueries({queryKey:["review-comments",r.reviewId]})}})}function Uh(){const e=xt();return Bt({mutationFn:async t=>{const n=await fetch(`/api/reviews/${t.reviewId}/comments/${t.commentId}/resolve`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:t.status,version:t.version})});if(!n.ok)throw new Error("Failed to resolve comment");return n.json()},onMutate:async t=>{await e.cancelQueries({queryKey:["review-comments",t.reviewId]});const n=e.getQueryData(["review-comments",t.reviewId]);return e.setQueryData(["review-comments",t.reviewId],r=>r&&{...r,items:r.items.map(a=>a.id===t.commentId?{...a,status:t.status,version:t.version+1}:a)}),{previousComments:n}},onError:(t,n,r)=>{r!=null&&r.previousComments&&e.setQueryData(["review-comments",n.reviewId],r.previousComments),vt({title:"Failed to resolve comment",description:"The comment could not be resolved. Please try again.",variant:"destructive"})},onSettled:(t,n,r)=>{e.invalidateQueries({queryKey:["review-comments",r.reviewId]})}})}function Hh(){const e=xt();return Bt({mutationFn:async t=>{if(!(await fetch(`/api/reviews/${t.reviewId}/comments/${t.commentId}`,{method:"DELETE"})).ok)throw new Error("Failed to delete comment")},onMutate:async t=>{await e.cancelQueries({queryKey:["review-comments",t.reviewId]});const n=e.getQueryData(["review-comments",t.reviewId]);return e.setQueryData(["review-comments",t.reviewId],r=>{if(!r)return r;const a=new Map;r.items.forEach(l=>{if(!l.parentId)return;const c=a.get(l.parentId);c?c.push(l.id):a.set(l.parentId,[l.id])});const s=new Set,i=[t.commentId];for(;i.length>0;){const l=i.pop();if(!l||s.has(l))continue;s.add(l);const c=a.get(l);c&&i.push(...c)}const o=r.items.filter(l=>!s.has(l.id));return{...r,items:o,total:o.length}}),{previousComments:n}},onError:(t,n,r)=>{r!=null&&r.previousComments&&e.setQueryData(["review-comments",n.reviewId],r.previousComments),vt({title:"Failed to delete comment",description:"The comment could not be deleted. Please try again.",variant:"destructive"})},onSuccess:()=>{vt({title:"Comment deleted",description:"The comment has been deleted."})},onSettled:(t,n,r)=>{e.invalidateQueries({queryKey:["review-comments",r.reviewId]})}})}function Kh(){const e=xt();return Bt({mutationFn:async t=>{const n=await fetch(`/api/reviews/${t.reviewId}/comments/${t.commentId}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:t.content,version:t.version})});if(!n.ok)throw new Error("Failed to edit comment");return n.json()},onMutate:async t=>{await e.cancelQueries({queryKey:["review-comments",t.reviewId]});const n=e.getQueryData(["review-comments",t.reviewId]);return e.setQueryData(["review-comments",t.reviewId],r=>r&&{...r,items:r.items.map(a=>a.id===t.commentId?{...a,content:t.content,version:t.version+1,editedAt:new Date().toISOString(),updatedAt:new Date().toISOString()}:a)}),{previousComments:n}},onError:(t,n,r)=>{r!=null&&r.previousComments&&e.setQueryData(["review-comments",n.reviewId],r.previousComments),vt({title:"Failed to edit comment",description:"The comment could not be updated. Please try again.",variant:"destructive"})},onSettled:(t,n,r)=>{e.invalidateQueries({queryKey:["review-comments",r.reviewId]})}})}function qn({filter:e,currentFilter:t,onClick:n,count:r,icon:a,label:s}){const i=e===t;return u.jsxDEV(ee,{variant:i?"secondary":"ghost",size:"sm",onClick:n,className:H("h-7 text-xs gap-1",i&&"bg-secondary"),"aria-pressed":i,"aria-label":`${s} filter${r!==void 0?`, ${r} comments`:""}`,children:[u.jsxDEV(a,{className:"h-3 w-3","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:89,columnNumber:7},this),s,r!==void 0&&u.jsxDEV(xe,{variant:"outline",className:"h-4 px-1 text-[10px] ml-1","aria-hidden":"true",children:r},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:92,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:81,columnNumber:5},this)}function vh(){return u.jsxDEV("div",{className:"p-4 space-y-4",children:Array.from({length:3}).map((e,t)=>u.jsxDEV("div",{className:"space-y-2",children:[u.jsxDEV("div",{className:"flex items-center gap-2",children:[u.jsxDEV(Pe,{className:"h-4 w-4 rounded-full"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:106,columnNumber:13},this),u.jsxDEV(Pe,{className:"h-4 w-24"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:107,columnNumber:13},this),u.jsxDEV(Pe,{className:"h-4 w-16"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:108,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:105,columnNumber:11},this),u.jsxDEV(Pe,{className:"h-16 w-full"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:110,columnNumber:11},this)]},t,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:104,columnNumber:9},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:102,columnNumber:5},this)}function Nh({filter:e,_selectedFile:t,onAddComment:n}){const r=()=>{switch(e){case"file":return"No file comments yet";case"review":return"No review-level comments";default:return"No comments yet"}};return u.jsxDEV("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground p-4",children:[u.jsxDEV(ke,{className:"h-8 w-8 mb-2"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:139,columnNumber:7},this),u.jsxDEV("p",{className:"text-sm text-center",children:r()},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:140,columnNumber:7},this),e==="review"&&n&&u.jsxDEV(ee,{variant:"outline",size:"sm",className:"mt-3",onClick:n,children:[u.jsxDEV(Nr,{className:"h-3 w-3 mr-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:143,columnNumber:11},this),"Add Review Comment"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:142,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:138,columnNumber:5},this)}function wh({group:e,isExpanded:t,isSelected:n,onToggle:r,onSelect:a}){const s=()=>{a==null||a(),t||r()};return u.jsxDEV("div",{className:H("flex items-center gap-1 w-full rounded-md","hover:bg-accent transition-colors",n&&"bg-accent/50 border-l-2 border-l-primary"),"data-testid":"file-group-header","aria-expanded":t,children:[u.jsxDEV("button",{type:"button",onClick:r,className:"shrink-0 p-2 rounded hover:bg-accent-foreground/10 focus:outline-none focus-visible:ring-2 focus-visible:ring-ring","aria-label":t?"Collapse":"Expand","aria-expanded":t,children:u.jsxDEV(bn,{className:H("h-4 w-4 transition-transform",t&&"rotate-90"),"aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:201,columnNumber:9},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:194,columnNumber:7},this),u.jsxDEV("button",{type:"button",onClick:s,className:"flex items-center gap-2 flex-1 min-w-0 py-2 pr-2 text-left focus:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded-r-md",children:[u.jsxDEV(Oe,{className:"h-4 w-4 shrink-0","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:212,columnNumber:9},this),u.jsxDEV("span",{className:"flex-1 truncate font-medium text-sm",children:e.fileName},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:213,columnNumber:9},this),n&&u.jsxDEV(wl,{className:"h-2 w-2 fill-primary text-primary shrink-0","aria-label":"Selected file"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:215,columnNumber:11},this),u.jsxDEV(xe,{variant:"secondary",className:"text-xs shrink-0",children:e.comments.length},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:220,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:207,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:183,columnNumber:5},this)}function Wh({reviewId:e,review:t,projectId:n,selectedFile:r,onCommentSelect:a,onNavigateToComment:s,onSelectFile:i,selectedCommentId:o,onCloseReview:l,isClosingReview:c,className:p}){const[d,m]=w.useState("all"),[f,h]=w.useState(!1),[g,b]=w.useState(new Set),N=w.useRef(null),y=bh();w.useEffect(()=>{r&&m("file")},[r]);const{data:x,isLoading:v,isError:E}=br({queryKey:["review-comments",e],queryFn:()=>Lm(e),enabled:!!e}),S=(x==null?void 0:x.items)??[],C=w.useMemo(()=>{switch(d){case"file":return S.filter(k=>k.filePath!==null);case"review":return S.filter(k=>k.filePath===null);default:return S}},[S,d]),D=w.useMemo(()=>Fm(C),[C]),V=w.useMemo(()=>C.filter(k=>k.parentId===null).sort((k,_)=>{const U=D.get(k.id)??[],T=D.get(_.id)??[],G=Rt({comment:k,replies:U}),Z=Rt({comment:_,replies:T});if(G!==Z)return G?-1:1;if(k.status!==_.status){if(k.status==="open")return-1;if(_.status==="open")return 1}return new Date(_.createdAt).getTime()-new Date(k.createdAt).getTime()}),[C,D]),A=w.useMemo(()=>{if(d!=="file")return[];const k=new Map;for(const U of V)if(U.filePath){const T=k.get(U.filePath)||[];k.set(U.filePath,[...T,U])}const _=[];for(const[U,T]of k){const G=T.flatMap(ce=>{const M=D.get(ce.id)??[];return[ce.createdAt,...M.map(oe=>oe.createdAt)]}),Z=Math.max(...G.map(ce=>new Date(ce).getTime()));_.push({filePath:U,fileName:U.split("/").pop()||U,comments:T,recentActivity:Z})}return _.sort((U,T)=>T.recentActivity!==U.recentActivity?T.recentActivity-U.recentActivity:U.filePath.localeCompare(T.filePath))},[V,D,d]),j=w.useMemo(()=>A.map(k=>k.filePath).join("|"),[A]);w.useEffect(()=>{d==="file"&&A.length>0&&b(new Set(A.map(k=>k.filePath)))},[d,j,A]),w.useEffect(()=>{r&&d==="file"&&b(k=>new Set([...k,r]))},[r,d]),w.useEffect(()=>{if(!r||d!=="file"||!N.current)return;const k=setTimeout(()=>{var _;(_=N.current)==null||_.scrollIntoView({behavior:"smooth",block:"nearest"})},0);return()=>clearTimeout(k)},[r,d]);const L=w.useMemo(()=>{const k=S.filter(T=>T.filePath!==null&&T.parentId===null),_=S.filter(T=>T.filePath===null&&T.parentId===null);return{all:S.filter(T=>T.parentId===null).length,file:k.length,review:_.length}},[S]),R=w.useMemo(()=>{const k=S.filter(T=>T.parentId===null),_=k.filter(T=>T.status==="open").length,U=k.filter(T=>T.status==="resolved"||T.status==="wont_fix").length;return{open:_,resolved:U}},[S]),$=k=>{s&&s({commentId:k.id,filePath:k.filePath,lineStart:k.lineStart,side:k.side}),a&&a(k)},W=()=>{h(!0)},Y=async k=>{await y.mutateAsync({reviewId:e,content:k.content,commentType:k.commentType,filePath:k.filePath,lineStart:k.lineStart,lineEnd:k.lineEnd,side:k.side,targetAgentIds:k.assignedAgentIds}),h(!1),m("review")};return v?u.jsxDEV("div",{className:H("h-full flex flex-col",p),children:[u.jsxDEV("div",{className:"p-3 border-b",children:u.jsxDEV("h3",{className:"font-medium flex items-center gap-2 text-sm",children:[u.jsxDEV(ke,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:458,columnNumber:13},this),"Comments"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:457,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:456,columnNumber:9},this),u.jsxDEV(vh,{},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:462,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:455,columnNumber:7},this):E?u.jsxDEV("div",{className:H("h-full flex flex-col",p),children:[u.jsxDEV("div",{className:"p-3 border-b",children:u.jsxDEV("h3",{className:"font-medium flex items-center gap-2 text-sm",children:[u.jsxDEV(ke,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:472,columnNumber:13},this),"Comments"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:471,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:470,columnNumber:9},this),u.jsxDEV("div",{className:"flex-1 flex items-center justify-center text-muted-foreground p-4",children:u.jsxDEV("p",{className:"text-sm",children:"Failed to load comments"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:477,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:476,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:469,columnNumber:7},this):u.jsxDEV("div",{className:H("h-full flex flex-col",p),role:"region","aria-label":"Comments panel","data-testid":"comment-panel",children:[u.jsxDEV("div",{className:"p-3 border-b space-y-2",children:[u.jsxDEV("div",{className:"flex items-center justify-between",children:[u.jsxDEV("h3",{className:"font-medium flex items-center gap-2 text-sm",id:"comments-heading",children:[u.jsxDEV(ke,{className:"h-4 w-4","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:494,columnNumber:13},this),"Comments",L.all>0&&u.jsxDEV(xe,{variant:"secondary",className:"text-xs","aria-label":`${L.all} total comments`,children:L.all},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:497,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:493,columnNumber:11},this),t&&l&&u.jsxDEV(ih,{children:[u.jsxDEV(oh,{asChild:!0,children:u.jsxDEV(ee,{variant:"outline",size:"sm",className:"h-7 text-xs",disabled:c,children:[u.jsxDEV(vn,{className:"h-3 w-3 mr-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:517,columnNumber:19},this),"Close Review"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:511,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:510,columnNumber:15},this),u.jsxDEV(_o,{children:[u.jsxDEV(jo,{children:[u.jsxDEV(Vo,{children:"Close review?"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:523,columnNumber:19},this),u.jsxDEV(Mo,{asChild:!0,children:u.jsxDEV("div",{className:"space-y-2",children:[u.jsxDEV("p",{children:"Are you sure you want to close this review?"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:526,columnNumber:23},this),R.open>0&&u.jsxDEV("p",{className:"text-amber-700 dark:text-amber-500",children:[R.open," open comment",R.open!==1?"s":""," will be deleted."]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:528,columnNumber:25},this),R.resolved>0&&u.jsxDEV("p",{className:"text-muted-foreground",children:[R.resolved," resolved comment",R.resolved!==1?"s":""," will be kept."]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:534,columnNumber:25},this),R.open===0&&R.resolved===0&&u.jsxDEV("p",{className:"text-muted-foreground",children:"No comments in this review."},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:540,columnNumber:25},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:525,columnNumber:21},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:524,columnNumber:19},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:522,columnNumber:17},this),u.jsxDEV(Oo,{children:[u.jsxDEV(Fo,{children:"Cancel"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:546,columnNumber:19},this),u.jsxDEV(Lo,{onClick:l,disabled:c,children:c?"Closing...":"Close Review"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:547,columnNumber:19},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:545,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:521,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:509,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:492,columnNumber:9},this),u.jsxDEV("div",{className:"flex gap-1 flex-wrap",role:"group","aria-label":"Comment filters",children:[u.jsxDEV(qn,{filter:"all",currentFilter:d,onClick:()=>m("all"),count:L.all,icon:vl,label:"All"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:558,columnNumber:11},this),u.jsxDEV(qn,{filter:"file",currentFilter:d,onClick:()=>m("file"),count:L.file,icon:Oe,label:"Files"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:566,columnNumber:11},this),u.jsxDEV(qn,{filter:"review",currentFilter:d,onClick:()=>m("review"),count:L.review,icon:Nl,label:"Review"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:574,columnNumber:11},this),d==="review"&&n&&u.jsxDEV(ee,{variant:"outline",size:"sm",className:"h-7 text-xs gap-1 ml-auto",onClick:W,children:[u.jsxDEV(Nr,{className:"h-3 w-3"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:590,columnNumber:15},this),"Add Comment"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:584,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:557,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:491,columnNumber:7},this),u.jsxDEV(gr,{className:"flex-1",children:V.length===0?u.jsxDEV(Nh,{filter:d,_selectedFile:r,onAddComment:n?W:void 0},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:600,columnNumber:11},this):d==="file"?u.jsxDEV("div",{className:"p-3 space-y-1","aria-labelledby":"comments-heading",children:A.map(k=>{const _=g.has(k.filePath),U=r===k.filePath;return u.jsxDEV("div",{ref:U?N:void 0,"data-testid":"file-group",children:[u.jsxDEV(wh,{group:k,isExpanded:_,isSelected:U,onToggle:()=>{b(T=>{const G=new Set(T);return G.has(k.filePath)?G.delete(k.filePath):G.add(k.filePath),G})},onSelect:()=>i==null?void 0:i(k.filePath)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:617,columnNumber:19},this),_&&u.jsxDEV("div",{className:"ml-6 mt-1 space-y-2",children:k.comments.map(T=>{const G=D.get(T.id)??[],Z=Rt({comment:T,replies:G});return u.jsxDEV(Ds,{comment:T,replyCount:G.length,isPending:Z,onClick:()=>$(T),isSelected:o===T.id},T.id,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:640,columnNumber:27},this)})},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:635,columnNumber:21},this)]},k.filePath,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:612,columnNumber:17},this)})},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:607,columnNumber:11},this):u.jsxDEV("div",{className:"p-3 space-y-2","aria-labelledby":"comments-heading",children:V.map(k=>{const _=D.get(k.id)??[],U=Rt({comment:k,replies:_});return u.jsxDEV(Ds,{comment:k,replyCount:_.length,isPending:U,onClick:()=>$(k),isSelected:o===k.id},k.id,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:664,columnNumber:17},this)})},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:658,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:598,columnNumber:7},this),n&&u.jsxDEV(gh,{open:f,onOpenChange:h,filePath:null,lineStart:null,lineEnd:null,side:null,projectId:n,reviewId:e,onSubmit:Y,isSubmitting:y.isPending},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:680,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:484,columnNumber:5},this)}function yh(){const e=document.activeElement;if(!e)return!1;const t=e.tagName.toLowerCase();return t==="input"||t==="textarea"||t==="select"||e.getAttribute("contenteditable")==="true"}const xh=[{key:"j",description:"Next file"},{key:"k",description:"Previous file"},{key:"n",description:"Next comment"},{key:"p",description:"Previous comment"},{key:"c",description:"Add comment on selected line"},{key:"r",description:"Reply to focused comment"},{key:"Escape",description:"Close dialog / Clear selection"},{key:"⌘/Ctrl + Enter",description:"Submit comment"},{key:"?",description:"Show keyboard shortcuts"}];function Yh(e){const{enabled:t=!0,handlers:n}=e,[r,a]=w.useState(!1),s=w.useCallback(()=>a(!0),[]),i=w.useCallback(()=>a(!1),[]),o=w.useCallback(()=>a(l=>!l),[]);return w.useEffect(()=>{if(!t)return;const l=c=>{if(c.key==="Escape"&&r){c.preventDefault(),i();return}if((c.metaKey||c.ctrlKey)&&c.key==="Enter"){n.onSubmit&&(c.preventDefault(),n.onSubmit());return}if(!yh())switch(c.key){case"j":n.onNextFile&&(c.preventDefault(),n.onNextFile());break;case"k":n.onPreviousFile&&(c.preventDefault(),n.onPreviousFile());break;case"n":n.onNextComment&&(c.preventDefault(),n.onNextComment());break;case"p":n.onPreviousComment&&(c.preventDefault(),n.onPreviousComment());break;case"c":n.onOpenComment&&(c.preventDefault(),n.onOpenComment());break;case"r":n.onReply&&(c.preventDefault(),n.onReply());break;case"Escape":n.onEscape&&(c.preventDefault(),n.onEscape());break;case"?":c.preventDefault(),o();break}};return document.addEventListener("keydown",l),()=>{document.removeEventListener("keydown",l)}},[t,n,r,i,o]),{isHelpOpen:r,openHelp:s,closeHelp:i,toggleHelp:o}}function Cs({children:e}){return u.jsxDEV(xe,{variant:"outline",className:"px-2 py-0.5 text-xs font-mono bg-muted min-w-[24px] justify-center",children:e},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:22,columnNumber:5},this)}function qh({open:e,onOpenChange:t}){return u.jsxDEV(ln,{open:e,onOpenChange:t,children:u.jsxDEV(un,{className:"sm:max-w-md",children:[u.jsxDEV(cn,{children:[u.jsxDEV(pn,{className:"flex items-center gap-2",children:[u.jsxDEV(yl,{className:"h-5 w-5"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:40,columnNumber:13},this),"Keyboard Shortcuts"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:39,columnNumber:11},this),u.jsxDEV(dn,{className:"sr-only",children:"List of available keyboard shortcuts for navigating the review"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:43,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:38,columnNumber:9},this),u.jsxDEV("div",{className:"space-y-3 py-2",children:xh.map(n=>u.jsxDEV("div",{className:"flex items-center justify-between gap-4",children:[u.jsxDEV("span",{className:"text-sm text-muted-foreground",children:n.description},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:50,columnNumber:15},this),u.jsxDEV(Cs,{children:n.key},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:51,columnNumber:15},this)]},n.key,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:49,columnNumber:13},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:47,columnNumber:9},this),u.jsxDEV("div",{className:"pt-2 text-xs text-muted-foreground text-center border-t",children:["Press ",u.jsxDEV(Cs,{children:"?"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:56,columnNumber:17},this)," anytime to show this help"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:55,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:37,columnNumber:7},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:36,columnNumber:5},this)}function Xh(e,t){const n=xt(),r=w.useCallback(s=>{if(!e)return;const{topic:i,type:o}=s;i===`review/${e}`&&(o==="comment.created"?n.invalidateQueries({queryKey:["review-comments",e]}):o==="comment.resolved"?n.invalidateQueries({queryKey:["review-comments",e]}):o==="comment.updated"?n.invalidateQueries({queryKey:["review-comments",e]}):o==="comment.deleted"?n.invalidateQueries({queryKey:["review-comments",e]}):o==="review.updated"&&n.invalidateQueries({queryKey:["review",e]})),t&&i===`project/${t}/reviews`&&(o==="comment.created"||o==="comment.resolved"||o==="comment.updated"||o==="comment.deleted"?n.invalidateQueries({queryKey:["reviews",t]}):o==="review.updated"&&n.invalidateQueries({queryKey:["reviews",t]}))},[n,e,t]),a=w.useMemo(()=>({message:r}),[r]);xl(a,[e,t])}export{Mm as C,Bh as D,Oe as F,qh as K,Dh as N,Ch as R,_h as S,xr as T,bh as a,Gh as b,Uh as c,Hh as d,Kh as e,$h as f,Fm as g,Yh as h,Rt as i,Er as j,Th as k,kh as l,Ah as m,Wh as n,Rh as o,zh as p,Fh as q,Ph as r,Oh as s,Vh as t,Xh as u,Lm as v,jh as w,Ih as x,Mh as y,Lh as z};
|