ompchamber 1.1.0 → 1.2.1

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.
Files changed (192) hide show
  1. package/dist/client/index.html +1 -1
  2. package/dist/client/static/css/index.b938f4a693.css +2 -0
  3. package/dist/client/static/js/77.8022a800b5.js +139 -0
  4. package/dist/client/static/js/async/{1k.5974df3b87.js → 1k.a411fe5b43.js} +2 -2
  5. package/dist/client/static/js/async/{3y.71f2ccf3b6.js → 3y.3186ecdd63.js} +5 -5
  6. package/dist/client/static/js/async/5b.d88304bc13.js +1 -0
  7. package/dist/client/static/js/async/66.86544ad741.js +93 -0
  8. package/dist/client/static/js/async/7g.db82aca7ba.js +1 -0
  9. package/dist/client/static/js/async/7l.fadbbc0583.js +1 -0
  10. package/dist/client/static/js/async/{dc.856fda6560.js → ar.ad5c8822a8.js} +2 -2
  11. package/dist/client/static/js/async/cx.9c8268d542.js +226 -0
  12. package/dist/client/static/js/async/e.6443e739a2.js +79 -0
  13. package/dist/client/static/js/async/f7.46971e9d6d.js +2 -0
  14. package/dist/client/static/js/async/g.ee41bfed7f.js +2 -0
  15. package/dist/client/static/js/async/h1.d7091cef78.js +1 -0
  16. package/dist/client/static/js/async/hs.e7c59d8090.js +41 -0
  17. package/dist/client/static/js/async/jl.4911fa3383.js +1 -0
  18. package/dist/client/static/js/async/{k.7466330d1a.js → k.d16cd09ae7.js} +2 -2
  19. package/dist/client/static/js/async/{m.c038c71b9f.js → m.2e1ea3db9e.js} +2 -2
  20. package/dist/client/static/js/async/m3.d2b05f9604.js +2 -0
  21. package/dist/client/static/js/async/mt.853be2b5aa.js +1 -0
  22. package/dist/client/static/js/async/{oc.9c060c9779.js → oc.eb22093f05.js} +1 -1
  23. package/dist/client/static/js/async/{og.634fba99ac.js → og.53f068804c.js} +1 -1
  24. package/dist/client/static/js/async/{5b.a5ccbc19dc.js → q.b453193538.js} +10 -10
  25. package/dist/client/static/js/async/q5.88b50ffa95.js +286 -0
  26. package/dist/client/static/js/async/q8.7f1b48e9cd.js +21 -0
  27. package/dist/client/static/js/async/{sy.d16be843a7.js → s.aad2ecebc6.js} +1 -1
  28. package/dist/client/static/js/async/{tr.e878658140.js → tr.2a0d2b7600.js} +1 -1
  29. package/dist/client/static/js/async/vt.20406a5604.js +1 -0
  30. package/dist/client/static/js/async/x1.fe8af17016.js +90 -0
  31. package/dist/client/static/js/async/yg.5a94e1fc8a.js +149 -0
  32. package/dist/client/static/js/async/yx.af2936c368.js +10 -0
  33. package/dist/client/static/js/index.5fe7a2cb64.js +34 -0
  34. package/package.json +1 -1
  35. package/src/client/components/common/file-icon/index.tsx +4 -1
  36. package/src/client/components/common/image-viewer/index.tsx +224 -0
  37. package/src/client/components/mobile/mobile-right-sidebar/FullEditor.tsx +57 -43
  38. package/src/client/components/mobile/mobile-right-sidebar/Header.tsx +31 -24
  39. package/src/client/components/settings/Modal.tsx +1 -0
  40. package/src/client/components/settings/categories/ChatSettings.tsx +6 -2
  41. package/src/client/components/settings/categories/chat-settings/TitleSection.tsx +99 -0
  42. package/src/client/components/workspace/btw-panel/AskCard.tsx +155 -0
  43. package/src/client/components/workspace/btw-panel/Composer.tsx +183 -0
  44. package/src/client/components/workspace/btw-panel/Messages.tsx +100 -0
  45. package/src/client/components/workspace/btw-panel/TopicMenu.tsx +106 -0
  46. package/src/client/components/workspace/btw-panel/attachments.ts +80 -0
  47. package/src/client/components/workspace/btw-panel/index.tsx +88 -0
  48. package/src/client/components/workspace/chat-timeline/ComposerDock.tsx +37 -21
  49. package/src/client/components/workspace/chat-timeline/MinimapShortcuts.tsx +49 -12
  50. package/src/client/components/workspace/chat-timeline/TimelineBody.tsx +10 -6
  51. package/src/client/components/workspace/chat-timeline/chat-input/AttachmentToolbar.tsx +2 -1
  52. package/src/client/components/workspace/chat-timeline/chat-input/DropOverlay.tsx +17 -0
  53. package/src/client/components/workspace/chat-timeline/chat-input/index.tsx +44 -40
  54. package/src/client/components/workspace/chat-timeline/index.tsx +11 -9
  55. package/src/client/components/workspace/chat-timeline/tool-renderers/panels/Read.tsx +25 -7
  56. package/src/client/components/workspace/editor/Toolbar.tsx +32 -23
  57. package/src/client/components/workspace/editor/index.tsx +45 -36
  58. package/src/client/hooks/chat/btw/index.ts +180 -0
  59. package/src/client/hooks/chat/btw/intercept.ts +43 -0
  60. package/src/client/hooks/chat/btw/mode.ts +179 -0
  61. package/src/client/hooks/chat/composer/attachments.ts +198 -0
  62. package/src/client/hooks/chat/composer/drop-entries.ts +204 -0
  63. package/src/client/hooks/chat/composer/drop-payload.test.ts +97 -0
  64. package/src/client/hooks/chat/composer/drop-payload.ts +130 -0
  65. package/src/client/hooks/chat/composer/drop-references.ts +106 -0
  66. package/src/client/hooks/chat/composer/file-drop.test.ts +194 -0
  67. package/src/client/hooks/chat/composer/file-drop.ts +226 -0
  68. package/src/client/hooks/chat/composer/file-reads.test.ts +211 -0
  69. package/src/client/hooks/chat/composer/file-reads.ts +238 -0
  70. package/src/client/hooks/chat/composer/index.ts +7 -1
  71. package/src/client/hooks/chat/composer/pipeline.ts +181 -0
  72. package/src/client/hooks/chat/omp/index.ts +3 -3
  73. package/src/client/hooks/chat/omp/prompt-send.ts +5 -5
  74. package/src/client/hooks/chat/timeline/actions.ts +16 -1
  75. package/src/client/hooks/chat/timeline/index.ts +16 -8
  76. package/src/client/hooks/chat/timeline/prompt-text.ts +6 -1
  77. package/src/client/hooks/chat/timeline/send.ts +29 -65
  78. package/src/client/hooks/chat/timeline/session-load.ts +2 -1
  79. package/src/client/hooks/chat/timeline/session-pagination.ts +161 -14
  80. package/src/client/hooks/chat/timeline/user-turns.ts +149 -0
  81. package/src/client/hooks/editor/file-actions.ts +49 -0
  82. package/src/client/hooks/editor/use-file-editor.ts +38 -27
  83. package/src/client/hooks/editor/use-file-transfer.ts +78 -0
  84. package/src/client/tailwind.css +22 -0
  85. package/src/server/db.server.ts +21 -287
  86. package/src/server/lib/btw/frames.test.ts +68 -0
  87. package/src/server/lib/btw/frames.ts +56 -0
  88. package/src/server/lib/btw/prompt.ts +28 -0
  89. package/src/server/lib/btw/registry.server.ts +141 -0
  90. package/src/server/lib/btw/runtime.server.ts +324 -0
  91. package/src/server/lib/btw/schema.server.ts +44 -0
  92. package/src/server/lib/btw/service.server.ts +171 -0
  93. package/src/server/lib/btw/session-copy.server.ts +213 -0
  94. package/src/server/lib/btw/session-copy.test.ts +166 -0
  95. package/src/server/lib/btw/store.server.ts +240 -0
  96. package/src/server/lib/db/schema.ts +110 -0
  97. package/src/server/lib/db/seed.ts +160 -0
  98. package/src/server/lib/db/workspace-sync.ts +70 -0
  99. package/src/server/lib/fs/root.ts +37 -0
  100. package/src/server/lib/omp/rpc/frame-fold.ts +207 -0
  101. package/src/server/lib/omp/rpc/manager.ts +27 -123
  102. package/src/server/lib/omp/session/auto-title.server.test.ts +137 -0
  103. package/src/server/lib/omp/session/auto-title.server.ts +152 -0
  104. package/src/server/lib/omp/session/blobs.server.test.ts +100 -0
  105. package/src/server/lib/omp/session/blobs.server.ts +76 -0
  106. package/src/server/lib/omp/session/file-scan.ts +174 -0
  107. package/src/server/lib/omp/session/files.test.ts +147 -0
  108. package/src/server/lib/omp/session/files.ts +52 -35
  109. package/src/server/lib/omp/session/locator.ts +2 -2
  110. package/src/server/lib/omp/session/merge-stored.test.ts +118 -0
  111. package/src/server/lib/omp/session/merge-stored.ts +171 -0
  112. package/src/server/lib/omp/session/messages.ts +34 -0
  113. package/src/server/lib/omp/session/reader.ts +2 -2
  114. package/src/server/lib/omp/session/subagent-presence.ts +9 -6
  115. package/src/server/lib/queue/delivery.server.test.ts +57 -0
  116. package/src/server/lib/queue/delivery.server.ts +25 -3
  117. package/src/server/plugins/ssr.ts +29 -2
  118. package/src/server/routes/btw/events.ts +70 -0
  119. package/src/server/routes/btw/index.ts +8 -0
  120. package/src/server/routes/btw/topics.ts +87 -0
  121. package/src/server/routes/btw/ws.ts +136 -0
  122. package/src/server/routes/chat/index.ts +2 -0
  123. package/src/server/routes/chat/session.ts +1 -115
  124. package/src/server/routes/chat/turns.ts +87 -0
  125. package/src/server/routes/fs/index.ts +4 -1
  126. package/src/server/routes/fs/raw.ts +85 -0
  127. package/src/server/routes/fs/read.ts +58 -3
  128. package/src/server/routes/index.ts +7 -1
  129. package/src/shared/lib/chat/attachments.test.ts +208 -0
  130. package/src/shared/lib/chat/attachments.ts +200 -15
  131. package/src/shared/lib/chat/btw/client.ts +94 -0
  132. package/src/shared/lib/chat/composer/client.test.ts +48 -0
  133. package/src/shared/lib/chat/composer/client.ts +6 -1
  134. package/src/shared/lib/chat/composer/composer.test.ts +39 -1
  135. package/src/shared/lib/chat/composer/trigger.ts +45 -1
  136. package/src/shared/lib/chat/omp/agent-events.ts +33 -80
  137. package/src/shared/lib/chat/omp/socket.ts +11 -6
  138. package/src/shared/lib/chat/omp/sse.ts +11 -6
  139. package/src/shared/lib/chat/omp/tool-results.ts +102 -0
  140. package/src/shared/lib/chat/omp/transport.ts +19 -3
  141. package/src/shared/lib/chat/text-file.ts +148 -0
  142. package/src/shared/lib/chat/timeline/omp-callbacks.ts +18 -32
  143. package/src/shared/lib/chat/timeline/stream-coalescer.ts +66 -0
  144. package/src/shared/lib/chat/timeline/turns.ts +7 -0
  145. package/src/shared/lib/fs/file-kind.ts +50 -0
  146. package/src/shared/lib/fs/paths.ts +19 -1
  147. package/src/shared/lib/markdown/math.test.ts +20 -3
  148. package/src/shared/lib/omp/session/inlined-attachments.test.ts +82 -0
  149. package/src/shared/lib/omp/session/mapper.ts +24 -4
  150. package/src/shared/lib/omp/session/messages-map.ts +16 -3
  151. package/src/shared/lib/omp/session/messages-parse.ts +2 -2
  152. package/src/shared/lib/omp/session/parse-message-blocks.ts +85 -5
  153. package/src/shared/types/btw.ts +65 -0
  154. package/src/shared/types/chat.ts +39 -1
  155. package/src/shared/types/index.ts +1 -0
  156. package/src/shared/types/omp/agent.ts +14 -1
  157. package/src/shared/types/omp/session.ts +4 -1
  158. package/src/shared/types/settings/state.ts +5 -0
  159. package/dist/client/static/css/index.b859cc1cc5.css +0 -2
  160. package/dist/client/static/js/async/5bh.8b2363424f.js +0 -1
  161. package/dist/client/static/js/async/66.5dfa29f957.js +0 -93
  162. package/dist/client/static/js/async/7g.a7814350c3.js +0 -1
  163. package/dist/client/static/js/async/7l.7a6a377ecc.js +0 -1
  164. package/dist/client/static/js/async/cx.ca5feec570.js +0 -226
  165. package/dist/client/static/js/async/e.93214d622b.js +0 -79
  166. package/dist/client/static/js/async/g.a06ca3b3e9.js +0 -2
  167. package/dist/client/static/js/async/h1.e8d5aa8e80.js +0 -1
  168. package/dist/client/static/js/async/hs.6d480d0ded.js +0 -41
  169. package/dist/client/static/js/async/jl.874d352278.js +0 -1
  170. package/dist/client/static/js/async/mt.0352e976d8.js +0 -1
  171. package/dist/client/static/js/async/nam.b5663e919f.js +0 -10
  172. package/dist/client/static/js/async/q.23af2a358f.js +0 -21
  173. package/dist/client/static/js/async/q5.e683f7c26e.js +0 -286
  174. package/dist/client/static/js/async/s.222ee974f6.js +0 -2
  175. package/dist/client/static/js/async/uf.46ad6209fa.js +0 -2
  176. package/dist/client/static/js/async/vt.42416b707d.js +0 -1
  177. package/dist/client/static/js/async/x1.da8687159b.js +0 -90
  178. package/dist/client/static/js/async/yg.35bebd6d0c.js +0 -149
  179. package/dist/client/static/js/index.6e065017eb.js +0 -33
  180. package/dist/client/static/js/jp.50817896f3.js +0 -139
  181. /package/dist/client/static/js/{jp.50817896f3.js.LICENSE.txt → 77.8022a800b5.js.LICENSE.txt} +0 -0
  182. /package/dist/client/static/js/async/{1k.5974df3b87.js.LICENSE.txt → 1k.a411fe5b43.js.LICENSE.txt} +0 -0
  183. /package/dist/client/static/js/async/{3y.71f2ccf3b6.js.LICENSE.txt → 3y.3186ecdd63.js.LICENSE.txt} +0 -0
  184. /package/dist/client/static/js/async/{dc.856fda6560.js.LICENSE.txt → ar.ad5c8822a8.js.LICENSE.txt} +0 -0
  185. /package/dist/client/static/js/async/{m.c038c71b9f.js.LICENSE.txt → f7.46971e9d6d.js.LICENSE.txt} +0 -0
  186. /package/dist/client/static/js/async/{5b.a5ccbc19dc.js.LICENSE.txt → g.ee41bfed7f.js.LICENSE.txt} +0 -0
  187. /package/dist/client/static/js/async/{q.23af2a358f.js.LICENSE.txt → m.2e1ea3db9e.js.LICENSE.txt} +0 -0
  188. /package/dist/client/static/js/async/{s.222ee974f6.js.LICENSE.txt → m3.d2b05f9604.js.LICENSE.txt} +0 -0
  189. /package/dist/client/static/js/async/{g.a06ca3b3e9.js.LICENSE.txt → q.b453193538.js.LICENSE.txt} +0 -0
  190. /package/dist/client/static/js/async/{uf.46ad6209fa.js.LICENSE.txt → q8.7f1b48e9cd.js.LICENSE.txt} +0 -0
  191. /package/dist/client/static/js/async/{nam.b5663e919f.js.LICENSE.txt → yx.af2936c368.js.LICENSE.txt} +0 -0
  192. /package/dist/client/static/js/{index.6e065017eb.js.LICENSE.txt → index.5fe7a2cb64.js.LICENSE.txt} +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.rspackChunkompchamber=self.rspackChunkompchamber||[]).push([["5b"],{fL(e,a,r){var t=r("MM"),s=r("Yr"),n=r("M4"),d=r("Gt"),i=r("Xe"),p={parse:(0,d.K)(async e=>{let a=await (0,i.qg)("info",e);n.R.debug(a)},"parse")},c=(0,d.K)(()=>"12.0.0","getVersion"),g={parser:p,db:{getVersion:c},renderer:{draw:(0,d.K)((e,a,r)=>{n.R.debug("rendering info diagram\n"+e);let d=(0,t.D)(a);(0,s.a$)(d,100,400,!0),d.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw")}};r.d(a,{diagram:()=>g})}}]);
@@ -0,0 +1,93 @@
1
+ "use strict";(self.rspackChunkompchamber=self.rspackChunkompchamber||[]).push([[66],{VV8(t,e,i){var n=(0,i("Gt").K)(()=>`
2
+ /* Font Awesome icon styling - consolidated */
3
+ .label-icon {
4
+ display: inline-block;
5
+ height: 1em;
6
+ overflow: visible;
7
+ vertical-align: -0.125em;
8
+ }
9
+
10
+ .node .label-icon path {
11
+ fill: currentColor;
12
+ stroke: revert;
13
+ stroke-width: revert;
14
+ }
15
+ `,"getIconStyles");i.d(e,{o:()=>n})},Mu(t,e,i){var n=i("MM"),s=i("VV8"),r=i("Wf"),o=i("ix"),a=i("bQ1");i("Ut"),i("PF"),i("iV"),i("h5"),i("pK"),i("NH");var l=i("Yr"),c=i("M4"),h=i("Gt"),u=i("HAv"),g=i("CM"),d=i("xh"),p=function(){var t=(0,h.K)(function(t,e,i,n){for(i=i||{},n=t.length;n--;i[t[n]]=e);return i},"o"),e=[1,4],i=[1,13],n=[1,12],s=[1,15],r=[1,16],o=[1,20],a=[1,19],l=[6,7,8],c=[1,26],u=[1,24],g=[1,25],d=[6,7,11],p=[1,31],y=[6,7,11,24],f=[1,6,13,16,17,20,23],m=[1,35],b=[1,36],k=[1,6,7,11,13,16,17,20,23],_=[1,38],E={trace:(0,h.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:(0,h.K)(function(t,e,i,n,s,r,o){var a=r.length-1;switch(s){case 6:case 7:return n;case 8:n.getLogger().trace("Stop NL ");break;case 9:n.getLogger().trace("Stop EOF ");break;case 11:n.getLogger().trace("Stop NL2 ");break;case 12:n.getLogger().trace("Stop EOF2 ");break;case 15:n.getLogger().info("Node: ",r[a-1].id),n.addNode(r[a-2].length,r[a-1].id,r[a-1].descr,r[a-1].type,r[a]);break;case 16:n.getLogger().info("Node: ",r[a].id),n.addNode(r[a-1].length,r[a].id,r[a].descr,r[a].type);break;case 17:n.getLogger().trace("Icon: ",r[a]),n.decorateNode({icon:r[a]});break;case 18:case 23:n.decorateNode({class:r[a]});break;case 19:n.getLogger().trace("SPACELIST");break;case 20:n.getLogger().trace("Node: ",r[a-1].id),n.addNode(0,r[a-1].id,r[a-1].descr,r[a-1].type,r[a]);break;case 21:n.getLogger().trace("Node: ",r[a].id),n.addNode(0,r[a].id,r[a].descr,r[a].type);break;case 22:n.decorateNode({icon:r[a]});break;case 27:n.getLogger().trace("node found ..",r[a-2]),this.$={id:r[a-1],descr:r[a-1],type:n.getType(r[a-2],r[a])};break;case 28:this.$={id:r[a],descr:r[a],type:0};break;case 29:n.getLogger().trace("node found ..",r[a-3]),this.$={id:r[a-3],descr:r[a-1],type:n.getType(r[a-2],r[a])};break;case 30:this.$=r[a-1]+r[a];break;case 31:this.$=r[a]}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:i,7:[1,10],9:9,12:11,13:n,14:14,16:s,17:r,18:17,19:18,20:o,23:a},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:i,12:21,13:n,14:14,16:s,17:r,18:17,19:18,20:o,23:a},{6:i,9:22,12:11,13:n,14:14,16:s,17:r,18:17,19:18,20:o,23:a},{6:c,7:u,10:23,11:g},t(d,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:o,23:a}),t(d,[2,19]),t(d,[2,21],{15:30,24:p}),t(d,[2,22]),t(d,[2,23]),t(y,[2,25]),t(y,[2,26]),t(y,[2,28],{20:[1,32]}),{21:[1,33]},{6:c,7:u,10:34,11:g},{1:[2,7],6:i,12:21,13:n,14:14,16:s,17:r,18:17,19:18,20:o,23:a},t(f,[2,14],{7:m,11:b}),t(k,[2,8]),t(k,[2,9]),t(k,[2,10]),t(d,[2,16],{15:37,24:p}),t(d,[2,17]),t(d,[2,18]),t(d,[2,20],{24:_}),t(y,[2,31]),{21:[1,39]},{22:[1,40]},t(f,[2,13],{7:m,11:b}),t(k,[2,11]),t(k,[2,12]),t(d,[2,15],{24:_}),t(y,[2,30]),{22:[1,41]},t(y,[2,27]),t(y,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:(0,h.K)(function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},"parseError"),parse:(0,h.K)(function(t){var e=this,i=[0],n=[],s=[null],r=[],o=this.table,a="",l=0,c=0,u=0,g=r.slice.call(arguments,1),d=Object.create(this.lexer),p={};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(p[y]=this.yy[y]);d.setInput(t,p),p.lexer=d,p.parser=this,void 0===d.yylloc&&(d.yylloc={});var f=d.yylloc;r.push(f);var m=d.options&&d.options.ranges;function b(){var t;return"number"!=typeof(t=n.pop()||d.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,h.K)(function(t){i.length=i.length-2*t,s.length=s.length-t,r.length=r.length-t},"popStack"),(0,h.K)(b,"lex");for(var k,_,E,S,N,x,D,L,I,v={};;){if(E=i[i.length-1],this.defaultActions[E]?S=this.defaultActions[E]:(null==k&&(k=b()),S=o[E]&&o[E][k]),void 0===S||!S.length||!S[0]){var C="";for(x in I=[],o[E])this.terminals_[x]&&x>2&&I.push("'"+this.terminals_[x]+"'");C=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+I.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==k?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(C,{text:d.match,token:this.terminals_[k]||k,line:d.yylineno,loc:f,expected:I})}if(S[0]instanceof Array&&S.length>1)throw Error("Parse Error: multiple actions possible at state: "+E+", token: "+k);switch(S[0]){case 1:i.push(k),s.push(d.yytext),r.push(d.yylloc),i.push(S[1]),k=null,_?(k=_,_=null):(c=d.yyleng,a=d.yytext,l=d.yylineno,f=d.yylloc,u>0&&u--);break;case 2:if(D=this.productions_[S[1]][1],v.$=s[s.length-D],v._$={first_line:r[r.length-(D||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(D||1)].first_column,last_column:r[r.length-1].last_column},m&&(v._$.range=[r[r.length-(D||1)].range[0],r[r.length-1].range[1]]),void 0!==(N=this.performAction.apply(v,[a,c,l,p,S[1],s,r].concat(g))))return N;D&&(i=i.slice(0,-1*D*2),s=s.slice(0,-1*D),r=r.slice(0,-1*D)),i.push(this.productions_[S[1]][0]),s.push(v.$),r.push(v._$),L=o[i[i.length-2]][i[i.length-1]],i.push(L);break;case 3:return!0}}return!0},"parse")};function S(){this.yy={}}return E.lexer={EOF:1,parseError:(0,h.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,h.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,h.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,h.K)(function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===n.length?this.yylloc.first_column:0)+n[n.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,h.K)(function(){return this._more=!0,this},"more"),reject:(0,h.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,h.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,h.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,h.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,h.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,h.K)(function(t,e){var i,n,s;if(this.options.backtrack_lexer&&(s={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(s.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in s)this[r]=s[r];return!1},"test_match"),next:(0,h.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,n,s=this._currentRules(),r=0;r<s.length;r++)if((i=this._input.match(this.rules[s[r]]))&&(!e||i[0].length>e[0].length)){if(e=i,n=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,s[r])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,s[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,h.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,h.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,h.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,h.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,h.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,h.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,h.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,h.K)(function(t,e,i,n){switch(i){case 0:return this.pushState("shapeData"),e.yytext="",24;case 1:return this.pushState("shapeDataStr"),24;case 2:return this.popState(),24;case 3:return e.yytext=e.yytext.replace(/\n\s*/g,"<br/>"),24;case 4:return 24;case 5:case 10:case 29:case 32:this.popState();break;case 6:return t.getLogger().trace("Found comment",e.yytext),6;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;case 11:t.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return t.getLogger().trace("SPACELINE"),6;case 13:return 7;case 14:return 16;case 15:t.getLogger().trace("end icon"),this.popState();break;case 16:return t.getLogger().trace("Exploding node"),this.begin("NODE"),20;case 17:return t.getLogger().trace("Cloud"),this.begin("NODE"),20;case 18:return t.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;case 19:return t.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;case 20:case 21:case 22:case 23:return this.begin("NODE"),20;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 30:t.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return t.getLogger().trace("description:",e.yytext),"NODE_DESCR";case 33:return this.popState(),t.getLogger().trace("node end ))"),"NODE_DEND";case 34:return this.popState(),t.getLogger().trace("node end )"),"NODE_DEND";case 35:return this.popState(),t.getLogger().trace("node end ...",e.yytext),"NODE_DEND";case 36:case 39:case 40:return this.popState(),t.getLogger().trace("node end (("),"NODE_DEND";case 37:case 38:return this.popState(),t.getLogger().trace("node end (-"),"NODE_DEND";case 41:case 42:return t.getLogger().trace("Long description:",e.yytext),21}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}},(0,h.K)(S,"Parser"),S.prototype=E,E.Parser=S,new S}();p.parser=p;var y=[],f=[],m=0,b={},k=(0,h.K)(()=>{y=[],f=[],m=0,b={}},"clear"),_=(0,h.K)(t=>{if(0===y.length)return null;let e=y[0].level,i=null;for(let t=y.length-1;t>=0;t--)if(y[t].level!==e||i||(i=y[t]),y[t].level<e)throw Error('Items without section detected, found section ("'+y[t].label+'")');return t===i?.level?null:i},"getSection"),E=(0,h.K)(function(){return f},"getSections"),S=(0,h.K)(function(){let t=[],e=E(),i=(0,l.D7)();for(let n of e){let e={id:n.id,label:(0,l.jZ)(n.label??"",i),labelType:"markdown",isGroup:!0,ticket:n.ticket,shape:"kanbanSection",level:n.level,look:i.look};for(let s of(t.push(e),y.filter(t=>t.parentId===n.id))){let e={id:s.id,parentId:n.id,label:(0,l.jZ)(s.label??"",i),labelType:"markdown",isGroup:!1,ticket:s?.ticket,priority:s?.priority,assigned:s?.assigned,icon:s?.icon,shape:"kanbanItem",level:s.level,rx:5,ry:5,cssStyles:["text-align: left"]};t.push(e)}}return{nodes:t,edges:[],other:{},config:(0,l.D7)()}},"getData"),N=(0,h.K)((t,e,i,n,s)=>{let o=(0,l.D7)(),a=o.mindmap?.padding??l.UI.mindmap.padding;switch(n){case x.ROUNDED_RECT:case x.RECT:case x.HEXAGON:a*=2}let c={id:(0,l.jZ)(e,o)||"kbn"+m++,level:t,label:(0,l.jZ)(i,o),width:o.mindmap?.maxNodeWidth??l.UI.mindmap.maxNodeWidth,padding:a,isGroup:!1};if(void 0!==s){let t;t=s.includes("\n")?s+"\n":"{\n"+s+"\n}";let e=(0,r.H)(t,{schema:r.r});if(e.shape&&(e.shape!==e.shape.toLowerCase()||e.shape.includes("_")))throw Error(`No such shape: ${e.shape}. Shape names should be lowercase.`);e?.shape&&"kanbanItem"===e.shape&&(c.shape=e?.shape),e?.label&&(c.label=e?.label),e?.icon&&(c.icon=e?.icon.toString()),e?.assigned&&(c.assigned=e?.assigned.toString()),e?.ticket&&(c.ticket=e?.ticket.toString()),e?.priority&&(c.priority=e?.priority)}let h=_(t);h?c.parentId=h.id||"kbn"+m++:f.push(c),y.push(c)},"addNode"),x={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},D=(0,h.K)((t,e)=>{switch(c.R.debug("In get type",t,e),t){case"[":return x.RECT;case"(":return")"===e?x.ROUNDED_RECT:x.CLOUD;case"((":return x.CIRCLE;case")":return x.CLOUD;case"))":return x.BANG;case"{{":return x.HEXAGON;default:return x.DEFAULT}},"getType"),L=(0,h.K)((t,e)=>{b[t]=e},"setElementForId"),I=(0,h.K)(t=>{if(!t)return;let e=(0,l.D7)(),i=y[y.length-1];t.icon&&(i.icon=(0,l.jZ)(t.icon,e)),t.class&&(i.cssClasses=(0,l.jZ)(t.class,e))},"decorateNode"),v=(0,h.K)(t=>{switch(t){case x.DEFAULT:return"no-border";case x.RECT:return"rect";case x.ROUNDED_RECT:return"rounded-rect";case x.CIRCLE:return"circle";case x.CLOUD:return"cloud";case x.BANG:return"bang";case x.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),C=(0,h.K)(()=>c.R,"getLogger"),O=(0,h.K)(t=>b[t],"getElementById"),A=(0,h.K)(async(t,e,i,s)=>{c.R.debug("Rendering kanban diagram\n"+t);let r=s.db.getData(),h=(0,l.D7)();h.htmlLabels=!1;let u=(0,n.D)(e);for(let t of r.nodes)t.domId=`${e}-${t.id}`;let g=u.append("g");g.attr("class","sections");let d=u.append("g");d.attr("class","items");let p=r.nodes.filter(t=>t.isGroup),y=0,f=[],m=25;for(let t of p){let e=h?.kanban?.sectionWidth||200;t.x=e*(y+=1)+(y-1)*10/2,t.width=e,t.y=0,t.height=3*e,t.rx=5,t.ry=5,t.cssClasses=t.cssClasses+" section-"+y;let i=await (0,o.U)(g,t);m=Math.max(m,i?.labelBBox?.height),f.push(i)}let b=0;for(let t of p){let e=f[b];b+=1;let i=h?.kanban?.sectionWidth||200,n=-(3*i)/2+m,s=n;for(let e of r.nodes.filter(e=>e.parentId===t.id)){if(e.isGroup)throw Error("Groups within groups are not allowed in Kanban diagrams");e.x=t.x,e.width=i-15;let n=(await (0,a.on)(d,e,{config:h})).node().getBBox();e.y=s+n.height/2,await (0,a.U_)(e),s=e.y+n.height/2+5}let o=e.cluster.select("rect"),l=Math.max(s-n+30,50)+(m-25);o.attr("height",l)}(0,l.ot)(void 0,u,h.mindmap?.padding??l.UI.kanban.padding,h.mindmap?.useMaxWidth??l.UI.kanban.useMaxWidth)},"draw"),K=(0,h.K)(t=>{let e="";for(let e=0;e<t.THEME_COLOR_LIMIT;e++)t["lineColor"+e]=t["lineColor"+e]||t["cScaleInv"+e],(0,u.A)(t["lineColor"+e])?t["lineColor"+e]=(0,g.A)(t["lineColor"+e],20):t["lineColor"+e]=(0,d.A)(t["lineColor"+e],20);let i=(0,h.K)((e,i)=>t.darkMode?(0,d.A)(e,i):(0,g.A)(e,i),"adjuster");for(let n=0;n<t.THEME_COLOR_LIMIT;n++){let s=""+(17-3*n);e+=`
16
+ .section-${n-1} rect, .section-${n-1} path, .section-${n-1} circle, .section-${n-1} polygon, .section-${n-1} path {
17
+ fill: ${i(t["cScale"+n],10)};
18
+ stroke: ${i(t["cScale"+n],10)};
19
+
20
+ }
21
+ .section-${n-1} text {
22
+ fill: ${t["cScaleLabel"+n]};
23
+ }
24
+ .node-icon-${n-1} {
25
+ font-size: 40px;
26
+ color: ${t["cScaleLabel"+n]};
27
+ }
28
+ .section-edge-${n-1}{
29
+ stroke: ${t["cScale"+n]};
30
+ }
31
+ .edge-depth-${n-1}{
32
+ stroke-width: ${s};
33
+ }
34
+ .section-${n-1} line {
35
+ stroke: ${t["cScaleInv"+n]} ;
36
+ stroke-width: 3;
37
+ }
38
+
39
+ .disabled, .disabled circle, .disabled text {
40
+ fill: lightgray;
41
+ }
42
+ .disabled text {
43
+ fill: #efefef;
44
+ }
45
+
46
+ .node rect,
47
+ .node circle,
48
+ .node ellipse,
49
+ .node polygon,
50
+ .node path {
51
+ fill: ${t.background};
52
+ stroke: ${t.nodeBorder};
53
+ stroke-width: 1px;
54
+ }
55
+
56
+ .kanban-ticket-link {
57
+ fill: ${t.background};
58
+ stroke: ${t.nodeBorder};
59
+ text-decoration: underline;
60
+ }
61
+ `}return e},"genSections"),$={db:{clear:k,addNode:N,getSections:E,getData:S,nodeType:x,getType:D,setElementForId:L,decorateNode:I,type2Str:v,getLogger:C,getElementById:O},renderer:{draw:A},parser:p,styles:(0,h.K)(t=>`
62
+ .edge {
63
+ stroke-width: 3;
64
+ }
65
+ ${K(t)}
66
+ .section-root rect, .section-root path, .section-root circle, .section-root polygon {
67
+ fill: ${t.git0};
68
+ }
69
+ .section-root text {
70
+ fill: ${t.gitBranchLabel0};
71
+ }
72
+ .icon-container {
73
+ height:100%;
74
+ display: flex;
75
+ justify-content: center;
76
+ align-items: center;
77
+ }
78
+ .edge {
79
+ fill: none;
80
+ }
81
+ .cluster-label, .label {
82
+ color: ${t.textColor};
83
+ fill: ${t.textColor};
84
+ }
85
+ .kanban-label {
86
+ dy: 1em;
87
+ alignment-baseline: middle;
88
+ text-anchor: middle;
89
+ dominant-baseline: middle;
90
+ text-align: center;
91
+ }
92
+ ${(0,s.o)()}
93
+ `,"getStyles")};i.d(e,{diagram:()=>$})}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.rspackChunkompchamber=self.rspackChunkompchamber||[]).push([["7g"],{xs(e,t,r){r.r(t),r.d(t,{applyDagreLayoutResult:()=>rH,getEdgesToRender:()=>rY,measureDagreLayout:()=>r2,prepareLayoutForDagre:()=>r1,render:()=>r6,runDagreLayoutCore:()=>r3});var n,o,i,a=r("Ag"),u=r("ix"),d=r("LC"),c=r("bQ1"),s=r("Ut");r("PF"),r("iV"),r("h5"),r("pK"),r("NH");var f=r("Yr"),l=r("M4"),g=r("Gt"),h=r("Y7"),p=r("DS"),v=0,y=function(e){var t=++v;return(0,p.A)(e)+t},b=r("QU"),A=r("tS"),w=function(e){return(null==e?0:e.length)?(0,A.A)(e,1):[]},m=r("Ka"),x=r("n8"),E=r("CZ"),j=r("Riw"),L=function(e,t){var r=-1,n=(0,j.A)(e)?Array(e.length):[];return(0,E.A)(e,function(e,o,i){n[++r]=t(e,o,i)}),n},k=r("FI"),O=function(e,t){return((0,k.A)(e)?m.A:L)(e,(0,x.A)(t,3))},R=Math.ceil,N=Math.max,P=function(e,t,r,n){for(var o=-1,i=N(R((t-e)/(r||1)),0),a=Array(i);i--;)a[n?i:++o]=e,e+=r;return a},C=r("cN"),S=r("wAQ"),_=r("uD"),M=function(e,t,r){if(!(0,_.A)(r))return!1;var n=typeof t;return("number"==n?!!((0,j.A)(r)&&(0,S.A)(t,r.length)):"string"==n&&t in r)&&(0,C.A)(r[t],e)},X=/\s/,D=function(e){for(var t=e.length;t--&&X.test(e.charAt(t)););return t},T=/^\s+/,I=r("B7"),B=/^[-+]0x[0-9a-f]+$/i,K=/^0b[01]+$/i,G=/^0o[0-7]+$/i,F=parseInt,U=function(e){if("number"==typeof e)return e;if((0,I.A)(e))return 0/0;if((0,_.A)(e)){var t,r="function"==typeof e.valueOf?e.valueOf():e;e=(0,_.A)(r)?r+"":r}if("string"!=typeof e)return 0===e?e:+e;e=(t=e)?t.slice(0,D(t)+1).replace(T,""):t;var n=K.test(e);return n||G.test(e)?F(e.slice(2),n?2:8):B.test(e)?0/0:+e},J=function(e){return e?1/0===(e=U(e))||-1/0===e?(e<0?-1:1)*17976931348623157e292:e==e?e:0:0===e?e:0},q=function(e,t,r){return r&&"number"!=typeof r&&M(e,t,r)&&(t=r=void 0),e=J(e),void 0===t?(t=e,e=0):t=J(t),r=void 0===r?e<t?1:-1:J(r),P(e,t,r,void 0)},Y=r("v2");class V{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,t=e._prev;if(t!==e)return z(t),t}enqueue(e){var t=this._sentinel;e._prev&&e._next&&z(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t}toString(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,Q)),r=r._prev;return"["+e.join(", ")+"]"}}function z(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function Q(e,t){if("_next"!==e&&"_prev"!==e)return t}var W=b.A(1);function $(e,t,r,n,o){var i=o?[]:void 0;return h.A(e.inEdges(n.v),function(n){var a=e.edge(n),u=e.node(n.v);o&&i.push({v:n.v,w:n.w}),u.out-=a,H(t,r,u)}),h.A(e.outEdges(n.v),function(n){var o=e.edge(n),i=n.w,a=e.node(i);a.in-=o,H(t,r,a)}),e.removeNode(n.v),i}function H(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var Z=r("pb"),ee=r("Jy"),et=function(e,t,r){"__proto__"==t&&ee.A?(0,ee.A)(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r},er=function(e,t,r){(void 0===r||(0,C.A)(e[t],r))&&(void 0!==r||t in e)||et(e,t,r)},en=r("Yj"),eo=r("W0m"),ei="object"==typeof exports&&exports&&!exports.nodeType&&exports,ea=ei&&"object"==typeof module&&module&&!module.nodeType&&module,eu=ea&&ea.exports===ei?eo.A.Buffer:void 0,ed=eu?eu.allocUnsafe:void 0,ec=function(e,t){if(t)return e.slice();var r=e.length,n=ed?ed(r):new e.constructor(r);return e.copy(n),n},es=r("Ry"),ef=function(e){var t=new e.constructor(e.byteLength);return new es.A(t).set(new es.A(e)),t},el=function(e,t){var r=t?ef(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)},eg=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t},eh=Object.create,ep=function(){function e(){}return function(t){if(!(0,_.A)(t))return{};if(eh)return eh(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}(),ev=(0,r("oP").A)(Object.getPrototypeOf,Object),ey=r("YrZ"),eb=function(e){return"function"!=typeof e.constructor||(0,ey.A)(e)?{}:ep(ev(e))},eA=r("PP"),ew=r("Fm"),em=r("sA"),ex=r("UR"),eE=r("FA"),ej=r("ic"),eL=Object.prototype,ek=Function.prototype.toString,eO=eL.hasOwnProperty,eR=ek.call(Object),eN=function(e){if(!(0,ej.A)(e)||"[object Object]"!=(0,eE.A)(e))return!1;var t=ev(e);if(null===t)return!0;var r=eO.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&ek.call(r)==eR},eP=r("z1"),eC=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]},eS=Object.prototype.hasOwnProperty,e_=function(e,t,r){var n=e[t];eS.call(e,t)&&(0,C.A)(n,r)&&(void 0!==r||t in e)||et(e,t,r)},eM=function(e,t,r,n){var o=!r;r||(r={});for(var i=-1,a=t.length;++i<a;){var u=t[i],d=n?n(r[u],e[u],u,r,e):void 0;void 0===d&&(d=e[u]),o?et(r,u,d):e_(r,u,d)}return r},eX=r("jJ"),eD=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t},eT=Object.prototype.hasOwnProperty,eI=function(e){if(!(0,_.A)(e))return eD(e);var t=(0,ey.A)(e),r=[];for(var n in e)"constructor"==n&&(t||!eT.call(e,n))||r.push(n);return r},eB=function(e){return(0,j.A)(e)?(0,eX.A)(e,!0):eI(e)},eK=function(e,t,r,n,o,i,a){var u=eC(e,r),d=eC(t,r),c=a.get(d);if(c)return void er(e,r,c);var s=i?i(u,d,r+"",e,t,a):void 0,f=void 0===s;if(f){var l=(0,k.A)(d),g=!l&&(0,em.A)(d),h=!l&&!g&&(0,eP.A)(d);(s=d,l||g||h)?(0,k.A)(u)?s=u:(0,ew.A)(u)?s=eg(u):g?(f=!1,s=ec(d,!0)):h?(f=!1,s=el(d,!0)):s=[]:eN(d)||(0,eA.A)(d)?(s=u,(0,eA.A)(u))?s=eM(u,eB(u)):(!(0,_.A)(u)||(0,ex.A)(u))&&(s=eb(d)):f=!1}f&&(a.set(d,s),o(s,d,n,i,a),a.delete(d)),er(e,r,s)},eG=function e(t,r,n,o,i){t!==r&&(0,en.A)(r,function(a,u){if(i||(i=new Z.A),(0,_.A)(a))eK(t,r,u,n,e,o,i);else{var d=o?o(eC(t,u),a,u+"",t,r,i):void 0;void 0===d&&(d=a),er(t,u,d)}},eB)},eF=r("ln"),eU=(n=function(e,t,r){eG(e,t,r)},(0,eF.A)(function(e,t){var r=-1,o=t.length,i=o>1?t[o-1]:void 0,a=o>2?t[2]:void 0;for(i=n.length>3&&"function"==typeof i?(o--,i):void 0,a&&M(t[0],t[1],a)&&(i=o<3?void 0:i,o=1),e=Object(e);++r<o;){var u=t[r];u&&n(e,u,r)}return e})),eJ=r("hW"),eq=r("eX"),eY=r("ZR"),eV=function(e,t,r,n){if(!(0,_.A)(e))return e;t=(0,eq.A)(t,e);for(var o=-1,i=t.length,a=i-1,u=e;null!=u&&++o<i;){var d=(0,eY.A)(t[o]),c=r;if("__proto__"===d||"constructor"===d||"prototype"===d)break;if(o!=a){var s=u[d];void 0===(c=n?n(s,d,u):void 0)&&(c=(0,_.A)(s)?s:(0,S.A)(t[o+1])?[]:{})}e_(u,d,c),u=u[d]}return e},ez=function(e,t,r){for(var n=-1,o=t.length,i={};++n<o;){var a=t[n],u=(0,eJ.A)(e,a);r(u,a)&&eV(i,(0,eq.A)(a,e),u)}return i},eQ=r("Qs"),eW=r("Rs"),e$=r("dN"),eH=(o=function(e,t){return null==e?{}:ez(e,t,function(t,r){return(0,eQ.A)(e,r)})},(0,e$.A)((0,eW.A)(o,void 0,w),o+"")),eZ=Object.prototype,e0=eZ.hasOwnProperty,e1=(0,eF.A)(function(e,t){e=Object(e);var r=-1,n=t.length,o=n>2?t[2]:void 0;for(o&&M(t[0],t[1],o)&&(n=1);++r<n;)for(var i=t[r],a=eB(i),u=-1,d=a.length;++u<d;){var c=a[u],s=e[c];(void 0===s||(0,C.A)(s,eZ[c])&&!e0.call(e,c))&&(e[c]=i[c])}return e}),e2=function(e,t,r){for(var n=-1,o=e.length;++n<o;){var i=e[n],a=t(i);if(null!=a&&(void 0===u?a==a&&!(0,I.A)(a):r(a,u)))var u=a,d=i}return d},e3=function(e,t){return e>t},e8=r("LP"),e4=function(e){return e&&e.length?e2(e,e8.A,e3):void 0},e6=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0},e5=r("rw"),e7=function(e,t){var r={};return t=(0,x.A)(t,3),(0,e5.A)(e,function(e,n,o){et(r,n,t(e,n,o))}),r},e9=r("Dm"),te=function(e,t){return e<t},tt=function(e){return e&&e.length?e2(e,e8.A,te):void 0},tr=Object.prototype.hasOwnProperty,tn=function(e,t){return null!=e&&tr.call(e,t)},to=r("gd"),ti=function(e,t){return null!=e&&(0,to.A)(e,t,tn)};function ta(e,t,r,n){var o;do o=y(n);while(e.hasNode(o))return r.dummy=t,e.setNode(o,r),o}function tu(e){var t=new Y.T({multigraph:e.isMultigraph()}).setGraph(e.graph());return h.A(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),h.A(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t}function td(e,t){var r,n,o=e.x,i=e.y,a=t.x-o,u=t.y-i,d=e.width/2,c=e.height/2;if(!a&&!u)throw Error("Not possible to find intersection inside of the rectangle");return Math.abs(u)*d>Math.abs(a)*c?(u<0&&(c=-c),r=c*a/u,n=c):(a<0&&(d=-d),r=d,n=d*u/a),{x:o+r,y:i+n}}function tc(e){var t=O(q(tf(e)+1),function(){return[]});return h.A(e.nodes(),function(r){var n=e.node(r),o=n.rank;e9.A(o)||(t[o][n.order]=r)}),t}function ts(e,t,r,n){var o={width:0,height:0};return arguments.length>=4&&(o.rank=r,o.order=n),ta(e,"border",o,t)}function tf(e){return e4(O(e.nodes(),function(t){var r=e.node(t).rank;if(!e9.A(r))return r}))}function tl(e,t){return t()}function tg(e,t,r,n,o,i){var a=o[t][i-1],u=ta(e,"border",{width:0,height:0,rank:i,borderType:t},r);o[t][i]=u,e.setParent(u,n),a&&e.setEdge(a,u,{weight:1})}function th(e){h.A(e.nodes(),function(t){tp(e.node(t))}),h.A(e.edges(),function(t){tp(e.edge(t))})}function tp(e){var t=e.width;e.width=e.height,e.height=t}function tv(e){e.y=-e.y}function ty(e){var t=e.x;e.x=e.y,e.y=t}var tb=function(e,t){return e&&e.length?e2(e,(0,x.A)(t,2),te):void 0};function tA(e){var t={};h.A(e.sources(),function r(n){var o=e.node(n);if(Object.prototype.hasOwnProperty.call(t,n))return o.rank;t[n]=!0;var i=tt(O(e.outEdges(n),function(t){return r(t.w)-e.edge(t).minlen}));return(1/0===i||null==i)&&(i=0),o.rank=i})}function tw(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}function tm(e){var t,r,n=new Y.T({directed:!1}),o=e.nodes()[0],i=e.nodeCount();for(n.setNode(o,{});function(e,t){return h.A(e.nodes(),function r(n){h.A(t.nodeEdges(n),function(o){var i=o.v,a=n===i?o.w:i;e.hasNode(a)||tw(t,o)||(e.setNode(a,{}),e.setEdge(n,a,{}),r(a))})}),e.nodeCount()}(n,e)<i;)t=function(e,t){return tb(t.edges(),function(r){if(e.hasNode(r.v)!==e.hasNode(r.w))return tw(t,r)})}(n,e),r=n.hasNode(t.v)?tw(e,t):-tw(e,t),function(e,t,r){h.A(e.nodes(),function(e){t.node(e).rank+=r})}(n,e,r);return n}var tx=r("Hs"),tE=r("TQ"),tj=function(e){var t=J(e),r=t%1;return t==t?r?t-r:t:0},tL=Math.max,tk=(i=function(e,t,r){var n=null==e?0:e.length;if(!n)return -1;var o=null==r?0:tj(r);return o<0&&(o=tL(n+o,0)),(0,tE.A)(e,(0,x.A)(t,3),o)},function(e,t,r){var n=Object(e);if(!(0,j.A)(e)){var o=(0,x.A)(t,3);e=(0,tx.A)(e),t=function(e){return o(n[e],e,n)}}var a=i(e,t,r);return a>-1?n[o?e[a]:a]:void 0}),tO=r("q9");b.A(1),b.A(1);var tR=r("Y4"),tN=r("j7V"),tP=(0,r("kd").A)("length"),tC=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]"),tS="\\ud800-\\udfff",t_="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",tM="\\ud83c[\\udffb-\\udfff]",tX="[^"+tS+"]",tD="(?:\\ud83c[\\udde6-\\uddff]){2}",tT="[\\ud800-\\udbff][\\udc00-\\udfff]",tI="(?:"+t_+"|"+tM+")?",tB="[\\ufe0e\\ufe0f]?",tK="(?:\\u200d(?:"+[tX,tD,tT].join("|")+")"+tB+tI+")*",tG=RegExp(tM+"(?="+tM+")|"+("(?:"+[tX+t_+"?",t_,tD,tT,"["+tS+"]"].join("|"))+")"+(tB+tI+tK),"g");function tF(){}function tU(e,t,r){k.A(t)||(t=[t]);var n=(e.isDirected()?e.successors:e.neighbors).bind(e),o=[],i={};return h.A(t,function(t){if(!e.hasNode(t))throw Error("Graph does not have node: "+t);!function e(t,r,n,o,i,a){!Object.prototype.hasOwnProperty.call(o,r)&&(o[r]=!0,n||a.push(r),h.A(i(r),function(r){e(t,r,n,o,i,a)}),n&&a.push(r))}(e,t,"post"===r,i,n,o)}),o}function tJ(e){t=e,r=new Y.T().setGraph(t.graph()),h.A(t.nodes(),function(e){r.setNode(e,t.node(e))}),h.A(t.edges(),function(e){var n=r.edge(e.v,e.w)||{weight:0,minlen:1},o=t.edge(e);r.setEdge(e.v,e.w,{weight:n.weight+o.weight,minlen:Math.max(n.minlen,o.minlen)})}),tA(e=r);var t,r,n,o,i=tm(e);for(tV(i),tq(i,e);n=tz(i);)o=tQ(i,e,n),tW(i,e,n,o)}function tq(e,t){var r=tU(e,e.nodes(),"post");r=r.slice(0,r.length-1),h.A(r,function(r){var n,o,i,a;n=e,o=t,i=r,a=n.node(i).parent,n.edge(i,a).cutvalue=tY(n,o,i)})}function tY(e,t,r){var n=e.node(r).parent,o=!0,i=t.edge(r,n),a=0;return i||(o=!1,i=t.edge(n,r)),a=i.weight,h.A(t.nodeEdges(r),function(i){var u=i.v===r,d=u?i.w:i.v;if(d!==n){var c,s,f,l=u===o,g=t.edge(i).weight;if(a+=l?g:-g,c=e,s=r,f=d,c.hasEdge(s,f)){var h=e.edge(r,d).cutvalue;a+=l?-h:h}}}),a}function tV(e,t){arguments.length<2&&(t=e.nodes()[0]),function e(t,r,n,o,i){var a=n,u=t.node(o);return r[o]=!0,h.A(t.neighbors(o),function(i){Object.prototype.hasOwnProperty.call(r,i)||(n=e(t,r,n,i,o))}),u.low=a,u.lim=n++,i?u.parent=i:delete u.parent,n}(e,{},1,t)}function tz(e){return tk(e.edges(),function(t){return e.edge(t).cutvalue<0})}function tQ(e,t,r){var n=r.v,o=r.w;t.hasEdge(n,o)||(n=r.w,o=r.v);var i=e.node(n),a=e.node(o),u=i,d=!1;return i.lim>a.lim&&(u=a,d=!0),tb(tO.A(t.edges(),function(t){return d===t$(e,e.node(t.v),u)&&d!==t$(e,e.node(t.w),u)}),function(e){return tw(t,e)})}function tW(e,t,r,n){var o,i,a,u,d=r.v,c=r.w;e.removeEdge(d,c),e.setEdge(n.v,n.w,{}),tV(e),tq(e,t),o=e,i=t,a=tk(o.nodes(),function(e){return!i.node(e).parent}),u=(u=tU(o,a,"pre")).slice(1),h.A(u,function(e){var t=o.node(e).parent,r=i.edge(e,t),n=!1;r||(r=i.edge(t,e),n=!0),i.node(e).rank=i.node(t).rank+(n?r.minlen:-r.minlen)})}function t$(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}tF.prototype=Error(),r("DW"),tJ.initLowLimValues=tV,tJ.initCutValues=tq,tJ.calcCutValue=tY,tJ.leaveEdge=tz,tJ.enterEdge=tQ,tJ.exchangeEdges=tW;var tH=r("Ol"),tZ=r("ja6"),t0=r("X2"),t1=r("Fe"),t2=r("LE"),t3=r("Jx"),t8=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)(0,t2.A)(t,(0,t1.A)(e)),e=ev(e);return t}:t3.A,t4=r("JJ"),t6=r("V8"),t5=function(e){return(0,t6.A)(e,eB,t8)},t7=Object.prototype.hasOwnProperty,t9=function(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&t7.call(e,"index")&&(r.index=e.index,r.input=e.input),r},re=function(e,t){var r=t?ef(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)},rt=/\w*$/,rr=function(e){var t=new e.constructor(e.source,rt.exec(e));return t.lastIndex=e.lastIndex,t},rn=r("er"),ro=rn.A?rn.A.prototype:void 0,ri=ro?ro.valueOf:void 0,ra=function(e,t,r){var n=e.constructor;switch(t){case"[object ArrayBuffer]":return ef(e);case"[object Boolean]":case"[object Date]":return new n(+e);case"[object DataView]":return re(e,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return el(e,r);case"[object Map]":case"[object Set]":return new n;case"[object Number]":case"[object String]":return new n(e);case"[object RegExp]":return rr(e);case"[object Symbol]":return ri?Object(ri.call(e)):{}}},ru=r("mX3"),rd=r("Vl"),rc=rd.A&&rd.A.isMap,rs=rc?(0,ru.A)(rc):function(e){return(0,ej.A)(e)&&"[object Map]"==(0,tN.A)(e)},rf=rd.A&&rd.A.isSet,rl=rf?(0,ru.A)(rf):function(e){return(0,ej.A)(e)&&"[object Set]"==(0,tN.A)(e)},rg="[object Arguments]",rh="[object Function]",rp="[object Object]",rv={};rv[rg]=rv["[object Array]"]=rv["[object ArrayBuffer]"]=rv["[object DataView]"]=rv["[object Boolean]"]=rv["[object Date]"]=rv["[object Float32Array]"]=rv["[object Float64Array]"]=rv["[object Int8Array]"]=rv["[object Int16Array]"]=rv["[object Int32Array]"]=rv["[object Map]"]=rv["[object Number]"]=rv[rp]=rv["[object RegExp]"]=rv["[object Set]"]=rv["[object String]"]=rv["[object Symbol]"]=rv["[object Uint8Array]"]=rv["[object Uint8ClampedArray]"]=rv["[object Uint16Array]"]=rv["[object Uint32Array]"]=!0,rv["[object Error]"]=rv[rh]=rv["[object WeakMap]"]=!1;var ry=function e(t,r,n,o,i,a){var u,d=1&r,c=2&r,s=4&r;if(n&&(u=i?n(t,o,i,a):n(t)),void 0!==u)return u;if(!(0,_.A)(t))return t;var f=(0,k.A)(t);if(f){if(u=t9(t),!d)return eg(t,u)}else{var l,g,h,p,v=(0,tN.A)(t),y=v==rh||"[object GeneratorFunction]"==v;if((0,em.A)(t))return ec(t,d);if(v==rp||v==rg||y&&!i){if(u=c||y?{}:eb(t),!d)return c?(g=(l=u)&&eM(t,eB(t),l),eM(t,t8(t),g)):(p=(h=u)&&eM(t,(0,tx.A)(t),h),eM(t,(0,t1.A)(t),p))}else{if(!rv[v])return i?t:{};u=ra(t,v,d)}}a||(a=new Z.A);var b=a.get(t);if(b)return b;a.set(t,u),rl(t)?t.forEach(function(o){u.add(e(o,r,n,o,t,a))}):rs(t)&&t.forEach(function(o,i){u.set(i,e(o,r,n,i,t,a))});var A=s?c?t5:t4.A:c?eB:tx.A,w=f?void 0:A(t);return(0,t0.A)(w||t,function(o,i){w&&(o=t[i=o]),e_(u,i,e(o,r,n,i,t,a))}),u},rb=function(e,t,r){for(var n=-1,o=e.length,i=t.length,a={};++n<o;){var u=n<i?t[n]:void 0;r(a,e[n],u)}return a},rA=function(e,t){var r=e.length;for(e.sort(t);r--;)e[r]=e[r].value;return e},rw=function(e,t){if(e!==t){var r=void 0!==e,n=null===e,o=e==e,i=(0,I.A)(e),a=void 0!==t,u=null===t,d=t==t,c=(0,I.A)(t);if(!u&&!c&&!i&&e>t||i&&a&&d&&!u&&!c||n&&a&&d||!r&&d||!o)return 1;if(!n&&!i&&!c&&e<t||c&&r&&o&&!n&&!i||u&&r&&o||!a&&o||!d)return -1}return 0},rm=function(e,t,r){for(var n=-1,o=e.criteria,i=t.criteria,a=o.length,u=r.length;++n<a;){var d=rw(o[n],i[n]);if(d){if(n>=u)return d;return d*("desc"==r[n]?-1:1)}}return e.index-t.index},rx=function(e,t,r){t=t.length?(0,m.A)(t,function(e){return(0,k.A)(e)?function(t){return(0,eJ.A)(t,1===e.length?e[0]:e)}:e}):[e8.A];var n=-1;return t=(0,m.A)(t,(0,ru.A)(x.A)),rA(L(e,function(e,r,o){return{criteria:(0,m.A)(t,function(t){return t(e)}),index:++n,value:e}}),function(e,t){return rm(e,t,r)})},rE=(0,eF.A)(function(e,t){if(null==e)return[];var r=t.length;return r>1&&M(e,t[0],t[1])?t=[]:r>2&&M(t[0],t[1],t[2])&&(t=[t[0]]),rx(e,(0,A.A)(t,1),[])});function rj(e,t,r){for(var n;t.length&&(n=e6(t)).i<=r;)t.pop(),e.push(n.vs),r++;return r}function rL(e,t,r){return O(t,function(t){var n,o;return n=function(e){for(var t;e.hasNode(t=y("_root")););return t}(e),o=new Y.T({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(function(t){return e.node(t)}),h.A(e.nodes(),function(i){var a=e.node(i),u=e.parent(i);(a.rank===t||a.minRank<=t&&t<=a.maxRank)&&(o.setNode(i),o.setParent(i,u||n),h.A(e[r](i),function(t){var r=t.v===i?t.w:t.v,n=o.edge(r,i),a=e9.A(n)?0:n.weight;o.setEdge(r,i,{weight:e.edge(t).weight+a})}),Object.prototype.hasOwnProperty.call(a,"minRank")&&o.setNode(i,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]}))}),o})}function rk(e,t){h.A(t,function(t){h.A(t,function(t,r){e.node(t).order=r})})}var rO=r("uh");function rR(e,t,r){if(t>r){var n=t;t=r,r=n}Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,configurable:!0,value:{},writable:!0}),Object.defineProperty(e[t],r,{enumerable:!0,configurable:!0,value:!0,writable:!0})}var rN=["nodesep","edgesep","ranksep","marginx","marginy"],rP={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},rC=["acyclicer","ranker","rankdir","align"],rS=["width","height"],r_={width:0,height:0},rM=["minlen","weight","width","height","labeloffset"],rX={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},rD=["labelpos"];function rT(e,t){return e7(eH(e,t),Number)}function rI(e){var t={};return h.A(e,function(e,r){t[r.toLowerCase()]=e}),t}var rB=(0,g.K)((e,t,r)=>Math.max(t,Math.min(r,e)),"clamp"),rK=(0,g.K)((e="TB")=>{switch(e){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";default:return"top"}},"getDefaultSelfLoopSide"),rG=(0,g.K)(e=>"flowchart"===e||"flowchart-v2"===e||"stateDiagram"===e||"er"===e||"classDiagram"===e,"shouldMergeSelfLoopSegments"),rF=["x","y","width","height","labelBBox","intersect","calcIntersect","diff","clusterNode"],rU=(0,g.K)((e,t,r,n,o)=>{let i=[],a=new Set;if(r.forEach(({start:e,end:t})=>{e!==n&&a.add(e),t!==n&&a.add(t)}),a.forEach(t=>{let r=e.node(t);"number"==typeof r?.x&&"number"==typeof r?.y&&i.push(r)}),0===i.length&&r.forEach(({edge:e})=>{(e.points??[]).forEach(e=>{"number"==typeof e?.x&&"number"==typeof e?.y&&i.push(e)})}),0===i.length)return rK(o);let u=i.reduce((e,t)=>({x:e.x+t.x/i.length,y:e.y+t.y/i.length}),{x:0,y:0}),d=u.x-t.x,c=u.y-t.y;return Math.abs(d)>Math.abs(c)?d>0?"right":"left":Math.abs(c)>0?c>0?"bottom":"top":rK(o)},"getSelfLoopSide"),rJ=(0,g.K)((e,t="top",r=0,n=0)=>{let o=e.x,i=e.y-r,a=e.width/2,u=e.height/2,d=Math.max(36,Math.min(100,.8*e.width)),c=rB(Math.max(n,.35*e.width),36,d),s=rB(.45*Math.min(e.width,e.height),24,48);switch(t){case"bottom":{let e=i+u;return[{x:o-c/2,y:e},{x:o-c/2,y:e+s},{x:o+c/2,y:e+s},{x:o+c/2,y:e}]}case"right":{let e=o+a;return[{x:e,y:i-c/2},{x:e+s,y:i-c/2},{x:e+s,y:i+c/2},{x:e,y:i+c/2}]}case"left":{let e=o-a;return[{x:e,y:i-c/2},{x:e-s,y:i-c/2},{x:e-s,y:i+c/2},{x:e,y:i+c/2}]}default:{let e=i-u;return[{x:o-c/2,y:e},{x:o-c/2,y:e-s},{x:o+c/2,y:e-s},{x:o+c/2,y:e}]}}},"getSelfLoopPoints"),rq=(0,g.K)((e,t,r="top",n=0,o={})=>{let i=e.x,a=e.y-n,u=o.width??0,d=o.height??0;switch(r){case"bottom":return{x:i,y:Math.max(...t.map(e=>e.y))+d/2+4};case"right":return{x:Math.max(...t.map(e=>e.x))+u/2+4,y:a};case"left":return{x:Math.min(...t.map(e=>e.x))-u/2-4,y:a};default:return{x:i,y:Math.min(...t.map(e=>e.y))-d/2-4}}},"getSelfLoopLabelPosition"),rY=(0,g.K)((e,t=0,{mergeSelfLoops:r=!0}={})=>{let n=new Map,o=[],i=e.graph()?.rankdir;return e.edges().forEach(t=>{let i=e.edge(t);if(r&&i.selfLoop){let e=i.selfLoop.id;n.has(e)||n.set(e,[]),n.get(e).push({edge:i,start:t.v,end:t.w})}else o.push({edge:i,start:t.v,end:t.w})}),n.forEach(r=>{if(3!==r.length)return void r.forEach(e=>o.push(e));r.sort((e,t)=>e.edge.selfLoop.order-t.edge.selfLoop.order);let[n,a,u]=r,d=n.edge.originalEdge??a.edge.originalEdge??u.edge.originalEdge??a.edge,c=e.node(d.start);if(!c)return void r.forEach(e=>o.push(e));let s={width:a.edge.width,height:a.edge.height},f=rU(e,c,r,d.start,i),l=rJ(c,f,t,s.width??0),g=rq(c,l,f,t,s),h={...a.edge,...d,id:d.id,points:l,start:d.start,end:d.end,x:g.x,y:g.y,width:s.width,height:s.height,labelStyle:a.edge.labelStyle,fromCluster:n.edge.fromCluster??a.edge.fromCluster??u.edge.fromCluster,toCluster:n.edge.toCluster??a.edge.toCluster??u.edge.toCluster};delete h.selfLoop,delete h.originalEdge,o.push({edge:h,start:h.start,end:h.end})}),o},"getEdgesToRender"),rV=(0,g.K)(async({element:e,graph:t,diagramType:r,id:n,parentCluster:o,siteConfig:i})=>{let u=t.graph().rankdir;l.R.trace("Dir in recursive render - dir:",u);let{clusters:f,edgePaths:h,edgeLabels:p,nodes:v,rootGroups:y}=(0,a.B)(e,{edgePathsClass:"edgePaths"});t.nodes()?l.R.info("Recursive render XXX",t.nodes()):l.R.info("No nodes found for",t),t.edges().length>0&&l.R.info("Recursive edges",t.edge(t.edges()[0]));let b=rG(r);await Promise.all(t.nodes().map(async function(e){let d=t.node(e);if(void 0!==o){let r=JSON.parse(JSON.stringify(o.clusterData));l.R.trace("Setting data for parent cluster XXX\n Node.id = ",e,"\n data=",r.height,"\nParent cluster",o.height),t.setNode(o.id,r),t.parent(e)||(l.R.trace("Setting parent",e,o.id),t.setParent(e,o.id,r))}if(l.R.info("(Insert) Node XXX"+e+": "+JSON.stringify(t.node(e))),d?.clusterNode){l.R.info("Cluster identified XBX",e,d.width,t.node(e));let{ranksep:o,nodesep:a}=t.graph();d.graph.setGraph({...d.graph.graph(),ranksep:o+25,nodesep:a});let u=await r0({element:v,graph:d.graph,diagramType:r,id:n,parentCluster:t.node(e),siteConfig:i}),f=u.elem;(0,s.lC)(d,f),d.diff=u.diff||0,l.R.info("New compound node after recursive render XAX",e,"width",d.width,"height",d.height),(0,c.U7)(f,d)}else t.children(e).length>0?(l.R.trace("Cluster - the non recursive path XBX",e,d.id,d,d.width,"Graph:",t),l.R.trace((0,a.dc)(d.id,t)),a.ju.set(d.id,{id:(0,a.dc)(d.id,t),node:d})):(l.R.trace("Node - the non recursive path XAX",e,v,t.node(e),u),await (0,a.sv)(v,t.node(e),{config:i,dir:u}))}));let A=(0,g.K)(async()=>{let e=t.edges().map(async function(e){let r=t.edge(e.v,e.w,e.name);if(l.R.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),l.R.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(t.edge(e))),l.R.info("Fix",a.ju,"ids:",e.v,e.w,"Translating: ",a.ju.get(e.v),a.ju.get(e.w)),b&&r.selfLoop){if(1!==r.selfLoop.order)return;let e={...r.originalEdge,...r,id:r.selfLoop.id,startLabelLeft:r.originalEdge?.startLabelLeft??r.startLabelLeft,startLabelRight:r.originalEdge?.startLabelRight??r.startLabelRight,endLabelLeft:r.originalEdge?.endLabelLeft??r.endLabelLeft,endLabelRight:r.originalEdge?.endLabelRight??r.endLabelRight};await (0,d.jP)(p,e),r.width=e.width,r.height=e.height,r.labelStyle=e.labelStyle;return}await (0,d.jP)(p,r)});await Promise.all(e)},"processEdges");await A();let{subGraphTitleTotalMargin:w}=(0,c.Oi)(i);return{elem:y,graph:t,groups:{clusters:f,edgePaths:h,edgeLabels:p,nodes:v,rootGroups:y},diagramType:r,id:n,mergeSelfLoops:b,subGraphTitleTotalMargin:w}},"measureDagreGraph"),rz=(0,g.K)(e=>{l.R.info("############################################# XXX"),l.R.info("### Layout ### XXX"),l.R.info("############################################# XXX"),tl("layout",()=>{var t=tl(" buildLayoutGraph",()=>{var t,r,n;return t=e,r=new Y.T({multigraph:!0,compound:!0}),n=rI(t.graph()),r.setGraph(eU({},rP,rT(n,rN),eH(n,rC))),h.A(t.nodes(),function(e){var n=rI(t.node(e));r.setNode(e,e1(rT(n,rS),r_)),r.setParent(e,t.parent(e))}),h.A(t.edges(),function(e){var n=rI(t.edge(e));r.setEdge(e,eU({},rX,rT(n,rM),eH(n,rD)))}),r});tl(" runLayout",()=>{var e,r;return e=t,void((r=tl)(" makeSpaceForEdgeLabels",()=>{var t,r;return r=(t=e).graph(),void(r.ranksep/=2,h.A(t.edges(),function(e){var n=t.edge(e);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===r.rankdir||"BT"===r.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)}))}),r(" removeSelfEdges",()=>{var t;return t=e,void h.A(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:e,label:t.edge(e)}),t.removeEdge(e)}})}),r(" acyclic",()=>{var t,r,n,o,i,a;return t="greedy"===e.graph().acyclicer?function(e,t){if(1>=e.nodeCount())return[];var r,n,o,i,a,u,d,c=(r=e,n=t||W,o=new Y.T,i=0,a=0,h.A(r.nodes(),function(e){o.setNode(e,{v:e,in:0,out:0})}),h.A(r.edges(),function(e){var t=o.edge(e.v,e.w)||0,r=n(e);o.setEdge(e.v,e.w,t+r),a=Math.max(a,o.node(e.v).out+=r),i=Math.max(i,o.node(e.w).in+=r)}),u=q(a+i+3).map(function(){return new V}),d=i+1,h.A(o.nodes(),function(e){H(u,d,o.node(e))}),{graph:o,buckets:u,zeroIdx:d});return w(O(function(e,t,r){for(var n,o=[],i=t[t.length-1],a=t[0];e.nodeCount();){for(;n=a.dequeue();)$(e,t,r,n);for(;n=i.dequeue();)$(e,t,r,n);if(e.nodeCount()){for(var u=t.length-2;u>0;--u)if(n=t[u].dequeue()){o=o.concat($(e,t,r,n,!0));break}}}return o}(c.graph,c.buckets,c.zeroIdx),function(t){return e.outEdges(t.v,t.w)}))}(e,(r=e,function(e){return r.edge(e).weight})):(n=e,o=[],i={},a={},h.A(n.nodes(),function e(t){Object.prototype.hasOwnProperty.call(a,t)||(a[t]=!0,i[t]=!0,h.A(n.outEdges(t),function(t){Object.prototype.hasOwnProperty.call(i,t.w)?o.push(t):e(t.w)}),delete i[t])}),o),void h.A(t,function(t){var r=e.edge(t);e.removeEdge(t),r.forwardName=t.name,r.reversed=!0,e.setEdge(t.w,t.v,r,y("rev"))})}),r(" nestingGraph.run",()=>{var t,r,n,o,i,a,u,d;return t=ta(e,"root",{},"_root"),a=e,u={},h.A(a.children(),function(e){!function e(t,r){var n=a.children(t);n&&n.length&&h.A(n,function(t){e(t,r+1)}),u[t]=r}(e,1)}),r=u,o=2*(n=e4(tH.A(r))-1)+1,e.graph().nestingRoot=t,h.A(e.edges(),function(t){e.edge(t).minlen*=o}),i=(d=e,tZ.A(d.edges(),function(e,t){return e+d.edge(t).weight},0)+1),void(h.A(e.children(),function(a){!function e(t,r,n,o,i,a,u){var d=t.children(u);if(!d.length){u!==r&&t.setEdge(r,u,{weight:0,minlen:n});return}var c=ts(t,"_bt"),s=ts(t,"_bb"),f=t.node(u);t.setParent(c,u),f.borderTop=c,t.setParent(s,u),f.borderBottom=s,h.A(d,function(d){e(t,r,n,o,i,a,d);var f=t.node(d),l=f.borderTop?f.borderTop:d,g=f.borderBottom?f.borderBottom:d,h=f.borderTop?o:2*o,p=l!==g?1:i-a[u]+1;t.setEdge(c,l,{weight:h,minlen:p,nestingEdge:!0}),t.setEdge(g,s,{weight:h,minlen:p,nestingEdge:!0})}),t.parent(u)||t.setEdge(r,c,{weight:0,minlen:i+a[u]})}(e,t,o,i,n,r,a)}),e.graph().nodeRankFactor=o)}),r(" rank",()=>(function(e){switch(e.graph().ranker){case"network-simplex":default:tJ(e);break;case"tight-tree":var t;tA(t=e),tm(t);break;case"longest-path":tA(e)}})(tu(e))),r(" injectEdgeLabelProxies",()=>{var t;return t=e,void h.A(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),o={rank:(t.node(e.w).rank-n.rank)/2+n.rank,e:e};ta(t,"edge-proxy",o,"_ep")}})}),r(" removeEmptyRanks",()=>{var t,r,n,o;return t=tt(O(e.nodes(),function(t){return e.node(t).rank})),r=[],h.A(e.nodes(),function(n){var o=e.node(n).rank-t;r[o]||(r[o]=[]),r[o].push(n)}),n=0,o=e.graph().nodeRankFactor,void h.A(r,function(t,r){e9.A(t)&&r%o!=0?--n:n&&h.A(t,function(t){e.node(t).rank+=n})})}),r(" nestingGraph.cleanup",()=>{var t;return t=e.graph(),void(e.removeNode(t.nestingRoot),delete t.nestingRoot,h.A(e.edges(),function(t){e.edge(t).nestingEdge&&e.removeEdge(t)}))}),r(" normalizeRanks",()=>{var t;return t=tt(O(e.nodes(),function(t){return e.node(t).rank})),void h.A(e.nodes(),function(r){var n=e.node(r);ti(n,"rank")&&(n.rank-=t)})}),r(" assignRankMinMax",()=>{var t,r;return t=e,r=0,void(h.A(t.nodes(),function(e){var n=t.node(e);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,r=e4(r,n.maxRank))}),t.graph().maxRank=r)}),r(" removeEdgeLabelProxies",()=>{var t;return t=e,void h.A(t.nodes(),function(e){var r=t.node(e);"edge-proxy"===r.dummy&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}),r(" normalize.run",()=>{e.graph().dummyChains=[],h.A(e.edges(),function(t){!function(e,t){var r,n,o=t.v,i=e.node(o).rank,a=t.w,u=e.node(a).rank,d=t.name,c=e.edge(t),s=c.labelRank;if(u!==i+1){e.removeEdge(t);var f=void 0;for(n=0,++i;i<u;++n,++i)c.points=[],r=ta(e,"edge",f={width:0,height:0,edgeLabel:c,edgeObj:t,rank:i},"_d"),i===s&&(f.width=c.width,f.height=c.height,f.dummy="edge-label",f.labelpos=c.labelpos),e.setEdge(o,r,{weight:c.weight},d),0===n&&e.graph().dummyChains.push(r),o=r;e.setEdge(o,a,{weight:c.weight},d)}}(e,t)})}),r(" parentDummyChains",()=>{var t,r,n,o;return r=e,n={},o=0,h.A(r.children(),function e(t){var i=o;h.A(r.children(t),e),n[t]={low:i,lim:o++}}),t=n,void h.A(e.graph().dummyChains,function(r){for(var n=e.node(r),o=n.edgeObj,i=function(e,t,r,n){var o,i,a=[],u=[],d=Math.min(t[r].low,t[n].low),c=Math.max(t[r].lim,t[n].lim);o=r;do a.push(o=e.parent(o));while(o&&(t[o].low>d||c>t[o].lim))for(i=o,o=n;(o=e.parent(o))!==i;)u.push(o);return{path:a.concat(u.reverse()),lca:i}}(e,t,o.v,o.w),a=i.path,u=i.lca,d=0,c=a[0],s=!0;r!==o.w;){if(n=e.node(r),s){for(;(c=a[d])!==u&&e.node(c).maxRank<n.rank;)d++;c===u&&(s=!1)}if(!s){for(;d<a.length-1&&e.node(c=a[d+1]).minRank<=n.rank;)d++;c=a[d]}e.setParent(r,c),r=e.successors(r)[0]}})}),r(" addBorderSegments",()=>{h.A(e.children(),function t(r){var n=e.children(r),o=e.node(r);if(n.length&&h.A(n,t),Object.prototype.hasOwnProperty.call(o,"minRank")){o.borderLeft=[],o.borderRight=[];for(var i=o.minRank,a=o.maxRank+1;i<a;++i)tg(e,"borderLeft","_bl",r,o,i),tg(e,"borderRight","_br",r,o,i)}})}),r(" order",()=>(function(e){var t=tf(e),r=rL(e,q(1,t+1),"inEdges"),n=rL(e,q(t-1,-1,-1),"outEdges"),o=(i={},u=e4(O(a=tO.A(e.nodes(),function(t){return!e.children(t).length}),function(t){return e.node(t).rank})),d=O(q(u+1),function(){return[]}),c=rE(a,function(t){return e.node(t).rank}),h.A(c,function t(r){ti(i,r)||(i[r]=!0,d[e.node(r).rank].push(r),h.A(e.successors(r),t))}),d);rk(e,o);for(var i,a,u,d,c,s,f=1/0,l=0,g=0;g<4;++l,++g){(function(e,t){var r=new Y.T;h.A(e,function(e){var n,o,i,a=e.graph().root,u=function e(t,r,n,o){var i,a,u,d,c,s,f,l,g,p,v,y=t.children(r),b=t.node(r),A=b?b.borderLeft:void 0,m=b?b.borderRight:void 0,x={};A&&(y=tO.A(y,function(e){return e!==A&&e!==m}));var E=O(y,function(e){var r=t.inEdges(e);if(!r.length)return{v:e};var n=tZ.A(r,function(e,r){var n=t.edge(r),o=t.node(r.v);return{sum:e.sum+n.weight*o.order,weight:e.weight+n.weight}},{sum:0,weight:0});return{v:e,barycenter:n.sum/n.weight,weight:n.weight}});h.A(E,function(r){if(t.children(r.v).length){var i,a,u=e(t,r.v,n,o);x[r.v]=u,Object.prototype.hasOwnProperty.call(u,"barycenter")&&(i=r,a=u,e9.A(i.barycenter)?(i.barycenter=a.barycenter,i.weight=a.weight):(i.barycenter=(i.barycenter*i.weight+a.barycenter*a.weight)/(i.weight+a.weight),i.weight+=a.weight))}});var j=(i={},h.A(E,function(e,t){var r=i[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:t};e9.A(e.barycenter)||(r.barycenter=e.barycenter,r.weight=e.weight)}),h.A(n.edges(),function(e){var t=i[e.v],r=i[e.w];e9.A(t)||e9.A(r)||(r.indegree++,t.out.push(i[e.w]))}),function(e){for(var t=[];e.length;){var r=e.pop();t.push(r),h.A(r.in.reverse(),function(e){return function(t){!t.merged&&(e9.A(t.barycenter)||e9.A(e.barycenter)||t.barycenter>=e.barycenter)&&function(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}(e,t)}}(r)),h.A(r.out,function(t){return function(r){r.in.push(t),0==--r.indegree&&e.push(r)}}(r))}return O(tO.A(t,function(e){return!e.merged}),function(e){return eH(e,["vs","i","barycenter","weight"])})}(tO.A(i,function(e){return!e.indegree})));!function(e,t){h.A(e,function(e){e.vs=w(e.vs.map(function(e){return t[e]?t[e].vs:e}))})}(j,x);var L=(c=(a=function(e){return Object.prototype.hasOwnProperty.call(e,"barycenter")},u={lhs:[],rhs:[]},h.A(j,function(e){a(e)?u.lhs.push(e):u.rhs.push(e)}),d=u).lhs,s=rE(d.rhs,function(e){return-e.i}),f=[],l=0,g=0,p=0,c.sort(function(e){return function(t,r){return t.barycenter<r.barycenter?-1:t.barycenter>r.barycenter?1:e?r.i-t.i:t.i-r.i}}(!!o)),p=rj(f,s,p),h.A(c,function(e){p+=e.vs.length,f.push(e.vs),l+=e.barycenter*e.weight,g+=e.weight,p=rj(f,s,p)}),v={vs:w(f)},g&&(v.barycenter=l/g,v.weight=g),v);if(A&&(L.vs=w([A,L.vs,m]),t.predecessors(A).length)){var k=t.node(t.predecessors(A)[0]),R=t.node(t.predecessors(m)[0]);Object.prototype.hasOwnProperty.call(L,"barycenter")||(L.barycenter=0,L.weight=0),L.barycenter=(L.barycenter*L.weight+k.order+R.order)/(L.weight+2),L.weight+=2}return L}(e,a,r,t);h.A(u.vs,function(t,r){e.node(t).order=r}),n=u.vs,i={},h.A(n,function(t){for(var n,a,u=e.parent(t);u;){if((n=e.parent(u))?(a=i[n],i[n]=u):(a=o,o=u),a&&a!==u)return void r.setEdge(a,u);u=n}})})})(l%2?r:n,l%4>=2),o=tc(e);var p=function(e,t){for(var r=0,n=1;n<t.length;++n)r+=function(e,t,r){for(var n=rb(r||[],O(r,function(e,t){return t})||[],e_),o=w(O(t,function(t){return rE(O(e.outEdges(t),function(t){return{pos:n[t.w],weight:e.edge(t).weight}}),"pos")})),i=1;i<r.length;)i<<=1;var a=2*i-1;i-=1;var u=O(Array(a),function(){return 0}),d=0;return h.A(o.forEach(function(e){var t=e.pos+i;u[t]+=e.weight;for(var r=0;t>0;)t%2&&(r+=u[t+1]),t=t-1>>1,u[t]+=e.weight;d+=e.weight*r})),d}(e,t[n-1],t[n]);return r}(e,o);p<f&&(g=0,s=ry(o,5),f=p)}rk(e,s)})(e)),r(" insertSelfEdges",()=>{var t,r;return r=tc(t=e),void h.A(r,function(e){var r=0;h.A(e,function(e,n){var o=t.node(e);o.order=n+r,h.A(o.selfEdges,function(e){ta(t,"selfedge",{width:e.label.width,height:e.label.height,rank:o.rank,order:n+ ++r,e:e.e,label:e.label},"_se")}),delete o.selfEdges})})}),r(" adjustCoordinateSystem",()=>{var t;("lr"===(t=e.graph().rankdir.toLowerCase())||"rl"===t)&&th(e)}),r(" position",()=>{var t,r,n,o,i,a,u,d,c,s,f,l,g,p,v,y,b;v=tc(p=t=tu(t=e)),y=p.graph().ranksep,b=0,h.A(v,function(e){var t=e4(O(e,function(e){return p.node(e).height}));h.A(e,function(e){p.node(e).y=b+t/2}),b+=t+y}),o=tc(r=t),a=eU((i={},tZ.A(o,function(e,t){var n=0,o=0,a=e.length,u=e6(t);return h.A(t,function(e,d){var c=function(e,t){if(e.node(t).dummy)return tk(e.predecessors(t),function(t){return e.node(t).dummy})}(r,e),s=c?r.node(c).order:a;(c||e===u)&&(h.A(t.slice(o,d+1),function(e){h.A(r.predecessors(e),function(t){var o=r.node(t),a=o.order;(a<n||s<a)&&!(o.dummy&&r.node(e).dummy)&&rR(i,t,e)})}),o=d+1,n=s)}),t}),i),function(e,t){var r={};function n(t,n,o,i,a){var u;h.A(q(n,o),function(n){u=t[n],e.node(u).dummy&&h.A(e.predecessors(u),function(t){var n=e.node(t);n.dummy&&(n.order<i||n.order>a)&&rR(r,t,u)})})}return tZ.A(t,function(t,r){var o,i=-1,a=0;return h.A(r,function(u,d){if("border"===e.node(u).dummy){var c=e.predecessors(u);c.length&&(o=e.node(c[0]).order,n(r,a,d,i,o),a=d,i=o)}n(r,a,r.length,o,t.length)}),r}),r}(r,o)),u={},h.A(["u","d"],function(e){n="u"===e?o:tH.A(o).reverse(),h.A(["l","r"],function(t){"r"===t&&(n=O(n,function(e){return tH.A(e).reverse()}));var o,i,d,c,s=("u"===e?r.predecessors:r.successors).bind(r),f=(o=n,i={},d={},c={},h.A(o,function(e){h.A(e,function(e,t){i[e]=e,d[e]=e,c[e]=t})}),h.A(o,function(e){var t=-1;h.A(e,function(e){var r=s(e);if(r.length)for(var n=((r=rE(r,function(e){return c[e]})).length-1)/2,o=Math.floor(n),u=Math.ceil(n);o<=u;++o){var f=r[o];d[e]===e&&t<c[f]&&!function(e,t,r){if(t>r){var n=t;t=r,r=n}return!!e[t]&&Object.prototype.hasOwnProperty.call(e[t],r)}(a,e,f)&&(d[f]=e,d[e]=i[e]=i[f],t=c[f])}})}),{root:i,align:d}),l=function(e,t,r,n,o){var i,a,u,d,c,s,f,l,g,p,v={},y=(i=e,a=t,u=r,d=o,l=new Y.T,p=(c=(g=i.graph()).nodesep,s=g.edgesep,f=d,function(e,t,r){var n,o,i=e.node(t),a=e.node(r);if(n=0+i.width/2,Object.prototype.hasOwnProperty.call(i,"labelpos"))switch(i.labelpos.toLowerCase()){case"l":o=-i.width/2;break;case"r":o=i.width/2}if(o&&(n+=f?o:-o),o=0,n+=(i.dummy?s:c)/2,n+=(a.dummy?s:c)/2,n+=a.width/2,Object.prototype.hasOwnProperty.call(a,"labelpos"))switch(a.labelpos.toLowerCase()){case"l":o=a.width/2;break;case"r":o=-a.width/2}return o&&(n+=f?o:-o),o=0,n}),h.A(a,function(e){var t;h.A(e,function(e){var r=u[e];if(l.setNode(r),t){var n=u[t],o=l.edge(n,r);l.setEdge(n,r,Math.max(p(i,e,t),o||0))}t=e})}),l),b=o?"borderLeft":"borderRight";function A(e,t){for(var r=y.nodes(),n=r.pop(),o={};n;)o[n]?e(n):(o[n]=!0,r.push(n),r=r.concat(t(n))),n=r.pop()}return A(function(e){v[e]=y.inEdges(e).reduce(function(e,t){return Math.max(e,v[t.v]+y.edge(t))},0)},y.predecessors.bind(y)),A(function(t){var r=y.outEdges(t).reduce(function(e,t){return Math.min(e,v[t.w]-y.edge(t))},1/0),n=e.node(t);1/0!==r&&n.borderType!==b&&(v[t]=Math.max(v[t],r))},y.successors.bind(y)),h.A(n,function(e){v[e]=v[r[e]]}),v}(r,n,f.root,f.align,"r"===t);"r"===t&&(l=e7(l,function(e){return-e})),u[e+t]=l})}),d=tb(tH.A(u),function(e){var t,n=-1/0,o=1/0;return t=function(e,t){var i,a,u=(i=r,a=t,i.node(a).width/2);n=Math.max(e+u,n),o=Math.min(e-u,o)},null==e||(0,en.A)(e,(0,rO.A)(t),eB),n-o}),s=tt(c=tH.A(d)),f=e4(c),h.A(["u","d"],function(e){h.A(["l","r"],function(t){var r,n=e+t,o=u[n];if(o!==d){var i=tH.A(o);(r="l"===t?s-tt(i):f-e4(i))&&(u[n]=e7(o,function(e){return e+r}))}})}),l=r.graph().align,g=e7(u.ul,function(e,t){if(l)return u[l.toLowerCase()][t];var r=rE(O(u,t));return(r[1]+r[2])/2}),g&&(0,e5.A)(g,(0,rO.A)(function(e,r){t.node(r).x=e}))}),r(" positionSelfEdges",()=>{var t;return t=e,void h.A(t.nodes(),function(e){var r=t.node(e);if("selfedge"===r.dummy){var n=t.node(r.e.v),o=n.x+n.width/2,i=n.y,a=r.x-o,u=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:o+2*a/3,y:i-u},{x:o+5*a/6,y:i-u},{x:o+a,y:i},{x:o+5*a/6,y:i+u},{x:o+2*a/3,y:i+u}],r.label.x=r.x,r.label.y=r.y}})}),r(" removeBorderNodes",()=>{var t;return t=e,void(h.A(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),o=t.node(r.borderBottom),i=t.node(e6(r.borderLeft)),a=t.node(e6(r.borderRight));r.width=Math.abs(a.x-i.x),r.height=Math.abs(o.y-n.y),r.x=i.x+r.width/2,r.y=n.y+r.height/2}}),h.A(t.nodes(),function(e){"border"===t.node(e).dummy&&t.removeNode(e)}))}),r(" normalize.undo",()=>{h.A(e.graph().dummyChains,function(t){var r,n=e.node(t),o=n.edgeLabel;for(e.setEdge(n.edgeObj,o);n.dummy;)r=e.successors(t)[0],e.removeNode(t),o.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(o.x=n.x,o.y=n.y,o.width=n.width,o.height=n.height),t=r,n=e.node(t)})}),r(" fixupEdgeLabelCoords",()=>{var t;return t=e,void h.A(t.edges(),function(e){var r=t.edge(e);if(Object.prototype.hasOwnProperty.call(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}),r(" undoCoordinateSystem",()=>{var t,r,n;("bt"===(t=e.graph().rankdir.toLowerCase())||"rl"===t)&&(r=e,h.A(r.nodes(),function(e){tv(r.node(e))}),h.A(r.edges(),function(e){var t=r.edge(e);h.A(t.points,tv),Object.prototype.hasOwnProperty.call(t,"y")&&tv(t)})),("lr"===t||"rl"===t)&&(n=e,h.A(n.nodes(),function(e){ty(n.node(e))}),h.A(n.edges(),function(e){var t=n.edge(e);h.A(t.points,ty),Object.prototype.hasOwnProperty.call(t,"x")&&ty(t)}),th(e))}),r(" translateGraph",()=>(function(e){var t=1/0,r=0,n=1/0,o=0,i=e.graph(),a=i.marginx||0,u=i.marginy||0;function d(e){var i=e.x,a=e.y,u=e.width,d=e.height;t=Math.min(t,i-u/2),r=Math.max(r,i+u/2),n=Math.min(n,a-d/2),o=Math.max(o,a+d/2)}h.A(e.nodes(),function(t){d(e.node(t))}),h.A(e.edges(),function(t){var r=e.edge(t);Object.prototype.hasOwnProperty.call(r,"x")&&d(r)}),t-=a,n-=u,h.A(e.nodes(),function(r){var o=e.node(r);o.x-=t,o.y-=n}),h.A(e.edges(),function(r){var o=e.edge(r);h.A(o.points,function(e){e.x-=t,e.y-=n}),Object.prototype.hasOwnProperty.call(o,"x")&&(o.x-=t),Object.prototype.hasOwnProperty.call(o,"y")&&(o.y-=n)}),i.width=r-t+a,i.height=o-n+u})(e)),r(" assignNodeIntersects",()=>{var t;return t=e,void h.A(t.edges(),function(e){var r,n,o=t.edge(e),i=t.node(e.v),a=t.node(e.w);o.points?(r=o.points[0],n=o.points[o.points.length-1]):(o.points=[],r=a,n=i),o.points.unshift(td(i,r)),o.points.push(td(a,n))})}),r(" reversePoints",()=>{var t;return t=e,void h.A(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}),r(" acyclic.undo",()=>{h.A(e.edges(),function(t){var r=e.edge(t);if(r.reversed){e.removeEdge(t);var n=r.forwardName;delete r.reversed,delete r.forwardName,e.setEdge(t.w,t.v,r,n)}})}))}),tl(" updateInputGraph",()=>{var r,n;return r=e,n=t,void(h.A(r.nodes(),function(e){var t=r.node(e),o=n.node(e);t&&(t.x=o.x,t.y=o.y,n.children(e).length&&(t.width=o.width,t.height=o.height))}),h.A(r.edges(),function(e){var t=r.edge(e),o=n.edge(e);t.points=o.points,Object.prototype.hasOwnProperty.call(o,"x")&&(t.x=o.x,t.y=o.y)}),r.graph().width=n.graph().width,r.graph().height=n.graph().height)})})},"runDagreGraphLayout"),rQ=(0,g.K)((e,t,r)=>{let n=e.node(t);if(!n)return;let o={...n};return n?.clusterNode?o.y=(n.y??0)+r:e.children(t).length>0?o.height=(n.height??0)+r:o.y=(n.y??0)+r/2,o},"normalizeDagreNode"),rW=(0,g.K)((e,t)=>{rF.forEach(r=>{void 0!==t[r]&&(e[r]=t[r])})},"applyDagreNodeLayout"),r$=(0,g.K)((e,t,r,n)=>({...e,start:e.start??t,end:e.end??r,points:(e.points??[]).map(e=>({...e,y:"number"==typeof e.y?e.y+n:e.y}))}),"normalizeDagreEdge"),rH=(0,g.K)((e,t)=>{let{graph:r,mergeSelfLoops:n,subGraphTitleTotalMargin:o=0}=t,i=new Map(e.nodes.map(e=>[e.id,e]));(0,a.sc)(r).forEach(e=>{let t=rQ(r,e,o);if(!t)return;rW(r.node(e),t);let n=i.get(e);n&&rW(n,t)});let u=o/2;return e.edges=rY(r,u,{mergeSelfLoops:n}).map(({edge:e,start:t,end:r})=>r$(e,t,r,u)),e},"applyDagreLayoutResult"),rZ=(0,g.K)(async({elem:e,graph:t,groups:{clusters:r,edgePaths:n},diagramType:o,id:i,mergeSelfLoops:s,subGraphTitleTotalMargin:f})=>{let g=0;await Promise.all((0,a.sc)(t).map(async function(e){let n=t.node(e);if(l.R.info("Position XBX => "+e+": ("+n.x,","+n.y,") width: ",n.width," height: ",n.height),n?.clusterNode)n.y+=f,l.R.info("A tainted cluster node XBX1",e,n.id,n.width,n.height,n.x,n.y,t.parent(e)),a.ju.get(n.id).node=n,(0,c.U_)(n);else if(t.children(e).length>0){l.R.info("A pure cluster node XBX1",e,n.id,n.x,n.y,n.width,n.height,t.parent(e)),n.height+=f,t.node(n.parentId);let o=n?.padding/2||0,i=n?.labelBBox?.height||0;l.R.debug("OffsetY",i-o||0,"labelHeight",i,"halfPadding",o),await (0,u.U)(r,n),a.ju.get(n.id).node=n}else{let e=t.node(n.parentId);n.y+=f/2,l.R.info("A regular node XBX1 - using the padding",n.id,"parent",n.parentId,n.width,n.height,n.x,n.y,"offsetY",n.offsetY,"parent",e,e?.offsetY,n),(0,c.U_)(n)}}));let h=f/2;return rY(t,h,{mergeSelfLoops:s}).forEach(function({edge:e,start:r,end:u}){l.R.info("Edge "+r+" -> "+u+": "+JSON.stringify(e),e),e.points.forEach(e=>e.y+=h);let c=t.node(r),s=t.node(u),f=(0,d.Jo)(n,e,a.ju,o,c,s,i);(0,d.T_)(e,f)}),t.nodes().forEach(function(e){let r=t.node(e);l.R.info(e,r.type,r.diff),r.isGroup&&(g=r.diff)}),l.R.warn("Returning from recursive render XAX",e,g),{elem:e,diff:g}},"paintDagreLayoutCore"),r0=(0,g.K)(async e=>{let t=await rV(e);return rz(t.graph),await rZ(t)},"renderDagreSubgraph"),r1=(0,g.K)(e=>{let t=new Y.T({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.nodeSpacing||e.config?.flowchart?.nodeSpacing,ranksep:e.config?.rankSpacing||e.rankSpacing||e.config?.flowchart?.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});return e.nodes.forEach(e=>{t.setNode(e.id,{...e}),e.parentId&&t.setParent(e.id,e.parentId)}),l.R.debug("Edges:",e.edges),e.edges.forEach(e=>{if(e.start===e.end){let r=e.start,n=r+"---"+r+"---1",o=r+"---"+r+"---2",i=t.node(r);t.setNode(n,{domId:n,id:n,parentId:i.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),t.setParent(n,i.parentId),t.setNode(o,{domId:o,id:o,parentId:i.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),t.setParent(o,i.parentId);let a=structuredClone(e),u=structuredClone(e),d=structuredClone(e),c=structuredClone(e);u.originalEdge=a,u.selfLoop={id:a.id,order:0},d.originalEdge=a,d.selfLoop={id:a.id,order:1},c.originalEdge=a,c.selfLoop={id:a.id,order:2},u.label="",u.arrowTypeEnd="none",u.endLabelLeft="",u.endLabelRight="",u.startLabelLeft="",u.id=r+"-cyclic-special-1",d.startLabelRight="",d.startLabelLeft="",d.endLabelLeft="",d.endLabelRight="",d.arrowTypeStart="none",d.arrowTypeEnd="none",d.id=r+"-cyclic-special-mid",c.label="",c.startLabelRight="",c.startLabelLeft="",c.arrowTypeStart="none",i.isGroup&&(u.fromCluster=r,c.toCluster=r),c.id=r+"-cyclic-special-2",c.arrowTypeStart="none",t.setEdge(r,n,u,r+"-cyclic-special-0"),t.setEdge(n,o,d,r+"-cyclic-special-1"),t.setEdge(o,r,c,r+"-cyclic-special-2")}else t.setEdge(e.start,e.end,{...e},e.id)}),(0,a.OS)(t),{graph:t}},"prepareLayoutForDagre"),r2=(0,g.K)(async(e,{element:t,preparedLayout:r})=>{let n=r??r1(e),o=(0,f.D7)(),i=await rV({element:t,graph:n.graph,diagramType:e.type,id:e.diagramId,parentCluster:void 0,siteConfig:o});return n.measuredLayout=i,i},"measureDagreLayout"),r3=(0,g.K)((e,t)=>{let r=t.preparedLayout?.measuredLayout;if(!r)throw Error("runDagreLayoutCore requires measureDagreLayout to run first");return rz(r.graph),rH(e,r),r},"runDagreLayoutCore"),r8=(0,g.K)((e,{measure:t})=>(0,a.sc)(t.graph).map(e=>t.graph.node(e)).filter(Boolean),"getDagrePaintNodes"),r4=(0,g.K)((e,t,{measure:r})=>e?r.graph.node(e):void 0,"getDagreEdgeNode"),r6=(0,a.xY)({prepareLayout:r1,measureLayout:r2,runLayoutCore:r3,paintOptions:{clusterDb:a.ju,getNodes:r8,getEdgeNode:r4,skipNode:(0,g.K)((e,{measure:t})=>!t.graph.hasNode(e.id),"skipNode"),isCluster:(0,g.K)((e,{measure:t})=>t.graph.hasNode(e.id)&&(t.graph.children(e.id)??[]).length>0,"isCluster")}})}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.rspackChunkompchamber=self.rspackChunkompchamber||[]).push([["7l"],{hRx(e,n,t){t.r(n),n.default=[Object.freeze(JSON.parse('{"displayName":"Kotlin","fileTypes":["kt","kts"],"name":"kotlin","patterns":[{"include":"#import"},{"include":"#package"},{"include":"#code"}],"repository":{"annotation-simple":{"match":"(?<!\\\\w)@[.\\\\w]+\\\\b(?!:)","name":"entity.name.type.annotation.kotlin"},"annotation-site":{"begin":"(?<!\\\\w)(@\\\\w+):\\\\s*(?!\\\\[)","beginCaptures":{"1":{"name":"entity.name.type.annotation-site.kotlin"}},"end":"$","patterns":[{"include":"#unescaped-annotation"}]},"annotation-site-list":{"begin":"(?<!\\\\w)(@\\\\w+):\\\\s*\\\\[","beginCaptures":{"1":{"name":"entity.name.type.annotation-site.kotlin"}},"end":"]","patterns":[{"include":"#unescaped-annotation"}]},"binary-literal":{"match":"0([Bb])[01][01_]*","name":"constant.numeric.binary.kotlin"},"boolean-literal":{"match":"\\\\b(true|false)\\\\b","name":"constant.language.boolean.kotlin"},"character":{"begin":"\'","end":"\'","name":"string.quoted.single.kotlin","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.kotlin"}]},"class-declaration":{"captures":{"1":{"name":"keyword.hard.class.kotlin"},"2":{"name":"entity.name.type.class.kotlin"},"3":{"patterns":[{"include":"#type-parameter"}]}},"match":"\\\\b(class|(?:fun\\\\s+)?interface)\\\\s+(\\\\b\\\\w+\\\\b|`[^`]+`)\\\\s*(?<GROUP><([^<>]|\\\\g<GROUP>)+>)?"},"code":{"patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#annotation-simple"},{"include":"#annotation-site-list"},{"include":"#annotation-site"},{"include":"#class-declaration"},{"include":"#object"},{"include":"#type-alias"},{"include":"#function"},{"include":"#variable-declaration"},{"include":"#type-constraint"},{"include":"#type-annotation"},{"include":"#function-call"},{"include":"#method-reference"},{"include":"#key"},{"include":"#string"},{"include":"#string-empty"},{"include":"#string-multiline"},{"include":"#character"},{"include":"#lambda-arrow"},{"include":"#operators"},{"include":"#self-reference"},{"include":"#decimal-literal"},{"include":"#hex-literal"},{"include":"#binary-literal"},{"include":"#boolean-literal"},{"include":"#null-literal"}]},"comment-block":{"begin":"/\\\\*(?!\\\\*)","end":"\\\\*/","name":"comment.block.kotlin"},"comment-javadoc":{"patterns":[{"begin":"/\\\\*\\\\*","end":"\\\\*/","name":"comment.block.javadoc.kotlin","patterns":[{"match":"@(return|constructor|receiver|sample|see|author|since|suppress)\\\\b","name":"keyword.other.documentation.javadoc.kotlin"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.kotlin"},"2":{"name":"variable.parameter.kotlin"}},"match":"(@p(?:aram|roperty))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.kotlin"},"2":{"name":"variable.parameter.kotlin"}},"match":"(@param)\\\\[(\\\\S+)]"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.kotlin"},"2":{"name":"entity.name.type.class.kotlin"}},"match":"(@(?:exception|throws))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.kotlin"},"2":{"name":"entity.name.type.class.kotlin"},"3":{"name":"variable.parameter.kotlin"}},"match":"\\\\{(@link)\\\\s+(\\\\S+)?#([$\\\\w]+\\\\s*\\\\([^()]*\\\\)).*}"}]}]},"comment-line":{"begin":"//","end":"$","name":"comment.line.double-slash.kotlin"},"comments":{"patterns":[{"include":"#comment-line"},{"include":"#comment-block"},{"include":"#comment-javadoc"}]},"control-keywords":{"match":"\\\\b(if|else|while|do|when|try|throw|break|continue|return|for)\\\\b","name":"keyword.control.kotlin"},"decimal-literal":{"match":"\\\\b\\\\d[_\\\\d]*(\\\\.[_\\\\d]+)?(([Ee])\\\\d+)?([Uu])?([FLf])?\\\\b","name":"constant.numeric.decimal.kotlin"},"function":{"captures":{"1":{"name":"keyword.hard.fun.kotlin"},"2":{"patterns":[{"include":"#type-parameter"}]},"4":{"name":"entity.name.type.class.extension.kotlin"},"5":{"name":"entity.name.function.declaration.kotlin"}},"match":"\\\\b(fun)\\\\b\\\\s*(?<GROUP><([^<>]|\\\\g<GROUP>)+>)?\\\\s*(?:(?:(\\\\w+)\\\\.)?(\\\\b\\\\w+\\\\b|`[^`]+`))?"},"function-call":{"captures":{"1":{"name":"entity.name.function.call.kotlin"},"2":{"patterns":[{"include":"#type-parameter"}]}},"match":"\\\\??\\\\.?(\\\\b\\\\w+\\\\b|`[^`]+`)\\\\s*(?<GROUP><([^<>]|\\\\g<GROUP>)+>)?\\\\s*(?=[({])"},"hard-keywords":{"match":"\\\\b(as|typeof|is|in)\\\\b","name":"keyword.hard.kotlin"},"hex-literal":{"match":"0([Xx])\\\\h[_\\\\h]*([Uu])?","name":"constant.numeric.hex.kotlin"},"import":{"begin":"\\\\b(import)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.soft.kotlin"}},"contentName":"entity.name.package.kotlin","end":";|$","name":"meta.import.kotlin","patterns":[{"include":"#comments"},{"include":"#hard-keywords"},{"match":"\\\\*","name":"variable.language.wildcard.kotlin"}]},"key":{"captures":{"1":{"name":"variable.parameter.kotlin"},"2":{"name":"keyword.operator.assignment.kotlin"}},"match":"\\\\b(\\\\w=)\\\\s*(=)"},"keywords":{"patterns":[{"include":"#prefix-modifiers"},{"include":"#postfix-modifiers"},{"include":"#soft-keywords"},{"include":"#hard-keywords"},{"include":"#control-keywords"}]},"lambda-arrow":{"match":"->","name":"storage.type.function.arrow.kotlin"},"method-reference":{"captures":{"1":{"name":"entity.name.function.reference.kotlin"}},"match":"\\\\??::(\\\\b\\\\w+\\\\b|`[^`]+`)"},"null-literal":{"match":"\\\\bnull\\\\b","name":"constant.language.null.kotlin"},"object":{"captures":{"1":{"name":"keyword.hard.object.kotlin"},"2":{"name":"entity.name.type.object.kotlin"}},"match":"\\\\b(object)(?:\\\\s+(\\\\b\\\\w+\\\\b|`[^`]+`))?"},"operators":{"patterns":[{"match":"(===?|!==?|<=|>=|[<>])","name":"keyword.operator.comparison.kotlin"},{"match":"([-%*+/]=)","name":"keyword.operator.assignment.arithmetic.kotlin"},{"match":"(=)","name":"keyword.operator.assignment.kotlin"},{"match":"([-%*+/])","name":"keyword.operator.arithmetic.kotlin"},{"match":"(!|&&|\\\\|\\\\|)","name":"keyword.operator.logical.kotlin"},{"match":"(--|\\\\+\\\\+)","name":"keyword.operator.increment-decrement.kotlin"},{"match":"(\\\\.\\\\.)","name":"keyword.operator.range.kotlin"}]},"package":{"begin":"\\\\b(package)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.hard.package.kotlin"}},"contentName":"entity.name.package.kotlin","end":";|$","name":"meta.package.kotlin","patterns":[{"include":"#comments"}]},"postfix-modifiers":{"match":"\\\\b(where|by|get|set)\\\\b","name":"storage.modifier.other.kotlin"},"prefix-modifiers":{"match":"\\\\b(abstract|final|enum|open|annotation|sealed|data|override|final|lateinit|private|protected|public|internal|inner|companion|noinline|crossinline|vararg|reified|tailrec|operator|infix|inline|external|const|suspend|value)\\\\b","name":"storage.modifier.other.kotlin"},"self-reference":{"match":"\\\\b(this|super)(@\\\\w+)?\\\\b","name":"variable.language.this.kotlin"},"soft-keywords":{"match":"\\\\b(init|catch|finally|field)\\\\b","name":"keyword.soft.kotlin"},"string":{"begin":"(?<!\\")\\"(?!\\")","end":"\\"","name":"string.quoted.double.kotlin","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.kotlin"},{"include":"#string-escape-simple"},{"include":"#string-escape-bracketed"}]},"string-empty":{"match":"(?<!\\")\\"\\"(?!\\")","name":"string.quoted.double.kotlin"},"string-escape-bracketed":{"begin":"(?<!\\\\\\\\)(\\\\$\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.template-expression.begin"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.template-expression.end"}},"name":"meta.template.expression.kotlin","patterns":[{"include":"#code"}]},"string-escape-simple":{"match":"(?<!\\\\\\\\)\\\\$\\\\w+\\\\b","name":"variable.string-escape.kotlin"},"string-multiline":{"begin":"\\"\\"\\"","end":"\\"\\"\\"","name":"string.quoted.double.kotlin","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.kotlin"},{"include":"#string-escape-simple"},{"include":"#string-escape-bracketed"}]},"type-alias":{"captures":{"1":{"name":"keyword.hard.typealias.kotlin"},"2":{"name":"entity.name.type.kotlin"},"3":{"patterns":[{"include":"#type-parameter"}]}},"match":"\\\\b(typealias)\\\\s+(\\\\b\\\\w+\\\\b|`[^`]+`)\\\\s*(?<GROUP><([^<>]|\\\\g<GROUP>)+>)?"},"type-annotation":{"captures":{"0":{"patterns":[{"include":"#type-parameter"}]}},"match":"(?<![:?]):\\\\s*([?\\\\w\\\\s]|->|(?<GROUP>[(<]([^\\"\'()<>]|\\\\g<GROUP>)+[)>]))+"},"type-parameter":{"patterns":[{"match":"\\\\b\\\\w+\\\\b","name":"entity.name.type.kotlin"},{"match":"\\\\b(in|out)\\\\b","name":"storage.modifier.kotlin"}]},"unescaped-annotation":{"match":"\\\\b[.\\\\w]+\\\\b","name":"entity.name.type.annotation.kotlin"},"variable-declaration":{"captures":{"1":{"name":"keyword.hard.kotlin"},"2":{"patterns":[{"include":"#type-parameter"}]}},"match":"\\\\b(va[lr])\\\\b\\\\s*(?<GROUP><([^<>]|\\\\g<GROUP>)+>)?"}},"scopeName":"source.kotlin","aliases":["kt","kts"]}'))]}}]);
@@ -1,2 +1,2 @@
1
- /*! LICENSE: dc.856fda6560.js.LICENSE.txt */
2
- "use strict";(self.rspackChunkompchamber=self.rspackChunkompchamber||[]).push([["dc"],{wA(e,t,n){var a=n("j"),r=n("H"),l=n("rm"),i=n("Go"),s=n("t3"),o=n("Ir"),c=n("z"),d=n("oj");function p(e){let{rootPath:t,activeRepo:n,onSelectRepo:p}=e,[h,x]=(0,r.J0)(!1),[m,f]=(0,r.J0)(["."]),[u,b]=(0,r.J0)(!1),[k,y]=(0,r.J0)(""),g=(0,r.li)(null),v=function(e){if(!e)return"workspace root";let t=e.replace(/\\/g,"/").split("/").filter(Boolean);return t.length>0?t[t.length-1]:"workspace root"}(t),N=e=>"."===e?v:e,Y=async function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=new URLSearchParams({reposOnly:"1"});t&&n.set("root",t),e&&n.set("rescan","1"),n.set("t",String(Date.now()));let a=await fetch(`/api/fs/git?${n.toString()}`).then(e=>e.json()).catch(()=>null);a&&Array.isArray(a.repos)&&(f(a.repos),a.reposPending?b(!0):b(!1))};(0,r.vJ)(()=>{h&&Y()},[h,t]),(0,r.vJ)(()=>{if(!u)return;let e=new URLSearchParams({reposOnly:"1"});t&&e.set("root",t);let n=setInterval(async()=>{let t=await fetch(`/api/fs/git?${e.toString()}`).then(e=>e.json()).catch(()=>null);t&&!t.reposPending&&Array.isArray(t.repos)&&(f(t.repos),b(!1))},1500);return()=>clearInterval(n)},[u,t]),(0,d.W)(g,()=>x(!1));let w=m.filter(e=>!k.trim()||N(e).toLowerCase().includes(k.toLowerCase()));return(0,a.FD)("div",{className:"relative",ref:g,children:[(0,a.FD)("button",{type:"button",onClick:()=>x(!h),title:"Switch git project",className:"flex items-center space-x-1.5 hover:bg-ink/5 px-2 py-1 rounded transition-colors text-xs text-ink/80 font-medium",children:[(0,a.Y)(l.A,{size:12,className:"text-ink/60"}),(0,a.Y)("span",{className:"truncate max-w-[110px]",children:"."===n?v:n.split("/").pop()}),(0,a.Y)(i.A,{size:12,className:"text-ink/40"})]}),h&&(0,a.FD)("div",{className:"absolute top-full left-0 mt-1 w-52 bg-paper border border-ink/20 rounded-md shadow-lg z-50 flex flex-col overflow-hidden text-xs",children:[(0,a.FD)("div",{className:"px-2 py-1.5 border-b border-ink/10 flex items-center space-x-1.5",children:[(0,a.Y)(s.A,{size:11,className:"text-ink/40 flex-shrink-0"}),(0,a.Y)("input",{type:"text",value:k,onChange:e=>y(e.currentTarget.value),placeholder:"Search repos...",title:"Search repositories",className:"w-full bg-transparent outline-none text-xs text-ink placeholder-ink/40",autoFocus:!0}),k&&(0,a.Y)("button",{type:"button",onClick:()=>y(""),title:"Clear search",className:"text-ink/40 hover:text-ink flex-shrink-0",children:"×"}),(0,a.Y)("button",{type:"button",onClick:()=>void Y(!0),title:"Refresh nested repos",disabled:u,className:"text-ink/40 hover:text-ink flex-shrink-0 transition-colors disabled:opacity-40 disabled:hover:text-ink/40",children:(0,a.Y)(o.A,{size:11,className:u?"animate-spin":""})})]}),(0,a.Y)("div",{className:"max-h-48 scrollbar-overlay-container scrollbar-overlay-static py-1",children:0===w.length?(0,a.Y)("div",{className:"px-3 py-2 text-ink/40 italic",children:"No repos found"}):w.map(e=>(0,a.FD)("button",{type:"button",onClick:()=>{p(e),x(!1),y("")},title:N(e),className:"w-full text-left px-3 py-2 hover:bg-ink/5 flex items-center justify-between transition-colors",children:[(0,a.Y)("span",{className:"truncate",children:N(e)}),n===e&&(0,a.Y)(c.A,{size:12,className:"text-ink"})]},e))})]})]})}n.d(t,{I:()=>p})},fy(e,t,n){n.d(t,{FileExplorer:()=>j});var a=n("j"),r=n("H"),l=n("n"),i=n("t3"),s=n("wA"),o=n("Go"),c=n("Nf"),d=n("X"),p=n("ob"),h=n("G"),x=n("bH"),m=n("YOg"),f=n("q"),u=n("b0"),b=n("hw");let k=(0,n("y").A)({name:"pen",size:24,node:[["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"}]],aliases:["edit-2"]});var y=n("mO"),g=n("S");function v(e){let{x:t,y:n,isFolder:r,hasGitStatus:l,onAction:i,menuRef:s}=e,o=r?220:l?285:255,c="u">typeof window?Math.max(10,Math.min(t,window.innerWidth-190-12)):t,d="u">typeof window?Math.max(10,Math.min(n,window.innerHeight-o-12)):n;return(0,h.d5)((0,a.Y)("div",{className:"fixed inset-0 z-50 bg-ink/20",onClick:()=>i("close"),onContextMenu:e=>{e.preventDefault(),i("close")},children:(0,a.FD)("div",{ref:s,className:"fixed z-50 bg-paper border border-ink/15 shadow-2xl rounded-lg py-1 min-w-[185px] text-xs text-ink font-sans",style:{top:d,left:c},onClick:e=>e.stopPropagation(),children:[!r&&(0,a.FD)(a.FK,{children:[(0,a.FD)("button",{onClick:()=>i("view"),className:"w-full text-left px-3 py-1.5 hover:bg-ink/5 flex items-center space-x-2 transition-colors",children:[(0,a.Y)(x.A,{size:13,className:"text-ink/60"}),(0,a.Y)("span",{children:"View"})]}),l&&(0,a.FD)("button",{onClick:()=>i("diff"),className:"w-full text-left px-3 py-1.5 hover:bg-ink/5 flex items-center space-x-2 transition-colors text-ink",children:[(0,a.Y)(m.A,{size:13,className:"text-warning"}),(0,a.Y)("span",{className:"font-medium",children:"Open in Diff Panel"})]})]}),(0,a.FD)("button",{onClick:()=>i("explorer"),className:"w-full text-left px-3 py-1.5 hover:bg-ink/5 flex items-center space-x-2 transition-colors",children:[(0,a.Y)(f.A,{size:13,className:"text-ink/60"}),(0,a.Y)("span",{children:"Go to Explorer"})]}),(0,a.Y)("div",{className:"my-1 border-t border-ink/10"}),(0,a.FD)("button",{onClick:()=>i("copy_path"),className:"w-full text-left px-3 py-1.5 hover:bg-ink/5 flex items-center space-x-2 transition-colors",children:[(0,a.Y)(u.A,{size:13,className:"text-ink/60"}),(0,a.Y)("span",{children:"Copy Path"})]}),(0,a.FD)("button",{onClick:()=>i("copy_relative"),className:"w-full text-left px-3 py-1.5 hover:bg-ink/5 flex items-center space-x-2 transition-colors",children:[(0,a.Y)(u.A,{size:13,className:"text-ink/60"}),(0,a.Y)("span",{children:"Copy Relative Path"})]}),(0,a.Y)("div",{className:"my-1 border-t border-ink/10"}),(0,a.FD)("button",{onClick:()=>i("history"),className:"w-full text-left px-3 py-1.5 hover:bg-ink/5 flex items-center space-x-2 transition-colors",children:[(0,a.Y)(b.A,{size:13,className:"text-ink/60"}),(0,a.Y)("span",{children:"Show Git History"})]}),(0,a.Y)("div",{className:"my-1 border-t border-ink/10"}),(0,a.FD)("button",{onClick:()=>i("rename"),className:"w-full text-left px-3 py-1.5 hover:bg-ink/5 flex items-center space-x-2 transition-colors",children:[(0,a.Y)(k,{size:13,className:"text-ink/60"}),(0,a.Y)("span",{children:"Rename"})]}),(0,a.FD)("button",{onClick:()=>i("delete"),className:"w-full text-left px-3 py-1.5 hover:bg-error/10 text-error flex items-center space-x-2 transition-colors",children:[(0,a.Y)(y.A,{size:13,className:"text-error"}),(0,a.Y)("span",{children:"Delete"})]})]})}),document.body)}function N(e){let{fileName:t,isFolder:n,isLoading:r,onCancel:l,onConfirm:i}=e;return(0,h.d5)((0,a.Y)("div",{className:"fixed inset-0 bg-ink/20 z-[100] flex items-center justify-center p-4 backdrop-blur-sm",children:(0,a.FD)("div",{className:"bg-paper rounded shadow-xl p-4 w-full max-w-sm border border-ink/10 font-sans",children:[(0,a.FD)("h3",{className:"font-semibold text-ink mb-2 text-sm",children:["Delete ",n?"Folder":"File"]}),(0,a.FD)("p",{className:"text-xs text-ink/70 mb-4",children:["Are you sure you want to delete ",(0,a.Y)("span",{className:"font-mono bg-canvas px-1 rounded",children:t}),"? This action cannot be undone."]}),(0,a.FD)("div",{className:"flex justify-end space-x-2",children:[(0,a.Y)("button",{onClick:l,className:"px-3 py-1.5 text-xs text-ink hover:bg-ink/5 rounded transition-colors",disabled:r,children:"Cancel"}),(0,a.Y)("button",{onClick:i,className:"px-3 py-1.5 text-xs bg-error text-white rounded hover:bg-error/90 transition-colors flex items-center",disabled:r,children:r?"Deleting...":"Delete"})]})]})}),document.body)}function Y(e){let{isFolder:t,renameValue:n,originalPath:r,isLoading:l,onChange:i,onCancel:s,onSubmit:o}=e;return(0,h.d5)((0,a.Y)("div",{className:"fixed inset-0 bg-ink/20 z-[100] flex items-center justify-center p-4 backdrop-blur-sm",children:(0,a.FD)("form",{onSubmit:o,className:"bg-paper rounded shadow-xl p-4 w-full max-w-sm border border-ink/10 font-sans",children:[(0,a.FD)("h3",{className:"font-semibold text-ink mb-3 text-sm",children:["Rename ",t?"Folder":"File"]}),(0,a.Y)("input",{autoFocus:!0,type:"text",value:n,onChange:e=>i(e.currentTarget.value),className:"w-full bg-paper border border-ink/20 rounded px-2 py-1.5 text-xs font-mono focus:outline-none focus:border-ink mb-4"}),(0,a.FD)("div",{className:"flex justify-end space-x-2",children:[(0,a.Y)("button",{type:"button",onClick:s,className:"px-3 py-1.5 text-xs text-ink hover:bg-ink/5 rounded transition-colors",disabled:l,children:"Cancel"}),(0,a.Y)("button",{type:"submit",className:"px-3 py-1.5 text-xs bg-ink text-canvas rounded hover:bg-ink/90 transition-colors flex items-center",disabled:l||!n.trim()||n===r,children:l?"Renaming...":"Rename"})]})]})}),document.body)}function w(e){let{filePath:t,fetcherState:n,fetcherData:r,onClose:i}=e;return(0,h.d5)((0,a.Y)("div",{className:"fixed inset-0 bg-ink/20 z-[100] flex items-center justify-center p-4 backdrop-blur-sm",children:(0,a.FD)("div",{className:"bg-paper rounded-lg shadow-xl w-full max-w-4xl border border-ink/10 flex flex-col max-h-[85vh]",children:[(0,a.FD)("div",{className:"flex items-center justify-between p-4 border-b border-ink/10",children:[(0,a.FD)("h3",{className:"text-sm font-semibold text-ink flex items-center space-x-2",children:[(0,a.Y)(b.A,{size:16,className:"text-ink/60"}),(0,a.FD)("span",{children:["Git History: ",(0,a.Y)("span",{className:"font-mono font-normal opacity-80",children:t})]})]}),(0,a.Y)("button",{onClick:i,className:"p-1 hover:bg-ink/5 rounded text-ink/60 transition-colors",children:(0,a.Y)(g.A,{size:14})})]}),(0,a.Y)("div",{className:"flex-1 scrollbar-overlay-container scrollbar-overlay-static bg-paper p-2",children:"idle"===n?r?.type==="history"?r.data.length>0?(0,a.FD)("table",{className:"w-full text-left border-collapse text-[11px]",children:[(0,a.Y)("thead",{className:"bg-canvas sticky top-0 z-10 border-b border-ink/10",children:(0,a.FD)("tr",{children:[(0,a.Y)("th",{className:"px-3 py-2 font-semibold text-ink/70 rounded-tl",children:"Description"}),(0,a.Y)("th",{className:"px-3 py-2 font-semibold text-ink/70 w-32",children:"Date"}),(0,a.Y)("th",{className:"px-3 py-2 font-semibold text-ink/70 w-32",children:"Author"}),(0,a.Y)("th",{className:"px-3 py-2 font-semibold text-ink/70 w-24 text-right rounded-tr",children:"Commit"})]})}),(0,a.Y)("tbody",{className:"divide-y divide-ink/5",children:r.data.map((e,t)=>(0,a.FD)("tr",{className:"hover:bg-ink/[0.03] transition-colors group bg-paper",children:[(0,a.Y)("td",{className:"px-3 py-2 text-ink",children:e.message?(0,a.Y)("span",{className:"font-medium text-ink/90 group-hover:text-ink",children:e.message}):null}),(0,a.Y)("td",{className:"px-3 py-2 text-ink/60 whitespace-nowrap font-mono text-[10.5px]",children:e.time}),(0,a.Y)("td",{className:"px-3 py-2 text-ink/70 whitespace-nowrap truncate max-w-[120px]",children:e.author}),(0,a.Y)("td",{className:"px-3 py-2 text-right",children:e.hash?(0,a.Y)("span",{className:"font-mono text-ink/50 group-hover:text-ink font-semibold transition-colors bg-canvas px-1.5 py-0.5 rounded border border-ink/10",children:e.hash}):null})]},t))})]}):(0,a.Y)("div",{className:"p-8 text-center text-ink/40 font-mono text-xs",children:"No commit history found for this file."}):r?.error?(0,a.Y)("div",{className:"p-8 text-center text-error font-mono text-xs",children:r.error}):(0,a.Y)("div",{className:"p-8 text-center text-ink/40 font-mono text-xs",children:"Loading history..."}):(0,a.FD)("div",{className:"p-8 text-center text-ink/40 font-mono text-xs flex items-center justify-center space-x-2",children:[(0,a.Y)(l.A,{size:14,className:"animate-spin"}),(0,a.Y)("span",{children:"Loading history..."})]})})]})}),document.body)}var F=n("LQ"),D=n("pH"),C=n("oj");function A(e){let{file:t,rootPath:n,basePath:l,repo:i,onLoadChildren:s,onOpenFile:h,onActionComplete:x,expandedPaths:m,onToggleFolder:f,gitFileMap:u,gitFolderMap:b}=e,k="folder"===t.type,[y,g]=(0,r.J0)(!1),[z,S]=(0,r.J0)(!1),J=(0,d.L)(),[P,j]=(0,r.J0)(!1),[L,M]=(0,r.J0)(null),$=(0,r.li)(null),[R,H]=(0,r.J0)(!1),[T,E]=(0,r.J0)(!1),[O,G]=(0,r.J0)(!1),[_,I]=(0,r.J0)(t.path),V=Array.isArray(t.children)?t.children:[],B=(t.path||"").replace(/^\/+/,""),U=k?void 0:u?.get(B)||u?.get(t.path),W=U?(0,F.R)(U.status,U.staged):null,K=k?b?.get(B)||b?.get(t.path):null,Q=!!W,X=!0===t.ignored,q=m?m.has(t.path):y,Z=void 0!==t.forceExpanded?t.forceExpanded:q;(0,r.vJ)(()=>{j(!0)},[]),(0,r.vJ)(()=>{k&&m&&g(m.has(t.path))},[m,t.path,k]),(0,r.vJ)(()=>{k&&Z&&(!t.children||0===t.children.length)&&s&&!z&&(S(!0),Promise.resolve(s(t.path)).finally(()=>S(!1)))},[k,Z,t.children,t.path,s]),(0,C.W)($,()=>M(null)),(0,r.vJ)(()=>{"idle"===J.state&&J.data&&J.data.success&&!J.data.type&&(H(!1),E(!1),x())},[J.state,J.data]);let ee=e=>{i&&"."!==i&&e.append("repo",i),n&&e.append("root",n),J.submit(e,{method:"post",action:"/api/fs/action"})};return(0,a.FD)("div",{children:[(0,a.FD)("div",{className:"flex items-center space-x-1.5 py-1 px-2 hover:bg-ink/5 cursor-pointer rounded group",onClick:e=>{if(e.stopPropagation(),k){let e=!Z;g(e),void 0!==t.forceExpanded&&(t.forceExpanded=void 0),f?.(t.path,e),e&&s&&(!t.children||0===t.children.length)&&(S(!0),Promise.resolve(s(t.path)).finally(()=>S(!1)))}else h&&h({...t,root:n,repo:i||"."})},onContextMenu:e=>{e.preventDefault(),e.stopPropagation(),M({x:e.clientX,y:e.clientY})},children:[k?Z?(0,a.Y)(o.A,{size:12,className:"flex-shrink-0 text-ink/40"}):(0,a.Y)(c.A,{size:12,className:"flex-shrink-0 text-ink/40"}):(0,a.Y)("span",{className:"w-3 flex-shrink-0"}),(0,a.Y)(p.o,{name:t.name,isFolder:k,isOpen:Z,size:12,className:`flex-shrink-0${X?" opacity-40":""}`}),(0,a.Y)("span",{className:`truncate min-w-0 flex-1 ${W?W.colorClass:K?K.colorClass:X?"text-ink/40":""}`,title:X?`${t.path} — git-ignored`:void 0,children:t.name}),W&&(0,a.Y)("span",{className:`font-mono text-[9px] font-bold px-1 rounded flex-shrink-0 ${W.colorClass}`,title:`Git: ${W.label}`,children:W.charStatus}),K&&(0,a.Y)("span",{className:`w-1.5 h-1.5 rounded-full flex-shrink-0 ${K.hasDeleted?"bg-error":K.hasModified||K.hasStaged?"bg-info":"bg-success"}`,title:`${K.count} changed file${K.count>1?"s":""}`})]}),Z&&z&&(0,a.Y)("div",{className:"ml-3 border-l border-ink/10 pl-3 py-0.5 text-[10px] text-ink/30",children:"Loading…"}),Z&&!z&&V.length>0&&(0,a.Y)("div",{className:"ml-3 border-l border-ink/10 pl-1",children:V.map(e=>(0,a.Y)(A,{file:e,rootPath:n,basePath:l,repo:i,onLoadChildren:s,onOpenFile:h,onActionComplete:x,expandedPaths:m,onToggleFolder:f,gitFileMap:u,gitFolderMap:b},e.id))}),P&&L&&(0,a.Y)(v,{x:L.x,y:L.y,isFolder:k,hasGitStatus:Q,onAction:e=>{if(M(null),"view"===e)h&&h({...t,root:n,repo:i||"."});else if("diff"===e)window.dispatchEvent(new CustomEvent("omp:open-diff",{detail:{file:t.path,staged:U?.staged||U?.status&&" "!==U.status[0]&&"?"!==U.status[0],status:W?.charStatus||"M",repo:i||".",root:n}}));else if("explorer"===e){let e=new FormData;e.append("actionType","open_explorer"),e.append("path",t.path),ee(e)}else if("copy_path"===e){let e,n;(0,D.l)((e=t.path.replace(/^(?:\.?[/\\])+/,"").replace(/[/\\]+$/,""),(n=(l??"").replace(/[/\\]+$/,""))?e?`${n}${n.includes("\\")&&!n.includes("/")?"\\":"/"}${e}`:n:e))}else if("copy_relative"===e)(0,D.l)(t.path);else if("history"===e){G(!0);let e=new FormData;e.append("actionType","git_history"),e.append("path",t.path),ee(e)}else"rename"===e?(I(t.path),H(!0)):"delete"===e&&E(!0)}}),P&&T&&(0,a.Y)(N,{fileName:t.name,isFolder:k,isLoading:"idle"!==J.state,onCancel:()=>E(!1),onConfirm:()=>{let e=new FormData;e.append("actionType","delete"),e.append("path",t.path),ee(e)}}),P&&R&&(0,a.Y)(Y,{isFolder:k,renameValue:_,originalPath:t.path,isLoading:"idle"!==J.state,onChange:I,onCancel:()=>H(!1),onSubmit:e=>{e.preventDefault();let n=new FormData;n.append("actionType","rename"),n.append("path",t.path),n.append("newPath",_),ee(n)}}),P&&O&&(0,a.Y)(w,{filePath:t.path,fetcherState:J.state,fetcherData:J.data,onClose:()=>G(!1)})]})}var z=n("jo"),S=n("FL"),J=n("so"),P=n("Af");function j(e){let{className:t="",enabled:n=!0,rootPath:o,onOpenFile:c,refreshKey:d=0,onRefresh:p}=e,[h,x]=(0,r.J0)([]),[m,f]=(0,r.J0)(""),[u,b]=(0,S.bL)("files.searchQuery",""),[k,y]=(0,r.J0)(!1),[g,v,N]=(0,S.bL)("files.expandedPaths",[]),[Y,w]=(0,r.J0)(()=>new Set(g)),F=(0,r.li)({}),[D,C]=(0,S.bL)("files.activeRepo","."),{isScrolling:j,handleScroll:L}=(0,z.K)(),{fileMap:M,folderMap:$,refreshGitStatus:R}=(0,J.e)(o,D,d,n);(0,r.vJ)(()=>{N&&w(e=>{let t=new Set(g);return e.size===t.size&&Array.from(t).every(t=>e.has(t))?e:t})},[N,g]);let H=e=>{let t=new URLSearchParams;return o&&t.set("root",o),D&&"."!==D&&t.set("repo",D),e&&t.set("path",e),t.set("t",String(Date.now())),`/api/fs/dir?${t.toString()}`},T=e=>{n&&(e?.silent||y(!0),fetch(H()).then(e=>e.json()).then(e=>{"string"==typeof e.root&&f(e.root),Array.isArray(e.files)&&x(function e(t,n,a){return t.map(t=>{if("folder"!==t.type)return t;let r=n[t.path],l=a.has(t.path);return r?{...t,children:e(r,n,a),is_expanded:+!!l}:t})}(e.files,F.current,Y))}).catch(()=>{}).finally(()=>{e?.silent||y(!1)}))};(0,r.vJ)(()=>{N&&T()},[d,o,n,D,N]);let E=()=>{T({silent:!0}),R()};(0,P.n)(E,n&&N),(0,P.w)(E,n&&N);let O=e=>(R(),fetch(H(e)).then(e=>e.json()).then(t=>{Array.isArray(t.files)&&(F.current[e]=t.files,x(n=>(function e(t,n,a){return t.map(t=>{if(t.path===n)return{...t,children:a,is_expanded:1};if(Array.isArray(t.children)){let r=e(t.children,n,a);if(r!==t.children)return{...t,children:r}}return t})})(n,e,t.files)))}).catch(()=>{})),G=(e,t)=>{let n=new Set(Y);t?n.add(e):n.delete(e),w(n),v(Array.from(n))};if(!n)return(0,a.Y)("div",{className:`flex flex-col h-full bg-paper items-center justify-center text-ink/40 ${t}`,children:(0,a.Y)("span",{className:"text-xs font-mono",children:"No session selected"})});let _=(()=>{if(!u.trim())return h;let e=u.toLowerCase(),t=n=>{let a=n.name.toLowerCase().includes(e);if("folder"===n.type){let e=(n.children||[]).map(t).filter(Boolean);return a||e.length>0?{...n,children:a&&0===e.length?n.children:e,forceExpanded:!0}:null}return a?n:null};return h.map(t).filter(Boolean)})(),I=()=>{R(),p?p():T()};return(0,a.FD)("div",{className:`flex flex-col h-full bg-paper ${t}`,children:[(0,a.FD)("div",{className:"p-3 border-b border-ink/10 flex flex-col space-y-2",children:[(0,a.FD)("div",{className:"flex items-center justify-between",children:[(0,a.Y)(s.I,{rootPath:o,activeRepo:D,onSelectRepo:e=>{e!==D&&(F.current={},w(new Set),v([]),C(e))}}),(0,a.Y)("button",{onClick:I,className:"p-1.5 text-ink/40 hover:text-ink hover:bg-ink/5 rounded transition-colors",title:"Refresh",children:(0,a.Y)(l.A,{size:14,className:k?"animate-spin":""})})]}),(0,a.FD)("div",{className:"relative",children:[(0,a.Y)(i.A,{size:14,className:"absolute left-2.5 top-1/2 -translate-y-1/2 text-ink/40"}),(0,a.Y)("input",{type:"text",placeholder:"Search files...",value:u,onChange:e=>b(e.currentTarget.value),className:"w-full bg-canvas border border-ink/20 rounded pl-8 pr-3 py-1.5 text-xs focus:outline-none focus:border-ink transition-colors text-ink placeholder-ink/40"})]})]}),(0,a.Y)("div",{className:`flex-1 scrollbar-overlay-container p-2 font-mono text-[11px] text-ink/80 ${(0,z.p)(j)}`,onContextMenu:e=>e.preventDefault(),onScroll:L,children:k&&0===_.length?(0,a.Y)("div",{className:"p-4 text-center text-ink/40",children:"Loading files..."}):0===_.length?(0,a.Y)("div",{className:"p-4 text-center text-ink/40",children:"No files found"}):_.map(e=>(0,a.Y)(A,{file:e,rootPath:o,basePath:m,repo:D,onLoadChildren:O,onOpenFile:c,onActionComplete:I,expandedPaths:Y,onToggleFolder:G,gitFileMap:M,gitFolderMap:$},e.id))})]})}},rm(e,t,n){let a=(0,n("y").A)({name:"folder-git-2",size:24,node:[["path",{d:"M18 19a5 5 0 0 1-5-5v8",key:"sz5oeg"}],["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]});n.d(t,{},{A:a})},YOg(e,t,n){let a=(0,n("y").A)({name:"git-compare",size:24,node:[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["path",{d:"M11 18H8a2 2 0 0 1-2-2V9",key:"19pyzm"}]]});n.d(t,{},{A:a})}}]);
1
+ /*! LICENSE: ar.ad5c8822a8.js.LICENSE.txt */
2
+ "use strict";(self.rspackChunkompchamber=self.rspackChunkompchamber||[]).push([["ar"],{wA(e,t,n){var a=n("j"),r=n("H"),l=n("rm"),i=n("Go"),s=n("t3"),o=n("Ir"),c=n("z"),d=n("oj");function p(e){let{rootPath:t,activeRepo:n,onSelectRepo:p}=e,[h,x]=(0,r.J0)(!1),[m,f]=(0,r.J0)(["."]),[u,b]=(0,r.J0)(!1),[k,y]=(0,r.J0)(""),g=(0,r.li)(null),v=function(e){if(!e)return"workspace root";let t=e.replace(/\\/g,"/").split("/").filter(Boolean);return t.length>0?t[t.length-1]:"workspace root"}(t),N=e=>"."===e?v:e,Y=async function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=new URLSearchParams({reposOnly:"1"});t&&n.set("root",t),e&&n.set("rescan","1"),n.set("t",String(Date.now()));let a=await fetch(`/api/fs/git?${n.toString()}`).then(e=>e.json()).catch(()=>null);a&&Array.isArray(a.repos)&&(f(a.repos),a.reposPending?b(!0):b(!1))};(0,r.vJ)(()=>{h&&Y()},[h,t]),(0,r.vJ)(()=>{if(!u)return;let e=new URLSearchParams({reposOnly:"1"});t&&e.set("root",t);let n=setInterval(async()=>{let t=await fetch(`/api/fs/git?${e.toString()}`).then(e=>e.json()).catch(()=>null);t&&!t.reposPending&&Array.isArray(t.repos)&&(f(t.repos),b(!1))},1500);return()=>clearInterval(n)},[u,t]),(0,d.W)(g,()=>x(!1));let w=m.filter(e=>!k.trim()||N(e).toLowerCase().includes(k.toLowerCase()));return(0,a.FD)("div",{className:"relative",ref:g,children:[(0,a.FD)("button",{type:"button",onClick:()=>x(!h),title:"Switch git project",className:"flex items-center space-x-1.5 hover:bg-ink/5 px-2 py-1 rounded transition-colors text-xs text-ink/80 font-medium",children:[(0,a.Y)(l.A,{size:12,className:"text-ink/60"}),(0,a.Y)("span",{className:"truncate max-w-[110px]",children:"."===n?v:n.split("/").pop()}),(0,a.Y)(i.A,{size:12,className:"text-ink/40"})]}),h&&(0,a.FD)("div",{className:"absolute top-full left-0 mt-1 w-52 bg-paper border border-ink/20 rounded-md shadow-lg z-50 flex flex-col overflow-hidden text-xs",children:[(0,a.FD)("div",{className:"px-2 py-1.5 border-b border-ink/10 flex items-center space-x-1.5",children:[(0,a.Y)(s.A,{size:11,className:"text-ink/40 flex-shrink-0"}),(0,a.Y)("input",{type:"text",value:k,onChange:e=>y(e.currentTarget.value),placeholder:"Search repos...",title:"Search repositories",className:"w-full bg-transparent outline-none text-xs text-ink placeholder-ink/40",autoFocus:!0}),k&&(0,a.Y)("button",{type:"button",onClick:()=>y(""),title:"Clear search",className:"text-ink/40 hover:text-ink flex-shrink-0",children:"×"}),(0,a.Y)("button",{type:"button",onClick:()=>void Y(!0),title:"Refresh nested repos",disabled:u,className:"text-ink/40 hover:text-ink flex-shrink-0 transition-colors disabled:opacity-40 disabled:hover:text-ink/40",children:(0,a.Y)(o.A,{size:11,className:u?"animate-spin":""})})]}),(0,a.Y)("div",{className:"max-h-48 scrollbar-overlay-container scrollbar-overlay-static py-1",children:0===w.length?(0,a.Y)("div",{className:"px-3 py-2 text-ink/40 italic",children:"No repos found"}):w.map(e=>(0,a.FD)("button",{type:"button",onClick:()=>{p(e),x(!1),y("")},title:N(e),className:"w-full text-left px-3 py-2 hover:bg-ink/5 flex items-center justify-between transition-colors",children:[(0,a.Y)("span",{className:"truncate",children:N(e)}),n===e&&(0,a.Y)(c.A,{size:12,className:"text-ink"})]},e))})]})]})}n.d(t,{I:()=>p})},Ek(e,t,n){n.d(t,{FileExplorer:()=>L});var a=n("j"),r=n("H"),l=n("n"),i=n("t3"),s=n("wA"),o=n("Go"),c=n("Nf"),d=n("X"),p=n("pX"),h=n("G"),x=n("bH"),m=n("YOg"),f=n("q"),u=n("b0"),b=n("hw");let k=(0,n("y").A)({name:"pen",size:24,node:[["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"}]],aliases:["edit-2"]});var y=n("mO"),g=n("S");function v(e){let{x:t,y:n,isFolder:r,hasGitStatus:l,onAction:i,menuRef:s}=e,o=r?220:l?285:255,c="u">typeof window?Math.max(10,Math.min(t,window.innerWidth-190-12)):t,d="u">typeof window?Math.max(10,Math.min(n,window.innerHeight-o-12)):n;return(0,h.d5)((0,a.Y)("div",{className:"fixed inset-0 z-50 bg-ink/20",onClick:()=>i("close"),onContextMenu:e=>{e.preventDefault(),i("close")},children:(0,a.FD)("div",{ref:s,className:"fixed z-50 bg-paper border border-ink/15 shadow-2xl rounded-lg py-1 min-w-[185px] text-xs text-ink font-sans",style:{top:d,left:c},onClick:e=>e.stopPropagation(),children:[!r&&(0,a.FD)(a.FK,{children:[(0,a.FD)("button",{onClick:()=>i("view"),className:"w-full text-left px-3 py-1.5 hover:bg-ink/5 flex items-center space-x-2 transition-colors",children:[(0,a.Y)(x.A,{size:13,className:"text-ink/60"}),(0,a.Y)("span",{children:"View"})]}),l&&(0,a.FD)("button",{onClick:()=>i("diff"),className:"w-full text-left px-3 py-1.5 hover:bg-ink/5 flex items-center space-x-2 transition-colors text-ink",children:[(0,a.Y)(m.A,{size:13,className:"text-warning"}),(0,a.Y)("span",{className:"font-medium",children:"Open in Diff Panel"})]})]}),(0,a.FD)("button",{onClick:()=>i("explorer"),className:"w-full text-left px-3 py-1.5 hover:bg-ink/5 flex items-center space-x-2 transition-colors",children:[(0,a.Y)(f.A,{size:13,className:"text-ink/60"}),(0,a.Y)("span",{children:"Go to Explorer"})]}),(0,a.Y)("div",{className:"my-1 border-t border-ink/10"}),(0,a.FD)("button",{onClick:()=>i("copy_path"),className:"w-full text-left px-3 py-1.5 hover:bg-ink/5 flex items-center space-x-2 transition-colors",children:[(0,a.Y)(u.A,{size:13,className:"text-ink/60"}),(0,a.Y)("span",{children:"Copy Path"})]}),(0,a.FD)("button",{onClick:()=>i("copy_relative"),className:"w-full text-left px-3 py-1.5 hover:bg-ink/5 flex items-center space-x-2 transition-colors",children:[(0,a.Y)(u.A,{size:13,className:"text-ink/60"}),(0,a.Y)("span",{children:"Copy Relative Path"})]}),(0,a.Y)("div",{className:"my-1 border-t border-ink/10"}),(0,a.FD)("button",{onClick:()=>i("history"),className:"w-full text-left px-3 py-1.5 hover:bg-ink/5 flex items-center space-x-2 transition-colors",children:[(0,a.Y)(b.A,{size:13,className:"text-ink/60"}),(0,a.Y)("span",{children:"Show Git History"})]}),(0,a.Y)("div",{className:"my-1 border-t border-ink/10"}),(0,a.FD)("button",{onClick:()=>i("rename"),className:"w-full text-left px-3 py-1.5 hover:bg-ink/5 flex items-center space-x-2 transition-colors",children:[(0,a.Y)(k,{size:13,className:"text-ink/60"}),(0,a.Y)("span",{children:"Rename"})]}),(0,a.FD)("button",{onClick:()=>i("delete"),className:"w-full text-left px-3 py-1.5 hover:bg-error/10 text-error flex items-center space-x-2 transition-colors",children:[(0,a.Y)(y.A,{size:13,className:"text-error"}),(0,a.Y)("span",{children:"Delete"})]})]})}),document.body)}function N(e){let{fileName:t,isFolder:n,isLoading:r,onCancel:l,onConfirm:i}=e;return(0,h.d5)((0,a.Y)("div",{className:"fixed inset-0 bg-ink/20 z-[100] flex items-center justify-center p-4 backdrop-blur-sm",children:(0,a.FD)("div",{className:"bg-paper rounded shadow-xl p-4 w-full max-w-sm border border-ink/10 font-sans",children:[(0,a.FD)("h3",{className:"font-semibold text-ink mb-2 text-sm",children:["Delete ",n?"Folder":"File"]}),(0,a.FD)("p",{className:"text-xs text-ink/70 mb-4",children:["Are you sure you want to delete ",(0,a.Y)("span",{className:"font-mono bg-canvas px-1 rounded",children:t}),"? This action cannot be undone."]}),(0,a.FD)("div",{className:"flex justify-end space-x-2",children:[(0,a.Y)("button",{onClick:l,className:"px-3 py-1.5 text-xs text-ink hover:bg-ink/5 rounded transition-colors",disabled:r,children:"Cancel"}),(0,a.Y)("button",{onClick:i,className:"px-3 py-1.5 text-xs bg-error text-white rounded hover:bg-error/90 transition-colors flex items-center",disabled:r,children:r?"Deleting...":"Delete"})]})]})}),document.body)}function Y(e){let{isFolder:t,renameValue:n,originalPath:r,isLoading:l,onChange:i,onCancel:s,onSubmit:o}=e;return(0,h.d5)((0,a.Y)("div",{className:"fixed inset-0 bg-ink/20 z-[100] flex items-center justify-center p-4 backdrop-blur-sm",children:(0,a.FD)("form",{onSubmit:o,className:"bg-paper rounded shadow-xl p-4 w-full max-w-sm border border-ink/10 font-sans",children:[(0,a.FD)("h3",{className:"font-semibold text-ink mb-3 text-sm",children:["Rename ",t?"Folder":"File"]}),(0,a.Y)("input",{autoFocus:!0,type:"text",value:n,onChange:e=>i(e.currentTarget.value),className:"w-full bg-paper border border-ink/20 rounded px-2 py-1.5 text-xs font-mono focus:outline-none focus:border-ink mb-4"}),(0,a.FD)("div",{className:"flex justify-end space-x-2",children:[(0,a.Y)("button",{type:"button",onClick:s,className:"px-3 py-1.5 text-xs text-ink hover:bg-ink/5 rounded transition-colors",disabled:l,children:"Cancel"}),(0,a.Y)("button",{type:"submit",className:"px-3 py-1.5 text-xs bg-ink text-canvas rounded hover:bg-ink/90 transition-colors flex items-center",disabled:l||!n.trim()||n===r,children:l?"Renaming...":"Rename"})]})]})}),document.body)}function w(e){let{filePath:t,fetcherState:n,fetcherData:r,onClose:i}=e;return(0,h.d5)((0,a.Y)("div",{className:"fixed inset-0 bg-ink/20 z-[100] flex items-center justify-center p-4 backdrop-blur-sm",children:(0,a.FD)("div",{className:"bg-paper rounded-lg shadow-xl w-full max-w-4xl border border-ink/10 flex flex-col max-h-[85vh]",children:[(0,a.FD)("div",{className:"flex items-center justify-between p-4 border-b border-ink/10",children:[(0,a.FD)("h3",{className:"text-sm font-semibold text-ink flex items-center space-x-2",children:[(0,a.Y)(b.A,{size:16,className:"text-ink/60"}),(0,a.FD)("span",{children:["Git History: ",(0,a.Y)("span",{className:"font-mono font-normal opacity-80",children:t})]})]}),(0,a.Y)("button",{onClick:i,className:"p-1 hover:bg-ink/5 rounded text-ink/60 transition-colors",children:(0,a.Y)(g.A,{size:14})})]}),(0,a.Y)("div",{className:"flex-1 scrollbar-overlay-container scrollbar-overlay-static bg-paper p-2",children:"idle"===n?r?.type==="history"?r.data.length>0?(0,a.FD)("table",{className:"w-full text-left border-collapse text-[11px]",children:[(0,a.Y)("thead",{className:"bg-canvas sticky top-0 z-10 border-b border-ink/10",children:(0,a.FD)("tr",{children:[(0,a.Y)("th",{className:"px-3 py-2 font-semibold text-ink/70 rounded-tl",children:"Description"}),(0,a.Y)("th",{className:"px-3 py-2 font-semibold text-ink/70 w-32",children:"Date"}),(0,a.Y)("th",{className:"px-3 py-2 font-semibold text-ink/70 w-32",children:"Author"}),(0,a.Y)("th",{className:"px-3 py-2 font-semibold text-ink/70 w-24 text-right rounded-tr",children:"Commit"})]})}),(0,a.Y)("tbody",{className:"divide-y divide-ink/5",children:r.data.map((e,t)=>(0,a.FD)("tr",{className:"hover:bg-ink/[0.03] transition-colors group bg-paper",children:[(0,a.Y)("td",{className:"px-3 py-2 text-ink",children:e.message?(0,a.Y)("span",{className:"font-medium text-ink/90 group-hover:text-ink",children:e.message}):null}),(0,a.Y)("td",{className:"px-3 py-2 text-ink/60 whitespace-nowrap font-mono text-[10.5px]",children:e.time}),(0,a.Y)("td",{className:"px-3 py-2 text-ink/70 whitespace-nowrap truncate max-w-[120px]",children:e.author}),(0,a.Y)("td",{className:"px-3 py-2 text-right",children:e.hash?(0,a.Y)("span",{className:"font-mono text-ink/50 group-hover:text-ink font-semibold transition-colors bg-canvas px-1.5 py-0.5 rounded border border-ink/10",children:e.hash}):null})]},t))})]}):(0,a.Y)("div",{className:"p-8 text-center text-ink/40 font-mono text-xs",children:"No commit history found for this file."}):r?.error?(0,a.Y)("div",{className:"p-8 text-center text-error font-mono text-xs",children:r.error}):(0,a.Y)("div",{className:"p-8 text-center text-ink/40 font-mono text-xs",children:"Loading history..."}):(0,a.FD)("div",{className:"p-8 text-center text-ink/40 font-mono text-xs flex items-center justify-center space-x-2",children:[(0,a.Y)(l.A,{size:14,className:"animate-spin"}),(0,a.Y)("span",{children:"Loading history..."})]})})]})}),document.body)}var F=n("LQ"),D=n("tZ"),C=n("pH"),A=n("oj");function z(e){let{file:t,rootPath:n,basePath:l,repo:i,onLoadChildren:s,onOpenFile:h,onActionComplete:x,expandedPaths:m,onToggleFolder:f,gitFileMap:u,gitFolderMap:b}=e,k="folder"===t.type,[y,g]=(0,r.J0)(!1),[S,J]=(0,r.J0)(!1),P=(0,d.L)(),[j,L]=(0,r.J0)(!1),[M,R]=(0,r.J0)(null),$=(0,r.li)(null),[E,H]=(0,r.J0)(!1),[T,O]=(0,r.J0)(!1),[G,_]=(0,r.J0)(!1),[I,V]=(0,r.J0)(t.path),B=Array.isArray(t.children)?t.children:[],U=(t.path||"").replace(/^\/+/,""),W=k?void 0:u?.get(U)||u?.get(t.path),X=W?(0,F.R)(W.status,W.staged):null,K=k?b?.get(U)||b?.get(t.path):null,Q=!!X,q=!0===t.ignored,Z=m?m.has(t.path):y,ee=void 0!==t.forceExpanded?t.forceExpanded:Z;(0,r.vJ)(()=>{L(!0)},[]),(0,r.vJ)(()=>{k&&m&&g(m.has(t.path))},[m,t.path,k]),(0,r.vJ)(()=>{k&&ee&&(!t.children||0===t.children.length)&&s&&!S&&(J(!0),Promise.resolve(s(t.path)).finally(()=>J(!1)))},[k,ee,t.children,t.path,s]),(0,A.W)($,()=>R(null)),(0,r.vJ)(()=>{"idle"===P.state&&P.data&&P.data.success&&!P.data.type&&(H(!1),O(!1),x())},[P.state,P.data]);let et=e=>{i&&"."!==i&&e.append("repo",i),n&&e.append("root",n),P.submit(e,{method:"post",action:"/api/fs/action"})};return(0,a.FD)("div",{children:[(0,a.FD)("div",{className:"flex items-center space-x-1.5 py-1 px-2 hover:bg-ink/5 cursor-pointer rounded group",onClick:e=>{if(e.stopPropagation(),k){let e=!ee;g(e),void 0!==t.forceExpanded&&(t.forceExpanded=void 0),f?.(t.path,e),e&&s&&(!t.children||0===t.children.length)&&(J(!0),Promise.resolve(s(t.path)).finally(()=>J(!1)))}else h&&h({...t,root:n,repo:i||"."})},onContextMenu:e=>{e.preventDefault(),e.stopPropagation(),R({x:e.clientX,y:e.clientY})},children:[k?ee?(0,a.Y)(o.A,{size:12,className:"flex-shrink-0 text-ink/40"}):(0,a.Y)(c.A,{size:12,className:"flex-shrink-0 text-ink/40"}):(0,a.Y)("span",{className:"w-3 flex-shrink-0"}),(0,a.Y)(p.o,{name:t.name,isFolder:k,isOpen:ee,size:12,className:`flex-shrink-0${q?" opacity-40":""}`}),(0,a.Y)("span",{className:`truncate min-w-0 flex-1 ${X?X.colorClass:K?K.colorClass:q?"text-ink/40":""}`,title:q?`${t.path} — git-ignored`:void 0,children:t.name}),X&&(0,a.Y)("span",{className:`font-mono text-[9px] font-bold px-1 rounded flex-shrink-0 ${X.colorClass}`,title:`Git: ${X.label}`,children:X.charStatus}),K&&(0,a.Y)("span",{className:`w-1.5 h-1.5 rounded-full flex-shrink-0 ${K.hasDeleted?"bg-error":K.hasModified||K.hasStaged?"bg-info":"bg-success"}`,title:`${K.count} changed file${K.count>1?"s":""}`})]}),ee&&S&&(0,a.Y)("div",{className:"ml-3 border-l border-ink/10 pl-3 py-0.5 text-[10px] text-ink/30",children:"Loading…"}),ee&&!S&&B.length>0&&(0,a.Y)("div",{className:"ml-3 border-l border-ink/10 pl-1",children:B.map(e=>(0,a.Y)(z,{file:e,rootPath:n,basePath:l,repo:i,onLoadChildren:s,onOpenFile:h,onActionComplete:x,expandedPaths:m,onToggleFolder:f,gitFileMap:u,gitFolderMap:b},e.id))}),j&&M&&(0,a.Y)(v,{x:M.x,y:M.y,isFolder:k,hasGitStatus:Q,onAction:e=>{if(R(null),"view"===e)h&&h({...t,root:n,repo:i||"."});else if("diff"===e)window.dispatchEvent(new CustomEvent("omp:open-diff",{detail:{file:t.path,staged:W?.staged||W?.status&&" "!==W.status[0]&&"?"!==W.status[0],status:X?.charStatus||"M",repo:i||".",root:n}}));else if("explorer"===e){let e=new FormData;e.append("actionType","open_explorer"),e.append("path",t.path),et(e)}else if("copy_path"===e)(0,C.l)((0,D.A)(l,t.path));else if("copy_relative"===e)(0,C.l)(t.path);else if("history"===e){_(!0);let e=new FormData;e.append("actionType","git_history"),e.append("path",t.path),et(e)}else"rename"===e?(V(t.path),H(!0)):"delete"===e&&O(!0)}}),j&&T&&(0,a.Y)(N,{fileName:t.name,isFolder:k,isLoading:"idle"!==P.state,onCancel:()=>O(!1),onConfirm:()=>{let e=new FormData;e.append("actionType","delete"),e.append("path",t.path),et(e)}}),j&&E&&(0,a.Y)(Y,{isFolder:k,renameValue:I,originalPath:t.path,isLoading:"idle"!==P.state,onChange:V,onCancel:()=>H(!1),onSubmit:e=>{e.preventDefault();let n=new FormData;n.append("actionType","rename"),n.append("path",t.path),n.append("newPath",I),et(n)}}),j&&G&&(0,a.Y)(w,{filePath:t.path,fetcherState:P.state,fetcherData:P.data,onClose:()=>_(!1)})]})}var S=n("jo"),J=n("FL"),P=n("so"),j=n("Af");function L(e){let{className:t="",enabled:n=!0,rootPath:o,onOpenFile:c,refreshKey:d=0,onRefresh:p}=e,[h,x]=(0,r.J0)([]),[m,f]=(0,r.J0)(""),[u,b]=(0,J.bL)("files.searchQuery",""),[k,y]=(0,r.J0)(!1),[g,v,N]=(0,J.bL)("files.expandedPaths",[]),[Y,w]=(0,r.J0)(()=>new Set(g)),F=(0,r.li)({}),[D,C]=(0,J.bL)("files.activeRepo","."),{isScrolling:A,handleScroll:L}=(0,S.K)(),{fileMap:M,folderMap:R,refreshGitStatus:$}=(0,P.e)(o,D,d,n);(0,r.vJ)(()=>{N&&w(e=>{let t=new Set(g);return e.size===t.size&&Array.from(t).every(t=>e.has(t))?e:t})},[N,g]);let E=e=>{let t=new URLSearchParams;return o&&t.set("root",o),D&&"."!==D&&t.set("repo",D),e&&t.set("path",e),t.set("t",String(Date.now())),`/api/fs/dir?${t.toString()}`},H=e=>{n&&(e?.silent||y(!0),fetch(E()).then(e=>e.json()).then(e=>{"string"==typeof e.root&&f(e.root),Array.isArray(e.files)&&x(function e(t,n,a){return t.map(t=>{if("folder"!==t.type)return t;let r=n[t.path],l=a.has(t.path);return r?{...t,children:e(r,n,a),is_expanded:+!!l}:t})}(e.files,F.current,Y))}).catch(()=>{}).finally(()=>{e?.silent||y(!1)}))};(0,r.vJ)(()=>{N&&H()},[d,o,n,D,N]);let T=()=>{H({silent:!0}),$()};(0,j.n)(T,n&&N),(0,j.w)(T,n&&N);let O=e=>($(),fetch(E(e)).then(e=>e.json()).then(t=>{Array.isArray(t.files)&&(F.current[e]=t.files,x(n=>(function e(t,n,a){return t.map(t=>{if(t.path===n)return{...t,children:a,is_expanded:1};if(Array.isArray(t.children)){let r=e(t.children,n,a);if(r!==t.children)return{...t,children:r}}return t})})(n,e,t.files)))}).catch(()=>{})),G=(e,t)=>{let n=new Set(Y);t?n.add(e):n.delete(e),w(n),v(Array.from(n))};if(!n)return(0,a.Y)("div",{className:`flex flex-col h-full bg-paper items-center justify-center text-ink/40 ${t}`,children:(0,a.Y)("span",{className:"text-xs font-mono",children:"No session selected"})});let _=(()=>{if(!u.trim())return h;let e=u.toLowerCase(),t=n=>{let a=n.name.toLowerCase().includes(e);if("folder"===n.type){let e=(n.children||[]).map(t).filter(Boolean);return a||e.length>0?{...n,children:a&&0===e.length?n.children:e,forceExpanded:!0}:null}return a?n:null};return h.map(t).filter(Boolean)})(),I=()=>{$(),p?p():H()};return(0,a.FD)("div",{className:`flex flex-col h-full bg-paper ${t}`,children:[(0,a.FD)("div",{className:"p-3 border-b border-ink/10 flex flex-col space-y-2",children:[(0,a.FD)("div",{className:"flex items-center justify-between",children:[(0,a.Y)(s.I,{rootPath:o,activeRepo:D,onSelectRepo:e=>{e!==D&&(F.current={},w(new Set),v([]),C(e))}}),(0,a.Y)("button",{onClick:I,className:"p-1.5 text-ink/40 hover:text-ink hover:bg-ink/5 rounded transition-colors",title:"Refresh",children:(0,a.Y)(l.A,{size:14,className:k?"animate-spin":""})})]}),(0,a.FD)("div",{className:"relative",children:[(0,a.Y)(i.A,{size:14,className:"absolute left-2.5 top-1/2 -translate-y-1/2 text-ink/40"}),(0,a.Y)("input",{type:"text",placeholder:"Search files...",value:u,onChange:e=>b(e.currentTarget.value),className:"w-full bg-canvas border border-ink/20 rounded pl-8 pr-3 py-1.5 text-xs focus:outline-none focus:border-ink transition-colors text-ink placeholder-ink/40"})]})]}),(0,a.Y)("div",{className:`flex-1 scrollbar-overlay-container p-2 font-mono text-[11px] text-ink/80 ${(0,S.p)(A)}`,onContextMenu:e=>e.preventDefault(),onScroll:L,children:k&&0===_.length?(0,a.Y)("div",{className:"p-4 text-center text-ink/40",children:"Loading files..."}):0===_.length?(0,a.Y)("div",{className:"p-4 text-center text-ink/40",children:"No files found"}):_.map(e=>(0,a.Y)(z,{file:e,rootPath:o,basePath:m,repo:D,onLoadChildren:O,onOpenFile:c,onActionComplete:I,expandedPaths:Y,onToggleFolder:G,gitFileMap:M,gitFolderMap:R},e.id))})]})}},rm(e,t,n){let a=(0,n("y").A)({name:"folder-git-2",size:24,node:[["path",{d:"M18 19a5 5 0 0 1-5-5v8",key:"sz5oeg"}],["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]});n.d(t,{},{A:a})},YOg(e,t,n){let a=(0,n("y").A)({name:"git-compare",size:24,node:[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["path",{d:"M11 18H8a2 2 0 0 1-2-2V9",key:"19pyzm"}]]});n.d(t,{},{A:a})}}]);