diffing 0.10.3 → 0.10.4

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 (148) hide show
  1. package/dist/{cli-agent-RJ5s4n77.mjs → cli-agent-BBHx1lLJ.mjs} +1 -1
  2. package/dist/cli.mjs +4 -4
  3. package/dist/client/assets/{angular-html-BFXVRkhg.js → angular-html-Bn7xcK-X.js} +1 -1
  4. package/dist/client/assets/{angular-ts-bUwtWqya.js → angular-ts-qK80FnOc.js} +1 -1
  5. package/dist/client/assets/{apl-bnOQInIz.js → apl-BhBHq9NH.js} +1 -1
  6. package/dist/client/assets/{arc-CRYHn0oW.js → arc-BbRWqKdi.js} +1 -1
  7. package/dist/client/assets/{architectureDiagram-3BPJPVTR-BLK33h0-.js → architectureDiagram-3BPJPVTR-DkAZjTe2.js} +1 -1
  8. package/dist/client/assets/{astro-BpPieWCw.js → astro--A8NjYkS.js} +1 -1
  9. package/dist/client/assets/{blade-B804X9BP.js → blade-DUJ_WZzW.js} +1 -1
  10. package/dist/client/assets/{blockDiagram-GPEHLZMM-VZc4C656.js → blockDiagram-GPEHLZMM-BJnX6alY.js} +1 -1
  11. package/dist/client/assets/{c-Cyh0ngfN.js → c-Ddzn0JTQ.js} +1 -1
  12. package/dist/client/assets/{c4Diagram-AAUBKEIU-9t9UJlU3.js → c4Diagram-AAUBKEIU-B_JFq-Tk.js} +1 -1
  13. package/dist/client/assets/channel-BcJKoISM.js +1 -0
  14. package/dist/client/assets/{chunk-2J33WTMH-LudE8z-b.js → chunk-2J33WTMH-CCnCUy9H.js} +1 -1
  15. package/dist/client/assets/{chunk-3OPIFGDE-BxaQxo50.js → chunk-3OPIFGDE-CJvhnVzd.js} +1 -1
  16. package/dist/client/assets/{chunk-4BX2VUAB-BfHcXCJ6.js → chunk-4BX2VUAB-7gGFn4DW.js} +1 -1
  17. package/dist/client/assets/{chunk-55IACEB6-o0ADQlnq.js → chunk-55IACEB6-CRirC3B0.js} +1 -1
  18. package/dist/client/assets/{chunk-5ZQYHXKU-E1qBkOlk.js → chunk-5ZQYHXKU-DSagYOhc.js} +1 -1
  19. package/dist/client/assets/{chunk-727SXJPM-BitjzJ_b.js → chunk-727SXJPM-2fqFvPdL.js} +1 -1
  20. package/dist/client/assets/{chunk-AQP2D5EJ-B5pw4PfB.js → chunk-AQP2D5EJ-8l-kDb0Q.js} +1 -1
  21. package/dist/client/assets/{chunk-BSJP7CBP-CoL841vB.js → chunk-BSJP7CBP-BjTEoy7R.js} +1 -1
  22. package/dist/client/assets/{chunk-CSCIHK7Q-Dw4jsICo.js → chunk-CSCIHK7Q-CeHxe0Uf.js} +1 -1
  23. package/dist/client/assets/{chunk-FMBD7UC4-hpHFrNoE.js → chunk-FMBD7UC4-X-OwPNTB.js} +1 -1
  24. package/dist/client/assets/{chunk-KSCS5N6A-D67-Zs6D.js → chunk-KSCS5N6A-rYccR2Ju.js} +1 -1
  25. package/dist/client/assets/{chunk-L5ZTLDWV-Brr6wA9I.js → chunk-L5ZTLDWV-8JMoad-S.js} +1 -1
  26. package/dist/client/assets/{chunk-LZXEDZCA-e3dTHwrC.js → chunk-LZXEDZCA-DOvCLema.js} +2 -2
  27. package/dist/client/assets/{chunk-ND2GUHAM-Cj2MlAOf.js → chunk-ND2GUHAM-CQQJmqC8.js} +1 -1
  28. package/dist/client/assets/{chunk-NZK2D7GU-CEyXOVMI.js → chunk-NZK2D7GU-DPwHQE2m.js} +1 -1
  29. package/dist/client/assets/{chunk-O5CBEL6O-CymJeKCI.js → chunk-O5CBEL6O-Bvzv6QAN.js} +1 -1
  30. package/dist/client/assets/chunk-QZHKN3VN-90aaHYyK.js +1 -0
  31. package/dist/client/assets/chunk-WU5MYG2G-CfaWSqjJ.js +1 -0
  32. package/dist/client/assets/{chunk-XPW4576I-DfoZU8hD.js → chunk-XPW4576I-DY1teoyy.js} +1 -1
  33. package/dist/client/assets/classDiagram-4FO5ZUOK-CsDELGUF.js +1 -0
  34. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-R5SygY4h.js +1 -0
  35. package/dist/client/assets/{cobol-D0BZ7BzH.js → cobol-EaVCzYAO.js} +1 -1
  36. package/dist/client/assets/{coffee-BAPNIyTD.js → coffee-CbmPxJhz.js} +1 -1
  37. package/dist/client/assets/{cose-bilkent-S5V4N54A-wCBDLLgv.js → cose-bilkent-S5V4N54A-zMLfkB6c.js} +1 -1
  38. package/dist/client/assets/{cpp-D54qUqoX.js → cpp-1v8ov4EG.js} +1 -1
  39. package/dist/client/assets/{crystal-BvYuHO8u.js → crystal-B88NqWAb.js} +1 -1
  40. package/dist/client/assets/{css-BwYPZ1qE.js → css-QFeW3BCZ.js} +1 -1
  41. package/dist/client/assets/{dagre-BM42HDAG-DSO2rfSO.js → dagre-BM42HDAG-DxGKZBBq.js} +1 -1
  42. package/dist/client/assets/{diagram-2AECGRRQ-OO89Fatz.js → diagram-2AECGRRQ-CiUL7Dov.js} +1 -1
  43. package/dist/client/assets/{diagram-5GNKFQAL-CARudkst.js → diagram-5GNKFQAL-DCs97wXn.js} +1 -1
  44. package/dist/client/assets/{diagram-KO2AKTUF-MMqM8Xip.js → diagram-KO2AKTUF-BsSJWXqr.js} +1 -1
  45. package/dist/client/assets/{diagram-LMA3HP47-CA7_Ug5b.js → diagram-LMA3HP47-LDuP4WAy.js} +1 -1
  46. package/dist/client/assets/{diagram-OG6HWLK6-BAb7zakI.js → diagram-OG6HWLK6-CKjIVoHx.js} +1 -1
  47. package/dist/client/assets/{dist-CP7b6OkU.js → dist-BvtPW002.js} +1 -1
  48. package/dist/client/assets/{edge-BbeCKm9i.js → edge-5UREsVXQ.js} +1 -1
  49. package/dist/client/assets/{elixir-C2M5DZQF.js → elixir-B_Yali6w.js} +1 -1
  50. package/dist/client/assets/{elm-CwqP8u0T.js → elm-STYz8ayI.js} +1 -1
  51. package/dist/client/assets/{erDiagram-TEJ5UH35-Jy0Sqs_1.js → erDiagram-TEJ5UH35-D7iBLlYp.js} +1 -1
  52. package/dist/client/assets/{erb-C3C66A5u.js → erb-CHRx3Beu.js} +1 -1
  53. package/dist/client/assets/{flowDiagram-I6XJVG4X-D9L8qr8V.js → flowDiagram-I6XJVG4X-Dr2J9T5z.js} +1 -1
  54. package/dist/client/assets/{ganttDiagram-6RSMTGT7-CGaqGarh.js → ganttDiagram-6RSMTGT7-Bb1v2M1H.js} +1 -1
  55. package/dist/client/assets/{git-rebase-BQxiUc18.js → git-rebase-CFmRpmLK.js} +1 -1
  56. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-RAteUysV.js → gitGraphDiagram-PVQCEYII-DP9xmnTA.js} +1 -1
  57. package/dist/client/assets/{glimmer-js-CSiwvg27.js → glimmer-js-CdrEdtzi.js} +1 -1
  58. package/dist/client/assets/{glimmer-ts-Dpvu35Rk.js → glimmer-ts-CzrwZqCl.js} +1 -1
  59. package/dist/client/assets/{glsl-DusmoVD0.js → glsl-Cb4XetAc.js} +1 -1
  60. package/dist/client/assets/{graphql-B4CCj0BK.js → graphql-mqi9K2_l.js} +1 -1
  61. package/dist/client/assets/{hack-BNgw8w6u.js → hack-DaFJ7htO.js} +1 -1
  62. package/dist/client/assets/{haml-BhHHy_kW.js → haml-Bw7q4nKg.js} +1 -1
  63. package/dist/client/assets/{handlebars-BBUsDvYG.js → handlebars-mj81MoXX.js} +1 -1
  64. package/dist/client/assets/{html-DMohn6Yq.js → html-LHrj0-2t.js} +1 -1
  65. package/dist/client/assets/{html-derivative-BY6zEZAg.js → html-derivative-L3_OYrFu.js} +1 -1
  66. package/dist/client/assets/{http-BHAVGGfJ.js → http-DE0OFe2c.js} +1 -1
  67. package/dist/client/assets/{hurl-B2q8TNaP.js → hurl-CNbk7fqf.js} +1 -1
  68. package/dist/client/assets/{index-CguUPVUR.css → index-B42c0TyV.css} +1 -1
  69. package/dist/client/assets/{index-CxN77Qol.js → index-DHt5Hu--.js} +15 -15
  70. package/dist/client/assets/{infoDiagram-5YYISTIA-DCyKTiIZ.js → infoDiagram-5YYISTIA-wxqSmRV0.js} +1 -1
  71. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-BMTEXPAX.js → ishikawaDiagram-YF4QCWOH-CJa0qhXu.js} +1 -1
  72. package/dist/client/assets/{java-DHj6gaNP.js → java-DAwMoXxA.js} +1 -1
  73. package/dist/client/assets/{javascript-CbF7u-DE.js → javascript-_a2prAz7.js} +1 -1
  74. package/dist/client/assets/{jinja-MOxap5pr.js → jinja-JKFA3bu8.js} +1 -1
  75. package/dist/client/assets/{jison-XUjMP-LK.js → jison-UbTjhW7k.js} +1 -1
  76. package/dist/client/assets/{journeyDiagram-JHISSGLW-Ckd41c1S.js → journeyDiagram-JHISSGLW-Bh5L3OBN.js} +1 -1
  77. package/dist/client/assets/{json-7vp-fS_h.js → json-D74F0BDU.js} +1 -1
  78. package/dist/client/assets/{jsx-BgiCPhz9.js → jsx-BsH2-gDN.js} +1 -1
  79. package/dist/client/assets/{julia-DADvZSF3.js → julia-DyIO_Gy0.js} +1 -1
  80. package/dist/client/assets/{just-BS3xPvUT.js → just-VQTFAZJr.js} +1 -1
  81. package/dist/client/assets/{kanban-definition-UN3LZRKU-BlLY2sqY.js → kanban-definition-UN3LZRKU-BB2voi9I.js} +1 -1
  82. package/dist/client/assets/{latex-C_QvolBN.js → latex-D0ONGfIo.js} +1 -1
  83. package/dist/client/assets/{line-Bkj6DIfl.js → line-BkbHeSM4.js} +1 -1
  84. package/dist/client/assets/{linear-Cm6J5YrP.js → linear-BYUYqOy1.js} +1 -1
  85. package/dist/client/assets/{liquid-CL0UH-ot.js → liquid-BnYpmfMl.js} +1 -1
  86. package/dist/client/assets/{lua-DlAyxrVn.js → lua-WlA-m2lC.js} +1 -1
  87. package/dist/client/assets/{marko-6e-PRCyy.js → marko-Bd44681W.js} +1 -1
  88. package/dist/client/assets/{mdc-BbLfT_IA.js → mdc-DhosSoGv.js} +1 -1
  89. package/dist/client/assets/{mermaid-parser.core-DwyEEn2f.js → mermaid-parser.core-Dq0EOOjQ.js} +1 -1
  90. package/dist/client/assets/{mermaid.core-K3JZIfb0.js → mermaid.core-qcl7ght-.js} +3 -3
  91. package/dist/client/assets/{mindmap-definition-RKZ34NQL-B2pkZuEx.js → mindmap-definition-RKZ34NQL-DrZ9di3F.js} +1 -1
  92. package/dist/client/assets/{nginx-CoBWheEf.js → nginx-sYwNRk-F.js} +1 -1
  93. package/dist/client/assets/{nim-2_Wea-mV.js → nim-DrXU2tn9.js} +1 -1
  94. package/dist/client/assets/{perl-SkTVK0CC.js → perl-TEELuyd-.js} +1 -1
  95. package/dist/client/assets/{php-C2cF2oJ6.js → php-Dy_Y1r8j.js} +1 -1
  96. package/dist/client/assets/{pieDiagram-4H26LBE5-BQeH8sHJ.js → pieDiagram-4H26LBE5-Aev8QdJC.js} +1 -1
  97. package/dist/client/assets/{pug-C01v9yeE.js → pug-vancrY0a.js} +1 -1
  98. package/dist/client/assets/{qml-CCP9ULJs.js → qml-BA5z-zbf.js} +1 -1
  99. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-D9CC7zgZ.js → quadrantDiagram-W4KKPZXB-DhEDvxx7.js} +1 -1
  100. package/dist/client/assets/{r-DDJJP6PS.js → r-BR0O4N-s.js} +1 -1
  101. package/dist/client/assets/{razor-DKBWfXRk.js → razor-DXiNCb-5.js} +1 -1
  102. package/dist/client/assets/{regexp-DOe8oQhc.js → regexp-BhjJa9MI.js} +1 -1
  103. package/dist/client/assets/{requirementDiagram-4Y6WPE33-DlYO_tzx.js → requirementDiagram-4Y6WPE33-DPS5siTy.js} +1 -1
  104. package/dist/client/assets/{review-export-CgROw3iz.js → review-export-DABY3y7y.js} +1 -1
  105. package/dist/client/assets/{rst-KHKSB4M-.js → rst-Bi3zId1d.js} +1 -1
  106. package/dist/client/assets/{ruby-3gO1sivg.js → ruby-BURiJKuD.js} +1 -1
  107. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-DvgoVn_C.js → sankeyDiagram-5OEKKPKP-CjZF2AQd.js} +1 -1
  108. package/dist/client/assets/{sas-D1u2TkIr.js → sas-BO_W1LuL.js} +1 -1
  109. package/dist/client/assets/{scss-C__x0Kwu.js → scss-BPUTinXb.js} +1 -1
  110. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-Dk46IxzZ.js → sequenceDiagram-3UESZ5HK-0rsTmBLB.js} +1 -1
  111. package/dist/client/assets/{shellscript-YrQZ5Lwf.js → shellscript-B4rfo4qg.js} +1 -1
  112. package/dist/client/assets/{shellsession-CoF5Zc6A.js → shellsession-DLX-O8m7.js} +1 -1
  113. package/dist/client/assets/{soy-BKqc8OYl.js → soy-BEUiwSVD.js} +1 -1
  114. package/dist/client/assets/{sql-D3MVYjA_.js → sql-CwSA8v_H.js} +1 -1
  115. package/dist/client/assets/{src-UnI8qjTK.js → src-Cn22-GjE.js} +1 -1
  116. package/dist/client/assets/{stata-BqvSK3te.js → stata-XfdBiAnW.js} +1 -1
  117. package/dist/client/assets/{stateDiagram-AJRCARHV-BuhZPSPC.js → stateDiagram-AJRCARHV-BVvCsgjA.js} +1 -1
  118. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-Bo6SeNmU.js +1 -0
  119. package/dist/client/assets/{surrealql-BhWLIqpd.js → surrealql-COaehKkS.js} +1 -1
  120. package/dist/client/assets/{svelte-DNNWxYsj.js → svelte-B0kTIq0J.js} +1 -1
  121. package/dist/client/assets/{templ-DdMgSlsy.js → templ-DGxWfDf-.js} +1 -1
  122. package/dist/client/assets/{tex-B4JFnTVn.js → tex-C9X3gjZ2.js} +1 -1
  123. package/dist/client/assets/{timeline-definition-PNZ67QCA-C1xzVz0K.js → timeline-definition-PNZ67QCA-B535P7_e.js} +1 -1
  124. package/dist/client/assets/{ts-tags-BQI5G_ZS.js → ts-tags-By9ETsTC.js} +1 -1
  125. package/dist/client/assets/{tsx-C7qfZi8B.js → tsx-CvVX506n.js} +1 -1
  126. package/dist/client/assets/{twig-RWfC7gXX.js → twig-CjLWv7eu.js} +1 -1
  127. package/dist/client/assets/{typescript-aLdMd7mo.js → typescript-BEq3u3Bc.js} +1 -1
  128. package/dist/client/assets/{vennDiagram-CIIHVFJN-CBkCNH_s.js → vennDiagram-CIIHVFJN-CTV9H1N2.js} +1 -1
  129. package/dist/client/assets/{vue-BHCbeDIL.js → vue-DYazforU.js} +1 -1
  130. package/dist/client/assets/{vue-html-DXTiTIOp.js → vue-html-92z_Aqn0.js} +1 -1
  131. package/dist/client/assets/{vue-vine-CuhsWKNe.js → vue-vine-VY7raYSI.js} +1 -1
  132. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-aFrlILUG.js → wardleyDiagram-YWT4CUSO-BzJaykc6.js} +1 -1
  133. package/dist/client/assets/{xml-Dnahor-u.js → xml-hd7OQ798.js} +1 -1
  134. package/dist/client/assets/{xsl-DB6zLGtG.js → xsl-MkuT76g1.js} +1 -1
  135. package/dist/client/assets/{xychartDiagram-2RQKCTM6-CpPDrWcg.js → xychartDiagram-2RQKCTM6-D36D8smx.js} +1 -1
  136. package/dist/client/assets/{yaml-VItgjNOZ.js → yaml-D6zRzOR2.js} +1 -1
  137. package/dist/client/index.html +3 -3
  138. package/dist/{doctor-DGZoOg8f.mjs → doctor-B3Nrydc0.mjs} +1 -1
  139. package/dist/{mcp-DOqu6S64.mjs → mcp-DwnYjFS0.mjs} +1 -1
  140. package/dist/{server-Bjzyb6NG.mjs → server-CZeMCHEa.mjs} +58 -6
  141. package/dist/{settings-BVnzGFL7.mjs → settings-bwe7yQ8U.mjs} +1 -1
  142. package/package.json +1 -1
  143. package/dist/client/assets/channel-CdyG8Wtt.js +0 -1
  144. package/dist/client/assets/chunk-QZHKN3VN-DycW3jgO.js +0 -1
  145. package/dist/client/assets/chunk-WU5MYG2G-BXFsAzYU.js +0 -1
  146. package/dist/client/assets/classDiagram-4FO5ZUOK-BxVI8nIr.js +0 -1
  147. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-DZHTBTt9.js +0 -1
  148. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-CyVz0INc.js +0 -1
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/angular-html-BFXVRkhg.js","assets/html-DMohn6Yq.js","assets/css-BwYPZ1qE.js","assets/javascript-CbF7u-DE.js","assets/angular-ts-bUwtWqya.js","assets/scss-C__x0Kwu.js","assets/apl-bnOQInIz.js","assets/json-7vp-fS_h.js","assets/xml-Dnahor-u.js","assets/java-DHj6gaNP.js","assets/astro-BpPieWCw.js","assets/postcss-BHCm7Qae.js","assets/tsx-C7qfZi8B.js","assets/typescript-aLdMd7mo.js","assets/blade-B804X9BP.js","assets/html-derivative-BY6zEZAg.js","assets/sql-D3MVYjA_.js","assets/bsl-BrHd4RA2.js","assets/sdbl-AL_m-RO_.js","assets/cairo-BDZ6TRZS.js","assets/python-D1NFioGW.js","assets/cobol-D0BZ7BzH.js","assets/coffee-BAPNIyTD.js","assets/cpp-D54qUqoX.js","assets/glsl-DusmoVD0.js","assets/c-Cyh0ngfN.js","assets/regexp-DOe8oQhc.js","assets/crystal-BvYuHO8u.js","assets/shellscript-YrQZ5Lwf.js","assets/edge-BbeCKm9i.js","assets/elixir-C2M5DZQF.js","assets/elm-CwqP8u0T.js","assets/erb-C3C66A5u.js","assets/ruby-3gO1sivg.js","assets/graphql-B4CCj0BK.js","assets/jsx-BgiCPhz9.js","assets/haml-BhHHy_kW.js","assets/lua-DlAyxrVn.js","assets/yaml-VItgjNOZ.js","assets/erlang-cuhwpmsu.js","assets/markdown-DXxotAxn.js","assets/fortran-fixed-form-DWr0EnJn.js","assets/fortran-free-form-Br4jRtSc.js","assets/fsharp-CQ5iYSPA.js","assets/gdresource-CN-lsNu5.js","assets/gdscript-hSAZM1eh.js","assets/gdshader-D4XNAEs9.js","assets/git-commit-6e79eN7Q.js","assets/diff-CW0RWGd9.js","assets/git-rebase-BQxiUc18.js","assets/glimmer-js-CSiwvg27.js","assets/glimmer-ts-Dpvu35Rk.js","assets/hack-BNgw8w6u.js","assets/handlebars-BBUsDvYG.js","assets/http-BHAVGGfJ.js","assets/hurl-B2q8TNaP.js","assets/csv-BBwiVr0X.js","assets/hxml-nwJci6H5.js","assets/haxe-DMg0jS3a.js","assets/jinja-MOxap5pr.js","assets/jison-XUjMP-LK.js","assets/julia-DADvZSF3.js","assets/r-DDJJP6PS.js","assets/just-BS3xPvUT.js","assets/perl-SkTVK0CC.js","assets/latex-C_QvolBN.js","assets/tex-B4JFnTVn.js","assets/liquid-CL0UH-ot.js","assets/marko-6e-PRCyy.js","assets/less-DyHub3ow.js","assets/mdc-BbLfT_IA.js","assets/nextflow-DSfydIxt.js","assets/nextflow-groovy-DV4H3hok.js","assets/nginx-CoBWheEf.js","assets/nim-2_Wea-mV.js","assets/php-C2cF2oJ6.js","assets/pug-C01v9yeE.js","assets/qml-CCP9ULJs.js","assets/razor-DKBWfXRk.js","assets/csharp-C3YlYcLV.js","assets/rst-KHKSB4M-.js","assets/cmake-DaqQuj4A.js","assets/sas-D1u2TkIr.js","assets/shaderlab-CbbQwRPF.js","assets/hlsl-DPe9L0Dt.js","assets/shellsession-CoF5Zc6A.js","assets/soy-BKqc8OYl.js","assets/sparql-DEoxFJ5d.js","assets/turtle-BM-MG8WY.js","assets/stata-BqvSK3te.js","assets/surrealql-BhWLIqpd.js","assets/svelte-DNNWxYsj.js","assets/templ-DdMgSlsy.js","assets/go-BJpWXZEs.js","assets/ts-tags-BQI5G_ZS.js","assets/twig-RWfC7gXX.js","assets/vue-BHCbeDIL.js","assets/vue-html-DXTiTIOp.js","assets/vue-vine-CuhsWKNe.js","assets/stylus-B_iq45Sj.js","assets/xsl-DB6zLGtG.js","assets/mermaid.core-K3JZIfb0.js","assets/chunk-O5CBEL6O-CymJeKCI.js","assets/src-UnI8qjTK.js","assets/chunk-5ZQYHXKU-E1qBkOlk.js","assets/dist-CP7b6OkU.js","assets/chunk-CSCIHK7Q-Dw4jsICo.js","assets/chunk-3OPIFGDE-BxaQxo50.js","assets/chunk-L5ZTLDWV-Brr6wA9I.js","assets/chunk-NZK2D7GU-CEyXOVMI.js","assets/rough.esm-BBrzuQ0N.js","assets/chunk-BSJP7CBP-CoL841vB.js","assets/chunk-KSCS5N6A-D67-Zs6D.js","assets/line-Bkj6DIfl.js","assets/path-g3G46IZB.js","assets/array-CkF66D10.js","assets/chunk-LZXEDZCA-e3dTHwrC.js","assets/chunk-WU5MYG2G-BXFsAzYU.js","assets/chunk-XPW4576I-DfoZU8hD.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/angular-html-Bn7xcK-X.js","assets/html-LHrj0-2t.js","assets/css-QFeW3BCZ.js","assets/javascript-_a2prAz7.js","assets/angular-ts-qK80FnOc.js","assets/scss-BPUTinXb.js","assets/apl-BhBHq9NH.js","assets/json-D74F0BDU.js","assets/xml-hd7OQ798.js","assets/java-DAwMoXxA.js","assets/astro--A8NjYkS.js","assets/postcss-BHCm7Qae.js","assets/tsx-CvVX506n.js","assets/typescript-BEq3u3Bc.js","assets/blade-DUJ_WZzW.js","assets/html-derivative-L3_OYrFu.js","assets/sql-CwSA8v_H.js","assets/bsl-BrHd4RA2.js","assets/sdbl-AL_m-RO_.js","assets/cairo-BDZ6TRZS.js","assets/python-D1NFioGW.js","assets/cobol-EaVCzYAO.js","assets/coffee-CbmPxJhz.js","assets/cpp-1v8ov4EG.js","assets/glsl-Cb4XetAc.js","assets/c-Ddzn0JTQ.js","assets/regexp-BhjJa9MI.js","assets/crystal-B88NqWAb.js","assets/shellscript-B4rfo4qg.js","assets/edge-5UREsVXQ.js","assets/elixir-B_Yali6w.js","assets/elm-STYz8ayI.js","assets/erb-CHRx3Beu.js","assets/ruby-BURiJKuD.js","assets/graphql-mqi9K2_l.js","assets/jsx-BsH2-gDN.js","assets/haml-Bw7q4nKg.js","assets/lua-WlA-m2lC.js","assets/yaml-D6zRzOR2.js","assets/erlang-cuhwpmsu.js","assets/markdown-DXxotAxn.js","assets/fortran-fixed-form-DWr0EnJn.js","assets/fortran-free-form-Br4jRtSc.js","assets/fsharp-CQ5iYSPA.js","assets/gdresource-CN-lsNu5.js","assets/gdscript-hSAZM1eh.js","assets/gdshader-D4XNAEs9.js","assets/git-commit-6e79eN7Q.js","assets/diff-CW0RWGd9.js","assets/git-rebase-CFmRpmLK.js","assets/glimmer-js-CdrEdtzi.js","assets/glimmer-ts-CzrwZqCl.js","assets/hack-DaFJ7htO.js","assets/handlebars-mj81MoXX.js","assets/http-DE0OFe2c.js","assets/hurl-CNbk7fqf.js","assets/csv-BBwiVr0X.js","assets/hxml-nwJci6H5.js","assets/haxe-DMg0jS3a.js","assets/jinja-JKFA3bu8.js","assets/jison-UbTjhW7k.js","assets/julia-DyIO_Gy0.js","assets/r-BR0O4N-s.js","assets/just-VQTFAZJr.js","assets/perl-TEELuyd-.js","assets/latex-D0ONGfIo.js","assets/tex-C9X3gjZ2.js","assets/liquid-BnYpmfMl.js","assets/marko-Bd44681W.js","assets/less-DyHub3ow.js","assets/mdc-DhosSoGv.js","assets/nextflow-DSfydIxt.js","assets/nextflow-groovy-DV4H3hok.js","assets/nginx-sYwNRk-F.js","assets/nim-DrXU2tn9.js","assets/php-Dy_Y1r8j.js","assets/pug-vancrY0a.js","assets/qml-BA5z-zbf.js","assets/razor-DXiNCb-5.js","assets/csharp-C3YlYcLV.js","assets/rst-Bi3zId1d.js","assets/cmake-DaqQuj4A.js","assets/sas-BO_W1LuL.js","assets/shaderlab-CbbQwRPF.js","assets/hlsl-DPe9L0Dt.js","assets/shellsession-DLX-O8m7.js","assets/soy-BEUiwSVD.js","assets/sparql-DEoxFJ5d.js","assets/turtle-BM-MG8WY.js","assets/stata-XfdBiAnW.js","assets/surrealql-COaehKkS.js","assets/svelte-B0kTIq0J.js","assets/templ-DGxWfDf-.js","assets/go-BJpWXZEs.js","assets/ts-tags-By9ETsTC.js","assets/twig-CjLWv7eu.js","assets/vue-DYazforU.js","assets/vue-html-92z_Aqn0.js","assets/vue-vine-VY7raYSI.js","assets/stylus-B_iq45Sj.js","assets/xsl-MkuT76g1.js","assets/mermaid.core-qcl7ght-.js","assets/chunk-O5CBEL6O-Bvzv6QAN.js","assets/src-Cn22-GjE.js","assets/chunk-5ZQYHXKU-DSagYOhc.js","assets/dist-BvtPW002.js","assets/chunk-CSCIHK7Q-CeHxe0Uf.js","assets/chunk-3OPIFGDE-CJvhnVzd.js","assets/chunk-L5ZTLDWV-8JMoad-S.js","assets/chunk-NZK2D7GU-DPwHQE2m.js","assets/rough.esm-BBrzuQ0N.js","assets/chunk-BSJP7CBP-BjTEoy7R.js","assets/chunk-KSCS5N6A-rYccR2Ju.js","assets/line-BkbHeSM4.js","assets/path-g3G46IZB.js","assets/array-CkF66D10.js","assets/chunk-LZXEDZCA-DOvCLema.js","assets/chunk-WU5MYG2G-CfaWSqjJ.js","assets/chunk-XPW4576I-DY1teoyy.js"])))=>i.map(i=>d[i]);
2
2
  var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,a)=>(a=n==null?{}:e(i(n)),c(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var u=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&j(x,t.startTime-e)}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-T<w)}function D(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&j(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,A=k.port2;k.port1.onmessage=D,O=function(){A.postMessage(null)}}else O=function(){_(D,0)};function j(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,j(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),d=o(((e,t)=>{t.exports=u()})),f=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+j(a,u),c+=N(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+j(a,u++),c+=N(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return N(M(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function P(e,t,n){if(e==null)return e;var r=[],i=0;return N(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function F(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var I=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},L={map:P,forEach:function(e,t,n){P(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return P(e,function(){t++}),t},toArray:function(e){return P(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=L,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:F}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,I)}catch(e){I(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.4`})),p=o(((e,t)=>{t.exports=f()})),m=o((e=>{var t=p();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function r(){}var i={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},a=Symbol.for(`react.portal`);function o(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var s=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return o(e,t,null,r)},e.flushSync=function(e){var t=s.T,n=i.p;try{if(s.T=null,i.p=2,e)return e()}finally{s.T=t,i.p=n,i.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,i.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&i.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin),a=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?i.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):n===`script`&&i.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`)if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=c(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??i.d.M(e)},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin);i.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`)if(t){var n=c(t.as,t.crossOrigin);i.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else i.d.m(e)},e.requestFormReset=function(e){i.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return s.H.useFormState(e,t,n)},e.useFormStatus=function(){return s.H.useHostTransitionStatus()},e.version=`19.2.4`})),h=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=m()})),g=o((e=>{var t=d(),n=p(),r=h();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(o(e)!==e)throw Error(i(188))}function u(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function f(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=f(e),t!==null)return t;e=e.sibling}return null}var m=Object.assign,g=Symbol.for(`react.element`),_=Symbol.for(`react.transitional.element`),v=Symbol.for(`react.portal`),y=Symbol.for(`react.fragment`),b=Symbol.for(`react.strict_mode`),x=Symbol.for(`react.profiler`),S=Symbol.for(`react.consumer`),C=Symbol.for(`react.context`),w=Symbol.for(`react.forward_ref`),T=Symbol.for(`react.suspense`),E=Symbol.for(`react.suspense_list`),D=Symbol.for(`react.memo`),O=Symbol.for(`react.lazy`),k=Symbol.for(`react.activity`),A=Symbol.for(`react.memo_cache_sentinel`),j=Symbol.iterator;function M(e){return typeof e!=`object`||!e?null:(e=j&&e[j]||e[`@@iterator`],typeof e==`function`?e:null)}var N=Symbol.for(`react.client.reference`);function P(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===N?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case y:return`Fragment`;case x:return`Profiler`;case b:return`StrictMode`;case T:return`Suspense`;case E:return`SuspenseList`;case k:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case v:return`Portal`;case C:return e.displayName||`Context`;case S:return(e._context.displayName||`Context`)+`.Consumer`;case w:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case D:return t=e.displayName||null,t===null?P(e.type)||`Memo`:t;case O:t=e._payload,e=e._init;try{return P(e(t))}catch{}}return null}var F=Array.isArray,I=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,L=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,R={pending:!1,data:null,method:null,action:null},z=[],ee=-1;function te(e){return{current:e}}function ne(e){0>ee||(e.current=z[ee],z[ee]=null,ee--)}function B(e,t){ee++,z[ee]=e.current,e.current=t}var V=te(null),re=te(null),ie=te(null),ae=te(null);function oe(e,t){switch(B(ie,t),B(re,e),B(V,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Kd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Kd(t),e=qd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}ne(V),B(V,e)}function se(){ne(V),ne(re),ne(ie)}function ce(e){e.memoizedState!==null&&B(ae,e);var t=V.current,n=qd(t,e.type);t!==n&&(B(re,e),B(V,n))}function H(e){re.current===e&&(ne(V),ne(re)),ae.current===e&&(ne(ae),rp._currentValue=R)}var le,ue;function U(e){if(le===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);le=t&&t[1]||``,ue=-1<e.stack.indexOf(`
3
3
  at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
4
4
  `+le+e+ue}var de=!1;function fe(e,t){if(!e||de)return``;de=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,`props`,{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,`name`,{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
@@ -18,7 +18,7 @@ Error generating stack: `+e.message+`
18
18
  \f\r "&'<=>\``.split(``)],[`\0
19
19
  \f\r "&'<=>\``.split(``),`\0
20
20
  \f\r "&'<=>\``.split(``)]],single:[[`&'`.split(``),`"&'\``.split(``)],[`\0&'`.split(``),`\0"&'\``.split(``)]],double:[[`"&`.split(``),`"&'\``.split(``)],[`\0"&`.split(``),`\0"&'\``.split(``)]]};function Oo(e,t,n,r){let i=r.schema,a=i.space===`svg`?!1:r.settings.omitOptionalTags,o=i.space===`svg`?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase()),s=[],c;i.space===`html`&&e.tagName===`svg`&&(r.schema=ga);let l=ko(r,e.properties),u=r.all(i.space===`html`&&e.tagName===`template`?e.content:e);return r.schema=i,u&&(o=!1),(l||!a||!xo(e,t,n))&&(s.push(`<`,e.tagName,l?` `+l:``),o&&(i.space===`svg`||r.settings.closeSelfClosing)&&(c=l.charAt(l.length-1),(!r.settings.tightSelfClosing||c===`/`||c&&c!==`"`&&c!==`'`)&&s.push(` `),s.push(`/`)),s.push(`>`)),s.push(u),!o&&(!a||!io(e,t,n))&&s.push(`</`+e.tagName+`>`),s.join(``)}function ko(e,t){let n=[],r=-1,i;if(t){for(i in t)if(t[i]!==null&&t[i]!==void 0){let r=Ao(e,i,t[i]);r&&n.push(r)}}for(;++r<n.length;){let t=e.settings.tightAttributes?n[r].charAt(n[r].length-1):void 0;r!==n.length-1&&t!==`"`&&t!==`'`&&(n[r]+=` `)}return n.join(``)}function Ao(e,t,n){let r=fa(e.schema,t),i=e.settings.allowParseErrors&&e.schema.space===`html`?0:1,a=e.settings.allowDangerousCharacters?0:1,o=e.quote,s;if(r.overloadedBoolean&&(n===r.attribute||n===``)?n=!0:(r.boolean||r.overloadedBoolean)&&(typeof n!=`string`||n===r.attribute||n===``)&&(n=!!n),n==null||n===!1||typeof n==`number`&&Number.isNaN(n))return``;let c=Ba(r.attribute,Object.assign({},e.settings.characterReferences,{subset:Do.name[i][a]}));return n===!0||(n=Array.isArray(n)?(r.commaSeparated?qa:Ja)(n,{padLeft:!e.settings.tightCommaSeparatedLists}):String(n),e.settings.collapseEmptyAttributes&&!n)?c:(e.settings.preferUnquoted&&(s=Ba(n,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:Do.unquoted[i][a]}))),s!==n&&(e.settings.quoteSmart&&Ka(n,o)>Ka(n,e.alternative)&&(o=e.alternative),s=o+Ba(n,Object.assign({},e.settings.characterReferences,{subset:(o===`'`?Do.single:Do.double)[i][a],attribute:!0}))+o),c+(s&&`=`+s))}var jo=[`<`,`&`];function Mo(e,t,n,r){return n&&n.type===`element`&&(n.tagName===`script`||n.tagName===`style`)?e.value:Ba(e.value,Object.assign({},r.settings.characterReferences,{subset:jo}))}function No(e,t,n,r){return r.settings.allowDangerousHtml?e.value:Mo(e,t,n,r)}function Po(e,t,n,r){return r.all(e)}var Fo=va(`type`,{invalid:Io,unknown:Lo,handlers:{comment:Wa,doctype:Ga,element:Oo,raw:No,root:Po,text:Mo}});function Io(e){throw Error("Expected node, not `"+e+"`")}function Lo(e){throw Error("Cannot compile unknown node `"+e.type+"`")}var Ro={},zo={},Bo=[];function Vo(e,t){let n=t||Ro,r=n.quote||`"`,i=r===`"`?`'`:`"`;if(r!==`"`&&r!==`'`)throw Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:Ho,all:Uo,settings:{omitOptionalTags:n.omitOptionalTags||!1,allowParseErrors:n.allowParseErrors||!1,allowDangerousCharacters:n.allowDangerousCharacters||!1,quoteSmart:n.quoteSmart||!1,preferUnquoted:n.preferUnquoted||!1,tightAttributes:n.tightAttributes||!1,upperDoctype:n.upperDoctype||!1,tightDoctype:n.tightDoctype||!1,bogusComments:n.bogusComments||!1,tightCommaSeparatedLists:n.tightCommaSeparatedLists||!1,tightSelfClosing:n.tightSelfClosing||!1,collapseEmptyAttributes:n.collapseEmptyAttributes||!1,allowDangerousHtml:n.allowDangerousHtml||!1,voids:n.voids||Ii,characterReferences:n.characterReferences||zo,closeSelfClosing:n.closeSelfClosing||!1,closeEmptyElements:n.closeEmptyElements||!1},schema:n.space===`svg`?ga:ha,quote:r,alternative:i}.one(Array.isArray(e)?{type:`root`,children:e}:e,void 0,void 0)}function Ho(e,t,n){return Fo(e,t,n,this)}function Uo(e){let t=[],n=e&&e.children||Bo,r=-1;for(;++r<n.length;)t[r]=this.one(n[r],r,e);return t.join(``)}function Wo(e,t){let n=typeof e==`string`?{}:{...e.colorReplacements},r=typeof e==`string`?e:e.name;for(let[e,i]of Object.entries(t?.colorReplacements||{}))typeof i==`string`?n[e]=i:e===r&&Object.assign(n,i);return n}function Go(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function Ko(e){return Array.isArray(e)?e:[e]}async function qo(e){return Promise.resolve(typeof e==`function`?e():e).then(e=>e.default||e)}function Jo(e){return!e||[`plaintext`,`txt`,`text`,`plain`].includes(e)}function Yo(e){return e===`ansi`||Jo(e)}function Xo(e){return e===`none`}function Zo(e){return Xo(e)}function Qo(e,t){if(!t)return e;e.properties||={},e.properties.class||=[],typeof e.properties.class==`string`&&(e.properties.class=e.properties.class.split(/\s+/g)),Array.isArray(e.properties.class)||(e.properties.class=[]);let n=Array.isArray(t)?t:t.split(/\s+/g);for(let t of n)t&&!e.properties.class.includes(t)&&e.properties.class.push(t);return e}function $o(e,t=!1){if(e.length===0)return[[``,0]];let n=e.split(/(\r?\n)/g),r=0,i=[];for(let e=0;e<n.length;e+=2){let a=t?n[e]+(n[e+1]||``):n[e];i.push([a,r]),r+=n[e].length,r+=n[e+1]?.length||0}return i}function es(e){let t=$o(e,!0).map(([e])=>e);function n(n){if(n===e.length)return{line:t.length-1,character:t[t.length-1].length};let r=n,i=0;for(let e of t){if(r<e.length)break;r-=e.length,i++}return{line:i,character:r}}function r(e,n){let r=0;for(let n=0;n<e;n++)r+=t[n].length;return r+=n,r}return{lines:t,indexToPos:n,posToIndex:r}}function ts(e,t,n){let r=new Set;for(let t of e.matchAll(/:?lang=["']([^"']+)["']/g)){let e=t[1].toLowerCase().trim();e&&r.add(e)}for(let t of e.matchAll(/(?:```|~~~)([\w-]+)/g)){let e=t[1].toLowerCase().trim();e&&r.add(e)}for(let t of e.matchAll(/\\begin\{([\w-]+)\}/g)){let e=t[1].toLowerCase().trim();e&&r.add(e)}for(let t of e.matchAll(/<script\s+(?:type|lang)=["']([^"']+)["']/gi)){let e=t[1].toLowerCase().trim(),n=e.includes(`/`)?e.split(`/`).pop():e;n&&r.add(n)}if(!n)return Array.from(r);let i=n.getBundledLanguages();return Array.from(r).filter(e=>e&&i[e])}var ns=`light-dark()`,rs=[`color`,`background-color`];function is(e,t){let n=0,r=[];for(let i of t)i>n&&r.push({...e,content:e.content.slice(n,i),offset:e.offset+n}),n=i;return n<e.content.length&&r.push({...e,content:e.content.slice(n),offset:e.offset+n}),r}function as(e,t){let n=Array.from(t instanceof Set?t:new Set(t)).sort((e,t)=>e-t);return n.length?e.map(e=>e.flatMap(e=>{let t=n.filter(t=>e.offset<t&&t<e.offset+e.content.length).map(t=>t-e.offset).sort((e,t)=>e-t);return t.length?is(e,t):e})):e}function os(e,t,n,r,i=`css-vars`){let a={content:e.content,explanation:e.explanation,offset:e.offset},o=t.map(t=>ss(e.variants[t])),s=new Set(o.flatMap(e=>Object.keys(e))),c={},l=(e,r)=>{let i=r===`color`?``:r===`background-color`?`-bg`:`-${r}`;return n+t[e]+(r===`color`?``:i)};return o.forEach((e,n)=>{for(let a of s){let s=e[a]||`inherit`;if(n===0&&r&&rs.includes(a))if(r===ns&&o.length>1){let e=t.findIndex(e=>e===`light`),r=t.findIndex(e=>e===`dark`);if(e===-1||r===-1)throw new Qn('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');c[a]=`light-dark(${o[e][a]||`inherit`}, ${o[r][a]||`inherit`})`,i===`css-vars`&&(c[l(n,a)]=s)}else c[a]=s;else i===`css-vars`&&(c[l(n,a)]=s)}}),a.htmlStyle=c,a}function ss(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t[`background-color`]=e.bgColor),e.fontStyle){e.fontStyle&yr.Italic&&(t[`font-style`]=`italic`),e.fontStyle&yr.Bold&&(t[`font-weight`]=`bold`);let n=[];e.fontStyle&yr.Underline&&n.push(`underline`),e.fontStyle&yr.Strikethrough&&n.push(`line-through`),n.length&&(t[`text-decoration`]=n.join(` `))}return t}function cs(e){return typeof e==`string`?e:Object.entries(e).map(([e,t])=>`${e}:${t}`).join(`;`)}var ls=new WeakMap;function us(e,t){ls.set(e,t)}function ds(e){return ls.get(e)}var fs=class e{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,n){return new e(Object.fromEntries(Ko(n).map(e=>[e,Fi])),t)}constructor(...e){if(e.length===2){let[t,n]=e;this.lang=n,this._stacks=t}else{let[t,n,r]=e;this.lang=n,this._stacks={[r]:t}}}getInternalStack(e=this.theme){return this._stacks[e]}getScopes(e=this.theme){return ps(this._stacks[e])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function ps(e){let t=[],n=new Set;function r(e){if(n.has(e))return;n.add(e);let i=e?.nameScopesList?.scopeName;i&&t.push(i),e.parent&&r(e.parent)}return r(e),t}function ms(e,t){if(!(e instanceof fs))throw new Qn(`Invalid grammar state`);return e.getInternalStack(t)}function hs(){let e=new WeakMap;function t(t){if(!e.has(t.meta)){let n=function(e){if(typeof e==`number`){if(e<0||e>t.source.length)throw new Qn(`Invalid decoration offset: ${e}. Code length: ${t.source.length}`);return{...r.indexToPos(e),offset:e}}else{let t=r.lines[e.line];if(t===void 0)throw new Qn(`Invalid decoration position ${JSON.stringify(e)}. Lines length: ${r.lines.length}`);let n=e.character;if(n<0&&(n=t.length+n),n<0||n>t.length)throw new Qn(`Invalid decoration position ${JSON.stringify(e)}. Line ${e.line} length: ${t.length}`);return{...e,character:n,offset:r.posToIndex(e.line,n)}}},r=es(t.source),i=(t.options.decorations||[]).map(e=>({...e,start:n(e.start),end:n(e.end)}));gs(i),e.set(t.meta,{decorations:i,converter:r,source:t.source})}return e.get(t.meta)}return{name:`shiki:decorations`,tokens(e){if(this.options.decorations?.length)return as(e,t(this).decorations.flatMap(e=>[e.start.offset,e.end.offset]))},code(e){if(!this.options.decorations?.length)return;let n=t(this),r=Array.from(e.children).filter(e=>e.type===`element`&&e.tagName===`span`);if(r.length!==n.converter.lines.length)throw new Qn(`Number of lines in code element (${r.length}) does not match the number of lines in the source (${n.converter.lines.length}). Failed to apply decorations.`);function i(e,t,n,i){let a=r[e],s=``,c=-1,l=-1;if(t===0&&(c=0),n===0&&(l=0),n===1/0&&(l=a.children.length),c===-1||l===-1)for(let e=0;e<a.children.length;e++)s+=_s(a.children[e]),c===-1&&s.length===t&&(c=e+1),l===-1&&s.length===n&&(l=e+1);if(c===-1)throw new Qn(`Failed to find start index for decoration ${JSON.stringify(i.start)}`);if(l===-1)throw new Qn(`Failed to find end index for decoration ${JSON.stringify(i.end)}`);let u=a.children.slice(c,l);if(!i.alwaysWrap&&u.length===a.children.length)o(a,i,`line`);else if(!i.alwaysWrap&&u.length===1&&u[0].type===`element`)o(u[0],i,`token`);else{let e={type:`element`,tagName:`span`,properties:{},children:u};o(e,i,`wrapper`),a.children.splice(c,u.length,e)}}function a(e,t){r[e]=o(r[e],t,`line`)}function o(e,t,n){let r=t.properties||{},i=t.transform||(e=>e);return e.tagName=t.tagName||`span`,e.properties={...e.properties,...r,class:e.properties.class},t.properties?.class&&Qo(e,t.properties.class),e=i(e,n)||e,e}let s=[],c=n.decorations.sort((e,t)=>t.start.offset-e.start.offset||e.end.offset-t.end.offset);for(let e of c){let{start:t,end:n}=e;if(t.line===n.line)i(t.line,t.character,n.character,e);else if(t.line<n.line){i(t.line,t.character,1/0,e);for(let r=t.line+1;r<n.line;r++)s.unshift(()=>a(r,e));i(n.line,0,n.character,e)}}s.forEach(e=>e())}}}function gs(e){for(let t=0;t<e.length;t++){let n=e[t];if(n.start.offset>n.end.offset)throw new Qn(`Invalid decoration range: ${JSON.stringify(n.start)} - ${JSON.stringify(n.end)}`);for(let r=t+1;r<e.length;r++){let t=e[r],i=n.start.offset<=t.start.offset&&t.start.offset<n.end.offset,a=n.start.offset<t.end.offset&&t.end.offset<=n.end.offset,o=t.start.offset<=n.start.offset&&n.start.offset<t.end.offset,s=t.start.offset<n.end.offset&&n.end.offset<=t.end.offset;if(i||a||o||s){if(i&&a||o&&s||o&&n.start.offset===n.end.offset||a&&t.start.offset===t.end.offset)continue;throw new Qn(`Decorations ${JSON.stringify(n.start)} and ${JSON.stringify(t.start)} intersect.`)}}}}function _s(e){return e.type===`text`?e.value:e.type===`element`?e.children.map(_s).join(``):``}var vs=[hs()];function ys(e){let t=bs(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...vs]}function bs(e){let t=[],n=[],r=[];for(let i of e)switch(i.enforce){case`pre`:t.push(i);break;case`post`:n.push(i);break;default:r.push(i)}return{pre:t,post:n,normal:r}}var xs=[`black`,`red`,`green`,`yellow`,`blue`,`magenta`,`cyan`,`white`,`brightBlack`,`brightRed`,`brightGreen`,`brightYellow`,`brightBlue`,`brightMagenta`,`brightCyan`,`brightWhite`],Ss={1:`bold`,2:`dim`,3:`italic`,4:`underline`,7:`reverse`,8:`hidden`,9:`strikethrough`};function Cs(e,t){let n=e.indexOf(`\x1B`,t);if(n!==-1&&e[n+1]===`[`){let t=e.indexOf(`m`,n);if(t!==-1)return{sequence:e.substring(n+2,t).split(`;`),startPosition:n,position:t+1}}return{position:e.length}}function ws(e){let t=e.shift();if(t===`2`){let t=e.splice(0,3).map(e=>Number.parseInt(e));return t.length!==3||t.some(e=>Number.isNaN(e))?void 0:{type:`rgb`,rgb:t}}else if(t===`5`){let t=e.shift();if(t)return{type:`table`,index:Number(t)}}}function Ts(e){let t=[];for(;e.length>0;){let n=e.shift();if(!n)continue;let r=Number.parseInt(n);if(!Number.isNaN(r))if(r===0)t.push({type:`resetAll`});else if(r<=9)Ss[r]&&t.push({type:`setDecoration`,value:Ss[r]});else if(r<=29){let e=Ss[r-20];e&&(t.push({type:`resetDecoration`,value:e}),e===`dim`&&t.push({type:`resetDecoration`,value:`bold`}))}else if(r<=37)t.push({type:`setForegroundColor`,value:{type:`named`,name:xs[r-30]}});else if(r===38){let n=ws(e);n&&t.push({type:`setForegroundColor`,value:n})}else if(r===39)t.push({type:`resetForegroundColor`});else if(r<=47)t.push({type:`setBackgroundColor`,value:{type:`named`,name:xs[r-40]}});else if(r===48){let n=ws(e);n&&t.push({type:`setBackgroundColor`,value:n})}else r===49?t.push({type:`resetBackgroundColor`}):r===53?t.push({type:`setDecoration`,value:`overline`}):r===55?t.push({type:`resetDecoration`,value:`overline`}):r>=90&&r<=97?t.push({type:`setForegroundColor`,value:{type:`named`,name:xs[r-90+8]}}):r>=100&&r<=107&&t.push({type:`setBackgroundColor`,value:{type:`named`,name:xs[r-100+8]}})}return t}function Es(){let e=null,t=null,n=new Set;return{parse(r){let i=[],a=0;do{let o=Cs(r,a),s=o.sequence?r.substring(a,o.startPosition):r.substring(a);if(s.length>0&&i.push({value:s,foreground:e,background:t,decorations:new Set(n)}),o.sequence){let r=Ts(o.sequence);for(let i of r)i.type===`resetAll`?(e=null,t=null,n.clear()):i.type===`resetForegroundColor`?e=null:i.type===`resetBackgroundColor`?t=null:i.type===`resetDecoration`&&n.delete(i.value);for(let i of r)i.type===`setForegroundColor`?e=i.value:i.type===`setBackgroundColor`?t=i.value:i.type===`setDecoration`&&n.add(i.value)}a=o.position}while(a<r.length);return i}}}var Ds={black:`#000000`,red:`#bb0000`,green:`#00bb00`,yellow:`#bbbb00`,blue:`#0000bb`,magenta:`#ff00ff`,cyan:`#00bbbb`,white:`#eeeeee`,brightBlack:`#555555`,brightRed:`#ff5555`,brightGreen:`#00ff00`,brightYellow:`#ffff55`,brightBlue:`#5555ff`,brightMagenta:`#ff55ff`,brightCyan:`#55ffff`,brightWhite:`#ffffff`};function Os(e=Ds){function t(t){return e[t]}function n(e){return`#${e.map(e=>Math.max(0,Math.min(e,255)).toString(16).padStart(2,`0`)).join(``)}`}let r;function i(){if(r)return r;r=[];for(let e=0;e<xs.length;e++)r.push(t(xs[e]));let e=[0,95,135,175,215,255];for(let t=0;t<6;t++)for(let i=0;i<6;i++)for(let a=0;a<6;a++)r.push(n([e[t],e[i],e[a]]));let i=8;for(let e=0;e<24;e++,i+=10)r.push(n([i,i,i]));return r}function a(e){return i()[e]}function o(e){switch(e.type){case`named`:return t(e.name);case`rgb`:return n(e.rgb);case`table`:return a(e.index)}}return{value:o}}var ks={black:`#000000`,red:`#cd3131`,green:`#0DBC79`,yellow:`#E5E510`,blue:`#2472C8`,magenta:`#BC3FBC`,cyan:`#11A8CD`,white:`#E5E5E5`,brightBlack:`#666666`,brightRed:`#F14C4C`,brightGreen:`#23D18B`,brightYellow:`#F5F543`,brightBlue:`#3B8EEA`,brightMagenta:`#D670D6`,brightCyan:`#29B8DB`,brightWhite:`#FFFFFF`};function As(e,t,n){let r=Wo(e,n),i=$o(t),a=Os(Object.fromEntries(xs.map(t=>{let n=`terminal.ansi${t[0].toUpperCase()}${t.substring(1)}`;return[t,e.colors?.[n]||ks[t]]}))),o=Es();return i.map(t=>o.parse(t[0]).map(n=>{let i,o;n.decorations.has(`reverse`)?(i=n.background?a.value(n.background):e.bg,o=n.foreground?a.value(n.foreground):e.fg):(i=n.foreground?a.value(n.foreground):e.fg,o=n.background?a.value(n.background):void 0),i=Go(i,r),o=Go(o,r),n.decorations.has(`dim`)&&(i=js(i));let s=yr.None;return n.decorations.has(`bold`)&&(s|=yr.Bold),n.decorations.has(`italic`)&&(s|=yr.Italic),n.decorations.has(`underline`)&&(s|=yr.Underline),n.decorations.has(`strikethrough`)&&(s|=yr.Strikethrough),{content:n.value,offset:t[1],color:i,bgColor:o,fontStyle:s}}))}function js(e){let t=e.match(/#([0-9a-f]{3,8})/i);if(t){let e=t[1];if(e.length===8){let t=Math.round(Number.parseInt(e.slice(6,8),16)/2).toString(16).padStart(2,`0`);return`#${e.slice(0,6)}${t}`}else if(e.length===6)return`#${e}80`;else if(e.length===4){let t=e[0],n=e[1],r=e[2],i=e[3];return`#${t}${t}${n}${n}${r}${r}${Math.round(Number.parseInt(`${i}${i}`,16)/2).toString(16).padStart(2,`0`)}`}else if(e.length===3){let t=e[0],n=e[1],r=e[2];return`#${t}${t}${n}${n}${r}${r}80`}}let n=e.match(/var\((--[\w-]+-ansi-[\w-]+)\)/);return n?`var(${n[1]}-dim)`:e}function Ms(e,t,n={}){let{theme:r=e.getLoadedThemes()[0]}=n,i=e.resolveLangAlias(n.lang||`text`);if(Jo(i)||Xo(r))return $o(t).map(e=>[{content:e[0],offset:e[1]}]);let{theme:a,colorMap:o}=e.setTheme(r);if(i===`ansi`)return As(a,t,n);let s=e.getLanguage(n.lang||`text`);if(n.grammarState){if(n.grammarState.lang!==s.name)throw new Qn(`Grammar state language "${n.grammarState.lang}" does not match highlight language "${s.name}"`);if(!n.grammarState.themes.includes(a.name))throw new Qn(`Grammar state themes "${n.grammarState.themes}" do not contain highlight theme "${a.name}"`)}return Ps(t,s,a,o,n)}function Ns(...e){if(e.length===2)return ds(e[1]);let[t,n,r={}]=e,{lang:i=`text`,theme:a=t.getLoadedThemes()[0]}=r;if(Jo(i)||Xo(a))throw new Qn(`Plain language does not have grammar state`);if(i===`ansi`)throw new Qn(`ANSI language does not have grammar state`);let{theme:o,colorMap:s}=t.setTheme(a),c=t.getLanguage(i);return new fs(Fs(n,c,o,s,r).stateStack,c.name,o.name)}function Ps(e,t,n,r,i){let a=Fs(e,t,n,r,i),o=new fs(a.stateStack,t.name,n.name);return us(a.tokens,o),a.tokens}function Fs(e,t,n,r,i){let a=Wo(n,i),{tokenizeMaxLineLength:o=0,tokenizeTimeLimit:s=500}=i,c=$o(e),l=i.grammarState?ms(i.grammarState,n.name)??Fi:i.grammarContextCode==null?Fi:Fs(i.grammarContextCode,t,n,r,{...i,grammarState:void 0,grammarContextCode:void 0}).stateStack,u=[],d=[];for(let e=0,f=c.length;e<f;e++){let[f,p]=c[e];if(f===``){u=[],d.push([]);continue}if(o>0&&f.length>=o){u=[],d.push([{content:f,offset:p,color:``,fontStyle:0}]);continue}let m,h,g;i.includeExplanation&&(m=t.tokenizeLine(f,l,s),h=m.tokens,g=0);let _=t.tokenizeLine2(f,l,s),v=_.tokens.length/2;for(let e=0;e<v;e++){let t=_.tokens[2*e],o=e+1<v?_.tokens[2*e+2]:f.length;if(t===o)continue;let s=_.tokens[2*e+1],c=Go(r[Tr.getForeground(s)],a),l=Tr.getFontStyle(s),d={content:f.substring(t,o),offset:p+t,color:c,fontStyle:l};if(i.includeExplanation){let e=[];if(i.includeExplanation!==`scopeName`)for(let t of n.settings){let n;switch(typeof t.scope){case`string`:n=t.scope.split(/,/).map(e=>e.trim());break;case`object`:n=t.scope;break;default:continue}e.push({settings:t,selectors:n.map(e=>e.split(/ /))})}d.explanation=[];let r=0;for(;t+r<o;){let t=h[g],n=f.substring(t.startIndex,t.endIndex);r+=n.length,d.explanation.push({content:n,scopes:i.includeExplanation===`scopeName`?Is(t.scopes):Ls(e,t.scopes)}),g+=1}}u.push(d)}d.push(u),u=[],l=_.ruleStack}return{tokens:d,stateStack:l}}function Is(e){return e.map(e=>({scopeName:e}))}function Ls(e,t){let n=[];for(let r=0,i=t.length;r<i;r++){let i=t[r];n[r]={scopeName:i,themeMatches:Bs(e,i,t.slice(0,r))}}return n}function Rs(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]===`.`}function zs(e,t,n){if(!Rs(e[e.length-1],t))return!1;let r=e.length-2,i=n.length-1;for(;r>=0&&i>=0;)Rs(e[r],n[i])&&--r,--i;return r===-1}function Bs(e,t,n){let r=[];for(let{selectors:i,settings:a}of e)for(let e of i)if(zs(e,t,n)){r.push(a);break}return r}function Vs(e,t,n){let r=Object.entries(n.themes).filter(e=>e[1]).map(e=>({color:e[0],theme:e[1]})),i=r.map(r=>{let i=Ms(e,t,{...n,theme:r.theme});return{tokens:i,state:ds(i),theme:typeof r.theme==`string`?r.theme:r.theme.name}}),a=Hs(...i.map(e=>e.tokens)),o=a[0].map((e,t)=>e.map((e,i)=>{let o={content:e.content,variants:{},offset:e.offset};return`includeExplanation`in n&&n.includeExplanation&&(o.explanation=e.explanation),a.forEach((e,n)=>{let{content:a,explanation:s,offset:c,...l}=e[t][i];o.variants[r[n].color]=l}),o})),s=i[0].state?new fs(Object.fromEntries(i.map(e=>[e.theme,e.state?.getInternalStack(e.theme)])),i[0].state.lang):void 0;return s&&us(o,s),o}function Hs(...e){let t=e.map(()=>[]),n=e.length;for(let r=0;r<e[0].length;r++){let i=e.map(e=>e[r]),a=t.map(()=>[]);t.forEach((e,t)=>e.push(a[t]));let o=i.map(()=>0),s=i.map(e=>e[0]);for(;s.every(e=>e);){let e=Math.min(...s.map(e=>e.content.length));for(let t=0;t<n;t++){let n=s[t];n.content.length===e?(a[t].push(n),o[t]+=1,s[t]=i[t][o[t]]):(a[t].push({...n,content:n.content.slice(0,e)}),s[t]={...n,content:n.content.slice(e),offset:n.offset+e})}}}return t}function Us(e,t,n){let r,i,a,o,s,c;if(`themes`in n){let{defaultColor:l=`light`,cssVariablePrefix:u=`--shiki-`,colorsRendering:d=`css-vars`}=n,f=Object.entries(n.themes).filter(e=>e[1]).map(e=>({color:e[0],theme:e[1]})).sort((e,t)=>e.color===l?-1:t.color===l?1:0);if(f.length===0)throw new Qn("`themes` option must not be empty");let p=Vs(e,t,n);if(c=ds(p),l&&ns!==l&&!f.find(e=>e.color===l))throw new Qn(`\`themes\` option must contain the defaultColor key \`${l}\``);let m=f.map(t=>e.getTheme(t.theme)),h=f.map(e=>e.color);a=p.map(e=>e.map(e=>os(e,h,u,l,d))),c&&us(a,c);let g=f.map(e=>Wo(e.theme,n));i=Ws(f,m,g,u,l,`fg`,d),r=Ws(f,m,g,u,l,`bg`,d),o=`shiki-themes ${m.map(e=>e.name).join(` `)}`,s=l?void 0:[i,r].join(`;`)}else if(`theme`in n){let s=Wo(n.theme,n);a=Ms(e,t,n);let l=e.getTheme(n.theme);r=Go(l.bg,s),i=Go(l.fg,s),o=l.name,c=ds(a)}else throw new Qn("Invalid options, either `theme` or `themes` must be provided");return{tokens:a,fg:i,bg:r,themeName:o,rootStyle:s,grammarState:c}}function Ws(e,t,n,r,i,a,o){return e.map((s,c)=>{let l=Go(t[c][a],n[c])||`inherit`,u=`${r+s.color}${a===`bg`?`-bg`:``}:${l}`;if(c===0&&i){if(i===ns&&e.length>1){let r=e.findIndex(e=>e.color===`light`),i=e.findIndex(e=>e.color===`dark`);if(r===-1||i===-1)throw new Qn('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');return`light-dark(${Go(t[r][a],n[r])||`inherit`}, ${Go(t[i][a],n[i])||`inherit`});${u}`}return l}return o===`css-vars`?u:null}).filter(e=>!!e).join(`;`)}function Gs(e,t,n,r={meta:{},options:n,codeToHast:(t,n)=>Gs(e,t,n),codeToTokens:(t,n)=>Us(e,t,n)}){let i=t;for(let e of ys(n))i=e.preprocess?.call(r,i,n)||i;let{tokens:a,fg:o,bg:s,themeName:c,rootStyle:l,grammarState:u}=Us(e,i,n),{mergeWhitespaces:d=!0,mergeSameStyleTokens:f=!1}=n;d===!0?a=qs(a):d===`never`&&(a=Js(a)),f&&(a=Ys(a));let p={...r,get source(){return i}};for(let e of ys(n))a=e.tokens?.call(p,a)||a;return Ks(a,{...n,fg:o,bg:s,themeName:c,rootStyle:n.rootStyle===!1?!1:n.rootStyle??l},p,u)}function Ks(e,t,n,r=ds(e)){let i=ys(t),a=[],o={type:`root`,children:[]},{structure:s=`classic`,tabindex:c=`0`}=t,l={class:`shiki ${t.themeName||``}`};t.rootStyle!==!1&&(t.rootStyle==null?l.style=`background-color:${t.bg};color:${t.fg}`:l.style=t.rootStyle),c!==!1&&c!=null&&(l.tabindex=c.toString());for(let[e,n]of Object.entries(t.meta||{}))e.startsWith(`_`)||(l[e]=n);let u={type:`element`,tagName:`pre`,properties:l,children:[],data:t.data},d={type:`element`,tagName:`code`,properties:{},children:a},f=[],p={...n,structure:s,addClassToHast:Qo,get source(){return n.source},get tokens(){return e},get options(){return t},get root(){return o},get pre(){return u},get code(){return d},get lines(){return f}};if(e.forEach((e,t)=>{t&&(s===`inline`?o.children.push({type:`element`,tagName:`br`,properties:{},children:[]}):s===`classic`&&a.push({type:`text`,value:`
21
- `}));let n={type:`element`,tagName:`span`,properties:{class:`line`},children:[]},r=0;for(let a of e){let e={type:`element`,tagName:`span`,properties:{...a.htmlAttrs},children:[{type:`text`,value:a.content}]},c=cs(a.htmlStyle||ss(a));c&&(e.properties.style=c);for(let o of i)e=o?.span?.call(p,e,t+1,r,n,a)||e;s===`inline`?o.children.push(e):s===`classic`&&n.children.push(e),r+=a.content.length}if(s===`classic`){for(let e of i)n=e?.line?.call(p,n,t+1)||n;f.push(n),a.push(n)}else s===`inline`&&f.push(n)}),s===`classic`){for(let e of i)d=e?.code?.call(p,d)||d;u.children.push(d);for(let e of i)u=e?.pre?.call(p,u)||u;o.children.push(u)}else if(s===`inline`){let e=[],t={type:`element`,tagName:`span`,properties:{class:`line`},children:[]};for(let n of o.children)n.type===`element`&&n.tagName===`br`?(e.push(t),t={type:`element`,tagName:`span`,properties:{class:`line`},children:[]}):(n.type===`element`||n.type===`text`)&&t.children.push(n);e.push(t);let n={type:`element`,tagName:`code`,properties:{},children:e};for(let e of i)n=e?.code?.call(p,n)||n;o.children=[];for(let e=0;e<n.children.length;e++){e>0&&o.children.push({type:`element`,tagName:`br`,properties:{},children:[]});let t=n.children[e];t.type===`element`&&o.children.push(...t.children)}}let m=o;for(let e of i)m=e?.root?.call(p,m)||m;return r&&us(m,r),m}function qs(e){return e.map(e=>{let t=[],n=``,r;return e.forEach((i,a)=>{let o=!(i.fontStyle&&(i.fontStyle&yr.Underline||i.fontStyle&yr.Strikethrough));o&&i.content.match(/^\s+$/)&&e[a+1]?(r===void 0&&(r=i.offset),n+=i.content):n?(o?t.push({...i,offset:r,content:n+i.content}):t.push({content:n,offset:r},i),r=void 0,n=``):t.push(i)}),t})}function Js(e){return e.map(e=>e.flatMap(e=>{if(e.content.match(/^\s+$/))return e;let t=e.content.match(/^(\s*)(.*?)(\s*)$/);if(!t)return e;let[,n,r,i]=t;if(!n&&!i)return e;let a=[{...e,offset:e.offset+n.length,content:r}];return n&&a.unshift({content:n,offset:e.offset}),i&&a.push({content:i,offset:e.offset+n.length+r.length}),a}))}function Ys(e){return e.map(e=>{let t=[];for(let n of e){if(t.length===0){t.push({...n});continue}let e=t[t.length-1],r=cs(e.htmlStyle||ss(e)),i=cs(n.htmlStyle||ss(n)),a=e.fontStyle&&(e.fontStyle&yr.Underline||e.fontStyle&yr.Strikethrough),o=n.fontStyle&&(n.fontStyle&yr.Underline||n.fontStyle&yr.Strikethrough);!a&&!o&&r===i?e.content+=n.content:t.push({...n})}return t})}var Xs=Vo;function Zs(e,t,n){let r={meta:{},options:n,codeToHast:(t,n)=>Gs(e,t,n),codeToTokens:(t,n)=>Us(e,t,n)},i=Xs(Gs(e,t,n,r));for(let e of ys(n))i=e.postprocess?.call(r,i,n)||i;return i}var Qs={light:`#333333`,dark:`#bbbbbb`},$s={light:`#fffffe`,dark:`#1e1e1e`},ec=`__shiki_resolved`;function tc(e){if(e?.[ec])return e;let t={...e};t.tokenColors&&!t.settings&&(t.settings=t.tokenColors,delete t.tokenColors),t.type||=`dark`,t.colorReplacements={...t.colorReplacements},t.settings||=[];let{bg:n,fg:r}=t;if(!n||!r){let e=t.settings?t.settings.find(e=>!e.name&&!e.scope):void 0;e?.settings?.foreground&&(r=e.settings.foreground),e?.settings?.background&&(n=e.settings.background),!r&&t?.colors?.[`editor.foreground`]&&(r=t.colors[`editor.foreground`]),!n&&t?.colors?.[`editor.background`]&&(n=t.colors[`editor.background`]),r||=t.type===`light`?Qs.light:Qs.dark,n||=t.type===`light`?$s.light:$s.dark,t.fg=r,t.bg=n}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let i=0,a=new Map;function o(e){if(a.has(e))return a.get(e);i+=1;let n=`#${i.toString(16).padStart(8,`0`).toLowerCase()}`;return t.colorReplacements?.[`#${n}`]?o(e):(a.set(e,n),n)}t.settings=t.settings.map(e=>{let n=e.settings?.foreground&&!e.settings.foreground.startsWith(`#`),r=e.settings?.background&&!e.settings.background.startsWith(`#`);if(!n&&!r)return e;let i={...e,settings:{...e.settings}};if(n){let n=o(e.settings.foreground);t.colorReplacements[n]=e.settings.foreground,i.settings.foreground=n}if(r){let n=o(e.settings.background);t.colorReplacements[n]=e.settings.background,i.settings.background=n}return i});for(let e of Object.keys(t.colors||{}))if((e===`editor.foreground`||e===`editor.background`||e.startsWith(`terminal.ansi`))&&!t.colors[e]?.startsWith(`#`)){let n=o(t.colors[e]);t.colorReplacements[n]=t.colors[e],t.colors[e]=n}return Object.defineProperty(t,ec,{enumerable:!1,writable:!1,value:!0}),t}async function nc(e){return Array.from(new Set((await Promise.all(e.filter(e=>!Yo(e)).map(async e=>await qo(e).then(e=>Array.isArray(e)?e:[e])))).flat()))}async function rc(e){return(await Promise.all(e.map(async e=>Zo(e)?null:tc(await qo(e))))).filter(e=>!!e)}var ic=3,ac=!1;function oc(e,t=3){if(ic&&!(typeof ic==`number`&&t>ic)){if(ac)throw Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var sc=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function cc(e,t){if(!t)return e;if(t[e]){let n=new Set([e]);for(;t[e];){if(e=t[e],n.has(e))throw new sc(`Circular alias \`${Array.from(n).join(` -> `)} -> ${e}\``);n.add(e)}}return e}var lc=class extends Pi{constructor(e,t,n,r={}){super(e),this._resolver=e,this._themes=t,this._langs=n,this._alias=r,this._themes.map(e=>this.loadTheme(e)),this.loadLanguages(this._langs)}_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;getTheme(e){return typeof e==`string`?this._resolvedThemes.get(e):this.loadTheme(e)}loadTheme(e){let t=tc(e);return t.name&&(this._resolvedThemes.set(t.name,t),this._loadedThemesCache=null),t}getLoadedThemes(){return this._loadedThemesCache||=[...this._resolvedThemes.keys()],this._loadedThemesCache}setTheme(e){let t=this._textmateThemeCache.get(e);t||(t=fr.createFromRawTheme(e),this._textmateThemeCache.set(e,t)),this._syncRegistry.setTheme(t)}getGrammar(e){return e=cc(e,this._alias),this._resolvedGrammars.get(e)}loadLanguage(e){if(this.getGrammar(e.name))return;let t=new Set([...this._langMap.values()].filter(t=>t.embeddedLangsLazy?.includes(e.name)));this._resolver.addLanguage(e);let n={balancedBracketSelectors:e.balancedBracketSelectors||[`*`],unbalancedBracketSelectors:e.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(e.scopeName,e);let r=this.loadGrammarWithConfiguration(e.scopeName,1,n);if(r.name=e.name,this._resolvedGrammars.set(e.name,r),e.aliases&&e.aliases.forEach(t=>{this._alias[t]=e.name}),this._loadedLanguagesCache=null,t.size)for(let e of t)this._resolvedGrammars.delete(e.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(e.scopeName),this._syncRegistry?._grammars?.delete(e.scopeName),this.loadLanguage(this._langMap.get(e.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(e){for(let t of e)this.resolveEmbeddedLanguages(t);let t=Array.from(this._langGraph.entries()),n=t.filter(([e,t])=>!t);if(n.length){let e=t.filter(([e,t])=>t?(t.embeddedLanguages||t.embeddedLangs)?.some(e=>n.map(([e])=>e).includes(e)):!1).filter(e=>!n.includes(e));throw new sc(`Missing languages ${n.map(([e])=>`\`${e}\``).join(`, `)}, required by ${e.map(([e])=>`\`${e}\``).join(`, `)}`)}for(let[e,n]of t)this._resolver.addLanguage(n);for(let[e,n]of t)this.loadLanguage(n)}getLoadedLanguages(){return this._loadedLanguagesCache||=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])],this._loadedLanguagesCache}resolveEmbeddedLanguages(e){this._langMap.set(e.name,e),this._langGraph.set(e.name,e);let t=e.embeddedLanguages??e.embeddedLangs;if(t)for(let e of t)this._langGraph.set(e,this._langMap.get(e))}},uc=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(e,t){this._onigLib={createOnigScanner:t=>e.createScanner(t),createOnigString:t=>e.createString(t)},t.forEach(e=>this.addLanguage(e))}get onigLib(){return this._onigLib}getLangRegistration(e){return this._langs.get(e)}loadGrammar(e){return this._scopeToLang.get(e)}addLanguage(e){this._langs.set(e.name,e),e.aliases&&e.aliases.forEach(t=>{this._langs.set(t,e)}),this._scopeToLang.set(e.scopeName,e),e.injectTo&&e.injectTo.forEach(t=>{this._injections.get(t)||this._injections.set(t,[]),this._injections.get(t).push(e.scopeName)})}getInjections(e){let t=e.split(`.`),n=[];for(let e=1;e<=t.length;e++){let r=t.slice(0,e).join(`.`);n=[...n,...this._injections.get(r)||[]]}return n}},dc=0;function fc(e){dc+=1,e.warnings!==!1&&dc>=10&&dc%10==0&&console.warn(`[Shiki] ${dc} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let t=!1;if(!e.engine)throw new sc("`engine` option is required for synchronous mode");let n=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(tc),i=new lc(new uc(e.engine,n),r,n,e.langAlias),a;function o(t){return cc(t,e.langAlias)}function s(e){g();let t=i.getGrammar(typeof e==`string`?e:e.name);if(!t)throw new sc(`Language \`${e}\` not found, you may need to load it first`);return t}function c(e){if(e===`none`)return{bg:``,fg:``,name:`none`,settings:[],type:`dark`};g();let t=i.getTheme(e);if(!t)throw new sc(`Theme \`${e}\` not found, you may need to load it first`);return t}function l(e){g();let t=c(e);return a!==e&&(i.setTheme(t),a=e),{theme:t,colorMap:i.getColorMap()}}function u(){return g(),i.getLoadedThemes()}function d(){return g(),i.getLoadedLanguages()}function f(...e){g(),i.loadLanguages(e.flat(1))}async function p(...e){return f(await nc(e))}function m(...e){g();for(let t of e.flat(1))i.loadTheme(t)}async function h(...e){return g(),m(await rc(e))}function g(){if(t)throw new sc(`Shiki instance has been disposed`)}function _(){t||(t=!0,i.dispose(),--dc)}return{setTheme:l,getTheme:c,getLanguage:s,getLoadedThemes:u,getLoadedLanguages:d,resolveLangAlias:o,loadLanguage:p,loadLanguageSync:f,loadTheme:h,loadThemeSync:m,dispose:_,[Symbol.dispose]:_}}async function pc(e){e.engine||oc("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,n,r]=await Promise.all([rc(e.themes||[]),nc(e.langs||[]),e.engine]);return fc({...e,themes:t,langs:n,engine:r})}async function mc(e){let t=await pc(e);return{getLastGrammarState:(...e)=>Ns(t,...e),codeToTokensBase:(e,n)=>Ms(t,e,n),codeToTokensWithThemes:(e,n)=>Vs(t,e,n),codeToTokens:(e,n)=>Us(t,e,n),codeToHast:(e,n)=>Gs(t,e,n),codeToHtml:(e,n)=>Zs(t,e,n),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function hc(e){let t=e.langs,n=e.themes,r=e.engine;async function i(e){function i(n){if(typeof n==`string`){if(n=e.langAlias?.[n]||n,Yo(n))return[];let r=t[n];if(!r)throw new Qn(`Language \`${n}\` is not included in this bundle. You may want to load it from external source.`);return r}return n}function a(e){if(Zo(e))return`none`;if(typeof e==`string`){let t=n[e];if(!t)throw new Qn(`Theme \`${e}\` is not included in this bundle. You may want to load it from external source.`);return t}return e}let o=(e.themes??[]).map(e=>a(e)),s=(e.langs??[]).map(e=>i(e)),c=await mc({engine:e.engine??r(),...e,themes:o,langs:s});return{...c,loadLanguage(...e){return c.loadLanguage(...e.map(i))},loadTheme(...e){return c.loadTheme(...e.map(a))},getBundledLanguages(){return t},getBundledThemes(){return n}}}return i}function gc(e){let t;async function n(n={}){if(t){let e=await t;return await Promise.all([e.loadTheme(...n.themes||[]),e.loadLanguage(...n.langs||[])]),e}else{t=e({...n,themes:[],langs:[]});let r=await t;return await Promise.all([r.loadTheme(...n.themes||[]),r.loadLanguage(...n.langs||[])]),r}}return n}function _c(e,t){let n=gc(e);async function r(e,r){let i=await n({langs:[r.lang],themes:`theme`in r?[r.theme]:Object.values(r.themes)}),a=await t?.guessEmbeddedLanguages?.(e,r.lang,i);return a&&await i.loadLanguage(...a),i}return{getSingletonHighlighter(e){return n(e)},async codeToHtml(e,t){return(await r(e,t)).codeToHtml(e,t)},async codeToHast(e,t){return(await r(e,t)).codeToHast(e,t)},async codeToTokens(e,t){return(await r(e,t)).codeToTokens(e,t)},async codeToTokensBase(e,t){return(await r(e,t)).codeToTokensBase(e,t)},async codeToTokensWithThemes(e,t){return(await r(e,t)).codeToTokensWithThemes(e,t)},async getLastGrammarState(e,t){return(await n({langs:[t.lang],themes:[t.theme]})).getLastGrammarState(e,t)}}}var vc=`modulepreload`,yc=function(e){return`/`+e},bc={},J=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=yc(t,n),t in bc)return;bc[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:vc,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},xc=[{id:`abap`,name:`ABAP`,import:(()=>J(()=>import(`./abap-cWYhO34H.js`),[]))},{id:`actionscript-3`,name:`ActionScript`,import:(()=>J(()=>import(`./actionscript-3-B80ndJsD.js`),[]))},{id:`ada`,name:`Ada`,import:(()=>J(()=>import(`./ada-C0C0SoYB.js`),[]))},{id:`angular-html`,name:`Angular HTML`,import:(()=>J(()=>import(`./angular-html-BFXVRkhg.js`).then(e=>e.n),__vite__mapDeps([0,1,2,3])))},{id:`angular-ts`,name:`Angular TypeScript`,import:(()=>J(()=>import(`./angular-ts-bUwtWqya.js`),__vite__mapDeps([4,0,1,2,3,5])))},{id:`apache`,name:`Apache Conf`,import:(()=>J(()=>import(`./apache-DBwBm4bB.js`),[]))},{id:`apex`,name:`Apex`,import:(()=>J(()=>import(`./apex-FcV7UxQi.js`),[]))},{id:`apl`,name:`APL`,import:(()=>J(()=>import(`./apl-bnOQInIz.js`),__vite__mapDeps([6,2,1,3,7,8,9])))},{id:`applescript`,name:`AppleScript`,import:(()=>J(()=>import(`./applescript-hQs8VNpS.js`),[]))},{id:`ara`,name:`Ara`,import:(()=>J(()=>import(`./ara-BOadBOZg.js`),[]))},{id:`asciidoc`,name:`AsciiDoc`,aliases:[`adoc`],import:(()=>J(()=>import(`./asciidoc-BsfqiBck.js`),[]))},{id:`asm`,name:`Assembly`,import:(()=>J(()=>import(`./asm-C2vUqzqz.js`),[]))},{id:`astro`,name:`Astro`,import:(()=>J(()=>import(`./astro-BpPieWCw.js`),__vite__mapDeps([10,2,3,7,11,12,13])))},{id:`awk`,name:`AWK`,import:(()=>J(()=>import(`./awk-D4e-eeZT.js`),[]))},{id:`ballerina`,name:`Ballerina`,import:(()=>J(()=>import(`./ballerina-BzvFqbha.js`),[]))},{id:`bat`,name:`Batch File`,aliases:[`batch`],import:(()=>J(()=>import(`./bat-CFyw2ERn.js`),[]))},{id:`beancount`,name:`Beancount`,import:(()=>J(()=>import(`./beancount-a6Gsu5WX.js`),[]))},{id:`berry`,name:`Berry`,aliases:[`be`],import:(()=>J(()=>import(`./berry-C2jyz4Ah.js`),[]))},{id:`bibtex`,name:`BibTeX`,import:(()=>J(()=>import(`./bibtex-Dyet-B83.js`),[]))},{id:`bicep`,name:`Bicep`,import:(()=>J(()=>import(`./bicep-CghvUIvy.js`),[]))},{id:`bird2`,name:`BIRD2 Configuration`,aliases:[`bird`],import:(()=>J(()=>import(`./bird2-nHigvs-R.js`),[]))},{id:`blade`,name:`Blade`,import:(()=>J(()=>import(`./blade-B804X9BP.js`),__vite__mapDeps([14,2,15,1,3,7,16,8,9])))},{id:`bsl`,name:`1C (Enterprise)`,aliases:[`1c`],import:(()=>J(()=>import(`./bsl-BrHd4RA2.js`),__vite__mapDeps([17,18])))},{id:`c`,name:`C`,import:(()=>J(()=>import(`./c-Cyh0ngfN.js`).then(e=>e.n),[]))},{id:`c3`,name:`C3`,import:(()=>J(()=>import(`./c3-9ZrcmAmr.js`),[]))},{id:`cadence`,name:`Cadence`,aliases:[`cdc`],import:(()=>J(()=>import(`./cadence-BPDgYNWy.js`),[]))},{id:`cairo`,name:`Cairo`,import:(()=>J(()=>import(`./cairo-BDZ6TRZS.js`),__vite__mapDeps([19,20])))},{id:`clarity`,name:`Clarity`,import:(()=>J(()=>import(`./clarity-Cmao5KSK.js`),[]))},{id:`clojure`,name:`Clojure`,aliases:[`clj`],import:(()=>J(()=>import(`./clojure-D2dPuTkk.js`),[]))},{id:`cmake`,name:`CMake`,import:(()=>J(()=>import(`./cmake-DaqQuj4A.js`),[]))},{id:`cobol`,name:`COBOL`,import:(()=>J(()=>import(`./cobol-D0BZ7BzH.js`),__vite__mapDeps([21,1,2,3,9])))},{id:`codeowners`,name:`CODEOWNERS`,import:(()=>J(()=>import(`./codeowners-B748jmvc.js`),[]))},{id:`codeql`,name:`CodeQL`,aliases:[`ql`],import:(()=>J(()=>import(`./codeql-CXb_8gHR.js`),[]))},{id:`coffee`,name:`CoffeeScript`,aliases:[`coffeescript`],import:(()=>J(()=>import(`./coffee-BAPNIyTD.js`),__vite__mapDeps([22,3])))},{id:`common-lisp`,name:`Common Lisp`,aliases:[`lisp`],import:(()=>J(()=>import(`./common-lisp-UZn9nc_5.js`),[]))},{id:`coq`,name:`Coq`,import:(()=>J(()=>import(`./coq-DtO6yBIf.js`),[]))},{id:`cpp`,name:`C++`,aliases:[`c++`],import:(()=>J(()=>import(`./cpp-D54qUqoX.js`).then(e=>e.n),__vite__mapDeps([23,24,25,26,16])))},{id:`crystal`,name:`Crystal`,import:(()=>J(()=>import(`./crystal-BvYuHO8u.js`),__vite__mapDeps([27,25,2,1,3,28,16])))},{id:`csharp`,name:`C#`,aliases:[`c#`,`cs`],import:(()=>J(()=>import(`./csharp-C3YlYcLV.js`),[]))},{id:`css`,name:`CSS`,import:(()=>J(()=>import(`./css-BwYPZ1qE.js`).then(e=>e.n),[]))},{id:`csv`,name:`CSV`,import:(()=>J(()=>import(`./csv-BBwiVr0X.js`),[]))},{id:`cue`,name:`CUE`,import:(()=>J(()=>import(`./cue-ScBFXY5f.js`),[]))},{id:`cypher`,name:`Cypher`,aliases:[`cql`],import:(()=>J(()=>import(`./cypher-CGStaC1X.js`),[]))},{id:`d`,name:`D`,import:(()=>J(()=>import(`./d-CuTCIvnX.js`),[]))},{id:`dart`,name:`Dart`,import:(()=>J(()=>import(`./dart-CqEodbm2.js`),[]))},{id:`dax`,name:`DAX`,import:(()=>J(()=>import(`./dax-UdE5S0Dh.js`),[]))},{id:`desktop`,name:`Desktop`,import:(()=>J(()=>import(`./desktop-DfmsfHJA.js`),[]))},{id:`diff`,name:`Diff`,import:(()=>J(()=>import(`./diff-CW0RWGd9.js`),[]))},{id:`docker`,name:`Dockerfile`,aliases:[`dockerfile`],import:(()=>J(()=>import(`./docker-B1qtW4ha.js`),[]))},{id:`dotenv`,name:`dotEnv`,import:(()=>J(()=>import(`./dotenv-BUzOh1k8.js`),[]))},{id:`dream-maker`,name:`Dream Maker`,import:(()=>J(()=>import(`./dream-maker-CBvk18nW.js`),[]))},{id:`edge`,name:`Edge`,import:(()=>J(()=>import(`./edge-BbeCKm9i.js`),__vite__mapDeps([29,15,1,2,3,13])))},{id:`elixir`,name:`Elixir`,import:(()=>J(()=>import(`./elixir-C2M5DZQF.js`),__vite__mapDeps([30,1,2,3])))},{id:`elm`,name:`Elm`,import:(()=>J(()=>import(`./elm-CwqP8u0T.js`),__vite__mapDeps([31,24,25])))},{id:`emacs-lisp`,name:`Emacs Lisp`,aliases:[`elisp`],import:(()=>J(()=>import(`./emacs-lisp-DvSgLhDc.js`),[]))},{id:`erb`,name:`ERB`,import:(()=>J(()=>import(`./erb-C3C66A5u.js`),__vite__mapDeps([32,1,2,3,33,25,23,24,26,16,34,35,12,13,36,37,28,8,9,38])))},{id:`erlang`,name:`Erlang`,aliases:[`erl`],import:(()=>J(()=>import(`./erlang-cuhwpmsu.js`),__vite__mapDeps([39,40])))},{id:`fennel`,name:`Fennel`,import:(()=>J(()=>import(`./fennel-C-1kWlGf.js`),[]))},{id:`fish`,name:`Fish`,import:(()=>J(()=>import(`./fish-CCpdtwqS.js`),[]))},{id:`fluent`,name:`Fluent`,aliases:[`ftl`],import:(()=>J(()=>import(`./fluent-BLg032oD.js`),[]))},{id:`fortran-fixed-form`,name:`Fortran (Fixed Form)`,aliases:[`f`,`for`,`f77`],import:(()=>J(()=>import(`./fortran-fixed-form-DWr0EnJn.js`),__vite__mapDeps([41,42])))},{id:`fortran-free-form`,name:`Fortran (Free Form)`,aliases:[`f90`,`f95`,`f03`,`f08`,`f18`],import:(()=>J(()=>import(`./fortran-free-form-Br4jRtSc.js`),[]))},{id:`fsharp`,name:`F#`,aliases:[`f#`,`fs`],import:(()=>J(()=>import(`./fsharp-CQ5iYSPA.js`),__vite__mapDeps([43,40])))},{id:`gdresource`,name:`GDResource`,aliases:[`tscn`,`tres`],import:(()=>J(()=>import(`./gdresource-CN-lsNu5.js`),__vite__mapDeps([44,45,46])))},{id:`gdscript`,name:`GDScript`,aliases:[`gd`],import:(()=>J(()=>import(`./gdscript-hSAZM1eh.js`),[]))},{id:`gdshader`,name:`GDShader`,import:(()=>J(()=>import(`./gdshader-D4XNAEs9.js`),[]))},{id:`genie`,name:`Genie`,import:(()=>J(()=>import(`./genie-DmN-ICAN.js`),[]))},{id:`gherkin`,name:`Gherkin`,import:(()=>J(()=>import(`./gherkin-cuHHmRcX.js`),[]))},{id:`git-commit`,name:`Git Commit Message`,import:(()=>J(()=>import(`./git-commit-6e79eN7Q.js`),__vite__mapDeps([47,48])))},{id:`git-rebase`,name:`Git Rebase Message`,import:(()=>J(()=>import(`./git-rebase-BQxiUc18.js`),__vite__mapDeps([49,28])))},{id:`gleam`,name:`Gleam`,import:(()=>J(()=>import(`./gleam-D8VhqPDN.js`),[]))},{id:`glimmer-js`,name:`Glimmer JS`,aliases:[`gjs`],import:(()=>J(()=>import(`./glimmer-js-CSiwvg27.js`),__vite__mapDeps([50,2,1,3,13])))},{id:`glimmer-ts`,name:`Glimmer TS`,aliases:[`gts`],import:(()=>J(()=>import(`./glimmer-ts-Dpvu35Rk.js`),__vite__mapDeps([51,2,1,3,13])))},{id:`glsl`,name:`GLSL`,import:(()=>J(()=>import(`./glsl-DusmoVD0.js`).then(e=>e.n),__vite__mapDeps([24,25])))},{id:`gn`,name:`GN`,import:(()=>J(()=>import(`./gn-BjGRlX27.js`),[]))},{id:`gnuplot`,name:`Gnuplot`,import:(()=>J(()=>import(`./gnuplot-BZCXuE4q.js`),[]))},{id:`go`,name:`Go`,import:(()=>J(()=>import(`./go-BJpWXZEs.js`),[]))},{id:`graphql`,name:`GraphQL`,aliases:[`gql`],import:(()=>J(()=>import(`./graphql-B4CCj0BK.js`).then(e=>e.n),__vite__mapDeps([34,3,35,12,13])))},{id:`groovy`,name:`Groovy`,import:(()=>J(()=>import(`./groovy-D9w3Dn-z.js`),[]))},{id:`hack`,name:`Hack`,import:(()=>J(()=>import(`./hack-BNgw8w6u.js`),__vite__mapDeps([52,1,2,3,16])))},{id:`haml`,name:`Ruby Haml`,import:(()=>J(()=>import(`./haml-BhHHy_kW.js`).then(e=>e.n),__vite__mapDeps([36,2,3])))},{id:`handlebars`,name:`Handlebars`,aliases:[`hbs`],import:(()=>J(()=>import(`./handlebars-BBUsDvYG.js`),__vite__mapDeps([53,2,1,3,38])))},{id:`haskell`,name:`Haskell`,aliases:[`hs`],import:(()=>J(()=>import(`./haskell-DqDdKEgk.js`),[]))},{id:`haxe`,name:`Haxe`,import:(()=>J(()=>import(`./haxe-DMg0jS3a.js`),[]))},{id:`hcl`,name:`HashiCorp HCL`,import:(()=>J(()=>import(`./hcl-SZIZUK_X.js`),[]))},{id:`hjson`,name:`Hjson`,import:(()=>J(()=>import(`./hjson-DF1VspiE.js`),[]))},{id:`hlsl`,name:`HLSL`,import:(()=>J(()=>import(`./hlsl-DPe9L0Dt.js`),[]))},{id:`html`,name:`HTML`,import:(()=>J(()=>import(`./html-DMohn6Yq.js`).then(e=>e.n),__vite__mapDeps([1,2,3])))},{id:`html-derivative`,name:`HTML (Derivative)`,import:(()=>J(()=>import(`./html-derivative-BY6zEZAg.js`),__vite__mapDeps([15,1,2,3])))},{id:`http`,name:`HTTP`,import:(()=>J(()=>import(`./http-BHAVGGfJ.js`),__vite__mapDeps([54,34,3,35,12,13,7,28,8,9])))},{id:`hurl`,name:`Hurl`,import:(()=>J(()=>import(`./hurl-B2q8TNaP.js`),__vite__mapDeps([55,56,34,3,35,12,13,8,9])))},{id:`hxml`,name:`HXML`,import:(()=>J(()=>import(`./hxml-nwJci6H5.js`),__vite__mapDeps([57,58])))},{id:`hy`,name:`Hy`,import:(()=>J(()=>import(`./hy-B0f-B1mH.js`),[]))},{id:`imba`,name:`Imba`,import:(()=>J(()=>import(`./imba-Bq3j1cW5.js`),[]))},{id:`ini`,name:`INI`,aliases:[`properties`],import:(()=>J(()=>import(`./ini-BayloP2U.js`),[]))},{id:`java`,name:`Java`,import:(()=>J(()=>import(`./java-DHj6gaNP.js`).then(e=>e.n),[]))},{id:`javascript`,name:`JavaScript`,aliases:[`js`,`cjs`,`mjs`],import:(()=>J(()=>import(`./javascript-CbF7u-DE.js`).then(e=>e.n),[]))},{id:`jinja`,name:`Jinja`,import:(()=>J(()=>import(`./jinja-MOxap5pr.js`),__vite__mapDeps([59,1,2,3])))},{id:`jison`,name:`Jison`,import:(()=>J(()=>import(`./jison-XUjMP-LK.js`),__vite__mapDeps([60,3])))},{id:`json`,name:`JSON`,import:(()=>J(()=>import(`./json-7vp-fS_h.js`).then(e=>e.n),[]))},{id:`json5`,name:`JSON5`,import:(()=>J(()=>import(`./json5-CRSfdIrY.js`),[]))},{id:`jsonc`,name:`JSON with Comments`,import:(()=>J(()=>import(`./jsonc-y4g9DQPx.js`),[]))},{id:`jsonl`,name:`JSON Lines`,import:(()=>J(()=>import(`./jsonl-D2paVn9r.js`),[]))},{id:`jsonnet`,name:`Jsonnet`,import:(()=>J(()=>import(`./jsonnet-CLH27mtz.js`),[]))},{id:`jssm`,name:`JSSM`,aliases:[`fsl`],import:(()=>J(()=>import(`./jssm-CPPYaqX-.js`),[]))},{id:`jsx`,name:`JSX`,import:(()=>J(()=>import(`./jsx-BgiCPhz9.js`).then(e=>e.n),[]))},{id:`julia`,name:`Julia`,aliases:[`jl`],import:(()=>J(()=>import(`./julia-DADvZSF3.js`),__vite__mapDeps([61,23,24,25,26,16,3,20,62])))},{id:`just`,name:`Just`,import:(()=>J(()=>import(`./just-BS3xPvUT.js`),__vite__mapDeps([63,3,64,2,1,16,8,9,20,33,25,23,24,26,34,35,12,13,36,37,28,38])))},{id:`kdl`,name:`KDL`,import:(()=>J(()=>import(`./kdl-D1BQjjnw.js`),[]))},{id:`kotlin`,name:`Kotlin`,aliases:[`kt`,`kts`],import:(()=>J(()=>import(`./kotlin-ndCaDnf0.js`),[]))},{id:`kusto`,name:`Kusto`,aliases:[`kql`],import:(()=>J(()=>import(`./kusto-D-4nbkD3.js`),[]))},{id:`latex`,name:`LaTeX`,import:(()=>J(()=>import(`./latex-C_QvolBN.js`),__vite__mapDeps([65,66,62])))},{id:`lean`,name:`Lean 4`,aliases:[`lean4`],import:(()=>J(()=>import(`./lean-YmtAsB0p.js`),[]))},{id:`less`,name:`Less`,import:(()=>J(()=>import(`./less-DyHub3ow.js`),[]))},{id:`liquid`,name:`Liquid`,import:(()=>J(()=>import(`./liquid-CL0UH-ot.js`),__vite__mapDeps([67,2,1,3,7])))},{id:`llvm`,name:`LLVM IR`,import:(()=>J(()=>import(`./llvm-DCcqrY0D.js`),[]))},{id:`log`,name:`Log file`,import:(()=>J(()=>import(`./log-DWAAMNbe.js`),[]))},{id:`logo`,name:`Logo`,import:(()=>J(()=>import(`./logo-ClQMGkNL.js`),[]))},{id:`lua`,name:`Lua`,import:(()=>J(()=>import(`./lua-DlAyxrVn.js`).then(e=>e.n),__vite__mapDeps([37,25])))},{id:`luau`,name:`Luau`,import:(()=>J(()=>import(`./luau-CmcXFvLt.js`),[]))},{id:`make`,name:`Makefile`,aliases:[`makefile`],import:(()=>J(()=>import(`./make-DcfJyUzm.js`),[]))},{id:`markdown`,name:`Markdown`,aliases:[`md`],import:(()=>J(()=>import(`./markdown-DXxotAxn.js`),[]))},{id:`marko`,name:`Marko`,import:(()=>J(()=>import(`./marko-6e-PRCyy.js`),__vite__mapDeps([68,2,69,5,13])))},{id:`matlab`,name:`MATLAB`,import:(()=>J(()=>import(`./matlab-BlfbTznR.js`),[]))},{id:`mdc`,name:`MDC`,import:(()=>J(()=>import(`./mdc-BbLfT_IA.js`),__vite__mapDeps([70,15,1,2,3,40,38])))},{id:`mdx`,name:`MDX`,import:(()=>J(()=>import(`./mdx-H8fyPQd8.js`),[]))},{id:`mermaid`,name:`Mermaid`,aliases:[`mmd`],import:(()=>J(()=>import(`./mermaid-CWAV2dmV.js`),[]))},{id:`mipsasm`,name:`MIPS Assembly`,aliases:[`mips`],import:(()=>J(()=>import(`./mipsasm-BWYFAm2s.js`),[]))},{id:`mojo`,name:`Mojo`,import:(()=>J(()=>import(`./mojo-DZcPJEIN.js`),[]))},{id:`moonbit`,name:`MoonBit`,aliases:[`mbt`,`mbti`],import:(()=>J(()=>import(`./moonbit-6eslNlJL.js`),[]))},{id:`move`,name:`Move`,import:(()=>J(()=>import(`./move-DxFc9-QU.js`),[]))},{id:`narrat`,name:`Narrat Language`,aliases:[`nar`],import:(()=>J(()=>import(`./narrat-gv38dJOT.js`),[]))},{id:`nextflow`,name:`Nextflow`,aliases:[`nf`],import:(()=>J(()=>import(`./nextflow-DSfydIxt.js`),__vite__mapDeps([71,72])))},{id:`nextflow-groovy`,name:`nextflow-groovy`,import:(()=>J(()=>import(`./nextflow-groovy-DV4H3hok.js`),[]))},{id:`nginx`,name:`Nginx`,import:(()=>J(()=>import(`./nginx-CoBWheEf.js`),__vite__mapDeps([73,37,25])))},{id:`nim`,name:`Nim`,import:(()=>J(()=>import(`./nim-2_Wea-mV.js`),__vite__mapDeps([74,25,2,24,1,3,40,8,9])))},{id:`nix`,name:`Nix`,import:(()=>J(()=>import(`./nix-NlOz3HGM.js`),[]))},{id:`nushell`,name:`nushell`,aliases:[`nu`],import:(()=>J(()=>import(`./nushell-D86Z8aFF.js`),[]))},{id:`objective-c`,name:`Objective-C`,aliases:[`objc`],import:(()=>J(()=>import(`./objective-c-iuJvUjCv.js`),[]))},{id:`objective-cpp`,name:`Objective-C++`,import:(()=>J(()=>import(`./objective-cpp-C62JvfMT.js`),[]))},{id:`ocaml`,name:`OCaml`,import:(()=>J(()=>import(`./ocaml-Rbryo9lg.js`),[]))},{id:`odin`,name:`Odin`,import:(()=>J(()=>import(`./odin-CfaOVNP_.js`),[]))},{id:`openscad`,name:`OpenSCAD`,aliases:[`scad`],import:(()=>J(()=>import(`./openscad-DCRhgheK.js`),[]))},{id:`pascal`,name:`Pascal`,import:(()=>J(()=>import(`./pascal-CTesTHtV.js`),[]))},{id:`perl`,name:`Perl`,import:(()=>J(()=>import(`./perl-SkTVK0CC.js`),__vite__mapDeps([64,2,1,3,16,8,9])))},{id:`php`,name:`PHP`,import:(()=>J(()=>import(`./php-C2cF2oJ6.js`),__vite__mapDeps([75,2,1,3,7,16,8,9])))},{id:`pkl`,name:`Pkl`,import:(()=>J(()=>import(`./pkl-BjUMjQkt.js`),[]))},{id:`plsql`,name:`PL/SQL`,import:(()=>J(()=>import(`./plsql-BgKEZSSo.js`),[]))},{id:`po`,name:`Gettext PO`,aliases:[`pot`,`potx`],import:(()=>J(()=>import(`./po-C5s_CVt8.js`),[]))},{id:`polar`,name:`Polar`,import:(()=>J(()=>import(`./polar-y4hX8qM0.js`),[]))},{id:`postcss`,name:`PostCSS`,import:(()=>J(()=>import(`./postcss-BHCm7Qae.js`),[]))},{id:`powerquery`,name:`PowerQuery`,import:(()=>J(()=>import(`./powerquery-C2vMt8aZ.js`),[]))},{id:`powershell`,name:`PowerShell`,aliases:[`ps`,`ps1`],import:(()=>J(()=>import(`./powershell-DEcjmg1c.js`),[]))},{id:`prisma`,name:`Prisma`,import:(()=>J(()=>import(`./prisma-Ba-Tcxy5.js`),[]))},{id:`prolog`,name:`Prolog`,import:(()=>J(()=>import(`./prolog-B4o261Jv.js`),[]))},{id:`proto`,name:`Protocol Buffer 3`,aliases:[`protobuf`],import:(()=>J(()=>import(`./proto-o3IZKiMR.js`),[]))},{id:`pug`,name:`Pug`,aliases:[`jade`],import:(()=>J(()=>import(`./pug-C01v9yeE.js`),__vite__mapDeps([76,2,1,3])))},{id:`puppet`,name:`Puppet`,import:(()=>J(()=>import(`./puppet-BC0dqZ31.js`),[]))},{id:`purescript`,name:`PureScript`,import:(()=>J(()=>import(`./purescript-CLDw1y5G.js`),[]))},{id:`python`,name:`Python`,aliases:[`py`],import:(()=>J(()=>import(`./python-D1NFioGW.js`),[]))},{id:`qml`,name:`QML`,import:(()=>J(()=>import(`./qml-CCP9ULJs.js`),__vite__mapDeps([77,3])))},{id:`qmldir`,name:`QML Directory`,import:(()=>J(()=>import(`./qmldir-B7i9e9Vn.js`),[]))},{id:`qss`,name:`Qt Style Sheets`,import:(()=>J(()=>import(`./qss-DIe6oKX8.js`),[]))},{id:`r`,name:`R`,import:(()=>J(()=>import(`./r-DDJJP6PS.js`).then(e=>e.n),[]))},{id:`racket`,name:`Racket`,import:(()=>J(()=>import(`./racket-CAOC_yyk.js`),[]))},{id:`raku`,name:`Raku`,aliases:[`perl6`],import:(()=>J(()=>import(`./raku-Ccua3vW6.js`),[]))},{id:`razor`,name:`ASP.NET Razor`,import:(()=>J(()=>import(`./razor-DKBWfXRk.js`),__vite__mapDeps([78,79,1,2,3])))},{id:`reg`,name:`Windows Registry Script`,import:(()=>J(()=>import(`./reg-CAYZT9kE.js`),[]))},{id:`regexp`,name:`RegExp`,aliases:[`regex`],import:(()=>J(()=>import(`./regexp-DOe8oQhc.js`).then(e=>e.n),[]))},{id:`rel`,name:`Rel`,import:(()=>J(()=>import(`./rel-cvB6F5nO.js`),[]))},{id:`riscv`,name:`RISC-V`,import:(()=>J(()=>import(`./riscv-SYGtE4EN.js`),[]))},{id:`ron`,name:`RON`,import:(()=>J(()=>import(`./ron-CRt869SB.js`),[]))},{id:`rosmsg`,name:`ROS Interface`,import:(()=>J(()=>import(`./rosmsg-BwrfJ66Z.js`),[]))},{id:`rst`,name:`reStructuredText`,import:(()=>J(()=>import(`./rst-KHKSB4M-.js`),__vite__mapDeps([80,81,23,24,25,26,16,15,1,2,3,20,33,34,35,12,13,36,37,28,8,9,38])))},{id:`ruby`,name:`Ruby`,aliases:[`rb`],import:(()=>J(()=>import(`./ruby-3gO1sivg.js`),__vite__mapDeps([33,25,23,24,26,16,2,34,3,35,12,13,36,1,37,28,8,9,38])))},{id:`rust`,name:`Rust`,aliases:[`rs`],import:(()=>J(()=>import(`./rust-DCKTTPxN.js`),[]))},{id:`sas`,name:`SAS`,import:(()=>J(()=>import(`./sas-D1u2TkIr.js`),__vite__mapDeps([82,16])))},{id:`sass`,name:`Sass`,import:(()=>J(()=>import(`./sass-CorcwySt.js`),[]))},{id:`scala`,name:`Scala`,import:(()=>J(()=>import(`./scala-DlI-OmYj.js`),[]))},{id:`scheme`,name:`Scheme`,import:(()=>J(()=>import(`./scheme-CcNEGkZH.js`),[]))},{id:`scss`,name:`SCSS`,import:(()=>J(()=>import(`./scss-C__x0Kwu.js`).then(e=>e.n),__vite__mapDeps([5,2])))},{id:`sdbl`,name:`1C (Query)`,aliases:[`1c-query`],import:(()=>J(()=>import(`./sdbl-AL_m-RO_.js`),[]))},{id:`shaderlab`,name:`ShaderLab`,aliases:[`shader`],import:(()=>J(()=>import(`./shaderlab-CbbQwRPF.js`),__vite__mapDeps([83,84])))},{id:`shellscript`,name:`Shell`,aliases:[`bash`,`sh`,`shell`,`zsh`],import:(()=>J(()=>import(`./shellscript-YrQZ5Lwf.js`).then(e=>e.n),[]))},{id:`shellsession`,name:`Shell Session`,aliases:[`console`],import:(()=>J(()=>import(`./shellsession-CoF5Zc6A.js`),__vite__mapDeps([85,28])))},{id:`smalltalk`,name:`Smalltalk`,import:(()=>J(()=>import(`./smalltalk-Y2ogrfbk.js`),[]))},{id:`solidity`,name:`Solidity`,import:(()=>J(()=>import(`./solidity-Bfbm9QZQ.js`),[]))},{id:`soy`,name:`Closure Templates`,aliases:[`closure-templates`],import:(()=>J(()=>import(`./soy-BKqc8OYl.js`),__vite__mapDeps([86,1,2,3])))},{id:`sparql`,name:`SPARQL`,import:(()=>J(()=>import(`./sparql-DEoxFJ5d.js`),__vite__mapDeps([87,88])))},{id:`splunk`,name:`Splunk Query Language`,aliases:[`spl`],import:(()=>J(()=>import(`./splunk-6DJA2XFa.js`),[]))},{id:`sql`,name:`SQL`,import:(()=>J(()=>import(`./sql-D3MVYjA_.js`).then(e=>e.n),[]))},{id:`ssh-config`,name:`SSH Config`,import:(()=>J(()=>import(`./ssh-config-CbQtdF-u.js`),[]))},{id:`stata`,name:`Stata`,import:(()=>J(()=>import(`./stata-BqvSK3te.js`),__vite__mapDeps([89,16])))},{id:`stylus`,name:`Stylus`,aliases:[`styl`],import:(()=>J(()=>import(`./stylus-B_iq45Sj.js`),[]))},{id:`surrealql`,name:`SurrealQL`,aliases:[`surql`],import:(()=>J(()=>import(`./surrealql-BhWLIqpd.js`),__vite__mapDeps([90,3])))},{id:`svelte`,name:`Svelte`,import:(()=>J(()=>import(`./svelte-DNNWxYsj.js`),__vite__mapDeps([91,2,3,11,13])))},{id:`swift`,name:`Swift`,import:(()=>J(()=>import(`./swift-C7KIgN-p.js`),[]))},{id:`system-verilog`,name:`SystemVerilog`,import:(()=>J(()=>import(`./system-verilog-C3G9wERd.js`),[]))},{id:`systemd`,name:`Systemd Units`,import:(()=>J(()=>import(`./systemd-CwxGrojj.js`),[]))},{id:`talonscript`,name:`TalonScript`,aliases:[`talon`],import:(()=>J(()=>import(`./talonscript-DqnSo1EO.js`),[]))},{id:`tasl`,name:`Tasl`,import:(()=>J(()=>import(`./tasl-T8ethp86.js`),[]))},{id:`tcl`,name:`Tcl`,import:(()=>J(()=>import(`./tcl-Ccl366o0.js`),[]))},{id:`templ`,name:`Templ`,import:(()=>J(()=>import(`./templ-DdMgSlsy.js`),__vite__mapDeps([92,2,93,3])))},{id:`terraform`,name:`Terraform`,aliases:[`tf`,`tfvars`],import:(()=>J(()=>import(`./terraform-BBf6ZI_0.js`),[]))},{id:`tex`,name:`TeX`,import:(()=>J(()=>import(`./tex-B4JFnTVn.js`),__vite__mapDeps([66,62])))},{id:`toml`,name:`TOML`,import:(()=>J(()=>import(`./toml-C5Z_BR4r.js`),[]))},{id:`ts-tags`,name:`TypeScript with Tags`,aliases:[`lit`],import:(()=>J(()=>import(`./ts-tags-BQI5G_ZS.js`),__vite__mapDeps([94,2,24,25,1,3,16,13,8,9])))},{id:`tsv`,name:`TSV`,import:(()=>J(()=>import(`./tsv-rX8sUJs7.js`),[]))},{id:`tsx`,name:`TSX`,import:(()=>J(()=>import(`./tsx-C7qfZi8B.js`).then(e=>e.n),[]))},{id:`turtle`,name:`Turtle`,import:(()=>J(()=>import(`./turtle-BM-MG8WY.js`),[]))},{id:`twig`,name:`Twig`,import:(()=>J(()=>import(`./twig-RWfC7gXX.js`),__vite__mapDeps([95,2,3,75,1,7,16,8,9,20,33,25,23,24,26,34,35,12,13,36,37,28,38,5])))},{id:`typescript`,name:`TypeScript`,aliases:[`ts`,`cts`,`mts`],import:(()=>J(()=>import(`./typescript-aLdMd7mo.js`).then(e=>e.n),[]))},{id:`typespec`,name:`TypeSpec`,aliases:[`tsp`],import:(()=>J(()=>import(`./typespec-C5gKydvR.js`),[]))},{id:`typst`,name:`Typst`,aliases:[`typ`],import:(()=>J(()=>import(`./typst--_5VchrY.js`),[]))},{id:`v`,name:`V`,import:(()=>J(()=>import(`./v-C6PwpmTC.js`),[]))},{id:`vala`,name:`Vala`,import:(()=>J(()=>import(`./vala-4pTaceSj.js`),[]))},{id:`vb`,name:`Visual Basic`,aliases:[`cmd`],import:(()=>J(()=>import(`./vb-DhoR5A6S.js`),[]))},{id:`verilog`,name:`Verilog`,import:(()=>J(()=>import(`./verilog-B9f_1lPn.js`),[]))},{id:`vhdl`,name:`VHDL`,import:(()=>J(()=>import(`./vhdl-Cy4RAmOe.js`),[]))},{id:`viml`,name:`Vim Script`,aliases:[`vim`,`vimscript`],import:(()=>J(()=>import(`./viml-CFQW-CcD.js`),[]))},{id:`vue`,name:`Vue`,import:(()=>J(()=>import(`./vue-BHCbeDIL.js`),__vite__mapDeps([96,2,15,1,3,7,13])))},{id:`vue-html`,name:`Vue HTML`,import:(()=>J(()=>import(`./vue-html-DXTiTIOp.js`),__vite__mapDeps([97,3])))},{id:`vue-vine`,name:`Vue Vine`,import:(()=>J(()=>import(`./vue-vine-CuhsWKNe.js`),__vite__mapDeps([98,2,3,69,11,5,99])))},{id:`vyper`,name:`Vyper`,aliases:[`vy`],import:(()=>J(()=>import(`./vyper-BW5zj9bE.js`),[]))},{id:`wasm`,name:`WebAssembly`,import:(()=>J(()=>import(`./wasm-BigxSLnm.js`),[]))},{id:`wenyan`,name:`Wenyan`,aliases:[`文言`],import:(()=>J(()=>import(`./wenyan-BZzM1SQT.js`),[]))},{id:`wgsl`,name:`WGSL`,import:(()=>J(()=>import(`./wgsl-xBPHbLlq.js`),[]))},{id:`wikitext`,name:`Wikitext`,aliases:[`mediawiki`,`wiki`],import:(()=>J(()=>import(`./wikitext-BXJWUNJK.js`),[]))},{id:`wit`,name:`WebAssembly Interface Types`,import:(()=>J(()=>import(`./wit-2GnUs67P.js`),[]))},{id:`wolfram`,name:`Wolfram`,aliases:[`wl`],import:(()=>J(()=>import(`./wolfram-DIFDmw-g.js`),[]))},{id:`xml`,name:`XML`,import:(()=>J(()=>import(`./xml-Dnahor-u.js`).then(e=>e.n),__vite__mapDeps([8,9])))},{id:`xsl`,name:`XSL`,import:(()=>J(()=>import(`./xsl-DB6zLGtG.js`),__vite__mapDeps([100,8,9])))},{id:`yaml`,name:`YAML`,aliases:[`yml`],import:(()=>J(()=>import(`./yaml-VItgjNOZ.js`).then(e=>e.n),[]))},{id:`zenscript`,name:`ZenScript`,import:(()=>J(()=>import(`./zenscript-DQaUUjbx.js`),[]))},{id:`zig`,name:`Zig`,import:(()=>J(()=>import(`./zig-BDepRvBi.js`),[]))}],Sc=Object.fromEntries(xc.map(e=>[e.id,e.import])),Cc=Object.fromEntries(xc.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),wc={...Sc,...Cc},Tc=Object.fromEntries([{id:`andromeeda`,displayName:`Andromeeda`,type:`dark`,import:(()=>J(()=>import(`./andromeeda-Ch2kWS7s.js`),[]))},{id:`aurora-x`,displayName:`Aurora X`,type:`dark`,import:(()=>J(()=>import(`./aurora-x-BHLqzt7j.js`),[]))},{id:`ayu-dark`,displayName:`Ayu Dark`,type:`dark`,import:(()=>J(()=>import(`./ayu-dark-DCotN_ZT.js`),[]))},{id:`ayu-light`,displayName:`Ayu Light`,type:`light`,import:(()=>J(()=>import(`./ayu-light-CKB6o_im.js`),[]))},{id:`ayu-mirage`,displayName:`Ayu Mirage`,type:`dark`,import:(()=>J(()=>import(`./ayu-mirage-B38lW-C5.js`),[]))},{id:`catppuccin-frappe`,displayName:`Catppuccin Frappé`,type:`dark`,import:(()=>J(()=>import(`./catppuccin-frappe-BY_2ofjk.js`),[]))},{id:`catppuccin-latte`,displayName:`Catppuccin Latte`,type:`light`,import:(()=>J(()=>import(`./catppuccin-latte-D6GXPBmA.js`),[]))},{id:`catppuccin-macchiato`,displayName:`Catppuccin Macchiato`,type:`dark`,import:(()=>J(()=>import(`./catppuccin-macchiato-BuW8_cyo.js`),[]))},{id:`catppuccin-mocha`,displayName:`Catppuccin Mocha`,type:`dark`,import:(()=>J(()=>import(`./catppuccin-mocha-znex9DPe.js`),[]))},{id:`dark-plus`,displayName:`Dark Plus`,type:`dark`,import:(()=>J(()=>import(`./dark-plus-BvePH-r3.js`),[]))},{id:`dracula`,displayName:`Dracula Theme`,type:`dark`,import:(()=>J(()=>import(`./dracula-kJQjC_Gy.js`),[]))},{id:`dracula-soft`,displayName:`Dracula Theme Soft`,type:`dark`,import:(()=>J(()=>import(`./dracula-soft-B3XhEjCl.js`),[]))},{id:`everforest-dark`,displayName:`Everforest Dark`,type:`dark`,import:(()=>J(()=>import(`./everforest-dark-u0zLn75q.js`),[]))},{id:`everforest-light`,displayName:`Everforest Light`,type:`light`,import:(()=>J(()=>import(`./everforest-light-D3syIoAR.js`),[]))},{id:`github-dark`,displayName:`GitHub Dark`,type:`dark`,import:(()=>J(()=>import(`./github-dark-CEBLh0--.js`),[]))},{id:`github-dark-default`,displayName:`GitHub Dark Default`,type:`dark`,import:(()=>J(()=>import(`./github-dark-default-Dq0Z4Xai.js`),[]))},{id:`github-dark-dimmed`,displayName:`GitHub Dark Dimmed`,type:`dark`,import:(()=>J(()=>import(`./github-dark-dimmed-D90YmS4w.js`),[]))},{id:`github-dark-high-contrast`,displayName:`GitHub Dark High Contrast`,type:`dark`,import:(()=>J(()=>import(`./github-dark-high-contrast-B6BWv1iC.js`),[]))},{id:`github-light`,displayName:`GitHub Light`,type:`light`,import:(()=>J(()=>import(`./github-light-lXSVSq5T.js`),[]))},{id:`github-light-default`,displayName:`GitHub Light Default`,type:`light`,import:(()=>J(()=>import(`./github-light-default-DsPWmj4v.js`),[]))},{id:`github-light-high-contrast`,displayName:`GitHub Light High Contrast`,type:`light`,import:(()=>J(()=>import(`./github-light-high-contrast-C7aLb3kp.js`),[]))},{id:`gruvbox-dark-hard`,displayName:`Gruvbox Dark Hard`,type:`dark`,import:(()=>J(()=>import(`./gruvbox-dark-hard-_deksD0U.js`),[]))},{id:`gruvbox-dark-medium`,displayName:`Gruvbox Dark Medium`,type:`dark`,import:(()=>J(()=>import(`./gruvbox-dark-medium-CT31284j.js`),[]))},{id:`gruvbox-dark-soft`,displayName:`Gruvbox Dark Soft`,type:`dark`,import:(()=>J(()=>import(`./gruvbox-dark-soft-BZuEUCbj.js`),[]))},{id:`gruvbox-light-hard`,displayName:`Gruvbox Light Hard`,type:`light`,import:(()=>J(()=>import(`./gruvbox-light-hard-dxv4n_ZS.js`),[]))},{id:`gruvbox-light-medium`,displayName:`Gruvbox Light Medium`,type:`light`,import:(()=>J(()=>import(`./gruvbox-light-medium-BsW_fVfR.js`),[]))},{id:`gruvbox-light-soft`,displayName:`Gruvbox Light Soft`,type:`light`,import:(()=>J(()=>import(`./gruvbox-light-soft-BiGy99gD.js`),[]))},{id:`horizon`,displayName:`Horizon`,type:`dark`,import:(()=>J(()=>import(`./horizon-Ngud75Kn.js`),[]))},{id:`horizon-bright`,displayName:`Horizon Bright`,type:`dark`,import:(()=>J(()=>import(`./horizon-bright-Cnljd0XD.js`),[]))},{id:`houston`,displayName:`Houston`,type:`dark`,import:(()=>J(()=>import(`./houston-BenZxlMr.js`),[]))},{id:`kanagawa-dragon`,displayName:`Kanagawa Dragon`,type:`dark`,import:(()=>J(()=>import(`./kanagawa-dragon-Bt5mhLu1.js`),[]))},{id:`kanagawa-lotus`,displayName:`Kanagawa Lotus`,type:`light`,import:(()=>J(()=>import(`./kanagawa-lotus-FGA3pRJk.js`),[]))},{id:`kanagawa-wave`,displayName:`Kanagawa Wave`,type:`dark`,import:(()=>J(()=>import(`./kanagawa-wave-DnLVZPAD.js`),[]))},{id:`laserwave`,displayName:`LaserWave`,type:`dark`,import:(()=>J(()=>import(`./laserwave-D2qAZkaG.js`),[]))},{id:`light-plus`,displayName:`Light Plus`,type:`light`,import:(()=>J(()=>import(`./light-plus-CP13QUvm.js`),[]))},{id:`material-theme`,displayName:`Material Theme`,type:`dark`,import:(()=>J(()=>import(`./material-theme-JFoPTBSr.js`),[]))},{id:`material-theme-darker`,displayName:`Material Theme Darker`,type:`dark`,import:(()=>J(()=>import(`./material-theme-darker-BHaqZ19v.js`),[]))},{id:`material-theme-lighter`,displayName:`Material Theme Lighter`,type:`light`,import:(()=>J(()=>import(`./material-theme-lighter-CGnnS2bs.js`),[]))},{id:`material-theme-ocean`,displayName:`Material Theme Ocean`,type:`dark`,import:(()=>J(()=>import(`./material-theme-ocean-Drhewjqf.js`),[]))},{id:`material-theme-palenight`,displayName:`Material Theme Palenight`,type:`dark`,import:(()=>J(()=>import(`./material-theme-palenight-DbUypmpb.js`),[]))},{id:`min-dark`,displayName:`Min Dark`,type:`dark`,import:(()=>J(()=>import(`./min-dark-BEelvXUB.js`),[]))},{id:`min-light`,displayName:`Min Light`,type:`light`,import:(()=>J(()=>import(`./min-light-CTPBOACR.js`),[]))},{id:`monokai`,displayName:`Monokai`,type:`dark`,import:(()=>J(()=>import(`./monokai-DQlZXbkg.js`),[]))},{id:`night-owl`,displayName:`Night Owl`,type:`dark`,import:(()=>J(()=>import(`./night-owl-BLcrYhaC.js`),[]))},{id:`night-owl-light`,displayName:`Night Owl Light`,type:`light`,import:(()=>J(()=>import(`./night-owl-light-BG-tBJOz.js`),[]))},{id:`nord`,displayName:`Nord`,type:`dark`,import:(()=>J(()=>import(`./nord-Dm2F5_QB.js`),[]))},{id:`one-dark-pro`,displayName:`One Dark Pro`,type:`dark`,import:(()=>J(()=>import(`./one-dark-pro-DC9SHdX0.js`),[]))},{id:`one-light`,displayName:`One Light`,type:`light`,import:(()=>J(()=>import(`./one-light-Doo39p0H.js`),[]))},{id:`plastic`,displayName:`Plastic`,type:`dark`,import:(()=>J(()=>import(`./plastic-B3CcSpon.js`),[]))},{id:`poimandres`,displayName:`Poimandres`,type:`dark`,import:(()=>J(()=>import(`./poimandres-BsK70ma5.js`),[]))},{id:`red`,displayName:`Red`,type:`dark`,import:(()=>J(()=>import(`./red-DtDH206x.js`),[]))},{id:`rose-pine`,displayName:`Rosé Pine`,type:`dark`,import:(()=>J(()=>import(`./rose-pine-CjBfSJ5b.js`),[]))},{id:`rose-pine-dawn`,displayName:`Rosé Pine Dawn`,type:`light`,import:(()=>J(()=>import(`./rose-pine-dawn-C0xwy7iJ.js`),[]))},{id:`rose-pine-moon`,displayName:`Rosé Pine Moon`,type:`dark`,import:(()=>J(()=>import(`./rose-pine-moon-BSNy9Ty0.js`),[]))},{id:`slack-dark`,displayName:`Slack Dark`,type:`dark`,import:(()=>J(()=>import(`./slack-dark-rMhrfPm6.js`),[]))},{id:`slack-ochin`,displayName:`Slack Ochin`,type:`light`,import:(()=>J(()=>import(`./slack-ochin-9w8X74hU.js`),[]))},{id:`snazzy-light`,displayName:`Snazzy Light`,type:`light`,import:(()=>J(()=>import(`./snazzy-light-DHr9ygpP.js`),[]))},{id:`solarized-dark`,displayName:`Solarized Dark`,type:`dark`,import:(()=>J(()=>import(`./solarized-dark-UPcKev9Q.js`),[]))},{id:`solarized-light`,displayName:`Solarized Light`,type:`light`,import:(()=>J(()=>import(`./solarized-light-DUsjROvl.js`),[]))},{id:`synthwave-84`,displayName:`Synthwave '84`,type:`dark`,import:(()=>J(()=>import(`./synthwave-84-lf_Wt0K_.js`),[]))},{id:`tokyo-night`,displayName:`Tokyo Night`,type:`dark`,import:(()=>J(()=>import(`./tokyo-night-BF5ata25.js`),[]))},{id:`vesper`,displayName:`Vesper`,type:`dark`,import:(()=>J(()=>import(`./vesper-CmBi_iCT.js`),[]))},{id:`vitesse-black`,displayName:`Vitesse Black`,type:`dark`,import:(()=>J(()=>import(`./vitesse-black-CE8RoBJP.js`),[]))},{id:`vitesse-dark`,displayName:`Vitesse Dark`,type:`dark`,import:(()=>J(()=>import(`./vitesse-dark-BpF142p_.js`),[]))},{id:`vitesse-light`,displayName:`Vitesse Light`,type:`light`,import:(()=>J(()=>import(`./vitesse-light-CMwxPBrg.js`),[]))}].map(e=>[e.id,e.import])),Ec=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function Dc(){return 2147483648}function Oc(){return typeof performance<`u`?performance.now():Date.now()}var kc=(e,t)=>e+(t-e%t)%t;async function Ac(e){let t,n,r={};function i(e){n=e,r.HEAPU8=new Uint8Array(e),r.HEAPU32=new Uint32Array(e)}function a(e,t,n){r.HEAPU8.copyWithin(e,t,t+n)}function o(e){try{return t.grow(e-n.byteLength+65535>>>16),i(t.buffer),1}catch{}}function s(e){let t=r.HEAPU8.length;e>>>=0;let n=Dc();if(e>n)return!1;for(let r=1;r<=4;r*=2){let i=t*(1+.2/r);if(i=Math.min(i,e+100663296),o(Math.min(n,kc(Math.max(e,i),65536))))return!0}return!1}let c=typeof TextDecoder<`u`?new TextDecoder(`utf8`):void 0;function l(e,t,n=1024){let r=t+n,i=t;for(;e[i]&&!(i>=r);)++i;if(i-t>16&&e.buffer&&c)return c.decode(e.subarray(t,i));let a=``;for(;t<i;){let n=e[t++];if(!(n&128)){a+=String.fromCharCode(n);continue}let r=e[t++]&63;if((n&224)==192){a+=String.fromCharCode((n&31)<<6|r);continue}let i=e[t++]&63;if(n=(n&240)==224?(n&15)<<12|r<<6|i:(n&7)<<18|r<<12|i<<6|e[t++]&63,n<65536)a+=String.fromCharCode(n);else{let e=n-65536;a+=String.fromCharCode(55296|e>>10,56320|e&1023)}}return a}function u(e,t){return e?l(r.HEAPU8,e,t):``}let d={emscripten_get_now:Oc,emscripten_memcpy_big:a,emscripten_resize_heap:s,fd_write:()=>0};async function f(){let n=await e({env:d,wasi_snapshot_preview1:d});t=n.memory,i(t.buffer),Object.assign(r,n),r.UTF8ToString=u}return await f(),r}var jc=Object.defineProperty,Mc=(e,t,n)=>t in e?jc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Nc=(e,t,n)=>Mc(e,typeof t==`symbol`?t:t+``,n),Pc=null;function Fc(e){throw new Ec(e.UTF8ToString(e.getLastOnigError()))}var Ic=class e{constructor(t){Nc(this,`utf16Length`),Nc(this,`utf8Length`),Nc(this,`utf16Value`),Nc(this,`utf8Value`),Nc(this,`utf16OffsetToUtf8`),Nc(this,`utf8OffsetToUtf16`);let n=t.length,r=e._utf8ByteLength(t),i=r!==n,a=i?new Uint32Array(n+1):null;i&&(a[n]=r);let o=i?new Uint32Array(r+1):null;i&&(o[r]=n);let s=new Uint8Array(r),c=0;for(let e=0;e<n;e++){let r=t.charCodeAt(e),l=r,u=!1;if(r>=55296&&r<=56319&&e+1<n){let n=t.charCodeAt(e+1);n>=56320&&n<=57343&&(l=(r-55296<<10)+65536|n-56320,u=!0)}i&&(a[e]=c,u&&(a[e+1]=c),l<=127?o[c+0]=e:l<=2047?(o[c+0]=e,o[c+1]=e):l<=65535?(o[c+0]=e,o[c+1]=e,o[c+2]=e):(o[c+0]=e,o[c+1]=e,o[c+2]=e,o[c+3]=e)),l<=127?s[c++]=l:l<=2047?(s[c++]=192|(l&1984)>>>6,s[c++]=128|(l&63)>>>0):l<=65535?(s[c++]=224|(l&61440)>>>12,s[c++]=128|(l&4032)>>>6,s[c++]=128|(l&63)>>>0):(s[c++]=240|(l&1835008)>>>18,s[c++]=128|(l&258048)>>>12,s[c++]=128|(l&4032)>>>6,s[c++]=128|(l&63)>>>0),u&&e++}this.utf16Length=n,this.utf8Length=r,this.utf16Value=t,this.utf8Value=s,this.utf16OffsetToUtf8=a,this.utf8OffsetToUtf16=o}static _utf8ByteLength(e){let t=0;for(let n=0,r=e.length;n<r;n++){let i=e.charCodeAt(n),a=i,o=!1;if(i>=55296&&i<=56319&&n+1<r){let t=e.charCodeAt(n+1);t>=56320&&t<=57343&&(a=(i-55296<<10)+65536|t-56320,o=!0)}a<=127?t+=1:a<=2047?t+=2:a<=65535?t+=3:t+=4,o&&n++}return t}createString(e){let t=e.omalloc(this.utf8Length);return e.HEAPU8.set(this.utf8Value,t),t}},Lc=class e{constructor(t){if(Nc(this,`id`,++e.LAST_ID),Nc(this,`_onigBinding`),Nc(this,`content`),Nc(this,`utf16Length`),Nc(this,`utf8Length`),Nc(this,`utf16OffsetToUtf8`),Nc(this,`utf8OffsetToUtf16`),Nc(this,`ptr`),!Pc)throw new Ec(`Must invoke loadWasm first.`);this._onigBinding=Pc,this.content=t;let n=new Ic(t);this.utf16Length=n.utf16Length,this.utf8Length=n.utf8Length,this.utf16OffsetToUtf8=n.utf16OffsetToUtf8,this.utf8OffsetToUtf16=n.utf8OffsetToUtf16,this.utf8Length<1e4&&!e._sharedPtrInUse?(e._sharedPtr||=Pc.omalloc(1e4),e._sharedPtrInUse=!0,Pc.HEAPU8.set(n.utf8Value,e._sharedPtr),this.ptr=e._sharedPtr):this.ptr=n.createString(Pc)}convertUtf8OffsetToUtf16(e){return this.utf8OffsetToUtf16?e<0?0:e>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[e]:e}convertUtf16OffsetToUtf8(e){return this.utf16OffsetToUtf8?e<0?0:e>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[e]:e}dispose(){this.ptr===e._sharedPtr?e._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};Nc(Lc,`LAST_ID`,0),Nc(Lc,`_sharedPtr`,0),Nc(Lc,`_sharedPtrInUse`,!1);var Rc=Lc,zc=class{constructor(e){if(Nc(this,`_onigBinding`),Nc(this,`_ptr`),!Pc)throw new Ec(`Must invoke loadWasm first.`);let t=[],n=[];for(let r=0,i=e.length;r<i;r++){let i=new Ic(e[r]);t[r]=i.createString(Pc),n[r]=i.utf8Length}let r=Pc.omalloc(4*e.length);Pc.HEAPU32.set(t,r/4);let i=Pc.omalloc(4*e.length);Pc.HEAPU32.set(n,i/4);let a=Pc.createOnigScanner(r,i,e.length);for(let n=0,r=e.length;n<r;n++)Pc.ofree(t[n]);Pc.ofree(i),Pc.ofree(r),a===0&&Fc(Pc),this._onigBinding=Pc,this._ptr=a}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(e,t,n){let r=0;if(typeof n==`number`&&(r=n),typeof e==`string`){e=new Rc(e);let n=this._findNextMatchSync(e,t,!1,r);return e.dispose(),n}return this._findNextMatchSync(e,t,!1,r)}_findNextMatchSync(e,t,n,r){let i=this._onigBinding,a=i.findNextOnigScannerMatch(this._ptr,e.id,e.ptr,e.utf8Length,e.convertUtf16OffsetToUtf8(t),r);if(a===0)return null;let o=i.HEAPU32,s=a/4,c=o[s++],l=o[s++],u=[];for(let t=0;t<l;t++){let n=e.convertUtf8OffsetToUtf16(o[s++]),r=e.convertUtf8OffsetToUtf16(o[s++]);u[t]={start:n,end:r,length:r-n}}return{index:c,captureIndices:u}}};function Bc(e){return typeof e.instantiator==`function`}function Vc(e){return typeof e.default==`function`}function Hc(e){return e.data!==void 0}function Uc(e){return typeof Response<`u`&&e instanceof Response}function Wc(e){return typeof ArrayBuffer<`u`&&(e instanceof ArrayBuffer||ArrayBuffer.isView(e))||typeof Buffer<`u`&&Buffer.isBuffer?.(e)||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer||typeof Uint32Array<`u`&&e instanceof Uint32Array}var Gc;function Kc(e){if(Gc)return Gc;async function t(){Pc=await Ac(async t=>{let n=e;return n=await n,typeof n==`function`&&(n=await n(t)),typeof n==`function`&&(n=await n(t)),Bc(n)?n=await n.instantiator(t):Vc(n)?n=await n.default(t):(Hc(n)&&(n=n.data),Uc(n)?n=typeof WebAssembly.instantiateStreaming==`function`?await Jc(n)(t):await Yc(n)(t):Wc(n)||n instanceof WebAssembly.Module?n=await qc(n)(t):`default`in n&&n.default instanceof WebAssembly.Module&&(n=await qc(n.default)(t))),`instance`in n&&(n=n.instance),`exports`in n&&(n=n.exports),n})}return Gc=t(),Gc}function qc(e){return t=>WebAssembly.instantiate(e,t)}function Jc(e){return t=>WebAssembly.instantiateStreaming(e,t)}function Yc(e){return async t=>{let n=await e.arrayBuffer();return WebAssembly.instantiate(n,t)}}async function Xc(e){return e&&await Kc(e),{createScanner(e){return new zc(e.map(e=>typeof e==`string`?e:e.source))},createString(e){return new Rc(e)}}}var Zc=hc({langs:wc,themes:Tc,engine:()=>Xc(J(()=>import(`./wasm-CSccDuAq.js`),[]))}),{codeToHtml:Qc,codeToHast:$c,codeToTokens:el,codeToTokensBase:tl,codeToTokensWithThemes:nl,getSingletonHighlighter:rl,getLastGrammarState:il}=_c(Zc,{guessEmbeddedLanguages:ts});function al(e){if([...e].length!==1)throw Error(`Expected "${e}" to be a single code point`);return e.codePointAt(0)}function ol(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}var sl=new Set([`alnum`,`alpha`,`ascii`,`blank`,`cntrl`,`digit`,`graph`,`lower`,`print`,`punct`,`space`,`upper`,`word`,`xdigit`]),cl=String.raw;function ll(e,t){if(e==null)throw Error(t??`Value expected`);return e}var ul=cl`\[\^?`,dl=`c.? | C(?:-.?)?|${cl`[pP]\{(?:\^?[-\x20_]*[A-Za-z][-\x20\w]*\})?`}|${cl`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${cl`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${cl`o\{[^\}]*\}?`}|${cl`\d{1,3}`}`,fl=/[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/,pl=new RegExp(cl`
21
+ `}));let n={type:`element`,tagName:`span`,properties:{class:`line`},children:[]},r=0;for(let a of e){let e={type:`element`,tagName:`span`,properties:{...a.htmlAttrs},children:[{type:`text`,value:a.content}]},c=cs(a.htmlStyle||ss(a));c&&(e.properties.style=c);for(let o of i)e=o?.span?.call(p,e,t+1,r,n,a)||e;s===`inline`?o.children.push(e):s===`classic`&&n.children.push(e),r+=a.content.length}if(s===`classic`){for(let e of i)n=e?.line?.call(p,n,t+1)||n;f.push(n),a.push(n)}else s===`inline`&&f.push(n)}),s===`classic`){for(let e of i)d=e?.code?.call(p,d)||d;u.children.push(d);for(let e of i)u=e?.pre?.call(p,u)||u;o.children.push(u)}else if(s===`inline`){let e=[],t={type:`element`,tagName:`span`,properties:{class:`line`},children:[]};for(let n of o.children)n.type===`element`&&n.tagName===`br`?(e.push(t),t={type:`element`,tagName:`span`,properties:{class:`line`},children:[]}):(n.type===`element`||n.type===`text`)&&t.children.push(n);e.push(t);let n={type:`element`,tagName:`code`,properties:{},children:e};for(let e of i)n=e?.code?.call(p,n)||n;o.children=[];for(let e=0;e<n.children.length;e++){e>0&&o.children.push({type:`element`,tagName:`br`,properties:{},children:[]});let t=n.children[e];t.type===`element`&&o.children.push(...t.children)}}let m=o;for(let e of i)m=e?.root?.call(p,m)||m;return r&&us(m,r),m}function qs(e){return e.map(e=>{let t=[],n=``,r;return e.forEach((i,a)=>{let o=!(i.fontStyle&&(i.fontStyle&yr.Underline||i.fontStyle&yr.Strikethrough));o&&i.content.match(/^\s+$/)&&e[a+1]?(r===void 0&&(r=i.offset),n+=i.content):n?(o?t.push({...i,offset:r,content:n+i.content}):t.push({content:n,offset:r},i),r=void 0,n=``):t.push(i)}),t})}function Js(e){return e.map(e=>e.flatMap(e=>{if(e.content.match(/^\s+$/))return e;let t=e.content.match(/^(\s*)(.*?)(\s*)$/);if(!t)return e;let[,n,r,i]=t;if(!n&&!i)return e;let a=[{...e,offset:e.offset+n.length,content:r}];return n&&a.unshift({content:n,offset:e.offset}),i&&a.push({content:i,offset:e.offset+n.length+r.length}),a}))}function Ys(e){return e.map(e=>{let t=[];for(let n of e){if(t.length===0){t.push({...n});continue}let e=t[t.length-1],r=cs(e.htmlStyle||ss(e)),i=cs(n.htmlStyle||ss(n)),a=e.fontStyle&&(e.fontStyle&yr.Underline||e.fontStyle&yr.Strikethrough),o=n.fontStyle&&(n.fontStyle&yr.Underline||n.fontStyle&yr.Strikethrough);!a&&!o&&r===i?e.content+=n.content:t.push({...n})}return t})}var Xs=Vo;function Zs(e,t,n){let r={meta:{},options:n,codeToHast:(t,n)=>Gs(e,t,n),codeToTokens:(t,n)=>Us(e,t,n)},i=Xs(Gs(e,t,n,r));for(let e of ys(n))i=e.postprocess?.call(r,i,n)||i;return i}var Qs={light:`#333333`,dark:`#bbbbbb`},$s={light:`#fffffe`,dark:`#1e1e1e`},ec=`__shiki_resolved`;function tc(e){if(e?.[ec])return e;let t={...e};t.tokenColors&&!t.settings&&(t.settings=t.tokenColors,delete t.tokenColors),t.type||=`dark`,t.colorReplacements={...t.colorReplacements},t.settings||=[];let{bg:n,fg:r}=t;if(!n||!r){let e=t.settings?t.settings.find(e=>!e.name&&!e.scope):void 0;e?.settings?.foreground&&(r=e.settings.foreground),e?.settings?.background&&(n=e.settings.background),!r&&t?.colors?.[`editor.foreground`]&&(r=t.colors[`editor.foreground`]),!n&&t?.colors?.[`editor.background`]&&(n=t.colors[`editor.background`]),r||=t.type===`light`?Qs.light:Qs.dark,n||=t.type===`light`?$s.light:$s.dark,t.fg=r,t.bg=n}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let i=0,a=new Map;function o(e){if(a.has(e))return a.get(e);i+=1;let n=`#${i.toString(16).padStart(8,`0`).toLowerCase()}`;return t.colorReplacements?.[`#${n}`]?o(e):(a.set(e,n),n)}t.settings=t.settings.map(e=>{let n=e.settings?.foreground&&!e.settings.foreground.startsWith(`#`),r=e.settings?.background&&!e.settings.background.startsWith(`#`);if(!n&&!r)return e;let i={...e,settings:{...e.settings}};if(n){let n=o(e.settings.foreground);t.colorReplacements[n]=e.settings.foreground,i.settings.foreground=n}if(r){let n=o(e.settings.background);t.colorReplacements[n]=e.settings.background,i.settings.background=n}return i});for(let e of Object.keys(t.colors||{}))if((e===`editor.foreground`||e===`editor.background`||e.startsWith(`terminal.ansi`))&&!t.colors[e]?.startsWith(`#`)){let n=o(t.colors[e]);t.colorReplacements[n]=t.colors[e],t.colors[e]=n}return Object.defineProperty(t,ec,{enumerable:!1,writable:!1,value:!0}),t}async function nc(e){return Array.from(new Set((await Promise.all(e.filter(e=>!Yo(e)).map(async e=>await qo(e).then(e=>Array.isArray(e)?e:[e])))).flat()))}async function rc(e){return(await Promise.all(e.map(async e=>Zo(e)?null:tc(await qo(e))))).filter(e=>!!e)}var ic=3,ac=!1;function oc(e,t=3){if(ic&&!(typeof ic==`number`&&t>ic)){if(ac)throw Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var sc=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function cc(e,t){if(!t)return e;if(t[e]){let n=new Set([e]);for(;t[e];){if(e=t[e],n.has(e))throw new sc(`Circular alias \`${Array.from(n).join(` -> `)} -> ${e}\``);n.add(e)}}return e}var lc=class extends Pi{constructor(e,t,n,r={}){super(e),this._resolver=e,this._themes=t,this._langs=n,this._alias=r,this._themes.map(e=>this.loadTheme(e)),this.loadLanguages(this._langs)}_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;getTheme(e){return typeof e==`string`?this._resolvedThemes.get(e):this.loadTheme(e)}loadTheme(e){let t=tc(e);return t.name&&(this._resolvedThemes.set(t.name,t),this._loadedThemesCache=null),t}getLoadedThemes(){return this._loadedThemesCache||=[...this._resolvedThemes.keys()],this._loadedThemesCache}setTheme(e){let t=this._textmateThemeCache.get(e);t||(t=fr.createFromRawTheme(e),this._textmateThemeCache.set(e,t)),this._syncRegistry.setTheme(t)}getGrammar(e){return e=cc(e,this._alias),this._resolvedGrammars.get(e)}loadLanguage(e){if(this.getGrammar(e.name))return;let t=new Set([...this._langMap.values()].filter(t=>t.embeddedLangsLazy?.includes(e.name)));this._resolver.addLanguage(e);let n={balancedBracketSelectors:e.balancedBracketSelectors||[`*`],unbalancedBracketSelectors:e.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(e.scopeName,e);let r=this.loadGrammarWithConfiguration(e.scopeName,1,n);if(r.name=e.name,this._resolvedGrammars.set(e.name,r),e.aliases&&e.aliases.forEach(t=>{this._alias[t]=e.name}),this._loadedLanguagesCache=null,t.size)for(let e of t)this._resolvedGrammars.delete(e.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(e.scopeName),this._syncRegistry?._grammars?.delete(e.scopeName),this.loadLanguage(this._langMap.get(e.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(e){for(let t of e)this.resolveEmbeddedLanguages(t);let t=Array.from(this._langGraph.entries()),n=t.filter(([e,t])=>!t);if(n.length){let e=t.filter(([e,t])=>t?(t.embeddedLanguages||t.embeddedLangs)?.some(e=>n.map(([e])=>e).includes(e)):!1).filter(e=>!n.includes(e));throw new sc(`Missing languages ${n.map(([e])=>`\`${e}\``).join(`, `)}, required by ${e.map(([e])=>`\`${e}\``).join(`, `)}`)}for(let[e,n]of t)this._resolver.addLanguage(n);for(let[e,n]of t)this.loadLanguage(n)}getLoadedLanguages(){return this._loadedLanguagesCache||=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])],this._loadedLanguagesCache}resolveEmbeddedLanguages(e){this._langMap.set(e.name,e),this._langGraph.set(e.name,e);let t=e.embeddedLanguages??e.embeddedLangs;if(t)for(let e of t)this._langGraph.set(e,this._langMap.get(e))}},uc=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(e,t){this._onigLib={createOnigScanner:t=>e.createScanner(t),createOnigString:t=>e.createString(t)},t.forEach(e=>this.addLanguage(e))}get onigLib(){return this._onigLib}getLangRegistration(e){return this._langs.get(e)}loadGrammar(e){return this._scopeToLang.get(e)}addLanguage(e){this._langs.set(e.name,e),e.aliases&&e.aliases.forEach(t=>{this._langs.set(t,e)}),this._scopeToLang.set(e.scopeName,e),e.injectTo&&e.injectTo.forEach(t=>{this._injections.get(t)||this._injections.set(t,[]),this._injections.get(t).push(e.scopeName)})}getInjections(e){let t=e.split(`.`),n=[];for(let e=1;e<=t.length;e++){let r=t.slice(0,e).join(`.`);n=[...n,...this._injections.get(r)||[]]}return n}},dc=0;function fc(e){dc+=1,e.warnings!==!1&&dc>=10&&dc%10==0&&console.warn(`[Shiki] ${dc} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let t=!1;if(!e.engine)throw new sc("`engine` option is required for synchronous mode");let n=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(tc),i=new lc(new uc(e.engine,n),r,n,e.langAlias),a;function o(t){return cc(t,e.langAlias)}function s(e){g();let t=i.getGrammar(typeof e==`string`?e:e.name);if(!t)throw new sc(`Language \`${e}\` not found, you may need to load it first`);return t}function c(e){if(e===`none`)return{bg:``,fg:``,name:`none`,settings:[],type:`dark`};g();let t=i.getTheme(e);if(!t)throw new sc(`Theme \`${e}\` not found, you may need to load it first`);return t}function l(e){g();let t=c(e);return a!==e&&(i.setTheme(t),a=e),{theme:t,colorMap:i.getColorMap()}}function u(){return g(),i.getLoadedThemes()}function d(){return g(),i.getLoadedLanguages()}function f(...e){g(),i.loadLanguages(e.flat(1))}async function p(...e){return f(await nc(e))}function m(...e){g();for(let t of e.flat(1))i.loadTheme(t)}async function h(...e){return g(),m(await rc(e))}function g(){if(t)throw new sc(`Shiki instance has been disposed`)}function _(){t||(t=!0,i.dispose(),--dc)}return{setTheme:l,getTheme:c,getLanguage:s,getLoadedThemes:u,getLoadedLanguages:d,resolveLangAlias:o,loadLanguage:p,loadLanguageSync:f,loadTheme:h,loadThemeSync:m,dispose:_,[Symbol.dispose]:_}}async function pc(e){e.engine||oc("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,n,r]=await Promise.all([rc(e.themes||[]),nc(e.langs||[]),e.engine]);return fc({...e,themes:t,langs:n,engine:r})}async function mc(e){let t=await pc(e);return{getLastGrammarState:(...e)=>Ns(t,...e),codeToTokensBase:(e,n)=>Ms(t,e,n),codeToTokensWithThemes:(e,n)=>Vs(t,e,n),codeToTokens:(e,n)=>Us(t,e,n),codeToHast:(e,n)=>Gs(t,e,n),codeToHtml:(e,n)=>Zs(t,e,n),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function hc(e){let t=e.langs,n=e.themes,r=e.engine;async function i(e){function i(n){if(typeof n==`string`){if(n=e.langAlias?.[n]||n,Yo(n))return[];let r=t[n];if(!r)throw new Qn(`Language \`${n}\` is not included in this bundle. You may want to load it from external source.`);return r}return n}function a(e){if(Zo(e))return`none`;if(typeof e==`string`){let t=n[e];if(!t)throw new Qn(`Theme \`${e}\` is not included in this bundle. You may want to load it from external source.`);return t}return e}let o=(e.themes??[]).map(e=>a(e)),s=(e.langs??[]).map(e=>i(e)),c=await mc({engine:e.engine??r(),...e,themes:o,langs:s});return{...c,loadLanguage(...e){return c.loadLanguage(...e.map(i))},loadTheme(...e){return c.loadTheme(...e.map(a))},getBundledLanguages(){return t},getBundledThemes(){return n}}}return i}function gc(e){let t;async function n(n={}){if(t){let e=await t;return await Promise.all([e.loadTheme(...n.themes||[]),e.loadLanguage(...n.langs||[])]),e}else{t=e({...n,themes:[],langs:[]});let r=await t;return await Promise.all([r.loadTheme(...n.themes||[]),r.loadLanguage(...n.langs||[])]),r}}return n}function _c(e,t){let n=gc(e);async function r(e,r){let i=await n({langs:[r.lang],themes:`theme`in r?[r.theme]:Object.values(r.themes)}),a=await t?.guessEmbeddedLanguages?.(e,r.lang,i);return a&&await i.loadLanguage(...a),i}return{getSingletonHighlighter(e){return n(e)},async codeToHtml(e,t){return(await r(e,t)).codeToHtml(e,t)},async codeToHast(e,t){return(await r(e,t)).codeToHast(e,t)},async codeToTokens(e,t){return(await r(e,t)).codeToTokens(e,t)},async codeToTokensBase(e,t){return(await r(e,t)).codeToTokensBase(e,t)},async codeToTokensWithThemes(e,t){return(await r(e,t)).codeToTokensWithThemes(e,t)},async getLastGrammarState(e,t){return(await n({langs:[t.lang],themes:[t.theme]})).getLastGrammarState(e,t)}}}var vc=`modulepreload`,yc=function(e){return`/`+e},bc={},J=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=yc(t,n),t in bc)return;bc[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:vc,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},xc=[{id:`abap`,name:`ABAP`,import:(()=>J(()=>import(`./abap-cWYhO34H.js`),[]))},{id:`actionscript-3`,name:`ActionScript`,import:(()=>J(()=>import(`./actionscript-3-B80ndJsD.js`),[]))},{id:`ada`,name:`Ada`,import:(()=>J(()=>import(`./ada-C0C0SoYB.js`),[]))},{id:`angular-html`,name:`Angular HTML`,import:(()=>J(()=>import(`./angular-html-Bn7xcK-X.js`).then(e=>e.n),__vite__mapDeps([0,1,2,3])))},{id:`angular-ts`,name:`Angular TypeScript`,import:(()=>J(()=>import(`./angular-ts-qK80FnOc.js`),__vite__mapDeps([4,0,1,2,3,5])))},{id:`apache`,name:`Apache Conf`,import:(()=>J(()=>import(`./apache-DBwBm4bB.js`),[]))},{id:`apex`,name:`Apex`,import:(()=>J(()=>import(`./apex-FcV7UxQi.js`),[]))},{id:`apl`,name:`APL`,import:(()=>J(()=>import(`./apl-BhBHq9NH.js`),__vite__mapDeps([6,2,1,3,7,8,9])))},{id:`applescript`,name:`AppleScript`,import:(()=>J(()=>import(`./applescript-hQs8VNpS.js`),[]))},{id:`ara`,name:`Ara`,import:(()=>J(()=>import(`./ara-BOadBOZg.js`),[]))},{id:`asciidoc`,name:`AsciiDoc`,aliases:[`adoc`],import:(()=>J(()=>import(`./asciidoc-BsfqiBck.js`),[]))},{id:`asm`,name:`Assembly`,import:(()=>J(()=>import(`./asm-C2vUqzqz.js`),[]))},{id:`astro`,name:`Astro`,import:(()=>J(()=>import(`./astro--A8NjYkS.js`),__vite__mapDeps([10,2,3,7,11,12,13])))},{id:`awk`,name:`AWK`,import:(()=>J(()=>import(`./awk-D4e-eeZT.js`),[]))},{id:`ballerina`,name:`Ballerina`,import:(()=>J(()=>import(`./ballerina-BzvFqbha.js`),[]))},{id:`bat`,name:`Batch File`,aliases:[`batch`],import:(()=>J(()=>import(`./bat-CFyw2ERn.js`),[]))},{id:`beancount`,name:`Beancount`,import:(()=>J(()=>import(`./beancount-a6Gsu5WX.js`),[]))},{id:`berry`,name:`Berry`,aliases:[`be`],import:(()=>J(()=>import(`./berry-C2jyz4Ah.js`),[]))},{id:`bibtex`,name:`BibTeX`,import:(()=>J(()=>import(`./bibtex-Dyet-B83.js`),[]))},{id:`bicep`,name:`Bicep`,import:(()=>J(()=>import(`./bicep-CghvUIvy.js`),[]))},{id:`bird2`,name:`BIRD2 Configuration`,aliases:[`bird`],import:(()=>J(()=>import(`./bird2-nHigvs-R.js`),[]))},{id:`blade`,name:`Blade`,import:(()=>J(()=>import(`./blade-DUJ_WZzW.js`),__vite__mapDeps([14,2,15,1,3,7,16,8,9])))},{id:`bsl`,name:`1C (Enterprise)`,aliases:[`1c`],import:(()=>J(()=>import(`./bsl-BrHd4RA2.js`),__vite__mapDeps([17,18])))},{id:`c`,name:`C`,import:(()=>J(()=>import(`./c-Ddzn0JTQ.js`).then(e=>e.n),[]))},{id:`c3`,name:`C3`,import:(()=>J(()=>import(`./c3-9ZrcmAmr.js`),[]))},{id:`cadence`,name:`Cadence`,aliases:[`cdc`],import:(()=>J(()=>import(`./cadence-BPDgYNWy.js`),[]))},{id:`cairo`,name:`Cairo`,import:(()=>J(()=>import(`./cairo-BDZ6TRZS.js`),__vite__mapDeps([19,20])))},{id:`clarity`,name:`Clarity`,import:(()=>J(()=>import(`./clarity-Cmao5KSK.js`),[]))},{id:`clojure`,name:`Clojure`,aliases:[`clj`],import:(()=>J(()=>import(`./clojure-D2dPuTkk.js`),[]))},{id:`cmake`,name:`CMake`,import:(()=>J(()=>import(`./cmake-DaqQuj4A.js`),[]))},{id:`cobol`,name:`COBOL`,import:(()=>J(()=>import(`./cobol-EaVCzYAO.js`),__vite__mapDeps([21,1,2,3,9])))},{id:`codeowners`,name:`CODEOWNERS`,import:(()=>J(()=>import(`./codeowners-B748jmvc.js`),[]))},{id:`codeql`,name:`CodeQL`,aliases:[`ql`],import:(()=>J(()=>import(`./codeql-CXb_8gHR.js`),[]))},{id:`coffee`,name:`CoffeeScript`,aliases:[`coffeescript`],import:(()=>J(()=>import(`./coffee-CbmPxJhz.js`),__vite__mapDeps([22,3])))},{id:`common-lisp`,name:`Common Lisp`,aliases:[`lisp`],import:(()=>J(()=>import(`./common-lisp-UZn9nc_5.js`),[]))},{id:`coq`,name:`Coq`,import:(()=>J(()=>import(`./coq-DtO6yBIf.js`),[]))},{id:`cpp`,name:`C++`,aliases:[`c++`],import:(()=>J(()=>import(`./cpp-1v8ov4EG.js`).then(e=>e.n),__vite__mapDeps([23,24,25,26,16])))},{id:`crystal`,name:`Crystal`,import:(()=>J(()=>import(`./crystal-B88NqWAb.js`),__vite__mapDeps([27,25,2,1,3,28,16])))},{id:`csharp`,name:`C#`,aliases:[`c#`,`cs`],import:(()=>J(()=>import(`./csharp-C3YlYcLV.js`),[]))},{id:`css`,name:`CSS`,import:(()=>J(()=>import(`./css-QFeW3BCZ.js`).then(e=>e.n),[]))},{id:`csv`,name:`CSV`,import:(()=>J(()=>import(`./csv-BBwiVr0X.js`),[]))},{id:`cue`,name:`CUE`,import:(()=>J(()=>import(`./cue-ScBFXY5f.js`),[]))},{id:`cypher`,name:`Cypher`,aliases:[`cql`],import:(()=>J(()=>import(`./cypher-CGStaC1X.js`),[]))},{id:`d`,name:`D`,import:(()=>J(()=>import(`./d-CuTCIvnX.js`),[]))},{id:`dart`,name:`Dart`,import:(()=>J(()=>import(`./dart-CqEodbm2.js`),[]))},{id:`dax`,name:`DAX`,import:(()=>J(()=>import(`./dax-UdE5S0Dh.js`),[]))},{id:`desktop`,name:`Desktop`,import:(()=>J(()=>import(`./desktop-DfmsfHJA.js`),[]))},{id:`diff`,name:`Diff`,import:(()=>J(()=>import(`./diff-CW0RWGd9.js`),[]))},{id:`docker`,name:`Dockerfile`,aliases:[`dockerfile`],import:(()=>J(()=>import(`./docker-B1qtW4ha.js`),[]))},{id:`dotenv`,name:`dotEnv`,import:(()=>J(()=>import(`./dotenv-BUzOh1k8.js`),[]))},{id:`dream-maker`,name:`Dream Maker`,import:(()=>J(()=>import(`./dream-maker-CBvk18nW.js`),[]))},{id:`edge`,name:`Edge`,import:(()=>J(()=>import(`./edge-5UREsVXQ.js`),__vite__mapDeps([29,15,1,2,3,13])))},{id:`elixir`,name:`Elixir`,import:(()=>J(()=>import(`./elixir-B_Yali6w.js`),__vite__mapDeps([30,1,2,3])))},{id:`elm`,name:`Elm`,import:(()=>J(()=>import(`./elm-STYz8ayI.js`),__vite__mapDeps([31,24,25])))},{id:`emacs-lisp`,name:`Emacs Lisp`,aliases:[`elisp`],import:(()=>J(()=>import(`./emacs-lisp-DvSgLhDc.js`),[]))},{id:`erb`,name:`ERB`,import:(()=>J(()=>import(`./erb-CHRx3Beu.js`),__vite__mapDeps([32,1,2,3,33,25,23,24,26,16,34,35,12,13,36,37,28,8,9,38])))},{id:`erlang`,name:`Erlang`,aliases:[`erl`],import:(()=>J(()=>import(`./erlang-cuhwpmsu.js`),__vite__mapDeps([39,40])))},{id:`fennel`,name:`Fennel`,import:(()=>J(()=>import(`./fennel-C-1kWlGf.js`),[]))},{id:`fish`,name:`Fish`,import:(()=>J(()=>import(`./fish-CCpdtwqS.js`),[]))},{id:`fluent`,name:`Fluent`,aliases:[`ftl`],import:(()=>J(()=>import(`./fluent-BLg032oD.js`),[]))},{id:`fortran-fixed-form`,name:`Fortran (Fixed Form)`,aliases:[`f`,`for`,`f77`],import:(()=>J(()=>import(`./fortran-fixed-form-DWr0EnJn.js`),__vite__mapDeps([41,42])))},{id:`fortran-free-form`,name:`Fortran (Free Form)`,aliases:[`f90`,`f95`,`f03`,`f08`,`f18`],import:(()=>J(()=>import(`./fortran-free-form-Br4jRtSc.js`),[]))},{id:`fsharp`,name:`F#`,aliases:[`f#`,`fs`],import:(()=>J(()=>import(`./fsharp-CQ5iYSPA.js`),__vite__mapDeps([43,40])))},{id:`gdresource`,name:`GDResource`,aliases:[`tscn`,`tres`],import:(()=>J(()=>import(`./gdresource-CN-lsNu5.js`),__vite__mapDeps([44,45,46])))},{id:`gdscript`,name:`GDScript`,aliases:[`gd`],import:(()=>J(()=>import(`./gdscript-hSAZM1eh.js`),[]))},{id:`gdshader`,name:`GDShader`,import:(()=>J(()=>import(`./gdshader-D4XNAEs9.js`),[]))},{id:`genie`,name:`Genie`,import:(()=>J(()=>import(`./genie-DmN-ICAN.js`),[]))},{id:`gherkin`,name:`Gherkin`,import:(()=>J(()=>import(`./gherkin-cuHHmRcX.js`),[]))},{id:`git-commit`,name:`Git Commit Message`,import:(()=>J(()=>import(`./git-commit-6e79eN7Q.js`),__vite__mapDeps([47,48])))},{id:`git-rebase`,name:`Git Rebase Message`,import:(()=>J(()=>import(`./git-rebase-CFmRpmLK.js`),__vite__mapDeps([49,28])))},{id:`gleam`,name:`Gleam`,import:(()=>J(()=>import(`./gleam-D8VhqPDN.js`),[]))},{id:`glimmer-js`,name:`Glimmer JS`,aliases:[`gjs`],import:(()=>J(()=>import(`./glimmer-js-CdrEdtzi.js`),__vite__mapDeps([50,2,1,3,13])))},{id:`glimmer-ts`,name:`Glimmer TS`,aliases:[`gts`],import:(()=>J(()=>import(`./glimmer-ts-CzrwZqCl.js`),__vite__mapDeps([51,2,1,3,13])))},{id:`glsl`,name:`GLSL`,import:(()=>J(()=>import(`./glsl-Cb4XetAc.js`).then(e=>e.n),__vite__mapDeps([24,25])))},{id:`gn`,name:`GN`,import:(()=>J(()=>import(`./gn-BjGRlX27.js`),[]))},{id:`gnuplot`,name:`Gnuplot`,import:(()=>J(()=>import(`./gnuplot-BZCXuE4q.js`),[]))},{id:`go`,name:`Go`,import:(()=>J(()=>import(`./go-BJpWXZEs.js`),[]))},{id:`graphql`,name:`GraphQL`,aliases:[`gql`],import:(()=>J(()=>import(`./graphql-mqi9K2_l.js`).then(e=>e.n),__vite__mapDeps([34,3,35,12,13])))},{id:`groovy`,name:`Groovy`,import:(()=>J(()=>import(`./groovy-D9w3Dn-z.js`),[]))},{id:`hack`,name:`Hack`,import:(()=>J(()=>import(`./hack-DaFJ7htO.js`),__vite__mapDeps([52,1,2,3,16])))},{id:`haml`,name:`Ruby Haml`,import:(()=>J(()=>import(`./haml-Bw7q4nKg.js`).then(e=>e.n),__vite__mapDeps([36,2,3])))},{id:`handlebars`,name:`Handlebars`,aliases:[`hbs`],import:(()=>J(()=>import(`./handlebars-mj81MoXX.js`),__vite__mapDeps([53,2,1,3,38])))},{id:`haskell`,name:`Haskell`,aliases:[`hs`],import:(()=>J(()=>import(`./haskell-DqDdKEgk.js`),[]))},{id:`haxe`,name:`Haxe`,import:(()=>J(()=>import(`./haxe-DMg0jS3a.js`),[]))},{id:`hcl`,name:`HashiCorp HCL`,import:(()=>J(()=>import(`./hcl-SZIZUK_X.js`),[]))},{id:`hjson`,name:`Hjson`,import:(()=>J(()=>import(`./hjson-DF1VspiE.js`),[]))},{id:`hlsl`,name:`HLSL`,import:(()=>J(()=>import(`./hlsl-DPe9L0Dt.js`),[]))},{id:`html`,name:`HTML`,import:(()=>J(()=>import(`./html-LHrj0-2t.js`).then(e=>e.n),__vite__mapDeps([1,2,3])))},{id:`html-derivative`,name:`HTML (Derivative)`,import:(()=>J(()=>import(`./html-derivative-L3_OYrFu.js`),__vite__mapDeps([15,1,2,3])))},{id:`http`,name:`HTTP`,import:(()=>J(()=>import(`./http-DE0OFe2c.js`),__vite__mapDeps([54,34,3,35,12,13,7,28,8,9])))},{id:`hurl`,name:`Hurl`,import:(()=>J(()=>import(`./hurl-CNbk7fqf.js`),__vite__mapDeps([55,56,34,3,35,12,13,8,9])))},{id:`hxml`,name:`HXML`,import:(()=>J(()=>import(`./hxml-nwJci6H5.js`),__vite__mapDeps([57,58])))},{id:`hy`,name:`Hy`,import:(()=>J(()=>import(`./hy-B0f-B1mH.js`),[]))},{id:`imba`,name:`Imba`,import:(()=>J(()=>import(`./imba-Bq3j1cW5.js`),[]))},{id:`ini`,name:`INI`,aliases:[`properties`],import:(()=>J(()=>import(`./ini-BayloP2U.js`),[]))},{id:`java`,name:`Java`,import:(()=>J(()=>import(`./java-DAwMoXxA.js`).then(e=>e.n),[]))},{id:`javascript`,name:`JavaScript`,aliases:[`js`,`cjs`,`mjs`],import:(()=>J(()=>import(`./javascript-_a2prAz7.js`).then(e=>e.n),[]))},{id:`jinja`,name:`Jinja`,import:(()=>J(()=>import(`./jinja-JKFA3bu8.js`),__vite__mapDeps([59,1,2,3])))},{id:`jison`,name:`Jison`,import:(()=>J(()=>import(`./jison-UbTjhW7k.js`),__vite__mapDeps([60,3])))},{id:`json`,name:`JSON`,import:(()=>J(()=>import(`./json-D74F0BDU.js`).then(e=>e.n),[]))},{id:`json5`,name:`JSON5`,import:(()=>J(()=>import(`./json5-CRSfdIrY.js`),[]))},{id:`jsonc`,name:`JSON with Comments`,import:(()=>J(()=>import(`./jsonc-y4g9DQPx.js`),[]))},{id:`jsonl`,name:`JSON Lines`,import:(()=>J(()=>import(`./jsonl-D2paVn9r.js`),[]))},{id:`jsonnet`,name:`Jsonnet`,import:(()=>J(()=>import(`./jsonnet-CLH27mtz.js`),[]))},{id:`jssm`,name:`JSSM`,aliases:[`fsl`],import:(()=>J(()=>import(`./jssm-CPPYaqX-.js`),[]))},{id:`jsx`,name:`JSX`,import:(()=>J(()=>import(`./jsx-BsH2-gDN.js`).then(e=>e.n),[]))},{id:`julia`,name:`Julia`,aliases:[`jl`],import:(()=>J(()=>import(`./julia-DyIO_Gy0.js`),__vite__mapDeps([61,23,24,25,26,16,3,20,62])))},{id:`just`,name:`Just`,import:(()=>J(()=>import(`./just-VQTFAZJr.js`),__vite__mapDeps([63,3,64,2,1,16,8,9,20,33,25,23,24,26,34,35,12,13,36,37,28,38])))},{id:`kdl`,name:`KDL`,import:(()=>J(()=>import(`./kdl-D1BQjjnw.js`),[]))},{id:`kotlin`,name:`Kotlin`,aliases:[`kt`,`kts`],import:(()=>J(()=>import(`./kotlin-ndCaDnf0.js`),[]))},{id:`kusto`,name:`Kusto`,aliases:[`kql`],import:(()=>J(()=>import(`./kusto-D-4nbkD3.js`),[]))},{id:`latex`,name:`LaTeX`,import:(()=>J(()=>import(`./latex-D0ONGfIo.js`),__vite__mapDeps([65,66,62])))},{id:`lean`,name:`Lean 4`,aliases:[`lean4`],import:(()=>J(()=>import(`./lean-YmtAsB0p.js`),[]))},{id:`less`,name:`Less`,import:(()=>J(()=>import(`./less-DyHub3ow.js`),[]))},{id:`liquid`,name:`Liquid`,import:(()=>J(()=>import(`./liquid-BnYpmfMl.js`),__vite__mapDeps([67,2,1,3,7])))},{id:`llvm`,name:`LLVM IR`,import:(()=>J(()=>import(`./llvm-DCcqrY0D.js`),[]))},{id:`log`,name:`Log file`,import:(()=>J(()=>import(`./log-DWAAMNbe.js`),[]))},{id:`logo`,name:`Logo`,import:(()=>J(()=>import(`./logo-ClQMGkNL.js`),[]))},{id:`lua`,name:`Lua`,import:(()=>J(()=>import(`./lua-WlA-m2lC.js`).then(e=>e.n),__vite__mapDeps([37,25])))},{id:`luau`,name:`Luau`,import:(()=>J(()=>import(`./luau-CmcXFvLt.js`),[]))},{id:`make`,name:`Makefile`,aliases:[`makefile`],import:(()=>J(()=>import(`./make-DcfJyUzm.js`),[]))},{id:`markdown`,name:`Markdown`,aliases:[`md`],import:(()=>J(()=>import(`./markdown-DXxotAxn.js`),[]))},{id:`marko`,name:`Marko`,import:(()=>J(()=>import(`./marko-Bd44681W.js`),__vite__mapDeps([68,2,69,5,13])))},{id:`matlab`,name:`MATLAB`,import:(()=>J(()=>import(`./matlab-BlfbTznR.js`),[]))},{id:`mdc`,name:`MDC`,import:(()=>J(()=>import(`./mdc-DhosSoGv.js`),__vite__mapDeps([70,15,1,2,3,40,38])))},{id:`mdx`,name:`MDX`,import:(()=>J(()=>import(`./mdx-H8fyPQd8.js`),[]))},{id:`mermaid`,name:`Mermaid`,aliases:[`mmd`],import:(()=>J(()=>import(`./mermaid-CWAV2dmV.js`),[]))},{id:`mipsasm`,name:`MIPS Assembly`,aliases:[`mips`],import:(()=>J(()=>import(`./mipsasm-BWYFAm2s.js`),[]))},{id:`mojo`,name:`Mojo`,import:(()=>J(()=>import(`./mojo-DZcPJEIN.js`),[]))},{id:`moonbit`,name:`MoonBit`,aliases:[`mbt`,`mbti`],import:(()=>J(()=>import(`./moonbit-6eslNlJL.js`),[]))},{id:`move`,name:`Move`,import:(()=>J(()=>import(`./move-DxFc9-QU.js`),[]))},{id:`narrat`,name:`Narrat Language`,aliases:[`nar`],import:(()=>J(()=>import(`./narrat-gv38dJOT.js`),[]))},{id:`nextflow`,name:`Nextflow`,aliases:[`nf`],import:(()=>J(()=>import(`./nextflow-DSfydIxt.js`),__vite__mapDeps([71,72])))},{id:`nextflow-groovy`,name:`nextflow-groovy`,import:(()=>J(()=>import(`./nextflow-groovy-DV4H3hok.js`),[]))},{id:`nginx`,name:`Nginx`,import:(()=>J(()=>import(`./nginx-sYwNRk-F.js`),__vite__mapDeps([73,37,25])))},{id:`nim`,name:`Nim`,import:(()=>J(()=>import(`./nim-DrXU2tn9.js`),__vite__mapDeps([74,25,2,24,1,3,40,8,9])))},{id:`nix`,name:`Nix`,import:(()=>J(()=>import(`./nix-NlOz3HGM.js`),[]))},{id:`nushell`,name:`nushell`,aliases:[`nu`],import:(()=>J(()=>import(`./nushell-D86Z8aFF.js`),[]))},{id:`objective-c`,name:`Objective-C`,aliases:[`objc`],import:(()=>J(()=>import(`./objective-c-iuJvUjCv.js`),[]))},{id:`objective-cpp`,name:`Objective-C++`,import:(()=>J(()=>import(`./objective-cpp-C62JvfMT.js`),[]))},{id:`ocaml`,name:`OCaml`,import:(()=>J(()=>import(`./ocaml-Rbryo9lg.js`),[]))},{id:`odin`,name:`Odin`,import:(()=>J(()=>import(`./odin-CfaOVNP_.js`),[]))},{id:`openscad`,name:`OpenSCAD`,aliases:[`scad`],import:(()=>J(()=>import(`./openscad-DCRhgheK.js`),[]))},{id:`pascal`,name:`Pascal`,import:(()=>J(()=>import(`./pascal-CTesTHtV.js`),[]))},{id:`perl`,name:`Perl`,import:(()=>J(()=>import(`./perl-TEELuyd-.js`),__vite__mapDeps([64,2,1,3,16,8,9])))},{id:`php`,name:`PHP`,import:(()=>J(()=>import(`./php-Dy_Y1r8j.js`),__vite__mapDeps([75,2,1,3,7,16,8,9])))},{id:`pkl`,name:`Pkl`,import:(()=>J(()=>import(`./pkl-BjUMjQkt.js`),[]))},{id:`plsql`,name:`PL/SQL`,import:(()=>J(()=>import(`./plsql-BgKEZSSo.js`),[]))},{id:`po`,name:`Gettext PO`,aliases:[`pot`,`potx`],import:(()=>J(()=>import(`./po-C5s_CVt8.js`),[]))},{id:`polar`,name:`Polar`,import:(()=>J(()=>import(`./polar-y4hX8qM0.js`),[]))},{id:`postcss`,name:`PostCSS`,import:(()=>J(()=>import(`./postcss-BHCm7Qae.js`),[]))},{id:`powerquery`,name:`PowerQuery`,import:(()=>J(()=>import(`./powerquery-C2vMt8aZ.js`),[]))},{id:`powershell`,name:`PowerShell`,aliases:[`ps`,`ps1`],import:(()=>J(()=>import(`./powershell-DEcjmg1c.js`),[]))},{id:`prisma`,name:`Prisma`,import:(()=>J(()=>import(`./prisma-Ba-Tcxy5.js`),[]))},{id:`prolog`,name:`Prolog`,import:(()=>J(()=>import(`./prolog-B4o261Jv.js`),[]))},{id:`proto`,name:`Protocol Buffer 3`,aliases:[`protobuf`],import:(()=>J(()=>import(`./proto-o3IZKiMR.js`),[]))},{id:`pug`,name:`Pug`,aliases:[`jade`],import:(()=>J(()=>import(`./pug-vancrY0a.js`),__vite__mapDeps([76,2,1,3])))},{id:`puppet`,name:`Puppet`,import:(()=>J(()=>import(`./puppet-BC0dqZ31.js`),[]))},{id:`purescript`,name:`PureScript`,import:(()=>J(()=>import(`./purescript-CLDw1y5G.js`),[]))},{id:`python`,name:`Python`,aliases:[`py`],import:(()=>J(()=>import(`./python-D1NFioGW.js`),[]))},{id:`qml`,name:`QML`,import:(()=>J(()=>import(`./qml-BA5z-zbf.js`),__vite__mapDeps([77,3])))},{id:`qmldir`,name:`QML Directory`,import:(()=>J(()=>import(`./qmldir-B7i9e9Vn.js`),[]))},{id:`qss`,name:`Qt Style Sheets`,import:(()=>J(()=>import(`./qss-DIe6oKX8.js`),[]))},{id:`r`,name:`R`,import:(()=>J(()=>import(`./r-BR0O4N-s.js`).then(e=>e.n),[]))},{id:`racket`,name:`Racket`,import:(()=>J(()=>import(`./racket-CAOC_yyk.js`),[]))},{id:`raku`,name:`Raku`,aliases:[`perl6`],import:(()=>J(()=>import(`./raku-Ccua3vW6.js`),[]))},{id:`razor`,name:`ASP.NET Razor`,import:(()=>J(()=>import(`./razor-DXiNCb-5.js`),__vite__mapDeps([78,79,1,2,3])))},{id:`reg`,name:`Windows Registry Script`,import:(()=>J(()=>import(`./reg-CAYZT9kE.js`),[]))},{id:`regexp`,name:`RegExp`,aliases:[`regex`],import:(()=>J(()=>import(`./regexp-BhjJa9MI.js`).then(e=>e.n),[]))},{id:`rel`,name:`Rel`,import:(()=>J(()=>import(`./rel-cvB6F5nO.js`),[]))},{id:`riscv`,name:`RISC-V`,import:(()=>J(()=>import(`./riscv-SYGtE4EN.js`),[]))},{id:`ron`,name:`RON`,import:(()=>J(()=>import(`./ron-CRt869SB.js`),[]))},{id:`rosmsg`,name:`ROS Interface`,import:(()=>J(()=>import(`./rosmsg-BwrfJ66Z.js`),[]))},{id:`rst`,name:`reStructuredText`,import:(()=>J(()=>import(`./rst-Bi3zId1d.js`),__vite__mapDeps([80,81,23,24,25,26,16,15,1,2,3,20,33,34,35,12,13,36,37,28,8,9,38])))},{id:`ruby`,name:`Ruby`,aliases:[`rb`],import:(()=>J(()=>import(`./ruby-BURiJKuD.js`),__vite__mapDeps([33,25,23,24,26,16,2,34,3,35,12,13,36,1,37,28,8,9,38])))},{id:`rust`,name:`Rust`,aliases:[`rs`],import:(()=>J(()=>import(`./rust-DCKTTPxN.js`),[]))},{id:`sas`,name:`SAS`,import:(()=>J(()=>import(`./sas-BO_W1LuL.js`),__vite__mapDeps([82,16])))},{id:`sass`,name:`Sass`,import:(()=>J(()=>import(`./sass-CorcwySt.js`),[]))},{id:`scala`,name:`Scala`,import:(()=>J(()=>import(`./scala-DlI-OmYj.js`),[]))},{id:`scheme`,name:`Scheme`,import:(()=>J(()=>import(`./scheme-CcNEGkZH.js`),[]))},{id:`scss`,name:`SCSS`,import:(()=>J(()=>import(`./scss-BPUTinXb.js`).then(e=>e.n),__vite__mapDeps([5,2])))},{id:`sdbl`,name:`1C (Query)`,aliases:[`1c-query`],import:(()=>J(()=>import(`./sdbl-AL_m-RO_.js`),[]))},{id:`shaderlab`,name:`ShaderLab`,aliases:[`shader`],import:(()=>J(()=>import(`./shaderlab-CbbQwRPF.js`),__vite__mapDeps([83,84])))},{id:`shellscript`,name:`Shell`,aliases:[`bash`,`sh`,`shell`,`zsh`],import:(()=>J(()=>import(`./shellscript-B4rfo4qg.js`).then(e=>e.n),[]))},{id:`shellsession`,name:`Shell Session`,aliases:[`console`],import:(()=>J(()=>import(`./shellsession-DLX-O8m7.js`),__vite__mapDeps([85,28])))},{id:`smalltalk`,name:`Smalltalk`,import:(()=>J(()=>import(`./smalltalk-Y2ogrfbk.js`),[]))},{id:`solidity`,name:`Solidity`,import:(()=>J(()=>import(`./solidity-Bfbm9QZQ.js`),[]))},{id:`soy`,name:`Closure Templates`,aliases:[`closure-templates`],import:(()=>J(()=>import(`./soy-BEUiwSVD.js`),__vite__mapDeps([86,1,2,3])))},{id:`sparql`,name:`SPARQL`,import:(()=>J(()=>import(`./sparql-DEoxFJ5d.js`),__vite__mapDeps([87,88])))},{id:`splunk`,name:`Splunk Query Language`,aliases:[`spl`],import:(()=>J(()=>import(`./splunk-6DJA2XFa.js`),[]))},{id:`sql`,name:`SQL`,import:(()=>J(()=>import(`./sql-CwSA8v_H.js`).then(e=>e.n),[]))},{id:`ssh-config`,name:`SSH Config`,import:(()=>J(()=>import(`./ssh-config-CbQtdF-u.js`),[]))},{id:`stata`,name:`Stata`,import:(()=>J(()=>import(`./stata-XfdBiAnW.js`),__vite__mapDeps([89,16])))},{id:`stylus`,name:`Stylus`,aliases:[`styl`],import:(()=>J(()=>import(`./stylus-B_iq45Sj.js`),[]))},{id:`surrealql`,name:`SurrealQL`,aliases:[`surql`],import:(()=>J(()=>import(`./surrealql-COaehKkS.js`),__vite__mapDeps([90,3])))},{id:`svelte`,name:`Svelte`,import:(()=>J(()=>import(`./svelte-B0kTIq0J.js`),__vite__mapDeps([91,2,3,11,13])))},{id:`swift`,name:`Swift`,import:(()=>J(()=>import(`./swift-C7KIgN-p.js`),[]))},{id:`system-verilog`,name:`SystemVerilog`,import:(()=>J(()=>import(`./system-verilog-C3G9wERd.js`),[]))},{id:`systemd`,name:`Systemd Units`,import:(()=>J(()=>import(`./systemd-CwxGrojj.js`),[]))},{id:`talonscript`,name:`TalonScript`,aliases:[`talon`],import:(()=>J(()=>import(`./talonscript-DqnSo1EO.js`),[]))},{id:`tasl`,name:`Tasl`,import:(()=>J(()=>import(`./tasl-T8ethp86.js`),[]))},{id:`tcl`,name:`Tcl`,import:(()=>J(()=>import(`./tcl-Ccl366o0.js`),[]))},{id:`templ`,name:`Templ`,import:(()=>J(()=>import(`./templ-DGxWfDf-.js`),__vite__mapDeps([92,2,93,3])))},{id:`terraform`,name:`Terraform`,aliases:[`tf`,`tfvars`],import:(()=>J(()=>import(`./terraform-BBf6ZI_0.js`),[]))},{id:`tex`,name:`TeX`,import:(()=>J(()=>import(`./tex-C9X3gjZ2.js`),__vite__mapDeps([66,62])))},{id:`toml`,name:`TOML`,import:(()=>J(()=>import(`./toml-C5Z_BR4r.js`),[]))},{id:`ts-tags`,name:`TypeScript with Tags`,aliases:[`lit`],import:(()=>J(()=>import(`./ts-tags-By9ETsTC.js`),__vite__mapDeps([94,2,24,25,1,3,16,13,8,9])))},{id:`tsv`,name:`TSV`,import:(()=>J(()=>import(`./tsv-rX8sUJs7.js`),[]))},{id:`tsx`,name:`TSX`,import:(()=>J(()=>import(`./tsx-CvVX506n.js`).then(e=>e.n),[]))},{id:`turtle`,name:`Turtle`,import:(()=>J(()=>import(`./turtle-BM-MG8WY.js`),[]))},{id:`twig`,name:`Twig`,import:(()=>J(()=>import(`./twig-CjLWv7eu.js`),__vite__mapDeps([95,2,3,75,1,7,16,8,9,20,33,25,23,24,26,34,35,12,13,36,37,28,38,5])))},{id:`typescript`,name:`TypeScript`,aliases:[`ts`,`cts`,`mts`],import:(()=>J(()=>import(`./typescript-BEq3u3Bc.js`).then(e=>e.n),[]))},{id:`typespec`,name:`TypeSpec`,aliases:[`tsp`],import:(()=>J(()=>import(`./typespec-C5gKydvR.js`),[]))},{id:`typst`,name:`Typst`,aliases:[`typ`],import:(()=>J(()=>import(`./typst--_5VchrY.js`),[]))},{id:`v`,name:`V`,import:(()=>J(()=>import(`./v-C6PwpmTC.js`),[]))},{id:`vala`,name:`Vala`,import:(()=>J(()=>import(`./vala-4pTaceSj.js`),[]))},{id:`vb`,name:`Visual Basic`,aliases:[`cmd`],import:(()=>J(()=>import(`./vb-DhoR5A6S.js`),[]))},{id:`verilog`,name:`Verilog`,import:(()=>J(()=>import(`./verilog-B9f_1lPn.js`),[]))},{id:`vhdl`,name:`VHDL`,import:(()=>J(()=>import(`./vhdl-Cy4RAmOe.js`),[]))},{id:`viml`,name:`Vim Script`,aliases:[`vim`,`vimscript`],import:(()=>J(()=>import(`./viml-CFQW-CcD.js`),[]))},{id:`vue`,name:`Vue`,import:(()=>J(()=>import(`./vue-DYazforU.js`),__vite__mapDeps([96,2,15,1,3,7,13])))},{id:`vue-html`,name:`Vue HTML`,import:(()=>J(()=>import(`./vue-html-92z_Aqn0.js`),__vite__mapDeps([97,3])))},{id:`vue-vine`,name:`Vue Vine`,import:(()=>J(()=>import(`./vue-vine-VY7raYSI.js`),__vite__mapDeps([98,2,3,69,11,5,99])))},{id:`vyper`,name:`Vyper`,aliases:[`vy`],import:(()=>J(()=>import(`./vyper-BW5zj9bE.js`),[]))},{id:`wasm`,name:`WebAssembly`,import:(()=>J(()=>import(`./wasm-BigxSLnm.js`),[]))},{id:`wenyan`,name:`Wenyan`,aliases:[`文言`],import:(()=>J(()=>import(`./wenyan-BZzM1SQT.js`),[]))},{id:`wgsl`,name:`WGSL`,import:(()=>J(()=>import(`./wgsl-xBPHbLlq.js`),[]))},{id:`wikitext`,name:`Wikitext`,aliases:[`mediawiki`,`wiki`],import:(()=>J(()=>import(`./wikitext-BXJWUNJK.js`),[]))},{id:`wit`,name:`WebAssembly Interface Types`,import:(()=>J(()=>import(`./wit-2GnUs67P.js`),[]))},{id:`wolfram`,name:`Wolfram`,aliases:[`wl`],import:(()=>J(()=>import(`./wolfram-DIFDmw-g.js`),[]))},{id:`xml`,name:`XML`,import:(()=>J(()=>import(`./xml-hd7OQ798.js`).then(e=>e.n),__vite__mapDeps([8,9])))},{id:`xsl`,name:`XSL`,import:(()=>J(()=>import(`./xsl-MkuT76g1.js`),__vite__mapDeps([100,8,9])))},{id:`yaml`,name:`YAML`,aliases:[`yml`],import:(()=>J(()=>import(`./yaml-D6zRzOR2.js`).then(e=>e.n),[]))},{id:`zenscript`,name:`ZenScript`,import:(()=>J(()=>import(`./zenscript-DQaUUjbx.js`),[]))},{id:`zig`,name:`Zig`,import:(()=>J(()=>import(`./zig-BDepRvBi.js`),[]))}],Sc=Object.fromEntries(xc.map(e=>[e.id,e.import])),Cc=Object.fromEntries(xc.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),wc={...Sc,...Cc},Tc=Object.fromEntries([{id:`andromeeda`,displayName:`Andromeeda`,type:`dark`,import:(()=>J(()=>import(`./andromeeda-Ch2kWS7s.js`),[]))},{id:`aurora-x`,displayName:`Aurora X`,type:`dark`,import:(()=>J(()=>import(`./aurora-x-BHLqzt7j.js`),[]))},{id:`ayu-dark`,displayName:`Ayu Dark`,type:`dark`,import:(()=>J(()=>import(`./ayu-dark-DCotN_ZT.js`),[]))},{id:`ayu-light`,displayName:`Ayu Light`,type:`light`,import:(()=>J(()=>import(`./ayu-light-CKB6o_im.js`),[]))},{id:`ayu-mirage`,displayName:`Ayu Mirage`,type:`dark`,import:(()=>J(()=>import(`./ayu-mirage-B38lW-C5.js`),[]))},{id:`catppuccin-frappe`,displayName:`Catppuccin Frappé`,type:`dark`,import:(()=>J(()=>import(`./catppuccin-frappe-BY_2ofjk.js`),[]))},{id:`catppuccin-latte`,displayName:`Catppuccin Latte`,type:`light`,import:(()=>J(()=>import(`./catppuccin-latte-D6GXPBmA.js`),[]))},{id:`catppuccin-macchiato`,displayName:`Catppuccin Macchiato`,type:`dark`,import:(()=>J(()=>import(`./catppuccin-macchiato-BuW8_cyo.js`),[]))},{id:`catppuccin-mocha`,displayName:`Catppuccin Mocha`,type:`dark`,import:(()=>J(()=>import(`./catppuccin-mocha-znex9DPe.js`),[]))},{id:`dark-plus`,displayName:`Dark Plus`,type:`dark`,import:(()=>J(()=>import(`./dark-plus-BvePH-r3.js`),[]))},{id:`dracula`,displayName:`Dracula Theme`,type:`dark`,import:(()=>J(()=>import(`./dracula-kJQjC_Gy.js`),[]))},{id:`dracula-soft`,displayName:`Dracula Theme Soft`,type:`dark`,import:(()=>J(()=>import(`./dracula-soft-B3XhEjCl.js`),[]))},{id:`everforest-dark`,displayName:`Everforest Dark`,type:`dark`,import:(()=>J(()=>import(`./everforest-dark-u0zLn75q.js`),[]))},{id:`everforest-light`,displayName:`Everforest Light`,type:`light`,import:(()=>J(()=>import(`./everforest-light-D3syIoAR.js`),[]))},{id:`github-dark`,displayName:`GitHub Dark`,type:`dark`,import:(()=>J(()=>import(`./github-dark-CEBLh0--.js`),[]))},{id:`github-dark-default`,displayName:`GitHub Dark Default`,type:`dark`,import:(()=>J(()=>import(`./github-dark-default-Dq0Z4Xai.js`),[]))},{id:`github-dark-dimmed`,displayName:`GitHub Dark Dimmed`,type:`dark`,import:(()=>J(()=>import(`./github-dark-dimmed-D90YmS4w.js`),[]))},{id:`github-dark-high-contrast`,displayName:`GitHub Dark High Contrast`,type:`dark`,import:(()=>J(()=>import(`./github-dark-high-contrast-B6BWv1iC.js`),[]))},{id:`github-light`,displayName:`GitHub Light`,type:`light`,import:(()=>J(()=>import(`./github-light-lXSVSq5T.js`),[]))},{id:`github-light-default`,displayName:`GitHub Light Default`,type:`light`,import:(()=>J(()=>import(`./github-light-default-DsPWmj4v.js`),[]))},{id:`github-light-high-contrast`,displayName:`GitHub Light High Contrast`,type:`light`,import:(()=>J(()=>import(`./github-light-high-contrast-C7aLb3kp.js`),[]))},{id:`gruvbox-dark-hard`,displayName:`Gruvbox Dark Hard`,type:`dark`,import:(()=>J(()=>import(`./gruvbox-dark-hard-_deksD0U.js`),[]))},{id:`gruvbox-dark-medium`,displayName:`Gruvbox Dark Medium`,type:`dark`,import:(()=>J(()=>import(`./gruvbox-dark-medium-CT31284j.js`),[]))},{id:`gruvbox-dark-soft`,displayName:`Gruvbox Dark Soft`,type:`dark`,import:(()=>J(()=>import(`./gruvbox-dark-soft-BZuEUCbj.js`),[]))},{id:`gruvbox-light-hard`,displayName:`Gruvbox Light Hard`,type:`light`,import:(()=>J(()=>import(`./gruvbox-light-hard-dxv4n_ZS.js`),[]))},{id:`gruvbox-light-medium`,displayName:`Gruvbox Light Medium`,type:`light`,import:(()=>J(()=>import(`./gruvbox-light-medium-BsW_fVfR.js`),[]))},{id:`gruvbox-light-soft`,displayName:`Gruvbox Light Soft`,type:`light`,import:(()=>J(()=>import(`./gruvbox-light-soft-BiGy99gD.js`),[]))},{id:`horizon`,displayName:`Horizon`,type:`dark`,import:(()=>J(()=>import(`./horizon-Ngud75Kn.js`),[]))},{id:`horizon-bright`,displayName:`Horizon Bright`,type:`dark`,import:(()=>J(()=>import(`./horizon-bright-Cnljd0XD.js`),[]))},{id:`houston`,displayName:`Houston`,type:`dark`,import:(()=>J(()=>import(`./houston-BenZxlMr.js`),[]))},{id:`kanagawa-dragon`,displayName:`Kanagawa Dragon`,type:`dark`,import:(()=>J(()=>import(`./kanagawa-dragon-Bt5mhLu1.js`),[]))},{id:`kanagawa-lotus`,displayName:`Kanagawa Lotus`,type:`light`,import:(()=>J(()=>import(`./kanagawa-lotus-FGA3pRJk.js`),[]))},{id:`kanagawa-wave`,displayName:`Kanagawa Wave`,type:`dark`,import:(()=>J(()=>import(`./kanagawa-wave-DnLVZPAD.js`),[]))},{id:`laserwave`,displayName:`LaserWave`,type:`dark`,import:(()=>J(()=>import(`./laserwave-D2qAZkaG.js`),[]))},{id:`light-plus`,displayName:`Light Plus`,type:`light`,import:(()=>J(()=>import(`./light-plus-CP13QUvm.js`),[]))},{id:`material-theme`,displayName:`Material Theme`,type:`dark`,import:(()=>J(()=>import(`./material-theme-JFoPTBSr.js`),[]))},{id:`material-theme-darker`,displayName:`Material Theme Darker`,type:`dark`,import:(()=>J(()=>import(`./material-theme-darker-BHaqZ19v.js`),[]))},{id:`material-theme-lighter`,displayName:`Material Theme Lighter`,type:`light`,import:(()=>J(()=>import(`./material-theme-lighter-CGnnS2bs.js`),[]))},{id:`material-theme-ocean`,displayName:`Material Theme Ocean`,type:`dark`,import:(()=>J(()=>import(`./material-theme-ocean-Drhewjqf.js`),[]))},{id:`material-theme-palenight`,displayName:`Material Theme Palenight`,type:`dark`,import:(()=>J(()=>import(`./material-theme-palenight-DbUypmpb.js`),[]))},{id:`min-dark`,displayName:`Min Dark`,type:`dark`,import:(()=>J(()=>import(`./min-dark-BEelvXUB.js`),[]))},{id:`min-light`,displayName:`Min Light`,type:`light`,import:(()=>J(()=>import(`./min-light-CTPBOACR.js`),[]))},{id:`monokai`,displayName:`Monokai`,type:`dark`,import:(()=>J(()=>import(`./monokai-DQlZXbkg.js`),[]))},{id:`night-owl`,displayName:`Night Owl`,type:`dark`,import:(()=>J(()=>import(`./night-owl-BLcrYhaC.js`),[]))},{id:`night-owl-light`,displayName:`Night Owl Light`,type:`light`,import:(()=>J(()=>import(`./night-owl-light-BG-tBJOz.js`),[]))},{id:`nord`,displayName:`Nord`,type:`dark`,import:(()=>J(()=>import(`./nord-Dm2F5_QB.js`),[]))},{id:`one-dark-pro`,displayName:`One Dark Pro`,type:`dark`,import:(()=>J(()=>import(`./one-dark-pro-DC9SHdX0.js`),[]))},{id:`one-light`,displayName:`One Light`,type:`light`,import:(()=>J(()=>import(`./one-light-Doo39p0H.js`),[]))},{id:`plastic`,displayName:`Plastic`,type:`dark`,import:(()=>J(()=>import(`./plastic-B3CcSpon.js`),[]))},{id:`poimandres`,displayName:`Poimandres`,type:`dark`,import:(()=>J(()=>import(`./poimandres-BsK70ma5.js`),[]))},{id:`red`,displayName:`Red`,type:`dark`,import:(()=>J(()=>import(`./red-DtDH206x.js`),[]))},{id:`rose-pine`,displayName:`Rosé Pine`,type:`dark`,import:(()=>J(()=>import(`./rose-pine-CjBfSJ5b.js`),[]))},{id:`rose-pine-dawn`,displayName:`Rosé Pine Dawn`,type:`light`,import:(()=>J(()=>import(`./rose-pine-dawn-C0xwy7iJ.js`),[]))},{id:`rose-pine-moon`,displayName:`Rosé Pine Moon`,type:`dark`,import:(()=>J(()=>import(`./rose-pine-moon-BSNy9Ty0.js`),[]))},{id:`slack-dark`,displayName:`Slack Dark`,type:`dark`,import:(()=>J(()=>import(`./slack-dark-rMhrfPm6.js`),[]))},{id:`slack-ochin`,displayName:`Slack Ochin`,type:`light`,import:(()=>J(()=>import(`./slack-ochin-9w8X74hU.js`),[]))},{id:`snazzy-light`,displayName:`Snazzy Light`,type:`light`,import:(()=>J(()=>import(`./snazzy-light-DHr9ygpP.js`),[]))},{id:`solarized-dark`,displayName:`Solarized Dark`,type:`dark`,import:(()=>J(()=>import(`./solarized-dark-UPcKev9Q.js`),[]))},{id:`solarized-light`,displayName:`Solarized Light`,type:`light`,import:(()=>J(()=>import(`./solarized-light-DUsjROvl.js`),[]))},{id:`synthwave-84`,displayName:`Synthwave '84`,type:`dark`,import:(()=>J(()=>import(`./synthwave-84-lf_Wt0K_.js`),[]))},{id:`tokyo-night`,displayName:`Tokyo Night`,type:`dark`,import:(()=>J(()=>import(`./tokyo-night-BF5ata25.js`),[]))},{id:`vesper`,displayName:`Vesper`,type:`dark`,import:(()=>J(()=>import(`./vesper-CmBi_iCT.js`),[]))},{id:`vitesse-black`,displayName:`Vitesse Black`,type:`dark`,import:(()=>J(()=>import(`./vitesse-black-CE8RoBJP.js`),[]))},{id:`vitesse-dark`,displayName:`Vitesse Dark`,type:`dark`,import:(()=>J(()=>import(`./vitesse-dark-BpF142p_.js`),[]))},{id:`vitesse-light`,displayName:`Vitesse Light`,type:`light`,import:(()=>J(()=>import(`./vitesse-light-CMwxPBrg.js`),[]))}].map(e=>[e.id,e.import])),Ec=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function Dc(){return 2147483648}function Oc(){return typeof performance<`u`?performance.now():Date.now()}var kc=(e,t)=>e+(t-e%t)%t;async function Ac(e){let t,n,r={};function i(e){n=e,r.HEAPU8=new Uint8Array(e),r.HEAPU32=new Uint32Array(e)}function a(e,t,n){r.HEAPU8.copyWithin(e,t,t+n)}function o(e){try{return t.grow(e-n.byteLength+65535>>>16),i(t.buffer),1}catch{}}function s(e){let t=r.HEAPU8.length;e>>>=0;let n=Dc();if(e>n)return!1;for(let r=1;r<=4;r*=2){let i=t*(1+.2/r);if(i=Math.min(i,e+100663296),o(Math.min(n,kc(Math.max(e,i),65536))))return!0}return!1}let c=typeof TextDecoder<`u`?new TextDecoder(`utf8`):void 0;function l(e,t,n=1024){let r=t+n,i=t;for(;e[i]&&!(i>=r);)++i;if(i-t>16&&e.buffer&&c)return c.decode(e.subarray(t,i));let a=``;for(;t<i;){let n=e[t++];if(!(n&128)){a+=String.fromCharCode(n);continue}let r=e[t++]&63;if((n&224)==192){a+=String.fromCharCode((n&31)<<6|r);continue}let i=e[t++]&63;if(n=(n&240)==224?(n&15)<<12|r<<6|i:(n&7)<<18|r<<12|i<<6|e[t++]&63,n<65536)a+=String.fromCharCode(n);else{let e=n-65536;a+=String.fromCharCode(55296|e>>10,56320|e&1023)}}return a}function u(e,t){return e?l(r.HEAPU8,e,t):``}let d={emscripten_get_now:Oc,emscripten_memcpy_big:a,emscripten_resize_heap:s,fd_write:()=>0};async function f(){let n=await e({env:d,wasi_snapshot_preview1:d});t=n.memory,i(t.buffer),Object.assign(r,n),r.UTF8ToString=u}return await f(),r}var jc=Object.defineProperty,Mc=(e,t,n)=>t in e?jc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Nc=(e,t,n)=>Mc(e,typeof t==`symbol`?t:t+``,n),Pc=null;function Fc(e){throw new Ec(e.UTF8ToString(e.getLastOnigError()))}var Ic=class e{constructor(t){Nc(this,`utf16Length`),Nc(this,`utf8Length`),Nc(this,`utf16Value`),Nc(this,`utf8Value`),Nc(this,`utf16OffsetToUtf8`),Nc(this,`utf8OffsetToUtf16`);let n=t.length,r=e._utf8ByteLength(t),i=r!==n,a=i?new Uint32Array(n+1):null;i&&(a[n]=r);let o=i?new Uint32Array(r+1):null;i&&(o[r]=n);let s=new Uint8Array(r),c=0;for(let e=0;e<n;e++){let r=t.charCodeAt(e),l=r,u=!1;if(r>=55296&&r<=56319&&e+1<n){let n=t.charCodeAt(e+1);n>=56320&&n<=57343&&(l=(r-55296<<10)+65536|n-56320,u=!0)}i&&(a[e]=c,u&&(a[e+1]=c),l<=127?o[c+0]=e:l<=2047?(o[c+0]=e,o[c+1]=e):l<=65535?(o[c+0]=e,o[c+1]=e,o[c+2]=e):(o[c+0]=e,o[c+1]=e,o[c+2]=e,o[c+3]=e)),l<=127?s[c++]=l:l<=2047?(s[c++]=192|(l&1984)>>>6,s[c++]=128|(l&63)>>>0):l<=65535?(s[c++]=224|(l&61440)>>>12,s[c++]=128|(l&4032)>>>6,s[c++]=128|(l&63)>>>0):(s[c++]=240|(l&1835008)>>>18,s[c++]=128|(l&258048)>>>12,s[c++]=128|(l&4032)>>>6,s[c++]=128|(l&63)>>>0),u&&e++}this.utf16Length=n,this.utf8Length=r,this.utf16Value=t,this.utf8Value=s,this.utf16OffsetToUtf8=a,this.utf8OffsetToUtf16=o}static _utf8ByteLength(e){let t=0;for(let n=0,r=e.length;n<r;n++){let i=e.charCodeAt(n),a=i,o=!1;if(i>=55296&&i<=56319&&n+1<r){let t=e.charCodeAt(n+1);t>=56320&&t<=57343&&(a=(i-55296<<10)+65536|t-56320,o=!0)}a<=127?t+=1:a<=2047?t+=2:a<=65535?t+=3:t+=4,o&&n++}return t}createString(e){let t=e.omalloc(this.utf8Length);return e.HEAPU8.set(this.utf8Value,t),t}},Lc=class e{constructor(t){if(Nc(this,`id`,++e.LAST_ID),Nc(this,`_onigBinding`),Nc(this,`content`),Nc(this,`utf16Length`),Nc(this,`utf8Length`),Nc(this,`utf16OffsetToUtf8`),Nc(this,`utf8OffsetToUtf16`),Nc(this,`ptr`),!Pc)throw new Ec(`Must invoke loadWasm first.`);this._onigBinding=Pc,this.content=t;let n=new Ic(t);this.utf16Length=n.utf16Length,this.utf8Length=n.utf8Length,this.utf16OffsetToUtf8=n.utf16OffsetToUtf8,this.utf8OffsetToUtf16=n.utf8OffsetToUtf16,this.utf8Length<1e4&&!e._sharedPtrInUse?(e._sharedPtr||=Pc.omalloc(1e4),e._sharedPtrInUse=!0,Pc.HEAPU8.set(n.utf8Value,e._sharedPtr),this.ptr=e._sharedPtr):this.ptr=n.createString(Pc)}convertUtf8OffsetToUtf16(e){return this.utf8OffsetToUtf16?e<0?0:e>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[e]:e}convertUtf16OffsetToUtf8(e){return this.utf16OffsetToUtf8?e<0?0:e>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[e]:e}dispose(){this.ptr===e._sharedPtr?e._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};Nc(Lc,`LAST_ID`,0),Nc(Lc,`_sharedPtr`,0),Nc(Lc,`_sharedPtrInUse`,!1);var Rc=Lc,zc=class{constructor(e){if(Nc(this,`_onigBinding`),Nc(this,`_ptr`),!Pc)throw new Ec(`Must invoke loadWasm first.`);let t=[],n=[];for(let r=0,i=e.length;r<i;r++){let i=new Ic(e[r]);t[r]=i.createString(Pc),n[r]=i.utf8Length}let r=Pc.omalloc(4*e.length);Pc.HEAPU32.set(t,r/4);let i=Pc.omalloc(4*e.length);Pc.HEAPU32.set(n,i/4);let a=Pc.createOnigScanner(r,i,e.length);for(let n=0,r=e.length;n<r;n++)Pc.ofree(t[n]);Pc.ofree(i),Pc.ofree(r),a===0&&Fc(Pc),this._onigBinding=Pc,this._ptr=a}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(e,t,n){let r=0;if(typeof n==`number`&&(r=n),typeof e==`string`){e=new Rc(e);let n=this._findNextMatchSync(e,t,!1,r);return e.dispose(),n}return this._findNextMatchSync(e,t,!1,r)}_findNextMatchSync(e,t,n,r){let i=this._onigBinding,a=i.findNextOnigScannerMatch(this._ptr,e.id,e.ptr,e.utf8Length,e.convertUtf16OffsetToUtf8(t),r);if(a===0)return null;let o=i.HEAPU32,s=a/4,c=o[s++],l=o[s++],u=[];for(let t=0;t<l;t++){let n=e.convertUtf8OffsetToUtf16(o[s++]),r=e.convertUtf8OffsetToUtf16(o[s++]);u[t]={start:n,end:r,length:r-n}}return{index:c,captureIndices:u}}};function Bc(e){return typeof e.instantiator==`function`}function Vc(e){return typeof e.default==`function`}function Hc(e){return e.data!==void 0}function Uc(e){return typeof Response<`u`&&e instanceof Response}function Wc(e){return typeof ArrayBuffer<`u`&&(e instanceof ArrayBuffer||ArrayBuffer.isView(e))||typeof Buffer<`u`&&Buffer.isBuffer?.(e)||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer||typeof Uint32Array<`u`&&e instanceof Uint32Array}var Gc;function Kc(e){if(Gc)return Gc;async function t(){Pc=await Ac(async t=>{let n=e;return n=await n,typeof n==`function`&&(n=await n(t)),typeof n==`function`&&(n=await n(t)),Bc(n)?n=await n.instantiator(t):Vc(n)?n=await n.default(t):(Hc(n)&&(n=n.data),Uc(n)?n=typeof WebAssembly.instantiateStreaming==`function`?await Jc(n)(t):await Yc(n)(t):Wc(n)||n instanceof WebAssembly.Module?n=await qc(n)(t):`default`in n&&n.default instanceof WebAssembly.Module&&(n=await qc(n.default)(t))),`instance`in n&&(n=n.instance),`exports`in n&&(n=n.exports),n})}return Gc=t(),Gc}function qc(e){return t=>WebAssembly.instantiate(e,t)}function Jc(e){return t=>WebAssembly.instantiateStreaming(e,t)}function Yc(e){return async t=>{let n=await e.arrayBuffer();return WebAssembly.instantiate(n,t)}}async function Xc(e){return e&&await Kc(e),{createScanner(e){return new zc(e.map(e=>typeof e==`string`?e:e.source))},createString(e){return new Rc(e)}}}var Zc=hc({langs:wc,themes:Tc,engine:()=>Xc(J(()=>import(`./wasm-CSccDuAq.js`),[]))}),{codeToHtml:Qc,codeToHast:$c,codeToTokens:el,codeToTokensBase:tl,codeToTokensWithThemes:nl,getSingletonHighlighter:rl,getLastGrammarState:il}=_c(Zc,{guessEmbeddedLanguages:ts});function al(e){if([...e].length!==1)throw Error(`Expected "${e}" to be a single code point`);return e.codePointAt(0)}function ol(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}var sl=new Set([`alnum`,`alpha`,`ascii`,`blank`,`cntrl`,`digit`,`graph`,`lower`,`print`,`punct`,`space`,`upper`,`word`,`xdigit`]),cl=String.raw;function ll(e,t){if(e==null)throw Error(t??`Value expected`);return e}var ul=cl`\[\^?`,dl=`c.? | C(?:-.?)?|${cl`[pP]\{(?:\^?[-\x20_]*[A-Za-z][-\x20\w]*\})?`}|${cl`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${cl`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${cl`o\{[^\}]*\}?`}|${cl`\d{1,3}`}`,fl=/[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/,pl=new RegExp(cl`
22
22
  \\ (?:
23
23
  ${dl}
24
24
  | [gk]<[^>]*>?
@@ -1879,7 +1879,7 @@ XID_Start XIDS`.split(/\s/).map(e=>[Nu(e),e])),Dd=new Map([[`s`,dd(383)],[dd(383
1879
1879
  `),r=``;r=n?`\n${e.lineContent.split(`
1880
1880
  `).map(e=>`${t} ${e}`).join(`
1881
1881
  `)}\n`:`${t} ${e.lineContent}`,c.push(` <code><![CDATA[${r}]]></code>`)}if(c.push(` <body><![CDATA[${e.body}]]></body>`),e.replies&&e.replies.length>0){c.push(` <replies>`);for(let t of e.replies){let e=new Date(t.createdAt).toISOString(),n=t.role?` role="${t.role}"`:` role="agent"`,r=t.model?` model="${t.model}"`:``;c.push(` <reply id="${t.id}" created-at="${e}"${n}${r}>`),c.push(` <![CDATA[${t.body}]]>`),c.push(` </reply>`)}c.push(` </replies>`)}c.push(` </comment>`)}c.push(` </file>`)}return c.push(`</code-review-comments>`),c.join(`
1882
- `)}var yE=[`comments`];async function bE(){return(await fetch(`/api/comments`)).json()}function xE(){let e=Ve(),{data:t=[],isLoading:n}=nt({queryKey:yE,queryFn:bE});(0,W.useEffect)(()=>fE(`comments`,()=>{e.invalidateQueries({queryKey:yE})}),[e]);let[r,i]=(0,W.useState)({round:0,waiters:0,lastSentAt:null,lastDecision:void 0,lastOpenCount:void 0});(0,W.useEffect)(()=>{let e=!1;fetch(`/api/review/status`).then(e=>e.json()).then(t=>{e||i(t)}).catch(()=>{});let t=fE(`agent-status`,e=>{try{i(JSON.parse(e))}catch{}});return()=>{e=!0,t()}},[]);let a=(0,W.useRef)(null),[o,s]=(0,W.useState)(null);(0,W.useEffect)(()=>{if(n)return;let e=a.current===null;a.current===null&&(a.current=new Set);let r=a.current,i=null;for(let n of t)for(let t of n.replies??[])r.has(t.id)||(r.add(t.id),!e&&n.status!==`resolved`&&(t.role===`agent`||t.role==null&&t.model)&&(!i||t.createdAt>i.at)&&(i={at:t.createdAt,commentId:n.id,filePath:n.filePath,model:t.model,body:t.body}));i&&s(i)},[t,n]);let c=rt({mutationFn:async e=>(await fetch(`/api/comments`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)})).json(),onSuccess:t=>{e.setQueryData(yE,(e=[])=>[...e,t])}}),l=rt({mutationFn:async e=>(await fetch(`/api/comments/${e}`,{method:`DELETE`}),e),onSuccess:t=>{e.setQueryData(yE,(e=[])=>e.filter(e=>e.id!==t))}}),u=rt({mutationFn:async({id:e,body:t,status:n})=>(await fetch(`/api/comments/${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:t,status:n})})).json(),onSuccess:t=>{e.setQueryData(yE,(e=[])=>e.map(e=>e.id===t.id?t:e))}}),d=rt({mutationFn:async({id:e,body:t})=>(await fetch(`/api/comments/${e}/replies`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:t,role:`user`})})).json(),onSuccess:t=>{e.setQueryData(yE,(e=[])=>e.map(e=>e.id===t.id?t:e))}}),f=rt({mutationFn:async({commentId:e,replyId:t})=>(await fetch(`/api/comments/${e}/replies/${t}`,{method:`DELETE`})).json(),onSuccess:t=>{e.setQueryData(yE,(e=[])=>e.map(e=>e.id===t.id?t:e))}}),p=rt({mutationFn:async({commentId:e,replyId:t,body:n})=>(await fetch(`/api/comments/${e}/replies/${t}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:n})})).json(),onSuccess:t=>{e.setQueryData(yE,(e=[])=>e.map(e=>e.id===t.id?t:e))}}),m=rt({mutationFn:async({decision:e,generalComment:t,mode:n,force:r})=>{let i=await fetch(`/api/review/send`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({decision:e,generalComment:t?.trim()||void 0,mode:n,force:!!r})});if(i.status===400){let e=await i.json().catch(()=>null);if(e?.error===`secrets-detected`){let t=Error(`Secrets detected`);throw t.kind=`secrets`,t.findings=e.findings??[],t}}if(!i.ok)throw Error(`Failed to send to agent`);return i.json()}}),h=rt({mutationFn:async e=>{let t=await fetch(`/api/comments/${e}/apply-suggestion`,{method:`POST`});if(!t.ok){let e=await t.json();throw Error(e.error||`Failed to apply suggestion`)}return t.json()},onSuccess:()=>{e.invalidateQueries({queryKey:yE})}}),g=(0,W.useCallback)((e,t,n,r,i,a,o)=>{c.mutate({filePath:e,side:t,lineNumber:n,startLineNumber:a,lineContent:r,body:i,severity:o&&o!==`none`?o:void 0})},[c.mutate]),_=(0,W.useCallback)(e=>{l.mutate(e)},[l.mutate]),v=(0,W.useCallback)((e,t)=>{u.mutate({id:e,body:t})},[u.mutate]),y=(0,W.useCallback)(e=>{u.mutate({id:e,status:`resolved`})},[u.mutate]),b=(0,W.useCallback)(e=>{u.mutate({id:e,status:`open`})},[u.mutate]),x=(0,W.useCallback)((e,t)=>{d.mutate({id:e,body:t})},[d.mutate]),S=(0,W.useCallback)((e,t)=>{f.mutate({commentId:e,replyId:t})},[f.mutate]),C=(0,W.useCallback)((e,t,n)=>{p.mutate({commentId:e,replyId:t,body:n})},[p.mutate]),w=(0,W.useCallback)(async e=>{await h.mutateAsync(e)},[h.mutateAsync]),T=(0,W.useCallback)(()=>vE(t),[t]),E=(0,W.useCallback)(e=>t.filter(t=>t.filePath===e).map(e=>({side:e.side,lineNumber:e.lineNumber,metadata:e})),[t]),D=(0,W.useCallback)(async()=>{let e=T();await navigator.clipboard.writeText(e)},[T]),O=(0,W.useCallback)(async()=>{let{formatCommentsMarkdown:e}=await J(async()=>{let{formatCommentsMarkdown:e}=await import(`./review-export-CgROw3iz.js`);return{formatCommentsMarkdown:e}},[]),n=e(t);n&&await navigator.clipboard.writeText(n)},[t]),k=(0,W.useCallback)((e,t,n,r)=>m.mutateAsync({decision:e,generalComment:t,mode:n,force:r}),[m.mutateAsync]),A=rt({mutationFn:async()=>{let e=await fetch(`/api/comments/resolve-all`,{method:`POST`});if(!e.ok)throw Error(`Failed to resolve all comments`);return await e.json()},onSuccess:()=>{e.invalidateQueries({queryKey:yE})}}),j=(0,W.useCallback)(()=>A.mutateAsync(),[A]);return{comments:t,addComment:g,removeComment:_,editComment:v,resolveComment:y,unresolveComment:b,addReply:x,removeReply:S,editReply:C,applySuggestion:w,getAnnotationsForFile:E,formatAllComments:T,copyAllComments:D,copyAllCommentsMarkdown:O,agentActivity:o,clearAgentActivity:(0,W.useCallback)(()=>s(null),[]),sendToAgent:k,sending:m.isPending,agentWaiting:r.waiters>0||(r.agents?.length??0)>0,waitingAgents:r.agents??[],lastSend:r.lastSentAt==null?null:{round:r.round,sentAt:r.lastSentAt,decision:r.lastDecision,openCount:r.lastOpenCount??null},resolveAllOpen:j,resolvingAll:A.isPending}}var SE=[`plans`];async function CE(){return(await fetch(`/api/plans`)).json()}function wE(){let e=Ve(),{data:t=[],isLoading:n}=nt({queryKey:SE,queryFn:CE});(0,W.useEffect)(()=>fE(`plans`,()=>{e.invalidateQueries({queryKey:SE})}),[e]);let[r,i]=(0,W.useState)({round:0,waiters:0,lastDecidedAt:null});(0,W.useEffect)(()=>{let e=!1;fetch(`/api/plan-review/status`).then(e=>e.json()).then(t=>{e||i(t)}).catch(()=>{});let t=fE(`plan-review-status`,e=>{try{i(JSON.parse(e))}catch{}});return()=>{e=!0,t()}},[]);let a=(0,W.useRef)(null),[o,s]=(0,W.useState)(null);(0,W.useEffect)(()=>{if(n)return;let e=a.current===null;a.current===null&&(a.current=new Set);let r=a.current,i=null;for(let n of t)for(let t of n.comments??[])for(let a of t.replies??[])r.has(a.id)||(r.add(a.id),!e&&t.status!==`resolved`&&(a.role===`agent`||a.role==null&&a.model)&&(!i||a.createdAt>i.at)&&(i={at:a.createdAt,planId:n.id,commentId:t.id,model:a.model,body:a.body}));i&&s(i)},[t,n]);let c=(0,W.useCallback)(t=>{e.setQueryData(SE,(e=[])=>e.some(e=>e.id===t.id)?e.map(e=>e.id===t.id?t:e):[...e,t])},[e]),l=rt({mutationFn:async({planId:e,...t})=>(await fetch(`/api/plans/${e}/comments`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)})).json(),onSuccess:c}),u=rt({mutationFn:async({planId:e,commentId:t,body:n,status:r})=>(await fetch(`/api/plans/${e}/comments/${t}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:n,status:r})})).json(),onSuccess:c}),d=rt({mutationFn:async({planId:e,commentId:t})=>(await fetch(`/api/plans/${e}/comments/${t}`,{method:`DELETE`})).json(),onSuccess:c}),f=rt({mutationFn:async({planId:e,commentId:t,body:n})=>(await fetch(`/api/plans/${e}/comments/${t}/replies`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:n,role:`user`})})).json(),onSuccess:c}),p=rt({mutationFn:async({planId:e,commentId:t,replyId:n,body:r})=>(await fetch(`/api/plans/${e}/comments/${t}/replies/${n}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:r})})).json(),onSuccess:c}),m=rt({mutationFn:async({planId:e,commentId:t,replyId:n})=>(await fetch(`/api/plans/${e}/comments/${t}/replies/${n}`,{method:`DELETE`})).json(),onSuccess:c}),h=rt({mutationFn:async({planId:e,decision:t,decisionComment:n,mode:r})=>{let i=await fetch(`/api/plans/${e}/decision`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({decision:t,decisionComment:n?.trim()||void 0,mode:r})});if(!i.ok)throw Error(`Failed to submit plan decision`);return i.json()},onSuccess:()=>e.invalidateQueries({queryKey:SE})}),g=rt({mutationFn:async e=>(await fetch(`/api/plans/${e}`,{method:`DELETE`}),e),onSuccess:t=>{e.setQueryData(SE,(e=[])=>e.filter(e=>e.id!==t))}}),_=rt({mutationFn:async({planId:e,title:t,body:n,source:r,model:i})=>{let a=await fetch(`/api/plans/${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({title:t,body:n,source:r,model:i})});if(!a.ok){let e=await a.json().catch(()=>({}));throw Error(typeof e.error==`string`?e.error:`Failed to update plan (${a.status})`)}return a.json()},onSuccess:c}),v=rt({mutationFn:async({planId:e,title:t,body:n,source:r,model:i})=>{let a=await fetch(`/api/plans`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({id:e,title:t,body:n,source:r,model:i})});if(!a.ok){let e=await a.json().catch(()=>({}));throw Error(typeof e.error==`string`?e.error:`Failed to save plan version (${a.status})`)}return a.json()},onSuccess:c});return{plans:t,getPlan:(0,W.useCallback)(e=>t.find(t=>t.id===e)??null,[t]),addPlanComment:(0,W.useCallback)(e=>l.mutate(e),[l.mutate]),editPlanComment:(0,W.useCallback)((e,t,n)=>u.mutate({planId:e,commentId:t,body:n}),[u.mutate]),resolvePlanComment:(0,W.useCallback)((e,t)=>u.mutate({planId:e,commentId:t,status:`resolved`}),[u.mutate]),unresolvePlanComment:(0,W.useCallback)((e,t)=>u.mutate({planId:e,commentId:t,status:`open`}),[u.mutate]),removePlanComment:(0,W.useCallback)((e,t)=>d.mutate({planId:e,commentId:t}),[d.mutate]),addPlanReply:(0,W.useCallback)((e,t,n)=>f.mutate({planId:e,commentId:t,body:n}),[f.mutate]),editPlanReply:(0,W.useCallback)((e,t,n,r)=>p.mutate({planId:e,commentId:t,replyId:n,body:r}),[p.mutate]),removePlanReply:(0,W.useCallback)((e,t,n)=>m.mutate({planId:e,commentId:t,replyId:n}),[m.mutate]),removePlan:(0,W.useCallback)(e=>g.mutate(e),[g.mutate]),updatePlan:(0,W.useCallback)((e,t)=>_.mutateAsync({planId:e,...t}),[_.mutateAsync]),submitPlanVersion:(0,W.useCallback)((e,t)=>v.mutateAsync({planId:e,...t}),[v.mutateAsync]),updatingPlan:_.isPending,submittingPlanVersion:v.isPending,submitDecision:(0,W.useCallback)((e,t,n,r)=>h.mutateAsync({planId:e,decision:t,decisionComment:n,mode:r}),[h.mutateAsync]),submitting:h.isPending,agentWaiting:r.waiters>0,agentActivity:o,clearAgentActivity:(0,W.useCallback)(()=>s(null),[]),isLoading:n}}var TE=new Set;function EE(){for(let e of TE)e()}function DE(e,t={}){e!==window.location.pathname+window.location.search&&(t.replace?window.history.replaceState(null,``,e):window.history.pushState(null,``,e),EE())}function OE(e){return TE.add(e),window.addEventListener(`popstate`,e),()=>{TE.delete(e),window.removeEventListener(`popstate`,e)}}function kE(){return window.location.pathname}function AE(){return`/`}function jE(){return(0,W.useSyncExternalStore)(OE,kE,AE)}function ME(e){let[t,n]=(0,W.useState)({inMerge:!1,conflicts:[]}),r=(0,W.useCallback)(()=>{fetch(`/api/merge-status`).then(e=>e.ok?e.json():{inMerge:!1,conflicts:[]}).then(n).catch(()=>n({inMerge:!1,conflicts:[]}))},[]);return(0,W.useEffect)(()=>{r()},[r,e]),{status:t,refresh:r}}var NE={staged:!0,untracked:!0,diffStyle:`split`,defaultTabSize:4,theme:`nord`,editorIDE:`default`,lineDiffType:`word`,lineWrap:!1,diffIndicators:`classic`,showLineNumbers:!0,hunkSeparators:`line-info`,lineHoverHighlight:`both`,fontSize:13,expandContextByDefault:!1,collapsedContextThreshold:10,expansionLineCount:20,haptics:!0,sounds:!0,uiFont:null,monoFont:null,density:`comfortable`,autoCollapseLineThreshold:400,requireViewAllBeforeSend:!1,showStatusBar:!0,savedReplies:[],ignoreSpaceChange:!1,ignoreAllSpace:!1},PE=`ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace`;function FE(e){return e?`"${e}", ${PE}`:`"JetBrains Mono", ${PE}`}function IE(){let[e,t]=(0,W.useState)(NE),[n,r]=(0,W.useState)(!1),i=(0,W.useRef)(!0);return(0,W.useEffect)(()=>{fetch(`/api/settings`).then(e=>e.json()).then(e=>{i.current=!0,t({...NE,...e}),r(!0)}).catch(()=>r(!0))},[]),(0,W.useEffect)(()=>{if(i.current){i.current=!1;return}let t=setTimeout(()=>{fetch(`/api/settings`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)}).catch(()=>{})},300);return()=>clearTimeout(t)},[e]),{settings:e,loaded:n,updateSettings:(0,W.useCallback)(e=>{t(t=>({...t,...e}))},[])}}function LE(e,t,n){(0,W.useEffect)(()=>{let r=`, ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace`;if(!e)return;let i=`gfonts-preconnect`,a=`gfonts-preconnect-static`,o=`gfonts-link`,s=`diffing-fonts-override`,c=()=>{if(!document.getElementById(i)){let e=document.createElement(`link`);e.id=i,e.rel=`preconnect`,e.href=`https://fonts.googleapis.com`,document.head.appendChild(e)}if(!document.getElementById(a)){let e=document.createElement(`link`);e.id=a,e.rel=`preconnect`,e.href=`https://fonts.gstatic.com`,e.crossOrigin=`anonymous`,document.head.appendChild(e)}},l=e=>encodeURIComponent(e.trim()).replace(/%20/g,`+`),u=t?.trim()?l(t):`Geist+Mono:ital,wght@0,100..900;1,100..900`,d=n?.trim()?l(n):`JetBrains+Mono:ital,wght@0,100..800;1,100..800`,f=[...new Set([u,d].filter(Boolean))];c();let p=`https://fonts.googleapis.com/css2?family=${f.join(`&family=`)}&display=swap`,m=document.getElementById(o);m||(m=document.createElement(`link`),m.id=o,m.rel=`stylesheet`,document.head.appendChild(m)),m.getAttribute(`href`)!==p&&m.setAttribute(`href`,p);let h=document.getElementById(s);h||(h=document.createElement(`style`),h.id=s,document.head.appendChild(h));let g=t?`"${t}"`:`"Geist Mono"`,_=n?`"${n}"`:`"JetBrains Mono"`;return h.innerHTML=`
1882
+ `)}var yE=[`comments`];async function bE(){return(await fetch(`/api/comments`)).json()}function xE(){let e=Ve(),{data:t=[],isLoading:n}=nt({queryKey:yE,queryFn:bE});(0,W.useEffect)(()=>fE(`comments`,()=>{e.invalidateQueries({queryKey:yE})}),[e]);let[r,i]=(0,W.useState)({round:0,waiters:0,lastSentAt:null,lastDecision:void 0,lastOpenCount:void 0});(0,W.useEffect)(()=>{let e=!1;fetch(`/api/review/status`).then(e=>e.json()).then(t=>{e||i(t)}).catch(()=>{});let t=fE(`agent-status`,e=>{try{i(JSON.parse(e))}catch{}});return()=>{e=!0,t()}},[]);let a=(0,W.useRef)(null),[o,s]=(0,W.useState)(null);(0,W.useEffect)(()=>{if(n)return;let e=a.current===null;a.current===null&&(a.current=new Set);let r=a.current,i=null;for(let n of t)for(let t of n.replies??[])r.has(t.id)||(r.add(t.id),!e&&n.status!==`resolved`&&(t.role===`agent`||t.role==null&&t.model)&&(!i||t.createdAt>i.at)&&(i={at:t.createdAt,commentId:n.id,filePath:n.filePath,model:t.model,body:t.body}));i&&s(i)},[t,n]);let c=rt({mutationFn:async e=>(await fetch(`/api/comments`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)})).json(),onSuccess:t=>{e.setQueryData(yE,(e=[])=>[...e,t])}}),l=rt({mutationFn:async e=>(await fetch(`/api/comments/${e}`,{method:`DELETE`}),e),onSuccess:t=>{e.setQueryData(yE,(e=[])=>e.filter(e=>e.id!==t))}}),u=rt({mutationFn:async({id:e,body:t,status:n})=>(await fetch(`/api/comments/${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:t,status:n})})).json(),onSuccess:t=>{e.setQueryData(yE,(e=[])=>e.map(e=>e.id===t.id?t:e))}}),d=rt({mutationFn:async({id:e,body:t})=>(await fetch(`/api/comments/${e}/replies`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:t,role:`user`})})).json(),onSuccess:t=>{e.setQueryData(yE,(e=[])=>e.map(e=>e.id===t.id?t:e))}}),f=rt({mutationFn:async({commentId:e,replyId:t})=>(await fetch(`/api/comments/${e}/replies/${t}`,{method:`DELETE`})).json(),onSuccess:t=>{e.setQueryData(yE,(e=[])=>e.map(e=>e.id===t.id?t:e))}}),p=rt({mutationFn:async({commentId:e,replyId:t,body:n})=>(await fetch(`/api/comments/${e}/replies/${t}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:n})})).json(),onSuccess:t=>{e.setQueryData(yE,(e=[])=>e.map(e=>e.id===t.id?t:e))}}),m=rt({mutationFn:async({decision:e,generalComment:t,mode:n,force:r})=>{let i=await fetch(`/api/review/send`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({decision:e,generalComment:t?.trim()||void 0,mode:n,force:!!r})});if(i.status===400){let e=await i.json().catch(()=>null);if(e?.error===`secrets-detected`){let t=Error(`Secrets detected`);throw t.kind=`secrets`,t.findings=e.findings??[],t}}if(!i.ok)throw Error(`Failed to send to agent`);return i.json()}}),h=rt({mutationFn:async e=>{let t=await fetch(`/api/comments/${e}/apply-suggestion`,{method:`POST`});if(!t.ok){let e=await t.json();throw Error(e.error||`Failed to apply suggestion`)}return t.json()},onSuccess:()=>{e.invalidateQueries({queryKey:yE})}}),g=(0,W.useCallback)((e,t,n,r,i,a,o)=>{c.mutate({filePath:e,side:t,lineNumber:n,startLineNumber:a,lineContent:r,body:i,severity:o&&o!==`none`?o:void 0})},[c.mutate]),_=(0,W.useCallback)(e=>{l.mutate(e)},[l.mutate]),v=(0,W.useCallback)((e,t)=>{u.mutate({id:e,body:t})},[u.mutate]),y=(0,W.useCallback)(e=>{u.mutate({id:e,status:`resolved`})},[u.mutate]),b=(0,W.useCallback)(e=>{u.mutate({id:e,status:`open`})},[u.mutate]),x=(0,W.useCallback)((e,t)=>{d.mutate({id:e,body:t})},[d.mutate]),S=(0,W.useCallback)((e,t)=>{f.mutate({commentId:e,replyId:t})},[f.mutate]),C=(0,W.useCallback)((e,t,n)=>{p.mutate({commentId:e,replyId:t,body:n})},[p.mutate]),w=(0,W.useCallback)(async e=>{await h.mutateAsync(e)},[h.mutateAsync]),T=(0,W.useCallback)(()=>vE(t),[t]),E=(0,W.useCallback)(e=>t.filter(t=>t.filePath===e).map(e=>({side:e.side,lineNumber:e.lineNumber,metadata:e})),[t]),D=(0,W.useCallback)(async()=>{let e=T();await navigator.clipboard.writeText(e)},[T]),O=(0,W.useCallback)(async()=>{let{formatCommentsMarkdown:e}=await J(async()=>{let{formatCommentsMarkdown:e}=await import(`./review-export-DABY3y7y.js`);return{formatCommentsMarkdown:e}},[]),n=e(t);n&&await navigator.clipboard.writeText(n)},[t]),k=(0,W.useCallback)((e,t,n,r)=>m.mutateAsync({decision:e,generalComment:t,mode:n,force:r}),[m.mutateAsync]),A=rt({mutationFn:async()=>{let e=await fetch(`/api/comments/resolve-all`,{method:`POST`});if(!e.ok)throw Error(`Failed to resolve all comments`);return await e.json()},onSuccess:()=>{e.invalidateQueries({queryKey:yE})}}),j=(0,W.useCallback)(()=>A.mutateAsync(),[A]);return{comments:t,addComment:g,removeComment:_,editComment:v,resolveComment:y,unresolveComment:b,addReply:x,removeReply:S,editReply:C,applySuggestion:w,getAnnotationsForFile:E,formatAllComments:T,copyAllComments:D,copyAllCommentsMarkdown:O,agentActivity:o,clearAgentActivity:(0,W.useCallback)(()=>s(null),[]),sendToAgent:k,sending:m.isPending,agentWaiting:r.waiters>0||(r.agents?.length??0)>0,waitingAgents:r.agents??[],lastSend:r.lastSentAt==null?null:{round:r.round,sentAt:r.lastSentAt,decision:r.lastDecision,openCount:r.lastOpenCount??null},resolveAllOpen:j,resolvingAll:A.isPending}}var SE=[`plans`];async function CE(){return(await fetch(`/api/plans`)).json()}function wE(){let e=Ve(),{data:t=[],isLoading:n}=nt({queryKey:SE,queryFn:CE});(0,W.useEffect)(()=>fE(`plans`,()=>{e.invalidateQueries({queryKey:SE})}),[e]);let[r,i]=(0,W.useState)({round:0,waiters:0,lastDecidedAt:null});(0,W.useEffect)(()=>{let e=!1;fetch(`/api/plan-review/status`).then(e=>e.json()).then(t=>{e||i(t)}).catch(()=>{});let t=fE(`plan-review-status`,e=>{try{i(JSON.parse(e))}catch{}});return()=>{e=!0,t()}},[]);let a=(0,W.useRef)(null),[o,s]=(0,W.useState)(null);(0,W.useEffect)(()=>{if(n)return;let e=a.current===null;a.current===null&&(a.current=new Set);let r=a.current,i=null;for(let n of t)for(let t of n.comments??[])for(let a of t.replies??[])r.has(a.id)||(r.add(a.id),!e&&t.status!==`resolved`&&(a.role===`agent`||a.role==null&&a.model)&&(!i||a.createdAt>i.at)&&(i={at:a.createdAt,planId:n.id,commentId:t.id,model:a.model,body:a.body}));i&&s(i)},[t,n]);let c=(0,W.useCallback)(t=>{e.setQueryData(SE,(e=[])=>e.some(e=>e.id===t.id)?e.map(e=>e.id===t.id?t:e):[...e,t])},[e]),l=rt({mutationFn:async({planId:e,...t})=>(await fetch(`/api/plans/${e}/comments`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)})).json(),onSuccess:c}),u=rt({mutationFn:async({planId:e,commentId:t,body:n,status:r})=>(await fetch(`/api/plans/${e}/comments/${t}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:n,status:r})})).json(),onSuccess:c}),d=rt({mutationFn:async({planId:e,commentId:t})=>(await fetch(`/api/plans/${e}/comments/${t}`,{method:`DELETE`})).json(),onSuccess:c}),f=rt({mutationFn:async({planId:e,commentId:t,body:n})=>(await fetch(`/api/plans/${e}/comments/${t}/replies`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:n,role:`user`})})).json(),onSuccess:c}),p=rt({mutationFn:async({planId:e,commentId:t,replyId:n,body:r})=>(await fetch(`/api/plans/${e}/comments/${t}/replies/${n}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:r})})).json(),onSuccess:c}),m=rt({mutationFn:async({planId:e,commentId:t,replyId:n})=>(await fetch(`/api/plans/${e}/comments/${t}/replies/${n}`,{method:`DELETE`})).json(),onSuccess:c}),h=rt({mutationFn:async({planId:e,decision:t,decisionComment:n,mode:r})=>{let i=await fetch(`/api/plans/${e}/decision`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({decision:t,decisionComment:n?.trim()||void 0,mode:r})});if(!i.ok)throw Error(`Failed to submit plan decision`);return i.json()},onSuccess:()=>e.invalidateQueries({queryKey:SE})}),g=rt({mutationFn:async e=>(await fetch(`/api/plans/${e}`,{method:`DELETE`}),e),onSuccess:t=>{e.setQueryData(SE,(e=[])=>e.filter(e=>e.id!==t))}}),_=rt({mutationFn:async({planId:e,title:t,body:n,source:r,model:i})=>{let a=await fetch(`/api/plans/${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({title:t,body:n,source:r,model:i})});if(!a.ok){let e=await a.json().catch(()=>({}));throw Error(typeof e.error==`string`?e.error:`Failed to update plan (${a.status})`)}return a.json()},onSuccess:c}),v=rt({mutationFn:async({planId:e,title:t,body:n,source:r,model:i})=>{let a=await fetch(`/api/plans`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({id:e,title:t,body:n,source:r,model:i})});if(!a.ok){let e=await a.json().catch(()=>({}));throw Error(typeof e.error==`string`?e.error:`Failed to save plan version (${a.status})`)}return a.json()},onSuccess:c});return{plans:t,getPlan:(0,W.useCallback)(e=>t.find(t=>t.id===e)??null,[t]),addPlanComment:(0,W.useCallback)(e=>l.mutate(e),[l.mutate]),editPlanComment:(0,W.useCallback)((e,t,n)=>u.mutate({planId:e,commentId:t,body:n}),[u.mutate]),resolvePlanComment:(0,W.useCallback)((e,t)=>u.mutate({planId:e,commentId:t,status:`resolved`}),[u.mutate]),unresolvePlanComment:(0,W.useCallback)((e,t)=>u.mutate({planId:e,commentId:t,status:`open`}),[u.mutate]),removePlanComment:(0,W.useCallback)((e,t)=>d.mutate({planId:e,commentId:t}),[d.mutate]),addPlanReply:(0,W.useCallback)((e,t,n)=>f.mutate({planId:e,commentId:t,body:n}),[f.mutate]),editPlanReply:(0,W.useCallback)((e,t,n,r)=>p.mutate({planId:e,commentId:t,replyId:n,body:r}),[p.mutate]),removePlanReply:(0,W.useCallback)((e,t,n)=>m.mutate({planId:e,commentId:t,replyId:n}),[m.mutate]),removePlan:(0,W.useCallback)(e=>g.mutate(e),[g.mutate]),updatePlan:(0,W.useCallback)((e,t)=>_.mutateAsync({planId:e,...t}),[_.mutateAsync]),submitPlanVersion:(0,W.useCallback)((e,t)=>v.mutateAsync({planId:e,...t}),[v.mutateAsync]),updatingPlan:_.isPending,submittingPlanVersion:v.isPending,submitDecision:(0,W.useCallback)((e,t,n,r)=>h.mutateAsync({planId:e,decision:t,decisionComment:n,mode:r}),[h.mutateAsync]),submitting:h.isPending,agentWaiting:r.waiters>0,agentActivity:o,clearAgentActivity:(0,W.useCallback)(()=>s(null),[]),isLoading:n}}var TE=new Set;function EE(){for(let e of TE)e()}function DE(e,t={}){e!==window.location.pathname+window.location.search&&(t.replace?window.history.replaceState(null,``,e):window.history.pushState(null,``,e),EE())}function OE(e){return TE.add(e),window.addEventListener(`popstate`,e),()=>{TE.delete(e),window.removeEventListener(`popstate`,e)}}function kE(){return window.location.pathname}function AE(){return`/`}function jE(){return(0,W.useSyncExternalStore)(OE,kE,AE)}function ME(e){let[t,n]=(0,W.useState)({inMerge:!1,conflicts:[]}),r=(0,W.useCallback)(()=>{fetch(`/api/merge-status`).then(e=>e.ok?e.json():{inMerge:!1,conflicts:[]}).then(n).catch(()=>n({inMerge:!1,conflicts:[]}))},[]);return(0,W.useEffect)(()=>{r()},[r,e]),{status:t,refresh:r}}var NE={staged:!0,untracked:!0,diffStyle:`split`,defaultTabSize:4,theme:`rose-pine`,editorIDE:`default`,lineDiffType:`word`,lineWrap:!1,diffIndicators:`classic`,showLineNumbers:!0,hunkSeparators:`line-info`,lineHoverHighlight:`both`,fontSize:13,expandContextByDefault:!1,collapsedContextThreshold:10,expansionLineCount:20,haptics:!0,sounds:!0,uiFont:null,monoFont:null,density:`comfortable`,autoCollapseLineThreshold:400,requireViewAllBeforeSend:!1,showStatusBar:!0,savedReplies:[],ignoreSpaceChange:!1,ignoreAllSpace:!1},PE=`ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace`;function FE(e){return e?`"${e}", ${PE}`:`"JetBrains Mono", ${PE}`}function IE(){let[e,t]=(0,W.useState)(NE),[n,r]=(0,W.useState)(!1),i=(0,W.useRef)(!0);return(0,W.useEffect)(()=>{fetch(`/api/settings`).then(e=>e.json()).then(e=>{i.current=!0,t({...NE,...e}),r(!0)}).catch(()=>r(!0))},[]),(0,W.useEffect)(()=>{if(i.current){i.current=!1;return}let t=setTimeout(()=>{fetch(`/api/settings`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)}).catch(()=>{})},300);return()=>clearTimeout(t)},[e]),{settings:e,loaded:n,updateSettings:(0,W.useCallback)(e=>{t(t=>({...t,...e}))},[])}}function LE(e,t,n){(0,W.useEffect)(()=>{let r=`, ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace`;if(!e)return;let i=`gfonts-preconnect`,a=`gfonts-preconnect-static`,o=`gfonts-link`,s=`diffing-fonts-override`,c=()=>{if(!document.getElementById(i)){let e=document.createElement(`link`);e.id=i,e.rel=`preconnect`,e.href=`https://fonts.googleapis.com`,document.head.appendChild(e)}if(!document.getElementById(a)){let e=document.createElement(`link`);e.id=a,e.rel=`preconnect`,e.href=`https://fonts.gstatic.com`,e.crossOrigin=`anonymous`,document.head.appendChild(e)}},l=e=>encodeURIComponent(e.trim()).replace(/%20/g,`+`),u=t?.trim()?l(t):`Geist+Mono:ital,wght@0,100..900;1,100..900`,d=n?.trim()?l(n):`JetBrains+Mono:ital,wght@0,100..800;1,100..800`,f=[...new Set([u,d].filter(Boolean))];c();let p=`https://fonts.googleapis.com/css2?family=${f.join(`&family=`)}&display=swap`,m=document.getElementById(o);m||(m=document.createElement(`link`),m.id=o,m.rel=`stylesheet`,document.head.appendChild(m)),m.getAttribute(`href`)!==p&&m.setAttribute(`href`,p);let h=document.getElementById(s);h||(h=document.createElement(`style`),h.id=s,document.head.appendChild(h));let g=t?`"${t}"`:`"Geist Mono"`,_=n?`"${n}"`:`"JetBrains Mono"`;return h.innerHTML=`
1883
1883
  :root {
1884
1884
  --font-sans: ${g}${r} !important;
1885
1885
  --font-mono: ${_}${r} !important;
@@ -1929,17 +1929,17 @@ XID_Start XIDS`.split(/\s/).map(e=>[Nu(e),e])),Dd=new Map([[`s`,dd(383)],[dd(383
1929
1929
  `},l]}}var pB=e=>({IMPORTANT:{scope:`meta`,begin:`!important`},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:`number`,begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:`built_in`,begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:`selector-attr`,begin:/\[/,end:/\]/,illegal:`$`,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:`number`,begin:e.NUMBER_RE+`(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?`,relevance:0},CSS_VARIABLE:{className:`attr`,begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),mB=`a.abbr.address.article.aside.audio.b.blockquote.body.button.canvas.caption.cite.code.dd.del.details.dfn.div.dl.dt.em.fieldset.figcaption.figure.footer.form.h1.h2.h3.h4.h5.h6.header.hgroup.html.i.iframe.img.input.ins.kbd.label.legend.li.main.mark.menu.nav.object.ol.optgroup.option.p.picture.q.quote.samp.section.select.source.span.strong.summary.sup.table.tbody.td.textarea.tfoot.th.thead.time.tr.ul.var.video`.split(`.`),hB=`defs.g.marker.mask.pattern.svg.switch.symbol.feBlend.feColorMatrix.feComponentTransfer.feComposite.feConvolveMatrix.feDiffuseLighting.feDisplacementMap.feFlood.feGaussianBlur.feImage.feMerge.feMorphology.feOffset.feSpecularLighting.feTile.feTurbulence.linearGradient.radialGradient.stop.circle.ellipse.image.line.path.polygon.polyline.rect.text.use.textPath.tspan.foreignObject.clipPath`.split(`.`),gB=[...mB,...hB],_B=`any-hover.any-pointer.aspect-ratio.color.color-gamut.color-index.device-aspect-ratio.device-height.device-width.display-mode.forced-colors.grid.height.hover.inverted-colors.monochrome.orientation.overflow-block.overflow-inline.pointer.prefers-color-scheme.prefers-contrast.prefers-reduced-motion.prefers-reduced-transparency.resolution.scan.scripting.update.width.min-width.max-width.min-height.max-height`.split(`.`).sort().reverse(),vB=`active.any-link.blank.checked.current.default.defined.dir.disabled.drop.empty.enabled.first.first-child.first-of-type.fullscreen.future.focus.focus-visible.focus-within.has.host.host-context.hover.indeterminate.in-range.invalid.is.lang.last-child.last-of-type.left.link.local-link.not.nth-child.nth-col.nth-last-child.nth-last-col.nth-last-of-type.nth-of-type.only-child.only-of-type.optional.out-of-range.past.placeholder-shown.read-only.read-write.required.right.root.scope.target.target-within.user-invalid.valid.visited.where`.split(`.`).sort().reverse(),yB=[`after`,`backdrop`,`before`,`cue`,`cue-region`,`first-letter`,`first-line`,`grammar-error`,`marker`,`part`,`placeholder`,`selection`,`slotted`,`spelling-error`].sort().reverse(),bB=`accent-color.align-content.align-items.align-self.alignment-baseline.all.anchor-name.animation.animation-composition.animation-delay.animation-direction.animation-duration.animation-fill-mode.animation-iteration-count.animation-name.animation-play-state.animation-range.animation-range-end.animation-range-start.animation-timeline.animation-timing-function.appearance.aspect-ratio.backdrop-filter.backface-visibility.background.background-attachment.background-blend-mode.background-clip.background-color.background-image.background-origin.background-position.background-position-x.background-position-y.background-repeat.background-size.baseline-shift.block-size.border.border-block.border-block-color.border-block-end.border-block-end-color.border-block-end-style.border-block-end-width.border-block-start.border-block-start-color.border-block-start-style.border-block-start-width.border-block-style.border-block-width.border-bottom.border-bottom-color.border-bottom-left-radius.border-bottom-right-radius.border-bottom-style.border-bottom-width.border-collapse.border-color.border-end-end-radius.border-end-start-radius.border-image.border-image-outset.border-image-repeat.border-image-slice.border-image-source.border-image-width.border-inline.border-inline-color.border-inline-end.border-inline-end-color.border-inline-end-style.border-inline-end-width.border-inline-start.border-inline-start-color.border-inline-start-style.border-inline-start-width.border-inline-style.border-inline-width.border-left.border-left-color.border-left-style.border-left-width.border-radius.border-right.border-right-color.border-right-style.border-right-width.border-spacing.border-start-end-radius.border-start-start-radius.border-style.border-top.border-top-color.border-top-left-radius.border-top-right-radius.border-top-style.border-top-width.border-width.bottom.box-align.box-decoration-break.box-direction.box-flex.box-flex-group.box-lines.box-ordinal-group.box-orient.box-pack.box-shadow.box-sizing.break-after.break-before.break-inside.caption-side.caret-color.clear.clip.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.color-scheme.column-count.column-fill.column-gap.column-rule.column-rule-color.column-rule-style.column-rule-width.column-span.column-width.columns.contain.contain-intrinsic-block-size.contain-intrinsic-height.contain-intrinsic-inline-size.contain-intrinsic-size.contain-intrinsic-width.container.container-name.container-type.content.content-visibility.counter-increment.counter-reset.counter-set.cue.cue-after.cue-before.cursor.cx.cy.direction.display.dominant-baseline.empty-cells.enable-background.field-sizing.fill.fill-opacity.fill-rule.filter.flex.flex-basis.flex-direction.flex-flow.flex-grow.flex-shrink.flex-wrap.float.flood-color.flood-opacity.flow.font.font-display.font-family.font-feature-settings.font-kerning.font-language-override.font-optical-sizing.font-palette.font-size.font-size-adjust.font-smooth.font-smoothing.font-stretch.font-style.font-synthesis.font-synthesis-position.font-synthesis-small-caps.font-synthesis-style.font-synthesis-weight.font-variant.font-variant-alternates.font-variant-caps.font-variant-east-asian.font-variant-emoji.font-variant-ligatures.font-variant-numeric.font-variant-position.font-variation-settings.font-weight.forced-color-adjust.gap.glyph-orientation-horizontal.glyph-orientation-vertical.grid.grid-area.grid-auto-columns.grid-auto-flow.grid-auto-rows.grid-column.grid-column-end.grid-column-start.grid-gap.grid-row.grid-row-end.grid-row-start.grid-template.grid-template-areas.grid-template-columns.grid-template-rows.hanging-punctuation.height.hyphenate-character.hyphenate-limit-chars.hyphens.icon.image-orientation.image-rendering.image-resolution.ime-mode.initial-letter.initial-letter-align.inline-size.inset.inset-area.inset-block.inset-block-end.inset-block-start.inset-inline.inset-inline-end.inset-inline-start.isolation.justify-content.justify-items.justify-self.kerning.left.letter-spacing.lighting-color.line-break.line-height.line-height-step.list-style.list-style-image.list-style-position.list-style-type.margin.margin-block.margin-block-end.margin-block-start.margin-bottom.margin-inline.margin-inline-end.margin-inline-start.margin-left.margin-right.margin-top.margin-trim.marker.marker-end.marker-mid.marker-start.marks.mask.mask-border.mask-border-mode.mask-border-outset.mask-border-repeat.mask-border-slice.mask-border-source.mask-border-width.mask-clip.mask-composite.mask-image.mask-mode.mask-origin.mask-position.mask-repeat.mask-size.mask-type.masonry-auto-flow.math-depth.math-shift.math-style.max-block-size.max-height.max-inline-size.max-width.min-block-size.min-height.min-inline-size.min-width.mix-blend-mode.nav-down.nav-index.nav-left.nav-right.nav-up.none.normal.object-fit.object-position.offset.offset-anchor.offset-distance.offset-path.offset-position.offset-rotate.opacity.order.orphans.outline.outline-color.outline-offset.outline-style.outline-width.overflow.overflow-anchor.overflow-block.overflow-clip-margin.overflow-inline.overflow-wrap.overflow-x.overflow-y.overlay.overscroll-behavior.overscroll-behavior-block.overscroll-behavior-inline.overscroll-behavior-x.overscroll-behavior-y.padding.padding-block.padding-block-end.padding-block-start.padding-bottom.padding-inline.padding-inline-end.padding-inline-start.padding-left.padding-right.padding-top.page.page-break-after.page-break-before.page-break-inside.paint-order.pause.pause-after.pause-before.perspective.perspective-origin.place-content.place-items.place-self.pointer-events.position.position-anchor.position-visibility.print-color-adjust.quotes.r.resize.rest.rest-after.rest-before.right.rotate.row-gap.ruby-align.ruby-position.scale.scroll-behavior.scroll-margin.scroll-margin-block.scroll-margin-block-end.scroll-margin-block-start.scroll-margin-bottom.scroll-margin-inline.scroll-margin-inline-end.scroll-margin-inline-start.scroll-margin-left.scroll-margin-right.scroll-margin-top.scroll-padding.scroll-padding-block.scroll-padding-block-end.scroll-padding-block-start.scroll-padding-bottom.scroll-padding-inline.scroll-padding-inline-end.scroll-padding-inline-start.scroll-padding-left.scroll-padding-right.scroll-padding-top.scroll-snap-align.scroll-snap-stop.scroll-snap-type.scroll-timeline.scroll-timeline-axis.scroll-timeline-name.scrollbar-color.scrollbar-gutter.scrollbar-width.shape-image-threshold.shape-margin.shape-outside.shape-rendering.speak.speak-as.src.stop-color.stop-opacity.stroke.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke-width.tab-size.table-layout.text-align.text-align-all.text-align-last.text-anchor.text-combine-upright.text-decoration.text-decoration-color.text-decoration-line.text-decoration-skip.text-decoration-skip-ink.text-decoration-style.text-decoration-thickness.text-emphasis.text-emphasis-color.text-emphasis-position.text-emphasis-style.text-indent.text-justify.text-orientation.text-overflow.text-rendering.text-shadow.text-size-adjust.text-transform.text-underline-offset.text-underline-position.text-wrap.text-wrap-mode.text-wrap-style.timeline-scope.top.touch-action.transform.transform-box.transform-origin.transform-style.transition.transition-behavior.transition-delay.transition-duration.transition-property.transition-timing-function.translate.unicode-bidi.user-modify.user-select.vector-effect.vertical-align.view-timeline.view-timeline-axis.view-timeline-inset.view-timeline-name.view-transition-name.visibility.voice-balance.voice-duration.voice-family.voice-pitch.voice-range.voice-rate.voice-stress.voice-volume.white-space.white-space-collapse.widows.width.will-change.word-break.word-spacing.word-wrap.writing-mode.x.y.z-index.zoom`.split(`.`).sort().reverse(),xB=vB.concat(yB).sort().reverse();function SB(e){let t=pB(e),n=xB,r=`[\\w-]+`,i=`(`+r+`|@\\{[\\w-]+\\})`,a=[],o=[],s=function(e){return{className:`string`,begin:`~?`+e+`.*?`+e}},c=function(e,t,n){return{className:e,begin:t,relevance:n}},l={$pattern:/[a-z-]+/,keyword:`and or not only`,attribute:_B.join(` `)},u={begin:`\\(`,end:`\\)`,contains:o,keywords:l,relevance:0};o.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s(`'`),s(`"`),t.CSS_NUMBER_MODE,{begin:`(url|data-uri)\\(`,starts:{className:`string`,end:`[\\)\\n]`,excludeEnd:!0}},t.HEXCOLOR,u,c(`variable`,`@@?`+r,10),c(`variable`,`@\\{`+r+`\\}`),c(`built_in`,"~?`[^`]*?`"),{className:`attribute`,begin:r+`\\s*:`,end:`:`,returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:`and not`},t.FUNCTION_DISPATCH);let d=o.concat({begin:/\{/,end:/\}/,contains:a}),f={beginKeywords:`when`,endsWithParent:!0,contains:[{beginKeywords:`and not`}].concat(o)},p={begin:i+`\\s*:`,returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:`attribute`,begin:`\\b(`+bB.join(`|`)+`)\\b`,end:/(?=:)/,starts:{endsWithParent:!0,illegal:`[<=$]`,relevance:0,contains:o}}]},m={className:`keyword`,begin:`@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b`,starts:{end:`[;{}]`,keywords:l,returnEnd:!0,contains:o,relevance:0}},h={className:`variable`,variants:[{begin:`@`+r+`\\s*:`,relevance:15},{begin:`@`+r}],starts:{end:`[;}]`,returnEnd:!0,contains:d}},g={variants:[{begin:`[\\.#:&\\[>]`,end:`[;{}]`},{begin:i,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,f,c(`keyword`,`all\\b`),c(`variable`,`@\\{`+r+`\\}`),{begin:`\\b(`+gB.join(`|`)+`)\\b`,className:`selector-tag`},t.CSS_NUMBER_MODE,c(`selector-tag`,i,0),c(`selector-id`,`#`+i),c(`selector-class`,`\\.`+i,0),c(`selector-tag`,`&`,0),t.ATTRIBUTE_SELECTOR_MODE,{className:`selector-pseudo`,begin:`:(`+vB.join(`|`)+`)`},{className:`selector-pseudo`,begin:`:(:)?(`+yB.join(`|`)+`)`},{begin:/\(/,end:/\)/,relevance:0,contains:d},{begin:`!important`},t.FUNCTION_DISPATCH]},_={begin:`[\\w-]+:(:)?(${n.join(`|`)})`,returnBegin:!0,contains:[g]};return a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,m,h,_,p,g,f,t.FUNCTION_DISPATCH),{name:`Less`,case_insensitive:!0,illegal:`[=>'/<($"]`,contains:a}}function CB(e){let t=`\\[=*\\[`,n=`\\]=*\\]`,r={begin:t,end:n,contains:[`self`]},i=[e.COMMENT(`--(?!`+t+`)`,`$`),e.COMMENT(`--`+t,n,{contains:[r],relevance:10})];return{name:`Lua`,aliases:[`pluto`],keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:`true false nil`,keyword:`and break do else elseif end for goto if in local not or repeat return then until while`,built_in:`_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove`},contains:i.concat([{className:`function`,beginKeywords:`function`,end:`\\)`,contains:[e.inherit(e.TITLE_MODE,{begin:`([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*`}),{className:`params`,begin:`\\(`,endsWithParent:!0,contains:i}].concat(i)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:`string`,begin:t,end:n,contains:[r],relevance:5}])}}function wB(e){let t={className:`variable`,variants:[{begin:`\\$\\(`+e.UNDERSCORE_IDENT_RE+`\\)`,contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},n={className:`string`,begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t]},r={className:`variable`,begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:`subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value`},contains:[t,n]},i={begin:`^`+e.UNDERSCORE_IDENT_RE+`\\s*(?=[:+?]?=)`},a={className:`meta`,begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:`.PHONY`}},o={className:`section`,begin:/^[^\s]+:/,end:/$/,contains:[t]};return{name:`Makefile`,aliases:[`mk`,`mak`,`make`],keywords:{$pattern:/[\w-]+/,keyword:`define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath`},contains:[e.HASH_COMMENT_MODE,t,n,r,i,a,o]}}function TB(e){let t=e.regex,n={begin:/<\/?[A-Za-z_]/,end:`>`,subLanguage:`xml`,relevance:0},r={begin:`^[-\\*]{3,}`,end:`$`},i={className:`code`,variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:`(~{3,})[^~](.|\\n)*?\\1~*[ ]*`},{begin:"```",end:"```+[ ]*$"},{begin:`~~~`,end:`~~~+[ ]*$`},{begin:"`.+?`"},{begin:`(?=^( {4}|\\t))`,contains:[{begin:`^( {4}|\\t)`,end:`(\\n)$`}],relevance:0}]},a={className:`bullet`,begin:`^[ ]*([*+-]|(\\d+\\.))(?=\\s+)`,end:`\\s+`,excludeEnd:!0},o={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:`symbol`,begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:`link`,begin:/:\s*/,end:/$/,excludeBegin:!0}]},s={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:`string`,relevance:0,begin:`\\[`,end:`\\]`,excludeBegin:!0,returnEnd:!0},{className:`link`,relevance:0,begin:`\\]\\(`,end:`\\)`,excludeBegin:!0,excludeEnd:!0},{className:`symbol`,relevance:0,begin:`\\]\\[`,end:`\\]`,excludeBegin:!0,excludeEnd:!0}]},c={className:`strong`,contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},l={className:`emphasis`,contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},u=e.inherit(c,{contains:[]}),d=e.inherit(l,{contains:[]});c.contains.push(d),l.contains.push(u);let f=[n,s];return[c,l,u,d].forEach(e=>{e.contains=e.contains.concat(f)}),f=f.concat(c,l),{name:`Markdown`,aliases:[`md`,`mkdown`,`mkd`],contains:[{className:`section`,variants:[{begin:`^#{1,6}`,end:`$`,contains:f},{begin:`(?=^.+?\\n[=-]{2,}$)`,contains:[{begin:`^[=-]*$`},{begin:`^`,end:`\\n`,contains:f}]}]},n,a,c,l,{className:`quote`,begin:`^>\\s+`,contains:f,end:`$`},i,r,s,o,{scope:`literal`,match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function EB(e){let t={className:`built_in`,begin:`\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+`},n=/[a-zA-Z@][a-zA-Z0-9_]*/,r=[`int`,`float`,`char`,`unsigned`,`signed`,`short`,`long`,`double`,`wchar_t`,`unichar`,`void`,`bool`,`BOOL`,`id|0`,`_Bool`],i=`while.export.sizeof.typedef.const.struct.for.union.volatile.static.mutable.if.do.return.goto.enum.else.break.extern.asm.case.default.register.explicit.typename.switch.continue.inline.readonly.assign.readwrite.self.@synchronized.id.typeof.nonatomic.IBOutlet.IBAction.strong.weak.copy.in.out.inout.bycopy.byref.oneway.__strong.__weak.__block.__autoreleasing.@private.@protected.@public.@try.@property.@end.@throw.@catch.@finally.@autoreleasepool.@synthesize.@dynamic.@selector.@optional.@required.@encode.@package.@import.@defs.@compatibility_alias.__bridge.__bridge_transfer.__bridge_retained.__bridge_retain.__covariant.__contravariant.__kindof._Nonnull._Nullable._Null_unspecified.__FUNCTION__.__PRETTY_FUNCTION__.__attribute__.getter.setter.retain.unsafe_unretained.nonnull.nullable.null_unspecified.null_resettable.class.instancetype.NS_DESIGNATED_INITIALIZER.NS_UNAVAILABLE.NS_REQUIRES_SUPER.NS_RETURNS_INNER_POINTER.NS_INLINE.NS_AVAILABLE.NS_DEPRECATED.NS_ENUM.NS_OPTIONS.NS_SWIFT_UNAVAILABLE.NS_ASSUME_NONNULL_BEGIN.NS_ASSUME_NONNULL_END.NS_REFINED_FOR_SWIFT.NS_SWIFT_NAME.NS_SWIFT_NOTHROW.NS_DURING.NS_HANDLER.NS_ENDHANDLER.NS_VALUERETURN.NS_VOIDRETURN`.split(`.`),a=[`false`,`true`,`FALSE`,`TRUE`,`nil`,`YES`,`NO`,`NULL`],o=[`dispatch_once_t`,`dispatch_queue_t`,`dispatch_sync`,`dispatch_async`,`dispatch_once`],s={"variable.language":[`this`,`super`],$pattern:n,keyword:i,literal:a,built_in:o,type:r},c={$pattern:n,keyword:[`@interface`,`@class`,`@protocol`,`@implementation`]};return{name:`Objective-C`,aliases:[`mm`,`objc`,`obj-c`,`obj-c++`,`objective-c++`],keywords:s,illegal:`</`,contains:[t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:`string`,variants:[{begin:`@"`,end:`"`,illegal:`\\n`,contains:[e.BACKSLASH_ESCAPE]}]},{className:`meta`,begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:`if else elif endif define undef warning error line pragma ifdef ifndef include`},contains:[{begin:/\\\n/,relevance:0},e.inherit(e.QUOTE_STRING_MODE,{className:`string`}),{className:`string`,begin:/<.*?>/,end:/$/,illegal:`\\n`},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:`class`,begin:`(`+c.keyword.join(`|`)+`)\\b`,end:/(\{|$)/,excludeEnd:!0,keywords:c,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:`\\.`+e.UNDERSCORE_IDENT_RE,relevance:0}]}}function DB(e){let t=e.regex,n=`abs.accept.alarm.and.atan2.bind.binmode.bless.break.caller.chdir.chmod.chomp.chop.chown.chr.chroot.class.close.closedir.connect.continue.cos.crypt.dbmclose.dbmopen.defined.delete.die.do.dump.each.else.elsif.endgrent.endhostent.endnetent.endprotoent.endpwent.endservent.eof.eval.exec.exists.exit.exp.fcntl.field.fileno.flock.for.foreach.fork.format.formline.getc.getgrent.getgrgid.getgrnam.gethostbyaddr.gethostbyname.gethostent.getlogin.getnetbyaddr.getnetbyname.getnetent.getpeername.getpgrp.getpriority.getprotobyname.getprotobynumber.getprotoent.getpwent.getpwnam.getpwuid.getservbyname.getservbyport.getservent.getsockname.getsockopt.given.glob.gmtime.goto.grep.gt.hex.if.index.int.ioctl.join.keys.kill.last.lc.lcfirst.length.link.listen.local.localtime.log.lstat.lt.ma.map.method.mkdir.msgctl.msgget.msgrcv.msgsnd.my.ne.next.no.not.oct.open.opendir.or.ord.our.pack.package.pipe.pop.pos.print.printf.prototype.push.q|0.qq.quotemeta.qw.qx.rand.read.readdir.readline.readlink.readpipe.recv.redo.ref.rename.require.reset.return.reverse.rewinddir.rindex.rmdir.say.scalar.seek.seekdir.select.semctl.semget.semop.send.setgrent.sethostent.setnetent.setpgrp.setpriority.setprotoent.setpwent.setservent.setsockopt.shift.shmctl.shmget.shmread.shmwrite.shutdown.sin.sleep.socket.socketpair.sort.splice.split.sprintf.sqrt.srand.stat.state.study.sub.substr.symlink.syscall.sysopen.sysread.sysseek.system.syswrite.tell.telldir.tie.tied.time.times.tr.truncate.uc.ucfirst.umask.undef.unless.unlink.unpack.unshift.untie.until.use.utime.values.vec.wait.waitpid.wantarray.warn.when.while.write.x|0.xor.y|0`.split(`.`),r=/[dualxmsipngr]{0,12}/,i={$pattern:/[\w.]+/,keyword:n.join(` `)},a={className:`subst`,begin:`[$@]\\{`,end:`\\}`,keywords:i},o={begin:/->\{/,end:/\}/},s={scope:`attr`,match:/\s+:\s*\w+(\s*\(.*?\))?/},c={scope:`variable`,variants:[{begin:/\$\d/},{begin:t.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,`(?![A-Za-z])(?![@$%])`)},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[s]},l={className:`number`,variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},u=[e.BACKSLASH_ESCAPE,a,c],d=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],f=(e,n,i=`\\1`)=>{let a=i===`\\1`?i:t.concat(i,n);return t.concat(t.concat(`(?:`,e,`)`),n,/(?:\\.|[^\\\/])*?/,a,/(?:\\.|[^\\\/])*?/,i,r)},p=(e,n,i)=>t.concat(t.concat(`(?:`,e,`)`),n,/(?:\\.|[^\\\/])*?/,i,r),m=[c,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),o,{className:`string`,contains:u,variants:[{begin:`q[qwxr]?\\s*\\(`,end:`\\)`,relevance:5},{begin:`q[qwxr]?\\s*\\[`,end:`\\]`,relevance:5},{begin:`q[qwxr]?\\s*\\{`,end:`\\}`,relevance:5},{begin:`q[qwxr]?\\s*\\|`,end:`\\|`,relevance:5},{begin:`q[qwxr]?\\s*<`,end:`>`,relevance:5},{begin:`qw\\s+q`,end:`q`,relevance:5},{begin:`'`,end:`'`,contains:[e.BACKSLASH_ESCAPE]},{begin:`"`,end:`"`},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:`-?\\w+\\s*=>`,relevance:0}]},l,{begin:`(\\/\\/|`+e.RE_STARTERS_RE+`|\\b(split|return|print|reverse|grep)\\b)\\s*`,keywords:`split return print reverse grep`,relevance:0,contains:[e.HASH_COMMENT_MODE,{className:`regexp`,variants:[{begin:f(`s|tr|y`,t.either(...d,{capture:!0}))},{begin:f(`s|tr|y`,`\\(`,`\\)`)},{begin:f(`s|tr|y`,`\\[`,`\\]`)},{begin:f(`s|tr|y`,`\\{`,`\\}`)}],relevance:2},{className:`regexp`,variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:p(`(?:m|qr)?`,/\//,/\//)},{begin:p(`m|qr`,t.either(...d,{capture:!0}),/\1/)},{begin:p(`m|qr`,/\(/,/\)/)},{begin:p(`m|qr`,/\[/,/\]/)},{begin:p(`m|qr`,/\{/,/\}/)}]}]},{className:`function`,beginKeywords:`sub method`,end:`(\\s*\\(.*?\\))?[;{]`,excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,s]},{className:`class`,beginKeywords:`class`,end:`[;{]`,excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,s,l]},{begin:`-\\w\\b`,relevance:0},{begin:`^__DATA__$`,end:`^__END__$`,subLanguage:`mojolicious`,contains:[{begin:`^@@.*`,end:`$`,className:`comment`}]}];return a.contains=m,o.contains=m,{name:`Perl`,aliases:[`pl`,`pm`],keywords:i,contains:m}}function OB(e){let t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,r=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),i=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),a=t.concat(/[A-Z]+/,n),o={scope:`variable`,match:`\\$+`+r},s={scope:`meta`,variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},c={scope:`subst`,variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},l=e.inherit(e.APOS_STRING_MODE,{illegal:null}),u=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(c)}),d={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(c),"on:begin":(e,t)=>{t.data._beginMatch=e[1]||e[2]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}},f=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),p=`[
1930
1930
  ]`,m={scope:`string`,variants:[u,l,d,f]},h={scope:`number`,variants:[{begin:`\\b0[bB][01]+(?:_[01]+)*\\b`},{begin:`\\b0[oO][0-7]+(?:_[0-7]+)*\\b`},{begin:`\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b`},{begin:`(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?`}],relevance:0},g=[`false`,`null`,`true`],_=`__CLASS__.__DIR__.__FILE__.__FUNCTION__.__COMPILER_HALT_OFFSET__.__LINE__.__METHOD__.__NAMESPACE__.__TRAIT__.die.echo.exit.include.include_once.print.require.require_once.array.abstract.and.as.binary.bool.boolean.break.callable.case.catch.class.clone.const.continue.declare.default.do.double.else.elseif.empty.enddeclare.endfor.endforeach.endif.endswitch.endwhile.enum.eval.extends.final.finally.float.for.foreach.from.global.goto.if.implements.instanceof.insteadof.int.integer.interface.isset.iterable.list.match|0.mixed.new.never.object.or.private.protected.public.readonly.real.return.string.switch.throw.trait.try.unset.use.var.void.while.xor.yield`.split(`.`),v=`Error|0.AppendIterator.ArgumentCountError.ArithmeticError.ArrayIterator.ArrayObject.AssertionError.BadFunctionCallException.BadMethodCallException.CachingIterator.CallbackFilterIterator.CompileError.Countable.DirectoryIterator.DivisionByZeroError.DomainException.EmptyIterator.ErrorException.Exception.FilesystemIterator.FilterIterator.GlobIterator.InfiniteIterator.InvalidArgumentException.IteratorIterator.LengthException.LimitIterator.LogicException.MultipleIterator.NoRewindIterator.OutOfBoundsException.OutOfRangeException.OuterIterator.OverflowException.ParentIterator.ParseError.RangeException.RecursiveArrayIterator.RecursiveCachingIterator.RecursiveCallbackFilterIterator.RecursiveDirectoryIterator.RecursiveFilterIterator.RecursiveIterator.RecursiveIteratorIterator.RecursiveRegexIterator.RecursiveTreeIterator.RegexIterator.RuntimeException.SeekableIterator.SplDoublyLinkedList.SplFileInfo.SplFileObject.SplFixedArray.SplHeap.SplMaxHeap.SplMinHeap.SplObjectStorage.SplObserver.SplPriorityQueue.SplQueue.SplStack.SplSubject.SplTempFileObject.TypeError.UnderflowException.UnexpectedValueException.UnhandledMatchError.ArrayAccess.BackedEnum.Closure.Fiber.Generator.Iterator.IteratorAggregate.Serializable.Stringable.Throwable.Traversable.UnitEnum.WeakReference.WeakMap.Directory.__PHP_Incomplete_Class.parent.php_user_filter.self.static.stdClass`.split(`.`),y={keyword:_,literal:(e=>{let t=[];return e.forEach(e=>{t.push(e),e.toLowerCase()===e?t.push(e.toUpperCase()):t.push(e.toLowerCase())}),t})(g),built_in:v},b=e=>e.map(e=>e.replace(/\|\d+$/,``)),x={variants:[{match:[/new/,t.concat(p,`+`),t.concat(`(?!`,b(v).join(`\\b|`),`\\b)`),i],scope:{1:`keyword`,4:`title.class`}}]},S=t.concat(r,`\\b(?!\\()`),C={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),S],scope:{2:`variable.constant`}},{match:[/::/,/class/],scope:{2:`variable.language`}},{match:[i,t.concat(/::/,t.lookahead(/(?!class\b)/)),S],scope:{1:`title.class`,3:`variable.constant`}},{match:[i,t.concat(`::`,t.lookahead(/(?!class\b)/))],scope:{1:`title.class`}},{match:[i,/::/,/class/],scope:{1:`title.class`,3:`variable.language`}}]},w={scope:`attr`,match:t.concat(r,t.lookahead(`:`),t.lookahead(/(?!::)/))},T={relevance:0,begin:/\(/,end:/\)/,keywords:y,contains:[w,o,C,e.C_BLOCK_COMMENT_MODE,m,h,x]},E={relevance:0,match:[/\b/,t.concat(`(?!fn\\b|function\\b|`,b(_).join(`\\b|`),`|`,b(v).join(`\\b|`),`\\b)`),r,t.concat(p,`*`),t.lookahead(/(?=\()/)],scope:{3:`title.function.invoke`},contains:[T]};T.contains.push(E);let D=[w,C,e.C_BLOCK_COMMENT_MODE,m,h,x],O={begin:t.concat(/#\[\s*\\?/,t.either(i,a)),beginScope:`meta`,end:/]/,endScope:`meta`,keywords:{literal:g,keyword:[`new`,`array`]},contains:[{begin:/\[/,end:/]/,keywords:{literal:g,keyword:[`new`,`array`]},contains:[`self`,...D]},...D,{scope:`meta`,variants:[{match:i},{match:a}]}]};return{case_insensitive:!1,keywords:y,contains:[O,e.HASH_COMMENT_MODE,e.COMMENT(`//`,`$`),e.COMMENT(`/\\*`,`\\*/`,{contains:[{scope:`doctag`,match:`@[A-Za-z]+`}]}),{match:/__halt_compiler\(\);/,keywords:`__halt_compiler`,starts:{scope:`comment`,end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:`meta`,endsParent:!0}]}},s,{scope:`variable.language`,match:/\$this\b/},o,E,C,{match:[/const/,/\s/,r],scope:{1:`keyword`,3:`variable.constant`}},x,{scope:`function`,relevance:0,beginKeywords:`fn function`,end:/[;{]/,excludeEnd:!0,illegal:`[$%\\[]`,contains:[{beginKeywords:`use`},e.UNDERSCORE_TITLE_MODE,{begin:`=>`,endsParent:!0},{scope:`params`,begin:`\\(`,end:`\\)`,excludeBegin:!0,excludeEnd:!0,keywords:y,contains:[`self`,O,o,C,e.C_BLOCK_COMMENT_MODE,m,h]}]},{scope:`class`,variants:[{beginKeywords:`enum`,illegal:/[($"]/},{beginKeywords:`class interface trait`,illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:`extends implements`},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:`namespace`,relevance:0,end:`;`,illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:`title.class`})]},{beginKeywords:`use`,relevance:0,end:`;`,contains:[{match:/\b(as|const|function)\b/,scope:`keyword`},e.UNDERSCORE_TITLE_MODE]},m,h]}}function kB(e){return{name:`PHP template`,subLanguage:`xml`,contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:`php`,contains:[{begin:`/\\*`,end:`\\*/`,skip:!0},{begin:`b"`,end:`"`,skip:!0},{begin:`b'`,end:`'`,skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}function AB(e){return{name:`Plain text`,aliases:[`text`,`txt`],disableAutodetect:!0}}function jB(e){let t=e.regex,n=/[\p{XID_Start}_]\p{XID_Continue}*/u,r=`and.as.assert.async.await.break.case.class.continue.def.del.elif.else.except.finally.for.from.global.if.import.in.is.lambda.match.nonlocal|10.not.or.pass.raise.return.try.while.with.yield`.split(`.`),i={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:r,built_in:`__import__.abs.all.any.ascii.bin.bool.breakpoint.bytearray.bytes.callable.chr.classmethod.compile.complex.delattr.dict.dir.divmod.enumerate.eval.exec.filter.float.format.frozenset.getattr.globals.hasattr.hash.help.hex.id.input.int.isinstance.issubclass.iter.len.list.locals.map.max.memoryview.min.next.object.oct.open.ord.pow.print.property.range.repr.reversed.round.set.setattr.slice.sorted.staticmethod.str.sum.super.tuple.type.vars.zip`.split(`.`),literal:[`__debug__`,`Ellipsis`,`False`,`None`,`NotImplemented`,`True`],type:[`Any`,`Callable`,`Coroutine`,`Dict`,`List`,`Literal`,`Generic`,`Optional`,`Sequence`,`Set`,`Tuple`,`Type`,`Union`]},a={className:`meta`,begin:/^(>>>|\.\.\.) /},o={className:`subst`,begin:/\{/,end:/\}/,keywords:i,illegal:/#/},s={begin:/\{\{/,relevance:0},c={className:`string`,contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a,s,o]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a,s,o]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,s,o]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,o]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},l=`[0-9](_?[0-9])*`,u=`(\\b(${l}))?\\.(${l})|\\b(${l})\\.`,d=`\\b|${r.join(`|`)}`,f={className:`number`,relevance:0,variants:[{begin:`(\\b(${l})|(${u}))[eE][+-]?(${l})[jJ]?(?=${d})`},{begin:`(${u})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${d})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${d})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${d})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${d})`},{begin:`\\b(${l})[jJ](?=${d})`}]},p={className:`comment`,begin:t.lookahead(/# type:/),end:/$/,keywords:i,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={className:`params`,variants:[{className:``,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:[`self`,a,f,c,e.HASH_COMMENT_MODE]}]};return o.contains=[c,f,a],{name:`Python`,aliases:[`py`,`gyp`,`ipython`],unicodeRegex:!0,keywords:i,illegal:/(<\/|\?)|=>/,contains:[a,f,{scope:`variable.language`,match:/\bself\b/},{beginKeywords:`if`,relevance:0},{match:/\bor\b/,scope:`keyword`},c,p,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:`keyword`,3:`title.function`},contains:[m]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:`keyword`,3:`title.class`,6:`title.class.inherited`}},{className:`meta`,begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[f,m,c]}]}}function MB(e){return{aliases:[`pycon`],contains:[{className:`meta.prompt`,starts:{end:/ |$/,starts:{end:`$`,subLanguage:`python`}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}function NB(e){let t=e.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,r=t.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,a=t.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:`R`,keywords:{$pattern:n,keyword:`function if in break next repeat else for while`,literal:`NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10`,built_in:`LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm`},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:`doctag`,match:/@examples/,starts:{end:t.lookahead(t.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:`doctag`,begin:`@param`,end:/$/,contains:[{scope:`variable`,variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:`doctag`,match:/@[a-zA-Z]+/},{scope:`keyword`,match:/\\[a-zA-Z]+/}]}),e.HASH_COMMENT_MODE,{scope:`string`,contains:[e.BACKSLASH_ESCAPE],variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:`"`,end:`"`,relevance:0},{begin:`'`,end:`'`,relevance:0}]},{relevance:0,variants:[{scope:{1:`operator`,2:`number`},match:[i,r]},{scope:{1:`operator`,2:`number`},match:[/%[^%]*%/,r]},{scope:{1:`punctuation`,2:`number`},match:[a,r]},{scope:{2:`number`},match:[/[^a-zA-Z0-9._]|^/,r]}]},{scope:{3:`operator`},match:[n,/\s+/,/<-/,/\s+/]},{scope:`operator`,relevance:0,variants:[{match:i},{match:/%[^%]*%/}]},{scope:`punctuation`,relevance:0,match:a},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}function PB(e){let t=e.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",r=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=t.concat(r,/(::\w+)*/),a=[`include`,`extend`,`prepend`,`public`,`private`,`protected`,`raise`,`throw`],o={"variable.constant":[`__FILE__`,`__LINE__`,`__ENCODING__`],"variable.language":[`self`,`super`],keyword:[`alias`,`and`,`begin`,`BEGIN`,`break`,`case`,`class`,`defined`,`do`,`else`,`elsif`,`end`,`END`,`ensure`,`for`,`if`,`in`,`module`,`next`,`not`,`or`,`redo`,`require`,`rescue`,`retry`,`return`,`then`,`undef`,`unless`,`until`,`when`,`while`,`yield`,...a],built_in:[`proc`,`lambda`,`attr_accessor`,`attr_reader`,`attr_writer`,`define_method`,`private_constant`,`module_function`],literal:[`true`,`false`,`nil`]},s={className:`doctag`,begin:`@[A-Za-z]+`},c={begin:`#<`,end:`>`},l=[e.COMMENT(`#`,`$`,{contains:[s]}),e.COMMENT(`^=begin`,`^=end`,{contains:[s],relevance:10}),e.COMMENT(`^__END__`,e.MATCH_NOTHING_RE)],u={className:`subst`,begin:/#\{/,end:/\}/,keywords:o},d={className:`string`,contains:[e.BACKSLASH_ESCAPE,u],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:t.concat(/<<[-~]?'?/,t.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,u]})]}]},f=`[0-9](_?[0-9])*`,p={className:`number`,relevance:0,variants:[{begin:`\\b([1-9](_?[0-9])*|0)(\\.(${f}))?([eE][+-]?(${f})|r)?i?\\b`},{begin:`\\b0[dD][0-9](_?[0-9])*r?i?\\b`},{begin:`\\b0[bB][0-1](_?[0-1])*r?i?\\b`},{begin:`\\b0[oO][0-7](_?[0-7])*r?i?\\b`},{begin:`\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b`},{begin:`\\b0(_?[0-7])+r?i?\\b`}]},m={variants:[{match:/\(\)/},{className:`params`,begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:o}]},h={match:[/(include|extend)\s+/,i],scope:{2:`title.class`},keywords:o},g={variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{match:[/\b(class|module)\s+/,i]}],scope:{2:`title.class`,4:`title.class.inherited`},keywords:o},_={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:`variable.constant`},v={match:[/def/,/\s+/,n],scope:{1:`keyword`,3:`title.function`},contains:[m]},y=[d,g,h,{relevance:0,match:[i,/\.new[. (]/],scope:{1:`title.class`}},_,{relevance:0,match:r,scope:`title.class`},v,{begin:e.IDENT_RE+`::`},{className:`symbol`,begin:e.UNDERSCORE_IDENT_RE+`(!|\\?)?:`,relevance:0},{className:`symbol`,begin:`:(?!\\s)`,contains:[d,{begin:n}],relevance:0},p,{className:`variable`,begin:`(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])`},{className:`params`,begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:o},{begin:`(`+e.RE_STARTERS_RE+`|unless)\\s*`,keywords:`unless`,contains:[{className:`regexp`,contains:[e.BACKSLASH_ESCAPE,u],illegal:/\n/,variants:[{begin:`/`,end:`/[a-z]*`},{begin:/%r\{/,end:/\}[a-z]*/},{begin:`%r\\(`,end:`\\)[a-z]*`},{begin:`%r!`,end:`![a-z]*`},{begin:`%r\\[`,end:`\\][a-z]*`}]}].concat(c,l),relevance:0}].concat(c,l);u.contains=y,m.contains=y;let b=[{begin:/^\s*=>/,starts:{end:`$`,contains:y}},{className:`meta.prompt`,begin:`^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])`,starts:{end:`$`,keywords:o,contains:y}}];return l.unshift(c),{name:`Ruby`,aliases:[`rb`,`gemspec`,`podspec`,`thor`,`irb`],keywords:o,illegal:/\/\*/,contains:[e.SHEBANG({binary:`ruby`})].concat(b,l,y)}}function FB(e){let t=e.regex,n=/(r#)?/,r=t.concat(n,e.UNDERSCORE_IDENT_RE),i=t.concat(n,e.IDENT_RE),a={className:`title.function.invoke`,relevance:0,begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,i,t.lookahead(/\s*\(/))},o=`([ui](8|16|32|64|128|size)|f(32|64))?`,s=`abstract.as.async.await.become.box.break.const.continue.crate.do.dyn.else.enum.extern.false.final.fn.for.if.impl.in.let.loop.macro.match.mod.move.mut.override.priv.pub.ref.return.self.Self.static.struct.super.trait.true.try.type.typeof.union.unsafe.unsized.use.virtual.where.while.yield`.split(`.`),c=[`true`,`false`,`Some`,`None`,`Ok`,`Err`],l=`drop .Copy.Send.Sized.Sync.Drop.Fn.FnMut.FnOnce.ToOwned.Clone.Debug.PartialEq.PartialOrd.Eq.Ord.AsRef.AsMut.Into.From.Default.Iterator.Extend.IntoIterator.DoubleEndedIterator.ExactSizeIterator.SliceConcatExt.ToString.assert!.assert_eq!.bitflags!.bytes!.cfg!.col!.concat!.concat_idents!.debug_assert!.debug_assert_eq!.env!.eprintln!.panic!.file!.format!.format_args!.include_bytes!.include_str!.line!.local_data_key!.module_path!.option_env!.print!.println!.select!.stringify!.try!.unimplemented!.unreachable!.vec!.write!.writeln!.macro_rules!.assert_ne!.debug_assert_ne!`.split(`.`),u=[`i8`,`i16`,`i32`,`i64`,`i128`,`isize`,`u8`,`u16`,`u32`,`u64`,`u128`,`usize`,`f32`,`f64`,`str`,`char`,`bool`,`Box`,`Option`,`Result`,`String`,`Vec`];return{name:`Rust`,aliases:[`rs`],keywords:{$pattern:e.IDENT_RE+`!?`,type:u,keyword:s,literal:c,built_in:l},illegal:`</`,contains:[e.C_LINE_COMMENT_MODE,e.COMMENT(`/\\*`,`\\*/`,{contains:[`self`]}),e.inherit(e.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:`symbol`,begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:`string`,variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:`char.escape`,match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{className:`number`,variants:[{begin:`\\b0b([01_]+)`+o},{begin:`\\b0o([0-7_]+)`+o},{begin:`\\b0x([A-Fa-f0-9_]+)`+o},{begin:`\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)`+o}],relevance:0},{begin:[/fn/,/\s+/,r],className:{1:`keyword`,3:`title.function`}},{className:`meta`,begin:`#!?\\[`,end:`\\]`,contains:[{className:`string`,begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,r],className:{1:`keyword`,3:`keyword`,4:`variable`}},{begin:[/for/,/\s+/,r,/\s+/,/in/],className:{1:`keyword`,3:`variable`,5:`keyword`}},{begin:[/type/,/\s+/,r],className:{1:`keyword`,3:`title.class`}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,r],className:{1:`keyword`,3:`title.class`}},{begin:e.IDENT_RE+`::`,keywords:{keyword:`Self`,built_in:l,type:u}},{className:`punctuation`,begin:`->`},a]}}var IB=e=>({IMPORTANT:{scope:`meta`,begin:`!important`},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:`number`,begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:`built_in`,begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:`selector-attr`,begin:/\[/,end:/\]/,illegal:`$`,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:`number`,begin:e.NUMBER_RE+`(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?`,relevance:0},CSS_VARIABLE:{className:`attr`,begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),LB=`a.abbr.address.article.aside.audio.b.blockquote.body.button.canvas.caption.cite.code.dd.del.details.dfn.div.dl.dt.em.fieldset.figcaption.figure.footer.form.h1.h2.h3.h4.h5.h6.header.hgroup.html.i.iframe.img.input.ins.kbd.label.legend.li.main.mark.menu.nav.object.ol.optgroup.option.p.picture.q.quote.samp.section.select.source.span.strong.summary.sup.table.tbody.td.textarea.tfoot.th.thead.time.tr.ul.var.video`.split(`.`),RB=`defs.g.marker.mask.pattern.svg.switch.symbol.feBlend.feColorMatrix.feComponentTransfer.feComposite.feConvolveMatrix.feDiffuseLighting.feDisplacementMap.feFlood.feGaussianBlur.feImage.feMerge.feMorphology.feOffset.feSpecularLighting.feTile.feTurbulence.linearGradient.radialGradient.stop.circle.ellipse.image.line.path.polygon.polyline.rect.text.use.textPath.tspan.foreignObject.clipPath`.split(`.`),zB=[...LB,...RB],BB=`any-hover.any-pointer.aspect-ratio.color.color-gamut.color-index.device-aspect-ratio.device-height.device-width.display-mode.forced-colors.grid.height.hover.inverted-colors.monochrome.orientation.overflow-block.overflow-inline.pointer.prefers-color-scheme.prefers-contrast.prefers-reduced-motion.prefers-reduced-transparency.resolution.scan.scripting.update.width.min-width.max-width.min-height.max-height`.split(`.`).sort().reverse(),VB=`active.any-link.blank.checked.current.default.defined.dir.disabled.drop.empty.enabled.first.first-child.first-of-type.fullscreen.future.focus.focus-visible.focus-within.has.host.host-context.hover.indeterminate.in-range.invalid.is.lang.last-child.last-of-type.left.link.local-link.not.nth-child.nth-col.nth-last-child.nth-last-col.nth-last-of-type.nth-of-type.only-child.only-of-type.optional.out-of-range.past.placeholder-shown.read-only.read-write.required.right.root.scope.target.target-within.user-invalid.valid.visited.where`.split(`.`).sort().reverse(),HB=[`after`,`backdrop`,`before`,`cue`,`cue-region`,`first-letter`,`first-line`,`grammar-error`,`marker`,`part`,`placeholder`,`selection`,`slotted`,`spelling-error`].sort().reverse(),UB=`accent-color.align-content.align-items.align-self.alignment-baseline.all.anchor-name.animation.animation-composition.animation-delay.animation-direction.animation-duration.animation-fill-mode.animation-iteration-count.animation-name.animation-play-state.animation-range.animation-range-end.animation-range-start.animation-timeline.animation-timing-function.appearance.aspect-ratio.backdrop-filter.backface-visibility.background.background-attachment.background-blend-mode.background-clip.background-color.background-image.background-origin.background-position.background-position-x.background-position-y.background-repeat.background-size.baseline-shift.block-size.border.border-block.border-block-color.border-block-end.border-block-end-color.border-block-end-style.border-block-end-width.border-block-start.border-block-start-color.border-block-start-style.border-block-start-width.border-block-style.border-block-width.border-bottom.border-bottom-color.border-bottom-left-radius.border-bottom-right-radius.border-bottom-style.border-bottom-width.border-collapse.border-color.border-end-end-radius.border-end-start-radius.border-image.border-image-outset.border-image-repeat.border-image-slice.border-image-source.border-image-width.border-inline.border-inline-color.border-inline-end.border-inline-end-color.border-inline-end-style.border-inline-end-width.border-inline-start.border-inline-start-color.border-inline-start-style.border-inline-start-width.border-inline-style.border-inline-width.border-left.border-left-color.border-left-style.border-left-width.border-radius.border-right.border-right-color.border-right-style.border-right-width.border-spacing.border-start-end-radius.border-start-start-radius.border-style.border-top.border-top-color.border-top-left-radius.border-top-right-radius.border-top-style.border-top-width.border-width.bottom.box-align.box-decoration-break.box-direction.box-flex.box-flex-group.box-lines.box-ordinal-group.box-orient.box-pack.box-shadow.box-sizing.break-after.break-before.break-inside.caption-side.caret-color.clear.clip.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.color-scheme.column-count.column-fill.column-gap.column-rule.column-rule-color.column-rule-style.column-rule-width.column-span.column-width.columns.contain.contain-intrinsic-block-size.contain-intrinsic-height.contain-intrinsic-inline-size.contain-intrinsic-size.contain-intrinsic-width.container.container-name.container-type.content.content-visibility.counter-increment.counter-reset.counter-set.cue.cue-after.cue-before.cursor.cx.cy.direction.display.dominant-baseline.empty-cells.enable-background.field-sizing.fill.fill-opacity.fill-rule.filter.flex.flex-basis.flex-direction.flex-flow.flex-grow.flex-shrink.flex-wrap.float.flood-color.flood-opacity.flow.font.font-display.font-family.font-feature-settings.font-kerning.font-language-override.font-optical-sizing.font-palette.font-size.font-size-adjust.font-smooth.font-smoothing.font-stretch.font-style.font-synthesis.font-synthesis-position.font-synthesis-small-caps.font-synthesis-style.font-synthesis-weight.font-variant.font-variant-alternates.font-variant-caps.font-variant-east-asian.font-variant-emoji.font-variant-ligatures.font-variant-numeric.font-variant-position.font-variation-settings.font-weight.forced-color-adjust.gap.glyph-orientation-horizontal.glyph-orientation-vertical.grid.grid-area.grid-auto-columns.grid-auto-flow.grid-auto-rows.grid-column.grid-column-end.grid-column-start.grid-gap.grid-row.grid-row-end.grid-row-start.grid-template.grid-template-areas.grid-template-columns.grid-template-rows.hanging-punctuation.height.hyphenate-character.hyphenate-limit-chars.hyphens.icon.image-orientation.image-rendering.image-resolution.ime-mode.initial-letter.initial-letter-align.inline-size.inset.inset-area.inset-block.inset-block-end.inset-block-start.inset-inline.inset-inline-end.inset-inline-start.isolation.justify-content.justify-items.justify-self.kerning.left.letter-spacing.lighting-color.line-break.line-height.line-height-step.list-style.list-style-image.list-style-position.list-style-type.margin.margin-block.margin-block-end.margin-block-start.margin-bottom.margin-inline.margin-inline-end.margin-inline-start.margin-left.margin-right.margin-top.margin-trim.marker.marker-end.marker-mid.marker-start.marks.mask.mask-border.mask-border-mode.mask-border-outset.mask-border-repeat.mask-border-slice.mask-border-source.mask-border-width.mask-clip.mask-composite.mask-image.mask-mode.mask-origin.mask-position.mask-repeat.mask-size.mask-type.masonry-auto-flow.math-depth.math-shift.math-style.max-block-size.max-height.max-inline-size.max-width.min-block-size.min-height.min-inline-size.min-width.mix-blend-mode.nav-down.nav-index.nav-left.nav-right.nav-up.none.normal.object-fit.object-position.offset.offset-anchor.offset-distance.offset-path.offset-position.offset-rotate.opacity.order.orphans.outline.outline-color.outline-offset.outline-style.outline-width.overflow.overflow-anchor.overflow-block.overflow-clip-margin.overflow-inline.overflow-wrap.overflow-x.overflow-y.overlay.overscroll-behavior.overscroll-behavior-block.overscroll-behavior-inline.overscroll-behavior-x.overscroll-behavior-y.padding.padding-block.padding-block-end.padding-block-start.padding-bottom.padding-inline.padding-inline-end.padding-inline-start.padding-left.padding-right.padding-top.page.page-break-after.page-break-before.page-break-inside.paint-order.pause.pause-after.pause-before.perspective.perspective-origin.place-content.place-items.place-self.pointer-events.position.position-anchor.position-visibility.print-color-adjust.quotes.r.resize.rest.rest-after.rest-before.right.rotate.row-gap.ruby-align.ruby-position.scale.scroll-behavior.scroll-margin.scroll-margin-block.scroll-margin-block-end.scroll-margin-block-start.scroll-margin-bottom.scroll-margin-inline.scroll-margin-inline-end.scroll-margin-inline-start.scroll-margin-left.scroll-margin-right.scroll-margin-top.scroll-padding.scroll-padding-block.scroll-padding-block-end.scroll-padding-block-start.scroll-padding-bottom.scroll-padding-inline.scroll-padding-inline-end.scroll-padding-inline-start.scroll-padding-left.scroll-padding-right.scroll-padding-top.scroll-snap-align.scroll-snap-stop.scroll-snap-type.scroll-timeline.scroll-timeline-axis.scroll-timeline-name.scrollbar-color.scrollbar-gutter.scrollbar-width.shape-image-threshold.shape-margin.shape-outside.shape-rendering.speak.speak-as.src.stop-color.stop-opacity.stroke.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke-width.tab-size.table-layout.text-align.text-align-all.text-align-last.text-anchor.text-combine-upright.text-decoration.text-decoration-color.text-decoration-line.text-decoration-skip.text-decoration-skip-ink.text-decoration-style.text-decoration-thickness.text-emphasis.text-emphasis-color.text-emphasis-position.text-emphasis-style.text-indent.text-justify.text-orientation.text-overflow.text-rendering.text-shadow.text-size-adjust.text-transform.text-underline-offset.text-underline-position.text-wrap.text-wrap-mode.text-wrap-style.timeline-scope.top.touch-action.transform.transform-box.transform-origin.transform-style.transition.transition-behavior.transition-delay.transition-duration.transition-property.transition-timing-function.translate.unicode-bidi.user-modify.user-select.vector-effect.vertical-align.view-timeline.view-timeline-axis.view-timeline-inset.view-timeline-name.view-transition-name.visibility.voice-balance.voice-duration.voice-family.voice-pitch.voice-range.voice-rate.voice-stress.voice-volume.white-space.white-space-collapse.widows.width.will-change.word-break.word-spacing.word-wrap.writing-mode.x.y.z-index.zoom`.split(`.`).sort().reverse();function WB(e){let t=IB(e),n=HB,r=VB,i=`@[a-z-]+`,a={className:`variable`,begin:`(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b`,relevance:0};return{name:`SCSS`,case_insensitive:!0,illegal:`[=/|']`,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t.CSS_NUMBER_MODE,{className:`selector-id`,begin:`#[A-Za-z0-9_-]+`,relevance:0},{className:`selector-class`,begin:`\\.[A-Za-z0-9_-]+`,relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:`selector-tag`,begin:`\\b(`+zB.join(`|`)+`)\\b`,relevance:0},{className:`selector-pseudo`,begin:`:(`+r.join(`|`)+`)`},{className:`selector-pseudo`,begin:`:(:)?(`+n.join(`|`)+`)`},a,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:`attribute`,begin:`\\b(`+UB.join(`|`)+`)\\b`},{begin:`\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b`},{begin:/:/,end:/[;}{]/,relevance:0,contains:[t.BLOCK_COMMENT,a,t.HEXCOLOR,t.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.IMPORTANT,t.FUNCTION_DISPATCH]},{begin:`@(page|font-face)`,keywords:{$pattern:i,keyword:`@page @font-face`}},{begin:`@`,end:`[{;]`,returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:`and or not only`,attribute:BB.join(` `)},contains:[{begin:i,className:`keyword`},{begin:/[a-z-]+(?=:)/,className:`attribute`},a,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}}function GB(e){return{name:`Shell Session`,aliases:[`console`,`shellsession`],contains:[{className:`meta.prompt`,begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:`bash`}}]}}function KB(e){let t=e.regex,n=e.COMMENT(`--`,`$`),r={scope:`string`,variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},i={begin:/"/,end:/"/,contains:[{match:/""/}]},a=[`true`,`false`,`unknown`],o=[`double precision`,`large object`,`with timezone`,`without timezone`],s=`bigint.binary.blob.boolean.char.character.clob.date.dec.decfloat.decimal.float.int.integer.interval.nchar.nclob.national.numeric.real.row.smallint.time.timestamp.varchar.varying.varbinary`.split(`.`),c=[`add`,`asc`,`collation`,`desc`,`final`,`first`,`last`,`view`],l=`abs.acos.all.allocate.alter.and.any.are.array.array_agg.array_max_cardinality.as.asensitive.asin.asymmetric.at.atan.atomic.authorization.avg.begin.begin_frame.begin_partition.between.bigint.binary.blob.boolean.both.by.call.called.cardinality.cascaded.case.cast.ceil.ceiling.char.char_length.character.character_length.check.classifier.clob.close.coalesce.collate.collect.column.commit.condition.connect.constraint.contains.convert.copy.corr.corresponding.cos.cosh.count.covar_pop.covar_samp.create.cross.cube.cume_dist.current.current_catalog.current_date.current_default_transform_group.current_path.current_role.current_row.current_schema.current_time.current_timestamp.current_path.current_role.current_transform_group_for_type.current_user.cursor.cycle.date.day.deallocate.dec.decimal.decfloat.declare.default.define.delete.dense_rank.deref.describe.deterministic.disconnect.distinct.double.drop.dynamic.each.element.else.empty.end.end_frame.end_partition.end-exec.equals.escape.every.except.exec.execute.exists.exp.external.extract.false.fetch.filter.first_value.float.floor.for.foreign.frame_row.free.from.full.function.fusion.get.global.grant.group.grouping.groups.having.hold.hour.identity.in.indicator.initial.inner.inout.insensitive.insert.int.integer.intersect.intersection.interval.into.is.join.json_array.json_arrayagg.json_exists.json_object.json_objectagg.json_query.json_table.json_table_primitive.json_value.lag.language.large.last_value.lateral.lead.leading.left.like.like_regex.listagg.ln.local.localtime.localtimestamp.log.log10.lower.match.match_number.match_recognize.matches.max.member.merge.method.min.minute.mod.modifies.module.month.multiset.national.natural.nchar.nclob.new.no.none.normalize.not.nth_value.ntile.null.nullif.numeric.octet_length.occurrences_regex.of.offset.old.omit.on.one.only.open.or.order.out.outer.over.overlaps.overlay.parameter.partition.pattern.per.percent.percent_rank.percentile_cont.percentile_disc.period.portion.position.position_regex.power.precedes.precision.prepare.primary.procedure.ptf.range.rank.reads.real.recursive.ref.references.referencing.regr_avgx.regr_avgy.regr_count.regr_intercept.regr_r2.regr_slope.regr_sxx.regr_sxy.regr_syy.release.result.return.returns.revoke.right.rollback.rollup.row.row_number.rows.running.savepoint.scope.scroll.search.second.seek.select.sensitive.session_user.set.show.similar.sin.sinh.skip.smallint.some.specific.specifictype.sql.sqlexception.sqlstate.sqlwarning.sqrt.start.static.stddev_pop.stddev_samp.submultiset.subset.substring.substring_regex.succeeds.sum.symmetric.system.system_time.system_user.table.tablesample.tan.tanh.then.time.timestamp.timezone_hour.timezone_minute.to.trailing.translate.translate_regex.translation.treat.trigger.trim.trim_array.true.truncate.uescape.union.unique.unknown.unnest.update.upper.user.using.value.values.value_of.var_pop.var_samp.varbinary.varchar.varying.versioning.when.whenever.where.width_bucket.window.with.within.without.year`.split(`.`),u=`abs.acos.array_agg.asin.atan.avg.cast.ceil.ceiling.coalesce.corr.cos.cosh.count.covar_pop.covar_samp.cume_dist.dense_rank.deref.element.exp.extract.first_value.floor.json_array.json_arrayagg.json_exists.json_object.json_objectagg.json_query.json_table.json_table_primitive.json_value.lag.last_value.lead.listagg.ln.log.log10.lower.max.min.mod.nth_value.ntile.nullif.percent_rank.percentile_cont.percentile_disc.position.position_regex.power.rank.regr_avgx.regr_avgy.regr_count.regr_intercept.regr_r2.regr_slope.regr_sxx.regr_sxy.regr_syy.row_number.sin.sinh.sqrt.stddev_pop.stddev_samp.substring.substring_regex.sum.tan.tanh.translate.translate_regex.treat.trim.trim_array.unnest.upper.value_of.var_pop.var_samp.width_bucket`.split(`.`),d=[`current_catalog`,`current_date`,`current_default_transform_group`,`current_path`,`current_role`,`current_schema`,`current_transform_group_for_type`,`current_user`,`session_user`,`system_time`,`system_user`,`current_time`,`localtime`,`current_timestamp`,`localtimestamp`],f=[`create table`,`insert into`,`primary key`,`foreign key`,`not null`,`alter table`,`add constraint`,`grouping sets`,`on overflow`,`character set`,`respect nulls`,`ignore nulls`,`nulls first`,`nulls last`,`depth first`,`breadth first`],p=u,m=[...l,...c].filter(e=>!u.includes(e)),h={scope:`variable`,match:/@[a-z0-9][a-z0-9_]*/},g={scope:`operator`,match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},_={match:t.concat(/\b/,t.either(...p),/\s*\(/),relevance:0,keywords:{built_in:p}};function v(e){return t.concat(/\b/,t.either(...e.map(e=>e.replace(/\s+/,`\\s+`))),/\b/)}let y={scope:`keyword`,match:v(f),relevance:0};function b(e,{exceptions:t,when:n}={}){let r=n;return t||=[],e.map(e=>e.match(/\|\d+$/)||t.includes(e)?e:r(e)?`${e}|0`:e)}return{name:`SQL`,case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:b(m,{when:e=>e.length<3}),literal:a,type:s,built_in:d},contains:[{scope:`type`,match:v(o)},y,_,h,r,i,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,g]}}function qB(e){return e?typeof e==`string`?e:e.source:null}function JB(e){return YB(`(?=`,e,`)`)}function YB(...e){return e.map(e=>qB(e)).join(``)}function XB(e){let t=e[e.length-1];return typeof t==`object`&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function ZB(...e){return`(`+(XB(e).capture?``:`?:`)+e.map(e=>qB(e)).join(`|`)+`)`}var QB=e=>YB(/\b/,e,/\w$/.test(e)?/\b/:/\B/),$B=[`Protocol`,`Type`].map(QB),eV=[`init`,`self`].map(QB),tV=[`Any`,`Self`],nV=[`actor`,`any`,`associatedtype`,`async`,`await`,/as\?/,/as!/,`as`,`borrowing`,`break`,`case`,`catch`,`class`,`consume`,`consuming`,`continue`,`convenience`,`copy`,`default`,`defer`,`deinit`,`didSet`,`distributed`,`do`,`dynamic`,`each`,`else`,`enum`,`extension`,`fallthrough`,/fileprivate\(set\)/,`fileprivate`,`final`,`for`,`func`,`get`,`guard`,`if`,`import`,`indirect`,`infix`,/init\?/,/init!/,`inout`,/internal\(set\)/,`internal`,`in`,`is`,`isolated`,`nonisolated`,`lazy`,`let`,`macro`,`mutating`,`nonmutating`,/open\(set\)/,`open`,`operator`,`optional`,`override`,`package`,`postfix`,`precedencegroup`,`prefix`,/private\(set\)/,`private`,`protocol`,/public\(set\)/,`public`,`repeat`,`required`,`rethrows`,`return`,`set`,`some`,`static`,`struct`,`subscript`,`super`,`switch`,`throws`,`throw`,/try\?/,/try!/,`try`,`typealias`,/unowned\(safe\)/,/unowned\(unsafe\)/,`unowned`,`var`,`weak`,`where`,`while`,`willSet`],rV=[`false`,`nil`,`true`],iV=[`assignment`,`associativity`,`higherThan`,`left`,`lowerThan`,`none`,`right`],aV=[`#colorLiteral`,`#column`,`#dsohandle`,`#else`,`#elseif`,`#endif`,`#error`,`#file`,`#fileID`,`#fileLiteral`,`#filePath`,`#function`,`#if`,`#imageLiteral`,`#keyPath`,`#line`,`#selector`,`#sourceLocation`,`#warning`],oV=`abs.all.any.assert.assertionFailure.debugPrint.dump.fatalError.getVaList.isKnownUniquelyReferenced.max.min.numericCast.pointwiseMax.pointwiseMin.precondition.preconditionFailure.print.readLine.repeatElement.sequence.stride.swap.swift_unboxFromSwiftValueWithType.transcode.type.unsafeBitCast.unsafeDowncast.withExtendedLifetime.withUnsafeMutablePointer.withUnsafePointer.withVaList.withoutActuallyEscaping.zip`.split(`.`),sV=ZB(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),cV=ZB(sV,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),lV=YB(sV,cV,`*`),uV=ZB(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),dV=ZB(uV,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),fV=YB(uV,dV,`*`),pV=YB(/[A-Z]/,dV,`*`),mV=[`attached`,`autoclosure`,YB(/convention\(/,ZB(`swift`,`block`,`c`),/\)/),`discardableResult`,`dynamicCallable`,`dynamicMemberLookup`,`escaping`,`freestanding`,`frozen`,`GKInspectable`,`IBAction`,`IBDesignable`,`IBInspectable`,`IBOutlet`,`IBSegueAction`,`inlinable`,`main`,`nonobjc`,`NSApplicationMain`,`NSCopying`,`NSManaged`,YB(/objc\(/,fV,/\)/),`objc`,`objcMembers`,`propertyWrapper`,`requires_stored_property_inits`,`resultBuilder`,`Sendable`,`testable`,`UIApplicationMain`,`unchecked`,`unknown`,`usableFromInline`,`warn_unqualified_access`],hV=[`iOS`,`iOSApplicationExtension`,`macOS`,`macOSApplicationExtension`,`macCatalyst`,`macCatalystApplicationExtension`,`watchOS`,`watchOSApplicationExtension`,`tvOS`,`tvOSApplicationExtension`,`swift`];function gV(e){let t={match:/\s+/,relevance:0},n=e.COMMENT(`/\\*`,`\\*/`,{contains:[`self`]}),r=[e.C_LINE_COMMENT_MODE,n],i={match:[/\./,ZB(...$B,...eV)],className:{2:`keyword`}},a={match:YB(/\./,ZB(...nV)),relevance:0},o=nV.filter(e=>typeof e==`string`).concat([`_|0`]),s={variants:[{className:`keyword`,match:ZB(...nV.filter(e=>typeof e!=`string`).concat(tV).map(QB),...eV)}]},c={$pattern:ZB(/\b\w+/,/#\w+/),keyword:o.concat(aV),literal:rV},l=[i,a,s],u=[{match:YB(/\./,ZB(...oV)),relevance:0},{className:`built_in`,match:YB(/\b/,ZB(...oV),/(?=\()/)}],d={match:/->/,relevance:0},f=[d,{className:`operator`,relevance:0,variants:[{match:lV},{match:`\\.(\\.|${cV})+`}]}],p=`([0-9]_*)+`,m=`([0-9a-fA-F]_*)+`,h={className:`number`,relevance:0,variants:[{match:`\\b(${p})(\\.(${p}))?([eE][+-]?(${p}))?\\b`},{match:`\\b0x(${m})(\\.(${m}))?([pP][+-]?(${p}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},g=(e=``)=>({className:`subst`,variants:[{match:YB(/\\/,e,/[0\\tnr"']/)},{match:YB(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]}),_=(e=``)=>({className:`subst`,match:YB(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)}),v=(e=``)=>({className:`subst`,label:`interpol`,begin:YB(/\\/,e,/\(/),end:/\)/}),y=(e=``)=>({begin:YB(e,/"""/),end:YB(/"""/,e),contains:[g(e),_(e),v(e)]}),b=(e=``)=>({begin:YB(e,/"/),end:YB(/"/,e),contains:[g(e),v(e)]}),x={className:`string`,variants:[y(),y(`#`),y(`##`),y(`###`),b(),b(`#`),b(`##`),b(`###`)]},S=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],C={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:S},w=e=>{let t=YB(e,/\//),n=YB(/\//,e);return{begin:t,end:n,contains:[...S,{scope:`comment`,begin:`#(?!.*${n})`,end:/$/}]}},T={scope:`regexp`,variants:[w(`###`),w(`##`),w(`#`),C]},E={match:YB(/`/,fV,/`/)},D=[E,{className:`variable`,match:/\$\d+/},{className:`variable`,match:`\\$${dV}+`}],O=[{match:/(@|#(un)?)available/,scope:`keyword`,starts:{contains:[{begin:/\(/,end:/\)/,keywords:hV,contains:[...f,h,x]}]}},{scope:`keyword`,match:YB(/@/,ZB(...mV),JB(ZB(/\(/,/\s+/)))},{scope:`meta`,match:YB(/@/,fV)}],k={match:JB(/\b[A-Z]/),relevance:0,contains:[{className:`type`,match:YB(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,dV,`+`)},{className:`type`,match:pV,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:YB(/\s+&\s+/,JB(pV)),relevance:0}]},A={begin:/</,end:/>/,keywords:c,contains:[...r,...l,...O,d,k]};k.contains.push(A);let j={begin:/\(/,end:/\)/,relevance:0,keywords:c,contains:[`self`,{match:YB(fV,/\s*:/),keywords:`_|0`,relevance:0},...r,T,...l,...u,...f,h,x,...D,...O,k]},M={begin:/</,end:/>/,keywords:`repeat each`,contains:[...r,k]},N={begin:/\(/,end:/\)/,keywords:c,contains:[{begin:ZB(JB(YB(fV,/\s*:/)),JB(YB(fV,/\s+/,fV,/\s*:/))),end:/:/,relevance:0,contains:[{className:`keyword`,match:/\b_\b/},{className:`params`,match:fV}]},...r,...l,...f,h,x,...O,k,j],endsParent:!0,illegal:/["']/},P={match:[/(func|macro)/,/\s+/,ZB(E.match,fV,lV)],className:{1:`keyword`,3:`title.function`},contains:[M,N,t],illegal:[/\[/,/%/]},F={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:`keyword`},contains:[M,N,t],illegal:/\[|%/},I={match:[/operator/,/\s+/,lV],className:{1:`keyword`,3:`title`}},L={begin:[/precedencegroup/,/\s+/,pV],className:{1:`keyword`,3:`title`},contains:[k],keywords:[...iV,...rV],end:/}/},R={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:`keyword`,3:`keyword`,5:`title.function`}},z={match:[/class\b/,/\s+/,/var\b/],scope:{1:`keyword`,3:`keyword`}},ee={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,fV,/\s*/],beginScope:{1:`keyword`,3:`title.class`},keywords:c,contains:[M,...l,{begin:/:/,end:/\{/,keywords:c,contains:[{scope:`title.class.inherited`,match:pV},...l],relevance:0}]};for(let e of x.variants){let t=e.contains.find(e=>e.label===`interpol`);t.keywords=c;let n=[...l,...u,...f,h,x,...D];t.contains=[...n,{begin:/\(/,end:/\)/,contains:[`self`,...n]}]}return{name:`Swift`,keywords:c,contains:[...r,P,F,R,z,ee,I,L,{beginKeywords:`import`,end:/$/,contains:[...r],relevance:0},T,...l,...u,...f,h,x,...D,...O,k,j]}}var _V=`[A-Za-z$_][0-9A-Za-z$_]*`,vV=`as.in.of.if.for.while.finally.var.new.function.do.return.void.else.break.catch.instanceof.with.throw.case.default.try.switch.continue.typeof.delete.let.yield.const.class.debugger.async.await.static.import.from.export.extends.using`.split(`.`),yV=[`true`,`false`,`null`,`undefined`,`NaN`,`Infinity`],bV=`Object.Function.Boolean.Symbol.Math.Date.Number.BigInt.String.RegExp.Array.Float32Array.Float64Array.Int8Array.Uint8Array.Uint8ClampedArray.Int16Array.Int32Array.Uint16Array.Uint32Array.BigInt64Array.BigUint64Array.Set.Map.WeakSet.WeakMap.ArrayBuffer.SharedArrayBuffer.Atomics.DataView.JSON.Promise.Generator.GeneratorFunction.AsyncFunction.Reflect.Proxy.Intl.WebAssembly`.split(`.`),xV=[`Error`,`EvalError`,`InternalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`],SV=[`setInterval`,`setTimeout`,`clearInterval`,`clearTimeout`,`require`,`exports`,`eval`,`isFinite`,`isNaN`,`parseFloat`,`parseInt`,`decodeURI`,`decodeURIComponent`,`encodeURI`,`encodeURIComponent`,`escape`,`unescape`],CV=[`arguments`,`this`,`super`,`console`,`window`,`document`,`localStorage`,`sessionStorage`,`module`,`global`],wV=[].concat(SV,bV,xV);function TV(e){let t=e.regex,n=(e,{after:t})=>{let n=`</`+e[0].slice(1);return e.input.indexOf(n,t)!==-1},r=_V,i={begin:`<>`,end:`</>`},a=/<[A-Za-z0-9\\._:-]+\s*\/>/,o={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,t)=>{let r=e[0].length+e.index,i=e.input[r];if(i===`<`||i===`,`){t.ignoreMatch();return}i===`>`&&(n(e,{after:r})||t.ignoreMatch());let a,o=e.input.substring(r);if(a=o.match(/^\s*=/)){t.ignoreMatch();return}if((a=o.match(/^\s+extends\s+/))&&a.index===0){t.ignoreMatch();return}}},s={$pattern:_V,keyword:vV,literal:yV,built_in:wV,"variable.language":CV},c=`[0-9](_?[0-9])*`,l=`\\.(${c})`,u=`0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`,d={className:`number`,variants:[{begin:`(\\b(${u})((${l})|\\.)?|(${l}))[eE][+-]?(${c})\\b`},{begin:`\\b(${u})\\b((${l})\\b|\\.)?|(${l})\\b`},{begin:`\\b(0|[1-9](_?[0-9])*)n\\b`},{begin:`\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b`},{begin:`\\b0[bB][0-1](_?[0-1])*n?\\b`},{begin:`\\b0[oO][0-7](_?[0-7])*n?\\b`},{begin:`\\b0[0-7]+n?\\b`}],relevance:0},f={className:`subst`,begin:`\\$\\{`,end:`\\}`,keywords:s,contains:[]},p={begin:".?html`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:`xml`}},m={begin:".?css`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:`css`}},h={begin:".?gql`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:`graphql`}},g={className:`string`,begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,f]},_={className:`comment`,variants:[e.COMMENT(/\/\*\*(?!\/)/,`\\*/`,{relevance:0,contains:[{begin:`(?=@[A-Za-z]+)`,relevance:0,contains:[{className:`doctag`,begin:`@[A-Za-z]+`},{className:`type`,begin:`\\{`,end:`\\}`,excludeEnd:!0,excludeBegin:!0,relevance:0},{className:`variable`,begin:r+`(?=\\s*(-)|$)`,endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},v=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,h,g,{match:/\$\d+/},d];f.contains=v.concat({begin:/\{/,end:/\}/,keywords:s,contains:[`self`].concat(v)});let y=[].concat(_,f.contains),b=y.concat([{begin:/(\s*)\(/,end:/\)/,keywords:s,contains:[`self`].concat(y)}]),x={className:`params`,begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,contains:b},S={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,`(`,t.concat(/\./,r),`)*`)],scope:{1:`keyword`,3:`title.class`,5:`keyword`,7:`title.class.inherited`}},{match:[/class/,/\s+/,r],scope:{1:`keyword`,3:`title.class`}}]},C={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:`title.class`,keywords:{_:[...bV,...xV]}},w={label:`use_strict`,className:`meta`,relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},T={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:`keyword`,3:`title.function`},label:`func.def`,contains:[x],illegal:/%/},E={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:`variable.constant`};function D(e){return t.concat(`(?!`,e.join(`|`),`)`)}let O={match:t.concat(/\b/,D([...SV,`super`,`import`].map(e=>`${e}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:`title.function`,relevance:0},k={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:`prototype`,className:`property`,relevance:0},A={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:`keyword`,3:`title.function`},contains:[{begin:/\(\)/},x]},j=`(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|`+e.UNDERSCORE_IDENT_RE+`)\\s*=>`,M={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(j)],keywords:`async`,className:{1:`keyword`,3:`title.function`},contains:[x]};return{name:`JavaScript`,aliases:[`js`,`jsx`,`mjs`,`cjs`],keywords:s,exports:{PARAMS_CONTAINS:b,CLASS_REFERENCE:C},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:`shebang`,binary:`node`,relevance:5}),w,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,h,g,_,{match:/\$\d+/},d,C,{scope:`attr`,match:r+t.lookahead(`:`),relevance:0},M,{begin:`(`+e.RE_STARTERS_RE+`|\\b(case|return|throw)\\b)\\s*`,keywords:`return throw case`,relevance:0,contains:[_,e.REGEXP_MODE,{className:`function`,begin:j,returnBegin:!0,end:`\\s*=>`,contains:[{className:`params`,variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,contains:b}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:i.begin,end:i.end},{match:a},{begin:o.begin,"on:begin":o.isTrulyOpeningTag,end:o.end}],subLanguage:`xml`,contains:[{begin:o.begin,end:o.end,skip:!0,contains:[`self`]}]}]},T,{beginKeywords:`while if switch catch for`},{begin:`\\b(?!function)`+e.UNDERSCORE_IDENT_RE+`\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{`,returnBegin:!0,label:`func.def`,contains:[x,e.inherit(e.TITLE_MODE,{begin:r,className:`title.function`})]},{match:/\.\.\./,relevance:0},k,{match:`\\$`+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:`title.function`},contains:[x]},O,E,S,A,{match:/\$[(.]/}]}}function EV(e){let t=e.regex,n=TV(e),r=_V,i=[`any`,`void`,`number`,`boolean`,`string`,`object`,`never`,`symbol`,`bigint`,`unknown`],a={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:`keyword`,3:`title.class`}},o={beginKeywords:`interface`,end:/\{/,excludeEnd:!0,keywords:{keyword:`interface extends`,built_in:i},contains:[n.exports.CLASS_REFERENCE]},s={className:`meta`,relevance:10,begin:/^\s*['"]use strict['"]/},c={$pattern:_V,keyword:vV.concat([`type`,`interface`,`public`,`private`,`protected`,`implements`,`declare`,`abstract`,`readonly`,`enum`,`override`,`satisfies`]),literal:yV,built_in:wV.concat(i),"variable.language":CV},l={className:`meta`,begin:`@`+r},u=(e,t,n)=>{let r=e.contains.findIndex(e=>e.label===t);if(r===-1)throw Error(`can not find mode to replace`);e.contains.splice(r,1,n)};Object.assign(n.keywords,c),n.exports.PARAMS_CONTAINS.push(l);let d=n.contains.find(e=>e.scope===`attr`),f=Object.assign({},d,{match:t.concat(r,t.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,d,f]),n.contains=n.contains.concat([l,a,o,f]),u(n,`shebang`,e.SHEBANG()),u(n,`use_strict`,s);let p=n.contains.find(e=>e.label===`func.def`);return p.relevance=0,Object.assign(n,{name:`TypeScript`,aliases:[`ts`,`tsx`,`mts`,`cts`]}),n}function DV(e){let t=e.regex,n={className:`string`,begin:/"(""|[^/n])"C\b/},r={className:`string`,begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},i=/\d{1,2}\/\d{1,2}\/\d{4}/,a=/\d{4}-\d{1,2}-\d{1,2}/,o=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,s=/\d{1,2}(:\d{1,2}){1,2}/,c={className:`literal`,variants:[{begin:t.concat(/# */,t.either(a,i),/ *#/)},{begin:t.concat(/# */,s,/ *#/)},{begin:t.concat(/# */,o,/ *#/)},{begin:t.concat(/# */,t.either(a,i),/ +/,t.either(o,s),/ *#/)}]},l={className:`number`,relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},u={className:`label`,begin:/^\w+:/},d=e.COMMENT(/'''/,/$/,{contains:[{className:`doctag`,begin:/<\/?/,end:/>/}]}),f=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:`Visual Basic .NET`,aliases:[`vb`],case_insensitive:!0,classNameAliases:{label:`symbol`},keywords:{keyword:`addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield`,built_in:`addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort`,type:`boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort`,literal:`true false nothing`},illegal:`//|\\{|\\}|endif|gosub|variant|wend|^\\$ `,contains:[n,r,c,l,u,d,f,{className:`meta`,begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:`const disable else elseif enable end externalsource if region then`},contains:[f]}]}}function OV(e){e.regex;let t=e.COMMENT(/\(;/,/;\)/);t.contains.push(`self`);let n=e.COMMENT(/;;/,/$/),r=`anyfunc,block,br,br_if,br_table,call,call_indirect,data,drop,elem,else,end,export,func,global.get,global.set,local.get,local.set,local.tee,get_global,get_local,global,if,import,local,loop,memory,memory.grow,memory.size,module,mut,nop,offset,param,result,return,select,set_global,set_local,start,table,tee_local,then,type,unreachable`.split(`,`),i={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:`keyword`,3:`title.function`}},a={className:`variable`,begin:/\$[\w_]+/},o={match:/(\((?!;)|\))+/,className:`punctuation`,relevance:0},s={className:`number`,relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},c={match:/(i32|i64|f32|f64)(?!\.)/,className:`type`},l={className:`keyword`,match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:`WebAssembly`,keywords:{$pattern:/[\w.]+/,keyword:r},contains:[n,t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:`keyword`,3:`operator`}},a,o,i,e.QUOTE_STRING_MODE,c,l,s]}}function kV(e){let t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),r=/[\p{L}0-9._:-]+/u,i={className:`symbol`,begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},a={begin:/\s/,contains:[{className:`keyword`,begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},o=e.inherit(a,{begin:/\(/,end:/\)/}),s=e.inherit(e.APOS_STRING_MODE,{className:`string`}),c=e.inherit(e.QUOTE_STRING_MODE,{className:`string`}),l={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:`attr`,begin:r,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:`string`,endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[i]},{begin:/'/,end:/'/,contains:[i]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:`HTML, XML`,aliases:[`html`,`xhtml`,`rss`,`atom`,`xjb`,`xsd`,`xsl`,`plist`,`wsf`,`svg`],case_insensitive:!0,unicodeRegex:!0,contains:[{className:`meta`,begin:/<![a-z]/,end:/>/,relevance:10,contains:[a,c,s,o,{begin:/\[/,end:/\]/,contains:[{className:`meta`,begin:/<![a-z]/,end:/>/,contains:[a,o,c,s]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},i,{className:`meta`,end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:`tag`,begin:/<style(?=\s|>)/,end:/>/,keywords:{name:`style`},contains:[l],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:[`css`,`xml`]}},{className:`tag`,begin:/<script(?=\s|>)/,end:/>/,keywords:{name:`script`},contains:[l],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:[`javascript`,`handlebars`,`xml`]}},{className:`tag`,begin:/<>|<\/>/},{className:`tag`,begin:t.concat(/</,t.lookahead(t.concat(n,t.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:`name`,begin:n,relevance:0,starts:l}]},{className:`tag`,begin:t.concat(/<\//,t.lookahead(t.concat(n,/>/))),contains:[{className:`name`,begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function AV(e){let t=`true false yes no null`,n=`[\\w#;/?:@&=+$,.~*'()[\\]]+`,r={className:`attr`,variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},i={className:`template-variable`,variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},a={className:`string`,relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:`char.escape`,relevance:0}]},o={className:`string`,relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,i]},s=e.inherit(o,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),c={className:`number`,begin:`\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b`},l={end:`,`,endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},u={begin:/\{/,end:/\}/,contains:[l],illegal:`\\n`,relevance:0},d={begin:`\\[`,end:`\\]`,contains:[l],illegal:`\\n`,relevance:0},f=[r,{className:`meta`,begin:`^---\\s*$`,relevance:10},{className:`string`,begin:`[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*`},{begin:`<%[%=-]?`,end:`[%-]?%>`,subLanguage:`ruby`,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:`type`,begin:`!\\w+!`+n},{className:`type`,begin:`!<`+n+`>`},{className:`type`,begin:`!`+n},{className:`type`,begin:`!!`+n},{className:`meta`,begin:`&`+e.UNDERSCORE_IDENT_RE+`$`},{className:`meta`,begin:`\\*`+e.UNDERSCORE_IDENT_RE+`$`},{className:`bullet`,begin:`-(?=[ ]|$)`,relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},c,{className:`number`,begin:e.C_NUMBER_RE+`\\b`,relevance:0},u,d,a,o],p=[...f];return p.pop(),p.push(s),l.contains=p,{name:`YAML`,case_insensitive:!0,aliases:[`yml`],contains:f}}var jV={arduino:Oz,bash:kz,c:Az,cpp:jz,csharp:Mz,css:Vz,diff:Hz,go:Uz,graphql:Wz,ini:Gz,java:Zz,javascript:oB,json:sB,kotlin:fB,less:SB,lua:CB,makefile:wB,markdown:TB,objectivec:EB,perl:DB,php:OB,"php-template":kB,plaintext:AB,python:jB,"python-repl":MB,r:NB,ruby:PB,rust:FB,scss:WB,shell:GB,sql:KB,swift:gV,typescript:EV,vbnet:DV,wasm:OV,xml:kV,yaml:AV},MV=l(o(((e,t)=>{function n(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw Error(`map is read-only`)}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw Error(`set is read-only`)}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{let r=e[t],i=typeof r;(i===`object`||i===`function`)&&!Object.isFrozen(r)&&n(r)}),e}var r=class{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function i(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#x27;`)}function a(e,...t){let n=Object.create(null);for(let t in e)n[t]=e[t];return t.forEach(function(e){for(let t in e)n[t]=e[t]}),n}var o=`</span>`,s=e=>!!e.scope,c=(e,{prefix:t})=>{if(e.startsWith(`language:`))return e.replace(`language:`,`language-`);if(e.includes(`.`)){let n=e.split(`.`);return[`${t}${n.shift()}`,...n.map((e,t)=>`${e}${`_`.repeat(t+1)}`)].join(` `)}return`${t}${e}`},l=class{constructor(e,t){this.buffer=``,this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=i(e)}openNode(e){if(!s(e))return;let t=c(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){s(e)&&(this.buffer+=o)}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}},u=(e={})=>{let t={children:[]};return Object.assign(t,e),t},d=class e{constructor(){this.rootNode=u(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){let t=u({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return typeof t==`string`?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(t=>this._walk(e,t)),e.closeNode(t)),e}static _collapse(t){typeof t!=`string`&&t.children&&(t.children.every(e=>typeof e==`string`)?t.children=[t.children.join(``)]:t.children.forEach(t=>{e._collapse(t)}))}},f=class extends d{constructor(e){super(),this.options=e}addText(e){e!==``&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){let n=e.root;t&&(n.scope=`language:${t}`),this.add(n)}toHTML(){return new l(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function p(e){return e?typeof e==`string`?e:e.source:null}function m(e){return _(`(?=`,e,`)`)}function h(e){return _(`(?:`,e,`)*`)}function g(e){return _(`(?:`,e,`)?`)}function _(...e){return e.map(e=>p(e)).join(``)}function v(e){let t=e[e.length-1];return typeof t==`object`&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function y(...e){return`(`+(v(e).capture?``:`?:`)+e.map(e=>p(e)).join(`|`)+`)`}function b(e){return RegExp(e.toString()+`|`).exec(``).length-1}function x(e,t){let n=e&&e.exec(t);return n&&n.index===0}var S=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function C(e,{joinWith:t}){let n=0;return e.map(e=>{n+=1;let t=n,r=p(e),i=``;for(;r.length>0;){let e=S.exec(r);if(!e){i+=r;break}i+=r.substring(0,e.index),r=r.substring(e.index+e[0].length),e[0][0]===`\\`&&e[1]?i+=`\\`+String(Number(e[1])+t):(i+=e[0],e[0]===`(`&&n++)}return i}).map(e=>`(${e})`).join(t)}var w=/\b\B/,T=`[a-zA-Z]\\w*`,E=`[a-zA-Z_]\\w*`,D=`\\b\\d+(\\.\\d+)?`,O=`(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)`,k=`\\b(0b[01]+)`,A=`!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~`,j=(e={})=>{let t=/^#![ ]*\//;return e.binary&&(e.begin=_(t,/.*\b/,e.binary,/\b.*/)),a({scope:`meta`,begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{e.index!==0&&t.ignoreMatch()}},e)},M={begin:`\\\\[\\s\\S]`,relevance:0},N={scope:`string`,begin:`'`,end:`'`,illegal:`\\n`,contains:[M]},P={scope:`string`,begin:`"`,end:`"`,illegal:`\\n`,contains:[M]},F={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},I=function(e,t,n={}){let r=a({scope:`comment`,begin:e,end:t,contains:[]},n);r.contains.push({scope:`doctag`,begin:`[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)`,end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let i=y(`I`,`a`,`is`,`so`,`us`,`to`,`at`,`if`,`in`,`it`,`on`,/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return r.contains.push({begin:_(/[ ]+/,`(`,i,/[.]?[:]?([.][ ]|[ ])/,`){3}`)}),r},L=I(`//`,`$`),R=I(`/\\*`,`\\*/`),z=I(`#`,`$`),ee={scope:`number`,begin:D,relevance:0},te={scope:`number`,begin:O,relevance:0},ne={scope:`number`,begin:k,relevance:0},B={scope:`regexp`,begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[M,{begin:/\[/,end:/\]/,relevance:0,contains:[M]}]},V={scope:`title`,begin:T,relevance:0},re={scope:`title`,begin:E,relevance:0},ie={begin:`\\.\\s*`+E,relevance:0},ae=Object.freeze({__proto__:null,APOS_STRING_MODE:N,BACKSLASH_ESCAPE:M,BINARY_NUMBER_MODE:ne,BINARY_NUMBER_RE:k,COMMENT:I,C_BLOCK_COMMENT_MODE:R,C_LINE_COMMENT_MODE:L,C_NUMBER_MODE:te,C_NUMBER_RE:O,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})},HASH_COMMENT_MODE:z,IDENT_RE:T,MATCH_NOTHING_RE:w,METHOD_GUARD:ie,NUMBER_MODE:ee,NUMBER_RE:D,PHRASAL_WORDS_MODE:F,QUOTE_STRING_MODE:P,REGEXP_MODE:B,RE_STARTERS_RE:A,SHEBANG:j,TITLE_MODE:V,UNDERSCORE_IDENT_RE:E,UNDERSCORE_TITLE_MODE:re});function oe(e,t){e.input[e.index-1]===`.`&&t.ignoreMatch()}function se(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function ce(e,t){t&&e.beginKeywords&&(e.begin=`\\b(`+e.beginKeywords.split(` `).join(`|`)+`)(?!\\.)(?=\\b|\\s)`,e.__beforeBegin=oe,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function H(e,t){Array.isArray(e.illegal)&&(e.illegal=y(...e.illegal))}function le(e,t){if(e.match){if(e.begin||e.end)throw Error(`begin & end are not supported with match`);e.begin=e.match,delete e.match}}function ue(e,t){e.relevance===void 0&&(e.relevance=1)}var U=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw Error(`beforeMatch cannot be used with starts`);let n=Object.assign({},e);Object.keys(e).forEach(t=>{delete e[t]}),e.keywords=n.keywords,e.begin=_(n.beforeMatch,m(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},de=[`of`,`and`,`for`,`in`,`not`,`or`,`if`,`then`,`parent`,`list`,`value`],fe=`keyword`;function pe(e,t,n=fe){let r=Object.create(null);return typeof e==`string`?i(n,e.split(` `)):Array.isArray(e)?i(n,e):Object.keys(e).forEach(function(n){Object.assign(r,pe(e[n],t,n))}),r;function i(e,n){t&&(n=n.map(e=>e.toLowerCase())),n.forEach(function(t){let n=t.split(`|`);r[n[0]]=[e,me(n[0],n[1])]})}}function me(e,t){return t?Number(t):he(e)?0:1}function he(e){return de.includes(e.toLowerCase())}var ge={},_e=e=>{console.error(e)},ve=(e,...t)=>{console.log(`WARN: ${e}`,...t)},ye=(e,t)=>{ge[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),ge[`${e}/${t}`]=!0)},be=Error();function xe(e,t,{key:n}){let r=0,i=e[n],a={},o={};for(let e=1;e<=t.length;e++)o[e+r]=i[e],a[e+r]=!0,r+=b(t[e-1]);e[n]=o,e[n]._emit=a,e[n]._multi=!0}function Se(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw _e(`skip, excludeBegin, returnBegin not compatible with beginScope: {}`),be;if(typeof e.beginScope!=`object`||e.beginScope===null)throw _e(`beginScope must be object`),be;xe(e,e.begin,{key:`beginScope`}),e.begin=C(e.begin,{joinWith:``})}}function Ce(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw _e(`skip, excludeEnd, returnEnd not compatible with endScope: {}`),be;if(typeof e.endScope!=`object`||e.endScope===null)throw _e(`endScope must be object`),be;xe(e,e.end,{key:`endScope`}),e.end=C(e.end,{joinWith:``})}}function we(e){e.scope&&typeof e.scope==`object`&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function Te(e){we(e),typeof e.beginScope==`string`&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope==`string`&&(e.endScope={_wrap:e.endScope}),Se(e),Ce(e)}function Ee(e){function t(t,n){return new RegExp(p(t),`m`+(e.case_insensitive?`i`:``)+(e.unicodeRegex?`u`:``)+(n?`g`:``))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=b(e)+1}compile(){this.regexes.length===0&&(this.exec=()=>null),this.matcherRe=t(C(this.regexes.map(e=>e[1]),{joinWith:`|`}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;let t=this.matcherRe.exec(e);if(!t)return null;let n=t.findIndex((e,t)=>t>0&&e!==void 0),r=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,r)}}class r{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];let t=new n;return this.rules.slice(e).forEach(([e,n])=>t.addRule(e,n)),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),t.type===`begin`&&this.count++}exec(e){let t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition()&&!(n&&n.index===this.lastIndex)){let t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}function i(e){let t=new r;return e.contains.forEach(e=>t.addRule(e.begin,{rule:e,type:`begin`})),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:`end`}),e.illegal&&t.addRule(e.illegal,{type:`illegal`}),t}function o(n,r){let a=n;if(n.isCompiled)return a;[se,le,Te,U].forEach(e=>e(n,r)),e.compilerExtensions.forEach(e=>e(n,r)),n.__beforeBegin=null,[ce,H,ue].forEach(e=>e(n,r)),n.isCompiled=!0;let s=null;return typeof n.keywords==`object`&&n.keywords.$pattern&&(n.keywords=Object.assign({},n.keywords),s=n.keywords.$pattern,delete n.keywords.$pattern),s||=/\w+/,n.keywords&&=pe(n.keywords,e.case_insensitive),a.keywordPatternRe=t(s,!0),r&&(n.begin||=/\B|\b/,a.beginRe=t(a.begin),!n.end&&!n.endsWithParent&&(n.end=/\B|\b/),n.end&&(a.endRe=t(a.end)),a.terminatorEnd=p(a.end)||``,n.endsWithParent&&r.terminatorEnd&&(a.terminatorEnd+=(n.end?`|`:``)+r.terminatorEnd)),n.illegal&&(a.illegalRe=t(n.illegal)),n.contains||=[],n.contains=[].concat(...n.contains.map(function(e){return Oe(e===`self`?n:e)})),n.contains.forEach(function(e){o(e,a)}),n.starts&&o(n.starts,r),a.matcher=i(a),a}if(e.compilerExtensions||=[],e.contains&&e.contains.includes(`self`))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=a(e.classNameAliases||{}),o(e)}function De(e){return e?e.endsWithParent||De(e.starts):!1}function Oe(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return a(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:De(e)?a(e,{starts:e.starts?a(e.starts):null}):Object.isFrozen(e)?a(e):e}var ke=`11.11.1`,Ae=class extends Error{constructor(e,t){super(e),this.name=`HTMLInjectionError`,this.html=t}},je=i,Me=a,Ne=Symbol(`nomatch`),Pe=7,Fe=function(e){let t=Object.create(null),i=Object.create(null),a=[],o=!0,s=`Could not find the language '{}', did you forget to load/include a language module?`,c={disableAutodetect:!0,name:`Plain text`,contains:[]},l={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:`hljs-`,cssSelector:`pre code`,languages:null,__emitter:f};function u(e){return l.noHighlightRe.test(e)}function d(e){let t=e.className+` `;t+=e.parentNode?e.parentNode.className:``;let n=l.languageDetectRe.exec(t);if(n){let t=N(n[1]);return t||(ve(s.replace(`{}`,n[1])),ve(`Falling back to no-highlight mode for this block.`,e)),t?n[1]:`no-highlight`}return t.split(/\s+/).find(e=>u(e)||N(e))}function p(e,t,n){let r=``,i=``;typeof t==`object`?(r=e,n=t.ignoreIllegals,i=t.language):(ye(`10.7.0`,`highlight(lang, code, ...args) has been deprecated.`),ye(`10.7.0`,`Please use highlight(code, options) instead.
1931
1931
  https://github.com/highlightjs/highlight.js/issues/2277`),i=e,r=t),n===void 0&&(n=!0);let a={code:r,language:i};z(`before:highlight`,a);let o=a.result?a.result:v(a.language,a.code,n);return o.code=a.code,z(`after:highlight`,o),o}function v(e,n,i,a){let c=Object.create(null);function u(e,t){return e.keywords[t]}function d(){if(!A.keywords){M.addText(P);return}let e=0;A.keywordPatternRe.lastIndex=0;let t=A.keywordPatternRe.exec(P),n=``;for(;t;){n+=P.substring(e,t.index);let r=D.case_insensitive?t[0].toLowerCase():t[0],i=u(A,r);if(i){let[e,a]=i;if(M.addText(n),n=``,c[r]=(c[r]||0)+1,c[r]<=Pe&&(F+=a),e.startsWith(`_`))n+=t[0];else{let n=D.classNameAliases[e]||e;m(t[0],n)}}else n+=t[0];e=A.keywordPatternRe.lastIndex,t=A.keywordPatternRe.exec(P)}n+=P.substring(e),M.addText(n)}function f(){if(P===``)return;let e=null;if(typeof A.subLanguage==`string`){if(!t[A.subLanguage]){M.addText(P);return}e=v(A.subLanguage,P,!0,j[A.subLanguage]),j[A.subLanguage]=e._top}else e=S(P,A.subLanguage.length?A.subLanguage:null);A.relevance>0&&(F+=e.relevance),M.__addSublanguage(e._emitter,e.language)}function p(){A.subLanguage==null?d():f(),P=``}function m(e,t){e!==``&&(M.startScope(t),M.addText(e),M.endScope())}function h(e,t){let n=1,r=t.length-1;for(;n<=r;){if(!e._emit[n]){n++;continue}let r=D.classNameAliases[e[n]]||e[n],i=t[n];r?m(i,r):(P=i,d(),P=``),n++}}function g(e,t){return e.scope&&typeof e.scope==`string`&&M.openNode(D.classNameAliases[e.scope]||e.scope),e.beginScope&&(e.beginScope._wrap?(m(P,D.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),P=``):e.beginScope._multi&&(h(e.beginScope,t),P=``)),A=Object.create(e,{parent:{value:A}}),A}function _(e,t,n){let i=x(e.endRe,n);if(i){if(e[`on:end`]){let n=new r(e);e[`on:end`](t,n),n.isMatchIgnored&&(i=!1)}if(i){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return _(e.parent,t,n)}function y(e){return A.matcher.regexIndex===0?(P+=e[0],1):(R=!0,0)}function b(e){let t=e[0],n=e.rule,i=new r(n),a=[n.__beforeBegin,n[`on:begin`]];for(let n of a)if(n&&(n(e,i),i.isMatchIgnored))return y(t);return n.skip?P+=t:(n.excludeBegin&&(P+=t),p(),!n.returnBegin&&!n.excludeBegin&&(P=t)),g(n,e),n.returnBegin?0:t.length}function C(e){let t=e[0],r=n.substring(e.index),i=_(A,e,r);if(!i)return Ne;let a=A;A.endScope&&A.endScope._wrap?(p(),m(t,A.endScope._wrap)):A.endScope&&A.endScope._multi?(p(),h(A.endScope,e)):a.skip?P+=t:(a.returnEnd||a.excludeEnd||(P+=t),p(),a.excludeEnd&&(P=t));do A.scope&&M.closeNode(),!A.skip&&!A.subLanguage&&(F+=A.relevance),A=A.parent;while(A!==i.parent);return i.starts&&g(i.starts,e),a.returnEnd?0:t.length}function w(){let e=[];for(let t=A;t!==D;t=t.parent)t.scope&&e.unshift(t.scope);e.forEach(e=>M.openNode(e))}let T={};function E(t,r){let a=r&&r[0];if(P+=t,a==null)return p(),0;if(T.type===`begin`&&r.type===`end`&&T.index===r.index&&a===``){if(P+=n.slice(r.index,r.index+1),!o){let t=Error(`0 width match regex (${e})`);throw t.languageName=e,t.badRule=T.rule,t}return 1}if(T=r,r.type===`begin`)return b(r);if(r.type===`illegal`&&!i){let e=Error(`Illegal lexeme "`+a+`" for mode "`+(A.scope||`<unnamed>`)+`"`);throw e.mode=A,e}else if(r.type===`end`){let e=C(r);if(e!==Ne)return e}if(r.type===`illegal`&&a===``)return P+=`
1932
- `,1;if(L>1e5&&L>r.index*3)throw Error(`potential infinite loop, way more iterations than matches`);return P+=a,a.length}let D=N(e);if(!D)throw _e(s.replace(`{}`,e)),Error(`Unknown language: "`+e+`"`);let O=Ee(D),k=``,A=a||O,j={},M=new l.__emitter(l);w();let P=``,F=0,I=0,L=0,R=!1;try{if(D.__emitTokens)D.__emitTokens(n,M);else{for(A.matcher.considerAll();;){L++,R?R=!1:A.matcher.considerAll(),A.matcher.lastIndex=I;let e=A.matcher.exec(n);if(!e)break;let t=E(n.substring(I,e.index),e);I=e.index+t}E(n.substring(I))}return M.finalize(),k=M.toHTML(),{language:e,value:k,relevance:F,illegal:!1,_emitter:M,_top:A}}catch(t){if(t.message&&t.message.includes(`Illegal`))return{language:e,value:je(n),illegal:!0,relevance:0,_illegalBy:{message:t.message,index:I,context:n.slice(I-100,I+100),mode:t.mode,resultSoFar:k},_emitter:M};if(o)return{language:e,value:je(n),illegal:!1,relevance:0,errorRaised:t,_emitter:M,_top:A};throw t}}function b(e){let t={value:je(e),illegal:!1,relevance:0,_top:c,_emitter:new l.__emitter(l)};return t._emitter.addText(e),t}function S(e,n){n=n||l.languages||Object.keys(t);let r=b(e),i=n.filter(N).filter(F).map(t=>v(t,e,!1));i.unshift(r);let[a,o]=i.sort((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(N(e.language).supersetOf===t.language)return 1;if(N(t.language).supersetOf===e.language)return-1}return 0}),s=a;return s.secondBest=o,s}function C(e,t,n){let r=t&&i[t]||n;e.classList.add(`hljs`),e.classList.add(`language-${r}`)}function w(e){let t=null,n=d(e);if(u(n))return;if(z(`before:highlightElement`,{el:e,language:n}),e.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e);return}if(e.children.length>0&&(l.ignoreUnescapedHTML||(console.warn(`One of your code blocks includes unescaped HTML. This is a potentially serious security risk.`),console.warn(`https://github.com/highlightjs/highlight.js/wiki/security`),console.warn(`The element with unescaped HTML:`),console.warn(e)),l.throwUnescapedHTML))throw new Ae(`One of your code blocks includes unescaped HTML.`,e.innerHTML);t=e;let r=t.textContent,i=n?p(r,{language:n,ignoreIllegals:!0}):S(r);e.innerHTML=i.value,e.dataset.highlighted=`yes`,C(e,n,i.language),e.result={language:i.language,re:i.relevance,relevance:i.relevance},i.secondBest&&(e.secondBest={language:i.secondBest.language,relevance:i.secondBest.relevance}),z(`after:highlightElement`,{el:e,result:i,text:r})}function T(e){l=Me(l,e)}let E=()=>{k(),ye(`10.6.0`,`initHighlighting() deprecated. Use highlightAll() now.`)};function D(){k(),ye(`10.6.0`,`initHighlightingOnLoad() deprecated. Use highlightAll() now.`)}let O=!1;function k(){function e(){k()}if(document.readyState===`loading`){O||window.addEventListener(`DOMContentLoaded`,e,!1),O=!0;return}document.querySelectorAll(l.cssSelector).forEach(w)}function A(n,r){let i=null;try{i=r(e)}catch(e){if(_e(`Language definition for '{}' could not be registered.`.replace(`{}`,n)),o)_e(e);else throw e;i=c}i.name||=n,t[n]=i,i.rawDefinition=r.bind(null,e),i.aliases&&P(i.aliases,{languageName:n})}function j(e){delete t[e];for(let t of Object.keys(i))i[t]===e&&delete i[t]}function M(){return Object.keys(t)}function N(e){return e=(e||``).toLowerCase(),t[e]||t[i[e]]}function P(e,{languageName:t}){typeof e==`string`&&(e=[e]),e.forEach(e=>{i[e.toLowerCase()]=t})}function F(e){let t=N(e);return t&&!t.disableAutodetect}function I(e){e[`before:highlightBlock`]&&!e[`before:highlightElement`]&&(e[`before:highlightElement`]=t=>{e[`before:highlightBlock`](Object.assign({block:t.el},t))}),e[`after:highlightBlock`]&&!e[`after:highlightElement`]&&(e[`after:highlightElement`]=t=>{e[`after:highlightBlock`](Object.assign({block:t.el},t))})}function L(e){I(e),a.push(e)}function R(e){let t=a.indexOf(e);t!==-1&&a.splice(t,1)}function z(e,t){let n=e;a.forEach(function(e){e[n]&&e[n](t)})}function ee(e){return ye(`10.7.0`,`highlightBlock will be removed entirely in v12.0`),ye(`10.7.0`,`Please use highlightElement now.`),w(e)}Object.assign(e,{highlight:p,highlightAuto:S,highlightAll:k,highlightElement:w,highlightBlock:ee,configure:T,initHighlighting:E,initHighlightingOnLoad:D,registerLanguage:A,unregisterLanguage:j,listLanguages:M,getLanguage:N,registerAliases:P,autoDetection:F,inherit:Me,addPlugin:L,removePlugin:R}),e.debugMode=function(){o=!1},e.safeMode=function(){o=!0},e.versionString=ke,e.regex={concat:_,lookahead:m,either:y,optional:g,anyNumberOfTimes:h};for(let e in ae)typeof ae[e]==`object`&&n(ae[e]);return Object.assign(e,ae),e},Ie=Fe({});Ie.newInstance=()=>Fe({}),t.exports=Ie,Ie.HighlightJS=Ie,Ie.default=Ie}))()).default,NV={},PV=`hljs-`;function FV(e){let t=MV.newInstance();return e&&a(e),{highlight:n,highlightAuto:r,listLanguages:i,register:a,registerAlias:o,registered:s};function n(e,n,r){let i=r||NV,a=typeof i.prefix==`string`?i.prefix:PV;if(!t.getLanguage(e))throw Error("Unknown language: `"+e+"` is not registered");t.configure({__emitter:IV,classPrefix:a});let o=t.highlight(n,{ignoreIllegals:!0,language:e});if(o.errorRaised)throw Error("Could not highlight with `Highlight.js`",{cause:o.errorRaised});let s=o._emitter.root,c=s.data;return c.language=o.language,c.relevance=o.relevance,s}function r(e,r){let a=(r||NV).subset||i(),o=-1,s=0,c;for(;++o<a.length;){let i=a[o];if(!t.getLanguage(i))continue;let l=n(i,e,r);l.data&&l.data.relevance!==void 0&&l.data.relevance>s&&(s=l.data.relevance,c=l)}return c||{type:`root`,children:[],data:{language:void 0,relevance:s}}}function i(){return t.listLanguages()}function a(e,n){if(typeof e==`string`)t.registerLanguage(e,n);else{let n;for(n in e)Object.hasOwn(e,n)&&t.registerLanguage(n,e[n])}}function o(e,n){if(typeof e==`string`)t.registerAliases(typeof n==`string`?n:[...n],{languageName:e});else{let n;for(n in e)if(Object.hasOwn(e,n)){let r=e[n];t.registerAliases(typeof r==`string`?r:[...r],{languageName:n})}}}function s(e){return!!t.getLanguage(e)}}var IV=class{constructor(e){this.options=e,this.root={type:`root`,children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(e){if(e===``)return;let t=this.stack[this.stack.length-1],n=t.children[t.children.length-1];n&&n.type===`text`?n.value+=e:t.children.push({type:`text`,value:e})}startScope(e){this.openNode(String(e))}endScope(){this.closeNode()}__addSublanguage(e,t){let n=this.stack[this.stack.length-1],r=e.root.children;t?n.children.push({type:`element`,tagName:`span`,properties:{className:[t]},children:r}):n.children.push(...r)}openNode(e){let t=this,n=e.split(`.`).map(function(e,n){return n?e+`_`.repeat(n):t.options.classPrefix+e}),r=this.stack[this.stack.length-1],i={type:`element`,tagName:`span`,properties:{className:n},children:[]};r.children.push(i),this.stack.push(i)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return``}},LV={};function RV(e){let t=e||LV,n=t.aliases,r=t.detect||!1,i=t.languages||jV,a=t.plainText,o=t.prefix,s=t.subset,c=`hljs`,l=FV(i);if(n&&l.registerAlias(n),o){let e=o.indexOf(`-`);c=e===-1?o:o.slice(0,e)}return function(e,t){ZP(e,`element`,function(e,n,i){if(e.tagName!==`code`||!i||i.type!==`element`||i.tagName!==`pre`)return;let u=zV(e);if(u===!1||!u&&!r||u&&a&&a.includes(u))return;Array.isArray(e.properties.className)||(e.properties.className=[]),e.properties.className.includes(c)||e.properties.className.unshift(c);let d=_z(e,{whitespace:`pre`}),f;try{f=u?l.highlight(u,d,{prefix:o}):l.highlightAuto(d,{prefix:o,subset:s})}catch(n){let r=n;if(u&&/Unknown language/.test(r.message)){t.message("Cannot highlight as `"+u+"`, it’s not registered",{ancestors:[i,e],cause:r,place:e.position,ruleId:`missing-language`,source:`rehype-highlight`});return}throw r}!u&&f.data&&f.data.language&&e.properties.className.push(`language-`+f.data.language),f.children.length>0&&(e.children=f.children)})}}function zV(e){let t=e.properties.className,n=-1;if(!Array.isArray(t))return;let r;for(;++n<t.length;){let e=String(t[n]);if(e===`no-highlight`||e===`nohighlight`)return!1;!r&&e.slice(0,5)===`lang-`&&(r=e.slice(5)),!r&&e.slice(0,9)===`language-`&&(r=e.slice(9))}return r}var BV=[`ariaDescribedBy`,`ariaLabel`,`ariaLabelledBy`],VV={ancestors:{tbody:[`table`],td:[`table`],th:[`table`],thead:[`table`],tfoot:[`table`],tr:[`table`]},attributes:{a:[...BV,`dataFootnoteBackref`,`dataFootnoteRef`,[`className`,`data-footnote-backref`],`href`],blockquote:[`cite`],code:[[`className`,/^language-./]],del:[`cite`],div:[`itemScope`,`itemType`],dl:[...BV],h2:[[`className`,`sr-only`]],img:[...BV,`longDesc`,`src`],input:[[`disabled`,!0],[`type`,`checkbox`]],ins:[`cite`],li:[[`className`,`task-list-item`]],ol:[...BV,[`className`,`contains-task-list`]],q:[`cite`],section:[`dataFootnotes`,[`className`,`footnotes`]],source:[`srcSet`],summary:[...BV],table:[...BV],ul:[...BV,[`className`,`contains-task-list`]],"*":`abbr.accept.acceptCharset.accessKey.action.align.alt.axis.border.cellPadding.cellSpacing.char.charOff.charSet.checked.clear.colSpan.color.cols.compact.coords.dateTime.dir.encType.frame.hSpace.headers.height.hrefLang.htmlFor.id.isMap.itemProp.label.lang.maxLength.media.method.multiple.name.noHref.noShade.noWrap.open.prompt.readOnly.rev.rowSpan.rows.rules.scope.selected.shape.size.span.start.summary.tabIndex.title.useMap.vAlign.value.width`.split(`.`)},clobber:[`ariaDescribedBy`,`ariaLabelledBy`,`id`,`name`],clobberPrefix:`user-content-`,protocols:{cite:[`http`,`https`],href:[`http`,`https`,`irc`,`ircs`,`mailto`,`xmpp`],longDesc:[`http`,`https`],src:[`http`,`https`]},required:{input:{disabled:!0,type:`checkbox`}},strip:[`script`],tagNames:`a.b.blockquote.br.code.dd.del.details.div.dl.dt.em.h1.h2.h3.h4.h5.h6.hr.i.img.input.ins.kbd.li.ol.p.picture.pre.q.rp.rt.ruby.s.samp.section.source.span.strike.strong.sub.summary.sup.table.tbody.td.tfoot.th.thead.tr.tt.ul.var`.split(`.`)},HV={}.hasOwnProperty;function UV(e,t){let n={type:`root`,children:[]},r=WV({schema:t?{...VV,...t}:VV,stack:[]},e);return r&&(Array.isArray(r)?r.length===1?n=r[0]:n.children=r:n=r),n}function WV(e,t){if(t&&typeof t==`object`){let n=t;switch(typeof n.type==`string`?n.type:``){case`comment`:return GV(e,n);case`doctype`:return KV(e,n);case`element`:return qV(e,n);case`root`:return JV(e,n);case`text`:return YV(e,n);default:}}}function GV(e,t){if(e.schema.allowComments){let e=typeof t.value==`string`?t.value:``,n=e.indexOf(`-->`),r={type:`comment`,value:n<0?e:e.slice(0,n)};return nH(r,t),r}}function KV(e,t){if(e.schema.allowDoctypes){let e={type:`doctype`};return nH(e,t),e}}function qV(e,t){let n=typeof t.tagName==`string`?t.tagName:``;e.stack.push(n);let r=XV(e,t.children),i=ZV(e,t.properties);e.stack.pop();let a=!1;if(n&&n!==`*`&&(!e.schema.tagNames||e.schema.tagNames.includes(n))&&(a=!0,e.schema.ancestors&&HV.call(e.schema.ancestors,n))){let t=e.schema.ancestors[n],r=-1;for(a=!1;++r<t.length;)e.stack.includes(t[r])&&(a=!0)}if(!a)return e.schema.strip&&!e.schema.strip.includes(n)?r:void 0;let o={type:`element`,tagName:n,properties:i,children:r};return nH(o,t),o}function JV(e,t){let n={type:`root`,children:XV(e,t.children)};return nH(n,t),n}function YV(e,t){let n={type:`text`,value:typeof t.value==`string`?t.value:``};return nH(n,t),n}function XV(e,t){let n=[];if(Array.isArray(t)){let r=t,i=-1;for(;++i<r.length;){let t=WV(e,r[i]);t&&(Array.isArray(t)?n.push(...t):n.push(t))}}return n}function ZV(e,t){let n=e.stack[e.stack.length-1],r=e.schema.attributes,i=e.schema.required,a=r&&HV.call(r,n)?r[n]:void 0,o=r&&HV.call(r,`*`)?r[`*`]:void 0,s=t&&typeof t==`object`?t:{},c={},l;for(l in s)if(HV.call(s,l)){let t=s[l],n=QV(e,rH(a,l),l,t);n??=QV(e,rH(o,l),l,t),n!=null&&(c[l]=n)}if(i&&HV.call(i,n)){let e=i[n];for(l in e)HV.call(e,l)&&!HV.call(c,l)&&(c[l]=e[l])}return c}function QV(e,t,n,r){return t?Array.isArray(r)?$V(e,t,n,r):eH(e,t,n,r):void 0}function $V(e,t,n,r){let i=-1,a=[];for(;++i<r.length;){let o=eH(e,t,n,r[i]);(typeof o==`number`||typeof o==`string`)&&a.push(o)}return a}function eH(e,t,n,r){if(!(typeof r!=`boolean`&&typeof r!=`number`&&typeof r!=`string`)&&tH(e,n,r)){if(typeof t==`object`&&t.length>1){let e=!1,n=0;for(;++n<t.length;){let i=t[n];if(i&&typeof i==`object`&&`flags`in i){if(i.test(String(r))){e=!0;break}}else if(i===r){e=!0;break}}if(!e)return}return e.schema.clobber&&e.schema.clobberPrefix&&e.schema.clobber.includes(n)?e.schema.clobberPrefix+r:r}}function tH(e,t,n){let r=e.schema.protocols&&HV.call(e.schema.protocols,t)?e.schema.protocols[t]:void 0;if(!r||r.length===0)return!0;let i=String(n),a=i.indexOf(`:`),o=i.indexOf(`?`),s=i.indexOf(`#`),c=i.indexOf(`/`);if(a<0||c>-1&&a>c||o>-1&&a>o||s>-1&&a>s)return!0;let l=-1;for(;++l<r.length;){let e=r[l];if(a===e.length&&i.slice(0,e.length)===e)return!0}return!1}function nH(e,t){let n=uA(t);t.data&&(e.data=IP(t.data)),n&&(e.position=n)}function rH(e,t){let n,r=-1;if(e)for(;++r<e.length;){let i=e[r],a=typeof i==`string`?i:i[0];if(a===t)return i;a===`data*`&&(n=i)}if(t.length>4&&t.slice(0,4).toLowerCase()===`data`)return n}function iH(e){return function(t){return UV(t,e)}}function aH(){return typeof document>`u`?`dark`:(nE[document.documentElement.getAttribute(`data-theme`)||`nord`]?.type??`dark`)===`light`?`default`:`dark`}function oH({chart:e}){let t=(0,W.useRef)(null),n=`mermaid-${(0,W.useId)().replace(/[^a-zA-Z0-9]/g,``)}`,[r,i]=(0,W.useState)(null);return(0,W.useEffect)(()=>{let r=!1;if(t.current)return(async()=>{try{let a=(await J(async()=>{let{default:e}=await import(`./mermaid.core-K3JZIfb0.js`);return{default:e}},__vite__mapDeps([101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118]))).default;a.initialize({startOnLoad:!1,securityLevel:`strict`,theme:aH()});let{svg:o,bindFunctions:s}=await a.render(n,e);if(r||!t.current)return;t.current.innerHTML=o,s?.(t.current),i(null)}catch(e){r||i(e instanceof Error?e.message:String(e))}})(),()=>{r=!0}},[e,n]),r?(0,G.jsxs)(`div`,{className:`mermaid-error`,children:[(0,G.jsxs)(`div`,{className:`mermaid-error-note`,children:[`Failed to render diagram: `,r]}),(0,G.jsx)(`pre`,{children:(0,G.jsx)(`code`,{children:e})})]}):(0,G.jsx)(`div`,{className:`mermaid`,ref:t,role:`img`,"aria-label":`Mermaid diagram`})}var sH=[QR,tz],cH=[[iH,{...VV,protocols:{...VV.protocols,href:[...VV.protocols?.href??[],`file`,`file-mention`]},attributes:{...VV.attributes,h1:[...VV.attributes?.h1??[],`id`],h2:[...VV.attributes?.h2??[],`id`],h3:[...VV.attributes?.h3??[],`id`],h4:[...VV.attributes?.h4??[],`id`],h5:[...VV.attributes?.h5??[],`id`],h6:[...VV.attributes?.h6??[],`id`]}}],[RV,{ignoreMissing:!0,plainText:[`mermaid`,`suggestion`]}]];function lH(e){return e.startsWith(`file://`)||e.startsWith(`file-mention://`)?e:$F(e)}function uH(e){return e==null||e===!1||e===!0?``:typeof e==`string`||typeof e==`number`?String(e):Array.isArray(e)?e.map(uH).join(``):(0,W.isValidElement)(e)?uH(e.props.children):``}function dH(e){return typeof e==`string`?/language-([\w-]+)/.exec(e)?.[1]??null:null}function fH(e){return e.toLowerCase().trim().replace(/[`*_~[\]()#.!?,:'"]/g,``).replace(/[^\w\s-]/g,``).replace(/\s+/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``).slice(0,80)||`section`}function pH({language:e,codeText:t,children:n}){let[r,i]=(0,W.useState)(!1),a=(0,W.useCallback)(()=>{typeof navigator>`u`||!navigator.clipboard||navigator.clipboard.writeText(t).then(()=>{i(!0),window.setTimeout(()=>i(!1),1400)},()=>{})},[t]);return(0,G.jsxs)(`div`,{className:`md-code-block`,children:[(0,G.jsxs)(`div`,{className:`md-code-toolbar`,children:[(0,G.jsx)(`span`,{className:`md-code-lang`,children:e||`code`}),(0,G.jsx)(`button`,{type:`button`,className:`md-code-copy`,onClick:a,"aria-label":`Copy code`,children:r?`Copied`:`Copy`})]}),(0,G.jsx)(`pre`,{children:n})]})}function mH(e){return{pre({children:e}){let t=dH((0,W.isValidElement)(e)?e.props.className:void 0);return t===`mermaid`?(0,G.jsx)(oH,{chart:uH(e).replace(/\n$/,``)}):t===`suggestion`?null:(0,G.jsx)(pH,{language:t,codeText:uH(e).replace(/\n$/,``),children:e})},a({href:e,children:t}){return typeof e==`string`&&e.startsWith(`file-mention://`)?(0,G.jsx)(`span`,{className:`mention-file`,title:e.slice(15),children:t}):(0,G.jsx)(`a`,{href:e,...typeof e==`string`&&/^https?:\/\//.test(e)?{target:`_blank`,rel:`noopener noreferrer`}:{},children:t})},h1:hH(`h1`,e),h2:hH(`h2`,e),h3:hH(`h3`,e),h4:hH(`h4`,e),h5:hH(`h5`,e),h6:hH(`h6`,e)}}function hH(e,t){return function({children:n,...r}){let i=uH(n),a=fH(i),o=t.get(a)??0;return t.set(a,o+1),o>0&&(a=`${a}-${o+1}`),(0,G.jsxs)(e,{id:a,className:`md-heading`,...r,children:[(0,G.jsx)(`a`,{href:`#${a}`,className:`md-heading-anchor`,"aria-label":`Link to ${i}`,children:`#`}),n]})}}function gH({content:e,className:t}){return(0,G.jsx)(`div`,{className:t,children:(0,G.jsx)(YF,{remarkPlugins:sH,rehypePlugins:cH,urlTransform:lH,components:mH(new Map),children:e})})}function _H(e,t){let n=e.slice(0,t);for(let e=t-1;e>=0;e--){let t=n[e];if(t===`@`){if(e===0||/\s/.test(n[e-1])){let t=n.slice(e+1);if(!/\s/.test(t))return{atStart:e,query:t}}return null}if(t===`
1933
- `)return null}return null}function vH(e,t){let n=(0,W.useRef)(null),[r,i]=(0,W.useState)(null),[a,o]=(0,W.useState)(0),[s,c]=(0,W.useState)(0),l=(0,W.useRef)(0),u=(0,W.useCallback)(e=>{n.current=e},[]);(0,W.useEffect)(()=>{let t=n.current;if(!t)return;let r=t.selectionStart;l.current=r;let a=_H(e,r);if(i(a),a){o(0);let n=parseFloat(getComputedStyle(t).lineHeight)||20,i=(e.slice(0,r).match(/\n/g)||[]).length;c((parseFloat(getComputedStyle(t).paddingTop)||0)+(i+1)*n+4)}},[e]);let d=r?.query??``,f=nt({queryKey:[`file-mention`,d],enabled:r!==null,placeholderData:B,staleTime:5e3,queryFn:async({signal:e})=>{let t=await fetch(`/api/search`,{method:`POST`,headers:{"content-type":`application/json`},signal:e,body:JSON.stringify({scope:`files`,query:d})});if(!t.ok)throw Error(`Search failed (${t.status})`);return await t.json()}}),p=f.data?.items??[],m=r!==null&&(p.length>0||f.isFetching),h=(0,W.useCallback)(a=>{if(!r)return;let o=n.current;if(!o)return;let s=e.slice(0,r.atStart),c=e.slice(l.current),u=`@${a} `;t(s+u+c),i(null),requestAnimationFrame(()=>{o.selectionStart=o.selectionEnd=(s+u).length,o.focus()})},[r,e,t]),g=(0,W.useCallback)(e=>{if(!m)return!1;if(e.key===`ArrowDown`){e.preventDefault();let t=p.length;return t>0&&o(e=>(e+1)%t),!0}if(e.key===`ArrowUp`){e.preventDefault();let t=p.length;return t>0&&o(e=>e===0?t-1:e-1),!0}return(e.key===`Enter`||e.key===`Tab`)&&p[a]?(e.preventDefault(),h(p[a].path),!0):e.key===`Escape`?(e.preventDefault(),i(null),!0):!1},[m,p,a,h]),_=(0,W.useCallback)(e=>h(e),[h]);return{isOpen:m,results:p,focusedIndex:a,query:d,isFetching:f.isFetching,cursorTop:s,handleKeyDown:g,onSelect:_,setFocusedIndex:o,setTextareaRef:u}}function yH(e,t){let n=t.trim().toLowerCase();if(!n)return[];let r=e.toLowerCase(),i=[],a=0;for(let e=0;e<r.length&&a<n.length;e++)if(r[e]===n[a]){let t=i[i.length-1];t&&t[1]===e?t[1]=e+1:i.push([e,e+1]),a++}return a===n.length?i:[]}function bH({text:e,ranges:t}){if(!t.length)return(0,G.jsx)(G.Fragment,{children:e});let n=[],r=0;return t.forEach(([t,i],a)=>{t>r&&n.push(e.slice(r,t)),n.push((0,G.jsx)(`mark`,{className:`mention-highlight`,children:e.slice(t,i)},a)),r=i}),r<e.length&&n.push(e.slice(r)),(0,G.jsx)(G.Fragment,{children:n})}var xH=e=>{let t=e.lastIndexOf(`/`);return t===-1?``:e.slice(0,t+1)},SH=e=>{let t=e.lastIndexOf(`/`);return t===-1?e:e.slice(t+1)};function CH({results:e,focusedIndex:t,query:n,cursorTop:r,onSelect:i,onHover:a}){let o=(0,W.useRef)(null);return(0,W.useEffect)(()=>{(o.current?.querySelector(`[data-focused="true"]`))?.scrollIntoView({block:`nearest`})},[t]),e.length===0?null:(0,G.jsx)(`div`,{className:`mention-dropdown`,ref:o,role:`listbox`,"aria-label":`File suggestions`,style:{top:r},children:e.map((e,r)=>{let o=SH(e.path),s=yH(o,n),c=r===t;return(0,G.jsxs)(`div`,{role:`option`,"aria-selected":c,"data-focused":c,className:`mention-item ${c?`mention-item-focused`:``}`,onMouseDown:t=>{t.preventDefault(),i(e.path)},onMouseEnter:()=>a(r),children:[(0,G.jsx)(`span`,{className:`mention-icon`,children:(0,G.jsx)(fO,{size:13})}),(0,G.jsxs)(`div`,{className:`mention-info`,children:[(0,G.jsx)(`span`,{className:`mention-name`,children:(0,G.jsx)(bH,{text:o,ranges:s})}),(0,G.jsx)(`span`,{className:`mention-dir`,children:xH(e.path)||`./`})]})]},e.path)})})}function wH(e){return e.replace(/@([^\s@]+)/g,(e,t)=>`[${t.split(`/`).pop()||t}](file-mention://${t})`)}function TH({id:e,value:t,onChange:n,placeholder:r,rows:i=3,ariaLabel:a,textareaClassName:o,onSubmitShortcut:s}){let[c,l]=(0,W.useState)(`write`),u=(0,W.useRef)(null),d=(0,W.useRef)(null),f=vH(t,n),p=(0,W.useRef)(t);(0,W.useEffect)(()=>{p.current=t},[t]),(0,W.useEffect)(()=>{c===`preview`&&d.current?.focus()},[c]);let m=async e=>{let r=e.clipboardData.items,i=null;for(let e=0;e<r.length;e++){let t=r[e];if(t.kind===`file`&&t.type.startsWith(`image/`)){i=t.getAsFile();break}}if(!i)return;e.preventDefault();let a=u.current;if(!a)return;let o=a.selectionStart,s=a.selectionEnd,c=Math.random().toString(36).slice(2,8),l=`![Uploading image… ${c}]()`,d=t.slice(0,o)+l+t.slice(s);n(d),p.current=d;try{let e=new FormData;e.append(`file`,i,i.name||`pasted-${c}.png`);let t=await fetch(`/api/attachments`,{method:`POST`,body:e});if(!t.ok)throw Error(`HTTP ${t.status}`);let r=await t.json();if(!r.url)throw Error(r.error||`Upload failed`);n(p.current.replace(l,`![pasted image](${r.url})`))}catch(e){console.error(`Image upload failed:`,e),n(p.current.replace(l,`![upload failed]()`))}};return(0,G.jsxs)(`div`,{className:`md-field`,children:[(0,G.jsxs)(`div`,{className:`comment-form-tabs`,role:`tablist`,"aria-label":`Markdown editor mode`,children:[(0,G.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":c===`write`,onClick:()=>l(`write`),onKeyDown:e=>{e.key===`ArrowRight`&&(e.preventDefault(),l(`preview`))},className:`comment-form-tab-btn ${c===`write`?`comment-form-tab-btn-active`:`comment-form-tab-btn-inactive`}`,children:`Write`}),(0,G.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":c===`preview`,onClick:()=>l(`preview`),onKeyDown:e=>{e.key===`ArrowLeft`&&(e.preventDefault(),l(`write`))},className:`comment-form-tab-btn ${c===`preview`?`comment-form-tab-btn-active`:`comment-form-tab-btn-inactive`}`,children:`Preview`})]}),c===`write`?(0,G.jsxs)(`div`,{style:{position:`relative`},children:[(0,G.jsx)(`textarea`,{id:e,ref:e=>{u.current=e,f.setTextareaRef(e)},className:o,value:t,rows:i,placeholder:r,"aria-label":a,onChange:e=>n(e.target.value),onPaste:m,onKeyDown:e=>{f.handleKeyDown(e)||(e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),s?.()),e.key===`p`&&(e.metaKey||e.ctrlKey)&&e.shiftKey&&(e.preventDefault(),l(e=>e===`write`?`preview`:`write`)))}}),f.isOpen&&(0,G.jsx)(CH,{results:f.results,focusedIndex:f.focusedIndex,query:f.query,cursorTop:f.cursorTop,onSelect:f.onSelect,onHover:f.setFocusedIndex})]}):(0,G.jsx)(`div`,{ref:d,className:`md-field-preview markdown-body`,role:`tabpanel`,"aria-label":`Markdown preview`,tabIndex:0,onKeyDown:e=>{e.key===`p`&&(e.metaKey||e.ctrlKey)&&e.shiftKey&&(e.preventDefault(),l(`write`))},children:t.trim()?(0,G.jsx)(gH,{content:wH(t)}):(0,G.jsx)(`span`,{className:`md-field-empty`,children:`Nothing to preview`})})]})}var EH=`diffing-submit-panel-height`,DH=`diffing-submit-panel-width`,OH=[{label:`S`,width:420,height:340},{label:`M`,width:480,height:440},{label:`L`,width:560,height:560},{label:`XL`,width:640,height:760}],kH=480,AH=520;function jH(e){return Number.isFinite(e)?Math.max(280,Math.min(760,e)):kH}function MH(e){return Number.isFinite(e)?Math.max(360,Math.min(720,e)):AH}function NH(){let e=CD(EH);if(e==null)return kH;let t=Number(e);return Number.isFinite(t)?jH(t):kH}function PH(){let e=CD(DH);if(e==null)return AH;let t=Number(e);return Number.isFinite(t)?MH(t):AH}function FH(e,t){if(!(!e||typeof e.setPointerCapture!=`function`))try{e.setPointerCapture(t)}catch{}}function IH(e,t){if(!(!e||typeof e.releasePointerCapture!=`function`))try{e.hasPointerCapture?.(t)&&e.releasePointerCapture(t)}catch{}}function LH(){let[e,t]=(0,W.useState)(()=>NH()),[n,r]=(0,W.useState)(()=>PH()),i=(0,W.useRef)(null),a=(0,W.useRef)(e);a.current=e;let o=(0,W.useRef)(n);o.current=n;let s=(0,W.useRef)(!1),c=(0,W.useRef)(0),l=(0,W.useCallback)(()=>{s.current=!0,c.current=1/0},[]),u=(0,W.useCallback)(()=>{s.current=!1,c.current=Date.now()+200},[]),d=(0,W.useCallback)(()=>s.current||Date.now()<c.current,[]),f=(0,W.useCallback)((e,t,n)=>{if(!e&&d()){t?.cancel?.();return}n(e)},[d]),p=(0,W.useCallback)(e=>{let n=jH(e);t(n),DD(EH,String(n))},[]),m=(0,W.useCallback)(e=>{let t=MH(e);r(t),DD(DH,String(t))},[]),h=(0,W.useCallback)(e=>{m(e.width),p(e.height)},[m,p]),g=(()=>{for(let t=0;t<OH.length;t++){let r=OH[t];if(Math.abs(e-r.height)<1&&Math.abs(n-r.width)<1)return t}return-1})(),_=(0,W.useCallback)(e=>{if(e.button!==0)return;e.preventDefault();let n=i.current;if(!n)return;let r=e.currentTarget,o=e.pointerId;FH(r,o),l();let s=e.clientY,c=a.current,d=c,f=0,p=()=>{f=0,n.style.setProperty(`--submit-panel-height`,`${d}px`)},m=e=>{e.pointerId===o&&(d=jH(c+(e.clientY-s)),f||=requestAnimationFrame(p))},h=e=>{e.pointerId===o&&(f&&cancelAnimationFrame(f),t(d),DD(EH,String(d)),IH(r,o),u(),document.removeEventListener(`pointermove`,m),document.removeEventListener(`pointerup`,h),document.removeEventListener(`pointercancel`,h),document.body.style.cursor=``,document.body.style.userSelect=``)};document.addEventListener(`pointermove`,m),document.addEventListener(`pointerup`,h),document.addEventListener(`pointercancel`,h),document.body.style.cursor=`row-resize`,document.body.style.userSelect=`none`},[l,u]),v=(0,W.useCallback)(e=>{if(e.button!==0)return;e.preventDefault();let t=i.current;if(!t)return;let n=e.currentTarget,a=e.pointerId;FH(n,a),l();let s=e.clientX,c=o.current,d=c,f=0,p=()=>{f=0,t.style.setProperty(`--submit-panel-width`,`${d}px`)},m=e=>{e.pointerId===a&&(d=MH(c+(s-e.clientX)),f||=requestAnimationFrame(p))},h=e=>{e.pointerId===a&&(f&&cancelAnimationFrame(f),r(d),DD(DH,String(d)),IH(n,a),u(),document.removeEventListener(`pointermove`,m),document.removeEventListener(`pointerup`,h),document.removeEventListener(`pointercancel`,h),document.body.style.cursor=``,document.body.style.userSelect=``)};document.addEventListener(`pointermove`,m),document.addEventListener(`pointerup`,h),document.addEventListener(`pointercancel`,h),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`},[l,u]),y=(0,W.useCallback)(e=>{if(e.button!==0)return;e.preventDefault();let n=i.current;if(!n)return;let s=e.currentTarget,c=e.pointerId;FH(s,c),l();let d=e.clientX,f=e.clientY,p=o.current,m=a.current,h=p,g=m,_=0,v=()=>{_=0,n.style.setProperty(`--submit-panel-width`,`${h}px`),n.style.setProperty(`--submit-panel-height`,`${g}px`)},y=e=>{if(e.pointerId!==c)return;let t=d-e.clientX,n=e.clientY-f;h=MH(p+t),g=jH(m+n),_||=requestAnimationFrame(v)},b=e=>{e.pointerId===c&&(_&&cancelAnimationFrame(_),r(h),t(g),DD(DH,String(h)),DD(EH,String(g)),IH(s,c),u(),document.removeEventListener(`pointermove`,y),document.removeEventListener(`pointerup`,b),document.removeEventListener(`pointercancel`,b),document.body.style.cursor=``,document.body.style.userSelect=``)};document.addEventListener(`pointermove`,y),document.addEventListener(`pointerup`,b),document.addEventListener(`pointercancel`,b),document.body.style.cursor=`nesw-resize`,document.body.style.userSelect=`none`},[l,u]);return(0,W.useEffect)(()=>()=>{document.body.style.cursor=``,document.body.style.userSelect=``},[]),{height:e,width:n,setHeight:p,setWidth:m,applyPreset:h,activePreset:g,startResize:_,startLeftResize:v,startCornerResize:y,handleOpenChange:f,popoverStyle:{"--submit-panel-height":`${e}px`,"--submit-panel-width":`${n}px`},panelRef:i}}var RH=[{value:`approved`,label:`Approve`,description:`The changes look good — the agent can proceed.`,icon:UD,className:`plan-verdict-approve`},{value:`changes-requested`,label:`Request edits`,description:`The agent should address the comments and apply edits.`,icon:NO,className:`plan-verdict-changes`},{value:`rejected`,label:`Reject`,description:`Don't keep building on this — the approach needs rethinking.`,icon:ck,className:`plan-verdict-reject`},{value:`comment-only`,label:`Comment only`,description:`Agent must NOT edit files — only reply to comments. General note goes to chat.`,icon:PO,className:`plan-verdict-comment-only`}];function zH({comments:e,totalFileCount:t,viewedFileCount:n,requireViewAllBeforeSend:r,onEditComment:i,onDeleteComment:a,onSend:o,sending:s,agentWaiting:c,waitingAgents:l=[],onCopyComments:u,onCopyMarkdown:d}){let{haptic:f,sound:p}=pD(),[m,h]=(0,W.useState)(!1),[g,_]=(0,W.useState)(``),[v,y]=(0,W.useState)(null),[b,x]=(0,W.useState)(!1),[S,C]=(0,W.useState)(null),[w,T]=(0,W.useState)(!1),{popoverStyle:E,activePreset:D,applyPreset:O,startResize:k,startLeftResize:A,startCornerResize:j,handleOpenChange:M,panelRef:N}=LH(),P=async()=>{u&&(await u(),x(!0),setTimeout(()=>x(!1),2e3))},F=e.length,I=(0,W.useMemo)(()=>[...e].sort((e,t)=>e.createdAt-t.createdAt),[e]),L=Math.max(0,t-n),R=async()=>{if(!v)return;if(r&&L>0&&!w){if(f(`medium`),!(!(typeof window>`u`)&&window.confirm(`${L} file${L===1?``:`s`} ${L===1?`is`:`are`} still unviewed. Send the review to the agent anyway?`))){T(!1),h(!0);return}T(!0)}f(`heavy`),p(`send`);let e=v===`comment-only`?`comment-only`:`standard`;try{await o(v,g,e,w),_(``),y(null),h(!1),C(null),T(!1)}catch(e){if(e?.kind===`secrets`){C(e.findings),T(!1);return}throw e}};return(0,G.jsx)(Qk,{open:m,onOpenChange:(e,t)=>M(e,t,h),ariaLabel:`Submit your review to the agent`,className:`send-review-popover`,trigger:(0,G.jsxs)(`button`,{className:`btn btn-primary btn-sm send-review-btn`,disabled:s,title:l.length>0?`Waiting: ${l.map(e=>e.label||e.model||e.id.slice(0,8)).join(`, `)}`:c?`Agent waiting for your review`:`Submit review to agent`,"aria-label":s?`Sending review`:F>0?`Send review with ${F} comment${F===1?``:`s`}`:`Send review to agent`,children:[c&&(0,G.jsx)(`span`,{className:`agent-waiting-dot`,"aria-hidden":`true`}),(0,G.jsx)(VD,{size:14,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`btn-label`,children:s?`Sending…`:l.length>1?`Send (${l.length})`:F>0?`Send (${F})`:`Send review`})]}),children:(0,G.jsxs)(`div`,{className:`srp`,ref:N,style:E,children:[(0,G.jsx)(`div`,{className:`srp-resize-handle-left`,onPointerDown:A,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize submit panel width`,tabIndex:0}),(0,G.jsxs)(`div`,{className:`srp-head`,children:[(0,G.jsx)(VD,{size:15,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`srp-title`,children:`Submit review`}),(0,G.jsx)(`div`,{className:`srp-size-presets`,role:`group`,"aria-label":`Panel size`,children:OH.map((e,t)=>(0,G.jsx)(`button`,{className:`srp-preset-btn`,role:`radio`,"aria-checked":D===t,"aria-pressed":D===t,onClick:()=>O(e),title:`${e.width}×${e.height}px`,children:e.label},e.label))}),F>0&&(0,G.jsxs)(`span`,{className:`srp-count`,children:[F,` comment`,F===1?``:`s`]})]}),l.length>0&&(0,G.jsxs)(`div`,{className:`srp-agents`,"aria-label":`Waiting agents`,children:[(0,G.jsx)(`span`,{className:`srp-agents-label`,children:l.length===1?`Agent waiting`:`${l.length} agents waiting`}),(0,G.jsx)(`ul`,{className:`srp-agents-list`,children:l.map(e=>(0,G.jsxs)(`li`,{className:`srp-agent-chip`,title:e.id,children:[(0,G.jsx)(`span`,{className:`agent-waiting-dot`,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`srp-agent-name`,children:e.label||e.model||e.id.slice(0,8)}),e.model&&e.label&&(0,G.jsx)(`span`,{className:`srp-agent-model`,children:e.model})]},e.id))})]}),(0,G.jsxs)(`div`,{className:`srp-scroll`,children:[(0,G.jsx)(`div`,{className:`plan-verdict-options`,role:`radiogroup`,"aria-label":`Verdict`,children:RH.map(e=>{let t=e.icon,n=v===e.value;return(0,G.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":n,className:`plan-verdict-option ${e.className} ${n?`plan-verdict-option-selected`:``}`,onClick:()=>y(e.value),children:[(0,G.jsx)(`span`,{className:`plan-verdict-icon`,children:(0,G.jsx)(t,{size:15,"aria-hidden":`true`})}),(0,G.jsxs)(`span`,{className:`plan-verdict-text`,children:[(0,G.jsx)(`span`,{className:`plan-verdict-label`,children:e.label}),(0,G.jsx)(`span`,{className:`plan-verdict-desc`,children:e.description})]}),(0,G.jsx)(`span`,{className:`plan-verdict-radio`,"aria-hidden":`true`})]},e.value)})}),F>0?(0,G.jsx)(`ul`,{className:`srp-list`,"aria-label":`Comments to send`,children:I.map(e=>(0,G.jsx)(BH,{comment:e,onEdit:i,onDelete:a},e.id))}):(0,G.jsx)(`p`,{className:`srp-empty`,children:`No inline comments — your verdict and overall note will be sent on their own.`}),L>0&&(0,G.jsx)(`div`,{className:`srp-warning`,role:`note`,"data-tone":`muted`,children:(0,G.jsxs)(`span`,{children:[(0,G.jsx)(`strong`,{children:L}),` of `,(0,G.jsx)(`strong`,{children:t}),` file`,t===1?``:`s`,` still unviewed.`,r&&(0,G.jsx)(G.Fragment,{children:` Sending will require an extra confirmation.`})]})}),S&&(0,G.jsxs)(`div`,{className:`srp-warning srp-warning-danger`,role:`alert`,"data-tone":`danger`,children:[(0,G.jsxs)(`div`,{className:`srp-warning-head`,children:[(0,G.jsx)($O,{size:14,"aria-hidden":`true`}),(0,G.jsxs)(`strong`,{children:[S.length,` possible secret`,S.length===1?``:`s`,` detected`]})]}),(0,G.jsx)(`ul`,{className:`srp-warning-list`,children:S.map((e,t)=>(0,G.jsxs)(`li`,{children:[(0,G.jsx)(`code`,{children:e.rule}),`: `,(0,G.jsx)(`code`,{children:e.snippet}),` `,(0,G.jsxs)(`span`,{className:`srp-warning-source`,children:[`in `,e.source]})]},t))}),(0,G.jsxs)(`div`,{className:`srp-warning-actions`,children:[(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:()=>C(null),disabled:s,children:`Cancel & edit`}),(0,G.jsx)(`button`,{className:`btn btn-sm btn-danger`,onClick:()=>{T(!0),C(null),R()},disabled:s,children:`Send anyway`})]})]}),(0,G.jsxs)(`div`,{className:`srp-general`,children:[(0,G.jsxs)(`label`,{className:`srp-general-label`,htmlFor:`srp-general-input`,children:[`Overall comment `,(0,G.jsx)(`span`,{className:`srp-optional`,children:`(optional · Markdown)`})]}),(0,G.jsx)(TH,{id:`srp-general-input`,value:g,onChange:_,textareaClassName:`srp-general-input`,placeholder:`Add an overall note for the agent that applies to the whole review…`,rows:3,ariaLabel:`Overall review comment`,onSubmitShortcut:R})]})]}),(0,G.jsxs)(`div`,{className:`srp-footer`,children:[u&&(0,G.jsxs)(`div`,{style:{marginRight:`auto`,display:`flex`,gap:6},children:[(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:P,disabled:F===0,children:b?`Copied!`:`Copy XML`}),d&&(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:async()=>{try{await d(),x(!0),setTimeout(()=>x(!1),1500)}catch{}},disabled:F===0,title:`Copy review as Markdown`,children:`Copy MD`})]}),(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:()=>h(!1),disabled:s,children:`Cancel`}),(0,G.jsx)(`button`,{className:`btn btn-primary btn-sm`,onClick:R,disabled:!v||s,children:s?`Sending…`:`Send review`})]}),(0,G.jsx)(`div`,{className:`srp-resize-handle`,onPointerDown:k,role:`separator`,"aria-orientation":`horizontal`,"aria-label":`Resize submit panel`,tabIndex:0}),(0,G.jsx)(`div`,{className:`srp-resize-handle-corner`,onPointerDown:j,role:`separator`,"aria-label":`Resize submit panel width and height`,tabIndex:0})]})})}function BH({comment:e,onEdit:t,onDelete:n}){let[r,i]=(0,W.useState)(!1),[a,o]=(0,W.useState)(e.body),s=(0,W.useRef)(null);(0,W.useEffect)(()=>{r&&(s.current?.focus(),s.current?.select())},[r]);let c=e.lineNumber>0?e.startLineNumber&&e.startLineNumber!==e.lineNumber?`:${e.startLineNumber}-${e.lineNumber}`:`:${e.lineNumber}`:` · file`,l=()=>{let n=a.trim();n&&n!==e.body&&t(e.id,n),i(!1)};return(0,G.jsxs)(`li`,{className:`srp-item`,children:[(0,G.jsxs)(`div`,{className:`srp-item-top`,children:[(0,G.jsxs)(`span`,{className:`srp-item-loc`,children:[(0,G.jsx)(`span`,{className:`srp-item-file`,children:tE(e.filePath)}),(0,G.jsx)(`span`,{className:`srp-item-line`,children:c})]}),e.status===`resolved`&&(0,G.jsx)(`span`,{className:`srp-item-resolved`,children:`resolved`}),(0,G.jsxs)(`span`,{className:`srp-item-actions`,children:[r?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`button`,{className:`srp-icon-btn`,onClick:l,title:`Save edit`,children:(0,G.jsx)(UD,{size:13,"aria-hidden":`true`})}),(0,G.jsx)(`button`,{className:`srp-icon-btn`,onClick:()=>{o(e.body),i(!1)},title:`Cancel edit`,children:(0,G.jsx)(ck,{size:13,"aria-hidden":`true`})})]}):(0,G.jsx)(`button`,{className:`srp-icon-btn`,onClick:()=>i(!0),title:`Edit comment`,children:(0,G.jsx)(GO,{size:13,"aria-hidden":`true`})}),(0,G.jsx)(`button`,{className:`srp-icon-btn srp-icon-btn-danger`,onClick:()=>n(e.id),title:`Remove from review`,children:(0,G.jsx)(rk,{size:13,"aria-hidden":`true`})})]})]}),e.lineContent?.trim()&&(0,G.jsx)(`code`,{className:`srp-item-code`,children:e.lineContent.trim().slice(0,160)}),r?(0,G.jsx)(`textarea`,{ref:s,className:`srp-item-edit`,value:a,rows:2,onChange:e=>o(e.target.value),onKeyDown:t=>{t.key===`Enter`&&(t.metaKey||t.ctrlKey)?(t.preventDefault(),l()):t.key===`Escape`&&(t.preventDefault(),o(e.body),i(!1))}}):(0,G.jsx)(`p`,{className:`srp-item-body`,children:e.body})]})}function VH({lastRound:e}){let{data:t=[],isFetching:n,refetch:r}=nt({queryKey:[`review-history`],queryFn:async()=>{let e=await fetch(`/api/review/history`);return e.ok?(await e.json()).rounds??[]:[]},enabled:!1});return!e||e<1?null:(0,G.jsxs)(Qk,{side:`bottom`,align:`start`,ariaLabel:`Review history`,className:`review-history-popup`,onOpenChange:e=>{e&&r()},trigger:(0,G.jsxs)(`button`,{type:`button`,className:`toolbar-last-send toolbar-last-send-btn`,title:`Review history — past handoff rounds`,"aria-label":`Open review history`,children:[(0,G.jsx)(xO,{size:12,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`toolbar-last-send-dot`,"aria-hidden":`true`}),`Round `,e]}),children:[(0,G.jsxs)(`div`,{className:`review-history-header`,children:[(0,G.jsx)(xO,{size:14}),(0,G.jsx)(`strong`,{children:`Review history`}),n&&(0,G.jsx)(`span`,{className:`review-history-loading`,children:`Loading…`})]}),t.length===0?(0,G.jsx)(`p`,{className:`review-history-empty`,children:`No handoffs recorded yet (history is in-memory).`}):(0,G.jsx)(`ul`,{className:`review-history-list`,children:t.map(e=>(0,G.jsxs)(`li`,{className:`review-history-item`,children:[(0,G.jsxs)(`div`,{className:`review-history-item-top`,children:[(0,G.jsxs)(`span`,{className:`review-history-round`,children:[`Round `,e.round]}),e.decision&&(0,G.jsx)(`span`,{className:`review-history-decision`,"data-decision":e.decision,children:e.decision}),e.mode&&e.mode!==`standard`&&(0,G.jsx)(`span`,{className:`review-history-mode`,children:e.mode}),(0,G.jsx)(`span`,{className:`review-history-time`,title:new Date(e.sentAt).toLocaleString(),children:eE(e.sentAt)})]}),(0,G.jsxs)(`div`,{className:`review-history-item-meta`,children:[e.openCount,` open · `,e.filePaths.length,` file`,e.filePaths.length===1?``:`s`]}),e.filePaths.length>0&&(0,G.jsxs)(`div`,{className:`review-history-files`,children:[e.filePaths.slice(0,6).map(e=>(0,G.jsxs)(`span`,{className:`review-history-file`,title:e,children:[(0,G.jsx)(uO,{size:10}),e.split(`/`).pop()]},e)),e.filePaths.length>6&&(0,G.jsxs)(`span`,{className:`review-history-file-more`,children:[`+`,e.filePaths.length-6]})]})]},e.round))})]})}var HH=(0,W.memo)(function({size:e=22,className:t,decorative:n=!0}){return(0,G.jsx)(`img`,{className:t??`brand-mark`,src:`/favicon.svg`,alt:n?``:`diffing`,width:e,height:e,draggable:!1})});function UH(e){let t=W.useRef(!0);t.current&&(t.current=!1,e())}function WH({controlled:e,default:t,name:n,state:r=`value`}){let{current:i}=W.useRef(e!==void 0),[a,o]=W.useState(t);return[i?e:a,W.useCallback(e=>{i||o(e)},[])]}var GH=W.createContext(null),KH=W.createContext(null);function qH(){let e=W.useContext(GH);if(e===null)throw Error(j_(60));return e}function JH(){let e=W.useContext(KH);if(e===null)throw Error(j_(61));return e}var YH=function(e){return e.disabled=`data-disabled`,e.valid=`data-valid`,e.invalid=`data-invalid`,e.touched=`data-touched`,e.dirty=`data-dirty`,e.filled=`data-filled`,e.focused=`data-focused`,e}({}),XH={badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:null,valueMissing:!1},ZH={valid(e){return e===null?null:e?{[YH.valid]:``}:{[YH.invalid]:``}}},QH=W.createContext({invalid:void 0,name:void 0,validityData:{state:XH,errors:[],error:``,value:``,initialValue:null},setValidityData:zb,disabled:void 0,touched:!1,setTouched:zb,dirty:!1,setDirty:zb,filled:!1,setFilled:zb,focused:!1,setFocused:zb,validate:()=>null,validationMode:`onSubmit`,validationDebounceTime:0,shouldValidateOnChange:()=>!1,state:{disabled:!1,valid:null,touched:!1,dirty:!1,filled:!1,focused:!1},markedDirtyRef:{current:!1},validation:{getValidationProps:(e=Vb)=>e,getInputValidationProps:(e=Vb)=>e,inputRef:{current:null},commit:async()=>{}}});function $H(e=!0){let t=W.useContext(QH);if(t.setValidityData===zb&&!e)throw Error(j_(28));return t}var eU=W.createContext({controlId:void 0,setControlId:zb,labelId:void 0,setLabelId:zb,messageIds:[],setMessageIds:zb,getDescriptionProps:e=>e});function tU(){return W.useContext(eU)}function nU(e={}){let{id:t,implicit:n=!1,controlRef:r}=e,{controlId:i,setControlId:a}=tU(),o=bT(t);return Y(()=>{if(!(!n&&!t||a===zb)){if(n){let e=r?.current;K_(e)&&e.closest(`label`)!=null?a(t??null):a(i??o)}else t&&a(t);return()=>{t&&a(void 0)}}},[t,r,i,a,n,o]),i??o}var rU=(e,t)=>Object.is(e,t);function iU(e,t,n){return e==null||t==null?Object.is(e,t):n(e,t)}function aU(e,t,n){return!e||e.length===0?!1:e.some(e=>e===void 0?!1:iU(e,t,n))}function oU(e,t,n){return!e||e.length===0?-1:e.findIndex(e=>e===void 0?!1:iU(e,t,n))}function sU(e,t,n){return e.filter(e=>!iU(e,t,n))}function cU(e){if(e==null)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}function lU(e){return e!=null&&e.length>0&&typeof e[0]==`object`&&e[0]!=null&&`items`in e[0]}function uU(e,t){if(t&&e!=null)return t(e)??``;if(e&&typeof e==`object`){if(`label`in e&&e.label!=null)return String(e.label);if(`value`in e)return String(e.value)}return cU(e)}function dU(e,t){return t&&e!=null?t(e)??``:e&&typeof e==`object`&&`value`in e&&`label`in e?cU(e.value):cU(e)}function fU(e,t,n){if(n&&e!=null)return n(e);if(e&&typeof e==`object`&&`label`in e&&e.label!=null)return e.label;if(t&&!Array.isArray(t))return t[e]??uU(e,n);if(Array.isArray(t)){let r=lU(t)?t.flatMap(e=>e.items):t;if(e==null){let t=r.find(e=>e.value==null);return t&&t.label!=null?t.label:uU(e,n)}if(typeof e!=`object`){let t=r.find(t=>t&&t.value===e);return t&&t.label!=null?t.label:uU(e,n)}if(`value`in e){let t=r.find(t=>t&&t.value===e.value);if(t&&t.label!=null)return t.label}}return uU(e,n)}function pU(e,t){return!Array.isArray(e)||e.length===0?``:e.map(e=>uU(e,t)).join(`, `)}var mU={id:Z(e=>e.id),modal:Z(e=>e.modal),multiple:Z(e=>e.multiple),items:Z(e=>e.items),itemToStringLabel:Z(e=>e.itemToStringLabel),itemToStringValue:Z(e=>e.itemToStringValue),isItemEqualToValue:Z(e=>e.isItemEqualToValue),value:Z(e=>e.value),open:Z(e=>e.open),mounted:Z(e=>e.mounted),forceMount:Z(e=>e.forceMount),transitionStatus:Z(e=>e.transitionStatus),touchModality:Z(e=>e.touchModality),activeIndex:Z(e=>e.activeIndex),selectedIndex:Z(e=>e.selectedIndex),isActive:Z((e,t)=>e.activeIndex===t),isSelected:Z((e,t,n)=>{let r=e.isItemEqualToValue,i=e.value;return e.multiple?Array.isArray(i)&&i.some(e=>iU(e,n,r)):e.selectedIndex===t&&e.selectedIndex!==null?!0:iU(i,n,r)}),isSelectedByFocus:Z((e,t)=>e.selectedIndex===t),popupProps:Z(e=>e.popupProps),triggerProps:Z(e=>e.triggerProps),triggerElement:Z(e=>e.triggerElement),positionerElement:Z(e=>e.positionerElement),listElement:Z(e=>e.listElement),scrollUpArrowVisible:Z(e=>e.scrollUpArrowVisible),scrollDownArrowVisible:Z(e=>e.scrollDownArrowVisible),hasScrollArrows:Z(e=>e.hasScrollArrows),serializedValue:Z(e=>{let{multiple:t,value:n,itemToStringValue:r}=e;return t&&Array.isArray(n)&&n.length===0?``:dU(n,r)})},hU=W.createContext({formRef:{current:{fields:new Map}},errors:{},clearErrors:zb,validationMode:`onSubmit`,submitAttemptedRef:{current:!1}});function gU(){return W.useContext(hU)}function _U(e,t){return{...e,state:{...e.state,valid:!t&&e.state.valid}}}function vU(e){let{enabled:t=!0,value:n,id:r,name:i,controlRef:a,commit:o}=e,{formRef:s}=gU(),{invalid:c,markedDirtyRef:l,validityData:u,setValidityData:d}=$H(),f=X(e.getValue);Y(()=>{if(!t)return;let e=n;e===void 0&&(e=f()),u.initialValue===null&&e!==null&&d(t=>({...t,initialValue:e}))},[t,d,n,u.initialValue,f]),Y(()=>{!t||!r||s.current.fields.set(r,{getValue:f,name:i,controlRef:a,validityData:_U(u,c),validate(){let e=n;e===void 0&&(e=f()),l.current=!0,aS.flushSync(()=>o(e))}})},[o,a,t,s,f,r,c,l,i,u,n]),Y(()=>{let e=s.current.fields;return()=>{r&&e.delete(r)}},[s,r])}function yU(e,t){let n=W.useRef(e),r=X(t);Y(()=>{n.current!==e&&r(n.current)},[e,r]),Y(()=>{n.current=e},[e])}function bU(e){let{id:t,value:n,defaultValue:r=null,onValueChange:i,open:a,defaultOpen:o=!1,onOpenChange:s,name:c,disabled:l=!1,readOnly:u=!1,required:d=!1,modal:f=!0,actionsRef:p,inputRef:m,onOpenChangeComplete:h,items:g,multiple:_=!1,itemToStringLabel:v,itemToStringValue:y,isItemEqualToValue:b=rU,highlightItemOnHover:x=!0,children:S}=e,{clearErrors:C}=gU(),{setDirty:w,shouldValidateOnChange:T,validityData:E,setFilled:D,name:O,disabled:k,validation:A}=$H(),{controlId:j}=tU(),M=nU({id:t}),N=k||l,P=O??c,[F,I]=WH({controlled:n,default:_?r??Bb:r,name:`Select`,state:`value`}),[L,R]=WH({controlled:a,default:o,name:`Select`,state:`open`}),z=W.useRef([]),ee=W.useRef([]),te=W.useRef(null),ne=W.useRef(null),B=W.useRef(0),V=W.useRef(null),re=W.useRef([]),ie=W.useRef(!1),ae=W.useRef(!1),oe=W.useRef(null),se=W.useRef({allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1}),ce=W.useRef(!1),{mounted:H,setMounted:le,transitionStatus:ue}=pw(L),U=F_(()=>new lw({id:M,modal:f,multiple:_,itemToStringLabel:v,itemToStringValue:y,isItemEqualToValue:b,value:F,open:L,mounted:H,transitionStatus:ue,items:g,forceMount:!1,touchModality:!1,activeIndex:null,selectedIndex:null,popupProps:{},triggerProps:{},triggerElement:null,positionerElement:null,listElement:null,scrollUpArrowVisible:!1,scrollDownArrowVisible:!1,hasScrollArrows:!1})).current,de=ow(U,mU.activeIndex),fe=ow(U,mU.selectedIndex),pe=ow(U,mU.triggerElement),me=ow(U,mU.positionerElement),he=W.useMemo(()=>_&&Array.isArray(F)&&F.length===0?``:dU(F,y),[_,F,y]),ge=fv(U.state.triggerElement);vU({id:M,commit:A.commit,value:F,controlRef:ge,name:P,getValue:()=>F});let _e=W.useRef(F);Y(()=>{F!==_e.current&&U.set(`forceMount`,!0)},[U,F]),Y(()=>{D(F!==null)},[F,D]),Y(function(){if(L)return;let e=re.current;if(_){let t=Array.isArray(F)?F:[];if(t.length===0){U.set(`selectedIndex`,null);return}let n=t[t.length-1],r=oU(e,n,b);U.set(`selectedIndex`,r===-1?null:r);return}let t=oU(e,F,b);U.set(`selectedIndex`,t===-1?null:t)},[_,L,F,re,b,U]),yU(F,()=>{C(P),w(F!==E.initialValue),T()?A.commit(F):A.commit(F,!0)});let ve=X((e,t)=>{if(s?.(e,t),!t.isCanceled&&(R(e),!e&&U.state.activeIndex!==null)){let e=z.current[U.state.activeIndex];queueMicrotask(()=>{e?.setAttribute(`tabindex`,`-1`)})}}),ye=X(()=>{le(!1),U.set(`activeIndex`,null),h?.(!1)});hw({enabled:!p,open:L,ref:te,onComplete(){L||ye()}}),W.useImperativeHandle(p,()=>({unmount:ye}),[ye]);let be=X((e,t)=>{i?.(e,t),!t.isCanceled&&I(e)}),xe=X(()=>{let e=U.state.listElement||te.current;if(!e)return;let t=e.scrollTop,n=e.scrollTop+e.clientHeight,r=t>1,i=n<e.scrollHeight-1;U.state.scrollUpArrowVisible!==r&&U.set(`scrollUpArrowVisible`,r),U.state.scrollDownArrowVisible!==i&&U.set(`scrollDownArrowVisible`,i)}),Se=ww({open:L,onOpenChange:ve,elements:{reference:pe,floating:me}}),{getReferenceProps:Ce,getFloatingProps:we,getItemProps:Te}=zw([SS(Se,{enabled:!u&&!N,event:`mousedown`}),LC(Se,{bubbles:!1}),Jw(Se,{enabled:!u&&!N,listRef:z,activeIndex:de,selectedIndex:fe,disabledIndices:Bb,onNavigate(e){e===null&&!L||U.set(`activeIndex`,e)},focusItemOnHover:!1}),Zw(Se,{enabled:!u&&!N&&(L||!_),listRef:ee,activeIndex:de,selectedIndex:fe,onMatch(e){L?U.set(`activeIndex`,e):be(re.current[e],ox(`none`))},onTypingChange(e){ie.current=e}})]);UH(()=>{U.update({popupProps:we(),triggerProps:Ce()})}),Y(()=>{U.update({id:M,modal:f,multiple:_,value:F,open:L,mounted:H,transitionStatus:ue,popupProps:we(),triggerProps:Ce(),items:g,itemToStringLabel:v,itemToStringValue:y,isItemEqualToValue:b})},[U,M,f,_,F,L,H,ue,we,Ce,g,v,y,b]);let Ee=W.useMemo(()=>({store:U,name:P,required:d,disabled:N,readOnly:u,multiple:_,itemToStringLabel:v,itemToStringValue:y,highlightItemOnHover:x,setValue:be,setOpen:ve,listRef:z,popupRef:te,scrollHandlerRef:ne,handleScrollArrowVisibility:xe,scrollArrowsMountedCountRef:B,getItemProps:Te,events:Se.context.events,valueRef:V,valuesRef:re,labelsRef:ee,typingRef:ie,selectionRef:se,selectedItemTextRef:oe,validation:A,onOpenChangeComplete:h,keyboardActiveRef:ae,alignItemWithTriggerActiveRef:ce,initialValueRef:_e}),[U,P,d,N,u,_,v,y,x,be,ve,Te,Se.context.events,A,h,xe]),De=fx(m,A.inputRef),Oe=_&&Array.isArray(F)&&F.length>0,ke=W.useMemo(()=>!_||!Array.isArray(F)||!P?null:F.map(e=>{let t=dU(e,y);return(0,G.jsx)(`input`,{type:`hidden`,name:P,value:t},t)}),[_,F,P,y]);return(0,G.jsx)(GH.Provider,{value:Ee,children:(0,G.jsxs)(KH.Provider,{value:Se,children:[S,(0,G.jsx)(`input`,{...A.getInputValidationProps({onFocus(){U.state.triggerElement?.focus()},onChange(e){if(e.nativeEvent.defaultPrevented)return;let t=e.target.value,n=ox(qb,e.nativeEvent);function r(){if(_)return;let e=re.current.find(e=>dU(e,y).toLowerCase()===t.toLowerCase());e!=null&&(w(e!==E.initialValue),be(e,n),T()&&A.commit(e))}U.set(`forceMount`,!0),queueMicrotask(r)}}),id:t||j||void 0,name:_?void 0:P,value:he,disabled:N,required:d&&!Oe,readOnly:u,ref:De,style:vx,tabIndex:-1,"aria-hidden":!0}),ke]})})}function xU(e){let t=e.getBoundingClientRect(),n=window.getComputedStyle(e,`::before`),r=window.getComputedStyle(e,`::after`);if(!(n.content!==`none`||r.content!==`none`))return t;let i=parseFloat(n.width)||0,a=parseFloat(n.height)||0,o=parseFloat(r.width)||0,s=parseFloat(r.height)||0,c=Math.max(t.width,i,o),l=Math.max(t.height,a,s),u=c-t.width,d=l-t.height;return{left:t.left-u/2,right:t.right+u/2,top:t.top-d/2,bottom:t.bottom+d/2}}var SU=2,CU={...vT,...ZH,value:()=>null},wU=W.forwardRef(function(e,t){let{render:n,className:r,disabled:i=!1,nativeButton:a=!0,...o}=e,{setTouched:s,setFocused:c,validationMode:l,state:u,disabled:d}=$H(),{labelId:f}=tU(),{store:p,setOpen:m,selectionRef:h,validation:g,readOnly:_,alignItemWithTriggerActiveRef:v,disabled:y,keyboardActiveRef:b}=qH(),x=d||y||i,S=ow(p,mU.open),C=ow(p,mU.value),w=ow(p,mU.triggerProps),T=ow(p,mU.positionerElement),E=ow(p,mU.listElement),D=ow(p,mU.serializedValue),O=fv(T),k=W.useRef(null),A=B_(),j=B_(),{getButtonProps:M,buttonRef:N}=kk({disabled:x,native:a}),P=fx(t,k,N,X(e=>{p.set(`triggerElement`,e)})),F=B_(),I=B_();W.useEffect(()=>{if(S)return I.start(200,()=>{h.current.allowUnselectedMouseUp=!0,F.start(200,()=>{h.current.allowSelectedMouseUp=!0})}),()=>{F.clear(),I.clear()};h.current={allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1},j.clear()},[S,h,j,F,I]);let L=W.useMemo(()=>E?.id??Kv(T)?.id,[E,T]),R=Wx(w,{role:`combobox`,"aria-expanded":S?`true`:`false`,"aria-haspopup":`listbox`,"aria-controls":S?L:void 0,"aria-labelledby":f,"aria-readonly":_||void 0,tabIndex:x?-1:0,ref:P,onFocus(e){c(!0),S&&v.current&&m(!1,ox($b,e.nativeEvent)),A.start(0,()=>{p.set(`forceMount`,!0)})},onBlur(){s(!0),c(!1),l===`onBlur`&&g.commit(C)},onPointerMove({pointerType:e}){b.current=!1,p.set(`touchModality`,e===`touch`)},onPointerDown({pointerType:e}){p.set(`touchModality`,e===`touch`)},onKeyDown(){b.current=!0},onMouseDown(e){if(S)return;let t=Cx(e.currentTarget);function n(e){if(!k.current)return;let t=e.target;if(Rv(k.current,t)||Rv(O.current,t)||t===k.current)return;let n=xU(k.current);e.clientX>=n.left-SU&&e.clientX<=n.right+SU&&e.clientY>=n.top-SU&&e.clientY<=n.bottom+SU||m(!1,ox(nx,e))}j.start(0,()=>{t.addEventListener(`mouseup`,n,{once:!0})})}},g.getValidationProps,o,M);R.role=`combobox`;let z=W.useMemo(()=>({...u,open:S,disabled:x,value:C,readOnly:_,placeholder:!D}),[u,S,x,C,_,D]);return tS(`button`,e,{ref:[t,k],state:z,stateAttributesMapping:CU,props:R})}),TU={value:()=>null},EU=W.forwardRef(function(e,t){let{className:n,render:r,children:i,...a}=e,{store:o,valueRef:s}=qH(),c=ow(o,mU.value),l=ow(o,mU.items),u=ow(o,mU.itemToStringLabel),d=ow(o,mU.serializedValue),f=W.useMemo(()=>({value:c,placeholder:!d}),[c,d]),p=typeof i==`function`?i(c):i??(Array.isArray(c)?pU(c,u):fU(c,l,u));return tS(`span`,e,{state:f,ref:[t,s],props:[{children:p},a],stateAttributesMapping:TU})}),DU=W.forwardRef(function(e,t){let{className:n,render:r,...i}=e,{store:a}=qH(),o=ow(a,mU.open);return tS(`span`,e,{state:W.useMemo(()=>({open:o}),[o]),ref:t,props:[{"aria-hidden":!0,children:`▼`},i],stateAttributesMapping:_T})}),OU=W.createContext(void 0),kU=W.forwardRef(function(e,t){let{store:n}=qH(),r=ow(n,mU.mounted),i=ow(n,mU.forceMount);return r||i?(0,G.jsx)(OU.Provider,{value:!0,children:(0,G.jsx)(uS,{ref:t,...e})}):null}),AU=W.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},elementsRef:{current:[]},nextIndexRef:{current:0}});function jU(){return W.useContext(AU)}function MU(e){let{children:t,elementsRef:n,labelsRef:r,onMapChange:i}=e,a=X(i),o=W.useRef(0),s=F_(PU).current,c=F_(NU).current,[l,u]=W.useState(0),d=W.useRef(l),f=X((e,t)=>{c.set(e,t??null),d.current+=1,u(d.current)}),p=X(e=>{c.delete(e),d.current+=1,u(d.current)}),m=W.useMemo(()=>{let e=new Map;return Array.from(c.keys()).filter(e=>e.isConnected).sort(FU).forEach((t,n)=>{let r=c.get(t)??{};e.set(t,{...r,index:n})}),e},[c,l]);Y(()=>{if(typeof MutationObserver!=`function`||m.size===0)return;let e=new MutationObserver(e=>{let t=new Set,n=e=>t.has(e)?t.delete(e):t.add(e);e.forEach(e=>{e.removedNodes.forEach(n),e.addedNodes.forEach(n)}),t.size===0&&(d.current+=1,u(d.current))});return m.forEach((t,n)=>{n.parentElement&&e.observe(n.parentElement,{childList:!0})}),()=>{e.disconnect()}},[m]),Y(()=>{d.current===l&&(n.current.length!==m.size&&(n.current.length=m.size),r&&r.current.length!==m.size&&(r.current.length=m.size),o.current=m.size),a(m)},[a,m,n,r,l]),Y(()=>()=>{n.current=[]},[n]),Y(()=>()=>{r&&(r.current=[])},[r]);let h=X(e=>(s.add(e),()=>{s.delete(e)}));Y(()=>{s.forEach(e=>e(m))},[s,m]);let g=W.useMemo(()=>({register:f,unregister:p,subscribeMapChange:h,elementsRef:n,labelsRef:r,nextIndexRef:o}),[f,p,h,n,r,o]);return(0,G.jsx)(AU.Provider,{value:g,children:t})}function NU(){return new Map}function PU(){return new Set}function FU(e,t){let n=e.compareDocumentPosition(t);return n&Node.DOCUMENT_POSITION_FOLLOWING||n&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:n&Node.DOCUMENT_POSITION_PRECEDING||n&Node.DOCUMENT_POSITION_CONTAINS?1:0}var IU=W.createContext(void 0);function LU(){let e=W.useContext(IU);if(!e)throw Error(j_(59));return e}function RU(e,t){e&&Object.assign(e.style,t)}var zU={position:`relative`,maxHeight:`100%`,overflowX:`hidden`,overflowY:`auto`},BU={position:`fixed`},VU=W.forwardRef(function(e,t){let{anchor:n,positionMethod:r=`absolute`,className:i,render:a,side:o=`bottom`,align:s=`center`,sideOffset:c=0,alignOffset:l=0,collisionBoundary:u=`clipping-ancestors`,collisionPadding:d,arrowPadding:f=5,sticky:p=!1,disableAnchorTracking:m,alignItemWithTrigger:h=!0,collisionAvoidance:g=Wb,..._}=e,{store:v,listRef:y,labelsRef:b,alignItemWithTriggerActiveRef:x,selectedItemTextRef:S,valuesRef:C,initialValueRef:w,popupRef:T,setValue:E}=qH(),D=JH(),O=ow(v,mU.open),k=ow(v,mU.mounted),A=ow(v,mU.modal),j=ow(v,mU.value),M=ow(v,mU.touchModality),N=ow(v,mU.positionerElement),P=ow(v,mU.triggerElement),F=ow(v,mU.isItemEqualToValue),I=W.useRef(null),L=W.useRef(null),[R,z]=W.useState(h),ee=k&&R&&!M;!k&&R!==h&&z(h),Y(()=>{k||(mU.scrollUpArrowVisible(v.state)&&v.set(`scrollUpArrowVisible`,!1),mU.scrollDownArrowVisible(v.state)&&v.set(`scrollDownArrowVisible`,!1))},[v,k]),W.useImperativeHandle(x,()=>ee),gk((ee||A)&&O&&!M,P);let te=zT({anchor:n,floatingRootContext:D,positionMethod:r,mounted:k,side:o,sideOffset:c,align:s,alignOffset:l,arrowPadding:f,collisionBoundary:u,collisionPadding:d,sticky:p,disableAnchorTracking:m??ee,collisionAvoidance:g,keepMounted:!0}),ne=ee?`none`:te.side,B=ee?BU:te.positionerStyles,V=W.useMemo(()=>{let e={};return O||(e.pointerEvents=`none`),{role:`presentation`,hidden:!k,style:{...B,...e}}},[O,k,B]),re=W.useMemo(()=>({open:O,side:ne,align:te.align,anchorHidden:te.anchorHidden}),[O,ne,te.align,te.anchorHidden]),ie=tS(`div`,e,{ref:[t,X(e=>{v.set(`positionerElement`,e)})],state:re,stateAttributesMapping:yT,props:[V,_]}),ae=W.useRef(0),oe=X(e=>{if(e.size===0&&ae.current===0||C.current.length===0)return;let t=ae.current;if(ae.current=e.size,e.size===t)return;let n=ox(qb);if(t!==0&&!v.state.multiple&&j!==null&&oU(C.current,j,F)===-1){let e=w.current,t=e!=null&&aU(C.current,e,F)?e:null;E(t,n),t===null&&(v.set(`selectedIndex`,null),S.current=null)}if(t!==0&&v.state.multiple&&Array.isArray(j)){let e=j.filter(e=>aU(C.current,e,F));(e.length!==j.length||e.some(e=>!aU(j,e,F)))&&(E(e,n),e.length===0&&(v.set(`selectedIndex`,null),S.current=null))}if(O&&ee){v.update({scrollUpArrowVisible:!1,scrollDownArrowVisible:!1});let e={height:``};RU(N,e),RU(T.current,e)}}),se=W.useMemo(()=>({...te,side:ne,alignItemWithTriggerActive:ee,setControlledAlignItemWithTrigger:z,scrollUpArrowRef:I,scrollDownArrowRef:L}),[te,ne,ee,z]);return(0,G.jsx)(MU,{elementsRef:y,labelsRef:b,onMapChange:oe,children:(0,G.jsxs)(IU.Provider,{value:se,children:[k&&A&&(0,G.jsx)(Lk,{inert:ZT(!O),cutout:P}),ie]})})});function HU(e){let t=e.currentTarget.getBoundingClientRect();return t.top+1<=e.clientY&&e.clientY<=t.bottom-1&&t.left+1<=e.clientX&&e.clientX<=t.right-1}var UU=`base-ui-disable-scrollbar`,WU={className:UU,element:(0,G.jsx)(`style`,{href:UU,precedence:`base-ui:low`,children:`.${UU}{scrollbar-width:none}.${UU}::-webkit-scrollbar{display:none}`})},GU={...yT,...lT},KU=W.forwardRef(function(e,t){let{render:n,className:r,...i}=e,{store:a,popupRef:o,onOpenChangeComplete:s,setOpen:c,valueRef:l,selectedItemTextRef:u,keyboardActiveRef:d,multiple:f,handleScrollArrowVisibility:p,scrollHandlerRef:m}=qH(),{side:h,align:g,alignItemWithTriggerActive:_,setControlledAlignItemWithTrigger:v,scrollDownArrowRef:y,scrollUpArrowRef:b}=LU(),x=Yk(!0)!=null,S=JH(),C=B_(),w=ow(a,mU.id),T=ow(a,mU.open),E=ow(a,mU.mounted),D=ow(a,mU.popupProps),O=ow(a,mU.transitionStatus),k=ow(a,mU.triggerElement),A=ow(a,mU.positionerElement),j=ow(a,mU.listElement),M=W.useRef(0),N=W.useRef(!1),P=W.useRef(0),F=W.useRef(!1),I=W.useRef({}),L=Sx(),R=X(e=>{if(!A||!o.current||!F.current)return;if(N.current||!_){p();return}let t=A.style.top===`0px`,n=A.style.bottom===`0px`,r=A.getBoundingClientRect().height,i=Cx(A),a=getComputedStyle(A),s=parseFloat(a.marginTop),c=parseFloat(a.marginBottom),l=i.documentElement.clientHeight-s-c,u=e.scrollTop,d=e.scrollHeight-e.clientHeight,f=null,m=null,h=!1;if(t){let e=r+(d-u),t=Math.min(e,l);f=t,t===l?h=!0:m=d}else if(n){let e=u-0,t=r+e,n=Math.min(t,l),i=t-l;f=n,n===l?(h=!0,u<d&&(m=u-(e-i))):m=0}f!=null&&(A.style.height=`${f}px`),m!=null&&(e.scrollTop=m),h&&(N.current=!0),p()});W.useImperativeHandle(m,()=>R,[R]),hw({open:T,ref:o,onComplete(){T&&s?.(!0)}});let z=W.useMemo(()=>({open:T,transitionStatus:O,side:h,align:g}),[T,O,h,g]);Y(()=>{!A||!o.current||Object.keys(I.current).length||(I.current={top:A.style.top||`0`,left:A.style.left||`0`,right:A.style.right,height:A.style.height,bottom:A.style.bottom,minHeight:A.style.minHeight,maxHeight:A.style.maxHeight,marginTop:A.style.marginTop,marginBottom:A.style.marginBottom})},[o,A]),Y(()=>{E||_||(F.current=!1,N.current=!1,M.current=0,P.current=0,RU(A,I.current))},[E,_,A,o]),Y(()=>{let e=o.current;if(!(!E||!k||!A||!e)){if(!_){F.current=!0,L.request(p);return}queueMicrotask(()=>{let t=getComputedStyle(A),n=getComputedStyle(e),r=Cx(k),i=U_(A),a=k.getBoundingClientRect(),o=A.getBoundingClientRect(),s=a.left,c=a.height,d=j||e,f=d.scrollHeight,m=parseFloat(n.borderBottomWidth),h=parseFloat(t.marginTop)||10,g=parseFloat(t.marginBottom)||10,_=parseFloat(t.minHeight)||100,y=r.documentElement.clientHeight-h-g,b=r.documentElement.clientWidth,x=y-a.bottom+c,S=u.current,C=l.current,w=0,T=0;if(S&&C){let e=C.getBoundingClientRect(),t=S.getBoundingClientRect(),n=e.left-s,r=t.left-o.left,i=e.top-a.top+e.height/2,c=t.top-o.top+t.height/2;w=n-r,T=c-i}let E=x+T+g+m,D=Math.min(y,E),O=y-h-g,P=E-D,L=Math.max(5,s+w),R=b-5,z=Math.max(0,L+o.width-R);A.style.left=`${L-z}px`,A.style.height=`${D}px`,A.style.maxHeight=`auto`,A.style.marginTop=`${h}px`,A.style.marginBottom=`${g}px`,e.style.height=`100%`;let ee=d.scrollHeight-d.clientHeight,te=P>=ee;te&&(D=Math.min(y,o.height)-(P-ee));let ne=a.top<20||a.bottom>y-20||D<Math.min(f,_),B=(i.visualViewport?.scale??1)!==1&&Sv;if(ne||B){F.current=!0,RU(A,I.current),aS.flushSync(()=>v(!1));return}if(te){let e=Math.max(0,y-E);A.style.top=o.height>=O?`0`:`${e}px`,A.style.height=`${D}px`,d.scrollTop=d.scrollHeight-d.clientHeight,M.current=Math.max(_,D)}else A.style.bottom=`0`,M.current=Math.max(_,D),d.scrollTop=P;M.current===y&&(N.current=!0),p(),setTimeout(()=>{F.current=!0})})}},[a,E,A,k,l,u,o,p,_,v,L,y,b,j]),W.useEffect(()=>{if(!_||!A||!E)return;let e=U_(A);function t(e){c(!1,ox(ax,e))}return e.addEventListener(`resize`,t),()=>{e.removeEventListener(`resize`,t)}},[c,_,A,E]);let ee={...j?{role:`presentation`,"aria-orientation":void 0}:{role:`listbox`,"aria-multiselectable":f||void 0,id:`${w}-list`},onKeyDown(e){d.current=!0,x&&qk.has(e.key)&&e.stopPropagation()},onMouseMove(){d.current=!1},onPointerLeave(e){if(HU(e)||e.pointerType===`touch`)return;let t=e.currentTarget;C.start(0,()=>{a.set(`activeIndex`,null),t.focus({preventScroll:!0})})},onScroll(e){j||m.current?.(e.currentTarget)},..._&&{style:j?{height:`100%`}:zU}},te=tS(`div`,e,{ref:[t,o],state:z,stateAttributesMapping:GU,props:[D,ee,VT(O),{className:!j&&_?WU.className:void 0},i]});return(0,G.jsxs)(W.Fragment,{children:[WU.element,(0,G.jsx)(xS,{context:S,modal:!1,disabled:!E,restoreFocus:!0,children:te})]})}),qU=function(e){return e[e.None=0]=`None`,e[e.GuessFromOrder=1]=`GuessFromOrder`,e}({});function JU(e={}){let{label:t,metadata:n,textRef:r,indexGuessBehavior:i,index:a}=e,{register:o,unregister:s,subscribeMapChange:c,elementsRef:l,labelsRef:u,nextIndexRef:d}=jU(),f=W.useRef(-1),[p,m]=W.useState(a??(i===qU.GuessFromOrder?()=>{if(f.current===-1){let e=d.current;d.current+=1,f.current=e}return f.current}:-1)),h=W.useRef(null),g=W.useCallback(e=>{if(h.current=e,p!==-1&&e!==null&&(l.current[p]=e,u)){let n=t!==void 0;u.current[p]=n?t:r?.current?.textContent??e.textContent}},[p,l,u,t,r]);return Y(()=>{if(a!=null)return;let e=h.current;if(e)return o(e,n),()=>{s(e)}},[a,o,s,n]),Y(()=>{if(a==null)return c(e=>{let t=h.current?e.get(h.current)?.index:null;t!=null&&m(t)})},[a,c,m]),W.useMemo(()=>({ref:g,index:p}),[p,g])}var YU=W.createContext(void 0);function XU(){let e=W.useContext(YU);if(!e)throw Error(j_(57));return e}var ZU=W.memo(W.forwardRef(function(e,t){let{render:n,className:r,value:i=null,label:a,disabled:o=!1,nativeButton:s=!1,...c}=e,l=W.useRef(null),u=JU({label:a,textRef:l,indexGuessBehavior:qU.GuessFromOrder}),{store:d,getItemProps:f,setOpen:p,setValue:m,selectionRef:h,typingRef:g,valuesRef:_,keyboardActiveRef:v,multiple:y,highlightItemOnHover:b}=qH(),x=B_(),S=ow(d,mU.isActive,u.index),C=ow(d,mU.isSelected,u.index,i),w=ow(d,mU.isSelectedByFocus,u.index),T=ow(d,mU.isItemEqualToValue),E=u.index,D=E!==-1,O=W.useRef(null),k=fv(E);Y(()=>{if(!D)return;let e=_.current;return e[E]=i,()=>{delete e[E]}},[D,E,i,_]),Y(()=>{if(!D)return;let e=d.state.value,t=e;y&&Array.isArray(e)&&e.length>0&&(t=e[e.length-1]),t!==void 0&&iU(t,i,T)&&d.set(`selectedIndex`,E)},[D,E,y,T,d,i]);let A=W.useMemo(()=>({disabled:o,selected:C,highlighted:S}),[o,C,S]),j=f({active:S,selected:C});j.onFocus=void 0,j.id=void 0;let M=W.useRef(null),N=W.useRef(`mouse`),P=W.useRef(!1),{getButtonProps:F,buttonRef:I}=kk({disabled:o,focusableWhenDisabled:!0,native:s});function L(e){let t=d.state.value;if(y){let n=Array.isArray(t)?t:[];m(C?sU(n,i,T):[...n,i],ox(Qb,e))}else m(i,ox(Qb,e)),p(!1,ox(Qb,e))}let R={role:`option`,"aria-selected":C,"aria-disabled":o||void 0,tabIndex:S?0:-1,onFocus(){d.set(`activeIndex`,E)},onMouseEnter(){!v.current&&d.state.selectedIndex===null&&d.set(`activeIndex`,E)},onMouseMove(){b&&d.set(`activeIndex`,E)},onMouseLeave(e){!b||v.current||HU(e)||x.start(0,()=>{d.state.activeIndex===E&&d.set(`activeIndex`,null)})},onTouchStart(){h.current={allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1}},onKeyDown(e){M.current=e.key,d.set(`activeIndex`,E)},onClick(e){P.current=!1,!(e.type===`keydown`&&M.current===null)&&(o||M.current===` `&&g.current||N.current!==`touch`&&!S||(M.current=null,L(e.nativeEvent)))},onPointerEnter(e){N.current=e.pointerType},onPointerDown(e){N.current=e.pointerType,P.current=!0},onMouseUp(e){if(o)return;if(P.current){P.current=!1;return}let t=!h.current.allowSelectedMouseUp&&C,n=!h.current.allowUnselectedMouseUp&&!C;t||n||N.current!==`touch`&&!S||L(e.nativeEvent)}},z=tS(`div`,e,{ref:[I,t,u.ref,O],state:A,props:[j,R,c,F]}),ee=W.useMemo(()=>({selected:C,indexRef:k,textRef:l,selectedByFocus:w,hasRegistered:D}),[C,k,l,w,D]);return(0,G.jsx)(YU.Provider,{value:ee,children:z})})),QU=W.forwardRef(function(e,t){let n=e.keepMounted??!1,{selected:r}=XU();return n||r?(0,G.jsx)($U,{...e,ref:t}):null}),$U=W.memo(W.forwardRef((e,t)=>{let{render:n,className:r,keepMounted:i,...a}=e,{selected:o}=XU(),s=W.useRef(null),{transitionStatus:c,setMounted:l}=pw(o),u=W.useMemo(()=>({selected:o,transitionStatus:c}),[o,c]),d=tS(`span`,e,{ref:[t,s],state:u,props:[{"aria-hidden":!0,children:`✔️`},a],stateAttributesMapping:lT});return hw({open:o,ref:s,onComplete(){o||l(!1)}}),d})),eW=W.memo(W.forwardRef(function(e,t){let{indexRef:n,textRef:r,selectedByFocus:i,hasRegistered:a}=XU(),{selectedItemTextRef:o}=qH(),{className:s,render:c,...l}=e;return tS(`div`,e,{ref:[W.useCallback(e=>{if(!e||!a)return;let t=o.current===null||!o.current.isConnected;(i||t&&n.current===0)&&(o.current=e)},[o,n,i,a]),t,r],props:l})}));function tW({value:e,onValueChange:t,options:n,ariaLabel:r,className:i}){return(0,G.jsxs)(bU,{value:e,onValueChange:e=>t(e),modal:!1,children:[(0,G.jsxs)(wU,{className:`ui-select-trigger ${i??``}`,"aria-label":r,children:[(0,G.jsx)(EU,{children:e=>n.find(t=>t.value===e)?.label??e}),(0,G.jsx)(DU,{className:`ui-select-icon`,children:(0,G.jsx)(qD,{size:12})})]}),(0,G.jsx)(kU,{children:(0,G.jsx)(VU,{className:`ui-select-positioner`,sideOffset:4,align:`end`,side:`bottom`,alignItemWithTrigger:!1,children:(0,G.jsx)(KU,{className:`ui-select-popup`,children:n.map(e=>(0,G.jsxs)(ZU,{value:e.value,className:`ui-select-item`,children:[(0,G.jsx)(eW,{children:e.label}),(0,G.jsx)(QU,{className:`ui-select-indicator`,children:(0,G.jsx)(UD,{size:13})})]},e.value))})})})]})}var nW=[{value:`word`,label:`Word`},{value:`word-alt`,label:`Word (alt)`},{value:`char`,label:`Character`},{value:`none`,label:`None`}],rW=[{value:`classic`,label:`Classic (+/−)`},{value:`bars`,label:`Bars`},{value:`none`,label:`None`}],iW=[{value:`line-info`,label:`Line info + context`},{value:`line-info-basic`,label:`Line info`},{value:`metadata`,label:`Metadata only`},{value:`simple`,label:`Simple`}],aW=[{value:`both`,label:`Both`},{value:`line`,label:`Line only`},{value:`number`,label:`Number only`},{value:`disabled`,label:`Disabled`}],oW=[11,12,13,14,15,16].map(e=>({value:String(e),label:`${e}px`})),sW=[2,4,8].map(e=>({value:String(e),label:String(e)})),cW=[{value:`comfortable`,label:`Comfortable`},{value:`compact`,label:`Compact`}],lW=[{value:`0`,label:`Disabled`},{value:`100`,label:`100 lines`},{value:`200`,label:`200 lines`},{value:`400`,label:`400 lines`},{value:`800`,label:`800 lines`}],uW=[{value:``,label:`Default`},{value:`chrome`,label:`Chrome`},{value:`firefox`,label:`Firefox`},{value:`edge`,label:`Edge`},{value:`brave`,label:`Brave`}],dW=[{value:`default`,label:`Default / System`},{value:`vscode`,label:`VS Code`},{value:`zed`,label:`Zed`},{value:`vim`,label:`Vim`},{value:`neovim`,label:`Neovim`}];function fW({diffStyle:e,diffOptions:t,defaultTabSize:n,browser:r,editorIDE:i,lineDiffType:a,lineWrap:o,diffIndicators:s,showLineNumbers:c,hunkSeparators:l,lineHoverHighlight:u,fontSize:d,haptics:f,sounds:p,uiFont:m,monoFont:h,density:g,autoCollapseLineThreshold:_,requireViewAllBeforeSend:v=!1,showStatusBar:y,ignoreSpaceChange:b=!1,ignoreAllSpace:x=!1,onDiffStyleChange:S,onDiffOptionsChange:C,onDefaultTabSizeChange:w,onBrowserChange:T,onOpenThemeModal:E,onEditorIDEChange:D,onLineDiffTypeChange:O,onLineWrapChange:k,onDiffIndicatorsChange:A,onShowLineNumbersChange:j,onHunkSeparatorsChange:M,onLineHoverHighlightChange:N,onFontSizeChange:P,onHapticsChange:F,onSoundsChange:I,onDensityChange:L,onAutoCollapseLineThresholdChange:R,onRequireViewAllBeforeSendChange:z,onShowStatusBarChange:ee,onIgnoreSpaceChange:te,onIgnoreAllSpaceChange:ne,onOpenUiFontModal:B,onOpenMonoFontModal:V,showSource:re=!0,showWhitespace:ie=!0,showExternalTools:ae=!0,showSendPolicy:oe=!0}){let[se,ce]=(0,W.useState)(!1);return(0,W.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&(e.key===`,`||e.code===`Comma`)&&(e.preventDefault(),ce(e=>!e))};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[]),(0,G.jsx)(Qk,{open:se,onOpenChange:ce,ariaLabel:`Settings`,className:`settings-popover`,trigger:(0,G.jsxs)(`button`,{className:`btn btn-sm settings-btn ${se?`btn-active`:``}`,title:`Settings (⌘,)`,"aria-label":`Settings`,children:[(0,G.jsx)(QO,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:`Settings`})]}),children:(0,G.jsxs)(`div`,{className:`popover-scroll settings-panel`,children:[re&&t&&C&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Source`}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:t.staged,onChange:e=>C({...t,staged:e.target.checked})}),`Show staged`]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:t.untracked,onChange:e=>C({...t,untracked:e.target.checked})}),`Show untracked`]})]}),(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Display`}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Inline diff`}),(0,G.jsx)(tW,{value:a,onValueChange:e=>O(e),options:nW,ariaLabel:`Inline diff style`})]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:o,onChange:e=>k(e.target.checked)}),`Wrap long lines`]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Diff indicators`}),(0,G.jsx)(tW,{value:s,onValueChange:e=>A(e),options:rW,ariaLabel:`Diff indicators`})]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:c,onChange:e=>j(e.target.checked)}),`Show line numbers`]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Hunk separator`}),(0,G.jsx)(tW,{value:l,onValueChange:e=>M(e),options:iW,ariaLabel:`Hunk separator style`})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Hover highlight`}),(0,G.jsx)(tW,{value:u,onValueChange:e=>N(e),options:aW,ariaLabel:`Hover highlight`})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Font size`}),(0,G.jsx)(tW,{value:String(d),onValueChange:e=>P(Number(e)),options:oW,ariaLabel:`Font size`})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Default tab size`}),(0,G.jsx)(tW,{value:String(n),onValueChange:e=>w(Number(e)),options:sW,ariaLabel:`Default tab size`})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`UI font`}),(0,G.jsxs)(`button`,{className:`btn btn-sm settings-btn`,onClick:()=>{ce(!1),B()},title:m??`Default (Geist Mono)`,children:[(0,G.jsx)(ak,{size:13}),(0,G.jsx)(`span`,{className:`settings-value-label`,children:m??`Default…`})]})]}),(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Comfort`}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Density`}),(0,G.jsx)(tW,{value:g,onValueChange:e=>L(e),options:cW,ariaLabel:`UI density`})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Auto-collapse huge files`}),(0,G.jsx)(tW,{value:String(_),onValueChange:e=>R(Number(e)),options:lW,ariaLabel:`Auto-collapse line threshold`})]}),oe&&z&&(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:v,onChange:e=>z(e.target.checked)}),(0,G.jsxs)(`span`,{className:`settings-icon-label`,children:[(0,G.jsx)(ek,{size:12}),` Warn before sending if files are unviewed`]})]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:y,onChange:e=>ee(e.target.checked)}),(0,G.jsxs)(`span`,{className:`settings-icon-label`,children:[(0,G.jsx)(wO,{size:12}),` Show status bar`]})]}),ie&&te&&ne&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Whitespace`}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:b,onChange:e=>te(e.target.checked)}),`Ignore space-change (-b)`]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:x,onChange:e=>ne(e.target.checked)}),`Ignore all space (-w)`]})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Code font`}),(0,G.jsxs)(`button`,{className:`btn btn-sm settings-btn`,onClick:()=>{ce(!1),V()},title:h??`Default (JetBrains Mono)`,children:[(0,G.jsx)(ak,{size:13}),(0,G.jsx)(`span`,{className:`settings-value-label`,children:h??`Default…`})]})]}),ae&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`settings-section-label`,children:`External tools`}),T&&(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Browser`}),(0,G.jsx)(tW,{value:r||``,onValueChange:T,options:uW,ariaLabel:`Browser`})]}),D&&(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Preferred IDE`}),(0,G.jsx)(tW,{value:i||`default`,onValueChange:D,options:dW,ariaLabel:`Preferred IDE`})]})]}),(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Appearance`}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Diff style`}),(0,G.jsx)(tW,{value:e,onValueChange:e=>S(e),options:[{value:`split`,label:`Split`},{value:`unified`,label:`Unified`}],ariaLabel:`Diff style`})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Theme`}),(0,G.jsxs)(`button`,{className:`btn btn-sm settings-btn`,onClick:()=>{ce(!1),E()},children:[(0,G.jsx)(VO,{size:14}),` Switch Theme…`]})]}),(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Feedback`}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:f,onChange:e=>F(e.target.checked)}),`Haptic feedback`]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:p,onChange:e=>I(e.target.checked)}),`Sound effects`]})]})})}var pW=(0,W.memo)(function({repoName:e,branch:t,fileCount:n,totalFileCount:r,additions:i,deletions:a,commentCount:o,planCount:s,pendingPlanCount:c,lastSend:l,onOpenPlans:u,diffStyle:d,diffOptions:f,defaultTabSize:p,browser:m,theme:h,editorIDE:g,customMode:_,showMode:v,showCommitCount:y,lineDiffType:b,lineWrap:x,diffIndicators:S,showLineNumbers:C,hunkSeparators:w,lineHoverHighlight:T,fontSize:E,haptics:D,sounds:O,uiFont:k,monoFont:A,density:j,autoCollapseLineThreshold:M,requireViewAllBeforeSend:N,showStatusBar:P,ignoreSpaceChange:F,ignoreAllSpace:I,onDiffStyleChange:L,onDiffOptionsChange:R,onDefaultTabSizeChange:z,onBrowserChange:ee,onOpenThemeModal:te,onEditorIDEChange:ne,onLineDiffTypeChange:B,onLineWrapChange:V,onDiffIndicatorsChange:re,onShowLineNumbersChange:ie,onHunkSeparatorsChange:ae,onLineHoverHighlightChange:oe,onFontSizeChange:se,onHapticsChange:ce,onSoundsChange:H,onDensityChange:le,onAutoCollapseLineThresholdChange:ue,onRequireViewAllBeforeSendChange:U,onShowStatusBarChange:de,onIgnoreSpaceChange:fe,onIgnoreAllSpaceChange:pe,onResolveAllOpen:me,onOpenUiFontModal:he,onOpenMonoFontModal:ge,onOpenSearch:_e,onCopyComments:ve,onCopyMarkdown:ye,onSendToAgent:be,agentWaiting:xe,waitingAgents:Se=[],sending:Ce,comments:we,viewedFileCount:Te,onEditComment:Ee,onDeleteComment:De,sidebarCollapsed:Oe,onToggleSidebar:ke}){let Ae=v?`${y} commit${y===1?``:`s`}`:n===r?`${n} file${n===1?``:`s`}`:`${n}/${r} files`;return(0,G.jsxs)(`header`,{className:`toolbar diff-app-toolbar`,role:`banner`,children:[(0,G.jsxs)(`div`,{className:`toolbar-left`,children:[ke&&(0,G.jsx)(`button`,{className:`toolbar-mobile-toggle`,onClick:ke,"aria-label":Oe?`Open file tree`:`Close file tree`,"aria-expanded":!Oe,title:Oe?`Open sidebar · b`:`Close sidebar · b`,children:(0,G.jsx)(AO,{size:18})}),(0,G.jsxs)(`div`,{className:`toolbar-brand`,children:[(0,G.jsx)(HH,{size:20,className:`toolbar-brand-mark`}),(0,G.jsxs)(`div`,{className:`toolbar-brand-text`,children:[(0,G.jsx)(`h1`,{className:`toolbar-title`,children:e||`diffing`}),t&&(0,G.jsxs)(`span`,{className:`toolbar-branch-inline`,title:t,children:[(0,G.jsx)(hO,{size:11,"aria-hidden":`true`}),t]})]})]}),(0,G.jsxs)(`div`,{className:`toolbar-meta`,"aria-label":`Diff summary`,children:[(0,G.jsx)(`span`,{className:`toolbar-chip`,children:Ae}),(i>0||a>0)&&(0,G.jsxs)(`span`,{className:`toolbar-chip toolbar-chip-diff`,children:[i>0&&(0,G.jsxs)(`span`,{className:`stat-additions`,children:[`+`,i]}),a>0&&(0,G.jsxs)(`span`,{className:`stat-deletions`,children:[`−`,a]})]}),o>0&&(0,G.jsxs)(`span`,{className:`toolbar-chip toolbar-chip-comments`,children:[o,` open`]}),l&&l.round>0&&(0,G.jsx)(VH,{lastRound:l.round})]})]}),(0,G.jsxs)(`div`,{className:`toolbar-right`,children:[(0,G.jsxs)(`button`,{className:`btn btn-sm toolbar-search-btn`,onClick:_e,title:`Search files, text, symbols (⌘K)`,"aria-label":`Search`,children:[(0,G.jsx)(ZO,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:`Search`}),(0,G.jsx)(`kbd`,{className:`toolbar-search-kbd`,children:`⌘K`})]}),s>0&&(0,G.jsxs)(`button`,{className:`btn btn-sm toolbar-plans-btn ${c>0?`toolbar-plans-btn-pending`:``}`,onClick:u,title:c>0?`${c} plan${c===1?``:`s`} awaiting review`:`Open plan review`,children:[c>0&&(0,G.jsx)(`span`,{className:`agent-waiting-dot`,"aria-hidden":`true`}),(0,G.jsx)(tO,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:`Plans`}),c>0&&(0,G.jsx)(`span`,{className:`toolbar-plans-badge`,children:c})]}),o>0&&(0,G.jsxs)(`button`,{className:`btn btn-sm toolbar-resolve-all-btn`,onClick:()=>{typeof window>`u`||window.confirm(`Resolve all ${o} open comment${o===1?``:`s`}? This marks every open thread as resolved in one move.`)&&me()},title:`Resolve all open comments`,children:[(0,G.jsx)(HD,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:`Resolve all`})]}),(0,G.jsx)(fW,{diffStyle:d,diffOptions:f,defaultTabSize:p,browser:m,editorIDE:g,lineDiffType:b,lineWrap:x,diffIndicators:S,showLineNumbers:C,hunkSeparators:w,lineHoverHighlight:T,fontSize:E,haptics:D,sounds:O,uiFont:k,monoFont:A,density:j,autoCollapseLineThreshold:M,requireViewAllBeforeSend:N,showStatusBar:P,ignoreSpaceChange:F,ignoreAllSpace:I,onDiffStyleChange:L,onDiffOptionsChange:R,onDefaultTabSizeChange:z,onBrowserChange:ee,onOpenThemeModal:te,onEditorIDEChange:ne,onLineDiffTypeChange:B,onLineWrapChange:V,onDiffIndicatorsChange:re,onShowLineNumbersChange:ie,onHunkSeparatorsChange:ae,onLineHoverHighlightChange:oe,onFontSizeChange:se,onHapticsChange:ce,onSoundsChange:H,onDensityChange:le,onAutoCollapseLineThresholdChange:ue,onRequireViewAllBeforeSendChange:U,onShowStatusBarChange:de,onIgnoreSpaceChange:fe,onIgnoreAllSpaceChange:pe,onOpenUiFontModal:he,onOpenMonoFontModal:ge,showSource:!_}),(0,G.jsx)(zH,{comments:we,totalFileCount:r,viewedFileCount:Te,requireViewAllBeforeSend:N,onEditComment:Ee,onDeleteComment:De,onSend:be,sending:Ce,agentWaiting:xe,waitingAgents:Se,onCopyComments:ve,onCopyMarkdown:ye})]})]})});function mW({overview:e,commits:t}){let[n,r]=(0,W.useState)(!1),i=e.commitSubjects.length>0,a=e.truncated>0,o=!!e.subtitle||a||i;return(0,G.jsxs)(`section`,{className:`diff-overview-banner`,"data-kind":e.kind,"aria-label":`Diff overview: ${e.headline}`,children:[(0,G.jsxs)(`header`,{className:`diff-overview-banner-header`,children:[(0,G.jsxs)(`div`,{className:`diff-overview-banner-line`,children:[(0,G.jsx)(vW,{kind:e.kind}),(0,G.jsx)(`h2`,{className:`diff-overview-banner-headline`,children:e.headline})]}),o&&(0,G.jsxs)(`div`,{className:`diff-overview-banner-meta`,children:[e.subtitle&&(0,G.jsx)(`span`,{className:`diff-overview-banner-subtitle`,children:e.subtitle}),a&&(0,G.jsxs)(`span`,{className:`diff-overview-banner-truncated-badge`,title:`${e.truncated} additional ${e.truncated===1?`commit`:`commits`} not shown`,children:[`+`,e.truncated]}),i&&(0,G.jsxs)(`button`,{type:`button`,className:`diff-overview-banner-details-toggle`,onClick:()=>r(e=>!e),"aria-expanded":n,"aria-controls":`diff-overview-banner-details`,children:[n?(0,G.jsx)(WD,{size:14}):(0,G.jsx)(KD,{size:14}),(0,G.jsx)(fO,{size:13,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{children:[n?`Hide`:`Show`,` `,e.commitSubjects.length,` `,`commit`,e.commitSubjects.length===1?``:`s`]})]})]})]}),i&&n&&(0,G.jsx)(hW,{overview:e,commits:t,id:`diff-overview-banner-details`})]})}function hW({overview:e,commits:t,id:n}){return t&&t.length>0?(0,G.jsxs)(`ul`,{id:n,className:`diff-overview-banner-subjects`,children:[t.map((e,n)=>(0,G.jsx)(gW,{commit:e,index:n,total:t.length},e.sha)),e.truncated>0&&(0,G.jsxs)(`li`,{className:`diff-overview-banner-truncated`,role:`status`,children:[`+ `,e.truncated,` more commit`,e.truncated===1?``:`s`,` not shown`]})]}):(0,G.jsx)(`ul`,{id:n,className:`diff-overview-banner-subjects`,children:e.commitSubjects.map((t,n)=>{let r=n===0||n===e.commitSubjects.length-1;return(0,G.jsxs)(`li`,{className:`diff-overview-banner-subject-row`,children:[(0,G.jsx)(gO,{size:12,className:`diff-overview-banner-subject-icon`,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`diff-overview-banner-subject-text`,children:t}),r&&e.fromDate&&e.toDate&&(0,G.jsx)(`span`,{className:`diff-overview-banner-subject-dates`,children:n===0?e.fromDate:e.toDate})]},`${n}-${t}`)})})}function gW({commit:e,index:t,total:n}){let[r,i]=(0,W.useState)(!1),[a,o]=(0,W.useState)(!1),s=async()=>{try{await navigator.clipboard.writeText(e.sha),i(!0),setTimeout(()=>i(!1),1500)}catch{}},c=e.body.trim().length>0,l=e.parents.length>1,u=n>1?`Commit ${t+1} of ${n}: ${e.subject}`:`Commit: ${e.subject}`;return(0,G.jsxs)(`li`,{className:`diff-overview-banner-commit-row`,"aria-label":u,children:[(0,G.jsxs)(`div`,{className:`diff-overview-banner-commit-line`,children:[(0,G.jsx)(gO,{size:12,className:`diff-overview-banner-subject-icon`,"aria-hidden":`true`}),(0,G.jsxs)(`button`,{type:`button`,className:`diff-overview-banner-commit-sha`,onClick:s,title:r?`Copied full SHA`:`Click to copy full SHA`,"aria-label":`Copy full SHA ${e.sha}`,children:[(0,G.jsx)(`span`,{children:e.shortSha}),r?(0,G.jsx)(UD,{size:12,"aria-hidden":`true`}):(0,G.jsx)(oO,{size:12,"aria-hidden":`true`})]}),l&&(0,G.jsx)(`span`,{className:`diff-overview-banner-merge-badge`,title:`Merge commit with ${e.parents.length} parents`,children:`merge`}),(0,G.jsx)(`span`,{className:`diff-overview-banner-commit-subject`,children:e.subject})]}),(0,G.jsxs)(`div`,{className:`diff-overview-banner-commit-meta`,children:[(0,G.jsxs)(`span`,{className:`diff-overview-banner-commit-author`,children:[(0,G.jsx)(`span`,{className:`diff-overview-banner-commit-author-name`,children:e.authorName}),(0,G.jsxs)(`span`,{className:`diff-overview-banner-commit-author-email`,children:[`<`,e.authorEmail,`>`]})]}),(0,G.jsx)(`span`,{className:`diff-overview-banner-commit-date`,title:e.authorDate,children:_W(e.authorDate)}),e.committerName!==e.authorName||e.committerEmail!==e.authorEmail?(0,G.jsxs)(`span`,{className:`diff-overview-banner-commit-committer`,title:`Committed by ${e.committerName} <${e.committerEmail}> at ${e.committerDate}`,children:[(0,G.jsx)(`span`,{className:`diff-overview-banner-commit-committer-label`,children:`committed by`}),` `,(0,G.jsx)(`span`,{children:e.committerName})]}):null]}),c&&(0,G.jsxs)(`div`,{className:`diff-overview-banner-commit-body`,children:[(0,G.jsxs)(`button`,{type:`button`,className:`diff-overview-banner-commit-body-toggle`,onClick:()=>o(e=>!e),"aria-expanded":a,"aria-controls":`diff-overview-commit-body-${e.shortSha}`,children:[a?(0,G.jsx)(WD,{size:14}):(0,G.jsx)(KD,{size:14}),(0,G.jsx)(fO,{size:13,"aria-hidden":`true`}),(0,G.jsx)(`span`,{children:a?`Hide message`:`Show message`})]}),a&&(0,G.jsx)(`pre`,{id:`diff-overview-commit-body-${e.shortSha}`,className:`diff-overview-banner-commit-body-pre`,children:e.body})]})]})}function _W(e){try{let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(void 0,{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}catch{return e}}function vW({kind:e}){let t={size:14,className:`diff-overview-banner-icon`,"aria-hidden":!0};switch(e){case`working-tree`:case`staged-only`:return(0,G.jsx)(CO,{...t});case`range`:return(0,G.jsx)(hO,{...t});case`commit-single`:case`commit-series`:return(0,G.jsx)(gO,{...t});case`pr`:return(0,G.jsx)(yO,{...t})}}function yW(e,t){return JSON.stringify(e.overview)===JSON.stringify(t.overview)&&JSON.stringify(e.commits)===JSON.stringify(t.commits)}var bW=(0,W.memo)(mW,yW),xW=W.createContext(void 0);function SW(e){let t=W.useContext(xW);if(e===!1&&t===void 0)throw Error(j_(27));return t}var CW={...yT,...lT},wW=W.forwardRef(function(e,t){let{render:n,className:r,forceRender:i=!1,...a}=e,{store:o}=SW(),s=o.useState(`open`),c=o.useState(`nested`),l=o.useState(`mounted`),u=o.useState(`transitionStatus`);return tS(`div`,e,{state:W.useMemo(()=>({open:s,transitionStatus:u}),[s,u]),ref:[o.context.backdropRef,t],stateAttributesMapping:CW,props:[{role:`presentation`,hidden:!l,style:{userSelect:`none`,WebkitUserSelect:`none`}},a],enabled:i||!c})}),TW=function(e){return e.nestedDialogs=`--nested-dialogs`,e}({}),EW=function(e){return e[e.open=uT.open]=`open`,e[e.closed=uT.closed]=`closed`,e[e.startingStyle=uT.startingStyle]=`startingStyle`,e[e.endingStyle=uT.endingStyle]=`endingStyle`,e.nested=`data-nested`,e.nestedDialogOpen=`data-nested-dialog-open`,e}({}),DW=W.createContext(void 0);function OW(){let e=W.useContext(DW);if(e===void 0)throw Error(j_(26));return e}var kW={...yT,...lT,nestedDialogOpen(e){return e?{[EW.nestedDialogOpen]:``}:null}},AW=W.forwardRef(function(e,t){let{className:n,finalFocus:r,initialFocus:i,render:a,...o}=e,{store:s}=SW(),c=s.useState(`descriptionElementId`),l=s.useState(`disablePointerDismissal`),u=s.useState(`floatingRootContext`),d=s.useState(`popupProps`),f=s.useState(`modal`),p=s.useState(`mounted`),m=s.useState(`nested`),h=s.useState(`nestedOpenDialogCount`),g=s.useState(`open`),_=s.useState(`openMethod`),v=s.useState(`titleElementId`),y=s.useState(`transitionStatus`),b=s.useState(`role`);OW(),hw({open:g,ref:s.context.popupRef,onComplete(){g&&s.context.onOpenChangeComplete?.(!0)}});function x(e){return e===`touch`?s.context.popupRef.current:!0}let S=i===void 0?x:i,C=h>0,w=tS(`div`,e,{state:W.useMemo(()=>({open:g,nested:m,transitionStatus:y,nestedDialogOpen:C}),[g,m,y,C]),props:[d,{"aria-labelledby":v??void 0,"aria-describedby":c??void 0,role:b,tabIndex:-1,hidden:!p,onKeyDown(e){qk.has(e.key)&&e.stopPropagation()},style:{[TW.nestedDialogs]:h}},o],ref:[t,s.context.popupRef,s.useStateSetter(`popupElement`)],stateAttributesMapping:kW});return(0,G.jsx)(xS,{context:u,openInteractionType:_,disabled:!p,closeOnFocusOut:!l,initialFocus:S,returnFocus:r,modal:f!==!1,restoreFocus:`popup`,children:w})}),jW=W.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e,{store:i}=SW(),a=i.useState(`mounted`),o=i.useState(`modal`);return a||n?(0,G.jsx)(DW.Provider,{value:n,children:(0,G.jsxs)(uS,{ref:t,...r,children:[a&&o===!0&&(0,G.jsx)(Lk,{ref:i.context.internalBackdropRef,inert:ZT(!open)}),e.children]})}):null});function MW(e){let{store:t,parentContext:n,actionsRef:r}=e,i=t.useState(`open`),a=t.useState(`disablePointerDismissal`),o=t.useState(`modal`),s=t.useState(`popupElement`),{openMethod:c,triggerProps:l,reset:u}=Ck(i);vw(t);let{forceUnmount:d}=yw(i,t,()=>{u()}),f=X(e=>{let n=ox(e);return n.preventUnmountOnClose=()=>{t.set(`preventUnmountingOnClose`,!0)},n}),p=W.useCallback(()=>{t.setOpen(!1,f(ix))},[t,f]);W.useImperativeHandle(r,()=>({unmount:d,close:p}),[d,p]);let m=Ew({popupStore:t,onOpenChange:t.setOpen,treatPopupAsFloatingElement:!0,noEmit:!0}),[h,g]=W.useState(0),_=h===0,v=Xw(m),y=LC(m,{outsidePressEvent(){return t.context.internalBackdropRef.current||t.context.backdropRef.current?`intentional`:{mouse:o===`trap-focus`?`sloppy`:`intentional`,touch:`sloppy`}},outsidePress(e){if(`button`in e&&e.button!==0||`touches`in e&&e.touches.length!==1)return!1;let n=zv(e);if(_&&!a){let e=n;return o&&(t.context.internalBackdropRef.current||t.context.backdropRef.current)?t.context.internalBackdropRef.current===e||t.context.backdropRef.current===e||Rv(e,s)&&!e?.hasAttribute(`data-base-ui-portal`):!0}return!1},escapeKey:_});gk(i&&o===!0,s);let{getReferenceProps:b,getFloatingProps:x,getTriggerProps:S}=zw([v,y]);t.useContextCallback(`onNestedDialogOpen`,e=>{g(e+1)}),t.useContextCallback(`onNestedDialogClose`,()=>{g(0)}),W.useEffect(()=>(n?.onNestedDialogOpen&&i&&n.onNestedDialogOpen(h),n?.onNestedDialogClose&&!i&&n.onNestedDialogClose(),()=>{n?.onNestedDialogClose&&i&&n.onNestedDialogClose()}),[i,n,h]);let C=W.useMemo(()=>b(l),[b,l]),w=W.useMemo(()=>S(l),[S,l]),T=W.useMemo(()=>x(),[x]);t.useSyncedValues({openMethod:c,activeTriggerProps:C,inactiveTriggerProps:w,popupProps:T,floatingRootContext:m,nestedOpenDialogCount:h})}var NW={...Cw,modal:Z(e=>e.modal),nested:Z(e=>e.nested),nestedOpenDialogCount:Z(e=>e.nestedOpenDialogCount),disablePointerDismissal:Z(e=>e.disablePointerDismissal),openMethod:Z(e=>e.openMethod),descriptionElementId:Z(e=>e.descriptionElementId),titleElementId:Z(e=>e.titleElementId),viewportElement:Z(e=>e.viewportElement),role:Z(e=>e.role)},PW=class extends uw{constructor(e){super(FW(e),{popupRef:W.createRef(),backdropRef:W.createRef(),internalBackdropRef:W.createRef(),triggerElements:new bw,onOpenChange:void 0,onOpenChangeComplete:void 0},NW)}setOpen=(e,t)=>{if(t.preventUnmountOnClose=()=>{this.set(`preventUnmountingOnClose`,!0)},!e&&t.trigger==null&&this.state.activeTriggerId!=null&&(t.trigger=this.state.activeTriggerElement??void 0),this.context.onOpenChange?.(e,t),t.isCanceled)return;let n={open:e,nativeEvent:t.event,reason:t.reason,nested:this.state.nested};this.state.floatingRootContext.context.events?.emit(`openchange`,n);let r={open:e},i=t.trigger?.id??null;(i||e)&&(r.activeTriggerId=i,r.activeTriggerElement=t.trigger??null),this.update(r)}};function FW(e={}){return{...Sw(),modal:!0,disablePointerDismissal:!1,popupElement:null,viewportElement:null,descriptionElementId:void 0,titleElementId:void 0,openMethod:null,nested:!1,nestedOpenDialogCount:0,role:`dialog`,...e}}function IW(e){let{children:t,open:n,defaultOpen:r=!1,onOpenChange:i,onOpenChangeComplete:a,disablePointerDismissal:o=!1,modal:s=!0,actionsRef:c,handle:l,triggerId:u,defaultTriggerId:d=null}=e,f=SW(!0),p=!!f,m=F_(()=>l?.store??new PW({open:n??r,activeTriggerId:u===void 0?d:u,modal:s,disablePointerDismissal:o,nested:p})).current;m.useControlledProp(`open`,n,r),m.useControlledProp(`activeTriggerId`,u,d),m.useSyncedValues({disablePointerDismissal:o,nested:p,modal:s}),m.useContextCallback(`onOpenChange`,i),m.useContextCallback(`onOpenChangeComplete`,a);let h=m.useState(`payload`);MW({store:m,actionsRef:c,parentContext:f?.store.context,onOpenChange:i,triggerIdProp:u});let g=W.useMemo(()=>({store:m}),[m]);return(0,G.jsx)(xW.Provider,{value:g,children:typeof t==`function`?t({payload:h}):t})}function LW({open:e,onClose:t,className:n,ariaLabel:r,initialFocus:i,onKeyDown:a,children:o}){return(0,G.jsx)(IW,{open:e,onOpenChange:e=>{e||t()},children:(0,G.jsxs)(jW,{children:[(0,G.jsx)(wW,{className:`ui-modal-backdrop`}),(0,G.jsx)(AW,{className:`ui-modal-popup ${n??``}`,"aria-label":r,initialFocus:i,onKeyDown:a,children:o})]})})}async function RW(e,t){let n=await fetch(`/api/file-text?path=${encodeURIComponent(e)}&version=${t}`);if(!n.ok){if(n.status===404)return null;throw Error(`HTTP ${n.status} fetching ${t} ${e}`)}let r=await n.json();if(r.missing)return null;if(r.error)throw Error(r.error);return r.content??``}function zW(e,t,n=e){let[r,i]=(0,W.useState)({loading:!1,error:null,oldContent:null,newContent:null});return(0,W.useEffect)(()=>{if(!t||!e)return;let r=!1;return i(e=>({...e,loading:!0,error:null})),Promise.all([RW(n,`old`),RW(e,`new`)]).then(([e,t])=>{r||i({loading:!1,error:null,oldContent:e,newContent:t})}).catch(e=>{r||i({loading:!1,error:e.message,oldContent:null,newContent:null})}),()=>{r=!0}},[e,n,t]),r}var BW=`diffing-draft-`,VW=10080*60*1e3;function HW(...e){return BW+e.join(`:`)}function UW(...e){try{let t=CD(HW(...e));if(!t)return null;let n=JSON.parse(t);return Date.now()-n.timestamp>VW?(OD(HW(...e)),null):n.body}catch{return null}}var WW={};function GW(e,...t){let n=HW(...t);WW[n]&&clearTimeout(WW[n]),WW[n]=setTimeout(()=>{KW(e,...t),delete WW[n]},500)}function KW(e,...t){let n=HW(...t);try{e.trim()?DD(n,JSON.stringify({body:e,timestamp:Date.now()})):OD(n)}catch{}}function qW(...e){try{OD(HW(...e))}catch{}}function JW(e){return e.replace(/@([^\s@]+)/g,(e,t)=>`[${t.split(`/`).pop()||t}](file-mention://${t})`)}var YW=[{value:`none`,label:`None`,hint:`Untriaged`,icon:(0,G.jsx)(LO,{size:13})},{value:`blocking`,label:`Blocking`,hint:`Must fix before merge`,icon:(0,G.jsx)(BO,{size:13})},{value:`nit`,label:`Nit`,hint:`Optional polish`,icon:(0,G.jsx)(XD,{size:13})},{value:`question`,label:`Question`,hint:`Needs an answer`,icon:(0,G.jsx)(QD,{size:13})},{value:`praise`,label:`Praise`,hint:`No change required`,icon:(0,G.jsx)(ek,{size:13})}];function XW({value:e,onChange:t}){let n=YW.find(t=>t.value===e)??YW[0];return(0,G.jsxs)(bU,{value:e,onValueChange:e=>t(e),modal:!1,children:[(0,G.jsxs)(wU,{className:`ui-select-trigger comment-severity-trigger comment-severity-trigger-${e}`,"aria-label":`Comment severity`,"data-severity":e,children:[(0,G.jsxs)(`span`,{className:`comment-severity-trigger-inner`,children:[(0,G.jsx)(`span`,{className:`comment-severity-icon`,"data-severity":e,"aria-hidden":`true`,children:n.icon}),(0,G.jsx)(EU,{children:e=>YW.find(t=>t.value===e)?.label??e})]}),(0,G.jsx)(DU,{className:`ui-select-icon`,children:(0,G.jsx)(qD,{size:12})})]}),(0,G.jsx)(kU,{children:(0,G.jsx)(VU,{className:`ui-select-positioner comment-severity-positioner`,sideOffset:4,align:`start`,side:`top`,alignItemWithTrigger:!1,children:(0,G.jsx)(KU,{className:`ui-select-popup comment-severity-popup`,"aria-label":`Severity`,children:YW.map(e=>(0,G.jsxs)(ZU,{value:e.value,className:`ui-select-item comment-severity-item comment-severity-item-${e.value}`,children:[(0,G.jsxs)(`span`,{className:`comment-severity-item-main`,children:[(0,G.jsx)(`span`,{className:`comment-severity-icon`,"data-severity":e.value,"aria-hidden":`true`,children:e.icon}),(0,G.jsxs)(`span`,{className:`comment-severity-item-text`,children:[(0,G.jsx)(eW,{className:`comment-severity-item-label`,children:e.label}),(0,G.jsx)(`span`,{className:`comment-severity-item-hint`,children:e.hint})]})]}),(0,G.jsx)(QU,{className:`ui-select-indicator`,children:(0,G.jsx)(UD,{size:13})})]},e.value))})})})]})}function ZW({initialBody:e,lineContent:t,lineLabel:n,range:r,onAdjustStart:i,onAdjustEnd:a,draftKey:o,onSubmit:s,onCancel:c,showSeverity:l=!0}){let{haptic:u,sound:d}=pD(),{settings:f,updateSettings:p}=IE(),m=f.savedReplies??[],[h,g]=(0,W.useState)(()=>{if(o){let e=UW(o);if(e)return e}return e||``}),[_,v]=(0,W.useState)(`none`),[y,b]=(0,W.useState)(`write`),[x,S]=(0,W.useState)(!1),C=(0,W.useRef)(null),w=(0,W.useRef)(null),T=vH(h,g),E=e=>{g(t=>t.trim()?`${t.trimEnd()}\n\n${e.body}`:e.body),S(!1),b(`write`),requestAnimationFrame(()=>C.current?.focus())},D=()=>{let e=h.trim();if(!e)return;let t=window.prompt(`Template title`,e.slice(0,40))?.trim();t&&p({savedReplies:[...m,{id:crypto.randomUUID(),title:t,body:e}]})};(0,W.useEffect)(()=>{y===`write`?C.current?.focus():w.current?.focus()},[y]),(0,W.useEffect)(()=>{o&&GW(h,o)},[h,o]);let O=()=>{let e=h.trim();e&&(o&&qW(o),u(`success`),d(`success`),s(e,_===`none`?void 0:_))},k=()=>{if(!t)return;let e=`\`\`\`suggestion\n${t.split(`
1932
+ `,1;if(L>1e5&&L>r.index*3)throw Error(`potential infinite loop, way more iterations than matches`);return P+=a,a.length}let D=N(e);if(!D)throw _e(s.replace(`{}`,e)),Error(`Unknown language: "`+e+`"`);let O=Ee(D),k=``,A=a||O,j={},M=new l.__emitter(l);w();let P=``,F=0,I=0,L=0,R=!1;try{if(D.__emitTokens)D.__emitTokens(n,M);else{for(A.matcher.considerAll();;){L++,R?R=!1:A.matcher.considerAll(),A.matcher.lastIndex=I;let e=A.matcher.exec(n);if(!e)break;let t=E(n.substring(I,e.index),e);I=e.index+t}E(n.substring(I))}return M.finalize(),k=M.toHTML(),{language:e,value:k,relevance:F,illegal:!1,_emitter:M,_top:A}}catch(t){if(t.message&&t.message.includes(`Illegal`))return{language:e,value:je(n),illegal:!0,relevance:0,_illegalBy:{message:t.message,index:I,context:n.slice(I-100,I+100),mode:t.mode,resultSoFar:k},_emitter:M};if(o)return{language:e,value:je(n),illegal:!1,relevance:0,errorRaised:t,_emitter:M,_top:A};throw t}}function b(e){let t={value:je(e),illegal:!1,relevance:0,_top:c,_emitter:new l.__emitter(l)};return t._emitter.addText(e),t}function S(e,n){n=n||l.languages||Object.keys(t);let r=b(e),i=n.filter(N).filter(F).map(t=>v(t,e,!1));i.unshift(r);let[a,o]=i.sort((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(N(e.language).supersetOf===t.language)return 1;if(N(t.language).supersetOf===e.language)return-1}return 0}),s=a;return s.secondBest=o,s}function C(e,t,n){let r=t&&i[t]||n;e.classList.add(`hljs`),e.classList.add(`language-${r}`)}function w(e){let t=null,n=d(e);if(u(n))return;if(z(`before:highlightElement`,{el:e,language:n}),e.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e);return}if(e.children.length>0&&(l.ignoreUnescapedHTML||(console.warn(`One of your code blocks includes unescaped HTML. This is a potentially serious security risk.`),console.warn(`https://github.com/highlightjs/highlight.js/wiki/security`),console.warn(`The element with unescaped HTML:`),console.warn(e)),l.throwUnescapedHTML))throw new Ae(`One of your code blocks includes unescaped HTML.`,e.innerHTML);t=e;let r=t.textContent,i=n?p(r,{language:n,ignoreIllegals:!0}):S(r);e.innerHTML=i.value,e.dataset.highlighted=`yes`,C(e,n,i.language),e.result={language:i.language,re:i.relevance,relevance:i.relevance},i.secondBest&&(e.secondBest={language:i.secondBest.language,relevance:i.secondBest.relevance}),z(`after:highlightElement`,{el:e,result:i,text:r})}function T(e){l=Me(l,e)}let E=()=>{k(),ye(`10.6.0`,`initHighlighting() deprecated. Use highlightAll() now.`)};function D(){k(),ye(`10.6.0`,`initHighlightingOnLoad() deprecated. Use highlightAll() now.`)}let O=!1;function k(){function e(){k()}if(document.readyState===`loading`){O||window.addEventListener(`DOMContentLoaded`,e,!1),O=!0;return}document.querySelectorAll(l.cssSelector).forEach(w)}function A(n,r){let i=null;try{i=r(e)}catch(e){if(_e(`Language definition for '{}' could not be registered.`.replace(`{}`,n)),o)_e(e);else throw e;i=c}i.name||=n,t[n]=i,i.rawDefinition=r.bind(null,e),i.aliases&&P(i.aliases,{languageName:n})}function j(e){delete t[e];for(let t of Object.keys(i))i[t]===e&&delete i[t]}function M(){return Object.keys(t)}function N(e){return e=(e||``).toLowerCase(),t[e]||t[i[e]]}function P(e,{languageName:t}){typeof e==`string`&&(e=[e]),e.forEach(e=>{i[e.toLowerCase()]=t})}function F(e){let t=N(e);return t&&!t.disableAutodetect}function I(e){e[`before:highlightBlock`]&&!e[`before:highlightElement`]&&(e[`before:highlightElement`]=t=>{e[`before:highlightBlock`](Object.assign({block:t.el},t))}),e[`after:highlightBlock`]&&!e[`after:highlightElement`]&&(e[`after:highlightElement`]=t=>{e[`after:highlightBlock`](Object.assign({block:t.el},t))})}function L(e){I(e),a.push(e)}function R(e){let t=a.indexOf(e);t!==-1&&a.splice(t,1)}function z(e,t){let n=e;a.forEach(function(e){e[n]&&e[n](t)})}function ee(e){return ye(`10.7.0`,`highlightBlock will be removed entirely in v12.0`),ye(`10.7.0`,`Please use highlightElement now.`),w(e)}Object.assign(e,{highlight:p,highlightAuto:S,highlightAll:k,highlightElement:w,highlightBlock:ee,configure:T,initHighlighting:E,initHighlightingOnLoad:D,registerLanguage:A,unregisterLanguage:j,listLanguages:M,getLanguage:N,registerAliases:P,autoDetection:F,inherit:Me,addPlugin:L,removePlugin:R}),e.debugMode=function(){o=!1},e.safeMode=function(){o=!0},e.versionString=ke,e.regex={concat:_,lookahead:m,either:y,optional:g,anyNumberOfTimes:h};for(let e in ae)typeof ae[e]==`object`&&n(ae[e]);return Object.assign(e,ae),e},Ie=Fe({});Ie.newInstance=()=>Fe({}),t.exports=Ie,Ie.HighlightJS=Ie,Ie.default=Ie}))()).default,NV={},PV=`hljs-`;function FV(e){let t=MV.newInstance();return e&&a(e),{highlight:n,highlightAuto:r,listLanguages:i,register:a,registerAlias:o,registered:s};function n(e,n,r){let i=r||NV,a=typeof i.prefix==`string`?i.prefix:PV;if(!t.getLanguage(e))throw Error("Unknown language: `"+e+"` is not registered");t.configure({__emitter:IV,classPrefix:a});let o=t.highlight(n,{ignoreIllegals:!0,language:e});if(o.errorRaised)throw Error("Could not highlight with `Highlight.js`",{cause:o.errorRaised});let s=o._emitter.root,c=s.data;return c.language=o.language,c.relevance=o.relevance,s}function r(e,r){let a=(r||NV).subset||i(),o=-1,s=0,c;for(;++o<a.length;){let i=a[o];if(!t.getLanguage(i))continue;let l=n(i,e,r);l.data&&l.data.relevance!==void 0&&l.data.relevance>s&&(s=l.data.relevance,c=l)}return c||{type:`root`,children:[],data:{language:void 0,relevance:s}}}function i(){return t.listLanguages()}function a(e,n){if(typeof e==`string`)t.registerLanguage(e,n);else{let n;for(n in e)Object.hasOwn(e,n)&&t.registerLanguage(n,e[n])}}function o(e,n){if(typeof e==`string`)t.registerAliases(typeof n==`string`?n:[...n],{languageName:e});else{let n;for(n in e)if(Object.hasOwn(e,n)){let r=e[n];t.registerAliases(typeof r==`string`?r:[...r],{languageName:n})}}}function s(e){return!!t.getLanguage(e)}}var IV=class{constructor(e){this.options=e,this.root={type:`root`,children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(e){if(e===``)return;let t=this.stack[this.stack.length-1],n=t.children[t.children.length-1];n&&n.type===`text`?n.value+=e:t.children.push({type:`text`,value:e})}startScope(e){this.openNode(String(e))}endScope(){this.closeNode()}__addSublanguage(e,t){let n=this.stack[this.stack.length-1],r=e.root.children;t?n.children.push({type:`element`,tagName:`span`,properties:{className:[t]},children:r}):n.children.push(...r)}openNode(e){let t=this,n=e.split(`.`).map(function(e,n){return n?e+`_`.repeat(n):t.options.classPrefix+e}),r=this.stack[this.stack.length-1],i={type:`element`,tagName:`span`,properties:{className:n},children:[]};r.children.push(i),this.stack.push(i)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return``}},LV={};function RV(e){let t=e||LV,n=t.aliases,r=t.detect||!1,i=t.languages||jV,a=t.plainText,o=t.prefix,s=t.subset,c=`hljs`,l=FV(i);if(n&&l.registerAlias(n),o){let e=o.indexOf(`-`);c=e===-1?o:o.slice(0,e)}return function(e,t){ZP(e,`element`,function(e,n,i){if(e.tagName!==`code`||!i||i.type!==`element`||i.tagName!==`pre`)return;let u=zV(e);if(u===!1||!u&&!r||u&&a&&a.includes(u))return;Array.isArray(e.properties.className)||(e.properties.className=[]),e.properties.className.includes(c)||e.properties.className.unshift(c);let d=_z(e,{whitespace:`pre`}),f;try{f=u?l.highlight(u,d,{prefix:o}):l.highlightAuto(d,{prefix:o,subset:s})}catch(n){let r=n;if(u&&/Unknown language/.test(r.message)){t.message("Cannot highlight as `"+u+"`, it’s not registered",{ancestors:[i,e],cause:r,place:e.position,ruleId:`missing-language`,source:`rehype-highlight`});return}throw r}!u&&f.data&&f.data.language&&e.properties.className.push(`language-`+f.data.language),f.children.length>0&&(e.children=f.children)})}}function zV(e){let t=e.properties.className,n=-1;if(!Array.isArray(t))return;let r;for(;++n<t.length;){let e=String(t[n]);if(e===`no-highlight`||e===`nohighlight`)return!1;!r&&e.slice(0,5)===`lang-`&&(r=e.slice(5)),!r&&e.slice(0,9)===`language-`&&(r=e.slice(9))}return r}var BV=[`ariaDescribedBy`,`ariaLabel`,`ariaLabelledBy`],VV={ancestors:{tbody:[`table`],td:[`table`],th:[`table`],thead:[`table`],tfoot:[`table`],tr:[`table`]},attributes:{a:[...BV,`dataFootnoteBackref`,`dataFootnoteRef`,[`className`,`data-footnote-backref`],`href`],blockquote:[`cite`],code:[[`className`,/^language-./]],del:[`cite`],div:[`itemScope`,`itemType`],dl:[...BV],h2:[[`className`,`sr-only`]],img:[...BV,`longDesc`,`src`],input:[[`disabled`,!0],[`type`,`checkbox`]],ins:[`cite`],li:[[`className`,`task-list-item`]],ol:[...BV,[`className`,`contains-task-list`]],q:[`cite`],section:[`dataFootnotes`,[`className`,`footnotes`]],source:[`srcSet`],summary:[...BV],table:[...BV],ul:[...BV,[`className`,`contains-task-list`]],"*":`abbr.accept.acceptCharset.accessKey.action.align.alt.axis.border.cellPadding.cellSpacing.char.charOff.charSet.checked.clear.colSpan.color.cols.compact.coords.dateTime.dir.encType.frame.hSpace.headers.height.hrefLang.htmlFor.id.isMap.itemProp.label.lang.maxLength.media.method.multiple.name.noHref.noShade.noWrap.open.prompt.readOnly.rev.rowSpan.rows.rules.scope.selected.shape.size.span.start.summary.tabIndex.title.useMap.vAlign.value.width`.split(`.`)},clobber:[`ariaDescribedBy`,`ariaLabelledBy`,`id`,`name`],clobberPrefix:`user-content-`,protocols:{cite:[`http`,`https`],href:[`http`,`https`,`irc`,`ircs`,`mailto`,`xmpp`],longDesc:[`http`,`https`],src:[`http`,`https`]},required:{input:{disabled:!0,type:`checkbox`}},strip:[`script`],tagNames:`a.b.blockquote.br.code.dd.del.details.div.dl.dt.em.h1.h2.h3.h4.h5.h6.hr.i.img.input.ins.kbd.li.ol.p.picture.pre.q.rp.rt.ruby.s.samp.section.source.span.strike.strong.sub.summary.sup.table.tbody.td.tfoot.th.thead.tr.tt.ul.var`.split(`.`)},HV={}.hasOwnProperty;function UV(e,t){let n={type:`root`,children:[]},r=WV({schema:t?{...VV,...t}:VV,stack:[]},e);return r&&(Array.isArray(r)?r.length===1?n=r[0]:n.children=r:n=r),n}function WV(e,t){if(t&&typeof t==`object`){let n=t;switch(typeof n.type==`string`?n.type:``){case`comment`:return GV(e,n);case`doctype`:return KV(e,n);case`element`:return qV(e,n);case`root`:return JV(e,n);case`text`:return YV(e,n);default:}}}function GV(e,t){if(e.schema.allowComments){let e=typeof t.value==`string`?t.value:``,n=e.indexOf(`-->`),r={type:`comment`,value:n<0?e:e.slice(0,n)};return nH(r,t),r}}function KV(e,t){if(e.schema.allowDoctypes){let e={type:`doctype`};return nH(e,t),e}}function qV(e,t){let n=typeof t.tagName==`string`?t.tagName:``;e.stack.push(n);let r=XV(e,t.children),i=ZV(e,t.properties);e.stack.pop();let a=!1;if(n&&n!==`*`&&(!e.schema.tagNames||e.schema.tagNames.includes(n))&&(a=!0,e.schema.ancestors&&HV.call(e.schema.ancestors,n))){let t=e.schema.ancestors[n],r=-1;for(a=!1;++r<t.length;)e.stack.includes(t[r])&&(a=!0)}if(!a)return e.schema.strip&&!e.schema.strip.includes(n)?r:void 0;let o={type:`element`,tagName:n,properties:i,children:r};return nH(o,t),o}function JV(e,t){let n={type:`root`,children:XV(e,t.children)};return nH(n,t),n}function YV(e,t){let n={type:`text`,value:typeof t.value==`string`?t.value:``};return nH(n,t),n}function XV(e,t){let n=[];if(Array.isArray(t)){let r=t,i=-1;for(;++i<r.length;){let t=WV(e,r[i]);t&&(Array.isArray(t)?n.push(...t):n.push(t))}}return n}function ZV(e,t){let n=e.stack[e.stack.length-1],r=e.schema.attributes,i=e.schema.required,a=r&&HV.call(r,n)?r[n]:void 0,o=r&&HV.call(r,`*`)?r[`*`]:void 0,s=t&&typeof t==`object`?t:{},c={},l;for(l in s)if(HV.call(s,l)){let t=s[l],n=QV(e,rH(a,l),l,t);n??=QV(e,rH(o,l),l,t),n!=null&&(c[l]=n)}if(i&&HV.call(i,n)){let e=i[n];for(l in e)HV.call(e,l)&&!HV.call(c,l)&&(c[l]=e[l])}return c}function QV(e,t,n,r){return t?Array.isArray(r)?$V(e,t,n,r):eH(e,t,n,r):void 0}function $V(e,t,n,r){let i=-1,a=[];for(;++i<r.length;){let o=eH(e,t,n,r[i]);(typeof o==`number`||typeof o==`string`)&&a.push(o)}return a}function eH(e,t,n,r){if(!(typeof r!=`boolean`&&typeof r!=`number`&&typeof r!=`string`)&&tH(e,n,r)){if(typeof t==`object`&&t.length>1){let e=!1,n=0;for(;++n<t.length;){let i=t[n];if(i&&typeof i==`object`&&`flags`in i){if(i.test(String(r))){e=!0;break}}else if(i===r){e=!0;break}}if(!e)return}return e.schema.clobber&&e.schema.clobberPrefix&&e.schema.clobber.includes(n)?e.schema.clobberPrefix+r:r}}function tH(e,t,n){let r=e.schema.protocols&&HV.call(e.schema.protocols,t)?e.schema.protocols[t]:void 0;if(!r||r.length===0)return!0;let i=String(n),a=i.indexOf(`:`),o=i.indexOf(`?`),s=i.indexOf(`#`),c=i.indexOf(`/`);if(a<0||c>-1&&a>c||o>-1&&a>o||s>-1&&a>s)return!0;let l=-1;for(;++l<r.length;){let e=r[l];if(a===e.length&&i.slice(0,e.length)===e)return!0}return!1}function nH(e,t){let n=uA(t);t.data&&(e.data=IP(t.data)),n&&(e.position=n)}function rH(e,t){let n,r=-1;if(e)for(;++r<e.length;){let i=e[r],a=typeof i==`string`?i:i[0];if(a===t)return i;a===`data*`&&(n=i)}if(t.length>4&&t.slice(0,4).toLowerCase()===`data`)return n}function iH(e){return function(t){return UV(t,e)}}function aH(){return typeof document>`u`?`dark`:(nE[document.documentElement.getAttribute(`data-theme`)||`rose-pine`]?.type??`dark`)===`light`?`default`:`dark`}function oH({chart:e}){let t=(0,W.useRef)(null),n=`mermaid-${(0,W.useId)().replace(/[^a-zA-Z0-9]/g,``)}`,[r,i]=(0,W.useState)(null);return(0,W.useEffect)(()=>{let r=!1;if(t.current)return(async()=>{try{let a=(await J(async()=>{let{default:e}=await import(`./mermaid.core-qcl7ght-.js`);return{default:e}},__vite__mapDeps([101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118]))).default;a.initialize({startOnLoad:!1,securityLevel:`strict`,theme:aH()});let{svg:o,bindFunctions:s}=await a.render(n,e);if(r||!t.current)return;t.current.innerHTML=o,s?.(t.current),i(null)}catch(e){r||i(e instanceof Error?e.message:String(e))}})(),()=>{r=!0}},[e,n]),r?(0,G.jsxs)(`div`,{className:`mermaid-error`,children:[(0,G.jsxs)(`div`,{className:`mermaid-error-note`,children:[`Failed to render diagram: `,r]}),(0,G.jsx)(`pre`,{children:(0,G.jsx)(`code`,{children:e})})]}):(0,G.jsx)(`div`,{className:`mermaid`,ref:t,role:`img`,"aria-label":`Mermaid diagram`})}var sH=[QR,tz],cH=[[iH,{...VV,protocols:{...VV.protocols,href:[...VV.protocols?.href??[],`file`,`file-mention`]},attributes:{...VV.attributes,h1:[...VV.attributes?.h1??[],`id`],h2:[...VV.attributes?.h2??[],`id`],h3:[...VV.attributes?.h3??[],`id`],h4:[...VV.attributes?.h4??[],`id`],h5:[...VV.attributes?.h5??[],`id`],h6:[...VV.attributes?.h6??[],`id`]}}],[RV,{ignoreMissing:!0,plainText:[`mermaid`,`suggestion`]}]];function lH(e){return e.startsWith(`file://`)||e.startsWith(`file-mention://`)?e:$F(e)}function uH(e){return e==null||e===!1||e===!0?``:typeof e==`string`||typeof e==`number`?String(e):Array.isArray(e)?e.map(uH).join(``):(0,W.isValidElement)(e)?uH(e.props.children):``}function dH(e){return typeof e==`string`?/language-([\w-]+)/.exec(e)?.[1]??null:null}function fH(e){return e.toLowerCase().trim().replace(/[`*_~[\]()#.!?,:'"]/g,``).replace(/[^\w\s-]/g,``).replace(/\s+/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``).slice(0,80)||`section`}function pH({language:e,codeText:t,children:n}){let[r,i]=(0,W.useState)(!1),a=(0,W.useCallback)(()=>{typeof navigator>`u`||!navigator.clipboard||navigator.clipboard.writeText(t).then(()=>{i(!0),window.setTimeout(()=>i(!1),1400)},()=>{})},[t]);return(0,G.jsxs)(`div`,{className:`md-code-block`,children:[(0,G.jsxs)(`div`,{className:`md-code-toolbar`,children:[(0,G.jsx)(`span`,{className:`md-code-lang`,children:e||`code`}),(0,G.jsx)(`button`,{type:`button`,className:`md-code-copy`,onClick:a,"aria-label":`Copy code`,children:r?`Copied`:`Copy`})]}),(0,G.jsx)(`pre`,{children:n})]})}function mH(e){return{pre({children:e}){let t=dH((0,W.isValidElement)(e)?e.props.className:void 0);return t===`mermaid`?(0,G.jsx)(oH,{chart:uH(e).replace(/\n$/,``)}):t===`suggestion`?null:(0,G.jsx)(pH,{language:t,codeText:uH(e).replace(/\n$/,``),children:e})},a({href:e,children:t}){return typeof e==`string`&&e.startsWith(`file-mention://`)?(0,G.jsx)(`span`,{className:`mention-file`,title:e.slice(15),children:t}):(0,G.jsx)(`a`,{href:e,...typeof e==`string`&&/^https?:\/\//.test(e)?{target:`_blank`,rel:`noopener noreferrer`}:{},children:t})},h1:hH(`h1`,e),h2:hH(`h2`,e),h3:hH(`h3`,e),h4:hH(`h4`,e),h5:hH(`h5`,e),h6:hH(`h6`,e)}}function hH(e,t){return function({children:n,...r}){let i=uH(n),a=fH(i),o=t.get(a)??0;return t.set(a,o+1),o>0&&(a=`${a}-${o+1}`),(0,G.jsxs)(e,{id:a,className:`md-heading`,...r,children:[(0,G.jsx)(`a`,{href:`#${a}`,className:`md-heading-anchor`,"aria-label":`Link to ${i}`,children:`#`}),n]})}}function gH({content:e,className:t}){return(0,G.jsx)(`div`,{className:t,children:(0,G.jsx)(YF,{remarkPlugins:sH,rehypePlugins:cH,urlTransform:lH,components:mH(new Map),children:e})})}function _H(e,t){let n=e.slice(0,t);for(let e=t-1;e>=0;e--){let t=n[e];if(t===`@`){if(e===0||/\s/.test(n[e-1])){let t=n.slice(e+1);if(!/\s/.test(t))return{atStart:e,query:t}}return null}if(t===`
1933
+ `)return null}return null}function vH(e,t){let n=(0,W.useRef)(null),[r,i]=(0,W.useState)(null),[a,o]=(0,W.useState)(null),[s,c]=(0,W.useState)(0),[l,u]=(0,W.useState)(0),d=(0,W.useRef)(0),f=(0,W.useRef)(e);(0,W.useEffect)(()=>{f.current=e},[e]);let p=(0,W.useCallback)(e=>{n.current=e,i(e)},[]),m=(0,W.useCallback)(()=>{let e=n.current;if(!e)return;let t=e.selectionStart;d.current=t;let r=f.current,i=_H(r,t);if(o(i),!i)return;c(0);let a=getComputedStyle(e),s=parseFloat(a.lineHeight);Number.isFinite(s)||(s=(parseFloat(a.fontSize)||14)*1.5);let l=(r.slice(0,t).match(/\n/g)||[]).length;u((parseFloat(a.paddingTop)||0)+(l+1)*s-e.scrollTop+4)},[]);(0,W.useEffect)(()=>{m()},[e,m]),(0,W.useEffect)(()=>{if(!r)return;let e=()=>m();return r.addEventListener(`scroll`,e),r.addEventListener(`select`,e),r.addEventListener(`click`,e),()=>{r.removeEventListener(`scroll`,e),r.removeEventListener(`select`,e),r.removeEventListener(`click`,e)}},[r,m]);let h=a?.query??``,g=nt({queryKey:[`file-mention`,h],enabled:a!==null,placeholderData:B,staleTime:5e3,queryFn:async({signal:e})=>{let t=await fetch(`/api/search`,{method:`POST`,headers:{"content-type":`application/json`},signal:e,body:JSON.stringify({scope:`files`,query:h})});if(!t.ok)throw Error(`Search failed (${t.status})`);return await t.json()}}),_=g.data?.items??[],v=a!==null&&(_.length>0||g.isFetching),y=(0,W.useCallback)(r=>{if(!a)return;let i=n.current;if(!i)return;let s=e.slice(0,a.atStart),c=e.slice(d.current),l=`@${r} `;t(s+l+c),o(null),requestAnimationFrame(()=>{i.selectionStart=i.selectionEnd=(s+l).length,i.focus()})},[a,e,t]),b=(0,W.useCallback)(e=>{if(!v)return!1;if(e.key===`ArrowDown`){e.preventDefault();let t=_.length;return t>0&&c(e=>(e+1)%t),!0}if(e.key===`ArrowUp`){e.preventDefault();let t=_.length;return t>0&&c(e=>e===0?t-1:e-1),!0}return(e.key===`Enter`||e.key===`Tab`)&&_[s]?(e.preventDefault(),y(_[s].path),!0):e.key===`Escape`?(e.preventDefault(),o(null),!0):!1},[v,_,s,y]),x=(0,W.useCallback)(e=>y(e),[y]);return{isOpen:v,results:_,focusedIndex:s,query:h,isFetching:g.isFetching,cursorTop:l,handleKeyDown:b,onSelect:x,setFocusedIndex:c,setTextareaRef:p}}function yH(e,t){let n=t.trim().toLowerCase();if(!n)return[];let r=e.toLowerCase(),i=[],a=0;for(let e=0;e<r.length&&a<n.length;e++)if(r[e]===n[a]){let t=i[i.length-1];t&&t[1]===e?t[1]=e+1:i.push([e,e+1]),a++}return a===n.length?i:[]}function bH({text:e,ranges:t}){if(!t.length)return(0,G.jsx)(G.Fragment,{children:e});let n=[],r=0;return t.forEach(([t,i],a)=>{t>r&&n.push(e.slice(r,t)),n.push((0,G.jsx)(`mark`,{className:`mention-highlight`,children:e.slice(t,i)},a)),r=i}),r<e.length&&n.push(e.slice(r)),(0,G.jsx)(G.Fragment,{children:n})}var xH=e=>{let t=e.lastIndexOf(`/`);return t===-1?``:e.slice(0,t+1)},SH=e=>{let t=e.lastIndexOf(`/`);return t===-1?e:e.slice(t+1)};function CH({results:e,focusedIndex:t,query:n,cursorTop:r,onSelect:i,onHover:a}){let o=(0,W.useRef)(null);return(0,W.useEffect)(()=>{(o.current?.querySelector(`[data-focused="true"]`))?.scrollIntoView({block:`nearest`})},[t]),e.length===0?null:(0,G.jsx)(`div`,{className:`mention-dropdown`,ref:o,role:`listbox`,"aria-label":`File suggestions`,style:{top:r},children:e.map((e,r)=>{let o=SH(e.path),s=yH(o,n),c=r===t;return(0,G.jsxs)(`div`,{role:`option`,"aria-selected":c,"data-focused":c,className:`mention-item ${c?`mention-item-focused`:``}`,onMouseDown:t=>{t.preventDefault(),i(e.path)},onMouseEnter:()=>a(r),children:[(0,G.jsx)(`span`,{className:`mention-icon`,children:(0,G.jsx)(fO,{size:13})}),(0,G.jsxs)(`div`,{className:`mention-info`,children:[(0,G.jsx)(`span`,{className:`mention-name`,children:(0,G.jsx)(bH,{text:o,ranges:s})}),(0,G.jsx)(`span`,{className:`mention-dir`,children:xH(e.path)||`./`})]})]},e.path)})})}function wH(e){return e.replace(/@([^\s@]+)/g,(e,t)=>`[${t.split(`/`).pop()||t}](file-mention://${t})`)}function TH({id:e,value:t,onChange:n,placeholder:r,rows:i=3,ariaLabel:a,textareaClassName:o,onSubmitShortcut:s}){let[c,l]=(0,W.useState)(`write`),u=(0,W.useRef)(null),d=(0,W.useRef)(null),f=vH(t,n),p=(0,W.useRef)(t);(0,W.useEffect)(()=>{p.current=t},[t]),(0,W.useEffect)(()=>{c===`preview`&&d.current?.focus()},[c]);let m=async e=>{let r=e.clipboardData.items,i=null;for(let e=0;e<r.length;e++){let t=r[e];if(t.kind===`file`&&t.type.startsWith(`image/`)){i=t.getAsFile();break}}if(!i)return;e.preventDefault();let a=u.current;if(!a)return;let o=a.selectionStart,s=a.selectionEnd,c=Math.random().toString(36).slice(2,8),l=`![Uploading image… ${c}]()`,d=t.slice(0,o)+l+t.slice(s);n(d),p.current=d;try{let e=new FormData;e.append(`file`,i,i.name||`pasted-${c}.png`);let t=await fetch(`/api/attachments`,{method:`POST`,body:e});if(!t.ok)throw Error(`HTTP ${t.status}`);let r=await t.json();if(!r.url)throw Error(r.error||`Upload failed`);n(p.current.replace(l,`![pasted image](${r.url})`))}catch(e){console.error(`Image upload failed:`,e),n(p.current.replace(l,`![upload failed]()`))}};return(0,G.jsxs)(`div`,{className:`md-field`,children:[(0,G.jsxs)(`div`,{className:`comment-form-tabs`,role:`tablist`,"aria-label":`Markdown editor mode`,children:[(0,G.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":c===`write`,onClick:()=>l(`write`),onKeyDown:e=>{e.key===`ArrowRight`&&(e.preventDefault(),l(`preview`))},className:`comment-form-tab-btn ${c===`write`?`comment-form-tab-btn-active`:`comment-form-tab-btn-inactive`}`,children:`Write`}),(0,G.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":c===`preview`,onClick:()=>l(`preview`),onKeyDown:e=>{e.key===`ArrowLeft`&&(e.preventDefault(),l(`write`))},className:`comment-form-tab-btn ${c===`preview`?`comment-form-tab-btn-active`:`comment-form-tab-btn-inactive`}`,children:`Preview`})]}),c===`write`?(0,G.jsxs)(`div`,{style:{position:`relative`},children:[(0,G.jsx)(`textarea`,{id:e,ref:e=>{u.current=e,f.setTextareaRef(e)},className:o,value:t,rows:i,placeholder:r,"aria-label":a,onChange:e=>n(e.target.value),onPaste:m,onKeyDown:e=>{f.handleKeyDown(e)||(e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),s?.()),e.key===`p`&&(e.metaKey||e.ctrlKey)&&e.shiftKey&&(e.preventDefault(),l(e=>e===`write`?`preview`:`write`)))}}),f.isOpen&&(0,G.jsx)(CH,{results:f.results,focusedIndex:f.focusedIndex,query:f.query,cursorTop:f.cursorTop,onSelect:f.onSelect,onHover:f.setFocusedIndex})]}):(0,G.jsx)(`div`,{ref:d,className:`md-field-preview markdown-body`,role:`tabpanel`,"aria-label":`Markdown preview`,tabIndex:0,onKeyDown:e=>{e.key===`p`&&(e.metaKey||e.ctrlKey)&&e.shiftKey&&(e.preventDefault(),l(`write`))},children:t.trim()?(0,G.jsx)(gH,{content:wH(t)}):(0,G.jsx)(`span`,{className:`md-field-empty`,children:`Nothing to preview`})})]})}var EH=`diffing-submit-panel-height`,DH=`diffing-submit-panel-width`,OH=[{label:`S`,width:420,height:340},{label:`M`,width:480,height:440},{label:`L`,width:560,height:560},{label:`XL`,width:640,height:760}],kH=480,AH=520;function jH(e){return Number.isFinite(e)?Math.max(280,Math.min(760,e)):kH}function MH(e){return Number.isFinite(e)?Math.max(360,Math.min(720,e)):AH}function NH(){let e=CD(EH);if(e==null)return kH;let t=Number(e);return Number.isFinite(t)?jH(t):kH}function PH(){let e=CD(DH);if(e==null)return AH;let t=Number(e);return Number.isFinite(t)?MH(t):AH}function FH(e,t){if(!(!e||typeof e.setPointerCapture!=`function`))try{e.setPointerCapture(t)}catch{}}function IH(e,t){if(!(!e||typeof e.releasePointerCapture!=`function`))try{e.hasPointerCapture?.(t)&&e.releasePointerCapture(t)}catch{}}function LH(){let[e,t]=(0,W.useState)(()=>NH()),[n,r]=(0,W.useState)(()=>PH()),i=(0,W.useRef)(null),a=(0,W.useRef)(e);a.current=e;let o=(0,W.useRef)(n);o.current=n;let s=(0,W.useRef)(!1),c=(0,W.useRef)(0),l=(0,W.useCallback)(()=>{s.current=!0,c.current=1/0},[]),u=(0,W.useCallback)(()=>{s.current=!1,c.current=Date.now()+200},[]),d=(0,W.useCallback)(()=>s.current||Date.now()<c.current,[]),f=(0,W.useCallback)((e,t,n)=>{if(!e&&d()){t?.cancel?.();return}n(e)},[d]),p=(0,W.useCallback)(e=>{let n=jH(e);t(n),DD(EH,String(n))},[]),m=(0,W.useCallback)(e=>{let t=MH(e);r(t),DD(DH,String(t))},[]),h=(0,W.useCallback)(e=>{m(e.width),p(e.height)},[m,p]),g=(()=>{for(let t=0;t<OH.length;t++){let r=OH[t];if(Math.abs(e-r.height)<1&&Math.abs(n-r.width)<1)return t}return-1})(),_=(0,W.useCallback)(e=>{if(e.button!==0)return;e.preventDefault();let n=i.current;if(!n)return;let r=e.currentTarget,o=e.pointerId;FH(r,o),l();let s=e.clientY,c=a.current,d=c,f=0,p=()=>{f=0,n.style.setProperty(`--submit-panel-height`,`${d}px`)},m=e=>{e.pointerId===o&&(d=jH(c+(e.clientY-s)),f||=requestAnimationFrame(p))},h=e=>{e.pointerId===o&&(f&&cancelAnimationFrame(f),t(d),DD(EH,String(d)),IH(r,o),u(),document.removeEventListener(`pointermove`,m),document.removeEventListener(`pointerup`,h),document.removeEventListener(`pointercancel`,h),document.body.style.cursor=``,document.body.style.userSelect=``)};document.addEventListener(`pointermove`,m),document.addEventListener(`pointerup`,h),document.addEventListener(`pointercancel`,h),document.body.style.cursor=`row-resize`,document.body.style.userSelect=`none`},[l,u]),v=(0,W.useCallback)(e=>{if(e.button!==0)return;e.preventDefault();let t=i.current;if(!t)return;let n=e.currentTarget,a=e.pointerId;FH(n,a),l();let s=e.clientX,c=o.current,d=c,f=0,p=()=>{f=0,t.style.setProperty(`--submit-panel-width`,`${d}px`)},m=e=>{e.pointerId===a&&(d=MH(c+(s-e.clientX)),f||=requestAnimationFrame(p))},h=e=>{e.pointerId===a&&(f&&cancelAnimationFrame(f),r(d),DD(DH,String(d)),IH(n,a),u(),document.removeEventListener(`pointermove`,m),document.removeEventListener(`pointerup`,h),document.removeEventListener(`pointercancel`,h),document.body.style.cursor=``,document.body.style.userSelect=``)};document.addEventListener(`pointermove`,m),document.addEventListener(`pointerup`,h),document.addEventListener(`pointercancel`,h),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`},[l,u]),y=(0,W.useCallback)(e=>{if(e.button!==0)return;e.preventDefault();let n=i.current;if(!n)return;let s=e.currentTarget,c=e.pointerId;FH(s,c),l();let d=e.clientX,f=e.clientY,p=o.current,m=a.current,h=p,g=m,_=0,v=()=>{_=0,n.style.setProperty(`--submit-panel-width`,`${h}px`),n.style.setProperty(`--submit-panel-height`,`${g}px`)},y=e=>{if(e.pointerId!==c)return;let t=d-e.clientX,n=e.clientY-f;h=MH(p+t),g=jH(m+n),_||=requestAnimationFrame(v)},b=e=>{e.pointerId===c&&(_&&cancelAnimationFrame(_),r(h),t(g),DD(DH,String(h)),DD(EH,String(g)),IH(s,c),u(),document.removeEventListener(`pointermove`,y),document.removeEventListener(`pointerup`,b),document.removeEventListener(`pointercancel`,b),document.body.style.cursor=``,document.body.style.userSelect=``)};document.addEventListener(`pointermove`,y),document.addEventListener(`pointerup`,b),document.addEventListener(`pointercancel`,b),document.body.style.cursor=`nesw-resize`,document.body.style.userSelect=`none`},[l,u]);return(0,W.useEffect)(()=>()=>{document.body.style.cursor=``,document.body.style.userSelect=``},[]),{height:e,width:n,setHeight:p,setWidth:m,applyPreset:h,activePreset:g,startResize:_,startLeftResize:v,startCornerResize:y,handleOpenChange:f,popoverStyle:{"--submit-panel-height":`${e}px`,"--submit-panel-width":`${n}px`},panelRef:i}}var RH=[{value:`approved`,label:`Approve`,description:`The changes look good — the agent can proceed.`,icon:UD,className:`plan-verdict-approve`},{value:`changes-requested`,label:`Request edits`,description:`The agent should address the comments and apply edits.`,icon:NO,className:`plan-verdict-changes`},{value:`rejected`,label:`Reject`,description:`Don't keep building on this — the approach needs rethinking.`,icon:ck,className:`plan-verdict-reject`},{value:`comment-only`,label:`Comment only`,description:`Agent must NOT edit files — only reply to comments. General note goes to chat.`,icon:PO,className:`plan-verdict-comment-only`}];function zH({comments:e,totalFileCount:t,viewedFileCount:n,requireViewAllBeforeSend:r,onEditComment:i,onDeleteComment:a,onSend:o,sending:s,agentWaiting:c,waitingAgents:l=[],onCopyComments:u,onCopyMarkdown:d}){let{haptic:f,sound:p}=pD(),[m,h]=(0,W.useState)(!1),[g,_]=(0,W.useState)(``),[v,y]=(0,W.useState)(null),[b,x]=(0,W.useState)(!1),[S,C]=(0,W.useState)(null),[w,T]=(0,W.useState)(!1),{popoverStyle:E,activePreset:D,applyPreset:O,startResize:k,startLeftResize:A,startCornerResize:j,handleOpenChange:M,panelRef:N}=LH(),P=async()=>{u&&(await u(),x(!0),setTimeout(()=>x(!1),2e3))},F=e.length,I=(0,W.useMemo)(()=>[...e].sort((e,t)=>e.createdAt-t.createdAt),[e]),L=Math.max(0,t-n),R=async()=>{if(!v)return;if(r&&L>0&&!w){if(f(`medium`),!(!(typeof window>`u`)&&window.confirm(`${L} file${L===1?``:`s`} ${L===1?`is`:`are`} still unviewed. Send the review to the agent anyway?`))){T(!1),h(!0);return}T(!0)}f(`heavy`),p(`send`);let e=v===`comment-only`?`comment-only`:`standard`;try{await o(v,g,e,w),_(``),y(null),h(!1),C(null),T(!1)}catch(e){if(e?.kind===`secrets`){C(e.findings),T(!1);return}throw e}};return(0,G.jsx)(Qk,{open:m,onOpenChange:(e,t)=>M(e,t,h),ariaLabel:`Submit your review to the agent`,className:`send-review-popover`,trigger:(0,G.jsxs)(`button`,{className:`btn btn-primary btn-sm send-review-btn`,disabled:s,title:l.length>0?`Waiting: ${l.map(e=>e.label||e.model||e.id.slice(0,8)).join(`, `)}`:c?`Agent waiting for your review`:`Submit review to agent`,"aria-label":s?`Sending review`:F>0?`Send review with ${F} comment${F===1?``:`s`}`:`Send review to agent`,children:[c&&(0,G.jsx)(`span`,{className:`agent-waiting-dot`,"aria-hidden":`true`}),(0,G.jsx)(VD,{size:14,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`btn-label`,children:s?`Sending…`:l.length>1?`Send (${l.length})`:F>0?`Send (${F})`:`Send review`})]}),children:(0,G.jsxs)(`div`,{className:`srp`,ref:N,style:E,children:[(0,G.jsx)(`div`,{className:`srp-resize-handle-left`,onPointerDown:A,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize submit panel width`,tabIndex:0}),(0,G.jsxs)(`div`,{className:`srp-head`,children:[(0,G.jsx)(VD,{size:15,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`srp-title`,children:`Submit review`}),(0,G.jsx)(`div`,{className:`srp-size-presets`,role:`group`,"aria-label":`Panel size`,children:OH.map((e,t)=>(0,G.jsx)(`button`,{className:`srp-preset-btn`,role:`radio`,"aria-checked":D===t,"aria-pressed":D===t,onClick:()=>O(e),title:`${e.width}×${e.height}px`,children:e.label},e.label))}),F>0&&(0,G.jsxs)(`span`,{className:`srp-count`,children:[F,` comment`,F===1?``:`s`]})]}),l.length>0&&(0,G.jsxs)(`div`,{className:`srp-agents`,"aria-label":`Waiting agents`,children:[(0,G.jsx)(`span`,{className:`srp-agents-label`,children:l.length===1?`Agent waiting`:`${l.length} agents waiting`}),(0,G.jsx)(`ul`,{className:`srp-agents-list`,children:l.map(e=>(0,G.jsxs)(`li`,{className:`srp-agent-chip`,title:e.id,children:[(0,G.jsx)(`span`,{className:`agent-waiting-dot`,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`srp-agent-name`,children:e.label||e.model||e.id.slice(0,8)}),e.model&&e.label&&(0,G.jsx)(`span`,{className:`srp-agent-model`,children:e.model})]},e.id))})]}),(0,G.jsxs)(`div`,{className:`srp-scroll`,children:[(0,G.jsx)(`div`,{className:`plan-verdict-options`,role:`radiogroup`,"aria-label":`Verdict`,children:RH.map(e=>{let t=e.icon,n=v===e.value;return(0,G.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":n,className:`plan-verdict-option ${e.className} ${n?`plan-verdict-option-selected`:``}`,onClick:()=>y(e.value),children:[(0,G.jsx)(`span`,{className:`plan-verdict-icon`,children:(0,G.jsx)(t,{size:15,"aria-hidden":`true`})}),(0,G.jsxs)(`span`,{className:`plan-verdict-text`,children:[(0,G.jsx)(`span`,{className:`plan-verdict-label`,children:e.label}),(0,G.jsx)(`span`,{className:`plan-verdict-desc`,children:e.description})]}),(0,G.jsx)(`span`,{className:`plan-verdict-radio`,"aria-hidden":`true`})]},e.value)})}),F>0?(0,G.jsx)(`ul`,{className:`srp-list`,"aria-label":`Comments to send`,children:I.map(e=>(0,G.jsx)(BH,{comment:e,onEdit:i,onDelete:a},e.id))}):(0,G.jsx)(`p`,{className:`srp-empty`,children:`No inline comments — your verdict and overall note will be sent on their own.`}),L>0&&(0,G.jsx)(`div`,{className:`srp-warning`,role:`note`,"data-tone":`muted`,children:(0,G.jsxs)(`span`,{children:[(0,G.jsx)(`strong`,{children:L}),` of `,(0,G.jsx)(`strong`,{children:t}),` file`,t===1?``:`s`,` still unviewed.`,r&&(0,G.jsx)(G.Fragment,{children:` Sending will require an extra confirmation.`})]})}),S&&(0,G.jsxs)(`div`,{className:`srp-warning srp-warning-danger`,role:`alert`,"data-tone":`danger`,children:[(0,G.jsxs)(`div`,{className:`srp-warning-head`,children:[(0,G.jsx)($O,{size:14,"aria-hidden":`true`}),(0,G.jsxs)(`strong`,{children:[S.length,` possible secret`,S.length===1?``:`s`,` detected`]})]}),(0,G.jsx)(`ul`,{className:`srp-warning-list`,children:S.map((e,t)=>(0,G.jsxs)(`li`,{children:[(0,G.jsx)(`code`,{children:e.rule}),`: `,(0,G.jsx)(`code`,{children:e.snippet}),` `,(0,G.jsxs)(`span`,{className:`srp-warning-source`,children:[`in `,e.source]})]},t))}),(0,G.jsxs)(`div`,{className:`srp-warning-actions`,children:[(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:()=>C(null),disabled:s,children:`Cancel & edit`}),(0,G.jsx)(`button`,{className:`btn btn-sm btn-danger`,onClick:()=>{T(!0),C(null),R()},disabled:s,children:`Send anyway`})]})]}),(0,G.jsxs)(`div`,{className:`srp-general`,children:[(0,G.jsxs)(`label`,{className:`srp-general-label`,htmlFor:`srp-general-input`,children:[`Overall comment `,(0,G.jsx)(`span`,{className:`srp-optional`,children:`(optional · Markdown)`})]}),(0,G.jsx)(TH,{id:`srp-general-input`,value:g,onChange:_,textareaClassName:`srp-general-input`,placeholder:`Add an overall note for the agent that applies to the whole review…`,rows:3,ariaLabel:`Overall review comment`,onSubmitShortcut:R})]})]}),(0,G.jsxs)(`div`,{className:`srp-footer`,children:[u&&(0,G.jsxs)(`div`,{style:{marginRight:`auto`,display:`flex`,gap:6},children:[(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:P,disabled:F===0,children:b?`Copied!`:`Copy XML`}),d&&(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:async()=>{try{await d(),x(!0),setTimeout(()=>x(!1),1500)}catch{}},disabled:F===0,title:`Copy review as Markdown`,children:`Copy MD`})]}),(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:()=>h(!1),disabled:s,children:`Cancel`}),(0,G.jsx)(`button`,{className:`btn btn-primary btn-sm`,onClick:R,disabled:!v||s,children:s?`Sending…`:`Send review`})]}),(0,G.jsx)(`div`,{className:`srp-resize-handle`,onPointerDown:k,role:`separator`,"aria-orientation":`horizontal`,"aria-label":`Resize submit panel`,tabIndex:0}),(0,G.jsx)(`div`,{className:`srp-resize-handle-corner`,onPointerDown:j,role:`separator`,"aria-label":`Resize submit panel width and height`,tabIndex:0})]})})}function BH({comment:e,onEdit:t,onDelete:n}){let[r,i]=(0,W.useState)(!1),[a,o]=(0,W.useState)(e.body),s=(0,W.useRef)(null);(0,W.useEffect)(()=>{r&&(s.current?.focus(),s.current?.select())},[r]);let c=e.lineNumber>0?e.startLineNumber&&e.startLineNumber!==e.lineNumber?`:${e.startLineNumber}-${e.lineNumber}`:`:${e.lineNumber}`:` · file`,l=()=>{let n=a.trim();n&&n!==e.body&&t(e.id,n),i(!1)};return(0,G.jsxs)(`li`,{className:`srp-item`,children:[(0,G.jsxs)(`div`,{className:`srp-item-top`,children:[(0,G.jsxs)(`span`,{className:`srp-item-loc`,children:[(0,G.jsx)(`span`,{className:`srp-item-file`,children:tE(e.filePath)}),(0,G.jsx)(`span`,{className:`srp-item-line`,children:c})]}),e.status===`resolved`&&(0,G.jsx)(`span`,{className:`srp-item-resolved`,children:`resolved`}),(0,G.jsxs)(`span`,{className:`srp-item-actions`,children:[r?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`button`,{className:`srp-icon-btn`,onClick:l,title:`Save edit`,children:(0,G.jsx)(UD,{size:13,"aria-hidden":`true`})}),(0,G.jsx)(`button`,{className:`srp-icon-btn`,onClick:()=>{o(e.body),i(!1)},title:`Cancel edit`,children:(0,G.jsx)(ck,{size:13,"aria-hidden":`true`})})]}):(0,G.jsx)(`button`,{className:`srp-icon-btn`,onClick:()=>i(!0),title:`Edit comment`,children:(0,G.jsx)(GO,{size:13,"aria-hidden":`true`})}),(0,G.jsx)(`button`,{className:`srp-icon-btn srp-icon-btn-danger`,onClick:()=>n(e.id),title:`Remove from review`,children:(0,G.jsx)(rk,{size:13,"aria-hidden":`true`})})]})]}),e.lineContent?.trim()&&(0,G.jsx)(`code`,{className:`srp-item-code`,children:e.lineContent.trim().slice(0,160)}),r?(0,G.jsx)(`textarea`,{ref:s,className:`srp-item-edit`,value:a,rows:2,onChange:e=>o(e.target.value),onKeyDown:t=>{t.key===`Enter`&&(t.metaKey||t.ctrlKey)?(t.preventDefault(),l()):t.key===`Escape`&&(t.preventDefault(),o(e.body),i(!1))}}):(0,G.jsx)(`p`,{className:`srp-item-body`,children:e.body})]})}function VH({lastRound:e}){let{data:t=[],isFetching:n,refetch:r}=nt({queryKey:[`review-history`],queryFn:async()=>{let e=await fetch(`/api/review/history`);return e.ok?(await e.json()).rounds??[]:[]},enabled:!1});return!e||e<1?null:(0,G.jsxs)(Qk,{side:`bottom`,align:`start`,ariaLabel:`Review history`,className:`review-history-popup`,onOpenChange:e=>{e&&r()},trigger:(0,G.jsxs)(`button`,{type:`button`,className:`toolbar-last-send toolbar-last-send-btn`,title:`Review history — past handoff rounds`,"aria-label":`Open review history`,children:[(0,G.jsx)(xO,{size:12,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`toolbar-last-send-dot`,"aria-hidden":`true`}),`Round `,e]}),children:[(0,G.jsxs)(`div`,{className:`review-history-header`,children:[(0,G.jsx)(xO,{size:14}),(0,G.jsx)(`strong`,{children:`Review history`}),n&&(0,G.jsx)(`span`,{className:`review-history-loading`,children:`Loading…`})]}),t.length===0?(0,G.jsx)(`p`,{className:`review-history-empty`,children:`No handoffs recorded yet (history is in-memory).`}):(0,G.jsx)(`ul`,{className:`review-history-list`,children:t.map(e=>(0,G.jsxs)(`li`,{className:`review-history-item`,children:[(0,G.jsxs)(`div`,{className:`review-history-item-top`,children:[(0,G.jsxs)(`span`,{className:`review-history-round`,children:[`Round `,e.round]}),e.decision&&(0,G.jsx)(`span`,{className:`review-history-decision`,"data-decision":e.decision,children:e.decision}),e.mode&&e.mode!==`standard`&&(0,G.jsx)(`span`,{className:`review-history-mode`,children:e.mode}),(0,G.jsx)(`span`,{className:`review-history-time`,title:new Date(e.sentAt).toLocaleString(),children:eE(e.sentAt)})]}),(0,G.jsxs)(`div`,{className:`review-history-item-meta`,children:[e.openCount,` open · `,e.filePaths.length,` file`,e.filePaths.length===1?``:`s`]}),e.filePaths.length>0&&(0,G.jsxs)(`div`,{className:`review-history-files`,children:[e.filePaths.slice(0,6).map(e=>(0,G.jsxs)(`span`,{className:`review-history-file`,title:e,children:[(0,G.jsx)(uO,{size:10}),e.split(`/`).pop()]},e)),e.filePaths.length>6&&(0,G.jsxs)(`span`,{className:`review-history-file-more`,children:[`+`,e.filePaths.length-6]})]})]},e.round))})]})}var HH=(0,W.memo)(function({size:e=22,className:t,decorative:n=!0}){return(0,G.jsx)(`img`,{className:t??`brand-mark`,src:`/favicon.svg`,alt:n?``:`diffing`,width:e,height:e,draggable:!1})});function UH(e){let t=W.useRef(!0);t.current&&(t.current=!1,e())}function WH({controlled:e,default:t,name:n,state:r=`value`}){let{current:i}=W.useRef(e!==void 0),[a,o]=W.useState(t);return[i?e:a,W.useCallback(e=>{i||o(e)},[])]}var GH=W.createContext(null),KH=W.createContext(null);function qH(){let e=W.useContext(GH);if(e===null)throw Error(j_(60));return e}function JH(){let e=W.useContext(KH);if(e===null)throw Error(j_(61));return e}var YH=function(e){return e.disabled=`data-disabled`,e.valid=`data-valid`,e.invalid=`data-invalid`,e.touched=`data-touched`,e.dirty=`data-dirty`,e.filled=`data-filled`,e.focused=`data-focused`,e}({}),XH={badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:null,valueMissing:!1},ZH={valid(e){return e===null?null:e?{[YH.valid]:``}:{[YH.invalid]:``}}},QH=W.createContext({invalid:void 0,name:void 0,validityData:{state:XH,errors:[],error:``,value:``,initialValue:null},setValidityData:zb,disabled:void 0,touched:!1,setTouched:zb,dirty:!1,setDirty:zb,filled:!1,setFilled:zb,focused:!1,setFocused:zb,validate:()=>null,validationMode:`onSubmit`,validationDebounceTime:0,shouldValidateOnChange:()=>!1,state:{disabled:!1,valid:null,touched:!1,dirty:!1,filled:!1,focused:!1},markedDirtyRef:{current:!1},validation:{getValidationProps:(e=Vb)=>e,getInputValidationProps:(e=Vb)=>e,inputRef:{current:null},commit:async()=>{}}});function $H(e=!0){let t=W.useContext(QH);if(t.setValidityData===zb&&!e)throw Error(j_(28));return t}var eU=W.createContext({controlId:void 0,setControlId:zb,labelId:void 0,setLabelId:zb,messageIds:[],setMessageIds:zb,getDescriptionProps:e=>e});function tU(){return W.useContext(eU)}function nU(e={}){let{id:t,implicit:n=!1,controlRef:r}=e,{controlId:i,setControlId:a}=tU(),o=bT(t);return Y(()=>{if(!(!n&&!t||a===zb)){if(n){let e=r?.current;K_(e)&&e.closest(`label`)!=null?a(t??null):a(i??o)}else t&&a(t);return()=>{t&&a(void 0)}}},[t,r,i,a,n,o]),i??o}var rU=(e,t)=>Object.is(e,t);function iU(e,t,n){return e==null||t==null?Object.is(e,t):n(e,t)}function aU(e,t,n){return!e||e.length===0?!1:e.some(e=>e===void 0?!1:iU(e,t,n))}function oU(e,t,n){return!e||e.length===0?-1:e.findIndex(e=>e===void 0?!1:iU(e,t,n))}function sU(e,t,n){return e.filter(e=>!iU(e,t,n))}function cU(e){if(e==null)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}function lU(e){return e!=null&&e.length>0&&typeof e[0]==`object`&&e[0]!=null&&`items`in e[0]}function uU(e,t){if(t&&e!=null)return t(e)??``;if(e&&typeof e==`object`){if(`label`in e&&e.label!=null)return String(e.label);if(`value`in e)return String(e.value)}return cU(e)}function dU(e,t){return t&&e!=null?t(e)??``:e&&typeof e==`object`&&`value`in e&&`label`in e?cU(e.value):cU(e)}function fU(e,t,n){if(n&&e!=null)return n(e);if(e&&typeof e==`object`&&`label`in e&&e.label!=null)return e.label;if(t&&!Array.isArray(t))return t[e]??uU(e,n);if(Array.isArray(t)){let r=lU(t)?t.flatMap(e=>e.items):t;if(e==null){let t=r.find(e=>e.value==null);return t&&t.label!=null?t.label:uU(e,n)}if(typeof e!=`object`){let t=r.find(t=>t&&t.value===e);return t&&t.label!=null?t.label:uU(e,n)}if(`value`in e){let t=r.find(t=>t&&t.value===e.value);if(t&&t.label!=null)return t.label}}return uU(e,n)}function pU(e,t){return!Array.isArray(e)||e.length===0?``:e.map(e=>uU(e,t)).join(`, `)}var mU={id:Z(e=>e.id),modal:Z(e=>e.modal),multiple:Z(e=>e.multiple),items:Z(e=>e.items),itemToStringLabel:Z(e=>e.itemToStringLabel),itemToStringValue:Z(e=>e.itemToStringValue),isItemEqualToValue:Z(e=>e.isItemEqualToValue),value:Z(e=>e.value),open:Z(e=>e.open),mounted:Z(e=>e.mounted),forceMount:Z(e=>e.forceMount),transitionStatus:Z(e=>e.transitionStatus),touchModality:Z(e=>e.touchModality),activeIndex:Z(e=>e.activeIndex),selectedIndex:Z(e=>e.selectedIndex),isActive:Z((e,t)=>e.activeIndex===t),isSelected:Z((e,t,n)=>{let r=e.isItemEqualToValue,i=e.value;return e.multiple?Array.isArray(i)&&i.some(e=>iU(e,n,r)):e.selectedIndex===t&&e.selectedIndex!==null?!0:iU(i,n,r)}),isSelectedByFocus:Z((e,t)=>e.selectedIndex===t),popupProps:Z(e=>e.popupProps),triggerProps:Z(e=>e.triggerProps),triggerElement:Z(e=>e.triggerElement),positionerElement:Z(e=>e.positionerElement),listElement:Z(e=>e.listElement),scrollUpArrowVisible:Z(e=>e.scrollUpArrowVisible),scrollDownArrowVisible:Z(e=>e.scrollDownArrowVisible),hasScrollArrows:Z(e=>e.hasScrollArrows),serializedValue:Z(e=>{let{multiple:t,value:n,itemToStringValue:r}=e;return t&&Array.isArray(n)&&n.length===0?``:dU(n,r)})},hU=W.createContext({formRef:{current:{fields:new Map}},errors:{},clearErrors:zb,validationMode:`onSubmit`,submitAttemptedRef:{current:!1}});function gU(){return W.useContext(hU)}function _U(e,t){return{...e,state:{...e.state,valid:!t&&e.state.valid}}}function vU(e){let{enabled:t=!0,value:n,id:r,name:i,controlRef:a,commit:o}=e,{formRef:s}=gU(),{invalid:c,markedDirtyRef:l,validityData:u,setValidityData:d}=$H(),f=X(e.getValue);Y(()=>{if(!t)return;let e=n;e===void 0&&(e=f()),u.initialValue===null&&e!==null&&d(t=>({...t,initialValue:e}))},[t,d,n,u.initialValue,f]),Y(()=>{!t||!r||s.current.fields.set(r,{getValue:f,name:i,controlRef:a,validityData:_U(u,c),validate(){let e=n;e===void 0&&(e=f()),l.current=!0,aS.flushSync(()=>o(e))}})},[o,a,t,s,f,r,c,l,i,u,n]),Y(()=>{let e=s.current.fields;return()=>{r&&e.delete(r)}},[s,r])}function yU(e,t){let n=W.useRef(e),r=X(t);Y(()=>{n.current!==e&&r(n.current)},[e,r]),Y(()=>{n.current=e},[e])}function bU(e){let{id:t,value:n,defaultValue:r=null,onValueChange:i,open:a,defaultOpen:o=!1,onOpenChange:s,name:c,disabled:l=!1,readOnly:u=!1,required:d=!1,modal:f=!0,actionsRef:p,inputRef:m,onOpenChangeComplete:h,items:g,multiple:_=!1,itemToStringLabel:v,itemToStringValue:y,isItemEqualToValue:b=rU,highlightItemOnHover:x=!0,children:S}=e,{clearErrors:C}=gU(),{setDirty:w,shouldValidateOnChange:T,validityData:E,setFilled:D,name:O,disabled:k,validation:A}=$H(),{controlId:j}=tU(),M=nU({id:t}),N=k||l,P=O??c,[F,I]=WH({controlled:n,default:_?r??Bb:r,name:`Select`,state:`value`}),[L,R]=WH({controlled:a,default:o,name:`Select`,state:`open`}),z=W.useRef([]),ee=W.useRef([]),te=W.useRef(null),ne=W.useRef(null),B=W.useRef(0),V=W.useRef(null),re=W.useRef([]),ie=W.useRef(!1),ae=W.useRef(!1),oe=W.useRef(null),se=W.useRef({allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1}),ce=W.useRef(!1),{mounted:H,setMounted:le,transitionStatus:ue}=pw(L),U=F_(()=>new lw({id:M,modal:f,multiple:_,itemToStringLabel:v,itemToStringValue:y,isItemEqualToValue:b,value:F,open:L,mounted:H,transitionStatus:ue,items:g,forceMount:!1,touchModality:!1,activeIndex:null,selectedIndex:null,popupProps:{},triggerProps:{},triggerElement:null,positionerElement:null,listElement:null,scrollUpArrowVisible:!1,scrollDownArrowVisible:!1,hasScrollArrows:!1})).current,de=ow(U,mU.activeIndex),fe=ow(U,mU.selectedIndex),pe=ow(U,mU.triggerElement),me=ow(U,mU.positionerElement),he=W.useMemo(()=>_&&Array.isArray(F)&&F.length===0?``:dU(F,y),[_,F,y]),ge=fv(U.state.triggerElement);vU({id:M,commit:A.commit,value:F,controlRef:ge,name:P,getValue:()=>F});let _e=W.useRef(F);Y(()=>{F!==_e.current&&U.set(`forceMount`,!0)},[U,F]),Y(()=>{D(F!==null)},[F,D]),Y(function(){if(L)return;let e=re.current;if(_){let t=Array.isArray(F)?F:[];if(t.length===0){U.set(`selectedIndex`,null);return}let n=t[t.length-1],r=oU(e,n,b);U.set(`selectedIndex`,r===-1?null:r);return}let t=oU(e,F,b);U.set(`selectedIndex`,t===-1?null:t)},[_,L,F,re,b,U]),yU(F,()=>{C(P),w(F!==E.initialValue),T()?A.commit(F):A.commit(F,!0)});let ve=X((e,t)=>{if(s?.(e,t),!t.isCanceled&&(R(e),!e&&U.state.activeIndex!==null)){let e=z.current[U.state.activeIndex];queueMicrotask(()=>{e?.setAttribute(`tabindex`,`-1`)})}}),ye=X(()=>{le(!1),U.set(`activeIndex`,null),h?.(!1)});hw({enabled:!p,open:L,ref:te,onComplete(){L||ye()}}),W.useImperativeHandle(p,()=>({unmount:ye}),[ye]);let be=X((e,t)=>{i?.(e,t),!t.isCanceled&&I(e)}),xe=X(()=>{let e=U.state.listElement||te.current;if(!e)return;let t=e.scrollTop,n=e.scrollTop+e.clientHeight,r=t>1,i=n<e.scrollHeight-1;U.state.scrollUpArrowVisible!==r&&U.set(`scrollUpArrowVisible`,r),U.state.scrollDownArrowVisible!==i&&U.set(`scrollDownArrowVisible`,i)}),Se=ww({open:L,onOpenChange:ve,elements:{reference:pe,floating:me}}),{getReferenceProps:Ce,getFloatingProps:we,getItemProps:Te}=zw([SS(Se,{enabled:!u&&!N,event:`mousedown`}),LC(Se,{bubbles:!1}),Jw(Se,{enabled:!u&&!N,listRef:z,activeIndex:de,selectedIndex:fe,disabledIndices:Bb,onNavigate(e){e===null&&!L||U.set(`activeIndex`,e)},focusItemOnHover:!1}),Zw(Se,{enabled:!u&&!N&&(L||!_),listRef:ee,activeIndex:de,selectedIndex:fe,onMatch(e){L?U.set(`activeIndex`,e):be(re.current[e],ox(`none`))},onTypingChange(e){ie.current=e}})]);UH(()=>{U.update({popupProps:we(),triggerProps:Ce()})}),Y(()=>{U.update({id:M,modal:f,multiple:_,value:F,open:L,mounted:H,transitionStatus:ue,popupProps:we(),triggerProps:Ce(),items:g,itemToStringLabel:v,itemToStringValue:y,isItemEqualToValue:b})},[U,M,f,_,F,L,H,ue,we,Ce,g,v,y,b]);let Ee=W.useMemo(()=>({store:U,name:P,required:d,disabled:N,readOnly:u,multiple:_,itemToStringLabel:v,itemToStringValue:y,highlightItemOnHover:x,setValue:be,setOpen:ve,listRef:z,popupRef:te,scrollHandlerRef:ne,handleScrollArrowVisibility:xe,scrollArrowsMountedCountRef:B,getItemProps:Te,events:Se.context.events,valueRef:V,valuesRef:re,labelsRef:ee,typingRef:ie,selectionRef:se,selectedItemTextRef:oe,validation:A,onOpenChangeComplete:h,keyboardActiveRef:ae,alignItemWithTriggerActiveRef:ce,initialValueRef:_e}),[U,P,d,N,u,_,v,y,x,be,ve,Te,Se.context.events,A,h,xe]),De=fx(m,A.inputRef),Oe=_&&Array.isArray(F)&&F.length>0,ke=W.useMemo(()=>!_||!Array.isArray(F)||!P?null:F.map(e=>{let t=dU(e,y);return(0,G.jsx)(`input`,{type:`hidden`,name:P,value:t},t)}),[_,F,P,y]);return(0,G.jsx)(GH.Provider,{value:Ee,children:(0,G.jsxs)(KH.Provider,{value:Se,children:[S,(0,G.jsx)(`input`,{...A.getInputValidationProps({onFocus(){U.state.triggerElement?.focus()},onChange(e){if(e.nativeEvent.defaultPrevented)return;let t=e.target.value,n=ox(qb,e.nativeEvent);function r(){if(_)return;let e=re.current.find(e=>dU(e,y).toLowerCase()===t.toLowerCase());e!=null&&(w(e!==E.initialValue),be(e,n),T()&&A.commit(e))}U.set(`forceMount`,!0),queueMicrotask(r)}}),id:t||j||void 0,name:_?void 0:P,value:he,disabled:N,required:d&&!Oe,readOnly:u,ref:De,style:vx,tabIndex:-1,"aria-hidden":!0}),ke]})})}function xU(e){let t=e.getBoundingClientRect(),n=window.getComputedStyle(e,`::before`),r=window.getComputedStyle(e,`::after`);if(!(n.content!==`none`||r.content!==`none`))return t;let i=parseFloat(n.width)||0,a=parseFloat(n.height)||0,o=parseFloat(r.width)||0,s=parseFloat(r.height)||0,c=Math.max(t.width,i,o),l=Math.max(t.height,a,s),u=c-t.width,d=l-t.height;return{left:t.left-u/2,right:t.right+u/2,top:t.top-d/2,bottom:t.bottom+d/2}}var SU=2,CU={...vT,...ZH,value:()=>null},wU=W.forwardRef(function(e,t){let{render:n,className:r,disabled:i=!1,nativeButton:a=!0,...o}=e,{setTouched:s,setFocused:c,validationMode:l,state:u,disabled:d}=$H(),{labelId:f}=tU(),{store:p,setOpen:m,selectionRef:h,validation:g,readOnly:_,alignItemWithTriggerActiveRef:v,disabled:y,keyboardActiveRef:b}=qH(),x=d||y||i,S=ow(p,mU.open),C=ow(p,mU.value),w=ow(p,mU.triggerProps),T=ow(p,mU.positionerElement),E=ow(p,mU.listElement),D=ow(p,mU.serializedValue),O=fv(T),k=W.useRef(null),A=B_(),j=B_(),{getButtonProps:M,buttonRef:N}=kk({disabled:x,native:a}),P=fx(t,k,N,X(e=>{p.set(`triggerElement`,e)})),F=B_(),I=B_();W.useEffect(()=>{if(S)return I.start(200,()=>{h.current.allowUnselectedMouseUp=!0,F.start(200,()=>{h.current.allowSelectedMouseUp=!0})}),()=>{F.clear(),I.clear()};h.current={allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1},j.clear()},[S,h,j,F,I]);let L=W.useMemo(()=>E?.id??Kv(T)?.id,[E,T]),R=Wx(w,{role:`combobox`,"aria-expanded":S?`true`:`false`,"aria-haspopup":`listbox`,"aria-controls":S?L:void 0,"aria-labelledby":f,"aria-readonly":_||void 0,tabIndex:x?-1:0,ref:P,onFocus(e){c(!0),S&&v.current&&m(!1,ox($b,e.nativeEvent)),A.start(0,()=>{p.set(`forceMount`,!0)})},onBlur(){s(!0),c(!1),l===`onBlur`&&g.commit(C)},onPointerMove({pointerType:e}){b.current=!1,p.set(`touchModality`,e===`touch`)},onPointerDown({pointerType:e}){p.set(`touchModality`,e===`touch`)},onKeyDown(){b.current=!0},onMouseDown(e){if(S)return;let t=Cx(e.currentTarget);function n(e){if(!k.current)return;let t=e.target;if(Rv(k.current,t)||Rv(O.current,t)||t===k.current)return;let n=xU(k.current);e.clientX>=n.left-SU&&e.clientX<=n.right+SU&&e.clientY>=n.top-SU&&e.clientY<=n.bottom+SU||m(!1,ox(nx,e))}j.start(0,()=>{t.addEventListener(`mouseup`,n,{once:!0})})}},g.getValidationProps,o,M);R.role=`combobox`;let z=W.useMemo(()=>({...u,open:S,disabled:x,value:C,readOnly:_,placeholder:!D}),[u,S,x,C,_,D]);return tS(`button`,e,{ref:[t,k],state:z,stateAttributesMapping:CU,props:R})}),TU={value:()=>null},EU=W.forwardRef(function(e,t){let{className:n,render:r,children:i,...a}=e,{store:o,valueRef:s}=qH(),c=ow(o,mU.value),l=ow(o,mU.items),u=ow(o,mU.itemToStringLabel),d=ow(o,mU.serializedValue),f=W.useMemo(()=>({value:c,placeholder:!d}),[c,d]),p=typeof i==`function`?i(c):i??(Array.isArray(c)?pU(c,u):fU(c,l,u));return tS(`span`,e,{state:f,ref:[t,s],props:[{children:p},a],stateAttributesMapping:TU})}),DU=W.forwardRef(function(e,t){let{className:n,render:r,...i}=e,{store:a}=qH(),o=ow(a,mU.open);return tS(`span`,e,{state:W.useMemo(()=>({open:o}),[o]),ref:t,props:[{"aria-hidden":!0,children:`▼`},i],stateAttributesMapping:_T})}),OU=W.createContext(void 0),kU=W.forwardRef(function(e,t){let{store:n}=qH(),r=ow(n,mU.mounted),i=ow(n,mU.forceMount);return r||i?(0,G.jsx)(OU.Provider,{value:!0,children:(0,G.jsx)(uS,{ref:t,...e})}):null}),AU=W.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},elementsRef:{current:[]},nextIndexRef:{current:0}});function jU(){return W.useContext(AU)}function MU(e){let{children:t,elementsRef:n,labelsRef:r,onMapChange:i}=e,a=X(i),o=W.useRef(0),s=F_(PU).current,c=F_(NU).current,[l,u]=W.useState(0),d=W.useRef(l),f=X((e,t)=>{c.set(e,t??null),d.current+=1,u(d.current)}),p=X(e=>{c.delete(e),d.current+=1,u(d.current)}),m=W.useMemo(()=>{let e=new Map;return Array.from(c.keys()).filter(e=>e.isConnected).sort(FU).forEach((t,n)=>{let r=c.get(t)??{};e.set(t,{...r,index:n})}),e},[c,l]);Y(()=>{if(typeof MutationObserver!=`function`||m.size===0)return;let e=new MutationObserver(e=>{let t=new Set,n=e=>t.has(e)?t.delete(e):t.add(e);e.forEach(e=>{e.removedNodes.forEach(n),e.addedNodes.forEach(n)}),t.size===0&&(d.current+=1,u(d.current))});return m.forEach((t,n)=>{n.parentElement&&e.observe(n.parentElement,{childList:!0})}),()=>{e.disconnect()}},[m]),Y(()=>{d.current===l&&(n.current.length!==m.size&&(n.current.length=m.size),r&&r.current.length!==m.size&&(r.current.length=m.size),o.current=m.size),a(m)},[a,m,n,r,l]),Y(()=>()=>{n.current=[]},[n]),Y(()=>()=>{r&&(r.current=[])},[r]);let h=X(e=>(s.add(e),()=>{s.delete(e)}));Y(()=>{s.forEach(e=>e(m))},[s,m]);let g=W.useMemo(()=>({register:f,unregister:p,subscribeMapChange:h,elementsRef:n,labelsRef:r,nextIndexRef:o}),[f,p,h,n,r,o]);return(0,G.jsx)(AU.Provider,{value:g,children:t})}function NU(){return new Map}function PU(){return new Set}function FU(e,t){let n=e.compareDocumentPosition(t);return n&Node.DOCUMENT_POSITION_FOLLOWING||n&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:n&Node.DOCUMENT_POSITION_PRECEDING||n&Node.DOCUMENT_POSITION_CONTAINS?1:0}var IU=W.createContext(void 0);function LU(){let e=W.useContext(IU);if(!e)throw Error(j_(59));return e}function RU(e,t){e&&Object.assign(e.style,t)}var zU={position:`relative`,maxHeight:`100%`,overflowX:`hidden`,overflowY:`auto`},BU={position:`fixed`},VU=W.forwardRef(function(e,t){let{anchor:n,positionMethod:r=`absolute`,className:i,render:a,side:o=`bottom`,align:s=`center`,sideOffset:c=0,alignOffset:l=0,collisionBoundary:u=`clipping-ancestors`,collisionPadding:d,arrowPadding:f=5,sticky:p=!1,disableAnchorTracking:m,alignItemWithTrigger:h=!0,collisionAvoidance:g=Wb,..._}=e,{store:v,listRef:y,labelsRef:b,alignItemWithTriggerActiveRef:x,selectedItemTextRef:S,valuesRef:C,initialValueRef:w,popupRef:T,setValue:E}=qH(),D=JH(),O=ow(v,mU.open),k=ow(v,mU.mounted),A=ow(v,mU.modal),j=ow(v,mU.value),M=ow(v,mU.touchModality),N=ow(v,mU.positionerElement),P=ow(v,mU.triggerElement),F=ow(v,mU.isItemEqualToValue),I=W.useRef(null),L=W.useRef(null),[R,z]=W.useState(h),ee=k&&R&&!M;!k&&R!==h&&z(h),Y(()=>{k||(mU.scrollUpArrowVisible(v.state)&&v.set(`scrollUpArrowVisible`,!1),mU.scrollDownArrowVisible(v.state)&&v.set(`scrollDownArrowVisible`,!1))},[v,k]),W.useImperativeHandle(x,()=>ee),gk((ee||A)&&O&&!M,P);let te=zT({anchor:n,floatingRootContext:D,positionMethod:r,mounted:k,side:o,sideOffset:c,align:s,alignOffset:l,arrowPadding:f,collisionBoundary:u,collisionPadding:d,sticky:p,disableAnchorTracking:m??ee,collisionAvoidance:g,keepMounted:!0}),ne=ee?`none`:te.side,B=ee?BU:te.positionerStyles,V=W.useMemo(()=>{let e={};return O||(e.pointerEvents=`none`),{role:`presentation`,hidden:!k,style:{...B,...e}}},[O,k,B]),re=W.useMemo(()=>({open:O,side:ne,align:te.align,anchorHidden:te.anchorHidden}),[O,ne,te.align,te.anchorHidden]),ie=tS(`div`,e,{ref:[t,X(e=>{v.set(`positionerElement`,e)})],state:re,stateAttributesMapping:yT,props:[V,_]}),ae=W.useRef(0),oe=X(e=>{if(e.size===0&&ae.current===0||C.current.length===0)return;let t=ae.current;if(ae.current=e.size,e.size===t)return;let n=ox(qb);if(t!==0&&!v.state.multiple&&j!==null&&oU(C.current,j,F)===-1){let e=w.current,t=e!=null&&aU(C.current,e,F)?e:null;E(t,n),t===null&&(v.set(`selectedIndex`,null),S.current=null)}if(t!==0&&v.state.multiple&&Array.isArray(j)){let e=j.filter(e=>aU(C.current,e,F));(e.length!==j.length||e.some(e=>!aU(j,e,F)))&&(E(e,n),e.length===0&&(v.set(`selectedIndex`,null),S.current=null))}if(O&&ee){v.update({scrollUpArrowVisible:!1,scrollDownArrowVisible:!1});let e={height:``};RU(N,e),RU(T.current,e)}}),se=W.useMemo(()=>({...te,side:ne,alignItemWithTriggerActive:ee,setControlledAlignItemWithTrigger:z,scrollUpArrowRef:I,scrollDownArrowRef:L}),[te,ne,ee,z]);return(0,G.jsx)(MU,{elementsRef:y,labelsRef:b,onMapChange:oe,children:(0,G.jsxs)(IU.Provider,{value:se,children:[k&&A&&(0,G.jsx)(Lk,{inert:ZT(!O),cutout:P}),ie]})})});function HU(e){let t=e.currentTarget.getBoundingClientRect();return t.top+1<=e.clientY&&e.clientY<=t.bottom-1&&t.left+1<=e.clientX&&e.clientX<=t.right-1}var UU=`base-ui-disable-scrollbar`,WU={className:UU,element:(0,G.jsx)(`style`,{href:UU,precedence:`base-ui:low`,children:`.${UU}{scrollbar-width:none}.${UU}::-webkit-scrollbar{display:none}`})},GU={...yT,...lT},KU=W.forwardRef(function(e,t){let{render:n,className:r,...i}=e,{store:a,popupRef:o,onOpenChangeComplete:s,setOpen:c,valueRef:l,selectedItemTextRef:u,keyboardActiveRef:d,multiple:f,handleScrollArrowVisibility:p,scrollHandlerRef:m}=qH(),{side:h,align:g,alignItemWithTriggerActive:_,setControlledAlignItemWithTrigger:v,scrollDownArrowRef:y,scrollUpArrowRef:b}=LU(),x=Yk(!0)!=null,S=JH(),C=B_(),w=ow(a,mU.id),T=ow(a,mU.open),E=ow(a,mU.mounted),D=ow(a,mU.popupProps),O=ow(a,mU.transitionStatus),k=ow(a,mU.triggerElement),A=ow(a,mU.positionerElement),j=ow(a,mU.listElement),M=W.useRef(0),N=W.useRef(!1),P=W.useRef(0),F=W.useRef(!1),I=W.useRef({}),L=Sx(),R=X(e=>{if(!A||!o.current||!F.current)return;if(N.current||!_){p();return}let t=A.style.top===`0px`,n=A.style.bottom===`0px`,r=A.getBoundingClientRect().height,i=Cx(A),a=getComputedStyle(A),s=parseFloat(a.marginTop),c=parseFloat(a.marginBottom),l=i.documentElement.clientHeight-s-c,u=e.scrollTop,d=e.scrollHeight-e.clientHeight,f=null,m=null,h=!1;if(t){let e=r+(d-u),t=Math.min(e,l);f=t,t===l?h=!0:m=d}else if(n){let e=u-0,t=r+e,n=Math.min(t,l),i=t-l;f=n,n===l?(h=!0,u<d&&(m=u-(e-i))):m=0}f!=null&&(A.style.height=`${f}px`),m!=null&&(e.scrollTop=m),h&&(N.current=!0),p()});W.useImperativeHandle(m,()=>R,[R]),hw({open:T,ref:o,onComplete(){T&&s?.(!0)}});let z=W.useMemo(()=>({open:T,transitionStatus:O,side:h,align:g}),[T,O,h,g]);Y(()=>{!A||!o.current||Object.keys(I.current).length||(I.current={top:A.style.top||`0`,left:A.style.left||`0`,right:A.style.right,height:A.style.height,bottom:A.style.bottom,minHeight:A.style.minHeight,maxHeight:A.style.maxHeight,marginTop:A.style.marginTop,marginBottom:A.style.marginBottom})},[o,A]),Y(()=>{E||_||(F.current=!1,N.current=!1,M.current=0,P.current=0,RU(A,I.current))},[E,_,A,o]),Y(()=>{let e=o.current;if(!(!E||!k||!A||!e)){if(!_){F.current=!0,L.request(p);return}queueMicrotask(()=>{let t=getComputedStyle(A),n=getComputedStyle(e),r=Cx(k),i=U_(A),a=k.getBoundingClientRect(),o=A.getBoundingClientRect(),s=a.left,c=a.height,d=j||e,f=d.scrollHeight,m=parseFloat(n.borderBottomWidth),h=parseFloat(t.marginTop)||10,g=parseFloat(t.marginBottom)||10,_=parseFloat(t.minHeight)||100,y=r.documentElement.clientHeight-h-g,b=r.documentElement.clientWidth,x=y-a.bottom+c,S=u.current,C=l.current,w=0,T=0;if(S&&C){let e=C.getBoundingClientRect(),t=S.getBoundingClientRect(),n=e.left-s,r=t.left-o.left,i=e.top-a.top+e.height/2,c=t.top-o.top+t.height/2;w=n-r,T=c-i}let E=x+T+g+m,D=Math.min(y,E),O=y-h-g,P=E-D,L=Math.max(5,s+w),R=b-5,z=Math.max(0,L+o.width-R);A.style.left=`${L-z}px`,A.style.height=`${D}px`,A.style.maxHeight=`auto`,A.style.marginTop=`${h}px`,A.style.marginBottom=`${g}px`,e.style.height=`100%`;let ee=d.scrollHeight-d.clientHeight,te=P>=ee;te&&(D=Math.min(y,o.height)-(P-ee));let ne=a.top<20||a.bottom>y-20||D<Math.min(f,_),B=(i.visualViewport?.scale??1)!==1&&Sv;if(ne||B){F.current=!0,RU(A,I.current),aS.flushSync(()=>v(!1));return}if(te){let e=Math.max(0,y-E);A.style.top=o.height>=O?`0`:`${e}px`,A.style.height=`${D}px`,d.scrollTop=d.scrollHeight-d.clientHeight,M.current=Math.max(_,D)}else A.style.bottom=`0`,M.current=Math.max(_,D),d.scrollTop=P;M.current===y&&(N.current=!0),p(),setTimeout(()=>{F.current=!0})})}},[a,E,A,k,l,u,o,p,_,v,L,y,b,j]),W.useEffect(()=>{if(!_||!A||!E)return;let e=U_(A);function t(e){c(!1,ox(ax,e))}return e.addEventListener(`resize`,t),()=>{e.removeEventListener(`resize`,t)}},[c,_,A,E]);let ee={...j?{role:`presentation`,"aria-orientation":void 0}:{role:`listbox`,"aria-multiselectable":f||void 0,id:`${w}-list`},onKeyDown(e){d.current=!0,x&&qk.has(e.key)&&e.stopPropagation()},onMouseMove(){d.current=!1},onPointerLeave(e){if(HU(e)||e.pointerType===`touch`)return;let t=e.currentTarget;C.start(0,()=>{a.set(`activeIndex`,null),t.focus({preventScroll:!0})})},onScroll(e){j||m.current?.(e.currentTarget)},..._&&{style:j?{height:`100%`}:zU}},te=tS(`div`,e,{ref:[t,o],state:z,stateAttributesMapping:GU,props:[D,ee,VT(O),{className:!j&&_?WU.className:void 0},i]});return(0,G.jsxs)(W.Fragment,{children:[WU.element,(0,G.jsx)(xS,{context:S,modal:!1,disabled:!E,restoreFocus:!0,children:te})]})}),qU=function(e){return e[e.None=0]=`None`,e[e.GuessFromOrder=1]=`GuessFromOrder`,e}({});function JU(e={}){let{label:t,metadata:n,textRef:r,indexGuessBehavior:i,index:a}=e,{register:o,unregister:s,subscribeMapChange:c,elementsRef:l,labelsRef:u,nextIndexRef:d}=jU(),f=W.useRef(-1),[p,m]=W.useState(a??(i===qU.GuessFromOrder?()=>{if(f.current===-1){let e=d.current;d.current+=1,f.current=e}return f.current}:-1)),h=W.useRef(null),g=W.useCallback(e=>{if(h.current=e,p!==-1&&e!==null&&(l.current[p]=e,u)){let n=t!==void 0;u.current[p]=n?t:r?.current?.textContent??e.textContent}},[p,l,u,t,r]);return Y(()=>{if(a!=null)return;let e=h.current;if(e)return o(e,n),()=>{s(e)}},[a,o,s,n]),Y(()=>{if(a==null)return c(e=>{let t=h.current?e.get(h.current)?.index:null;t!=null&&m(t)})},[a,c,m]),W.useMemo(()=>({ref:g,index:p}),[p,g])}var YU=W.createContext(void 0);function XU(){let e=W.useContext(YU);if(!e)throw Error(j_(57));return e}var ZU=W.memo(W.forwardRef(function(e,t){let{render:n,className:r,value:i=null,label:a,disabled:o=!1,nativeButton:s=!1,...c}=e,l=W.useRef(null),u=JU({label:a,textRef:l,indexGuessBehavior:qU.GuessFromOrder}),{store:d,getItemProps:f,setOpen:p,setValue:m,selectionRef:h,typingRef:g,valuesRef:_,keyboardActiveRef:v,multiple:y,highlightItemOnHover:b}=qH(),x=B_(),S=ow(d,mU.isActive,u.index),C=ow(d,mU.isSelected,u.index,i),w=ow(d,mU.isSelectedByFocus,u.index),T=ow(d,mU.isItemEqualToValue),E=u.index,D=E!==-1,O=W.useRef(null),k=fv(E);Y(()=>{if(!D)return;let e=_.current;return e[E]=i,()=>{delete e[E]}},[D,E,i,_]),Y(()=>{if(!D)return;let e=d.state.value,t=e;y&&Array.isArray(e)&&e.length>0&&(t=e[e.length-1]),t!==void 0&&iU(t,i,T)&&d.set(`selectedIndex`,E)},[D,E,y,T,d,i]);let A=W.useMemo(()=>({disabled:o,selected:C,highlighted:S}),[o,C,S]),j=f({active:S,selected:C});j.onFocus=void 0,j.id=void 0;let M=W.useRef(null),N=W.useRef(`mouse`),P=W.useRef(!1),{getButtonProps:F,buttonRef:I}=kk({disabled:o,focusableWhenDisabled:!0,native:s});function L(e){let t=d.state.value;if(y){let n=Array.isArray(t)?t:[];m(C?sU(n,i,T):[...n,i],ox(Qb,e))}else m(i,ox(Qb,e)),p(!1,ox(Qb,e))}let R={role:`option`,"aria-selected":C,"aria-disabled":o||void 0,tabIndex:S?0:-1,onFocus(){d.set(`activeIndex`,E)},onMouseEnter(){!v.current&&d.state.selectedIndex===null&&d.set(`activeIndex`,E)},onMouseMove(){b&&d.set(`activeIndex`,E)},onMouseLeave(e){!b||v.current||HU(e)||x.start(0,()=>{d.state.activeIndex===E&&d.set(`activeIndex`,null)})},onTouchStart(){h.current={allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1}},onKeyDown(e){M.current=e.key,d.set(`activeIndex`,E)},onClick(e){P.current=!1,!(e.type===`keydown`&&M.current===null)&&(o||M.current===` `&&g.current||N.current!==`touch`&&!S||(M.current=null,L(e.nativeEvent)))},onPointerEnter(e){N.current=e.pointerType},onPointerDown(e){N.current=e.pointerType,P.current=!0},onMouseUp(e){if(o)return;if(P.current){P.current=!1;return}let t=!h.current.allowSelectedMouseUp&&C,n=!h.current.allowUnselectedMouseUp&&!C;t||n||N.current!==`touch`&&!S||L(e.nativeEvent)}},z=tS(`div`,e,{ref:[I,t,u.ref,O],state:A,props:[j,R,c,F]}),ee=W.useMemo(()=>({selected:C,indexRef:k,textRef:l,selectedByFocus:w,hasRegistered:D}),[C,k,l,w,D]);return(0,G.jsx)(YU.Provider,{value:ee,children:z})})),QU=W.forwardRef(function(e,t){let n=e.keepMounted??!1,{selected:r}=XU();return n||r?(0,G.jsx)($U,{...e,ref:t}):null}),$U=W.memo(W.forwardRef((e,t)=>{let{render:n,className:r,keepMounted:i,...a}=e,{selected:o}=XU(),s=W.useRef(null),{transitionStatus:c,setMounted:l}=pw(o),u=W.useMemo(()=>({selected:o,transitionStatus:c}),[o,c]),d=tS(`span`,e,{ref:[t,s],state:u,props:[{"aria-hidden":!0,children:`✔️`},a],stateAttributesMapping:lT});return hw({open:o,ref:s,onComplete(){o||l(!1)}}),d})),eW=W.memo(W.forwardRef(function(e,t){let{indexRef:n,textRef:r,selectedByFocus:i,hasRegistered:a}=XU(),{selectedItemTextRef:o}=qH(),{className:s,render:c,...l}=e;return tS(`div`,e,{ref:[W.useCallback(e=>{if(!e||!a)return;let t=o.current===null||!o.current.isConnected;(i||t&&n.current===0)&&(o.current=e)},[o,n,i,a]),t,r],props:l})}));function tW({value:e,onValueChange:t,options:n,ariaLabel:r,className:i}){return(0,G.jsxs)(bU,{value:e,onValueChange:e=>t(e),modal:!1,children:[(0,G.jsxs)(wU,{className:`ui-select-trigger ${i??``}`,"aria-label":r,children:[(0,G.jsx)(EU,{children:e=>n.find(t=>t.value===e)?.label??e}),(0,G.jsx)(DU,{className:`ui-select-icon`,children:(0,G.jsx)(qD,{size:12})})]}),(0,G.jsx)(kU,{children:(0,G.jsx)(VU,{className:`ui-select-positioner`,sideOffset:4,align:`end`,side:`bottom`,alignItemWithTrigger:!1,children:(0,G.jsx)(KU,{className:`ui-select-popup`,children:n.map(e=>(0,G.jsxs)(ZU,{value:e.value,className:`ui-select-item`,children:[(0,G.jsx)(eW,{children:e.label}),(0,G.jsx)(QU,{className:`ui-select-indicator`,children:(0,G.jsx)(UD,{size:13})})]},e.value))})})})]})}var nW=[{value:`word`,label:`Word`},{value:`word-alt`,label:`Word (alt)`},{value:`char`,label:`Character`},{value:`none`,label:`None`}],rW=[{value:`classic`,label:`Classic (+/−)`},{value:`bars`,label:`Bars`},{value:`none`,label:`None`}],iW=[{value:`line-info`,label:`Line info + context`},{value:`line-info-basic`,label:`Line info`},{value:`metadata`,label:`Metadata only`},{value:`simple`,label:`Simple`}],aW=[{value:`both`,label:`Both`},{value:`line`,label:`Line only`},{value:`number`,label:`Number only`},{value:`disabled`,label:`Disabled`}],oW=[11,12,13,14,15,16].map(e=>({value:String(e),label:`${e}px`})),sW=[2,4,8].map(e=>({value:String(e),label:String(e)})),cW=[{value:`comfortable`,label:`Comfortable`},{value:`compact`,label:`Compact`}],lW=[{value:`0`,label:`Disabled`},{value:`100`,label:`100 lines`},{value:`200`,label:`200 lines`},{value:`400`,label:`400 lines`},{value:`800`,label:`800 lines`}],uW=[{value:``,label:`Default`},{value:`chrome`,label:`Chrome`},{value:`firefox`,label:`Firefox`},{value:`edge`,label:`Edge`},{value:`brave`,label:`Brave`}],dW=[{value:`default`,label:`Default / System`},{value:`vscode`,label:`VS Code`},{value:`zed`,label:`Zed`},{value:`vim`,label:`Vim`},{value:`neovim`,label:`Neovim`}];function fW({diffStyle:e,diffOptions:t,defaultTabSize:n,browser:r,editorIDE:i,lineDiffType:a,lineWrap:o,diffIndicators:s,showLineNumbers:c,hunkSeparators:l,lineHoverHighlight:u,fontSize:d,haptics:f,sounds:p,uiFont:m,monoFont:h,density:g,autoCollapseLineThreshold:_,requireViewAllBeforeSend:v=!1,showStatusBar:y,ignoreSpaceChange:b=!1,ignoreAllSpace:x=!1,onDiffStyleChange:S,onDiffOptionsChange:C,onDefaultTabSizeChange:w,onBrowserChange:T,onOpenThemeModal:E,onEditorIDEChange:D,onLineDiffTypeChange:O,onLineWrapChange:k,onDiffIndicatorsChange:A,onShowLineNumbersChange:j,onHunkSeparatorsChange:M,onLineHoverHighlightChange:N,onFontSizeChange:P,onHapticsChange:F,onSoundsChange:I,onDensityChange:L,onAutoCollapseLineThresholdChange:R,onRequireViewAllBeforeSendChange:z,onShowStatusBarChange:ee,onIgnoreSpaceChange:te,onIgnoreAllSpaceChange:ne,onOpenUiFontModal:B,onOpenMonoFontModal:V,showSource:re=!0,showWhitespace:ie=!0,showExternalTools:ae=!0,showSendPolicy:oe=!0}){let[se,ce]=(0,W.useState)(!1);return(0,W.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&(e.key===`,`||e.code===`Comma`)&&(e.preventDefault(),ce(e=>!e))};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[]),(0,G.jsx)(Qk,{open:se,onOpenChange:ce,ariaLabel:`Settings`,className:`settings-popover`,trigger:(0,G.jsxs)(`button`,{className:`btn btn-sm settings-btn ${se?`btn-active`:``}`,title:`Settings (⌘,)`,"aria-label":`Settings`,children:[(0,G.jsx)(QO,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:`Settings`})]}),children:(0,G.jsxs)(`div`,{className:`popover-scroll settings-panel`,children:[re&&t&&C&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Source`}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:t.staged,onChange:e=>C({...t,staged:e.target.checked})}),`Show staged`]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:t.untracked,onChange:e=>C({...t,untracked:e.target.checked})}),`Show untracked`]})]}),(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Display`}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Inline diff`}),(0,G.jsx)(tW,{value:a,onValueChange:e=>O(e),options:nW,ariaLabel:`Inline diff style`})]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:o,onChange:e=>k(e.target.checked)}),`Wrap long lines`]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Diff indicators`}),(0,G.jsx)(tW,{value:s,onValueChange:e=>A(e),options:rW,ariaLabel:`Diff indicators`})]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:c,onChange:e=>j(e.target.checked)}),`Show line numbers`]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Hunk separator`}),(0,G.jsx)(tW,{value:l,onValueChange:e=>M(e),options:iW,ariaLabel:`Hunk separator style`})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Hover highlight`}),(0,G.jsx)(tW,{value:u,onValueChange:e=>N(e),options:aW,ariaLabel:`Hover highlight`})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Font size`}),(0,G.jsx)(tW,{value:String(d),onValueChange:e=>P(Number(e)),options:oW,ariaLabel:`Font size`})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Default tab size`}),(0,G.jsx)(tW,{value:String(n),onValueChange:e=>w(Number(e)),options:sW,ariaLabel:`Default tab size`})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`UI font`}),(0,G.jsxs)(`button`,{className:`btn btn-sm settings-btn`,onClick:()=>{ce(!1),B()},title:m??`Default (Geist Mono)`,children:[(0,G.jsx)(ak,{size:13}),(0,G.jsx)(`span`,{className:`settings-value-label`,children:m??`Default…`})]})]}),(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Comfort`}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Density`}),(0,G.jsx)(tW,{value:g,onValueChange:e=>L(e),options:cW,ariaLabel:`UI density`})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Auto-collapse huge files`}),(0,G.jsx)(tW,{value:String(_),onValueChange:e=>R(Number(e)),options:lW,ariaLabel:`Auto-collapse line threshold`})]}),oe&&z&&(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:v,onChange:e=>z(e.target.checked)}),(0,G.jsxs)(`span`,{className:`settings-icon-label`,children:[(0,G.jsx)(ek,{size:12}),` Warn before sending if files are unviewed`]})]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:y,onChange:e=>ee(e.target.checked)}),(0,G.jsxs)(`span`,{className:`settings-icon-label`,children:[(0,G.jsx)(wO,{size:12}),` Show status bar`]})]}),ie&&te&&ne&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Whitespace`}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:b,onChange:e=>te(e.target.checked)}),`Ignore space-change (-b)`]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:x,onChange:e=>ne(e.target.checked)}),`Ignore all space (-w)`]})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Code font`}),(0,G.jsxs)(`button`,{className:`btn btn-sm settings-btn`,onClick:()=>{ce(!1),V()},title:h??`Default (JetBrains Mono)`,children:[(0,G.jsx)(ak,{size:13}),(0,G.jsx)(`span`,{className:`settings-value-label`,children:h??`Default…`})]})]}),ae&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`settings-section-label`,children:`External tools`}),T&&(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Browser`}),(0,G.jsx)(tW,{value:r||``,onValueChange:T,options:uW,ariaLabel:`Browser`})]}),D&&(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Preferred IDE`}),(0,G.jsx)(tW,{value:i||`default`,onValueChange:D,options:dW,ariaLabel:`Preferred IDE`})]})]}),(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Appearance`}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Diff style`}),(0,G.jsx)(tW,{value:e,onValueChange:e=>S(e),options:[{value:`split`,label:`Split`},{value:`unified`,label:`Unified`}],ariaLabel:`Diff style`})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Theme`}),(0,G.jsxs)(`button`,{className:`btn btn-sm settings-btn`,onClick:()=>{ce(!1),E()},children:[(0,G.jsx)(VO,{size:14}),` Switch Theme…`]})]}),(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Feedback`}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:f,onChange:e=>F(e.target.checked)}),`Haptic feedback`]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:p,onChange:e=>I(e.target.checked)}),`Sound effects`]})]})})}var pW=(0,W.memo)(function({repoName:e,branch:t,fileCount:n,totalFileCount:r,additions:i,deletions:a,commentCount:o,planCount:s,pendingPlanCount:c,lastSend:l,onOpenPlans:u,diffStyle:d,diffOptions:f,defaultTabSize:p,browser:m,theme:h,editorIDE:g,customMode:_,showMode:v,showCommitCount:y,lineDiffType:b,lineWrap:x,diffIndicators:S,showLineNumbers:C,hunkSeparators:w,lineHoverHighlight:T,fontSize:E,haptics:D,sounds:O,uiFont:k,monoFont:A,density:j,autoCollapseLineThreshold:M,requireViewAllBeforeSend:N,showStatusBar:P,ignoreSpaceChange:F,ignoreAllSpace:I,onDiffStyleChange:L,onDiffOptionsChange:R,onDefaultTabSizeChange:z,onBrowserChange:ee,onOpenThemeModal:te,onEditorIDEChange:ne,onLineDiffTypeChange:B,onLineWrapChange:V,onDiffIndicatorsChange:re,onShowLineNumbersChange:ie,onHunkSeparatorsChange:ae,onLineHoverHighlightChange:oe,onFontSizeChange:se,onHapticsChange:ce,onSoundsChange:H,onDensityChange:le,onAutoCollapseLineThresholdChange:ue,onRequireViewAllBeforeSendChange:U,onShowStatusBarChange:de,onIgnoreSpaceChange:fe,onIgnoreAllSpaceChange:pe,onResolveAllOpen:me,onOpenUiFontModal:he,onOpenMonoFontModal:ge,onOpenSearch:_e,onCopyComments:ve,onCopyMarkdown:ye,onSendToAgent:be,agentWaiting:xe,waitingAgents:Se=[],sending:Ce,comments:we,viewedFileCount:Te,onEditComment:Ee,onDeleteComment:De,sidebarCollapsed:Oe,onToggleSidebar:ke}){let Ae=v?`${y} commit${y===1?``:`s`}`:n===r?`${n} file${n===1?``:`s`}`:`${n}/${r} files`;return(0,G.jsxs)(`header`,{className:`toolbar diff-app-toolbar`,role:`banner`,children:[(0,G.jsxs)(`div`,{className:`toolbar-left`,children:[ke&&(0,G.jsx)(`button`,{className:`toolbar-mobile-toggle`,onClick:ke,"aria-label":Oe?`Open file tree`:`Close file tree`,"aria-expanded":!Oe,title:Oe?`Open sidebar · b`:`Close sidebar · b`,children:(0,G.jsx)(AO,{size:18})}),(0,G.jsxs)(`div`,{className:`toolbar-brand`,children:[(0,G.jsx)(HH,{size:20,className:`toolbar-brand-mark`}),(0,G.jsxs)(`div`,{className:`toolbar-brand-text`,children:[(0,G.jsx)(`h1`,{className:`toolbar-title`,children:e||`diffing`}),t&&(0,G.jsxs)(`span`,{className:`toolbar-branch-inline`,title:t,children:[(0,G.jsx)(hO,{size:11,"aria-hidden":`true`}),t]})]})]}),(0,G.jsxs)(`div`,{className:`toolbar-meta`,"aria-label":`Diff summary`,children:[(0,G.jsx)(`span`,{className:`toolbar-chip`,children:Ae}),(i>0||a>0)&&(0,G.jsxs)(`span`,{className:`toolbar-chip toolbar-chip-diff`,children:[i>0&&(0,G.jsxs)(`span`,{className:`stat-additions`,children:[`+`,i]}),a>0&&(0,G.jsxs)(`span`,{className:`stat-deletions`,children:[`−`,a]})]}),o>0&&(0,G.jsxs)(`span`,{className:`toolbar-chip toolbar-chip-comments`,children:[o,` open`]}),l&&l.round>0&&(0,G.jsx)(VH,{lastRound:l.round})]})]}),(0,G.jsxs)(`div`,{className:`toolbar-right`,children:[(0,G.jsxs)(`button`,{className:`btn btn-sm toolbar-search-btn`,onClick:_e,title:`Search files, text, symbols (⌘K)`,"aria-label":`Search`,children:[(0,G.jsx)(ZO,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:`Search`}),(0,G.jsx)(`kbd`,{className:`toolbar-search-kbd`,children:`⌘K`})]}),s>0&&(0,G.jsxs)(`button`,{className:`btn btn-sm toolbar-plans-btn ${c>0?`toolbar-plans-btn-pending`:``}`,onClick:u,title:c>0?`${c} plan${c===1?``:`s`} awaiting review`:`Open plan review`,children:[c>0&&(0,G.jsx)(`span`,{className:`agent-waiting-dot`,"aria-hidden":`true`}),(0,G.jsx)(tO,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:`Plans`}),c>0&&(0,G.jsx)(`span`,{className:`toolbar-plans-badge`,children:c})]}),o>0&&(0,G.jsxs)(`button`,{className:`btn btn-sm toolbar-resolve-all-btn`,onClick:()=>{typeof window>`u`||window.confirm(`Resolve all ${o} open comment${o===1?``:`s`}? This marks every open thread as resolved in one move.`)&&me()},title:`Resolve all open comments`,children:[(0,G.jsx)(HD,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:`Resolve all`})]}),(0,G.jsx)(fW,{diffStyle:d,diffOptions:f,defaultTabSize:p,browser:m,editorIDE:g,lineDiffType:b,lineWrap:x,diffIndicators:S,showLineNumbers:C,hunkSeparators:w,lineHoverHighlight:T,fontSize:E,haptics:D,sounds:O,uiFont:k,monoFont:A,density:j,autoCollapseLineThreshold:M,requireViewAllBeforeSend:N,showStatusBar:P,ignoreSpaceChange:F,ignoreAllSpace:I,onDiffStyleChange:L,onDiffOptionsChange:R,onDefaultTabSizeChange:z,onBrowserChange:ee,onOpenThemeModal:te,onEditorIDEChange:ne,onLineDiffTypeChange:B,onLineWrapChange:V,onDiffIndicatorsChange:re,onShowLineNumbersChange:ie,onHunkSeparatorsChange:ae,onLineHoverHighlightChange:oe,onFontSizeChange:se,onHapticsChange:ce,onSoundsChange:H,onDensityChange:le,onAutoCollapseLineThresholdChange:ue,onRequireViewAllBeforeSendChange:U,onShowStatusBarChange:de,onIgnoreSpaceChange:fe,onIgnoreAllSpaceChange:pe,onOpenUiFontModal:he,onOpenMonoFontModal:ge,showSource:!_}),(0,G.jsx)(zH,{comments:we,totalFileCount:r,viewedFileCount:Te,requireViewAllBeforeSend:N,onEditComment:Ee,onDeleteComment:De,onSend:be,sending:Ce,agentWaiting:xe,waitingAgents:Se,onCopyComments:ve,onCopyMarkdown:ye})]})]})});function mW({overview:e,commits:t}){let[n,r]=(0,W.useState)(!1),i=e.commitSubjects.length>0,a=e.truncated>0,o=!!e.subtitle||a||i;return(0,G.jsxs)(`section`,{className:`diff-overview-banner`,"data-kind":e.kind,"aria-label":`Diff overview: ${e.headline}`,children:[(0,G.jsxs)(`header`,{className:`diff-overview-banner-header`,children:[(0,G.jsxs)(`div`,{className:`diff-overview-banner-line`,children:[(0,G.jsx)(vW,{kind:e.kind}),(0,G.jsx)(`h2`,{className:`diff-overview-banner-headline`,children:e.headline})]}),o&&(0,G.jsxs)(`div`,{className:`diff-overview-banner-meta`,children:[e.subtitle&&(0,G.jsx)(`span`,{className:`diff-overview-banner-subtitle`,children:e.subtitle}),a&&(0,G.jsxs)(`span`,{className:`diff-overview-banner-truncated-badge`,title:`${e.truncated} additional ${e.truncated===1?`commit`:`commits`} not shown`,children:[`+`,e.truncated]}),i&&(0,G.jsxs)(`button`,{type:`button`,className:`diff-overview-banner-details-toggle`,onClick:()=>r(e=>!e),"aria-expanded":n,"aria-controls":`diff-overview-banner-details`,children:[n?(0,G.jsx)(WD,{size:14}):(0,G.jsx)(KD,{size:14}),(0,G.jsx)(fO,{size:13,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{children:[n?`Hide`:`Show`,` `,e.commitSubjects.length,` `,`commit`,e.commitSubjects.length===1?``:`s`]})]})]})]}),i&&n&&(0,G.jsx)(hW,{overview:e,commits:t,id:`diff-overview-banner-details`})]})}function hW({overview:e,commits:t,id:n}){return t&&t.length>0?(0,G.jsxs)(`ul`,{id:n,className:`diff-overview-banner-subjects`,children:[t.map((e,n)=>(0,G.jsx)(gW,{commit:e,index:n,total:t.length},e.sha)),e.truncated>0&&(0,G.jsxs)(`li`,{className:`diff-overview-banner-truncated`,role:`status`,children:[`+ `,e.truncated,` more commit`,e.truncated===1?``:`s`,` not shown`]})]}):(0,G.jsx)(`ul`,{id:n,className:`diff-overview-banner-subjects`,children:e.commitSubjects.map((t,n)=>{let r=n===0||n===e.commitSubjects.length-1;return(0,G.jsxs)(`li`,{className:`diff-overview-banner-subject-row`,children:[(0,G.jsx)(gO,{size:12,className:`diff-overview-banner-subject-icon`,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`diff-overview-banner-subject-text`,children:t}),r&&e.fromDate&&e.toDate&&(0,G.jsx)(`span`,{className:`diff-overview-banner-subject-dates`,children:n===0?e.fromDate:e.toDate})]},`${n}-${t}`)})})}function gW({commit:e,index:t,total:n}){let[r,i]=(0,W.useState)(!1),[a,o]=(0,W.useState)(!1),s=async()=>{try{await navigator.clipboard.writeText(e.sha),i(!0),setTimeout(()=>i(!1),1500)}catch{}},c=e.body.trim().length>0,l=e.parents.length>1,u=n>1?`Commit ${t+1} of ${n}: ${e.subject}`:`Commit: ${e.subject}`;return(0,G.jsxs)(`li`,{className:`diff-overview-banner-commit-row`,"aria-label":u,children:[(0,G.jsxs)(`div`,{className:`diff-overview-banner-commit-line`,children:[(0,G.jsx)(gO,{size:12,className:`diff-overview-banner-subject-icon`,"aria-hidden":`true`}),(0,G.jsxs)(`button`,{type:`button`,className:`diff-overview-banner-commit-sha`,onClick:s,title:r?`Copied full SHA`:`Click to copy full SHA`,"aria-label":`Copy full SHA ${e.sha}`,children:[(0,G.jsx)(`span`,{children:e.shortSha}),r?(0,G.jsx)(UD,{size:12,"aria-hidden":`true`}):(0,G.jsx)(oO,{size:12,"aria-hidden":`true`})]}),l&&(0,G.jsx)(`span`,{className:`diff-overview-banner-merge-badge`,title:`Merge commit with ${e.parents.length} parents`,children:`merge`}),(0,G.jsx)(`span`,{className:`diff-overview-banner-commit-subject`,children:e.subject})]}),(0,G.jsxs)(`div`,{className:`diff-overview-banner-commit-meta`,children:[(0,G.jsxs)(`span`,{className:`diff-overview-banner-commit-author`,children:[(0,G.jsx)(`span`,{className:`diff-overview-banner-commit-author-name`,children:e.authorName}),(0,G.jsxs)(`span`,{className:`diff-overview-banner-commit-author-email`,children:[`<`,e.authorEmail,`>`]})]}),(0,G.jsx)(`span`,{className:`diff-overview-banner-commit-date`,title:e.authorDate,children:_W(e.authorDate)}),e.committerName!==e.authorName||e.committerEmail!==e.authorEmail?(0,G.jsxs)(`span`,{className:`diff-overview-banner-commit-committer`,title:`Committed by ${e.committerName} <${e.committerEmail}> at ${e.committerDate}`,children:[(0,G.jsx)(`span`,{className:`diff-overview-banner-commit-committer-label`,children:`committed by`}),` `,(0,G.jsx)(`span`,{children:e.committerName})]}):null]}),c&&(0,G.jsxs)(`div`,{className:`diff-overview-banner-commit-body`,children:[(0,G.jsxs)(`button`,{type:`button`,className:`diff-overview-banner-commit-body-toggle`,onClick:()=>o(e=>!e),"aria-expanded":a,"aria-controls":`diff-overview-commit-body-${e.shortSha}`,children:[a?(0,G.jsx)(WD,{size:14}):(0,G.jsx)(KD,{size:14}),(0,G.jsx)(fO,{size:13,"aria-hidden":`true`}),(0,G.jsx)(`span`,{children:a?`Hide message`:`Show message`})]}),a&&(0,G.jsx)(`pre`,{id:`diff-overview-commit-body-${e.shortSha}`,className:`diff-overview-banner-commit-body-pre`,children:e.body})]})]})}function _W(e){try{let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(void 0,{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}catch{return e}}function vW({kind:e}){let t={size:14,className:`diff-overview-banner-icon`,"aria-hidden":!0};switch(e){case`working-tree`:case`staged-only`:return(0,G.jsx)(CO,{...t});case`range`:return(0,G.jsx)(hO,{...t});case`commit-single`:case`commit-series`:return(0,G.jsx)(gO,{...t});case`pr`:return(0,G.jsx)(yO,{...t})}}function yW(e,t){return JSON.stringify(e.overview)===JSON.stringify(t.overview)&&JSON.stringify(e.commits)===JSON.stringify(t.commits)}var bW=(0,W.memo)(mW,yW),xW=W.createContext(void 0);function SW(e){let t=W.useContext(xW);if(e===!1&&t===void 0)throw Error(j_(27));return t}var CW={...yT,...lT},wW=W.forwardRef(function(e,t){let{render:n,className:r,forceRender:i=!1,...a}=e,{store:o}=SW(),s=o.useState(`open`),c=o.useState(`nested`),l=o.useState(`mounted`),u=o.useState(`transitionStatus`);return tS(`div`,e,{state:W.useMemo(()=>({open:s,transitionStatus:u}),[s,u]),ref:[o.context.backdropRef,t],stateAttributesMapping:CW,props:[{role:`presentation`,hidden:!l,style:{userSelect:`none`,WebkitUserSelect:`none`}},a],enabled:i||!c})}),TW=function(e){return e.nestedDialogs=`--nested-dialogs`,e}({}),EW=function(e){return e[e.open=uT.open]=`open`,e[e.closed=uT.closed]=`closed`,e[e.startingStyle=uT.startingStyle]=`startingStyle`,e[e.endingStyle=uT.endingStyle]=`endingStyle`,e.nested=`data-nested`,e.nestedDialogOpen=`data-nested-dialog-open`,e}({}),DW=W.createContext(void 0);function OW(){let e=W.useContext(DW);if(e===void 0)throw Error(j_(26));return e}var kW={...yT,...lT,nestedDialogOpen(e){return e?{[EW.nestedDialogOpen]:``}:null}},AW=W.forwardRef(function(e,t){let{className:n,finalFocus:r,initialFocus:i,render:a,...o}=e,{store:s}=SW(),c=s.useState(`descriptionElementId`),l=s.useState(`disablePointerDismissal`),u=s.useState(`floatingRootContext`),d=s.useState(`popupProps`),f=s.useState(`modal`),p=s.useState(`mounted`),m=s.useState(`nested`),h=s.useState(`nestedOpenDialogCount`),g=s.useState(`open`),_=s.useState(`openMethod`),v=s.useState(`titleElementId`),y=s.useState(`transitionStatus`),b=s.useState(`role`);OW(),hw({open:g,ref:s.context.popupRef,onComplete(){g&&s.context.onOpenChangeComplete?.(!0)}});function x(e){return e===`touch`?s.context.popupRef.current:!0}let S=i===void 0?x:i,C=h>0,w=tS(`div`,e,{state:W.useMemo(()=>({open:g,nested:m,transitionStatus:y,nestedDialogOpen:C}),[g,m,y,C]),props:[d,{"aria-labelledby":v??void 0,"aria-describedby":c??void 0,role:b,tabIndex:-1,hidden:!p,onKeyDown(e){qk.has(e.key)&&e.stopPropagation()},style:{[TW.nestedDialogs]:h}},o],ref:[t,s.context.popupRef,s.useStateSetter(`popupElement`)],stateAttributesMapping:kW});return(0,G.jsx)(xS,{context:u,openInteractionType:_,disabled:!p,closeOnFocusOut:!l,initialFocus:S,returnFocus:r,modal:f!==!1,restoreFocus:`popup`,children:w})}),jW=W.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e,{store:i}=SW(),a=i.useState(`mounted`),o=i.useState(`modal`);return a||n?(0,G.jsx)(DW.Provider,{value:n,children:(0,G.jsxs)(uS,{ref:t,...r,children:[a&&o===!0&&(0,G.jsx)(Lk,{ref:i.context.internalBackdropRef,inert:ZT(!open)}),e.children]})}):null});function MW(e){let{store:t,parentContext:n,actionsRef:r}=e,i=t.useState(`open`),a=t.useState(`disablePointerDismissal`),o=t.useState(`modal`),s=t.useState(`popupElement`),{openMethod:c,triggerProps:l,reset:u}=Ck(i);vw(t);let{forceUnmount:d}=yw(i,t,()=>{u()}),f=X(e=>{let n=ox(e);return n.preventUnmountOnClose=()=>{t.set(`preventUnmountingOnClose`,!0)},n}),p=W.useCallback(()=>{t.setOpen(!1,f(ix))},[t,f]);W.useImperativeHandle(r,()=>({unmount:d,close:p}),[d,p]);let m=Ew({popupStore:t,onOpenChange:t.setOpen,treatPopupAsFloatingElement:!0,noEmit:!0}),[h,g]=W.useState(0),_=h===0,v=Xw(m),y=LC(m,{outsidePressEvent(){return t.context.internalBackdropRef.current||t.context.backdropRef.current?`intentional`:{mouse:o===`trap-focus`?`sloppy`:`intentional`,touch:`sloppy`}},outsidePress(e){if(`button`in e&&e.button!==0||`touches`in e&&e.touches.length!==1)return!1;let n=zv(e);if(_&&!a){let e=n;return o&&(t.context.internalBackdropRef.current||t.context.backdropRef.current)?t.context.internalBackdropRef.current===e||t.context.backdropRef.current===e||Rv(e,s)&&!e?.hasAttribute(`data-base-ui-portal`):!0}return!1},escapeKey:_});gk(i&&o===!0,s);let{getReferenceProps:b,getFloatingProps:x,getTriggerProps:S}=zw([v,y]);t.useContextCallback(`onNestedDialogOpen`,e=>{g(e+1)}),t.useContextCallback(`onNestedDialogClose`,()=>{g(0)}),W.useEffect(()=>(n?.onNestedDialogOpen&&i&&n.onNestedDialogOpen(h),n?.onNestedDialogClose&&!i&&n.onNestedDialogClose(),()=>{n?.onNestedDialogClose&&i&&n.onNestedDialogClose()}),[i,n,h]);let C=W.useMemo(()=>b(l),[b,l]),w=W.useMemo(()=>S(l),[S,l]),T=W.useMemo(()=>x(),[x]);t.useSyncedValues({openMethod:c,activeTriggerProps:C,inactiveTriggerProps:w,popupProps:T,floatingRootContext:m,nestedOpenDialogCount:h})}var NW={...Cw,modal:Z(e=>e.modal),nested:Z(e=>e.nested),nestedOpenDialogCount:Z(e=>e.nestedOpenDialogCount),disablePointerDismissal:Z(e=>e.disablePointerDismissal),openMethod:Z(e=>e.openMethod),descriptionElementId:Z(e=>e.descriptionElementId),titleElementId:Z(e=>e.titleElementId),viewportElement:Z(e=>e.viewportElement),role:Z(e=>e.role)},PW=class extends uw{constructor(e){super(FW(e),{popupRef:W.createRef(),backdropRef:W.createRef(),internalBackdropRef:W.createRef(),triggerElements:new bw,onOpenChange:void 0,onOpenChangeComplete:void 0},NW)}setOpen=(e,t)=>{if(t.preventUnmountOnClose=()=>{this.set(`preventUnmountingOnClose`,!0)},!e&&t.trigger==null&&this.state.activeTriggerId!=null&&(t.trigger=this.state.activeTriggerElement??void 0),this.context.onOpenChange?.(e,t),t.isCanceled)return;let n={open:e,nativeEvent:t.event,reason:t.reason,nested:this.state.nested};this.state.floatingRootContext.context.events?.emit(`openchange`,n);let r={open:e},i=t.trigger?.id??null;(i||e)&&(r.activeTriggerId=i,r.activeTriggerElement=t.trigger??null),this.update(r)}};function FW(e={}){return{...Sw(),modal:!0,disablePointerDismissal:!1,popupElement:null,viewportElement:null,descriptionElementId:void 0,titleElementId:void 0,openMethod:null,nested:!1,nestedOpenDialogCount:0,role:`dialog`,...e}}function IW(e){let{children:t,open:n,defaultOpen:r=!1,onOpenChange:i,onOpenChangeComplete:a,disablePointerDismissal:o=!1,modal:s=!0,actionsRef:c,handle:l,triggerId:u,defaultTriggerId:d=null}=e,f=SW(!0),p=!!f,m=F_(()=>l?.store??new PW({open:n??r,activeTriggerId:u===void 0?d:u,modal:s,disablePointerDismissal:o,nested:p})).current;m.useControlledProp(`open`,n,r),m.useControlledProp(`activeTriggerId`,u,d),m.useSyncedValues({disablePointerDismissal:o,nested:p,modal:s}),m.useContextCallback(`onOpenChange`,i),m.useContextCallback(`onOpenChangeComplete`,a);let h=m.useState(`payload`);MW({store:m,actionsRef:c,parentContext:f?.store.context,onOpenChange:i,triggerIdProp:u});let g=W.useMemo(()=>({store:m}),[m]);return(0,G.jsx)(xW.Provider,{value:g,children:typeof t==`function`?t({payload:h}):t})}function LW({open:e,onClose:t,className:n,ariaLabel:r,initialFocus:i,onKeyDown:a,children:o}){return(0,G.jsx)(IW,{open:e,onOpenChange:e=>{e||t()},children:(0,G.jsxs)(jW,{children:[(0,G.jsx)(wW,{className:`ui-modal-backdrop`}),(0,G.jsx)(AW,{className:`ui-modal-popup ${n??``}`,"aria-label":r,initialFocus:i,onKeyDown:a,children:o})]})})}async function RW(e,t){let n=await fetch(`/api/file-text?path=${encodeURIComponent(e)}&version=${t}`);if(!n.ok){if(n.status===404)return null;throw Error(`HTTP ${n.status} fetching ${t} ${e}`)}let r=await n.json();if(r.missing)return null;if(r.error)throw Error(r.error);return r.content??``}function zW(e,t,n=e){let[r,i]=(0,W.useState)({loading:!1,error:null,oldContent:null,newContent:null});return(0,W.useEffect)(()=>{if(!t||!e)return;let r=!1;return i(e=>({...e,loading:!0,error:null})),Promise.all([RW(n,`old`),RW(e,`new`)]).then(([e,t])=>{r||i({loading:!1,error:null,oldContent:e,newContent:t})}).catch(e=>{r||i({loading:!1,error:e.message,oldContent:null,newContent:null})}),()=>{r=!0}},[e,n,t]),r}var BW=`diffing-draft-`,VW=10080*60*1e3;function HW(...e){return BW+e.join(`:`)}function UW(...e){try{let t=CD(HW(...e));if(!t)return null;let n=JSON.parse(t);return Date.now()-n.timestamp>VW?(OD(HW(...e)),null):n.body}catch{return null}}var WW={};function GW(e,...t){let n=HW(...t);WW[n]&&clearTimeout(WW[n]),WW[n]=setTimeout(()=>{KW(e,...t),delete WW[n]},500)}function KW(e,...t){let n=HW(...t);try{e.trim()?DD(n,JSON.stringify({body:e,timestamp:Date.now()})):OD(n)}catch{}}function qW(...e){try{OD(HW(...e))}catch{}}function JW(e){return e.replace(/@([^\s@]+)/g,(e,t)=>`[${t.split(`/`).pop()||t}](file-mention://${t})`)}var YW=[{value:`none`,label:`None`,hint:`Untriaged`,icon:(0,G.jsx)(LO,{size:13})},{value:`blocking`,label:`Blocking`,hint:`Must fix before merge`,icon:(0,G.jsx)(BO,{size:13})},{value:`nit`,label:`Nit`,hint:`Optional polish`,icon:(0,G.jsx)(XD,{size:13})},{value:`question`,label:`Question`,hint:`Needs an answer`,icon:(0,G.jsx)(QD,{size:13})},{value:`praise`,label:`Praise`,hint:`No change required`,icon:(0,G.jsx)(ek,{size:13})}];function XW({value:e,onChange:t}){let n=YW.find(t=>t.value===e)??YW[0];return(0,G.jsxs)(bU,{value:e,onValueChange:e=>t(e),modal:!1,children:[(0,G.jsxs)(wU,{className:`ui-select-trigger comment-severity-trigger comment-severity-trigger-${e}`,"aria-label":`Comment severity`,"data-severity":e,children:[(0,G.jsxs)(`span`,{className:`comment-severity-trigger-inner`,children:[(0,G.jsx)(`span`,{className:`comment-severity-icon`,"data-severity":e,"aria-hidden":`true`,children:n.icon}),(0,G.jsx)(EU,{children:e=>YW.find(t=>t.value===e)?.label??e})]}),(0,G.jsx)(DU,{className:`ui-select-icon`,children:(0,G.jsx)(qD,{size:12})})]}),(0,G.jsx)(kU,{children:(0,G.jsx)(VU,{className:`ui-select-positioner comment-severity-positioner`,sideOffset:4,align:`start`,side:`top`,alignItemWithTrigger:!1,children:(0,G.jsx)(KU,{className:`ui-select-popup comment-severity-popup`,"aria-label":`Severity`,children:YW.map(e=>(0,G.jsxs)(ZU,{value:e.value,className:`ui-select-item comment-severity-item comment-severity-item-${e.value}`,children:[(0,G.jsxs)(`span`,{className:`comment-severity-item-main`,children:[(0,G.jsx)(`span`,{className:`comment-severity-icon`,"data-severity":e.value,"aria-hidden":`true`,children:e.icon}),(0,G.jsxs)(`span`,{className:`comment-severity-item-text`,children:[(0,G.jsx)(eW,{className:`comment-severity-item-label`,children:e.label}),(0,G.jsx)(`span`,{className:`comment-severity-item-hint`,children:e.hint})]})]}),(0,G.jsx)(QU,{className:`ui-select-indicator`,children:(0,G.jsx)(UD,{size:13})})]},e.value))})})})]})}function ZW({initialBody:e,lineContent:t,lineLabel:n,range:r,onAdjustStart:i,onAdjustEnd:a,draftKey:o,onSubmit:s,onCancel:c,showSeverity:l=!0}){let{haptic:u,sound:d}=pD(),{settings:f,updateSettings:p}=IE(),m=f.savedReplies??[],[h,g]=(0,W.useState)(()=>{if(o){let e=UW(o);if(e)return e}return e||``}),[_,v]=(0,W.useState)(`none`),[y,b]=(0,W.useState)(`write`),[x,S]=(0,W.useState)(!1),C=(0,W.useRef)(null),w=(0,W.useRef)(null),T=vH(h,g),E=e=>{g(t=>t.trim()?`${t.trimEnd()}\n\n${e.body}`:e.body),S(!1),b(`write`),requestAnimationFrame(()=>C.current?.focus())},D=()=>{let e=h.trim();if(!e)return;let t=window.prompt(`Template title`,e.slice(0,40))?.trim();t&&p({savedReplies:[...m,{id:crypto.randomUUID(),title:t,body:e}]})};(0,W.useEffect)(()=>{y===`write`?C.current?.focus():w.current?.focus()},[y]),(0,W.useEffect)(()=>{o&&GW(h,o)},[h,o]);let O=()=>{let e=h.trim();e&&(o&&qW(o),u(`success`),d(`success`),s(e,_===`none`?void 0:_))},k=()=>{if(!t)return;let e=`\`\`\`suggestion\n${t.split(`
1934
1934
  `).map(e=>e.replace(/^[+\- ]/,``)).join(`
1935
1935
  `)}\n\`\`\`\n`;g(t=>t.trim()?t.includes("```suggestion")?t:`${t.trimEnd()}\n\n${e}`:e),b(`write`),requestAnimationFrame(()=>C.current?.focus())},A=e=>{if(!T.handleKeyDown(e)&&(e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),O()),e.key===`p`&&(e.metaKey||e.ctrlKey)&&e.shiftKey&&(e.preventDefault(),b(e=>e===`write`?`preview`:`write`)),e.key===`Escape`)){if(h.includes(`
1936
- `))return;c()}},j=async e=>{let t=e.clipboardData.items,n=null;for(let e=0;e<t.length;e++){let r=t[e];if(r.kind===`file`&&r.type.startsWith(`image/`)){n=r.getAsFile();break}}if(!n)return;e.preventDefault();let r=C.current;if(!r)return;let i=r.selectionStart,a=r.selectionEnd,o=Math.random().toString(36).slice(2,8),s=`![Uploading image… ${o}]()`,c=r.value;g(c.slice(0,i)+s+c.slice(a));try{let e=new FormData;e.append(`file`,n,n.name||`pasted-${o}.png`);let t=await fetch(`/api/attachments`,{method:`POST`,body:e});if(!t.ok)throw Error(`HTTP ${t.status}`);let r=await t.json();if(!r.url)throw Error(r.error||`Upload failed`);let i=`![pasted image](${r.url})`;g(e=>e.replace(s,i))}catch(e){console.error(`Image upload failed:`,e),g(e=>e.replace(s,`![upload failed]()`))}},M=!!(r&&i&&a),N=r?Math.abs(r.end-r.start)+1:0,P=M&&(r.canAdjustStart?.(-1)??!0),F=M&&(r.canAdjustStart?.(1)??!0),I=M&&(r.canAdjustEnd?.(-1)??!0),L=M&&(r.canAdjustEnd?.(1)??!0),R=e=>{e.preventDefault()};return(0,G.jsxs)(`div`,{className:`comment-form`,style:{padding:`16px`},role:`form`,"aria-label":`Comment form`,children:[M&&r?(0,G.jsxs)(`div`,{className:`comment-form-range`,"aria-live":`polite`,children:[(0,G.jsx)(`span`,{className:`comment-form-range-prefix`,children:`Commenting on`}),(0,G.jsxs)(`div`,{className:`comment-form-range-controls`,role:`group`,"aria-label":`Comment line range`,children:[(0,G.jsxs)(`div`,{className:`comment-form-range-edge`,"aria-label":`Range start`,children:[(0,G.jsx)(`button`,{type:`button`,className:`comment-form-range-btn`,"aria-label":`Expand range upward`,title:`Expand range upward`,disabled:!P,onMouseDown:R,onClick:()=>i(-1),children:`−`}),(0,G.jsxs)(`span`,{className:`comment-form-range-num`,"aria-label":`Start line ${r.start}`,children:[`L`,r.start]}),(0,G.jsx)(`button`,{type:`button`,className:`comment-form-range-btn`,"aria-label":`Shrink range from top`,title:`Shrink range from top`,disabled:!F,onMouseDown:R,onClick:()=>i(1),children:`+`})]}),(0,G.jsx)(`span`,{className:`comment-form-range-sep`,"aria-hidden":`true`,children:`–`}),(0,G.jsxs)(`div`,{className:`comment-form-range-edge`,"aria-label":`Range end`,children:[(0,G.jsx)(`button`,{type:`button`,className:`comment-form-range-btn`,"aria-label":`Shrink range from bottom`,title:`Shrink range from bottom`,disabled:!I,onMouseDown:R,onClick:()=>a(-1),children:`−`}),(0,G.jsxs)(`span`,{className:`comment-form-range-num`,"aria-label":`End line ${r.end}`,children:[`L`,r.end]}),(0,G.jsx)(`button`,{type:`button`,className:`comment-form-range-btn`,"aria-label":`Expand range downward`,title:`Expand range downward`,disabled:!L,onMouseDown:R,onClick:()=>a(1),children:`+`})]})]}),(0,G.jsxs)(`span`,{className:`comment-form-range-meta`,children:[(0,G.jsx)(`span`,{className:`comment-form-range-side`,children:r.sideLabel}),(0,G.jsxs)(`span`,{className:`comment-form-range-count`,children:[N,` line`,N===1?``:`s`]})]})]}):n?(0,G.jsxs)(`div`,{className:`comment-form-line-label`,"aria-live":`polite`,children:[`Commenting on `,(0,G.jsx)(`strong`,{children:n})]}):null,(0,G.jsxs)(`div`,{className:`comment-form-tabs`,role:`tablist`,"aria-label":`Comment form mode`,children:[(0,G.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":y===`write`,"aria-controls":`comment-write-panel`,onClick:()=>b(`write`),onKeyDown:e=>{e.key===`ArrowRight`&&(e.preventDefault(),b(`preview`))},className:`comment-form-tab-btn ${y===`write`?`comment-form-tab-btn-active`:`comment-form-tab-btn-inactive`}`,children:`Write`}),(0,G.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":y===`preview`,"aria-controls":`comment-preview-panel`,onClick:()=>b(`preview`),onKeyDown:e=>{e.key===`ArrowLeft`&&(e.preventDefault(),b(`write`))},className:`comment-form-tab-btn ${y===`preview`?`comment-form-tab-btn-active`:`comment-form-tab-btn-inactive`}`,children:`Preview`})]}),y===`write`?(0,G.jsxs)(`div`,{style:{position:`relative`},children:[(0,G.jsxs)(`div`,{className:`comment-form-suggest-row`,children:[m.length>0&&(0,G.jsxs)(`div`,{className:`comment-form-saved-replies`,children:[(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm comment-form-suggest-btn`,onClick:()=>S(e=>!e),"aria-expanded":x,title:`Insert a saved reply template`,children:`Saved replies`}),x&&(0,G.jsx)(`ul`,{className:`comment-form-saved-list`,role:`listbox`,children:m.map(e=>(0,G.jsxs)(`li`,{children:[(0,G.jsx)(`button`,{type:`button`,onClick:()=>E(e),role:`option`,children:e.title}),(0,G.jsx)(`button`,{type:`button`,className:`comment-form-saved-delete`,"aria-label":`Delete template ${e.title}`,onClick:()=>p({savedReplies:m.filter(t=>t.id!==e.id)}),children:`×`})]},e.id))})]}),h.trim()&&(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm comment-form-suggest-btn`,onClick:D,title:`Save current body as a reusable template`,children:`Save template`}),t?(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm comment-form-suggest-btn`,onClick:k,title:"Insert a ```suggestion block pre-filled with the selected line(s)",children:`Suggest change`}):null]}),(0,G.jsx)(`textarea`,{id:`comment-write-panel`,ref:e=>{C.current=e,T.setTextareaRef(e)},value:h,onChange:e=>g(e.target.value),onKeyDown:A,onPaste:j,placeholder:`Leave a review comment (supports Markdown and Pasting Clipboard Images)...`,rows:4,"aria-label":`Comment body`,style:{minHeight:`100px`}}),T.isOpen&&(0,G.jsx)(CH,{results:T.results,focusedIndex:T.focusedIndex,query:T.query,cursorTop:T.cursorTop,onSelect:T.onSelect,onHover:T.setFocusedIndex})]}):(0,G.jsxs)(`div`,{id:`comment-preview-panel`,ref:w,role:`tabpanel`,"aria-label":`Preview`,tabIndex:0,onKeyDown:e=>{e.key===`p`&&(e.metaKey||e.ctrlKey)&&e.shiftKey&&(e.preventDefault(),b(`write`))},style:{display:`flex`,flexDirection:`column`,gap:`12px`},children:[(()=>{let e=!!h.match(/```suggestion\n([\s\S]*?)```/);return h.replace(/```suggestion\n([\s\S]*?)```/g,``).trim().length>0||!e?(0,G.jsx)(`div`,{className:`comment-preview markdown-body`,style:{minHeight:`100px`,padding:`12px 16px`,border:`1px solid var(--border-normal)`,borderRadius:`var(--radius-md)`,background:`var(--bg-primary)`,fontSize:`14px`,lineHeight:1.6,color:`var(--text-primary)`,overflowY:`auto`,whiteSpace:`pre-wrap`,wordBreak:`break-word`,overflowWrap:`break-word`},children:h.trim()?(0,G.jsx)(gH,{content:JW(h)}):(0,G.jsx)(`span`,{style:{color:`var(--text-muted)`,fontStyle:`italic`},children:`Nothing to preview`})}):null})(),(()=>{let e=h.match(/```suggestion\n([\s\S]*?)```/),n=!!e,r=e?e[1].trimEnd():``;return n?(0,G.jsxs)(`div`,{className:`suggestion-card`,style:{border:`1px solid var(--border-normal)`,borderRadius:`var(--radius-md)`,overflow:`hidden`,background:`var(--bg-primary)`,boxShadow:`var(--shadow-sm)`},children:[(0,G.jsx)(`div`,{className:`suggestion-header`,style:{padding:`8px 12px`,background:`var(--bg-secondary)`,borderBottom:`1px solid var(--border-normal)`,display:`flex`,alignItems:`center`,justifyContent:`space-between`,fontSize:`12px`,fontWeight:600},children:(0,G.jsx)(`span`,{style:{color:`var(--text-secondary)`},children:`Suggested Change Preview`})}),(0,G.jsxs)(`div`,{className:`suggestion-diff`,style:{display:`flex`,flexDirection:`column`,fontSize:`12px`,fontFamily:`var(--font-mono)`,overflowX:`auto`},children:[t&&(0,G.jsxs)(`div`,{style:{display:`flex`,padding:`8px 12px`,background:`var(--feedback-danger-bg)`,borderBottom:`1px dashed var(--border-color)`,color:`var(--feedback-danger-text)`,minWidth:`max-content`},children:[(0,G.jsx)(`span`,{style:{width:`20px`,userSelect:`none`,opacity:.5},children:`-`}),(0,G.jsx)(`span`,{style:{whiteSpace:`pre`},children:t})]}),(0,G.jsxs)(`div`,{style:{display:`flex`,padding:`8px 12px`,background:`var(--feedback-success-bg)`,color:`var(--feedback-success-text)`,minWidth:`max-content`},children:[(0,G.jsx)(`span`,{style:{width:`20px`,userSelect:`none`,opacity:.5},children:`+`}),(0,G.jsx)(`span`,{style:{whiteSpace:`pre`},children:r})]})]})]}):null})()]}),(0,G.jsxs)(`div`,{className:`comment-form-actions`,children:[l&&(0,G.jsxs)(`div`,{className:`comment-form-severity`,"data-severity":_,children:[(0,G.jsx)(`span`,{className:`comment-form-severity-label`,children:`Severity`}),(0,G.jsx)(XW,{value:_,onChange:v})]}),(0,G.jsxs)(`div`,{className:`comment-form-actions-right`,children:[(0,G.jsx)(`button`,{type:`button`,className:`btn btn-secondary btn-sm`,onClick:c,children:`Cancel`}),(0,G.jsx)(`button`,{type:`button`,className:`btn btn-primary btn-sm`,onClick:O,disabled:!h.trim(),children:e?`Save`:`Comment`})]})]})]})}function QW({role:e,size:t=16}){return e===`agent`?(0,G.jsx)(`div`,{className:`comment-avatar-circle comment-avatar-agent`,style:{width:`${t*2}px`,height:`${t*2}px`},children:(0,G.jsx)(VD,{size:t,"aria-hidden":`true`})}):(0,G.jsx)(`div`,{className:`comment-avatar-circle comment-avatar-user`,style:{width:`${t*2}px`,height:`${t*2}px`},children:(0,G.jsx)(sk,{size:t,"aria-hidden":`true`})})}function $W({comment:e,onDelete:t}){let[,n]=(0,W.useState)(0),{resolveComment:r,unresolveComment:i,addReply:a,removeReply:o,editReply:s,applySuggestion:c,editComment:l}=xE(),u=e.status===`resolved`,[d,f]=(0,W.useState)(u),[p,m]=(0,W.useState)(!1),[h,g]=(0,W.useState)(!1),[_,v]=(0,W.useState)(!1),[y,b]=(0,W.useState)(null),x=(0,W.useRef)(null),S=e.body.replace(/```suggestion\n([\s\S]*?)```/g,``).trim().length>0,C=e.body.replace(/\s+/g,` `).trim().slice(0,72),w=e.replies?.length??0;(0,W.useEffect)(()=>{e.status===`resolved`&&f(!0)},[e.status]),(0,W.useEffect)(()=>{let e=setInterval(()=>n(e=>e+1),3e4);return()=>clearInterval(e)},[]);let T=()=>r(e.id),E=()=>i(e.id),D=e=>{b(e)},O=t=>{o(e.id,t)},k=(0,G.jsxs)(G.Fragment,{children:[e.lineNumber===0&&(0,G.jsx)(`span`,{className:`comment-file-chip`,children:`File`}),e.outdated&&(0,G.jsxs)(`span`,{className:`comment-outdated-badge`,title:`Anchored code no longer matches the live diff`,children:[(0,G.jsx)(ik,{size:10}),` outdated`]}),e.severity&&e.severity!==`none`&&(0,G.jsx)(`span`,{className:`comment-severity-badge`,"data-severity":e.severity,children:e.severity}),e.startLineNumber&&e.startLineNumber!==e.lineNumber&&(0,G.jsxs)(`span`,{className:`comment-range-chip`,children:[`L`,e.startLineNumber,`–`,e.lineNumber]}),e.lineNumber>0&&!(e.startLineNumber&&e.startLineNumber!==e.lineNumber)&&(0,G.jsxs)(`span`,{className:`comment-range-chip`,children:[`L`,e.lineNumber]})]});return d&&!h?(0,G.jsxs)(`div`,{className:`comment-collapsed-bar ${u?`comment-collapsed-bar-resolved`:``}`,id:`comment-${e.id}`,role:`article`,children:[(0,G.jsx)(`button`,{type:`button`,className:`comment-collapsed-toggle`,onClick:()=>f(!1),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),f(!1))},"aria-expanded":!1,"aria-label":u?`Show resolved conversation`:`Expand comment thread`,title:`Expand`,children:(0,G.jsx)(KD,{size:14,"aria-hidden":`true`})}),(0,G.jsxs)(`div`,{className:`comment-collapsed-main`,children:[u?(0,G.jsx)(YD,{size:14,className:`comment-collapsed-resolved-icon`,"aria-hidden":`true`}):(0,G.jsx)(QW,{role:`user`,size:11}),(0,G.jsx)(`span`,{className:`comment-collapsed-label`,children:u?`Resolved`:`User`}),k,(0,G.jsxs)(`span`,{className:`comment-collapsed-preview`,title:e.body,children:[C,e.body.length>72?`…`:``]}),(0,G.jsx)(`span`,{className:`comment-collapsed-meta`,children:w>0?`${w+1} comments`:`1 comment`})]}),(0,G.jsx)(`button`,{type:`button`,className:`comment-collapsed-expand-btn`,onClick:()=>f(!1),"aria-label":u?`Show resolved conversation`:`Expand comment thread`,children:`Expand`})]}):h?(0,G.jsx)(`div`,{className:`comment-bubble-canvas`,id:`comment-${e.id}`,role:`article`,"aria-label":`Edit comment`,children:(0,G.jsxs)(`div`,{className:`comment-node`,children:[(0,G.jsx)(`div`,{className:`comment-avatar-col`,children:(0,G.jsx)(QW,{role:`user`,size:16})}),(0,G.jsxs)(`div`,{className:`comment-content-col`,children:[(0,G.jsxs)(`div`,{className:`comment-node-header`,children:[(0,G.jsx)(`span`,{className:`comment-node-author`,children:`User`}),(0,G.jsx)(`span`,{className:`comment-node-badge comment-node-badge-user`,children:`User`}),(0,G.jsxs)(`span`,{className:`comment-node-time`,style:{display:`flex`,alignItems:`center`,gap:`8px`,flexWrap:`wrap`},children:[eE(e.createdAt),e.lineNumber===0&&(0,G.jsx)(`span`,{style:{padding:`1px 5px`,background:`var(--accent-subtle)`,border:`1px solid var(--primary)`,borderRadius:`var(--radius-sm)`,fontSize:`10px`,fontWeight:700,color:`var(--primary)`,textTransform:`uppercase`,letterSpacing:`0.5px`},children:`File Comment`}),e.outdated&&(0,G.jsxs)(`span`,{className:`comment-outdated-badge`,title:`Anchored code no longer matches the live diff`,children:[(0,G.jsx)(ik,{size:10}),` outdated`]}),e.severity&&e.severity!==`none`&&(0,G.jsx)(`span`,{className:`comment-severity-badge`,"data-severity":e.severity,children:e.severity}),e.startLineNumber&&e.startLineNumber!==e.lineNumber&&(0,G.jsxs)(`span`,{style:{padding:`1px 5px`,background:`var(--bg-primary)`,border:`1px solid var(--border-color)`,borderRadius:`var(--radius-sm)`,fontSize:`10px`,fontWeight:600,fontFamily:`var(--font-mono)`,color:`var(--text-secondary)`},children:[`L`,e.startLineNumber,`–`,e.lineNumber]})]})]}),(0,G.jsx)(`div`,{style:{marginTop:`8px`},children:(0,G.jsx)(ZW,{draftKey:`edit:${e.id}`,initialBody:e.body,lineContent:e.lineContent,onSubmit:t=>{l(e.id,t),g(!1)},onCancel:()=>g(!1)})})]})]})}):(0,G.jsxs)(`div`,{className:`comment-bubble-canvas ${u?`comment-bubble-canvas-resolved`:``}`,id:`comment-${e.id}`,role:`article`,"aria-label":e.lineNumber===0?`File-level comment`:`Comment by user on line ${e.lineNumber}`,children:[(0,G.jsxs)(`div`,{className:`comment-node ${u?`comment-node-resolved`:``}`,children:[(0,G.jsx)(`div`,{className:`comment-avatar-col`,children:(0,G.jsx)(QW,{role:`user`,size:16})}),(0,G.jsxs)(`div`,{className:`comment-content-col`,children:[(0,G.jsxs)(`div`,{className:`comment-node-header`,children:[(0,G.jsx)(`button`,{type:`button`,className:`comment-collapse-btn`,onClick:()=>f(!0),"aria-expanded":!0,"aria-label":`Collapse comment thread`,title:`Collapse`,children:(0,G.jsx)(WD,{size:14,"aria-hidden":`true`})}),(0,G.jsx)(`span`,{className:`comment-node-author`,children:`User`}),(0,G.jsx)(`span`,{className:`comment-node-badge comment-node-badge-user`,children:`User`}),(0,G.jsxs)(`span`,{className:`comment-node-time`,style:{display:`flex`,alignItems:`center`,gap:`8px`,flexWrap:`wrap`},children:[eE(e.createdAt),e.lineNumber===0&&(0,G.jsx)(`span`,{style:{padding:`1px 5px`,background:`var(--accent-subtle)`,border:`1px solid var(--primary)`,borderRadius:`var(--radius-sm)`,fontSize:`10px`,fontWeight:700,color:`var(--primary)`,textTransform:`uppercase`,letterSpacing:`0.5px`},children:`File Comment`}),e.startLineNumber&&e.startLineNumber!==e.lineNumber&&(0,G.jsxs)(`span`,{style:{padding:`1px 5px`,background:`var(--bg-primary)`,border:`1px solid var(--border-color)`,borderRadius:`var(--radius-sm)`,fontSize:`10px`,fontWeight:600,fontFamily:`var(--font-mono)`,color:`var(--text-secondary)`},children:[`L`,e.startLineNumber,`–`,e.lineNumber]})]}),u&&(0,G.jsxs)(`span`,{className:`comment-canvas-resolved-banner`,style:{marginLeft:`8px`},children:[(0,G.jsx)(YD,{size:13}),`Resolved`]}),!u&&(0,G.jsxs)(`div`,{className:`comment-node-actions`,children:[(0,G.jsx)(`button`,{ref:x,className:`comment-node-btn`,onClick:()=>g(!0),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),g(!0))},title:`Edit comment`,"aria-label":`Edit comment`,tabIndex:0,children:(0,G.jsx)(GO,{size:13,"aria-hidden":`true`})}),_?(0,G.jsxs)(`div`,{className:`comment-delete-confirm`,style:{display:`flex`,alignItems:`center`,gap:`4px`},children:[(0,G.jsxs)(`button`,{className:`comment-node-btn comment-node-btn-delete`,onClick:()=>t(e.id),title:`Confirm delete`,"aria-label":`Confirm delete comment`,style:{color:`var(--danger)`,background:`var(--feedback-danger-bg)`,fontWeight:600,fontSize:`11px`,borderRadius:`var(--radius-sm)`,border:`1px solid var(--feedback-danger-border)`,padding:`2px 6px`,cursor:`pointer`,display:`flex`,alignItems:`center`,gap:`2px`,width:`auto`,height:`auto`},children:[(0,G.jsx)(ik,{size:11}),`Delete?`]}),(0,G.jsx)(`button`,{className:`comment-node-btn`,onClick:()=>v(!1),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),v(!1))},title:`Cancel delete`,"aria-label":`Cancel delete`,style:{fontSize:`11px`,padding:`2px 6px`,width:`auto`,height:`auto`},children:`Cancel`})]}):(0,G.jsx)(`button`,{className:`comment-node-btn comment-node-btn-delete`,onClick:()=>v(!0),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),v(!0))},title:`Delete comment`,"aria-label":`Delete comment`,tabIndex:0,children:(0,G.jsx)(rk,{size:13,"aria-hidden":`true`})})]})]}),S&&(0,G.jsx)(gH,{content:e.body,className:`comment-node-body markdown-body ${u?`comment-resolved-line`:``}`}),(()=>{let t=e.body.match(/```suggestion\n([\s\S]*?)```/),n=!!t&&e.side===`additions`,r=t?t[1].trimEnd():``;return n?(0,G.jsxs)(`div`,{className:`suggestion-card`,style:{marginTop:`12px`,marginBottom:`4px`,border:`1px solid var(--border-normal)`,borderRadius:`var(--radius-md)`,overflow:`hidden`,background:`var(--bg-primary)`,boxShadow:`var(--shadow-sm)`},children:[(0,G.jsxs)(`div`,{className:`suggestion-header`,style:{padding:`8px 12px`,background:`var(--bg-secondary)`,borderBottom:`1px solid var(--border-normal)`,display:`flex`,alignItems:`center`,justifyContent:`space-between`,fontSize:`12px`,fontWeight:600},children:[(0,G.jsx)(`span`,{style:{color:`var(--text-secondary)`},children:`Suggested Change`}),u?(0,G.jsxs)(`span`,{style:{color:`var(--feedback-success-text)`,display:`inline-flex`,alignItems:`center`,gap:`4px`},children:[(0,G.jsx)(YD,{size:12}),` Applied`]}):(0,G.jsx)(`button`,{className:`btn btn-primary btn-sm`,onClick:async()=>{try{await c(e.id)}catch(e){alert(e.message)}},style:{fontSize:`11px`,padding:`2px 8px`,borderRadius:`var(--radius-sm)`,height:`24px`},children:`Apply Suggestion`})]}),(0,G.jsxs)(`div`,{className:`suggestion-diff`,style:{display:`flex`,flexDirection:`column`,fontSize:`12px`,fontFamily:`var(--font-mono)`,overflowX:`auto`},children:[(0,G.jsxs)(`div`,{style:{display:`flex`,padding:`8px 12px`,background:`var(--feedback-danger-bg)`,borderBottom:`1px dashed var(--border-color)`,color:`var(--feedback-danger-text)`,minWidth:`max-content`},children:[(0,G.jsx)(`span`,{style:{width:`20px`,userSelect:`none`,opacity:.5},children:`-`}),(0,G.jsx)(`span`,{style:{whiteSpace:`pre`},children:e.lineContent})]}),(0,G.jsxs)(`div`,{style:{display:`flex`,padding:`8px 12px`,background:`var(--feedback-success-bg)`,color:`var(--feedback-success-text)`,minWidth:`max-content`},children:[(0,G.jsx)(`span`,{style:{width:`20px`,userSelect:`none`,opacity:.5},children:`+`}),(0,G.jsx)(`span`,{style:{whiteSpace:`pre`},children:r})]})]})]}):null})()]})]}),e.replies?.length>0&&(0,G.jsx)(`div`,{className:`comment-replies`,role:`list`,"aria-label":`Replies`,children:e.replies.map((t,n)=>{let r=t.role===`agent`,i=y===t.id;return(0,G.jsxs)(`div`,{className:`comment-node ${r?`comment-node-agent`:`comment-node-user`} ${u?`comment-node-resolved`:``}`,role:`listitem`,"aria-label":`${r?`Agent`:`User`} reply ${n+1}`,children:[(0,G.jsx)(`div`,{className:`comment-avatar-col`,children:(0,G.jsx)(QW,{role:r?`agent`:`user`,size:14})}),(0,G.jsxs)(`div`,{className:`comment-content-col`,children:[(0,G.jsxs)(`div`,{className:`comment-node-header`,children:[(0,G.jsx)(`span`,{className:`comment-node-author`,children:r?`Agent`:`User`}),(0,G.jsx)(`span`,{className:`comment-node-badge ${r?`comment-node-badge-agent`:`comment-node-badge-user`}`,children:r?`Agent`:`User`}),r&&t.model&&(0,G.jsx)(`span`,{style:{fontSize:`10px`,fontWeight:600,padding:`1px 5px`,borderRadius:`4px`,background:`var(--bg-tertiary)`,color:`var(--text-secondary)`,fontFamily:`var(--font-mono)`},children:t.model}),(0,G.jsx)(`span`,{className:`comment-node-time`,children:eE(t.createdAt)}),!u&&(0,G.jsxs)(`div`,{className:`comment-node-actions`,children:[(0,G.jsx)(`button`,{className:`comment-node-btn`,onClick:()=>D(t.id),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),D(t.id))},title:`Edit reply`,"aria-label":`Edit reply`,tabIndex:0,children:(0,G.jsx)(GO,{size:12,"aria-hidden":`true`})}),(0,G.jsx)(`button`,{className:`comment-node-btn comment-node-btn-delete`,onClick:()=>O(t.id),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),O(t.id))},title:`Delete reply`,"aria-label":`Delete reply`,tabIndex:0,children:(0,G.jsx)(rk,{size:12,"aria-hidden":`true`})})]})]}),i?(0,G.jsx)(`div`,{style:{background:`var(--bg-secondary)`,borderRadius:`var(--radius-md)`,border:`1px solid var(--border-color)`,marginTop:`6px`},children:(0,G.jsx)(ZW,{draftKey:`reply-edit:${e.id}:${t.id}`,initialBody:t.body,onSubmit:n=>{s(e.id,t.id,n),b(null)},onCancel:()=>b(null)})}):(0,G.jsx)(gH,{content:t.body,className:`comment-node-body markdown-body`})]})]},t.id)})}),(0,G.jsxs)(`div`,{className:`comment-canvas-footer`,children:[!p&&(0,G.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,alignItems:`center`},children:[(0,G.jsxs)(`button`,{onClick:()=>m(!0),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),m(!0))},className:`comment-reply-trigger`,"aria-label":`Write a reply`,tabIndex:0,style:{width:`100%`,maxWidth:`320px`},children:[(0,G.jsx)(JO,{size:14,"aria-hidden":`true`}),`Reply...`]}),u?(0,G.jsxs)(`div`,{style:{display:`flex`,gap:`6px`,marginLeft:`12px`},children:[(0,G.jsx)(`button`,{className:`btn btn-secondary btn-sm`,onClick:()=>f(!0),style:{fontSize:`12px`,padding:`4px 10px`},"aria-label":`Hide resolved conversation`,children:`Hide`}),(0,G.jsx)(`button`,{className:`btn btn-secondary btn-sm`,onClick:E,style:{fontSize:`12px`,padding:`4px 10px`},"aria-label":`Unresolve conversation`,children:`Unresolve`})]}):(0,G.jsx)(`button`,{className:`btn btn-secondary btn-sm`,onClick:T,style:{fontSize:`12px`,padding:`4px 10px`,marginLeft:`12px`},"aria-label":`Resolve conversation`,children:`Resolve conversation`})]}),p&&(0,G.jsx)(`div`,{style:{background:`var(--bg-secondary)`,borderRadius:`var(--radius-md)`,border:`1px solid var(--border-color)`,marginTop:`4px`},children:(0,G.jsx)(ZW,{draftKey:`reply:${e.id}`,onSubmit:t=>{a(e.id,t),m(!1)},onCancel:()=>{m(!1),x.current?.focus()}})})]})]})}function eG({comment:e,lineContent:t,onReply:n,onEdit:r,onDelete:i,onSetResolved:a}){let[o,s]=(0,W.useState)(!1),[c,l]=(0,W.useState)(!1),[u,d]=(0,W.useState)(``),[f,p]=(0,W.useState)(!1),[m,h]=(0,W.useState)(null),[g,_]=(0,W.useState)(!1),[v,y]=(0,W.useState)(e.body),[b,x]=(0,W.useState)(!1);(0,W.useEffect)(()=>{g||y(e.body)},[e.body,g]);let S=e.state?{APPROVED:{icon:YD,label:`Approved`,cls:`badge-approved`},CHANGES_REQUESTED:{icon:ik,label:`Changes requested`,cls:`badge-changes`},COMMENTED:{icon:jO,label:`Commented`,cls:`badge-commented`},PENDING:{icon:jO,label:`Pending`,cls:`badge-pending`},DISMISSED:{icon:ik,label:`Dismissed`,cls:`badge-dismissed`}}[e.state]:null,C=tG(e.body),w=async()=>{let t=u.trim();if(!(!t||!n)){p(!0),h(null);try{await n(e.id,t),d(``),l(!1),s(!0)}catch(e){h(e?.message??`Failed to reply`)}finally{p(!1)}}},T=async e=>{x(!0),h(null);try{await e()}catch(e){throw h(e?.message??`GitHub update failed`),e}finally{x(!1)}},E=async()=>{let t=v.trim();if(!(!t||!r))try{await T(()=>r(e.id,t)),_(!1)}catch{}};return(0,G.jsxs)(`div`,{className:`pr-existing-bubble ${e.isResolved?`is-resolved`:``}`,children:[(0,G.jsxs)(`div`,{className:`pr-existing-bubble-head`,children:[e.author?(0,G.jsx)(`img`,{className:`pr-existing-avatar`,src:e.author.avatarUrl,alt:e.author.login}):(0,G.jsx)(`div`,{className:`pr-existing-avatar pr-existing-avatar-fallback`}),(0,G.jsxs)(`div`,{className:`pr-existing-bubble-meta`,children:[(0,G.jsxs)(`span`,{className:`pr-existing-bubble-author`,children:[`@`,e.author?.login??`unknown`]}),(0,G.jsx)(`span`,{className:`pr-existing-bubble-date`,children:new Date(e.createdAt).toLocaleString()})]}),(0,G.jsx)(`span`,{className:`pr-existing-bubble-source`,children:`from GitHub`}),e.line!=null&&(0,G.jsxs)(`span`,{className:`pr-existing-bubble-location`,children:[`L`,e.line,` · `,e.side===`LEFT`?`base`:`head`]}),S&&(0,G.jsxs)(`span`,{className:`pr-existing-bubble-badge ${S.cls}`,children:[(0,G.jsx)(S.icon,{size:11}),` `,S.label]}),e.isOutdated&&(0,G.jsxs)(`span`,{className:`pr-existing-bubble-badge badge-outdated`,children:[(0,G.jsx)(ik,{size:11}),` outdated`]}),e.isResolved&&(0,G.jsxs)(`span`,{className:`pr-existing-bubble-badge badge-approved`,children:[(0,G.jsx)(YD,{size:11}),` resolved`]}),(0,G.jsxs)(`span`,{className:`pr-existing-bubble-actions`,children:[e.threadId&&a&&(0,G.jsx)(`button`,{type:`button`,className:`file-diff-icon-btn`,disabled:b||(e.isResolved?e.viewerCanUnresolve===!1:e.viewerCanResolve===!1),onClick:()=>{T(()=>a(e.threadId,!e.isResolved)).catch(()=>void 0)},title:e.isResolved?`Reopen conversation on GitHub`:`Resolve conversation on GitHub`,"aria-label":e.isResolved?`Reopen conversation`:`Resolve conversation`,children:e.isResolved?(0,G.jsx)(YO,{size:12}):(0,G.jsx)(YD,{size:12})}),r&&e.viewerDidAuthor!==!1&&(0,G.jsx)(`button`,{type:`button`,className:`file-diff-icon-btn`,disabled:b,onClick:()=>_(!0),title:`Edit on GitHub`,"aria-label":`Edit GitHub comment`,children:(0,G.jsx)(GO,{size:12})}),i&&e.viewerDidAuthor!==!1&&(0,G.jsx)(`button`,{type:`button`,className:`file-diff-icon-btn danger`,disabled:b,onClick:()=>{window.confirm(`Delete this published comment from GitHub?`)&&T(()=>i(e.id)).catch(()=>void 0)},title:`Delete from GitHub`,"aria-label":`Delete GitHub comment`,children:(0,G.jsx)(rk,{size:12})})]})]}),g?(0,G.jsxs)(`div`,{className:`pr-existing-edit-form`,children:[(0,G.jsx)(`textarea`,{value:v,onChange:e=>y(e.target.value),rows:3,"aria-label":`Edit GitHub comment body`}),(0,G.jsxs)(`div`,{className:`pr-existing-reply-form-actions`,children:[(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm`,disabled:b,onClick:()=>{_(!1),y(e.body)},children:`Cancel`}),(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm btn-primary`,disabled:b||!v.trim(),onClick:()=>{E()},children:b?`Saving…`:`Save on GitHub`})]})]}):(0,G.jsxs)(G.Fragment,{children:[C.remainingBody&&(0,G.jsx)(gH,{content:C.remainingBody,className:`pr-existing-bubble-body markdown-body`}),C.code!=null&&(0,G.jsxs)(`div`,{className:`pr-existing-suggestion`,"aria-label":`Suggested change preview`,children:[(0,G.jsxs)(`div`,{className:`pr-existing-suggestion-head`,children:[(0,G.jsx)(`span`,{children:`Suggested change`}),(0,G.jsx)(`span`,{className:`pr-existing-suggestion-preview-label`,children:`Preview`})]}),(0,G.jsxs)(`div`,{className:`pr-existing-suggestion-diff`,children:[t!=null&&t!==``&&(0,G.jsxs)(`div`,{className:`pr-existing-suggestion-line is-removed`,children:[(0,G.jsx)(`span`,{"aria-hidden":`true`,children:`−`}),(0,G.jsx)(`code`,{children:t})]}),(0,G.jsxs)(`div`,{className:`pr-existing-suggestion-line is-added`,children:[(0,G.jsx)(`span`,{"aria-hidden":`true`,children:`+`}),(0,G.jsx)(`code`,{children:C.code})]})]})]})]}),e.replies.length>0&&(0,G.jsxs)(`button`,{type:`button`,className:`pr-existing-bubble-toggle`,onClick:()=>s(e=>!e),children:[o?`Hide`:`Show`,` `,e.replies.length,` repl`,e.replies.length===1?`y`:`ies`]}),o&&e.replies.length>0&&(0,G.jsx)(`ul`,{className:`pr-existing-replies`,children:e.replies.map(e=>(0,G.jsx)(nG,{reply:e,onEdit:r,onDelete:i},e.id))}),n&&(0,G.jsx)(`div`,{className:`pr-existing-reply-actions`,children:c?(0,G.jsxs)(`div`,{className:`pr-existing-reply-form`,children:[(0,G.jsx)(`textarea`,{value:u,onChange:e=>d(e.target.value),rows:3,placeholder:`Reply to this thread on GitHub…`,"aria-label":`Reply body`}),m&&(0,G.jsx)(`p`,{className:`pr-existing-reply-error`,children:m}),(0,G.jsxs)(`div`,{className:`pr-existing-reply-form-actions`,children:[(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm`,onClick:()=>{l(!1),d(``),h(null)},disabled:f,children:`Cancel`}),(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm btn-primary`,onClick:w,disabled:f||!u.trim(),children:f?`Sending…`:`Post reply`})]})]}):(0,G.jsxs)(`button`,{type:`button`,className:`btn btn-sm pr-existing-reply-btn`,onClick:()=>l(!0),children:[(0,G.jsx)(sO,{size:12}),`Reply on GitHub`]})}),m&&!c&&(0,G.jsx)(`p`,{className:`pr-existing-reply-error`,role:`alert`,children:m})]})}function tG(e){let t=/```suggestion[^\r\n]*\r?\n([\s\S]*?)```/i.exec(e);return t?{remainingBody:e.replace(/```suggestion[^\r\n]*\r?\n[\s\S]*?```/gi,``).trim(),code:t[1].replace(/\r\n/g,`
1937
- `).replace(/\n$/,``)}:{remainingBody:e,code:null}}function nG({reply:e,onEdit:t,onDelete:n}){let[r,i]=(0,W.useState)(!1),[a,o]=(0,W.useState)(e.body),[s,c]=(0,W.useState)(!1),[l,u]=(0,W.useState)(null);(0,W.useEffect)(()=>{r||o(e.body)},[e.body,r]);let d=async()=>{if(!(!t||!a.trim())){c(!0),u(null);try{await t(e.id,a.trim()),i(!1)}catch(e){u(e?.message??`Failed to edit reply`)}finally{c(!1)}}},f=async()=>{if(!(!n||!window.confirm(`Delete this published reply from GitHub?`))){c(!0),u(null);try{await n(e.id)}catch(e){u(e?.message??`Failed to delete reply`),c(!1)}}};return(0,G.jsxs)(`li`,{className:`pr-existing-reply`,children:[(0,G.jsxs)(`div`,{className:`pr-existing-bubble-meta`,children:[(0,G.jsxs)(`span`,{className:`pr-existing-bubble-author`,children:[`@`,e.author?.login??`unknown`]}),(0,G.jsx)(`span`,{className:`pr-existing-bubble-date`,children:new Date(e.createdAt).toLocaleString()}),(0,G.jsxs)(`span`,{className:`pr-existing-bubble-actions`,children:[t&&e.viewerDidAuthor!==!1&&(0,G.jsx)(`button`,{type:`button`,className:`file-diff-icon-btn`,disabled:s,onClick:()=>i(!0),"aria-label":`Edit GitHub reply`,children:(0,G.jsx)(GO,{size:11})}),n&&e.viewerDidAuthor!==!1&&(0,G.jsx)(`button`,{type:`button`,className:`file-diff-icon-btn danger`,disabled:s,onClick:()=>{f()},"aria-label":`Delete GitHub reply`,children:(0,G.jsx)(rk,{size:11})})]})]}),r?(0,G.jsxs)(`div`,{className:`pr-existing-edit-form is-reply`,children:[(0,G.jsx)(`textarea`,{value:a,onChange:e=>o(e.target.value),rows:3,"aria-label":`Edit GitHub reply body`}),(0,G.jsxs)(`div`,{className:`pr-existing-reply-form-actions`,children:[(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm`,disabled:s,onClick:()=>{i(!1),o(e.body)},children:`Cancel`}),(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm btn-primary`,disabled:s||!a.trim(),onClick:()=>{d()},children:s?`Saving…`:`Save`})]})]}):(0,G.jsx)(`p`,{children:e.body}),l&&(0,G.jsx)(`p`,{className:`pr-existing-reply-error`,role:`alert`,children:l})]})}function rG(e){let t=e.hunks??[];if(t.length===0)return[];let n=t.map(e=>{let t=e.additionCount??e.additionLines??0,n=e.deletionCount??e.deletionLines??0;return Math.max(1,t+n)}),r=n.reduce((e,t)=>e+t,0)||1,i=0;return t.map((e,t)=>{let a=e.additionCount??e.additionLines??0,o=e.deletionCount??e.deletionLines??0,s=n[t]/r,c=i;i+=s;let l=`change`;a>0&&o===0?l=`add`:o>0&&a===0&&(l=`del`);let u=e.additionStart||0,d=e.deletionStart||0,f=u||d||1,p=u&&a>0?u+Math.max(0,a-1):d&&o>0?d+Math.max(0,o-1):f,m=p===f?`L${f}`:`L${f}–${p}`;return{start:c,height:s,kind:l,line:f,index:t+1,additions:a,deletions:o,rangeLabel:m}})}function iG(e){return e===`add`?`Added`:e===`del`?`Removed`:`Modified`}function aG(e){let t=[];return e.additions>0&&t.push(`+${e.additions}`),e.deletions>0&&t.push(`−${e.deletions}`),t.join(` `)||`empty`}function oG(e){return[`Hunk ${e.index}`,iG(e.kind),aG(e),e.rangeLabel,`Click to jump`].join(` · `)}var sG=(0,W.memo)(function({fileDiff:e,filePath:t,onJump:n}){let r=(0,W.useMemo)(()=>rG(e),[e]),[i,a]=(0,W.useState)(null),[o,s]=(0,W.useState)(null),c=(0,W.useMemo)(()=>{let e=0,t=0;for(let n of r)e+=n.additions,t+=n.deletions;return{additions:e,deletions:t,hunks:r.length}},[r]),l=(0,W.useCallback)(e=>{if(s(e.index),n){n(t,e.line);return}(document.getElementById(`file-${CSS.escape(t)}`)??document.querySelector(`[data-file-path="${CSS.escape(t)}"]`))?.scrollIntoView({behavior:`smooth`,block:`start`})},[t,n]);if(r.length===0)return null;let u=i==null?null:r.find(e=>e.index===i);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`div`,{className:`diff-minimap-header`,role:`region`,"aria-label":`Change map for ${t}`,children:[(0,G.jsxs)(`div`,{className:`diff-minimap-meta`,children:[(0,G.jsxs)(`span`,{className:`diff-minimap-title`,children:[(0,G.jsx)(OO,{size:12,"aria-hidden":`true`}),`Change map`]}),(0,G.jsxs)(`span`,{className:`diff-minimap-summary`,children:[c.hunks,` hunk`,c.hunks===1?``:`s`,c.additions>0&&(0,G.jsxs)(`span`,{className:`diff-minimap-stat-add`,children:[` +`,c.additions]}),c.deletions>0&&(0,G.jsxs)(`span`,{className:`diff-minimap-stat-del`,children:[` −`,c.deletions]})]}),(0,G.jsx)(`span`,{className:`diff-minimap-hint`,children:`Hover the bar on the right · Click to jump`})]}),(0,G.jsxs)(`div`,{className:`diff-minimap-footer`,children:[(0,G.jsxs)(`div`,{className:`diff-minimap-legend`,"aria-hidden":`true`,children:[(0,G.jsxs)(`span`,{className:`diff-minimap-legend-item`,children:[(0,G.jsx)(`i`,{className:`diff-minimap-dot diff-minimap-dot-add`}),` Added`]}),(0,G.jsxs)(`span`,{className:`diff-minimap-legend-item`,children:[(0,G.jsx)(`i`,{className:`diff-minimap-dot diff-minimap-dot-del`}),` Removed`]}),(0,G.jsxs)(`span`,{className:`diff-minimap-legend-item`,children:[(0,G.jsx)(`i`,{className:`diff-minimap-dot diff-minimap-dot-change`}),` Modified`]})]}),u?(0,G.jsxs)(`div`,{className:`diff-minimap-live`,"aria-live":`polite`,children:[(0,G.jsxs)(`strong`,{children:[`#`,u.index]}),(0,G.jsx)(`span`,{children:iG(u.kind)}),(0,G.jsx)(`span`,{className:`diff-minimap-live-stats`,children:aG(u)}),(0,G.jsx)(`span`,{className:`diff-minimap-live-range`,children:u.rangeLabel})]}):(0,G.jsx)(`div`,{className:`diff-minimap-live diff-minimap-live-idle`,children:`Hover a block for details`})]})]}),(0,G.jsx)(`div`,{className:`diff-minimap`,role:`navigation`,"aria-label":`Jump to changes in ${t}`,children:(0,G.jsx)(`div`,{className:`diff-minimap-track`,role:`list`,children:r.map(e=>{let t=i===e.index||o===e.index;return(0,G.jsx)($T,{content:oG(e),side:`left`,children:(0,G.jsx)(`button`,{type:`button`,role:`listitem`,className:[`diff-minimap-seg`,`diff-minimap-seg-${e.kind}`,t?`diff-minimap-seg-hot`:``,o===e.index?`diff-minimap-seg-active`:``].filter(Boolean).join(` `),style:{top:`${e.start*100}%`,height:`${Math.max(e.height*100,3)}%`},onClick:t=>{t.stopPropagation(),l(e)},onMouseEnter:()=>a(e.index),onMouseLeave:()=>a(null),onFocus:()=>a(e.index),onBlur:()=>a(null),"aria-label":oG(e)})},e.index)})})})]})});function cG(e){return e.endSide??e.side??`additions`}function lG(e){return e.side??e.endSide??`additions`}function uG(e){if(e.startSide&&e.startSide!==e.side){if(e.startLineNumber==null||e.startLineNumber===e.lineNumber){let{startLineNumber:t,startSide:n,...r}=e;return r}return e}let t=e.startLineNumber==null?e.lineNumber:Math.min(e.startLineNumber,e.lineNumber),n=e.startLineNumber==null?e.lineNumber:Math.max(e.startLineNumber,e.lineNumber);return t===n?{side:e.side,lineNumber:n}:{side:e.side,lineNumber:n,startLineNumber:t}}function dG(e){let t=lG(e),n=cG(e);if(t===n){let t=Math.min(e.start,e.end),r=Math.max(e.start,e.end);return uG({side:n,lineNumber:r,startLineNumber:t===r?void 0:t})}return{side:n,lineNumber:e.end,startLineNumber:e.start===e.end?void 0:e.start,startSide:t}}function fG(e){return e.side===`deletions`?`old`:`new`}function pG(e){let t=fG(e);return e.startLineNumber!=null&&e.startLineNumber!==e.lineNumber?`L${Math.min(e.startLineNumber,e.lineNumber)}–L${Math.max(e.startLineNumber,e.lineNumber)} · ${t}`:`L${e.lineNumber} · ${t}`}function mG(e){return e.startSide&&e.startSide!==e.side?{start:e.startLineNumber??e.lineNumber,end:e.lineNumber}:{start:e.startLineNumber==null?e.lineNumber:Math.min(e.startLineNumber,e.lineNumber),end:e.startLineNumber==null?e.lineNumber:Math.max(e.startLineNumber,e.lineNumber)}}function hG(e){return e.startLineNumber!=null&&e.startLineNumber!==e.lineNumber?{start:e.startLineNumber,end:e.lineNumber,side:e.startSide??e.side,...e.startSide&&e.startSide!==e.side?{endSide:e.side}:{}}:{start:e.lineNumber,end:e.lineNumber,side:e.side}}function gG(e,t,n){if(e.startSide&&e.startSide!==e.side)return e;if(!Number.isFinite(t)||t===0)return uG(e);let{start:r,end:i}=mG(e),a=r+t;return n&&(a=Math.max(n.min,Math.min(n.max,a))),a=Math.min(a,i),uG({side:e.side,lineNumber:i,startLineNumber:a})}function _G(e,t,n){if(e.startSide&&e.startSide!==e.side)return e;if(!Number.isFinite(t)||t===0)return uG(e);let{start:r,end:i}=mG(e),a=i+t;return n&&(a=Math.max(n.min,Math.min(n.max,a))),a=Math.max(a,r),uG({side:e.side,lineNumber:a,startLineNumber:r})}function vG(e,t,n){if(e.startSide&&e.startSide!==e.side)return!1;let r=gG(e,t,n);return r.startLineNumber!==e.startLineNumber||r.lineNumber!==e.lineNumber}function yG(e,t,n){if(e.startSide&&e.startSide!==e.side)return!1;let r=_G(e,t,n);return r.startLineNumber!==e.startLineNumber||r.lineNumber!==e.lineNumber}function bG(e,t){if(t.isOutdated||t.line==null||t.line<1||t.side==null)return!1;let n=t.side===`LEFT`?`deletions`:`additions`,r=n===`additions`?`additionStart`:`deletionStart`,i=n===`additions`?`additionCount`:`deletionCount`;return e.hunks.some(e=>t.line>=e[r]&&t.line<e[r]+e[i])}function xG(e,t,n){let r=t===`additions`?`additionStart`:`deletionStart`,i=t===`additions`?`additionCount`:`deletionCount`,a=1/0,o=0;for(let t of e.hunks){let e=t[r],n=t[i];n<=0||(a=Math.min(a,e),o=Math.max(o,e+n-1))}return n&&n>0&&(a=Math.min(a===1/0?1:a,1),o=Math.max(o,n)),!Number.isFinite(a)||o<1?{min:1,max:Math.max(1,n??1)}:{min:a,max:o}}var SG=(0,W.memo)(function({id:e,fileDiff:t,filePath:n,annotations:r,existingComments:i=[],diffStyle:a,tabSize:o,viewed:s,theme:c,editorIDE:l,lineDiffType:u,lineWrap:d,diffIndicators:f,showLineNumbers:p,hunkSeparators:m,lineHoverHighlight:h,fontSize:g,monoFontFamily:_,expandContextByDefault:v,collapsedContextThreshold:y,expansionLineCount:b,autoCollapseLineThreshold:x,onViewedChange:S,onAddComment:C,onDeleteComment:w,onReplyExisting:T,onEditExisting:E,onDeleteExisting:D,onSetExistingResolved:O,allowLocalActions:k=!0,onCardToggleCollapse:A}){let[j,M]=(0,W.useState)(null),[N,P]=(0,W.useState)(null),[F,I]=(0,W.useState)(0),L=(0,W.useRef)(null),[R,z]=(0,W.useState)(null),[ee,te]=(0,W.useState)(!1),ne=t.additionLines.length+t.deletionLines.length,[B,V]=(0,W.useState)(s||x>0&&ne>x),[re,ie]=(0,W.useState)(!1),[ae,oe]=(0,W.useState)(!1),[se,ce]=(0,W.useState)(v),[H,le]=(0,W.useState)(null),[ue,U]=(0,W.useState)(null),[de,fe]=(0,W.useState)(null),pe=(0,W.useRef)(null),[me,he]=(0,W.useState)(!1),ge=e=>{e.stopPropagation(),!(typeof navigator>`u`||!navigator.clipboard)&&navigator.clipboard.writeText(n).then(()=>{te(!0),window.setTimeout(()=>te(!1),1500)},()=>{})},_e=async(e,t=!1)=>{if(H===null&&!(!t&&typeof window<`u`&&!window.confirm(`Revert hunk #${e+1} in ${n}? This rewrites the file via "git apply --reverse".`))){le(e),U(null);try{let t=await fetch(`/api/revert-hunk`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({filePath:n,hunkIndex:e})});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error??`HTTP ${t.status}`)}}catch(e){U(e.message)}finally{le(null)}}},ve=t.type===`change`||t.type===`rename-changed`,ye=!B&&ve,be=t.prevName??n,{loading:xe,oldContent:Se,newContent:Ce}=zW(n,se&&ye,be),we=se&&Se!==null&&Ce!==null;(0,W.useLayoutEffect)(()=>{V(s)},[s]),(0,W.useEffect)(()=>{if(me||B)return;let e=pe.current;if(!e||typeof IntersectionObserver>`u`){he(!0);return}let t=e.getBoundingClientRect();if(t.bottom>=-800&&t.top<=(typeof window<`u`?window.innerHeight+800:2e3)){he(!0);return}let n=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&(he(!0),n.disconnect())},{root:null,rootMargin:`800px 0px`,threshold:0});return n.observe(e),()=>n.disconnect()},[B,me]);let Te=nE[c]||nE.nord,Ee=(0,W.useMemo)(()=>wG(o,g,_),[o,g,_]),De=(e,n,r)=>{let i=r??n,a=n,o=Math.min(i,a),s=Math.max(i,a),c=[],l=we?(e===`additions`?Ce:Se)?.replace(/\r\n/g,`
1936
+ `))return;c()}},j=async e=>{let t=e.clipboardData.items,n=null;for(let e=0;e<t.length;e++){let r=t[e];if(r.kind===`file`&&r.type.startsWith(`image/`)){n=r.getAsFile();break}}if(!n)return;e.preventDefault();let r=C.current;if(!r)return;let i=r.selectionStart,a=r.selectionEnd,o=Math.random().toString(36).slice(2,8),s=`![Uploading image… ${o}]()`,c=r.value;g(c.slice(0,i)+s+c.slice(a));try{let e=new FormData;e.append(`file`,n,n.name||`pasted-${o}.png`);let t=await fetch(`/api/attachments`,{method:`POST`,body:e});if(!t.ok)throw Error(`HTTP ${t.status}`);let r=await t.json();if(!r.url)throw Error(r.error||`Upload failed`);let i=`![pasted image](${r.url})`;g(e=>e.replace(s,i))}catch(e){console.error(`Image upload failed:`,e),g(e=>e.replace(s,`![upload failed]()`))}},M=!!(r&&i&&a),N=r?Math.abs(r.end-r.start)+1:0,P=M&&(r.canAdjustStart?.(-1)??!0),F=M&&(r.canAdjustStart?.(1)??!0),I=M&&(r.canAdjustEnd?.(-1)??!0),L=M&&(r.canAdjustEnd?.(1)??!0),R=e=>{e.preventDefault()};return(0,G.jsxs)(`div`,{className:`comment-form`,style:{padding:`16px`},role:`form`,"aria-label":`Comment form`,children:[M&&r?(0,G.jsxs)(`div`,{className:`comment-form-range`,"aria-live":`polite`,children:[(0,G.jsx)(`span`,{className:`comment-form-range-prefix`,children:`Commenting on`}),(0,G.jsxs)(`div`,{className:`comment-form-range-controls`,role:`group`,"aria-label":`Comment line range`,children:[(0,G.jsxs)(`div`,{className:`comment-form-range-edge`,"aria-label":`Range start`,children:[(0,G.jsx)(`button`,{type:`button`,className:`comment-form-range-btn`,"aria-label":`Expand range upward`,title:`Expand range upward`,disabled:!P,onMouseDown:R,onClick:()=>i(-1),children:`−`}),(0,G.jsxs)(`span`,{className:`comment-form-range-num`,"aria-label":`Start line ${r.start}`,children:[`L`,r.start]}),(0,G.jsx)(`button`,{type:`button`,className:`comment-form-range-btn`,"aria-label":`Shrink range from top`,title:`Shrink range from top`,disabled:!F,onMouseDown:R,onClick:()=>i(1),children:`+`})]}),(0,G.jsx)(`span`,{className:`comment-form-range-sep`,"aria-hidden":`true`,children:`–`}),(0,G.jsxs)(`div`,{className:`comment-form-range-edge`,"aria-label":`Range end`,children:[(0,G.jsx)(`button`,{type:`button`,className:`comment-form-range-btn`,"aria-label":`Shrink range from bottom`,title:`Shrink range from bottom`,disabled:!I,onMouseDown:R,onClick:()=>a(-1),children:`−`}),(0,G.jsxs)(`span`,{className:`comment-form-range-num`,"aria-label":`End line ${r.end}`,children:[`L`,r.end]}),(0,G.jsx)(`button`,{type:`button`,className:`comment-form-range-btn`,"aria-label":`Expand range downward`,title:`Expand range downward`,disabled:!L,onMouseDown:R,onClick:()=>a(1),children:`+`})]})]}),(0,G.jsxs)(`span`,{className:`comment-form-range-meta`,children:[(0,G.jsx)(`span`,{className:`comment-form-range-side`,children:r.sideLabel}),(0,G.jsxs)(`span`,{className:`comment-form-range-count`,children:[N,` line`,N===1?``:`s`]})]})]}):n?(0,G.jsxs)(`div`,{className:`comment-form-line-label`,"aria-live":`polite`,children:[`Commenting on `,(0,G.jsx)(`strong`,{children:n})]}):null,(0,G.jsxs)(`div`,{className:`comment-form-tabs`,role:`tablist`,"aria-label":`Comment form mode`,children:[(0,G.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":y===`write`,"aria-controls":`comment-write-panel`,onClick:()=>b(`write`),onKeyDown:e=>{e.key===`ArrowRight`&&(e.preventDefault(),b(`preview`))},className:`comment-form-tab-btn ${y===`write`?`comment-form-tab-btn-active`:`comment-form-tab-btn-inactive`}`,children:`Write`}),(0,G.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":y===`preview`,"aria-controls":`comment-preview-panel`,onClick:()=>b(`preview`),onKeyDown:e=>{e.key===`ArrowLeft`&&(e.preventDefault(),b(`write`))},className:`comment-form-tab-btn ${y===`preview`?`comment-form-tab-btn-active`:`comment-form-tab-btn-inactive`}`,children:`Preview`})]}),y===`write`?(0,G.jsxs)(`div`,{children:[(0,G.jsxs)(`div`,{className:`comment-form-suggest-row`,children:[m.length>0&&(0,G.jsxs)(`div`,{className:`comment-form-saved-replies`,children:[(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm comment-form-suggest-btn`,onClick:()=>S(e=>!e),"aria-expanded":x,title:`Insert a saved reply template`,children:`Saved replies`}),x&&(0,G.jsx)(`ul`,{className:`comment-form-saved-list`,role:`listbox`,children:m.map(e=>(0,G.jsxs)(`li`,{children:[(0,G.jsx)(`button`,{type:`button`,onClick:()=>E(e),role:`option`,children:e.title}),(0,G.jsx)(`button`,{type:`button`,className:`comment-form-saved-delete`,"aria-label":`Delete template ${e.title}`,onClick:()=>p({savedReplies:m.filter(t=>t.id!==e.id)}),children:`×`})]},e.id))})]}),h.trim()&&(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm comment-form-suggest-btn`,onClick:D,title:`Save current body as a reusable template`,children:`Save template`}),t?(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm comment-form-suggest-btn`,onClick:k,title:"Insert a ```suggestion block pre-filled with the selected line(s)",children:`Suggest change`}):null]}),(0,G.jsxs)(`div`,{style:{position:`relative`},children:[(0,G.jsx)(`textarea`,{id:`comment-write-panel`,ref:e=>{C.current=e,T.setTextareaRef(e)},value:h,onChange:e=>g(e.target.value),onKeyDown:A,onPaste:j,placeholder:`Leave a review comment (supports Markdown and Pasting Clipboard Images)...`,rows:4,"aria-label":`Comment body`,style:{minHeight:`100px`}}),T.isOpen&&(0,G.jsx)(CH,{results:T.results,focusedIndex:T.focusedIndex,query:T.query,cursorTop:T.cursorTop,onSelect:T.onSelect,onHover:T.setFocusedIndex})]})]}):(0,G.jsxs)(`div`,{id:`comment-preview-panel`,ref:w,role:`tabpanel`,"aria-label":`Preview`,tabIndex:0,onKeyDown:e=>{e.key===`p`&&(e.metaKey||e.ctrlKey)&&e.shiftKey&&(e.preventDefault(),b(`write`))},style:{display:`flex`,flexDirection:`column`,gap:`12px`},children:[(()=>{let e=!!h.match(/```suggestion\n([\s\S]*?)```/);return h.replace(/```suggestion\n([\s\S]*?)```/g,``).trim().length>0||!e?(0,G.jsx)(`div`,{className:`comment-preview markdown-body`,style:{minHeight:`100px`,padding:`12px 16px`,border:`1px solid var(--border-normal)`,borderRadius:`var(--radius-md)`,background:`var(--bg-primary)`,fontSize:`14px`,lineHeight:1.6,color:`var(--text-primary)`,overflowY:`auto`,whiteSpace:`pre-wrap`,wordBreak:`break-word`,overflowWrap:`break-word`},children:h.trim()?(0,G.jsx)(gH,{content:JW(h)}):(0,G.jsx)(`span`,{style:{color:`var(--text-muted)`,fontStyle:`italic`},children:`Nothing to preview`})}):null})(),(()=>{let e=h.match(/```suggestion\n([\s\S]*?)```/),n=!!e,r=e?e[1].trimEnd():``;return n?(0,G.jsxs)(`div`,{className:`suggestion-card`,style:{border:`1px solid var(--border-normal)`,borderRadius:`var(--radius-md)`,overflow:`hidden`,background:`var(--bg-primary)`,boxShadow:`var(--shadow-sm)`},children:[(0,G.jsx)(`div`,{className:`suggestion-header`,style:{padding:`8px 12px`,background:`var(--bg-secondary)`,borderBottom:`1px solid var(--border-normal)`,display:`flex`,alignItems:`center`,justifyContent:`space-between`,fontSize:`12px`,fontWeight:600},children:(0,G.jsx)(`span`,{style:{color:`var(--text-secondary)`},children:`Suggested Change Preview`})}),(0,G.jsxs)(`div`,{className:`suggestion-diff`,style:{display:`flex`,flexDirection:`column`,fontSize:`12px`,fontFamily:`var(--font-mono)`,overflowX:`auto`},children:[t&&(0,G.jsxs)(`div`,{style:{display:`flex`,padding:`8px 12px`,background:`var(--feedback-danger-bg)`,borderBottom:`1px dashed var(--border-color)`,color:`var(--feedback-danger-text)`,minWidth:`max-content`},children:[(0,G.jsx)(`span`,{style:{width:`20px`,userSelect:`none`,opacity:.5},children:`-`}),(0,G.jsx)(`span`,{style:{whiteSpace:`pre`},children:t})]}),(0,G.jsxs)(`div`,{style:{display:`flex`,padding:`8px 12px`,background:`var(--feedback-success-bg)`,color:`var(--feedback-success-text)`,minWidth:`max-content`},children:[(0,G.jsx)(`span`,{style:{width:`20px`,userSelect:`none`,opacity:.5},children:`+`}),(0,G.jsx)(`span`,{style:{whiteSpace:`pre`},children:r})]})]})]}):null})()]}),(0,G.jsxs)(`div`,{className:`comment-form-actions`,children:[l&&(0,G.jsxs)(`div`,{className:`comment-form-severity`,"data-severity":_,children:[(0,G.jsx)(`span`,{className:`comment-form-severity-label`,children:`Severity`}),(0,G.jsx)(XW,{value:_,onChange:v})]}),(0,G.jsxs)(`div`,{className:`comment-form-actions-right`,children:[(0,G.jsx)(`button`,{type:`button`,className:`btn btn-secondary btn-sm`,onClick:c,children:`Cancel`}),(0,G.jsx)(`button`,{type:`button`,className:`btn btn-primary btn-sm`,onClick:O,disabled:!h.trim(),children:e?`Save`:`Comment`})]})]})]})}function QW({role:e,size:t=16}){return e===`agent`?(0,G.jsx)(`div`,{className:`comment-avatar-circle comment-avatar-agent`,style:{width:`${t*2}px`,height:`${t*2}px`},children:(0,G.jsx)(VD,{size:t,"aria-hidden":`true`})}):(0,G.jsx)(`div`,{className:`comment-avatar-circle comment-avatar-user`,style:{width:`${t*2}px`,height:`${t*2}px`},children:(0,G.jsx)(sk,{size:t,"aria-hidden":`true`})})}function $W({comment:e,onDelete:t}){let[,n]=(0,W.useState)(0),{resolveComment:r,unresolveComment:i,addReply:a,removeReply:o,editReply:s,applySuggestion:c,editComment:l}=xE(),u=e.status===`resolved`,[d,f]=(0,W.useState)(u),[p,m]=(0,W.useState)(!1),[h,g]=(0,W.useState)(!1),[_,v]=(0,W.useState)(!1),[y,b]=(0,W.useState)(null),x=(0,W.useRef)(null),S=e.body.replace(/```suggestion\n([\s\S]*?)```/g,``).trim().length>0,C=e.body.replace(/\s+/g,` `).trim().slice(0,72),w=e.replies?.length??0;(0,W.useEffect)(()=>{e.status===`resolved`&&f(!0)},[e.status]),(0,W.useEffect)(()=>{let e=setInterval(()=>n(e=>e+1),3e4);return()=>clearInterval(e)},[]);let T=()=>r(e.id),E=()=>i(e.id),D=e=>{b(e)},O=t=>{o(e.id,t)},k=(0,G.jsxs)(G.Fragment,{children:[e.lineNumber===0&&(0,G.jsx)(`span`,{className:`comment-file-chip`,children:`File`}),e.outdated&&(0,G.jsxs)(`span`,{className:`comment-outdated-badge`,title:`Anchored code no longer matches the live diff`,children:[(0,G.jsx)(ik,{size:10}),` outdated`]}),e.severity&&e.severity!==`none`&&(0,G.jsx)(`span`,{className:`comment-severity-badge`,"data-severity":e.severity,children:e.severity}),e.startLineNumber&&e.startLineNumber!==e.lineNumber&&(0,G.jsxs)(`span`,{className:`comment-range-chip`,children:[`L`,e.startLineNumber,`–`,e.lineNumber]}),e.lineNumber>0&&!(e.startLineNumber&&e.startLineNumber!==e.lineNumber)&&(0,G.jsxs)(`span`,{className:`comment-range-chip`,children:[`L`,e.lineNumber]})]});return d&&!h?(0,G.jsxs)(`div`,{className:`comment-collapsed-bar ${u?`comment-collapsed-bar-resolved`:``}`,id:`comment-${e.id}`,role:`article`,children:[(0,G.jsx)(`button`,{type:`button`,className:`comment-collapsed-toggle`,onClick:()=>f(!1),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),f(!1))},"aria-expanded":!1,"aria-label":u?`Show resolved conversation`:`Expand comment thread`,title:`Expand`,children:(0,G.jsx)(KD,{size:14,"aria-hidden":`true`})}),(0,G.jsxs)(`div`,{className:`comment-collapsed-main`,children:[u?(0,G.jsx)(YD,{size:14,className:`comment-collapsed-resolved-icon`,"aria-hidden":`true`}):(0,G.jsx)(QW,{role:`user`,size:11}),(0,G.jsx)(`span`,{className:`comment-collapsed-label`,children:u?`Resolved`:`User`}),k,(0,G.jsxs)(`span`,{className:`comment-collapsed-preview`,title:e.body,children:[C,e.body.length>72?`…`:``]}),(0,G.jsx)(`span`,{className:`comment-collapsed-meta`,children:w>0?`${w+1} comments`:`1 comment`})]}),(0,G.jsx)(`button`,{type:`button`,className:`comment-collapsed-expand-btn`,onClick:()=>f(!1),"aria-label":u?`Show resolved conversation`:`Expand comment thread`,children:`Expand`})]}):h?(0,G.jsx)(`div`,{className:`comment-bubble-canvas`,id:`comment-${e.id}`,role:`article`,"aria-label":`Edit comment`,children:(0,G.jsxs)(`div`,{className:`comment-node`,children:[(0,G.jsx)(`div`,{className:`comment-avatar-col`,children:(0,G.jsx)(QW,{role:`user`,size:16})}),(0,G.jsxs)(`div`,{className:`comment-content-col`,children:[(0,G.jsxs)(`div`,{className:`comment-node-header`,children:[(0,G.jsx)(`span`,{className:`comment-node-author`,children:`User`}),(0,G.jsx)(`span`,{className:`comment-node-badge comment-node-badge-user`,children:`User`}),(0,G.jsxs)(`span`,{className:`comment-node-time`,style:{display:`flex`,alignItems:`center`,gap:`8px`,flexWrap:`wrap`},children:[eE(e.createdAt),e.lineNumber===0&&(0,G.jsx)(`span`,{style:{padding:`1px 5px`,background:`var(--accent-subtle)`,border:`1px solid var(--primary)`,borderRadius:`var(--radius-sm)`,fontSize:`10px`,fontWeight:700,color:`var(--primary)`,textTransform:`uppercase`,letterSpacing:`0.5px`},children:`File Comment`}),e.outdated&&(0,G.jsxs)(`span`,{className:`comment-outdated-badge`,title:`Anchored code no longer matches the live diff`,children:[(0,G.jsx)(ik,{size:10}),` outdated`]}),e.severity&&e.severity!==`none`&&(0,G.jsx)(`span`,{className:`comment-severity-badge`,"data-severity":e.severity,children:e.severity}),e.startLineNumber&&e.startLineNumber!==e.lineNumber&&(0,G.jsxs)(`span`,{style:{padding:`1px 5px`,background:`var(--bg-primary)`,border:`1px solid var(--border-color)`,borderRadius:`var(--radius-sm)`,fontSize:`10px`,fontWeight:600,fontFamily:`var(--font-mono)`,color:`var(--text-secondary)`},children:[`L`,e.startLineNumber,`–`,e.lineNumber]})]})]}),(0,G.jsx)(`div`,{style:{marginTop:`8px`},children:(0,G.jsx)(ZW,{draftKey:`edit:${e.id}`,initialBody:e.body,lineContent:e.lineContent,onSubmit:t=>{l(e.id,t),g(!1)},onCancel:()=>g(!1)})})]})]})}):(0,G.jsxs)(`div`,{className:`comment-bubble-canvas ${u?`comment-bubble-canvas-resolved`:``}`,id:`comment-${e.id}`,role:`article`,"aria-label":e.lineNumber===0?`File-level comment`:`Comment by user on line ${e.lineNumber}`,children:[(0,G.jsxs)(`div`,{className:`comment-node ${u?`comment-node-resolved`:``}`,children:[(0,G.jsx)(`div`,{className:`comment-avatar-col`,children:(0,G.jsx)(QW,{role:`user`,size:16})}),(0,G.jsxs)(`div`,{className:`comment-content-col`,children:[(0,G.jsxs)(`div`,{className:`comment-node-header`,children:[(0,G.jsx)(`button`,{type:`button`,className:`comment-collapse-btn`,onClick:()=>f(!0),"aria-expanded":!0,"aria-label":`Collapse comment thread`,title:`Collapse`,children:(0,G.jsx)(WD,{size:14,"aria-hidden":`true`})}),(0,G.jsx)(`span`,{className:`comment-node-author`,children:`User`}),(0,G.jsx)(`span`,{className:`comment-node-badge comment-node-badge-user`,children:`User`}),(0,G.jsxs)(`span`,{className:`comment-node-time`,style:{display:`flex`,alignItems:`center`,gap:`8px`,flexWrap:`wrap`},children:[eE(e.createdAt),e.lineNumber===0&&(0,G.jsx)(`span`,{style:{padding:`1px 5px`,background:`var(--accent-subtle)`,border:`1px solid var(--primary)`,borderRadius:`var(--radius-sm)`,fontSize:`10px`,fontWeight:700,color:`var(--primary)`,textTransform:`uppercase`,letterSpacing:`0.5px`},children:`File Comment`}),e.startLineNumber&&e.startLineNumber!==e.lineNumber&&(0,G.jsxs)(`span`,{style:{padding:`1px 5px`,background:`var(--bg-primary)`,border:`1px solid var(--border-color)`,borderRadius:`var(--radius-sm)`,fontSize:`10px`,fontWeight:600,fontFamily:`var(--font-mono)`,color:`var(--text-secondary)`},children:[`L`,e.startLineNumber,`–`,e.lineNumber]})]}),u&&(0,G.jsxs)(`span`,{className:`comment-canvas-resolved-banner`,style:{marginLeft:`8px`},children:[(0,G.jsx)(YD,{size:13}),`Resolved`]}),!u&&(0,G.jsxs)(`div`,{className:`comment-node-actions`,children:[(0,G.jsx)(`button`,{ref:x,className:`comment-node-btn`,onClick:()=>g(!0),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),g(!0))},title:`Edit comment`,"aria-label":`Edit comment`,tabIndex:0,children:(0,G.jsx)(GO,{size:13,"aria-hidden":`true`})}),_?(0,G.jsxs)(`div`,{className:`comment-delete-confirm`,style:{display:`flex`,alignItems:`center`,gap:`4px`},children:[(0,G.jsxs)(`button`,{className:`comment-node-btn comment-node-btn-delete`,onClick:()=>t(e.id),title:`Confirm delete`,"aria-label":`Confirm delete comment`,style:{color:`var(--danger)`,background:`var(--feedback-danger-bg)`,fontWeight:600,fontSize:`11px`,borderRadius:`var(--radius-sm)`,border:`1px solid var(--feedback-danger-border)`,padding:`2px 6px`,cursor:`pointer`,display:`flex`,alignItems:`center`,gap:`2px`,width:`auto`,height:`auto`},children:[(0,G.jsx)(ik,{size:11}),`Delete?`]}),(0,G.jsx)(`button`,{className:`comment-node-btn`,onClick:()=>v(!1),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),v(!1))},title:`Cancel delete`,"aria-label":`Cancel delete`,style:{fontSize:`11px`,padding:`2px 6px`,width:`auto`,height:`auto`},children:`Cancel`})]}):(0,G.jsx)(`button`,{className:`comment-node-btn comment-node-btn-delete`,onClick:()=>v(!0),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),v(!0))},title:`Delete comment`,"aria-label":`Delete comment`,tabIndex:0,children:(0,G.jsx)(rk,{size:13,"aria-hidden":`true`})})]})]}),S&&(0,G.jsx)(gH,{content:e.body,className:`comment-node-body markdown-body ${u?`comment-resolved-line`:``}`}),(()=>{let t=e.body.match(/```suggestion\n([\s\S]*?)```/),n=!!t&&e.side===`additions`,r=t?t[1].trimEnd():``;return n?(0,G.jsxs)(`div`,{className:`suggestion-card`,style:{marginTop:`12px`,marginBottom:`4px`,border:`1px solid var(--border-normal)`,borderRadius:`var(--radius-md)`,overflow:`hidden`,background:`var(--bg-primary)`,boxShadow:`var(--shadow-sm)`},children:[(0,G.jsxs)(`div`,{className:`suggestion-header`,style:{padding:`8px 12px`,background:`var(--bg-secondary)`,borderBottom:`1px solid var(--border-normal)`,display:`flex`,alignItems:`center`,justifyContent:`space-between`,fontSize:`12px`,fontWeight:600},children:[(0,G.jsx)(`span`,{style:{color:`var(--text-secondary)`},children:`Suggested Change`}),u?(0,G.jsxs)(`span`,{style:{color:`var(--feedback-success-text)`,display:`inline-flex`,alignItems:`center`,gap:`4px`},children:[(0,G.jsx)(YD,{size:12}),` Applied`]}):(0,G.jsx)(`button`,{className:`btn btn-primary btn-sm`,onClick:async()=>{try{await c(e.id)}catch(e){alert(e.message)}},style:{fontSize:`11px`,padding:`2px 8px`,borderRadius:`var(--radius-sm)`,height:`24px`},children:`Apply Suggestion`})]}),(0,G.jsxs)(`div`,{className:`suggestion-diff`,style:{display:`flex`,flexDirection:`column`,fontSize:`12px`,fontFamily:`var(--font-mono)`,overflowX:`auto`},children:[(0,G.jsxs)(`div`,{style:{display:`flex`,padding:`8px 12px`,background:`var(--feedback-danger-bg)`,borderBottom:`1px dashed var(--border-color)`,color:`var(--feedback-danger-text)`,minWidth:`max-content`},children:[(0,G.jsx)(`span`,{style:{width:`20px`,userSelect:`none`,opacity:.5},children:`-`}),(0,G.jsx)(`span`,{style:{whiteSpace:`pre`},children:e.lineContent})]}),(0,G.jsxs)(`div`,{style:{display:`flex`,padding:`8px 12px`,background:`var(--feedback-success-bg)`,color:`var(--feedback-success-text)`,minWidth:`max-content`},children:[(0,G.jsx)(`span`,{style:{width:`20px`,userSelect:`none`,opacity:.5},children:`+`}),(0,G.jsx)(`span`,{style:{whiteSpace:`pre`},children:r})]})]})]}):null})()]})]}),e.replies?.length>0&&(0,G.jsx)(`div`,{className:`comment-replies`,role:`list`,"aria-label":`Replies`,children:e.replies.map((t,n)=>{let r=t.role===`agent`,i=y===t.id;return(0,G.jsxs)(`div`,{className:`comment-node ${r?`comment-node-agent`:`comment-node-user`} ${u?`comment-node-resolved`:``}`,role:`listitem`,"aria-label":`${r?`Agent`:`User`} reply ${n+1}`,children:[(0,G.jsx)(`div`,{className:`comment-avatar-col`,children:(0,G.jsx)(QW,{role:r?`agent`:`user`,size:14})}),(0,G.jsxs)(`div`,{className:`comment-content-col`,children:[(0,G.jsxs)(`div`,{className:`comment-node-header`,children:[(0,G.jsx)(`span`,{className:`comment-node-author`,children:r?`Agent`:`User`}),(0,G.jsx)(`span`,{className:`comment-node-badge ${r?`comment-node-badge-agent`:`comment-node-badge-user`}`,children:r?`Agent`:`User`}),r&&t.model&&(0,G.jsx)(`span`,{style:{fontSize:`10px`,fontWeight:600,padding:`1px 5px`,borderRadius:`4px`,background:`var(--bg-tertiary)`,color:`var(--text-secondary)`,fontFamily:`var(--font-mono)`},children:t.model}),(0,G.jsx)(`span`,{className:`comment-node-time`,children:eE(t.createdAt)}),!u&&(0,G.jsxs)(`div`,{className:`comment-node-actions`,children:[(0,G.jsx)(`button`,{className:`comment-node-btn`,onClick:()=>D(t.id),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),D(t.id))},title:`Edit reply`,"aria-label":`Edit reply`,tabIndex:0,children:(0,G.jsx)(GO,{size:12,"aria-hidden":`true`})}),(0,G.jsx)(`button`,{className:`comment-node-btn comment-node-btn-delete`,onClick:()=>O(t.id),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),O(t.id))},title:`Delete reply`,"aria-label":`Delete reply`,tabIndex:0,children:(0,G.jsx)(rk,{size:12,"aria-hidden":`true`})})]})]}),i?(0,G.jsx)(`div`,{style:{background:`var(--bg-secondary)`,borderRadius:`var(--radius-md)`,border:`1px solid var(--border-color)`,marginTop:`6px`},children:(0,G.jsx)(ZW,{draftKey:`reply-edit:${e.id}:${t.id}`,initialBody:t.body,onSubmit:n=>{s(e.id,t.id,n),b(null)},onCancel:()=>b(null)})}):(0,G.jsx)(gH,{content:t.body,className:`comment-node-body markdown-body`})]})]},t.id)})}),(0,G.jsxs)(`div`,{className:`comment-canvas-footer`,children:[!p&&(0,G.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,alignItems:`center`},children:[(0,G.jsxs)(`button`,{onClick:()=>m(!0),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),m(!0))},className:`comment-reply-trigger`,"aria-label":`Write a reply`,tabIndex:0,style:{width:`100%`,maxWidth:`320px`},children:[(0,G.jsx)(JO,{size:14,"aria-hidden":`true`}),`Reply...`]}),u?(0,G.jsxs)(`div`,{style:{display:`flex`,gap:`6px`,marginLeft:`12px`},children:[(0,G.jsx)(`button`,{className:`btn btn-secondary btn-sm`,onClick:()=>f(!0),style:{fontSize:`12px`,padding:`4px 10px`},"aria-label":`Hide resolved conversation`,children:`Hide`}),(0,G.jsx)(`button`,{className:`btn btn-secondary btn-sm`,onClick:E,style:{fontSize:`12px`,padding:`4px 10px`},"aria-label":`Unresolve conversation`,children:`Unresolve`})]}):(0,G.jsx)(`button`,{className:`btn btn-secondary btn-sm`,onClick:T,style:{fontSize:`12px`,padding:`4px 10px`,marginLeft:`12px`},"aria-label":`Resolve conversation`,children:`Resolve conversation`})]}),p&&(0,G.jsx)(`div`,{style:{background:`var(--bg-secondary)`,borderRadius:`var(--radius-md)`,border:`1px solid var(--border-color)`,marginTop:`4px`},children:(0,G.jsx)(ZW,{draftKey:`reply:${e.id}`,onSubmit:t=>{a(e.id,t),m(!1)},onCancel:()=>{m(!1),x.current?.focus()}})})]})]})}function eG({comment:e,lineContent:t,onReply:n,onEdit:r,onDelete:i,onSetResolved:a}){let[o,s]=(0,W.useState)(!1),[c,l]=(0,W.useState)(!1),[u,d]=(0,W.useState)(``),[f,p]=(0,W.useState)(!1),[m,h]=(0,W.useState)(null),[g,_]=(0,W.useState)(!1),[v,y]=(0,W.useState)(e.body),[b,x]=(0,W.useState)(!1);(0,W.useEffect)(()=>{g||y(e.body)},[e.body,g]);let S=e.state?{APPROVED:{icon:YD,label:`Approved`,cls:`badge-approved`},CHANGES_REQUESTED:{icon:ik,label:`Changes requested`,cls:`badge-changes`},COMMENTED:{icon:jO,label:`Commented`,cls:`badge-commented`},PENDING:{icon:jO,label:`Pending`,cls:`badge-pending`},DISMISSED:{icon:ik,label:`Dismissed`,cls:`badge-dismissed`}}[e.state]:null,C=tG(e.body),w=async()=>{let t=u.trim();if(!(!t||!n)){p(!0),h(null);try{await n(e.id,t),d(``),l(!1),s(!0)}catch(e){h(e?.message??`Failed to reply`)}finally{p(!1)}}},T=async e=>{x(!0),h(null);try{await e()}catch(e){throw h(e?.message??`GitHub update failed`),e}finally{x(!1)}},E=async()=>{let t=v.trim();if(!(!t||!r))try{await T(()=>r(e.id,t)),_(!1)}catch{}};return(0,G.jsxs)(`div`,{className:`pr-existing-bubble ${e.isResolved?`is-resolved`:``}`,children:[(0,G.jsxs)(`div`,{className:`pr-existing-bubble-head`,children:[e.author?(0,G.jsx)(`img`,{className:`pr-existing-avatar`,src:e.author.avatarUrl,alt:e.author.login}):(0,G.jsx)(`div`,{className:`pr-existing-avatar pr-existing-avatar-fallback`}),(0,G.jsxs)(`div`,{className:`pr-existing-bubble-meta`,children:[(0,G.jsxs)(`span`,{className:`pr-existing-bubble-author`,children:[`@`,e.author?.login??`unknown`]}),(0,G.jsx)(`span`,{className:`pr-existing-bubble-date`,children:new Date(e.createdAt).toLocaleString()})]}),(0,G.jsx)(`span`,{className:`pr-existing-bubble-source`,children:`from GitHub`}),e.line!=null&&(0,G.jsxs)(`span`,{className:`pr-existing-bubble-location`,children:[`L`,e.line,` · `,e.side===`LEFT`?`base`:`head`]}),S&&(0,G.jsxs)(`span`,{className:`pr-existing-bubble-badge ${S.cls}`,children:[(0,G.jsx)(S.icon,{size:11}),` `,S.label]}),e.isOutdated&&(0,G.jsxs)(`span`,{className:`pr-existing-bubble-badge badge-outdated`,children:[(0,G.jsx)(ik,{size:11}),` outdated`]}),e.isResolved&&(0,G.jsxs)(`span`,{className:`pr-existing-bubble-badge badge-approved`,children:[(0,G.jsx)(YD,{size:11}),` resolved`]}),(0,G.jsxs)(`span`,{className:`pr-existing-bubble-actions`,children:[e.threadId&&a&&(0,G.jsx)(`button`,{type:`button`,className:`file-diff-icon-btn`,disabled:b||(e.isResolved?e.viewerCanUnresolve===!1:e.viewerCanResolve===!1),onClick:()=>{T(()=>a(e.threadId,!e.isResolved)).catch(()=>void 0)},title:e.isResolved?`Reopen conversation on GitHub`:`Resolve conversation on GitHub`,"aria-label":e.isResolved?`Reopen conversation`:`Resolve conversation`,children:e.isResolved?(0,G.jsx)(YO,{size:12}):(0,G.jsx)(YD,{size:12})}),r&&e.viewerDidAuthor!==!1&&(0,G.jsx)(`button`,{type:`button`,className:`file-diff-icon-btn`,disabled:b,onClick:()=>_(!0),title:`Edit on GitHub`,"aria-label":`Edit GitHub comment`,children:(0,G.jsx)(GO,{size:12})}),i&&e.viewerDidAuthor!==!1&&(0,G.jsx)(`button`,{type:`button`,className:`file-diff-icon-btn danger`,disabled:b,onClick:()=>{window.confirm(`Delete this published comment from GitHub?`)&&T(()=>i(e.id)).catch(()=>void 0)},title:`Delete from GitHub`,"aria-label":`Delete GitHub comment`,children:(0,G.jsx)(rk,{size:12})})]})]}),g?(0,G.jsxs)(`div`,{className:`pr-existing-edit-form`,children:[(0,G.jsx)(`textarea`,{value:v,onChange:e=>y(e.target.value),rows:3,"aria-label":`Edit GitHub comment body`}),(0,G.jsxs)(`div`,{className:`pr-existing-reply-form-actions`,children:[(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm`,disabled:b,onClick:()=>{_(!1),y(e.body)},children:`Cancel`}),(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm btn-primary`,disabled:b||!v.trim(),onClick:()=>{E()},children:b?`Saving…`:`Save on GitHub`})]})]}):(0,G.jsxs)(G.Fragment,{children:[C.remainingBody&&(0,G.jsx)(gH,{content:C.remainingBody,className:`pr-existing-bubble-body markdown-body`}),C.code!=null&&(0,G.jsxs)(`div`,{className:`pr-existing-suggestion`,"aria-label":`Suggested change preview`,children:[(0,G.jsxs)(`div`,{className:`pr-existing-suggestion-head`,children:[(0,G.jsx)(`span`,{children:`Suggested change`}),(0,G.jsx)(`span`,{className:`pr-existing-suggestion-preview-label`,children:`Preview`})]}),(0,G.jsxs)(`div`,{className:`pr-existing-suggestion-diff`,children:[t!=null&&t!==``&&(0,G.jsxs)(`div`,{className:`pr-existing-suggestion-line is-removed`,children:[(0,G.jsx)(`span`,{"aria-hidden":`true`,children:`−`}),(0,G.jsx)(`code`,{children:t})]}),(0,G.jsxs)(`div`,{className:`pr-existing-suggestion-line is-added`,children:[(0,G.jsx)(`span`,{"aria-hidden":`true`,children:`+`}),(0,G.jsx)(`code`,{children:C.code})]})]})]})]}),e.replies.length>0&&(0,G.jsxs)(`button`,{type:`button`,className:`pr-existing-bubble-toggle`,onClick:()=>s(e=>!e),children:[o?`Hide`:`Show`,` `,e.replies.length,` repl`,e.replies.length===1?`y`:`ies`]}),o&&e.replies.length>0&&(0,G.jsx)(`ul`,{className:`pr-existing-replies`,children:e.replies.map(e=>(0,G.jsx)(nG,{reply:e,onEdit:r,onDelete:i},e.id))}),n&&(0,G.jsx)(`div`,{className:`pr-existing-reply-actions`,children:c?(0,G.jsxs)(`div`,{className:`pr-existing-reply-form`,children:[(0,G.jsx)(`textarea`,{value:u,onChange:e=>d(e.target.value),rows:3,placeholder:`Reply to this thread on GitHub…`,"aria-label":`Reply body`}),m&&(0,G.jsx)(`p`,{className:`pr-existing-reply-error`,children:m}),(0,G.jsxs)(`div`,{className:`pr-existing-reply-form-actions`,children:[(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm`,onClick:()=>{l(!1),d(``),h(null)},disabled:f,children:`Cancel`}),(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm btn-primary`,onClick:w,disabled:f||!u.trim(),children:f?`Sending…`:`Post reply`})]})]}):(0,G.jsxs)(`button`,{type:`button`,className:`btn btn-sm pr-existing-reply-btn`,onClick:()=>l(!0),children:[(0,G.jsx)(sO,{size:12}),`Reply on GitHub`]})}),m&&!c&&(0,G.jsx)(`p`,{className:`pr-existing-reply-error`,role:`alert`,children:m})]})}function tG(e){let t=/```suggestion[^\r\n]*\r?\n([\s\S]*?)```/i.exec(e);return t?{remainingBody:e.replace(/```suggestion[^\r\n]*\r?\n[\s\S]*?```/gi,``).trim(),code:t[1].replace(/\r\n/g,`
1937
+ `).replace(/\n$/,``)}:{remainingBody:e,code:null}}function nG({reply:e,onEdit:t,onDelete:n}){let[r,i]=(0,W.useState)(!1),[a,o]=(0,W.useState)(e.body),[s,c]=(0,W.useState)(!1),[l,u]=(0,W.useState)(null);(0,W.useEffect)(()=>{r||o(e.body)},[e.body,r]);let d=async()=>{if(!(!t||!a.trim())){c(!0),u(null);try{await t(e.id,a.trim()),i(!1)}catch(e){u(e?.message??`Failed to edit reply`)}finally{c(!1)}}},f=async()=>{if(!(!n||!window.confirm(`Delete this published reply from GitHub?`))){c(!0),u(null);try{await n(e.id)}catch(e){u(e?.message??`Failed to delete reply`),c(!1)}}};return(0,G.jsxs)(`li`,{className:`pr-existing-reply`,children:[(0,G.jsxs)(`div`,{className:`pr-existing-bubble-meta`,children:[(0,G.jsxs)(`span`,{className:`pr-existing-bubble-author`,children:[`@`,e.author?.login??`unknown`]}),(0,G.jsx)(`span`,{className:`pr-existing-bubble-date`,children:new Date(e.createdAt).toLocaleString()}),(0,G.jsxs)(`span`,{className:`pr-existing-bubble-actions`,children:[t&&e.viewerDidAuthor!==!1&&(0,G.jsx)(`button`,{type:`button`,className:`file-diff-icon-btn`,disabled:s,onClick:()=>i(!0),"aria-label":`Edit GitHub reply`,children:(0,G.jsx)(GO,{size:11})}),n&&e.viewerDidAuthor!==!1&&(0,G.jsx)(`button`,{type:`button`,className:`file-diff-icon-btn danger`,disabled:s,onClick:()=>{f()},"aria-label":`Delete GitHub reply`,children:(0,G.jsx)(rk,{size:11})})]})]}),r?(0,G.jsxs)(`div`,{className:`pr-existing-edit-form is-reply`,children:[(0,G.jsx)(`textarea`,{value:a,onChange:e=>o(e.target.value),rows:3,"aria-label":`Edit GitHub reply body`}),(0,G.jsxs)(`div`,{className:`pr-existing-reply-form-actions`,children:[(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm`,disabled:s,onClick:()=>{i(!1),o(e.body)},children:`Cancel`}),(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm btn-primary`,disabled:s||!a.trim(),onClick:()=>{d()},children:s?`Saving…`:`Save`})]})]}):(0,G.jsx)(`p`,{children:e.body}),l&&(0,G.jsx)(`p`,{className:`pr-existing-reply-error`,role:`alert`,children:l})]})}function rG(e){let t=e.hunks??[];if(t.length===0)return[];let n=t.map(e=>{let t=e.additionCount??e.additionLines??0,n=e.deletionCount??e.deletionLines??0;return Math.max(1,t+n)}),r=n.reduce((e,t)=>e+t,0)||1,i=0;return t.map((e,t)=>{let a=e.additionCount??e.additionLines??0,o=e.deletionCount??e.deletionLines??0,s=n[t]/r,c=i;i+=s;let l=`change`;a>0&&o===0?l=`add`:o>0&&a===0&&(l=`del`);let u=e.additionStart||0,d=e.deletionStart||0,f=u||d||1,p=u&&a>0?u+Math.max(0,a-1):d&&o>0?d+Math.max(0,o-1):f,m=p===f?`L${f}`:`L${f}–${p}`;return{start:c,height:s,kind:l,line:f,index:t+1,additions:a,deletions:o,rangeLabel:m}})}function iG(e){return e===`add`?`Added`:e===`del`?`Removed`:`Modified`}function aG(e){let t=[];return e.additions>0&&t.push(`+${e.additions}`),e.deletions>0&&t.push(`−${e.deletions}`),t.join(` `)||`empty`}function oG(e){return[`Hunk ${e.index}`,iG(e.kind),aG(e),e.rangeLabel,`Click to jump`].join(` · `)}var sG=(0,W.memo)(function({fileDiff:e,filePath:t,onJump:n}){let r=(0,W.useMemo)(()=>rG(e),[e]),[i,a]=(0,W.useState)(null),[o,s]=(0,W.useState)(null),c=(0,W.useMemo)(()=>{let e=0,t=0;for(let n of r)e+=n.additions,t+=n.deletions;return{additions:e,deletions:t,hunks:r.length}},[r]),l=(0,W.useCallback)(e=>{if(s(e.index),n){n(t,e.line);return}(document.getElementById(`file-${CSS.escape(t)}`)??document.querySelector(`[data-file-path="${CSS.escape(t)}"]`))?.scrollIntoView({behavior:`smooth`,block:`start`})},[t,n]);if(r.length===0)return null;let u=i==null?null:r.find(e=>e.index===i);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`div`,{className:`diff-minimap-header`,role:`region`,"aria-label":`Change map for ${t}`,children:[(0,G.jsxs)(`div`,{className:`diff-minimap-meta`,children:[(0,G.jsxs)(`span`,{className:`diff-minimap-title`,children:[(0,G.jsx)(OO,{size:12,"aria-hidden":`true`}),`Change map`]}),(0,G.jsxs)(`span`,{className:`diff-minimap-summary`,children:[c.hunks,` hunk`,c.hunks===1?``:`s`,c.additions>0&&(0,G.jsxs)(`span`,{className:`diff-minimap-stat-add`,children:[` +`,c.additions]}),c.deletions>0&&(0,G.jsxs)(`span`,{className:`diff-minimap-stat-del`,children:[` −`,c.deletions]})]}),(0,G.jsx)(`span`,{className:`diff-minimap-hint`,children:`Hover the bar on the right · Click to jump`})]}),(0,G.jsxs)(`div`,{className:`diff-minimap-footer`,children:[(0,G.jsxs)(`div`,{className:`diff-minimap-legend`,"aria-hidden":`true`,children:[(0,G.jsxs)(`span`,{className:`diff-minimap-legend-item`,children:[(0,G.jsx)(`i`,{className:`diff-minimap-dot diff-minimap-dot-add`}),` Added`]}),(0,G.jsxs)(`span`,{className:`diff-minimap-legend-item`,children:[(0,G.jsx)(`i`,{className:`diff-minimap-dot diff-minimap-dot-del`}),` Removed`]}),(0,G.jsxs)(`span`,{className:`diff-minimap-legend-item`,children:[(0,G.jsx)(`i`,{className:`diff-minimap-dot diff-minimap-dot-change`}),` Modified`]})]}),u?(0,G.jsxs)(`div`,{className:`diff-minimap-live`,"aria-live":`polite`,children:[(0,G.jsxs)(`strong`,{children:[`#`,u.index]}),(0,G.jsx)(`span`,{children:iG(u.kind)}),(0,G.jsx)(`span`,{className:`diff-minimap-live-stats`,children:aG(u)}),(0,G.jsx)(`span`,{className:`diff-minimap-live-range`,children:u.rangeLabel})]}):(0,G.jsx)(`div`,{className:`diff-minimap-live diff-minimap-live-idle`,children:`Hover a block for details`})]})]}),(0,G.jsx)(`div`,{className:`diff-minimap`,role:`navigation`,"aria-label":`Jump to changes in ${t}`,children:(0,G.jsx)(`div`,{className:`diff-minimap-track`,role:`list`,children:r.map(e=>{let t=i===e.index||o===e.index;return(0,G.jsx)($T,{content:oG(e),side:`left`,children:(0,G.jsx)(`button`,{type:`button`,role:`listitem`,className:[`diff-minimap-seg`,`diff-minimap-seg-${e.kind}`,t?`diff-minimap-seg-hot`:``,o===e.index?`diff-minimap-seg-active`:``].filter(Boolean).join(` `),style:{top:`${e.start*100}%`,height:`${Math.max(e.height*100,3)}%`},onClick:t=>{t.stopPropagation(),l(e)},onMouseEnter:()=>a(e.index),onMouseLeave:()=>a(null),onFocus:()=>a(e.index),onBlur:()=>a(null),"aria-label":oG(e)})},e.index)})})})]})});function cG(e){return e.endSide??e.side??`additions`}function lG(e){return e.side??e.endSide??`additions`}function uG(e){if(e.startSide&&e.startSide!==e.side){if(e.startLineNumber==null||e.startLineNumber===e.lineNumber){let{startLineNumber:t,startSide:n,...r}=e;return r}return e}let t=e.startLineNumber==null?e.lineNumber:Math.min(e.startLineNumber,e.lineNumber),n=e.startLineNumber==null?e.lineNumber:Math.max(e.startLineNumber,e.lineNumber);return t===n?{side:e.side,lineNumber:n}:{side:e.side,lineNumber:n,startLineNumber:t}}function dG(e){let t=lG(e),n=cG(e);if(t===n){let t=Math.min(e.start,e.end),r=Math.max(e.start,e.end);return uG({side:n,lineNumber:r,startLineNumber:t===r?void 0:t})}return{side:n,lineNumber:e.end,startLineNumber:e.start===e.end?void 0:e.start,startSide:t}}function fG(e){return e.side===`deletions`?`old`:`new`}function pG(e){let t=fG(e);return e.startLineNumber!=null&&e.startLineNumber!==e.lineNumber?`L${Math.min(e.startLineNumber,e.lineNumber)}–L${Math.max(e.startLineNumber,e.lineNumber)} · ${t}`:`L${e.lineNumber} · ${t}`}function mG(e){return e.startSide&&e.startSide!==e.side?{start:e.startLineNumber??e.lineNumber,end:e.lineNumber}:{start:e.startLineNumber==null?e.lineNumber:Math.min(e.startLineNumber,e.lineNumber),end:e.startLineNumber==null?e.lineNumber:Math.max(e.startLineNumber,e.lineNumber)}}function hG(e){return e.startLineNumber!=null&&e.startLineNumber!==e.lineNumber?{start:e.startLineNumber,end:e.lineNumber,side:e.startSide??e.side,...e.startSide&&e.startSide!==e.side?{endSide:e.side}:{}}:{start:e.lineNumber,end:e.lineNumber,side:e.side}}function gG(e,t,n){if(e.startSide&&e.startSide!==e.side)return e;if(!Number.isFinite(t)||t===0)return uG(e);let{start:r,end:i}=mG(e),a=r+t;return n&&(a=Math.max(n.min,Math.min(n.max,a))),a=Math.min(a,i),uG({side:e.side,lineNumber:i,startLineNumber:a})}function _G(e,t,n){if(e.startSide&&e.startSide!==e.side)return e;if(!Number.isFinite(t)||t===0)return uG(e);let{start:r,end:i}=mG(e),a=i+t;return n&&(a=Math.max(n.min,Math.min(n.max,a))),a=Math.max(a,r),uG({side:e.side,lineNumber:a,startLineNumber:r})}function vG(e,t,n){if(e.startSide&&e.startSide!==e.side)return!1;let r=gG(e,t,n);return r.startLineNumber!==e.startLineNumber||r.lineNumber!==e.lineNumber}function yG(e,t,n){if(e.startSide&&e.startSide!==e.side)return!1;let r=_G(e,t,n);return r.startLineNumber!==e.startLineNumber||r.lineNumber!==e.lineNumber}function bG(e,t){if(t.isOutdated||t.line==null||t.line<1||t.side==null)return!1;let n=t.side===`LEFT`?`deletions`:`additions`,r=n===`additions`?`additionStart`:`deletionStart`,i=n===`additions`?`additionCount`:`deletionCount`;return e.hunks.some(e=>t.line>=e[r]&&t.line<e[r]+e[i])}function xG(e,t,n){let r=t===`additions`?`additionStart`:`deletionStart`,i=t===`additions`?`additionCount`:`deletionCount`,a=1/0,o=0;for(let t of e.hunks){let e=t[r],n=t[i];n<=0||(a=Math.min(a,e),o=Math.max(o,e+n-1))}return n&&n>0&&(a=Math.min(a===1/0?1:a,1),o=Math.max(o,n)),!Number.isFinite(a)||o<1?{min:1,max:Math.max(1,n??1)}:{min:a,max:o}}var SG=(0,W.memo)(function({id:e,fileDiff:t,filePath:n,annotations:r,existingComments:i=[],diffStyle:a,tabSize:o,viewed:s,theme:c,editorIDE:l,lineDiffType:u,lineWrap:d,diffIndicators:f,showLineNumbers:p,hunkSeparators:m,lineHoverHighlight:h,fontSize:g,monoFontFamily:_,expandContextByDefault:v,collapsedContextThreshold:y,expansionLineCount:b,autoCollapseLineThreshold:x,onViewedChange:S,onAddComment:C,onDeleteComment:w,onReplyExisting:T,onEditExisting:E,onDeleteExisting:D,onSetExistingResolved:O,allowLocalActions:k=!0,onCardToggleCollapse:A}){let[j,M]=(0,W.useState)(null),[N,P]=(0,W.useState)(null),[F,I]=(0,W.useState)(0),L=(0,W.useRef)(null),[R,z]=(0,W.useState)(null),[ee,te]=(0,W.useState)(!1),ne=t.additionLines.length+t.deletionLines.length,[B,V]=(0,W.useState)(s||x>0&&ne>x),[re,ie]=(0,W.useState)(!1),[ae,oe]=(0,W.useState)(!1),[se,ce]=(0,W.useState)(v),[H,le]=(0,W.useState)(null),[ue,U]=(0,W.useState)(null),[de,fe]=(0,W.useState)(null),pe=(0,W.useRef)(null),[me,he]=(0,W.useState)(!1),ge=e=>{e.stopPropagation(),!(typeof navigator>`u`||!navigator.clipboard)&&navigator.clipboard.writeText(n).then(()=>{te(!0),window.setTimeout(()=>te(!1),1500)},()=>{})},_e=async(e,t=!1)=>{if(H===null&&!(!t&&typeof window<`u`&&!window.confirm(`Revert hunk #${e+1} in ${n}? This rewrites the file via "git apply --reverse".`))){le(e),U(null);try{let t=await fetch(`/api/revert-hunk`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({filePath:n,hunkIndex:e})});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error??`HTTP ${t.status}`)}}catch(e){U(e.message)}finally{le(null)}}},ve=t.type===`change`||t.type===`rename-changed`,ye=!B&&ve,be=t.prevName??n,{loading:xe,oldContent:Se,newContent:Ce}=zW(n,se&&ye,be),we=se&&Se!==null&&Ce!==null;(0,W.useLayoutEffect)(()=>{V(s)},[s]),(0,W.useEffect)(()=>{if(me||B)return;let e=pe.current;if(!e||typeof IntersectionObserver>`u`){he(!0);return}let t=e.getBoundingClientRect();if(t.bottom>=-800&&t.top<=(typeof window<`u`?window.innerHeight+800:2e3)){he(!0);return}let n=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&(he(!0),n.disconnect())},{root:null,rootMargin:`800px 0px`,threshold:0});return n.observe(e),()=>n.disconnect()},[B,me]);let Te=nE[c]||nE[`rose-pine`],Ee=(0,W.useMemo)(()=>wG(o,g,_),[o,g,_]),De=(e,n,r)=>{let i=r??n,a=n,o=Math.min(i,a),s=Math.max(i,a),c=[],l=we?(e===`additions`?Ce:Se)?.replace(/\r\n/g,`
1938
1938
  `).split(`
1939
1939
  `):void 0;for(let n=o;n<=s;n++){let r=e===`additions`?t.additionLines:t.deletionLines,i=e===`additions`?`additionStart`:`deletionStart`,a=e===`additions`?`additionCount`:`deletionCount`,o=e===`additions`?`additionLineIndex`:`deletionLineIndex`,s=!1;for(let e of t.hunks){let t=e[i],l=e[a];if(n>=t&&n<t+l){let i=e[o]+(n-t);c.push(r[i]??``),s=!0;break}}s||c.push(l?.[n-1]??``)}return c.join(`
1940
1940
  `)},Oe=(0,W.useCallback)(e=>{let t=uG(e);L.current||=crypto.randomUUID(),M(t),P(hG(t)),I(0)},[]),ke=(0,W.useCallback)(()=>{M(null),P(null),I(0),L.current=null},[]),Ae=(0,W.useMemo)(()=>{if(!j)return;let e=we&&j.side===`additions`?(Ce??``).split(`
1941
1941
  `).length:we&&j.side===`deletions`?(Se??``).split(`
1942
- `).length:void 0;return xG(t,j.side,e)},[j,t,we,Ce,Se]),je=(0,W.useCallback)(e=>{let t=uG(e);M(t),P(hG(t))},[]);(0,W.useEffect)(()=>{if(!j)return;let e=window.requestAnimationFrame(()=>{let e=pe.current?.querySelector(`.comment-form, [data-annotation-slot]`);e instanceof HTMLElement&&e.scrollIntoView({block:`nearest`,behavior:`smooth`})});return()=>cancelAnimationFrame(e)},[j?.side,j?.lineNumber]);let Me=async e=>{if(e.stopPropagation(),t.type!==`deleted`){ie(!0);try{await fetch(`/api/open-file`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({filePath:n,editor:l})})}catch(e){console.error(`Failed to open file in IDE editor:`,e)}finally{ie(!1)}}},Ne=()=>{switch(t.type){case`new`:return(0,G.jsx)(`span`,{className:`diff-status-badge diff-status-new`,children:`Added`});case`deleted`:return(0,G.jsx)(`span`,{className:`diff-status-badge diff-status-deleted`,children:`Deleted`});case`rename-pure`:case`rename-changed`:return(0,G.jsx)(`span`,{className:`diff-status-badge diff-status-renamed`,children:`Renamed`});default:return(0,G.jsx)(`span`,{className:`diff-status-badge diff-status-modified`,children:`Modified`})}},Pe=r.filter(e=>e.lineNumber===0),Fe=r.filter(e=>e.lineNumber>0),Ie=i.filter(e=>bG(t,e)).map(e=>({side:e.side===`LEFT`?`deletions`:`additions`,lineNumber:e.line,metadata:{_existingPr:!0,comment:e}})),Le=i.filter(e=>!bG(t,e)),Re=e=>{if(`_pending`in e.metadata){if(!j)return null;let e=L.current??`open`,t=`new:${n}:${j.side}:${e}`,r=De(j.side,j.lineNumber,j.startLineNumber),i=mG(j),a=Ae;return(0,G.jsx)(ZW,{draftKey:t,lineContent:r,lineLabel:pG(j),range:{start:i.start,end:i.end,sideLabel:fG(j),canAdjustStart:e=>vG(j,e,a),canAdjustEnd:e=>yG(j,e,a)},onAdjustStart:e=>{je(gG(j,e,a))},onAdjustEnd:e=>{je(_G(j,e,a))},onSubmit:(e,t)=>{let r=De(j.side,j.lineNumber,j.startLineNumber);C(n,j.side,j.lineNumber,r,e,j.startLineNumber,t),ke()},onCancel:ke})}return`_existingPr`in e.metadata?(0,G.jsx)(eG,{comment:e.metadata.comment,lineContent:De(e.side,e.lineNumber,e.metadata.comment.startLine??void 0),onReply:T,onEdit:E,onDelete:D,onSetResolved:O}):(0,G.jsx)($W,{comment:e.metadata,onDelete:w})},ze=(0,W.useCallback)(()=>{I(0),M(null),P(null),L.current=null},[]),Be=(0,W.useCallback)(e=>{I(e?Math.abs(e.end-e.start)+1:0)},[]),Ve=(0,W.useCallback)(e=>{I(0),e&&Oe(dG(e))},[Oe]),He=(0,W.useCallback)(e=>{Oe(dG(e))},[Oe]),Ue=[...Fe,...Ie,...j?[{side:j.side,lineNumber:j.lineNumber,metadata:{_pending:!0}}]:[]];return(0,G.jsxs)(`div`,{ref:pe,className:`file-diff-card ${s?`file-diff-viewed`:``} ${B?`file-diff-collapsed`:``}`,id:e,"data-file-path":n,children:[(0,G.jsxs)(`div`,{className:`file-diff-card-header`,onClick:()=>{let e=!B;V(e),A?.(n,e)},children:[(0,G.jsxs)(`div`,{className:`file-diff-header-left`,children:[(0,G.jsx)(`span`,{className:`file-diff-collapse-indicator`,"aria-hidden":`true`,children:B?(0,G.jsx)(KD,{size:14}):(0,G.jsx)(WD,{size:14})}),(0,G.jsxs)(`div`,{className:`file-diff-title-row`,children:[(0,G.jsx)(`span`,{className:`file-diff-name`,title:n,children:n}),(0,G.jsx)(`button`,{className:`file-diff-copy-path-btn`,onClick:ge,title:`Copy file path to clipboard`,"aria-label":`Copy file path to clipboard`,children:ee?(0,G.jsx)(UD,{size:12}):(0,G.jsx)(oO,{size:12})}),Ne(),Fe.length+Ie.length>0&&(0,G.jsxs)(`span`,{className:`file-diff-comment-badge`,title:`${Fe.length+Ie.length} inline comment${Fe.length+Ie.length===1?``:`s`}`,children:[(0,G.jsx)(PO,{size:10}),Fe.length+Ie.length]}),F>0&&(0,G.jsxs)(`span`,{className:`file-diff-selection-badge`,"aria-live":`polite`,children:[F,` line`,F===1?``:`s`,` selected`]}),ee&&(0,G.jsx)(`span`,{className:`file-diff-permalink-flash`,role:`status`,children:`Copied path`}),R&&(0,G.jsxs)(`span`,{className:`file-diff-permalink-flash`,role:`status`,children:[`Copied `,R]})]})]}),(0,G.jsxs)(`div`,{className:`file-diff-header-right`,onClick:e=>e.stopPropagation(),children:[ye&&(0,G.jsx)($T,{content:se?`Hide unchanged context`:`Expand full-file context`,side:`bottom`,children:(0,G.jsx)(`button`,{className:`file-diff-icon-btn ${se?`is-active`:``}`,onClick:()=>ce(e=>!e),disabled:xe,"aria-label":xe?`Loading context`:se?`Hide context`:`Expand context`,children:xe?(0,G.jsx)(DO,{size:13,className:`spin`}):(0,G.jsx)(kO,{size:13})})}),k&&t.type!==`deleted`&&(0,G.jsx)($T,{content:`Open in editor`,side:`bottom`,children:(0,G.jsx)(`button`,{className:`file-diff-icon-btn`,onClick:Me,disabled:re,"aria-label":re?`Opening file`:`Edit file`,children:re?(0,G.jsx)(DO,{size:13,className:`spin`}):(0,G.jsx)(WO,{size:13})})}),(0,G.jsx)($T,{content:`Comment on entire file`,side:`bottom`,children:(0,G.jsx)(`button`,{className:`file-diff-icon-btn`,onClick:()=>{V(!1),oe(!0)},"aria-label":`Add file comment`,children:(0,G.jsx)(PO,{size:13})})}),(0,G.jsxs)(`label`,{className:`viewed-label ${s?`viewed-checked`:``}`,title:s?`Mark unviewed · v`:`Mark viewed · v`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:s,"aria-label":s?`Mark as unviewed`:`Mark as viewed`,onChange:e=>{let t=e.target.checked;V(t),S(n,t)}}),(0,G.jsx)(`span`,{className:`viewed-label-text`,children:`Viewed`})]})]})]}),k&&!B&&t.hunks.length>0&&(0,G.jsxs)(`div`,{className:`file-diff-hunk-actions`,onClick:e=>e.stopPropagation(),children:[(0,G.jsxs)(`div`,{className:`file-diff-hunk-actions-meta`,children:[(0,G.jsx)(`span`,{className:`file-diff-hunk-actions-label`,children:`Revert hunks`}),(0,G.jsx)($T,{content:`Preview and undo specific change blocks via git apply --reverse`,side:`top`,children:(0,G.jsx)(QD,{size:12,className:`file-diff-hunk-help`})}),(0,G.jsxs)(`span`,{className:`file-diff-hunk-count`,children:[t.hunks.length,` block`,t.hunks.length===1?``:`s`]})]}),(0,G.jsx)(`div`,{className:`file-diff-hunk-actions-buttons`,children:t.hunks.map((e,t)=>(0,G.jsxs)(`button`,{type:`button`,className:`file-diff-hunk-revert-btn`,onClick:()=>fe(t),disabled:H!==null,title:`Preview and revert hunk #${t+1} (lines @${e.additionStart}+${e.additionLines??e.additionCount})`,children:[H===t?(0,G.jsx)(DO,{size:10,className:`spin`}):(0,G.jsx)(ok,{size:10}),(0,G.jsxs)(`span`,{children:[`Hunk #`,t+1]})]},t))}),ue&&(0,G.jsxs)(`span`,{className:`file-diff-hunk-error`,role:`alert`,children:[(0,G.jsx)(JD,{size:11}),ue]})]}),k&&de!==null&&(()=>{let e=t.hunks[de];if(!e)return null;let r=t.deletionLines.slice(e.deletionLineIndex,e.deletionLineIndex+(e.deletionCount??e.deletionLines??0)),i=t.additionLines.slice(e.additionLineIndex,e.additionLineIndex+(e.additionStart!==void 0&&e.additionLines!==void 0?e.additionLines:e.additionCount??0));return(0,G.jsxs)(LW,{open:de!==null,onClose:()=>fe(null),className:`hunk-revert-modal`,ariaLabel:`Selective Revert Preview Hunk #${de+1}`,children:[(0,G.jsxs)(`div`,{className:`shortcuts-header`,children:[(0,G.jsxs)(`div`,{className:`shortcuts-header-title`,children:[(0,G.jsx)(ok,{size:18,className:`shortcuts-icon`}),(0,G.jsxs)(`h2`,{children:[`Revert Hunk #`,de+1]})]}),(0,G.jsx)(`button`,{className:`shortcuts-close-btn`,onClick:()=>fe(null),"aria-label":`Close dialog`,children:(0,G.jsx)(ck,{size:16})})]}),(0,G.jsxs)(`div`,{className:`shortcuts-body`,children:[(0,G.jsxs)(`div`,{className:`hunk-preview-intro`,children:[`Reverting this hunk will restore the deleted (`,(0,G.jsx)(`span`,{style:{color:`var(--feedback-danger-text)`,fontWeight:600},children:`red`}),`) lines and remove the added (`,(0,G.jsx)(`span`,{style:{color:`var(--feedback-success-text)`,fontWeight:600},children:`green`}),`) lines from `,(0,G.jsx)(`strong`,{children:n.split(`/`).pop()}),`.`]}),(0,G.jsxs)(`div`,{className:`hunk-preview-container`,children:[(0,G.jsxs)(`div`,{className:`hunk-preview-header`,children:[(0,G.jsx)(`span`,{children:n}),(0,G.jsxs)(`span`,{children:[`Lines: @-`,e.deletionStart,`,`,e.deletionCount??e.deletionLines??0,` @+`,e.additionStart,`,`,e.additionLines??e.additionCount??0]})]}),(0,G.jsxs)(`div`,{className:`hunk-preview-code`,children:[r.map((e,t)=>(0,G.jsxs)(`div`,{className:`hunk-preview-line hunk-preview-line-deletion`,children:[(0,G.jsx)(`span`,{className:`hunk-preview-sign`,children:`-`}),(0,G.jsx)(`span`,{className:`hunk-preview-text`,children:e})]},`del-${t}`)),i.map((e,t)=>(0,G.jsxs)(`div`,{className:`hunk-preview-line hunk-preview-line-addition`,children:[(0,G.jsx)(`span`,{className:`hunk-preview-sign`,children:`+`}),(0,G.jsx)(`span`,{className:`hunk-preview-text`,children:e})]},`add-${t}`)),r.length===0&&i.length===0&&(0,G.jsx)(`div`,{className:`hunk-preview-line`,style:{fontStyle:`italic`,color:`var(--text-muted)`},children:`No changes in this hunk.`})]})]}),(0,G.jsx)(CG,{filePath:n,deletionStart:e.deletionStart,deletionCount:e.deletionCount??e.deletionLines??0})]}),(0,G.jsxs)(`div`,{className:`modal-footer`,children:[(0,G.jsx)(`button`,{className:`hunk-revert-btn-secondary`,onClick:()=>fe(null),children:`Cancel`}),(0,G.jsx)(`button`,{className:`hunk-revert-btn-primary`,onClick:async()=>{let e=de;fe(null),await _e(e,!0)},children:`Revert Changes`})]})]})})(),!B&&(0,G.jsxs)(`div`,{className:`file-diff-card-body`,children:[!me&&(0,G.jsx)(`div`,{className:`file-diff-body-placeholder`,"aria-hidden":`true`,children:`Loading diff…`}),me&&t.hunks.length>0&&(0,G.jsx)(sG,{fileDiff:t,filePath:n,onJump:(e,t)=>{oE(e,t,`additions`)}}),me&&(Pe.length>0||Le.length>0||ae)&&(0,G.jsxs)(`div`,{className:`file-level-comments-section`,style:{margin:`16px 20px`,padding:`12px`,background:`rgba(255,255,255,0.02)`,border:`1px solid var(--border-color)`,borderRadius:`8px`,display:`flex`,flexDirection:`column`,gap:`12px`},children:[(0,G.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`6px`,fontSize:`13px`,fontWeight:600,color:`var(--text-secondary)`},children:[(0,G.jsx)(PO,{size:14}),(0,G.jsxs)(`span`,{children:[`File-Level Comments (`,Pe.length+Le.length,`)`]})]}),Pe.length>0&&(0,G.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`12px`},children:Pe.map(e=>(0,G.jsx)($W,{comment:e.metadata,onDelete:w},e.metadata.id))}),Le.map(e=>(0,G.jsx)(eG,{comment:e,onReply:T,onEdit:E,onDelete:D,onSetResolved:O},`github-${e.id}`)),ae&&(0,G.jsx)(`div`,{style:{background:`var(--bg-secondary)`,borderRadius:`6px`,border:`1px solid var(--border-color)`},children:(0,G.jsx)(ZW,{draftKey:`file-comment:${n}`,lineContent:``,onSubmit:(e,t)=>{C(n,`additions`,0,``,e,void 0,t),oe(!1)},onCancel:()=>oe(!1)})})]}),me&&we?(0,G.jsx)(Xg,{oldFile:{name:be,contents:Se??``},newFile:{name:n,contents:Ce??``},options:{diffStyle:a,enableGutterUtility:!0,enableLineSelection:!0,disableFileHeader:!0,lineDiffType:u,overflow:d?`wrap`:`scroll`,diffIndicators:f,disableLineNumbers:!p,hunkSeparators:m,lineHoverHighlight:h,expandUnchanged:!1,collapsedContextThreshold:y,expansionLineCount:b,onLineSelectionStart:ze,onLineSelectionChange:Be,onLineSelectionEnd:Ve,onGutterUtilityClick:He,onLineNumberClick:e=>{let t=e.annotationSide===`deletions`?`deletions`:`additions`,r=`${n}:${t===`deletions`?`-`:`+`}${e.lineNumber}`,i=new URLSearchParams({file:n,line:String(e.lineNumber),side:t}),a=typeof window<`u`?`${window.location.origin}${window.location.pathname}?${i}`:r;navigator.clipboard?.writeText(a).then(()=>{z(r),setTimeout(()=>z(null),1600)},()=>{})},theme:{dark:Te.type===`dark`?Te.themeName:`nord`,light:Te.type===`light`?Te.themeName:`github-light`},themeType:Te.type,unsafeCSS:Ee},selectedLines:j?N:void 0,lineAnnotations:Ue,renderHeaderMetadata:()=>null,renderAnnotation:Re}):me?(0,G.jsx)(Yg,{fileDiff:t,options:{diffStyle:a,enableGutterUtility:!0,enableLineSelection:!0,disableFileHeader:!0,lineDiffType:u,overflow:d?`wrap`:`scroll`,diffIndicators:f,disableLineNumbers:!p,hunkSeparators:m,lineHoverHighlight:h,onLineSelectionStart:ze,onLineSelectionChange:Be,onLineSelectionEnd:Ve,onGutterUtilityClick:He,onLineNumberClick:e=>{let t=e.annotationSide===`deletions`?`deletions`:`additions`,r=`${n}:${t===`deletions`?`-`:`+`}${e.lineNumber}`,i=new URLSearchParams({file:n,line:String(e.lineNumber),side:t}),a=typeof window<`u`?`${window.location.origin}${window.location.pathname}?${i}`:r;navigator.clipboard?.writeText(a).then(()=>{z(r),setTimeout(()=>z(null),1600)},()=>{})},theme:{dark:Te.type===`dark`?Te.themeName:`nord`,light:Te.type===`light`?Te.themeName:`github-light`},themeType:Te.type,unsafeCSS:Ee},selectedLines:j?N:void 0,lineAnnotations:Ue,renderHeaderMetadata:()=>null,renderAnnotation:Re}):null]})]})});function CG({filePath:e,deletionStart:t,deletionCount:n}){let[r,i]=(0,W.useState)(null),[a,o]=(0,W.useState)(!1),[s,c]=(0,W.useState)(null);if((0,W.useEffect)(()=>{let r=!0;return(async()=>{o(!0),c(null);try{let a=new URLSearchParams({filePath:e,deletionStart:String(t),deletionCount:String(n)}),o=await fetch(`/api/hunk-history?${a}`);if(!o.ok)throw Error(`HTTP ${o.status}`);let s=await o.json();r&&i(s)}catch(e){r&&c(e.message||`Failed to fetch hunk history`)}finally{r&&o(!1)}})(),()=>{r=!1}},[e,t,n]),a)return(0,G.jsxs)(`div`,{className:`hunk-history-loading`,children:[(0,G.jsx)(DO,{size:14,className:`spin`,style:{marginRight:`8px`}}),(0,G.jsx)(`span`,{children:`Loading git history & origin blame…`})]});if(s)return(0,G.jsxs)(`div`,{className:`hunk-history-error`,children:[(0,G.jsx)(JD,{size:14,style:{color:`var(--feedback-danger-text)`,marginRight:`8px`}}),(0,G.jsxs)(`span`,{children:[`Failed to load git history: `,s]})]});if(!r)return null;let l=Array.from(new Map(r.blame.map(e=>[e.commit,e])).values());return(0,G.jsxs)(`div`,{className:`hunk-history-section`,children:[l.length>0&&(0,G.jsxs)(`div`,{className:`hunk-history-block`,children:[(0,G.jsx)(`h3`,{className:`hunk-history-title`,children:`Commit(s) introducing deleted lines`}),(0,G.jsx)(`div`,{className:`hunk-history-commits`,children:l.map(e=>(0,G.jsxs)(`div`,{className:`hunk-history-commit-card`,children:[(0,G.jsxs)(`div`,{className:`hunk-history-commit-header`,children:[(0,G.jsx)(`span`,{className:`hunk-history-commit-hash`,children:e.commit}),(0,G.jsxs)(`span`,{className:`hunk-history-commit-author`,children:[(0,G.jsx)(sk,{size:11}),(0,G.jsx)(`span`,{children:e.author})]}),(0,G.jsxs)(`span`,{className:`hunk-history-commit-date`,children:[(0,G.jsx)(rO,{size:11}),(0,G.jsx)(`span`,{children:e.date})]})]}),(0,G.jsx)(`div`,{className:`hunk-history-commit-msg`,children:e.summary})]},e.commit))})]}),r.recentCommits.length>0&&(0,G.jsxs)(`div`,{className:`hunk-history-block`,children:[(0,G.jsx)(`h3`,{className:`hunk-history-title`,children:`Recent File Modification History`}),(0,G.jsx)(`div`,{className:`hunk-history-log`,children:r.recentCommits.map(e=>(0,G.jsxs)(`div`,{className:`hunk-history-log-row`,children:[(0,G.jsx)(`span`,{className:`hunk-history-log-hash`,children:e.hash}),(0,G.jsx)(`span`,{className:`hunk-history-log-msg`,title:e.summary,children:e.summary}),(0,G.jsx)(`span`,{className:`hunk-history-log-author`,children:e.author}),(0,G.jsx)(`span`,{className:`hunk-history-log-date`,children:e.date})]},e.hash))})]})]})}function wG(e,t,n){return`
1942
+ `).length:void 0;return xG(t,j.side,e)},[j,t,we,Ce,Se]),je=(0,W.useCallback)(e=>{let t=uG(e);M(t),P(hG(t))},[]);(0,W.useEffect)(()=>{if(!j)return;let e=window.requestAnimationFrame(()=>{let e=pe.current?.querySelector(`.comment-form, [data-annotation-slot]`);e instanceof HTMLElement&&e.scrollIntoView({block:`nearest`,behavior:`smooth`})});return()=>cancelAnimationFrame(e)},[j?.side,j?.lineNumber]);let Me=async e=>{if(e.stopPropagation(),t.type!==`deleted`){ie(!0);try{await fetch(`/api/open-file`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({filePath:n,editor:l})})}catch(e){console.error(`Failed to open file in IDE editor:`,e)}finally{ie(!1)}}},Ne=()=>{switch(t.type){case`new`:return(0,G.jsx)(`span`,{className:`diff-status-badge diff-status-new`,children:`Added`});case`deleted`:return(0,G.jsx)(`span`,{className:`diff-status-badge diff-status-deleted`,children:`Deleted`});case`rename-pure`:case`rename-changed`:return(0,G.jsx)(`span`,{className:`diff-status-badge diff-status-renamed`,children:`Renamed`});default:return(0,G.jsx)(`span`,{className:`diff-status-badge diff-status-modified`,children:`Modified`})}},Pe=r.filter(e=>e.lineNumber===0),Fe=r.filter(e=>e.lineNumber>0),Ie=i.filter(e=>bG(t,e)).map(e=>({side:e.side===`LEFT`?`deletions`:`additions`,lineNumber:e.line,metadata:{_existingPr:!0,comment:e}})),Le=i.filter(e=>!bG(t,e)),Re=e=>{if(`_pending`in e.metadata){if(!j)return null;let e=L.current??`open`,t=`new:${n}:${j.side}:${e}`,r=De(j.side,j.lineNumber,j.startLineNumber),i=mG(j),a=Ae;return(0,G.jsx)(ZW,{draftKey:t,lineContent:r,lineLabel:pG(j),range:{start:i.start,end:i.end,sideLabel:fG(j),canAdjustStart:e=>vG(j,e,a),canAdjustEnd:e=>yG(j,e,a)},onAdjustStart:e=>{je(gG(j,e,a))},onAdjustEnd:e=>{je(_G(j,e,a))},onSubmit:(e,t)=>{let r=De(j.side,j.lineNumber,j.startLineNumber);C(n,j.side,j.lineNumber,r,e,j.startLineNumber,t),ke()},onCancel:ke})}return`_existingPr`in e.metadata?(0,G.jsx)(eG,{comment:e.metadata.comment,lineContent:De(e.side,e.lineNumber,e.metadata.comment.startLine??void 0),onReply:T,onEdit:E,onDelete:D,onSetResolved:O}):(0,G.jsx)($W,{comment:e.metadata,onDelete:w})},ze=(0,W.useCallback)(()=>{I(0),M(null),P(null),L.current=null},[]),Be=(0,W.useCallback)(e=>{I(e?Math.abs(e.end-e.start)+1:0)},[]),Ve=(0,W.useCallback)(e=>{I(0),e&&Oe(dG(e))},[Oe]),He=(0,W.useCallback)(e=>{Oe(dG(e))},[Oe]),Ue=[...Fe,...Ie,...j?[{side:j.side,lineNumber:j.lineNumber,metadata:{_pending:!0}}]:[]];return(0,G.jsxs)(`div`,{ref:pe,className:`file-diff-card ${s?`file-diff-viewed`:``} ${B?`file-diff-collapsed`:``}`,id:e,"data-file-path":n,children:[(0,G.jsxs)(`div`,{className:`file-diff-card-header`,onClick:()=>{let e=!B;V(e),A?.(n,e)},children:[(0,G.jsxs)(`div`,{className:`file-diff-header-left`,children:[(0,G.jsx)(`span`,{className:`file-diff-collapse-indicator`,"aria-hidden":`true`,children:B?(0,G.jsx)(KD,{size:14}):(0,G.jsx)(WD,{size:14})}),(0,G.jsxs)(`div`,{className:`file-diff-title-row`,children:[(0,G.jsx)(`span`,{className:`file-diff-name`,title:n,children:n}),(0,G.jsx)(`button`,{className:`file-diff-copy-path-btn`,onClick:ge,title:`Copy file path to clipboard`,"aria-label":`Copy file path to clipboard`,children:ee?(0,G.jsx)(UD,{size:12}):(0,G.jsx)(oO,{size:12})}),Ne(),Fe.length+Ie.length>0&&(0,G.jsxs)(`span`,{className:`file-diff-comment-badge`,title:`${Fe.length+Ie.length} inline comment${Fe.length+Ie.length===1?``:`s`}`,children:[(0,G.jsx)(PO,{size:10}),Fe.length+Ie.length]}),F>0&&(0,G.jsxs)(`span`,{className:`file-diff-selection-badge`,"aria-live":`polite`,children:[F,` line`,F===1?``:`s`,` selected`]}),ee&&(0,G.jsx)(`span`,{className:`file-diff-permalink-flash`,role:`status`,children:`Copied path`}),R&&(0,G.jsxs)(`span`,{className:`file-diff-permalink-flash`,role:`status`,children:[`Copied `,R]})]})]}),(0,G.jsxs)(`div`,{className:`file-diff-header-right`,onClick:e=>e.stopPropagation(),children:[ye&&(0,G.jsx)($T,{content:se?`Hide unchanged context`:`Expand full-file context`,side:`bottom`,children:(0,G.jsx)(`button`,{className:`file-diff-icon-btn ${se?`is-active`:``}`,onClick:()=>ce(e=>!e),disabled:xe,"aria-label":xe?`Loading context`:se?`Hide context`:`Expand context`,children:xe?(0,G.jsx)(DO,{size:13,className:`spin`}):(0,G.jsx)(kO,{size:13})})}),k&&t.type!==`deleted`&&(0,G.jsx)($T,{content:`Open in editor`,side:`bottom`,children:(0,G.jsx)(`button`,{className:`file-diff-icon-btn`,onClick:Me,disabled:re,"aria-label":re?`Opening file`:`Edit file`,children:re?(0,G.jsx)(DO,{size:13,className:`spin`}):(0,G.jsx)(WO,{size:13})})}),(0,G.jsx)($T,{content:`Comment on entire file`,side:`bottom`,children:(0,G.jsx)(`button`,{className:`file-diff-icon-btn`,onClick:()=>{V(!1),oe(!0)},"aria-label":`Add file comment`,children:(0,G.jsx)(PO,{size:13})})}),(0,G.jsxs)(`label`,{className:`viewed-label ${s?`viewed-checked`:``}`,title:s?`Mark unviewed · v`:`Mark viewed · v`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:s,"aria-label":s?`Mark as unviewed`:`Mark as viewed`,onChange:e=>{let t=e.target.checked;V(t),S(n,t)}}),(0,G.jsx)(`span`,{className:`viewed-label-text`,children:`Viewed`})]})]})]}),k&&!B&&t.hunks.length>0&&(0,G.jsxs)(`div`,{className:`file-diff-hunk-actions`,onClick:e=>e.stopPropagation(),children:[(0,G.jsxs)(`div`,{className:`file-diff-hunk-actions-meta`,children:[(0,G.jsx)(`span`,{className:`file-diff-hunk-actions-label`,children:`Revert hunks`}),(0,G.jsx)($T,{content:`Preview and undo specific change blocks via git apply --reverse`,side:`top`,children:(0,G.jsx)(QD,{size:12,className:`file-diff-hunk-help`})}),(0,G.jsxs)(`span`,{className:`file-diff-hunk-count`,children:[t.hunks.length,` block`,t.hunks.length===1?``:`s`]})]}),(0,G.jsx)(`div`,{className:`file-diff-hunk-actions-buttons`,children:t.hunks.map((e,t)=>(0,G.jsxs)(`button`,{type:`button`,className:`file-diff-hunk-revert-btn`,onClick:()=>fe(t),disabled:H!==null,title:`Preview and revert hunk #${t+1} (lines @${e.additionStart}+${e.additionLines??e.additionCount})`,children:[H===t?(0,G.jsx)(DO,{size:10,className:`spin`}):(0,G.jsx)(ok,{size:10}),(0,G.jsxs)(`span`,{children:[`Hunk #`,t+1]})]},t))}),ue&&(0,G.jsxs)(`span`,{className:`file-diff-hunk-error`,role:`alert`,children:[(0,G.jsx)(JD,{size:11}),ue]})]}),k&&de!==null&&(()=>{let e=t.hunks[de];if(!e)return null;let r=t.deletionLines.slice(e.deletionLineIndex,e.deletionLineIndex+(e.deletionCount??e.deletionLines??0)),i=t.additionLines.slice(e.additionLineIndex,e.additionLineIndex+(e.additionStart!==void 0&&e.additionLines!==void 0?e.additionLines:e.additionCount??0));return(0,G.jsxs)(LW,{open:de!==null,onClose:()=>fe(null),className:`hunk-revert-modal`,ariaLabel:`Selective Revert Preview Hunk #${de+1}`,children:[(0,G.jsxs)(`div`,{className:`shortcuts-header`,children:[(0,G.jsxs)(`div`,{className:`shortcuts-header-title`,children:[(0,G.jsx)(ok,{size:18,className:`shortcuts-icon`}),(0,G.jsxs)(`h2`,{children:[`Revert Hunk #`,de+1]})]}),(0,G.jsx)(`button`,{className:`shortcuts-close-btn`,onClick:()=>fe(null),"aria-label":`Close dialog`,children:(0,G.jsx)(ck,{size:16})})]}),(0,G.jsxs)(`div`,{className:`shortcuts-body`,children:[(0,G.jsxs)(`div`,{className:`hunk-preview-intro`,children:[`Reverting this hunk will restore the deleted (`,(0,G.jsx)(`span`,{style:{color:`var(--feedback-danger-text)`,fontWeight:600},children:`red`}),`) lines and remove the added (`,(0,G.jsx)(`span`,{style:{color:`var(--feedback-success-text)`,fontWeight:600},children:`green`}),`) lines from `,(0,G.jsx)(`strong`,{children:n.split(`/`).pop()}),`.`]}),(0,G.jsxs)(`div`,{className:`hunk-preview-container`,children:[(0,G.jsxs)(`div`,{className:`hunk-preview-header`,children:[(0,G.jsx)(`span`,{children:n}),(0,G.jsxs)(`span`,{children:[`Lines: @-`,e.deletionStart,`,`,e.deletionCount??e.deletionLines??0,` @+`,e.additionStart,`,`,e.additionLines??e.additionCount??0]})]}),(0,G.jsxs)(`div`,{className:`hunk-preview-code`,children:[r.map((e,t)=>(0,G.jsxs)(`div`,{className:`hunk-preview-line hunk-preview-line-deletion`,children:[(0,G.jsx)(`span`,{className:`hunk-preview-sign`,children:`-`}),(0,G.jsx)(`span`,{className:`hunk-preview-text`,children:e})]},`del-${t}`)),i.map((e,t)=>(0,G.jsxs)(`div`,{className:`hunk-preview-line hunk-preview-line-addition`,children:[(0,G.jsx)(`span`,{className:`hunk-preview-sign`,children:`+`}),(0,G.jsx)(`span`,{className:`hunk-preview-text`,children:e})]},`add-${t}`)),r.length===0&&i.length===0&&(0,G.jsx)(`div`,{className:`hunk-preview-line`,style:{fontStyle:`italic`,color:`var(--text-muted)`},children:`No changes in this hunk.`})]})]}),(0,G.jsx)(CG,{filePath:n,deletionStart:e.deletionStart,deletionCount:e.deletionCount??e.deletionLines??0})]}),(0,G.jsxs)(`div`,{className:`modal-footer`,children:[(0,G.jsx)(`button`,{className:`hunk-revert-btn-secondary`,onClick:()=>fe(null),children:`Cancel`}),(0,G.jsx)(`button`,{className:`hunk-revert-btn-primary`,onClick:async()=>{let e=de;fe(null),await _e(e,!0)},children:`Revert Changes`})]})]})})(),!B&&(0,G.jsxs)(`div`,{className:`file-diff-card-body`,children:[!me&&(0,G.jsx)(`div`,{className:`file-diff-body-placeholder`,"aria-hidden":`true`,children:`Loading diff…`}),me&&t.hunks.length>0&&(0,G.jsx)(sG,{fileDiff:t,filePath:n,onJump:(e,t)=>{oE(e,t,`additions`)}}),me&&(Pe.length>0||Le.length>0||ae)&&(0,G.jsxs)(`div`,{className:`file-level-comments-section`,style:{margin:`16px 20px`,padding:`12px`,background:`rgba(255,255,255,0.02)`,border:`1px solid var(--border-color)`,borderRadius:`8px`,display:`flex`,flexDirection:`column`,gap:`12px`},children:[(0,G.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`6px`,fontSize:`13px`,fontWeight:600,color:`var(--text-secondary)`},children:[(0,G.jsx)(PO,{size:14}),(0,G.jsxs)(`span`,{children:[`File-Level Comments (`,Pe.length+Le.length,`)`]})]}),Pe.length>0&&(0,G.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`12px`},children:Pe.map(e=>(0,G.jsx)($W,{comment:e.metadata,onDelete:w},e.metadata.id))}),Le.map(e=>(0,G.jsx)(eG,{comment:e,onReply:T,onEdit:E,onDelete:D,onSetResolved:O},`github-${e.id}`)),ae&&(0,G.jsx)(`div`,{style:{background:`var(--bg-secondary)`,borderRadius:`6px`,border:`1px solid var(--border-color)`},children:(0,G.jsx)(ZW,{draftKey:`file-comment:${n}`,lineContent:``,onSubmit:(e,t)=>{C(n,`additions`,0,``,e,void 0,t),oe(!1)},onCancel:()=>oe(!1)})})]}),me&&we?(0,G.jsx)(Xg,{oldFile:{name:be,contents:Se??``},newFile:{name:n,contents:Ce??``},options:{diffStyle:a,enableGutterUtility:!0,enableLineSelection:!0,disableFileHeader:!0,lineDiffType:u,overflow:d?`wrap`:`scroll`,diffIndicators:f,disableLineNumbers:!p,hunkSeparators:m,lineHoverHighlight:h,expandUnchanged:!1,collapsedContextThreshold:y,expansionLineCount:b,onLineSelectionStart:ze,onLineSelectionChange:Be,onLineSelectionEnd:Ve,onGutterUtilityClick:He,onLineNumberClick:e=>{let t=e.annotationSide===`deletions`?`deletions`:`additions`,r=`${n}:${t===`deletions`?`-`:`+`}${e.lineNumber}`,i=new URLSearchParams({file:n,line:String(e.lineNumber),side:t}),a=typeof window<`u`?`${window.location.origin}${window.location.pathname}?${i}`:r;navigator.clipboard?.writeText(a).then(()=>{z(r),setTimeout(()=>z(null),1600)},()=>{})},theme:{dark:Te.type===`dark`?Te.themeName:`rose-pine`,light:Te.type===`light`?Te.themeName:`github-light`},themeType:Te.type,unsafeCSS:Ee},selectedLines:j?N:void 0,lineAnnotations:Ue,renderHeaderMetadata:()=>null,renderAnnotation:Re}):me?(0,G.jsx)(Yg,{fileDiff:t,options:{diffStyle:a,enableGutterUtility:!0,enableLineSelection:!0,disableFileHeader:!0,lineDiffType:u,overflow:d?`wrap`:`scroll`,diffIndicators:f,disableLineNumbers:!p,hunkSeparators:m,lineHoverHighlight:h,onLineSelectionStart:ze,onLineSelectionChange:Be,onLineSelectionEnd:Ve,onGutterUtilityClick:He,onLineNumberClick:e=>{let t=e.annotationSide===`deletions`?`deletions`:`additions`,r=`${n}:${t===`deletions`?`-`:`+`}${e.lineNumber}`,i=new URLSearchParams({file:n,line:String(e.lineNumber),side:t}),a=typeof window<`u`?`${window.location.origin}${window.location.pathname}?${i}`:r;navigator.clipboard?.writeText(a).then(()=>{z(r),setTimeout(()=>z(null),1600)},()=>{})},theme:{dark:Te.type===`dark`?Te.themeName:`rose-pine`,light:Te.type===`light`?Te.themeName:`github-light`},themeType:Te.type,unsafeCSS:Ee},selectedLines:j?N:void 0,lineAnnotations:Ue,renderHeaderMetadata:()=>null,renderAnnotation:Re}):null]})]})});function CG({filePath:e,deletionStart:t,deletionCount:n}){let[r,i]=(0,W.useState)(null),[a,o]=(0,W.useState)(!1),[s,c]=(0,W.useState)(null);if((0,W.useEffect)(()=>{let r=!0;return(async()=>{o(!0),c(null);try{let a=new URLSearchParams({filePath:e,deletionStart:String(t),deletionCount:String(n)}),o=await fetch(`/api/hunk-history?${a}`);if(!o.ok)throw Error(`HTTP ${o.status}`);let s=await o.json();r&&i(s)}catch(e){r&&c(e.message||`Failed to fetch hunk history`)}finally{r&&o(!1)}})(),()=>{r=!1}},[e,t,n]),a)return(0,G.jsxs)(`div`,{className:`hunk-history-loading`,children:[(0,G.jsx)(DO,{size:14,className:`spin`,style:{marginRight:`8px`}}),(0,G.jsx)(`span`,{children:`Loading git history & origin blame…`})]});if(s)return(0,G.jsxs)(`div`,{className:`hunk-history-error`,children:[(0,G.jsx)(JD,{size:14,style:{color:`var(--feedback-danger-text)`,marginRight:`8px`}}),(0,G.jsxs)(`span`,{children:[`Failed to load git history: `,s]})]});if(!r)return null;let l=Array.from(new Map(r.blame.map(e=>[e.commit,e])).values());return(0,G.jsxs)(`div`,{className:`hunk-history-section`,children:[l.length>0&&(0,G.jsxs)(`div`,{className:`hunk-history-block`,children:[(0,G.jsx)(`h3`,{className:`hunk-history-title`,children:`Commit(s) introducing deleted lines`}),(0,G.jsx)(`div`,{className:`hunk-history-commits`,children:l.map(e=>(0,G.jsxs)(`div`,{className:`hunk-history-commit-card`,children:[(0,G.jsxs)(`div`,{className:`hunk-history-commit-header`,children:[(0,G.jsx)(`span`,{className:`hunk-history-commit-hash`,children:e.commit}),(0,G.jsxs)(`span`,{className:`hunk-history-commit-author`,children:[(0,G.jsx)(sk,{size:11}),(0,G.jsx)(`span`,{children:e.author})]}),(0,G.jsxs)(`span`,{className:`hunk-history-commit-date`,children:[(0,G.jsx)(rO,{size:11}),(0,G.jsx)(`span`,{children:e.date})]})]}),(0,G.jsx)(`div`,{className:`hunk-history-commit-msg`,children:e.summary})]},e.commit))})]}),r.recentCommits.length>0&&(0,G.jsxs)(`div`,{className:`hunk-history-block`,children:[(0,G.jsx)(`h3`,{className:`hunk-history-title`,children:`Recent File Modification History`}),(0,G.jsx)(`div`,{className:`hunk-history-log`,children:r.recentCommits.map(e=>(0,G.jsxs)(`div`,{className:`hunk-history-log-row`,children:[(0,G.jsx)(`span`,{className:`hunk-history-log-hash`,children:e.hash}),(0,G.jsx)(`span`,{className:`hunk-history-log-msg`,title:e.summary,children:e.summary}),(0,G.jsx)(`span`,{className:`hunk-history-log-author`,children:e.author}),(0,G.jsx)(`span`,{className:`hunk-history-log-date`,children:e.date})]},e.hash))})]})]})}function wG(e,t,n){return`
1943
1943
  :host {
1944
1944
  --diffs-tab-size: ${e} !important;
1945
1945
  --diffs-font-family: ${n} !important;
@@ -2001,7 +2001,7 @@ https://github.com/highlightjs/highlight.js/issues/2277`),i=e,r=t),n===void 0&&(
2001
2001
  overflow-wrap: break-word !important;
2002
2002
  min-width: 0 !important;
2003
2003
  }
2004
- `}var TG=new Set([`.png`,`.jpg`,`.jpeg`,`.gif`,`.webp`,`.bmp`,`.svg`,`.ico`,`.avif`]);function EG(e){let t=e.slice(e.lastIndexOf(`.`)).toLowerCase();return TG.has(t)}function DG({filePath:e,info:t,viewed:n,onViewedChange:r}){let i=EG(e);return(0,G.jsxs)(`div`,{className:`file-diff-card ${n?`file-diff-viewed`:``}`,id:`file-${e}`,children:[(0,G.jsxs)(`div`,{className:`binary-diff-header`,children:[(0,G.jsx)(`span`,{className:`binary-diff-name`,children:e}),(0,G.jsxs)(`label`,{className:`viewed-label`,onClick:e=>e.stopPropagation(),children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:n,onChange:t=>r(e,t.target.checked)}),`Viewed`]})]}),!n&&(0,G.jsx)(`div`,{className:`binary-diff-body`,children:i?(0,G.jsx)(OG,{filePath:e,changeType:t.type}):(0,G.jsxs)(`div`,{className:`binary-diff-message`,children:[`Binary file `,t.type===`added`?`added`:t.type===`untracked`?`untracked`:t.type===`deleted`?`deleted`:`changed`]})})]})}function OG({filePath:e,changeType:t}){let n=`/api/file-content?path=${encodeURIComponent(e)}&version=old`,r=`/api/file-content?path=${encodeURIComponent(e)}&version=new`;return t===`added`||t===`untracked`?(0,G.jsx)(`div`,{className:`image-preview`,children:(0,G.jsxs)(`div`,{className:`image-preview-panel`,children:[(0,G.jsx)(`div`,{className:`image-preview-label image-preview-label-added`,children:`Added`}),(0,G.jsx)(`img`,{src:r,alt:e,className:`image-preview-img`})]})}):t===`deleted`?(0,G.jsx)(`div`,{className:`image-preview`,children:(0,G.jsxs)(`div`,{className:`image-preview-panel`,children:[(0,G.jsx)(`div`,{className:`image-preview-label image-preview-label-deleted`,children:`Deleted`}),(0,G.jsx)(`img`,{src:n,alt:e,className:`image-preview-img image-preview-deleted`})]})}):(0,G.jsxs)(`div`,{className:`image-preview image-preview-compare`,children:[(0,G.jsxs)(`div`,{className:`image-preview-panel`,children:[(0,G.jsx)(`div`,{className:`image-preview-label`,children:`Before`}),(0,G.jsx)(`img`,{src:n,alt:`${e} (before)`,className:`image-preview-img`})]}),(0,G.jsxs)(`div`,{className:`image-preview-panel`,children:[(0,G.jsx)(`div`,{className:`image-preview-label`,children:`After`}),(0,G.jsx)(`img`,{src:r,alt:`${e} (after)`,className:`image-preview-img`})]})]})}var kG=[];function AG(e,t){let n=e.name.split(`/`),r=t.name.split(`/`),i=Math.min(n.length,r.length);for(let e=0;e<i;e++){let t=e<n.length-1;if(t!==e<r.length-1)return t?-1:1;let i=n[e].localeCompare(r[e]);if(i!==0)return i}return n.length-r.length}var jG=(0,W.memo)(function({files:e,diffStyle:t,tabSizeMap:n,defaultTabSize:r,viewedFiles:i,binaryFiles:a,theme:o,editorIDE:s,lineDiffType:c,lineWrap:l,diffIndicators:u,showLineNumbers:d,hunkSeparators:f,lineHoverHighlight:p,fontSize:m,monoFontFamily:h,expandContextByDefault:g,collapsedContextThreshold:_,expansionLineCount:v,autoCollapseLineThreshold:y,onViewedChange:b,fileAnnotationsMap:x,existingCommentsMap:S,onAddComment:C,onDeleteComment:w,onReplyExisting:T,onEditExisting:E,onDeleteExisting:D,onSetExistingResolved:O,allowLocalActions:k=!0,onCardToggleCollapse:A}){return e.length===0?(0,G.jsxs)(`div`,{className:`empty-state`,role:`status`,children:[(0,G.jsx)(`div`,{className:`empty-state-icon`,"aria-hidden":`true`,children:(0,G.jsx)(_O,{size:24,strokeWidth:1.75})}),(0,G.jsx)(`p`,{className:`empty-state-title`,children:`All clean`}),(0,G.jsx)(`p`,{className:`empty-state-hint`,children:`No changes found. Stage, edit, or pick a different range to review.`})]}):(0,G.jsx)(`div`,{className:`diff-viewer`,children:e.map(e=>{let j=e.name,M=a.get(j);return M?(0,G.jsx)(DG,{filePath:j,info:M,viewed:i.has(j),onViewedChange:b},j):(0,G.jsx)(SG,{id:`file-${j}`,fileDiff:e,filePath:j,annotations:x.get(j)??kG,existingComments:S?.get(j)??[],diffStyle:t,tabSize:n[j]??r,viewed:i.has(j),theme:o,editorIDE:s,lineDiffType:c,lineWrap:l,diffIndicators:u,showLineNumbers:d,hunkSeparators:f,lineHoverHighlight:p,fontSize:m,monoFontFamily:h,expandContextByDefault:g,collapsedContextThreshold:_,expansionLineCount:v,autoCollapseLineThreshold:y,onViewedChange:b,onAddComment:C,onDeleteComment:w,onReplyExisting:T,onEditExisting:E,onDeleteExisting:D,onSetExistingResolved:O,allowLocalActions:k,onCardToggleCollapse:A},j)})})}),MG={current:{label:`Current`,icon:UD,title:`Keep the current/HEAD side`},incoming:{label:`Incoming`,icon:ck,title:`Keep the incoming side`},both:{label:`Both`,icon:KO,title:`Keep both sides (current then incoming)`}},NG=(0,W.memo)(function({filePath:e,theme:t,fontSize:n,monoFontFamily:r,tabSize:i,onSaved:a}){let o=nE[t]||nE.nord,[s,c]=(0,W.useState)({loading:!0,error:null,file:null}),[l,u]=(0,W.useState)(null),[d,f]=(0,W.useState)(0),[p,m]=(0,W.useState)(!1),[h,g]=(0,W.useState)(null),[_,v]=(0,W.useState)(!1),y=(0,W.useRef)(null);(0,W.useEffect)(()=>{let t=!1;return c({loading:!0,error:null,file:null}),u(null),f(0),v(!1),g(null),fetch(`/api/file-text?path=${encodeURIComponent(e)}&version=new`).then(e=>e.json()).then(n=>{if(!t){if(n.error){c({loading:!1,error:n.error,file:null});return}c({loading:!1,error:null,file:{name:e,contents:n.content??``}})}}).catch(e=>{t||c({loading:!1,error:e.message,file:null})}),()=>{t=!0}},[e]);let b=(e,t)=>{let n=y.current;if(!n)return;let r=n.resolveConflict(e,t);r&&r.file&&(u(r.file),f(e=>e+1))};return s.loading?(0,G.jsxs)(`div`,{className:`merge-conflict-card merge-conflict-card-loading`,children:[(0,G.jsx)(DO,{size:14,className:`spin`}),(0,G.jsxs)(`span`,{children:[`Loading `,e,`…`]})]}):s.error||!s.file?(0,G.jsxs)(`div`,{className:`merge-conflict-card merge-conflict-card-error`,children:[(0,G.jsx)(JD,{size:14}),(0,G.jsxs)(`span`,{children:[`Could not load `,e,`: `,s.error??`unknown error`]})]}):(0,G.jsxs)(`div`,{className:`merge-conflict-card`,children:[(0,G.jsxs)(`div`,{className:`merge-conflict-header`,children:[(0,G.jsxs)(`div`,{className:`merge-conflict-title`,children:[(0,G.jsx)(vO,{size:14}),(0,G.jsx)(`span`,{className:`merge-conflict-name`,title:e,children:e})]}),(0,G.jsxs)(`div`,{className:`merge-conflict-actions`,children:[d>0&&(0,G.jsxs)(`span`,{className:`merge-conflict-status`,children:[d,` resolution`,d===1?``:`s`,` pending`]}),(0,G.jsxs)(`button`,{className:`file-diff-edit-btn`,onClick:async()=>{let t=l??s.file;if(t){m(!0),g(null);try{let n=await fetch(`/api/save-file`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({filePath:e,content:t.contents,gitAdd:!0})});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error??`HTTP ${n.status}`)}v(!0),a()}catch(e){g(e.message)}finally{m(!1)}}},disabled:p||_,title:"Write the resolved file to disk and `git add` it",children:[p?(0,G.jsx)(DO,{size:11,className:`spin`}):_?(0,G.jsx)(YD,{size:11}):(0,G.jsx)(XO,{size:11}),(0,G.jsx)(`span`,{children:p?`Saving…`:_?`Saved + staged`:`Save & stage`})]})]})]}),h&&(0,G.jsxs)(`div`,{className:`merge-conflict-card-error`,role:`alert`,children:[(0,G.jsx)(JD,{size:14}),(0,G.jsx)(`span`,{children:h})]}),(0,G.jsx)(k_,{file:l??s.file,options:{disableFileHeader:!0,enableGutterUtility:!1,mergeConflictActionsType:`custom`,theme:{dark:o.type===`dark`?o.themeName:`nord`,light:o.type===`light`?o.themeName:`github-light`},themeType:o.type,unsafeCSS:`
2004
+ `}var TG=new Set([`.png`,`.jpg`,`.jpeg`,`.gif`,`.webp`,`.bmp`,`.svg`,`.ico`,`.avif`]);function EG(e){let t=e.slice(e.lastIndexOf(`.`)).toLowerCase();return TG.has(t)}function DG({filePath:e,info:t,viewed:n,onViewedChange:r}){let i=EG(e);return(0,G.jsxs)(`div`,{className:`file-diff-card ${n?`file-diff-viewed`:``}`,id:`file-${e}`,children:[(0,G.jsxs)(`div`,{className:`binary-diff-header`,children:[(0,G.jsx)(`span`,{className:`binary-diff-name`,children:e}),(0,G.jsxs)(`label`,{className:`viewed-label`,onClick:e=>e.stopPropagation(),children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:n,onChange:t=>r(e,t.target.checked)}),`Viewed`]})]}),!n&&(0,G.jsx)(`div`,{className:`binary-diff-body`,children:i?(0,G.jsx)(OG,{filePath:e,changeType:t.type}):(0,G.jsxs)(`div`,{className:`binary-diff-message`,children:[`Binary file `,t.type===`added`?`added`:t.type===`untracked`?`untracked`:t.type===`deleted`?`deleted`:`changed`]})})]})}function OG({filePath:e,changeType:t}){let n=`/api/file-content?path=${encodeURIComponent(e)}&version=old`,r=`/api/file-content?path=${encodeURIComponent(e)}&version=new`;return t===`added`||t===`untracked`?(0,G.jsx)(`div`,{className:`image-preview`,children:(0,G.jsxs)(`div`,{className:`image-preview-panel`,children:[(0,G.jsx)(`div`,{className:`image-preview-label image-preview-label-added`,children:`Added`}),(0,G.jsx)(`img`,{src:r,alt:e,className:`image-preview-img`})]})}):t===`deleted`?(0,G.jsx)(`div`,{className:`image-preview`,children:(0,G.jsxs)(`div`,{className:`image-preview-panel`,children:[(0,G.jsx)(`div`,{className:`image-preview-label image-preview-label-deleted`,children:`Deleted`}),(0,G.jsx)(`img`,{src:n,alt:e,className:`image-preview-img image-preview-deleted`})]})}):(0,G.jsxs)(`div`,{className:`image-preview image-preview-compare`,children:[(0,G.jsxs)(`div`,{className:`image-preview-panel`,children:[(0,G.jsx)(`div`,{className:`image-preview-label`,children:`Before`}),(0,G.jsx)(`img`,{src:n,alt:`${e} (before)`,className:`image-preview-img`})]}),(0,G.jsxs)(`div`,{className:`image-preview-panel`,children:[(0,G.jsx)(`div`,{className:`image-preview-label`,children:`After`}),(0,G.jsx)(`img`,{src:r,alt:`${e} (after)`,className:`image-preview-img`})]})]})}var kG=[];function AG(e,t){let n=e.name.split(`/`),r=t.name.split(`/`),i=Math.min(n.length,r.length);for(let e=0;e<i;e++){let t=e<n.length-1;if(t!==e<r.length-1)return t?-1:1;let i=n[e].localeCompare(r[e]);if(i!==0)return i}return n.length-r.length}var jG=(0,W.memo)(function({files:e,diffStyle:t,tabSizeMap:n,defaultTabSize:r,viewedFiles:i,binaryFiles:a,theme:o,editorIDE:s,lineDiffType:c,lineWrap:l,diffIndicators:u,showLineNumbers:d,hunkSeparators:f,lineHoverHighlight:p,fontSize:m,monoFontFamily:h,expandContextByDefault:g,collapsedContextThreshold:_,expansionLineCount:v,autoCollapseLineThreshold:y,onViewedChange:b,fileAnnotationsMap:x,existingCommentsMap:S,onAddComment:C,onDeleteComment:w,onReplyExisting:T,onEditExisting:E,onDeleteExisting:D,onSetExistingResolved:O,allowLocalActions:k=!0,onCardToggleCollapse:A}){return e.length===0?(0,G.jsxs)(`div`,{className:`empty-state`,role:`status`,children:[(0,G.jsx)(`div`,{className:`empty-state-icon`,"aria-hidden":`true`,children:(0,G.jsx)(_O,{size:24,strokeWidth:1.75})}),(0,G.jsx)(`p`,{className:`empty-state-title`,children:`All clean`}),(0,G.jsx)(`p`,{className:`empty-state-hint`,children:`No changes found. Stage, edit, or pick a different range to review.`})]}):(0,G.jsx)(`div`,{className:`diff-viewer`,children:e.map(e=>{let j=e.name,M=a.get(j);return M?(0,G.jsx)(DG,{filePath:j,info:M,viewed:i.has(j),onViewedChange:b},j):(0,G.jsx)(SG,{id:`file-${j}`,fileDiff:e,filePath:j,annotations:x.get(j)??kG,existingComments:S?.get(j)??[],diffStyle:t,tabSize:n[j]??r,viewed:i.has(j),theme:o,editorIDE:s,lineDiffType:c,lineWrap:l,diffIndicators:u,showLineNumbers:d,hunkSeparators:f,lineHoverHighlight:p,fontSize:m,monoFontFamily:h,expandContextByDefault:g,collapsedContextThreshold:_,expansionLineCount:v,autoCollapseLineThreshold:y,onViewedChange:b,onAddComment:C,onDeleteComment:w,onReplyExisting:T,onEditExisting:E,onDeleteExisting:D,onSetExistingResolved:O,allowLocalActions:k,onCardToggleCollapse:A},j)})})}),MG={current:{label:`Current`,icon:UD,title:`Keep the current/HEAD side`},incoming:{label:`Incoming`,icon:ck,title:`Keep the incoming side`},both:{label:`Both`,icon:KO,title:`Keep both sides (current then incoming)`}},NG=(0,W.memo)(function({filePath:e,theme:t,fontSize:n,monoFontFamily:r,tabSize:i,onSaved:a}){let o=nE[t]||nE[`rose-pine`],[s,c]=(0,W.useState)({loading:!0,error:null,file:null}),[l,u]=(0,W.useState)(null),[d,f]=(0,W.useState)(0),[p,m]=(0,W.useState)(!1),[h,g]=(0,W.useState)(null),[_,v]=(0,W.useState)(!1),y=(0,W.useRef)(null);(0,W.useEffect)(()=>{let t=!1;return c({loading:!0,error:null,file:null}),u(null),f(0),v(!1),g(null),fetch(`/api/file-text?path=${encodeURIComponent(e)}&version=new`).then(e=>e.json()).then(n=>{if(!t){if(n.error){c({loading:!1,error:n.error,file:null});return}c({loading:!1,error:null,file:{name:e,contents:n.content??``}})}}).catch(e=>{t||c({loading:!1,error:e.message,file:null})}),()=>{t=!0}},[e]);let b=(e,t)=>{let n=y.current;if(!n)return;let r=n.resolveConflict(e,t);r&&r.file&&(u(r.file),f(e=>e+1))};return s.loading?(0,G.jsxs)(`div`,{className:`merge-conflict-card merge-conflict-card-loading`,children:[(0,G.jsx)(DO,{size:14,className:`spin`}),(0,G.jsxs)(`span`,{children:[`Loading `,e,`…`]})]}):s.error||!s.file?(0,G.jsxs)(`div`,{className:`merge-conflict-card merge-conflict-card-error`,children:[(0,G.jsx)(JD,{size:14}),(0,G.jsxs)(`span`,{children:[`Could not load `,e,`: `,s.error??`unknown error`]})]}):(0,G.jsxs)(`div`,{className:`merge-conflict-card`,children:[(0,G.jsxs)(`div`,{className:`merge-conflict-header`,children:[(0,G.jsxs)(`div`,{className:`merge-conflict-title`,children:[(0,G.jsx)(vO,{size:14}),(0,G.jsx)(`span`,{className:`merge-conflict-name`,title:e,children:e})]}),(0,G.jsxs)(`div`,{className:`merge-conflict-actions`,children:[d>0&&(0,G.jsxs)(`span`,{className:`merge-conflict-status`,children:[d,` resolution`,d===1?``:`s`,` pending`]}),(0,G.jsxs)(`button`,{className:`file-diff-edit-btn`,onClick:async()=>{let t=l??s.file;if(t){m(!0),g(null);try{let n=await fetch(`/api/save-file`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({filePath:e,content:t.contents,gitAdd:!0})});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error??`HTTP ${n.status}`)}v(!0),a()}catch(e){g(e.message)}finally{m(!1)}}},disabled:p||_,title:"Write the resolved file to disk and `git add` it",children:[p?(0,G.jsx)(DO,{size:11,className:`spin`}):_?(0,G.jsx)(YD,{size:11}):(0,G.jsx)(XO,{size:11}),(0,G.jsx)(`span`,{children:p?`Saving…`:_?`Saved + staged`:`Save & stage`})]})]})]}),h&&(0,G.jsxs)(`div`,{className:`merge-conflict-card-error`,role:`alert`,children:[(0,G.jsx)(JD,{size:14}),(0,G.jsx)(`span`,{children:h})]}),(0,G.jsx)(k_,{file:l??s.file,options:{disableFileHeader:!0,enableGutterUtility:!1,mergeConflictActionsType:`custom`,theme:{dark:o.type===`dark`?o.themeName:`rose-pine`,light:o.type===`light`?o.themeName:`github-light`},themeType:o.type,unsafeCSS:`
2005
2005
  :host {
2006
2006
  --diffs-tab-size: ${i} !important;
2007
2007
  --diffs-font-family: ${r} !important;
@@ -3852,7 +3852,7 @@ https://github.com/highlightjs/highlight.js/issues/2277`),i=e,r=t),n===void 0&&(
3852
3852
  @layer unsafe {
3853
3853
  ${e}
3854
3854
  }`}var _q=new WeakMap;function vq(e){let t=_q.get(e);if(t!=null)return t;let n=document.createElement(`div`);n.setAttribute(LG,`true`);let r=document.createElement(`div`);r.style.position=`relative`,r.style.height=`200%`,n.appendChild(r),e.appendChild(n);let i=Math.max(n.offsetWidth-n.clientWidth,0);return n.remove(),_q.set(e,i),i}function yq(e,t){if(!e.isConnected)return;let n=vq(t);if(n==null)return;let r=t.querySelector(`style[${RG}]`),i=r instanceof HTMLStyleElement?r:document.createElement(`style`);r instanceof HTMLStyleElement||(i.setAttribute(RG,``),t.appendChild(i)),i.textContent=`:host { ${zG}: ${n}px; }`}var bq;function xq(e){if(typeof CSSStyleSheet<`u`&&typeof CSSStyleSheet.prototype.replaceSync==`function`&&`adoptedStyleSheets`in e){bq??(bq=new CSSStyleSheet,bq.replaceSync(hq(pq)));let t=!1;try{e.adoptedStyleSheets=[bq],t=!0}catch{}if(t){e.querySelector(`style[${FG}]`)?.remove();return}}if(e.querySelector(`style[data-file-tree-style]`)==null){let t=document.createElement(`style`);t.setAttribute(FG,``),t.textContent=hq(pq),e.prepend(t)}}function Sq(e,t){Cq(e,t),xq(t),yq(e,t)}function Cq(e,t){let n=e.querySelector(`template[shadowrootmode="open"], template[data-file-tree-shadowrootmode="open"]`);n instanceof HTMLTemplateElement&&(t.childNodes.length>0||(t.appendChild(n.content.cloneNode(!0)),n.hasAttribute(`shadowrootmode`)&&n.remove()))}if(typeof HTMLElement<`u`&&customElements.get(`file-tree-container`)==null){class e extends HTMLElement{constructor(){super()}connectedCallback(){let e=this.shadowRoot??this.attachShadow({mode:`open`});Sq(this,e)}}if(customElements.define(PG,e),typeof document<`u`)for(let e of Array.from(document.querySelectorAll(PG)))e instanceof HTMLElement&&Sq(e,e.shadowRoot??e.attachShadow({mode:`open`}))}var wq=5,Tq=1<<wq,Eq=Tq*4;function Dq(){return{childIdByNameId:new Map,childIds:[],childPositionById:new Map,childVisibleChunkSums:null,totalChildSubtreeNodeCount:0,totalChildVisibleSubtreeCount:0}}function Oq(){return{childIdByNameId:null,childIds:[],childPositionById:null,childVisibleChunkSums:null,totalChildSubtreeNodeCount:0,totalChildVisibleSubtreeCount:0}}function kq(e,t){if(t.childIdByNameId!=null)return t.childIdByNameId;let n=new Map;for(let r of t.childIds){let t=e[r];t!=null&&n.set(t.nameId,r)}return t.childIdByNameId=n,n}function Aq(e){if(e.childPositionById!=null)return e.childPositionById;let t=new Map;for(let n=0;n<e.childIds.length;n++){let r=e.childIds[n];r!=null&&t.set(r,n)}return e.childPositionById=t,t}function jq(e,t){e.childPositionById!=null&&e.childPositionById.set(t,e.childIds.length),e.childIds.push(t)}function Mq(e,t){if(e.childPositionById!=null)for(let n=t;n<e.childIds.length;n++){let t=e.childIds[n];t!=null&&e.childPositionById.set(t,n)}}function Nq(e,t){let n=0,r=0;for(let i of t.childIds){let t=e[i];t!=null&&(n+=t.subtreeNodeCount,r+=t.visibleSubtreeCount)}t.totalChildSubtreeNodeCount=n,t.totalChildVisibleSubtreeCount=r,Lq(e,t)}function Pq(e,t,n,r){if(e.totalChildSubtreeNodeCount+=n,e.totalChildVisibleSubtreeCount+=r,e.childVisibleChunkSums==null||r===0)return;let i=Aq(e).get(t);if(i===void 0)return;let a=i>>wq;e.childVisibleChunkSums[a]+=r}function Fq(e,t,n){let r=t.childVisibleChunkSums;if(r!=null){let i=n,a=0;for(let o of r){if(i<o){let r=Rq(e,t,a,i);return{...r,childVisibleIndex:n-r.localVisibleIndex}}i-=o,a+=Tq}throw Error(`Visible child index ${String(n)} is out of range`)}let i=n;for(let r=0;r<t.childIds.length;r++){let a=t.childIds[r];if(a==null)continue;let o=e[a];if(o!=null){if(i<o.visibleSubtreeCount)return{childIndex:r,childVisibleIndex:n-i,localVisibleIndex:i};i-=o.visibleSubtreeCount}}throw Error(`Visible child index ${String(n)} is out of range`)}function Iq(e,t,n){let r=0,i=t.childVisibleChunkSums,a=0;if(i!=null){let e=n>>wq;for(let t=0;t<e;t+=1)r+=i[t]??0;a=e<<wq}for(let i=a;i<n;i+=1){let n=t.childIds[i];if(n==null)continue;let a=e[n];a!=null&&(r+=a.visibleSubtreeCount)}return r}function Lq(e,t){if(t.childIds.length<Eq){t.childVisibleChunkSums=null;return}let n=Math.ceil(t.childIds.length/Tq),r=new Int32Array(n);for(let n=0;n<t.childIds.length;n++){let i=t.childIds[n];if(i==null)continue;let a=e[i];a!=null&&(r[n>>wq]+=a.visibleSubtreeCount)}t.childVisibleChunkSums=r}function Rq(e,t,n,r){let i=Math.min(t.childIds.length,n+Tq),a=r;for(let r=n;r<i;r++){let n=t.childIds[r];if(n==null)continue;let i=e[n];if(i!=null){if(a<i.visibleSubtreeCount)return{childIndex:r,localVisibleIndex:a};a-=i.visibleSubtreeCount}}throw Error(`Visible child index ${String(r)} is out of range`)}var zq=7,Bq=3,Vq=1<<Bq,Hq=4;function Uq(e,t,n=0){return e<<Hq|n<<Bq|t}function Wq(e){return e.depthAndFlags>>>Hq}function Gq(e){return(e.depthAndFlags&Vq)>>Bq}function Kq(e){return(e.depthAndFlags&Vq)!==0}function qq(e){return e.depthAndFlags&zq}function Jq(e,t){return(qq(e)&t)!==0}function Yq(e,t){e.depthAndFlags|=t}function Xq(e,t){e.depthAndFlags=Uq(t,qq(e),Gq(e))}var Zq=Symbol(`benchmarkInstrumentation`);function Qq(e,t){return t==null||Object.defineProperty(e,Zq,{configurable:!0,enumerable:!1,value:t,writable:!1}),e}function $q(e){return e==null?null:e[Zq]??null}function eJ(e,t,n){return e==null?n():e.measurePhase(t,n)}function tJ(e,t,n){!Number.isFinite(n)||e==null||e.setCounter(t,n)}function nJ(e){return e>=48&&e<=57}function rJ(e){let t=[],n=0,r=0;for(;r<e.length;){for(;r<e.length&&!nJ(e.charCodeAt(r));)r+=1;if(r>=e.length)break;r>n&&t.push(e.slice(n,r));let i=0;for(;r<e.length&&nJ(e.charCodeAt(r));)i=i*10+(e.charCodeAt(r)-48),r+=1;t.push(i),n=r}return(n<e.length||t.length===0)&&t.push(e.slice(n)),t}function iJ(e){let t=e.toLowerCase();return{lowerValue:t,tokens:rJ(t)}}function aJ(e,t){let n=Math.min(e.length,t.length);for(let r=0;r<n;r++){let n=e[r],i=t[r];if(n===i)continue;if(typeof n==`number`&&typeof i==`number`)return n<i?-1:1;let a=String(n),o=String(i);if(a!==o)return a<o?-1:1}return e.length===t.length?0:e.length<t.length?-1:1}function oJ(e,t){if(e.tokens.length===1&&t.tokens.length===1&&typeof e.tokens[0]==`string`&&typeof t.tokens[0]==`string`)return e.lowerValue===t.lowerValue?0:e.lowerValue<t.lowerValue?-1:1;let n=aJ(e.tokens,t.tokens);return n===0?e.lowerValue===t.lowerValue?0:e.lowerValue<t.lowerValue?-1:1:n}function sJ(e,t,n){let r=oJ(n(e),n(t));return r===0?e===t?0:e<t?-1:1:r}function cJ(e,t){return sJ(e,t,iJ)}function lJ(e,t){return t===e.segments.length-1?e.isDirectory?1:0:1}function uJ(e,t){let n=Math.min(e.segments.length,t.segments.length);for(let r=0;r<n;r++){let n=e.segments[r],i=t.segments[r];if(n===i)continue;let a=lJ(e,r);return a===lJ(t,r)?cJ(n,i):a===1?-1:1}return e.segments.length===t.segments.length?e.isDirectory===t.isDirectory?0:e.isDirectory?-1:1:e.segments.length<t.segments.length?-1:1}function dJ(e,t){return uJ(e,t)}function fJ(e,t,n){let r=e=>{let t=n.get(e);if(t!=null)return t;let r=iJ(e);return n.set(e,r),r},i=Math.min(e.segments.length,t.segments.length);for(let n=0;n<i;n++){let i=e.segments[n],a=t.segments[n];if(i===a)continue;let o=lJ(e,n);return o===lJ(t,n)?sJ(i,a,r):o===1?-1:1}return e.segments.length===t.segments.length?e.isDirectory===t.isDirectory?0:e.isDirectory?-1:1:e.segments.length<t.segments.length?-1:1}function pJ(e,t){let n=e.sortKeyById[t];if(n!==void 0)return n;let r=e.valueById[t],i=iJ(r);return e.sortKeyById[t]=i,i}function mJ(e={}){return{flattenEmptyDirectories:e.flattenEmptyDirectories!==!1,sort:e.sort??`default`}}function hJ(e){let t=e.length>0&&e.charCodeAt(e.length-1)===47,n=t?e.length-1:e.length,r=[],i=0;for(let t=0;t<n;t++)e.charCodeAt(t)===47&&(r.push(e.slice(i,t)),i=t+1);return r.push(e.slice(i,n)),{hasTrailingSlash:t,segments:r}}function gJ(e){let{hasTrailingSlash:t,segments:n}=hJ(e);return{basename:n[n.length-1]??``,isDirectory:t,path:e,segments:n}}function _J(e){if(e.length===0)return{requiresDirectory:!1,segments:[]};let{hasTrailingSlash:t,segments:n}=hJ(e);return{requiresDirectory:t,segments:n}}var vJ=``;function yJ(){let e=new Map;return e.set(vJ,0),{idByValue:e,valueById:[vJ],sortKeyById:[iJ(vJ)]}}function bJ(e,t){let n=e.idByValue.get(t);if(n!==void 0)return n;let r=e.valueById.length;return e.idByValue.set(t,r),e.valueById.push(t),r}function xJ(e,t){let n=e.valueById[t];if(n===void 0)throw Error(`Unknown segment ID: ${String(t)}`);return n}var SJ=Symbol(`pathStorePreparedInputKind`);function CJ(e,t){return e[SJ]=t,e}function wJ(e){return{basename:e.basename,depth:e.segments.length,isDirectory:e.isDirectory,path:e.path,segments:e.segments}}function TJ(e,t,n){return n===`default`?dJ(e,t):n(wJ(e),wJ(t))}function EJ(){return{depthAndFlags:Uq(0,3,1),nameId:0,parentId:0,subtreeNodeCount:1,visibleSubtreeCount:1}}function DJ(e,t){let n=Math.min(e.length,t.length);for(let r=0;r<n;r++)if(e[r]!==t[r])return r;return n}function OJ(e){return e.isDirectory?e.segments.length:e.segments.length-1}function kJ(e){return Array.isArray(e)&&e.every(e=>typeof e==`object`&&!!e&&typeof e.path==`string`&&Array.isArray(e.segments)&&typeof e.basename==`string`&&typeof e.isDirectory==`boolean`)}function AJ(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}function jJ(e,t={}){return LJ(e,t).map(e=>e.path)}function MJ(e,t={}){let n=LJ(e,t);return CJ({paths:n.map(e=>e.path),preparedPaths:n},`prepared`)}function NJ(e){let t=e.length,n=!1;for(let r=0;r<t;r+=1){let t=e[r];if(t.length>0&&t.charCodeAt(t.length-1)===47){n=!0;break}}return CJ({paths:e,presortedPaths:e,presortedPathsContainDirectories:n},`presorted`)}function PJ(e){let t=e,n=t.preparedPaths;if(t[SJ]===`prepared`&&n!=null)return n;if(!kJ(n))throw Error(`preparedInput must come from PathStore.prepareInput()`);return n}function FJ(e){let t=e;return t[SJ]===`presorted`&&t.presortedPaths!=null||AJ(t.presortedPaths)?t.presortedPaths:null}function IJ(e){let t=e;return typeof t.presortedPathsContainDirectories==`boolean`?t.presortedPathsContainDirectories:null}function LJ(e,t={}){let n=mJ(t),r=$q(t);tJ(r,`workload.inputFiles`,e.length);let i=eJ(r,`store.preparePathEntries.parse`,()=>e.map(e=>gJ(e)));return eJ(r,`store.preparePathEntries.sort`,()=>i.sort((e,t)=>TJ(e,t,n.sort))),i}var RJ=class{directories=new Map;directoryStack=[0];presortedDirectoryNodeIds=[];initialExpandedPathSet;createdDirectoriesAllExpanded=!1;createdDirectoryCount=0;lastPreparedPath=null;nodes=[EJ()];options;instrumentation;segmentSortKeyCache=new Map;segmentTable=yJ();hasDeferredDirectoryIndexes=!1;constructor(e={}){this.instrumentation=$q(e),this.options=mJ(e);let t=e.initialExpandedPaths??null;if(t==null||t.length===0)this.initialExpandedPathSet=null;else{let e=new Set,n=t.length;for(let r=0;r<n;r+=1){let n=t[r],i=n.length;e.add(i>0&&n.charCodeAt(i-1)===47?n.slice(0,i-1):n)}this.initialExpandedPathSet=e,this.createdDirectoriesAllExpanded=!0}this.directories.set(0,Dq())}appendPaths(e){return eJ(this.instrumentation,`store.builder.appendPaths.parse`,()=>this.appendPreparedPaths(e.map(e=>gJ(e))))}appendPreparedPaths(e,t=!0){return this.createdDirectoriesAllExpanded=!1,eJ(this.instrumentation,`store.builder.appendPreparedPaths`,()=>{for(let n of e)this.appendPreparedPath(n,t)}),this}appendPresortedPaths(e,t=null){return eJ(this.instrumentation,`store.builder.appendPresortedPaths`,()=>{if(t===!1){this.appendPresortedFilePaths(e);return}this.createdDirectoriesAllExpanded=!1;let n=null,r=0,i=this.nodes,a=this.segmentTable,o=a.idByValue,s=a.valueById,c=this.directoryStack,l=0,u=``,d=0;for(let t of e){if(n===t)throw Error(`Duplicate path: "${t}"`);let e=t.length>0&&t.charCodeAt(t.length-1)===47,a=e?t.length-1:t.length,f=0,p=0;if(n!=null)if(u.length>0&&t.length>u.length&&t.startsWith(u))f=d,p=u.length;else{let r=Math.min(a,n.length),i=!0;for(let e=0;e<r;e++){let r=t.charCodeAt(e);if(r!==n.charCodeAt(e)){i=!1;break}r===47&&(f++,p=e+1)}i&&e&&r===a&&n.length>a&&n.charCodeAt(a)===47&&(f++,p=a+1)}l=f,r=f;let m=p,h=t.indexOf(`/`,m);for(;h>=0&&h<a;){let e=c[l];if(e===void 0)throw Error(`Directory stack underflow while building the path store`);r++;let n=t.slice(m,h),a=o.get(n);a===void 0&&(a=s.length,o.set(n,a),s.push(n));let u=i.length;i.push({depthAndFlags:Uq(r,0,1),nameId:a,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),this.recordCreatedDirectoryPath(t.slice(0,h)),l++,c[l]=u,m=h+1,h=t.indexOf(`/`,m)}if(e){if(m<a){let e=c[l];if(e===void 0)throw Error(`Unable to resolve directory parent for "${t}"`);r++;let n=t.slice(m,a),u=o.get(n);u===void 0&&(u=s.length,o.set(n,u),s.push(n));let d=i.length;i.push({depthAndFlags:Uq(r,0,1),nameId:u,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),l++,c[l]=d}let e=c[l];if(e===void 0)throw Error(`Unable to resolve directory node for "${t}"`);this.promoteDirectoryToExplicit(e,t)}else{let e=c[l];if(e===void 0)throw Error(`Unable to resolve file parent for "${t}"`);let n=t.slice(m),a=o.get(n);a===void 0&&(a=s.length,o.set(n,a),s.push(n)),i.push({depthAndFlags:Uq(r+1,0),nameId:a,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1})}m!==u.length&&(u=t.substring(0,m),d=r),n=t}c.length=l+1,n!=null&&(this.lastPreparedPath=gJ(n)),this.hasDeferredDirectoryIndexes=!0}),this}appendPresortedFilePaths(e){let t=null,n=0,r=this.nodes,i=this.segmentTable,a=i.idByValue,o=i.valueById,s=this.directoryStack,c=0,l=``,u=0;for(let i of e){if(t===i)throw Error(`Duplicate path: "${i}"`);let e=i.length,d=0,f=0;if(t!=null)if(l.length>0&&i.length>l.length&&i.startsWith(l))d=u,f=l.length;else{let n=Math.min(e,t.length);for(let e=0;e<n;e++){let n=i.charCodeAt(e);if(n!==t.charCodeAt(e))break;n===47&&(d++,f=e+1)}}c=d,n=d;let p=f,m=i.indexOf(`/`,p);for(;m>=0;){let e=s[c];if(e===void 0)throw Error(`Directory stack underflow while building the path store`);n++;let t=i.slice(p,m),l=a.get(t);l===void 0&&(l=o.length,a.set(t,l),o.push(t));let u=r.length;r.push({depthAndFlags:Uq(n,0,1),nameId:l,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),this.recordCreatedDirectoryPath(i.slice(0,m)),this.presortedDirectoryNodeIds.push(u),c++,s[c]=u,p=m+1,m=i.indexOf(`/`,p)}let h=s[c];if(h===void 0)throw Error(`Unable to resolve file parent for "${i}"`);let g=i.slice(p),_=a.get(g);_===void 0&&(_=o.length,a.set(g,_),o.push(g)),r.push({depthAndFlags:Uq(n+1,0),nameId:_,parentId:h,subtreeNodeCount:1,visibleSubtreeCount:1}),p!==l.length&&(l=i.substring(0,p),u=n),t=i}s.length=c+1,t!=null&&(this.lastPreparedPath=gJ(t)),this.hasDeferredDirectoryIndexes=!0}finish(e={}){let t=e.skipSubtreeCountPass===!0;return this.hasDeferredDirectoryIndexes?(eJ(this.instrumentation,`store.builder.buildDirectoryIndexes`,()=>this.buildPresortedFinish(t)),this.hasDeferredDirectoryIndexes=!1):t||eJ(this.instrumentation,`store.builder.computeSubtreeCounts`,()=>this.computeSubtreeCounts(0)),{directories:this.directories,nodes:this.nodes,options:this.options,rootId:0,segmentTable:this.segmentTable,presortedDirectoryNodeIds:this.presortedDirectoryNodeIds.length>0?this.presortedDirectoryNodeIds:null}}didMatchAllInitialExpandedPaths(){return this.createdDirectoriesAllExpanded&&this.initialExpandedPathSet!=null&&this.createdDirectoryCount===this.initialExpandedPathSet.size}appendPreparedPath(e,t){if(this.hasDeferredDirectoryIndexes&&=(this.buildDirectoryIndexes(),!1),this.lastPreparedPath!=null){if(e.path===this.lastPreparedPath.path)throw Error(`Duplicate path: "${e.path}"`);if(t&&(this.options.sort===`default`?fJ(this.lastPreparedPath,e,this.segmentSortKeyCache):TJ(this.lastPreparedPath,e,this.options.sort))>0)throw Error(`Builder input must be sorted before appendPaths(): "${e.path}"`)}let n=this.lastPreparedPath,r=OJ(e),i=n==null?0:OJ(n),a=n==null?0:DJ(n.segments,e.segments),o=Math.min(a,r,i);this.directoryStack.length=o+1;for(let n=o;n<r;n++){let r=this.directoryStack[this.directoryStack.length-1];if(r===void 0)throw Error(`Directory stack underflow while building the path store`);let i=t?this.getOrCreateDirectoryChild(r,e.segments[n]):this.createDirectoryChild(r,e.segments[n]);this.directoryStack.push(i)}if(e.isDirectory){let t=this.directoryStack[this.directoryStack.length-1];if(t===void 0)throw Error(`Unable to resolve directory node for "${e.path}"`);this.promoteDirectoryToExplicit(t,e.path),this.lastPreparedPath=e;return}let s=this.directoryStack[this.directoryStack.length-1];if(s===void 0)throw Error(`Unable to resolve file parent for "${e.path}"`);t?this.createFileChild(s,e.basename,e.path):this.createFileChildUnchecked(s,e.basename),this.lastPreparedPath=e}recordCreatedDirectoryPath(e){!this.createdDirectoriesAllExpanded||this.initialExpandedPathSet==null||(this.createdDirectoryCount+=1,this.initialExpandedPathSet.has(e)||(this.createdDirectoriesAllExpanded=!1))}createFileChild(e,t,n){let r=bJ(this.segmentTable,t),i=this.getDirectoryIndex(e),a=i.childIdByNameId;if(a!=null&&a.get(r)!==void 0)throw Error(`Path collides with an existing entry: "${n}"`);let o=this.nodes[e];if(o===void 0)throw Error(`Unknown parent node ID: ${String(e)}`);let s=this.nodes.length;return this.nodes.push({depthAndFlags:Uq(Wq(o)+1,0),nameId:r,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),a?.set(r,s),jq(i,s),s}createFileChildUnchecked(e,t){let n=bJ(this.segmentTable,t),r=this.getDirectoryIndex(e),i=this.nodes[e];if(i===void 0)throw Error(`Unknown parent node ID: ${String(e)}`);let a=this.nodes.length;return this.nodes.push({depthAndFlags:Uq(Wq(i)+1,0),nameId:n,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),r.childIdByNameId!=null&&r.childIdByNameId.set(n,a),jq(r,a),a}getOrCreateDirectoryChild(e,t){let n=bJ(this.segmentTable,t),r=this.getDirectoryIndex(e);if(r.childIdByNameId!=null){let e=r.childIdByNameId.get(n);if(e!==void 0){let n=this.nodes[e];if(n!=null&&!Kq(n))throw Error(`Path collides with an existing file while creating directory "${t}"`);return e}}let i=this.nodes[e];if(i===void 0)throw Error(`Unknown parent node ID: ${String(e)}`);let a=this.nodes.length;return this.nodes.push({depthAndFlags:Uq(Wq(i)+1,0,1),nameId:n,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),r.childIdByNameId!=null&&r.childIdByNameId.set(n,a),jq(r,a),this.directories.set(a,Dq()),a}createDirectoryChild(e,t){let n=bJ(this.segmentTable,t),r=this.getDirectoryIndex(e),i=this.nodes[e];if(i===void 0)throw Error(`Unknown parent node ID: ${String(e)}`);let a=this.nodes.length;return this.nodes.push({depthAndFlags:Uq(Wq(i)+1,0,1),nameId:n,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),r.childIdByNameId!=null&&r.childIdByNameId.set(n,a),jq(r,a),this.directories.set(a,Dq()),a}promoteDirectoryToExplicit(e,t){let n=this.nodes[e];if(n===void 0)throw Error(`Unknown directory node ID: ${String(e)}`);if(!Kq(n))throw Error(`Path is not a directory: "${t}"`);if(Jq(n,1))throw Error(`Duplicate path: "${t}"`);Yq(n,1)}getDirectoryIndex(e){let t=this.directories.get(e);if(t!==void 0)return t;throw Error(`Unknown directory child index for node ${String(e)}`)}buildPresortedFinish(e){let t=this.nodes,n=this.directories;n.set(0,Oq());let r=-1,i=null;for(let e=1;e<t.length;e++){let a=t[e];if(a==null)continue;if(Kq(a)){let t=Oq();n.set(e,t),r=e,i=t}let o;a.parentId===r?o=i:(o=n.get(a.parentId),r=a.parentId,i=o??null),o?.childIds.push(e)}if(!e)for(let e=t.length-1;e>=1;e--){let n=t[e];if(n==null)continue;let r=t[n.parentId];r!=null&&(r.subtreeNodeCount+=n.subtreeNodeCount,r.visibleSubtreeCount+=n.visibleSubtreeCount)}}buildDirectoryIndexes(){let e=this.nodes;for(let t=1;t<e.length;t++){let n=e[t];if(n==null)continue;Kq(n)&&this.directories.set(t,Dq());let r=this.directories.get(n.parentId);r!=null&&(r.childIdByNameId!=null&&r.childIdByNameId.set(n.nameId,t),jq(r,t))}}computeSubtreeCounts(e){let t=this.nodes[e];if(t===void 0)throw Error(`Unknown node ID: ${String(e)}`);if(!Kq(t))return t.subtreeNodeCount=1,t.visibleSubtreeCount=1,1;let n=this.getDirectoryIndex(e),r=1;for(let e of n.childIds)r+=this.computeSubtreeCounts(e);return Nq(this.nodes,n),t.subtreeNodeCount=r,t.visibleSubtreeCount=r,r}};function zJ(e,t=`closed`,n=null){let r=VJ(t);return{activeNodeCount:e.nodes.length-1,collapsedDirectoryIds:new Set,collapseNewDirectoriesByDefault:!1,defaultExpansion:r,directoriesOpenByDefault:r===`open`,hasCollapsedDirectoryOverrides:!1,directoryLoadInfoById:new Map,expandedDirectoryIds:new Set,instrumentation:n,listeners:new Map,pathCacheByNodeId:new Map([[e.rootId,{path:``,version:0}]]),pathCacheVersion:0,snapshot:e,transactionStack:[]}}function BJ(){return{affectedAncestorIds:new Set,affectedNodeIds:new Set,events:[]}}function VJ(e){if(typeof e!=`number`)return e;if(!Number.isInteger(e)||e<0)throw Error(`initialExpansion must be "open", "closed", or a non-negative integer depth. Received: ${String(e)}`);return e}function HJ(e,t){return Jq(t,2)||e.defaultExpansion===`open`?!0:e.defaultExpansion===`closed`?!1:Wq(t)<=e.defaultExpansion}function UJ(e,t,n=e.snapshot.nodes[t]){return n==null||!Kq(n)?!1:e.directoriesOpenByDefault&&!e.hasCollapsedDirectoryOverrides?!0:e.collapsedDirectoryIds.has(t)?!1:e.expandedDirectoryIds.has(t)?!0:HJ(e,n)}function WJ(e,t,n,r=e.snapshot.nodes[t]){if(r==null||!Kq(r))return;let i=HJ(e,r);if(n){if(i){e.collapsedDirectoryIds.delete(t),e.hasCollapsedDirectoryOverrides=e.collapsedDirectoryIds.size>0;return}e.expandedDirectoryIds.add(t);return}if(i){e.collapsedDirectoryIds.add(t),e.hasCollapsedDirectoryOverrides=!0;return}e.expandedDirectoryIds.delete(t)}function GJ(e,t){let n=e.directoryLoadInfoById.get(t);if(n!=null)return n;let r={activeAttemptId:null,errorMessage:null,nextAttemptId:1,state:`loaded`};return e.directoryLoadInfoById.set(t,r),r}function KJ(e,t){return e.directoryLoadInfoById.get(t)?.state??`loaded`}function qJ(e,t){let n=GJ(e,t);if(n.state===`loading`&&n.activeAttemptId!=null)return{attemptId:n.activeAttemptId,nodeId:t,reused:!0};let r=n.nextAttemptId;return n.activeAttemptId=r,n.errorMessage=null,n.nextAttemptId+=1,n.state=`loading`,{attemptId:r,nodeId:t,reused:!1}}function JJ(e,t){let n=GJ(e,t);n.activeAttemptId=null,n.errorMessage=null,n.state=`unloaded`}function YJ(e,t,n){let r=e.directoryLoadInfoById.get(t);return r==null||r.activeAttemptId!==n?!1:(r.activeAttemptId=null,r.errorMessage=null,r.state=`loaded`,!0)}function XJ(e,t,n){return e.directoryLoadInfoById.get(t)?.activeAttemptId===n}function ZJ(e,t,n,r){let i=e.directoryLoadInfoById.get(t);return i==null||i.activeAttemptId!==n?!1:(i.activeAttemptId=null,i.errorMessage=r??null,i.state=`error`,!0)}function QJ(e,t){e.directoryLoadInfoById.delete(t)}function $J(e,t,n){let r=n,i=e.listeners.get(t);return i==null?e.listeners.set(t,new Set([r])):i.add(r),()=>{let n=e.listeners.get(t);n!=null&&(n.delete(r),n.size===0&&e.listeners.delete(t))}}function eY(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!0,operation:`add`,path:e.path,projectionChanged:e.projectionChanged,visibleCountDelta:null}}function tY(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!0,operation:`remove`,path:e.path,projectionChanged:e.projectionChanged,recursive:e.recursive,visibleCountDelta:null}}function nY(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!0,from:e.from,operation:`move`,projectionChanged:e.projectionChanged,to:e.to,visibleCountDelta:null}}function rY(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!1,operation:`expand`,path:e.path,projectionChanged:!0,visibleCountDelta:null}}function iY(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!1,operation:`collapse`,path:e.path,projectionChanged:!0,visibleCountDelta:null}}function aY(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!1,operation:`mark-directory-unloaded`,path:e.path,projectionChanged:e.projectionChanged,visibleCountDelta:null}}function oY(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],attemptId:e.attemptId,canonicalChanged:!1,operation:`begin-child-load`,path:e.path,projectionChanged:e.projectionChanged,reused:e.reused,visibleCountDelta:null}}function sY(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],attemptId:e.attemptId,canonicalChanged:e.childEvents.some(e=>e.canonicalChanged),childEvents:e.childEvents,operation:`apply-child-patch`,path:e.path,projectionChanged:e.projectionChanged,visibleCountDelta:null}}function cY(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],attemptId:e.attemptId,canonicalChanged:!1,operation:`complete-child-load`,path:e.path,projectionChanged:e.projectionChanged,stale:e.stale,visibleCountDelta:null}}function lY(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],attemptId:e.attemptId,canonicalChanged:!1,errorMessage:e.errorMessage,operation:`fail-child-load`,path:e.path,projectionChanged:e.projectionChanged,stale:e.stale,visibleCountDelta:null}}function uY(e){return{activeNodeCountAfter:e.activeNodeCountAfter,activeNodeCountBefore:e.activeNodeCountBefore,affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],cachedPathEntryCountAfter:e.cachedPathEntryCountAfter,cachedPathEntryCountBefore:e.cachedPathEntryCountBefore,canonicalChanged:!1,idsPreserved:e.idsPreserved,loadInfoEntryCountAfter:e.loadInfoEntryCountAfter,loadInfoEntryCountBefore:e.loadInfoEntryCountBefore,mode:e.mode,operation:`cleanup`,projectionChanged:e.projectionChanged,reclaimedCachedPathEntryCount:e.reclaimedCachedPathEntryCount,reclaimedLoadInfoEntryCount:e.reclaimedLoadInfoEntryCount,reclaimedNodeSlotCount:e.reclaimedNodeSlotCount,reclaimedSegmentCount:e.reclaimedSegmentCount,segmentCountAfter:e.segmentCountAfter,segmentCountBefore:e.segmentCountBefore,totalNodeSlotCountAfter:e.totalNodeSlotCountAfter,totalNodeSlotCountBefore:e.totalNodeSlotCountBefore,visibleCountDelta:null}}function dY(e,t,n){return{...n,visibleCountDelta:SY(e)-t}}function fY(e,t){let n=SY(e),r=BJ();e.transactionStack.push(r);try{t()}catch(t){throw hY(e,r,!1),t}hY(e,r,!0,SY(e)-n)}function pY(e,t){let n=e.instrumentation;if(n==null){mY(e,t);return}eJ(n,`store.events.record`,()=>mY(e,t))}function mY(e,t){let n=e.transactionStack[e.transactionStack.length-1]??null;if(n==null){bY(e,t);return}n.events.push(t),yY(n,t)}function hY(e,t,n,r=null){if(e.transactionStack.pop()!==t)throw Error(`Transaction stack underflow`);if(!n)return;let i=e.transactionStack[e.transactionStack.length-1]??null;if(i!=null){let n=e.instrumentation;n==null?vY(i,t):eJ(n,`store.events.batch.merge`,()=>vY(i,t));return}let a=gY(t,r),o=e.instrumentation;if(o==null){bY(e,a);return}eJ(o,`store.events.batch.commit`,()=>bY(e,a))}function gY(e,t){return{affectedAncestorIds:[...e.affectedAncestorIds],affectedNodeIds:[...e.affectedNodeIds],canonicalChanged:e.events.some(e=>e.canonicalChanged),events:[...e.events],operation:`batch`,projectionChanged:e.events.some(e=>e.projectionChanged),visibleCountDelta:t}}function _Y(e,t){for(let n of t.affectedAncestorIds)e.affectedAncestorIds.add(n);for(let n of t.affectedNodeIds)e.affectedNodeIds.add(n)}function vY(e,t){for(let n of t.events)e.events.push(n);_Y(e,t)}function yY(e,t){for(let n of t.affectedNodeIds)e.affectedNodeIds.add(n);for(let n of t.affectedAncestorIds)e.affectedAncestorIds.add(n)}function bY(e,t){let n=e.instrumentation;if(n==null){xY(e,t);return}eJ(n,`store.events.emit`,()=>xY(e,t))}function xY(e,t){e.listeners.get(t.operation)?.forEach(e=>e(t)),e.listeners.get(`*`)?.forEach(e=>e(t))}function SY(e){return e.snapshot.nodes[e.snapshot.rootId]?.visibleSubtreeCount??0}function CY(e,t){if(e.snapshot.options.flattenEmptyDirectories!==!0)return null;let n=e.snapshot.nodes[t];if(n==null||!Kq(n)||Jq(n,2))return null;let r=e.snapshot.directories.get(t);if(r==null||r.childIds.length!==1)return null;let i=r.childIds[0];if(i==null)return null;let a=e.snapshot.nodes[i];return a==null||!Kq(a)?null:i}function wY(e,t){let n=t;for(;;){let t=CY(e,n);if(t==null)return n;n=t}}function TY(e,t){let n=[t],r=t;for(;;){let t=CY(e,r);if(t==null)return n;n.push(t),r=t}}function EY(e,t){let n=t==null?e.snapshot.rootId:IY(e,t);return n==null?[]:BY(e,n)}function DY(e,t){let n=gJ(t),r=n.isDirectory?n.segments:n.segments.slice(0,-1),i=tX(e,eX(e,r)),{createdNodeIds:a,directoryId:o}=VY(e,r),s=new Set(a),c=o;if(n.isDirectory){let n=zY(e,o);if(Jq(n,1))throw Error(`Path already exists: "${t}"`);Yq(n,1),e.pathCacheByNodeId.set(o,{path:t,version:e.pathCacheVersion}),s.add(o)}else c=UY(e,o,n.basename),s.add(c);NY(e,o);let l=tX(e,o);return eY({affectedAncestorIds:FY(e,c),affectedNodeIds:[...s],path:t,projectionChanged:nX(i,l)})}function OY(e,t,n){let r=IY(e,t);if(r==null)throw Error(`Path does not exist: "${t}"`);let i=zY(e,r);if(Jq(i,2))throw Error(`The root node cannot be removed`);if(Kq(i)&&RY(e,r).childIds.length>0&&n.recursive!==!0)throw Error(`Cannot remove a non-empty directory without recursive: "${t}"`);let a=i.parentId,o=tX(e,a),s=QY(e,r);KY(e,a,r,i.nameId),$Y(e,a),NY(e,a);let c=tX(e,a);return tY({affectedAncestorIds:FY(e,a),affectedNodeIds:s,path:t,projectionChanged:nX(o,c),recursive:n.recursive===!0})}function kY(e,t,n,r){let i=IY(e,t);if(i==null)throw Error(`Source path does not exist: "${t}"`);let a=zY(e,i);if(Jq(a,2))throw Error(`The root node cannot be moved`);let o=r.collision??`error`,s=XY(e,i,n),c=tX(e,a.parentId),l=tX(e,s.parentId),u=xJ(e.snapshot.segmentTable,a.nameId),d=bJ(e.snapshot.segmentTable,s.basename);if(s.parentId===a.parentId&&u===s.basename)return null;if(Kq(a)&&oX(e,i,s.parentId))throw Error(`Cannot move a directory into one of its descendants`);let f=kq(e.snapshot.nodes,RY(e,s.parentId)).get(d),p=s.existingNodeId??f??null;if(p!=null&&p!==i&&ZY(e,p,o,Gq(a))===`skip`)return null;let m=a.parentId;KY(e,m,i,a.nameId),a.parentId=s.parentId,a.nameId=d,e.pathCacheByNodeId.delete(i),aX(e,i),GY(e,s.parentId,i),$Y(e,m),e.pathCacheVersion++,NY(e,m),s.parentId!==m&&NY(e,s.parentId);let h=tX(e,m),g=tX(e,s.parentId);return nY({affectedAncestorIds:[...new Set([...FY(e,m),...FY(e,s.parentId)])],affectedNodeIds:[i],from:t,projectionChanged:rX([c,l],[h,g]),to:MY(e,i)})}function AY(e,t){let n=e.pathCacheByNodeId.get(t);return n!=null&&n.version===e.pathCacheVersion?n.path:null}function jY(e,t,n){return e.pathCacheByNodeId.set(t,{path:n,version:e.pathCacheVersion}),n}function MY(e,t){let n=zY(e,t),r=AY(e,t);if(r!=null)return r;if(Jq(n,2))return jY(e,t,``);let i=MY(e,n.parentId),a=xJ(e.snapshot.segmentTable,n.nameId),o=i.length===0?a:`${i}${a}`;return jY(e,t,Kq(n)?`${o}/`:o)}function NY(e,t){let n=e.instrumentation;if(n==null){cX(e,t);return}eJ(n,`store.recomputeCountsUpwardFrom`,()=>cX(e,t))}function PY(e,t){let n=[[t,0]],{nodes:r,directories:i}=e.snapshot;for(;n.length>0;){let t=n[n.length-1],a=t[0],o=r[a];if(o==null||!Kq(o)){sX(e,a,o,!0),n.pop();continue}let s=i.get(a);if(s==null||t[1]>=s.childIds.length){sX(e,a,o,!0),n.pop();continue}let c=s.childIds[t[1]++];n.push([c,0])}}function FY(e,t){let n=[],r=t;for(;r!=null;){let t=zY(e,r);if(n.push(r),r===e.snapshot.rootId)break;r=t.parentId}return n}function IY(e,t){if(t.length===0)return e.snapshot.rootId;let n=_J(t);return LY(e,n.segments,n.requiresDirectory)}function LY(e,t,n){let r=e.snapshot.rootId;for(let n of t){let t=e.snapshot.segmentTable.idByValue.get(n);if(t===void 0)return null;let i=RY(e,r),a=kq(e.snapshot.nodes,i).get(t);if(a===void 0)return null;r=a}let i=zY(e,r);return n&&!Kq(i)?null:r}function RY(e,t){let n=e.snapshot.directories.get(t);if(n===void 0)throw Error(`Unknown directory child index for node ${String(t)}`);return n}function zY(e,t){let n=e.snapshot.nodes[t];if(n===void 0||Jq(n,4))throw Error(`Unknown node ID: ${String(t)}`);return n}function BY(e,t){let n=e.snapshot.nodes[t];if(n===void 0||Jq(n,4))return[];if(!Kq(n))return[MY(e,t)];if(RY(e,t).childIds.length===0)return Jq(n,1)&&!Jq(n,2)?[MY(e,t)]:[];let r=[],i=[{childIndex:0,nodeId:t}];for(;i.length>0;){let t=i[i.length-1];if(t==null)break;let n=e.snapshot.nodes[t.nodeId];if(n===void 0||Jq(n,4)){i.pop();continue}if(!Kq(n)){r.push(MY(e,t.nodeId)),i.pop();continue}let a=RY(e,t.nodeId);if(a.childIds.length===0){Jq(n,1)&&!Jq(n,2)&&r.push(MY(e,t.nodeId)),i.pop();continue}let o=a.childIds[t.childIndex];if(o==null){i.pop();continue}t.childIndex++,i.push({childIndex:0,nodeId:o})}return r}function VY(e,t){let n=[],r=e.snapshot.rootId;for(let i of t){let t=bJ(e.snapshot.segmentTable,i),a=RY(e,r),o=kq(e.snapshot.nodes,a).get(t);if(o!==void 0){if(!Kq(zY(e,o)))throw Error(`Cannot create a directory that collides with an existing file: "${i}"`);r=o;continue}r=HY(e,r,t),n.push(r)}return{createdNodeIds:n,directoryId:r}}function HY(e,t,n){let r=zY(e,t),i=e.snapshot.nodes.length;return e.snapshot.nodes.push({depthAndFlags:Uq(Wq(r)+1,0,1),nameId:n,parentId:t,subtreeNodeCount:1,visibleSubtreeCount:1}),e.snapshot.directories.set(i,Dq()),GY(e,t,i),e.collapseNewDirectoriesByDefault&&(e.collapsedDirectoryIds.add(i),e.hasCollapsedDirectoryOverrides=!0),e.activeNodeCount++,i}function UY(e,t,n){let r=bJ(e.snapshot.segmentTable,n),i=RY(e,t);if(kq(e.snapshot.nodes,i).has(r))throw Error(`Path already exists: "${uX(e,t,n)}"`);let a=zY(e,t),o=e.snapshot.nodes.length;return e.snapshot.nodes.push({depthAndFlags:Uq(Wq(a)+1,0),nameId:r,parentId:t,subtreeNodeCount:1,visibleSubtreeCount:1}),GY(e,t,o),e.activeNodeCount++,o}function WY(e,t,n){let r=0,i=t.childIds.length;for(;r<i;){let a=r+i>>>1,o=t.childIds[a];if(o==null){i=a;continue}qY(e,n,o)<0?i=a:r=a+1}return r}function GY(e,t,n){let r=RY(e,t),i=zY(e,n);kq(e.snapshot.nodes,r).set(i.nameId,n),Pq(r,n,i.subtreeNodeCount,i.visibleSubtreeCount);let a=WY(e,r,n);r.childIds.splice(a,0,n),Mq(r,a),Lq(e.snapshot.nodes,r)}function KY(e,t,n,r){let i=RY(e,t),a=Aq(i),o=a.get(n)??-1;kq(e.snapshot.nodes,i).delete(r),a.delete(n);let s=e.snapshot.nodes[n];s!=null&&Pq(i,n,-s.subtreeNodeCount,-s.visibleSubtreeCount),o>=0&&(i.childIds.splice(o,1),Mq(i,o),Lq(e.snapshot.nodes,i))}function qY(e,t,n){let r=e.snapshot.options.sort;return r===`default`?JY(e,t,n):r(YY(e,t),YY(e,n))}function JY(e,t,n){let r=zY(e,t),i=zY(e,n),a=Kq(r);if(a!==Kq(i))return a?-1:1;let o=oJ(pJ(e.snapshot.segmentTable,r.nameId),pJ(e.snapshot.segmentTable,i.nameId));if(o!==0)return o;let s=xJ(e.snapshot.segmentTable,r.nameId),c=xJ(e.snapshot.segmentTable,i.nameId);return s===c?t<n?-1:1:s<c?-1:1}function YY(e,t){let n=zY(e,t),r=MY(e,t),i=Kq(n),a=i?r.slice(0,-1):r;return{basename:xJ(e.snapshot.segmentTable,n.nameId),depth:Wq(n),isDirectory:i,path:r,segments:a.length===0?[]:a.split(`/`)}}function XY(e,t,n){let r=zY(e,t),i=IY(e,n);if(i!=null){let t=zY(e,i);if(Kq(t))return{basename:xJ(e.snapshot.segmentTable,r.nameId),existingNodeId:null,parentId:i};let a=_J(n).segments;return{basename:a[a.length-1]??``,existingNodeId:i,parentId:t.parentId}}let a=_J(n),o=a.segments[a.segments.length-1]??``,s=a.segments.slice(0,-1),c=s.length===0?e.snapshot.rootId:LY(e,s,!0);if(c==null)throw Error(`Destination parent does not exist: "${n}"`);return{basename:o,existingNodeId:null,parentId:c}}function ZY(e,t,n,r){if(n===`skip`)return`skip`;if(n===`error`)throw Error(`Destination already exists: "${MY(e,t)}"`);let i=zY(e,t);if(Gq(i)!==r)throw Error(`replace collision requires the same source and destination kinds`);if(Kq(i)&&RY(e,t).childIds.length>0)throw Error(`replace collision does not support non-empty directories`);let a=i.parentId,o=i.nameId;return QY(e,t),KY(e,a,t,o),$Y(e,a),NY(e,a),`handled`}function QY(e,t){let n=[],r=[{nodeId:t,visitedChildren:!1}];for(;r.length>0;){let t=r.pop();if(t==null)break;let i=zY(e,t.nodeId);if(t.visitedChildren||!Kq(i)){Kq(i)&&e.snapshot.directories.delete(t.nodeId),Yq(i,4),e.pathCacheByNodeId.delete(t.nodeId),e.collapsedDirectoryIds.delete(t.nodeId)&&(e.hasCollapsedDirectoryOverrides=e.collapsedDirectoryIds.size>0),e.expandedDirectoryIds.delete(t.nodeId),QJ(e,t.nodeId),e.activeNodeCount--,n.push(t.nodeId);continue}r.push({nodeId:t.nodeId,visitedChildren:!0});let a=RY(e,t.nodeId);for(let e=a.childIds.length-1;e>=0;e--){let t=a.childIds[e];t!=null&&r.push({nodeId:t,visitedChildren:!1})}}return n}function $Y(e,t){let n=t;for(;n!=null;){let t=zY(e,n);if(!Kq(t)||Jq(t,2)||RY(e,n).childIds.length>0)return;Yq(t,1),n=t.parentId===n?null:t.parentId}}function eX(e,t){let n=e.snapshot.rootId;for(let r of t){let t=e.snapshot.segmentTable.idByValue.get(r);if(t==null)break;let i=kq(e.snapshot.nodes,RY(e,n)).get(t);if(i==null||!Kq(zY(e,i)))break;n=i}return n}function tX(e,t){let n=iX(e,t);if(n==null)return null;let r=wY(e,n),i=zY(e,r),a=n===r?null:TY(e,n).map(t=>MY(e,t));return JSON.stringify({flattenedSegmentPaths:a,hasChildren:RY(e,r).childIds.length>0,path:MY(e,r),terminalKind:Gq(i)})}function nX(e,t){return rX([e],[t])}function rX(e,t){for(let n=0;n<e.length;n+=1){let r=e[n],i=t[n];if(r==null||i==null||r!==i)return!0}return!1}function iX(e,t){let n=t;for(;n!=null;){let t=zY(e,n);if(!Kq(t)||Jq(t,2))return null;if(!UJ(e,n,t))return n;n=t.parentId}return null}function aX(e,t){let n=zY(e,t);if(Xq(n,(t===e.snapshot.rootId?-1:Wq(zY(e,n.parentId)))+1),!Kq(n))return;let r=RY(e,t);for(let t of r.childIds)aX(e,t)}function oX(e,t,n){let r=n;for(;r!=null;){if(r===t)return!0;let n=zY(e,r);if(r===e.snapshot.rootId)return!1;r=n.parentId}return!1}function sX(e,t,n=zY(e,t),r=!1){let i=e.instrumentation;if(i==null){lX(e,t,n,r);return}eJ(i,`store.recomputeNodeCounts`,()=>lX(e,t,n,r))}function cX(e,t){let n=t;for(;n!=null;){let t=zY(e,n),r=t.subtreeNodeCount,i=t.visibleSubtreeCount;if(sX(e,n,t),n===e.snapshot.rootId)return;let a=t.subtreeNodeCount-r,o=t.visibleSubtreeCount-i,s=t.parentId;(a!==0||o!==0)&&Pq(RY(e,s),n,a,o),n=s}}function lX(e,t,n,r){if(!Kq(n)){n.subtreeNodeCount=1,n.visibleSubtreeCount=1;return}let i=RY(e,t);if(r){let t=e.instrumentation;t==null?Nq(e.snapshot.nodes,i):eJ(t,`store.recomputeNodeCounts.rebuildChildAggregates`,()=>Nq(e.snapshot.nodes,i))}let a=1+i.totalChildSubtreeNodeCount,o=i.totalChildVisibleSubtreeCount;if(n.subtreeNodeCount=a,Jq(n,2)){n.visibleSubtreeCount=o;return}n.visibleSubtreeCount=CY(e,t)==null?UJ(e,t,n)?1+o:1:o}function uX(e,t,n){let r=MY(e,t);return r.length===0?n:`${r}${n}`}function dX(e){return e!=null&&!Jq(e,4)}function fX(e,t){let n=e.snapshot.nodes[t];return!dX(n)||!Kq(n)||Jq(n,2)?null:n}function pX(e){let t=0;for(let[n,r]of e.pathCacheByNodeId)r.version===e.pathCacheVersion&&dX(e.snapshot.nodes[n])&&(t+=1);return t}function mX(e){return Math.max(0,e.valueById.length-1)}function hX(e){return{activeNodeCount:e.activeNodeCount,cachedPathEntryCount:pX(e),loadInfoEntryCount:e.directoryLoadInfoById.size,segmentCount:mX(e.snapshot.segmentTable),totalNodeSlotCount:Math.max(0,e.snapshot.nodes.length-1)}}function gX(e,t,n,r){return{activeNodeCountAfter:r.activeNodeCount,activeNodeCountBefore:n.activeNodeCount,cachedPathEntryCountAfter:r.cachedPathEntryCount,cachedPathEntryCountBefore:n.cachedPathEntryCount,idsPreserved:t,loadInfoEntryCountAfter:r.loadInfoEntryCount,loadInfoEntryCountBefore:n.loadInfoEntryCount,mode:e,reclaimedCachedPathEntryCount:n.cachedPathEntryCount-r.cachedPathEntryCount,reclaimedLoadInfoEntryCount:n.loadInfoEntryCount-r.loadInfoEntryCount,reclaimedNodeSlotCount:n.totalNodeSlotCount-r.totalNodeSlotCount,reclaimedSegmentCount:n.segmentCount-r.segmentCount,segmentCountAfter:r.segmentCount,segmentCountBefore:n.segmentCount,totalNodeSlotCountAfter:r.totalNodeSlotCount,totalNodeSlotCountBefore:n.totalNodeSlotCount}}function _X(e){let t=[],n=[];for(let n of e.collapsedDirectoryIds)fX(e,n)!=null&&t.push(MY(e,n));for(let t of e.expandedDirectoryIds)fX(e,t)!=null&&n.push(MY(e,t));return{collapsedPaths:t,expandedPaths:n}}function vX(e){let t=[];for(let[n,r]of e.directoryLoadInfoById)fX(e,n)==null||KJ(e,n)===`loaded`||t.push({info:{activeAttemptId:null,errorMessage:r.errorMessage,nextAttemptId:r.nextAttemptId,state:r.state},path:MY(e,n)});return t}function yX(e,t){e.collapsedDirectoryIds.clear(),e.hasCollapsedDirectoryOverrides=!1,e.expandedDirectoryIds.clear();for(let n of t.expandedPaths){let t=IY(e,n);t!=null&&WJ(e,t,!0,zY(e,t))}for(let n of t.collapsedPaths){let t=IY(e,n);t!=null&&WJ(e,t,!1,zY(e,t))}}function bX(e,t){e.directoryLoadInfoById.clear();for(let n of t){let t=IY(e,n.path);t!=null&&fX(e,t)!=null&&e.directoryLoadInfoById.set(t,{activeAttemptId:null,errorMessage:n.info.errorMessage,nextAttemptId:n.info.nextAttemptId,state:n.info.state})}}function xX(e){e.pathCacheVersion+=1,e.pathCacheByNodeId.clear(),e.pathCacheByNodeId.set(e.snapshot.rootId,{path:``,version:e.pathCacheVersion})}function SX(e){let t=e.snapshot.segmentTable,n=yJ();for(let r of e.snapshot.nodes)if(dX(r)){if(Jq(r,2)){r.nameId=0;continue}r.nameId=bJ(n,xJ(t,r.nameId))}e.snapshot.segmentTable=n}function CX(e){for(let[t,n]of e.snapshot.directories){let r=e.snapshot.nodes[t];if(!dX(r)||!Kq(r)){e.snapshot.directories.delete(t);continue}let i=n.childIds.filter(n=>{let r=e.snapshot.nodes[n];return dX(r)&&r.parentId===t});n.childIds=i,n.childIdByNameId=new Map(i.map(t=>[zY(e,t).nameId,t])),n.childPositionById=new Map(i.map((e,t)=>[e,t])),Nq(e.snapshot.nodes,n)}}function wX(e){let t=e.snapshot.nodes.length-1;for(;t>e.snapshot.rootId;){let n=e.snapshot.nodes[t];if(dX(n))break;--t}e.snapshot.nodes.length=t+1}function TX(e){let t=_X(e),n=vX(e);eJ(e.instrumentation,`store.cleanup.stable.clearPathCaches`,()=>xX(e)),eJ(e.instrumentation,`store.cleanup.stable.rebuildSegmentTable`,()=>SX(e)),eJ(e.instrumentation,`store.cleanup.stable.rebuildDirectoryIndexes`,()=>CX(e)),eJ(e.instrumentation,`store.cleanup.stable.trimTrailingRemovedNodeSlots`,()=>wX(e)),eJ(e.instrumentation,`store.cleanup.stable.restoreExpansionOverrides`,()=>yX(e,t)),eJ(e.instrumentation,`store.cleanup.stable.restoreDirectoryLoadInfos`,()=>bX(e,n)),eJ(e.instrumentation,`store.cleanup.stable.recomputeCounts`,()=>PY(e,e.snapshot.rootId))}function EX(e){let t=_X(e),n=vX(e),r=eJ(e.instrumentation,`store.cleanup.aggressive.listPaths`,()=>EY(e)),i=Qq({...e.snapshot.options},e.instrumentation),a=eJ(e.instrumentation,`store.cleanup.aggressive.rebuildSnapshot`,()=>{let e=new RJ(i);return e.appendPaths(r),e.finish()});e.snapshot=a,e.activeNodeCount=a.nodes.length-1,e.pathCacheByNodeId=new Map([[a.rootId,{path:``,version:0}]]),e.pathCacheVersion=0,eJ(e.instrumentation,`store.cleanup.aggressive.restoreExpansionOverrides`,()=>yX(e,t)),eJ(e.instrumentation,`store.cleanup.aggressive.restoreDirectoryLoadInfos`,()=>bX(e,n)),eJ(e.instrumentation,`store.cleanup.aggressive.recomputeCounts`,()=>PY(e,e.snapshot.rootId))}function DX(e){for(let t of e.directoryLoadInfoById.values())if(t.state===`loading`&&t.activeAttemptId!=null)return!0;return!1}function OX(e,t){let n=hX(e);t===`stable`?eJ(e.instrumentation,`store.cleanup.stable`,()=>TX(e)):eJ(e.instrumentation,`store.cleanup.aggressive`,()=>EX(e));let r=hX(e);return gX(t,t===`stable`,n,r)}var kX=64;function AX(e,t){let n=t+2;if(n<=e.length)return e;let r=e.length;for(;r<n;)r*=2;let i=new Int32Array(r);return i.fill(-1),i.set(e),i}function jX(e){return zY(e,e.snapshot.rootId).visibleSubtreeCount}function MX(e,t,n,r){let i=zY(e,t.terminalNodeId),a=Math.max(1,i.visibleSubtreeCount);return Math.min(r-1,n+a-1)}function NX(e,t,n,r){return{ancestorPaths:r,index:t.index,posInSet:t.posInSet,row:QX(e,t.cursor),setSize:t.setSize,subtreeEndIndex:MX(e,t.cursor,t.index,n)}}function PX(e,t,n,r,i,a){let o=RY(e,t),{childIndex:s,childVisibleIndex:c,localVisibleIndex:l}=Fq(e.snapshot.nodes,o,n),u=o.childIds[s];if(u==null)throw Error(`Visible index ${String(n)} is out of range`);return FX(e,u,l,r+c,i+1,s,o.childIds.length,a)}function FX(e,t,n,r,i,a,o,s){if(!Kq(zY(e,t))){if(n===0)return{ancestors:s,cursor:{headNodeId:t,terminalNodeId:t,visibleDepth:i},index:r,posInSet:a,setSize:o};throw Error(`Visible index ${String(n)} is out of range for file`)}let c=KX(e,t,i);if(n===0)return{ancestors:s,cursor:c,index:r,posInSet:a,setSize:o};let l=zY(e,c.terminalNodeId);if(!Kq(l)||!UJ(e,c.terminalNodeId,l))throw Error(`Visible index ${String(n)} is out of range for collapsed directory`);return PX(e,c.terminalNodeId,n-1,r+1,c.visibleDepth,[...s,{cursor:c,index:r,posInSet:a,setSize:o}])}function IX(e,t){let n=jX(e);if(t<0||t>=n)return null;let r=PX(e,e.snapshot.rootId,t,0,-1,[]),i=r.ancestors.map(t=>MY(e,t.cursor.terminalNodeId)),a=null;return{ancestorPaths:i,get ancestorRows(){if(a!=null)return a;let t=[],i=[];for(let a of r.ancestors){let r=NX(e,a,n,[...i]);t.push(r),i.push(r.row.path)}return a=t,a},index:r.index,posInSet:r.posInSet,row:QX(e,r.cursor),setSize:r.setSize,subtreeEndIndex:MX(e,r.cursor,r.index,n)}}function LX(e,t,n){let r=e.instrumentation,i=jX(e);if(i<=0||n<t)return[];let a=Math.max(0,Math.min(t,i-1)),o=Math.max(a,Math.min(n,i-1));if(r==null){if(a===0)return ZX(e,o+1);let t=[],n=UX(e,a);for(let r=a;r<=o&&n!=null;r++){let r=QX(e,n);t.push(r),n=JX(e,n)}return t}let s=[],c=0,l=0,u=eJ(r,`store.getVisibleSlice.selectFirstRow`,()=>UX(e,a));for(let t=a;t<=o&&u!=null;t++){let t=eJ(r,`store.getVisibleSlice.materializeRow`,()=>QX(e,u));s.push(t),t.isFlattened&&(c++,l+=t.flattenedSegments?.length??0),u=eJ(r,`store.getVisibleSlice.advanceCursor`,()=>JX(e,u))}return tJ(r,`workload.visibleRowsRead`,s.length),tJ(r,`workload.flattenedRowsRead`,c),tJ(r,`workload.flattenedSegmentsRead`,l),s}function RX(e,t=jX(e)){let n=e.instrumentation;return n==null?XX(e,t):eJ(n,`store.getVisibleTreeProjection`,()=>XX(e,t))}function zX(e){return YX(RX(e))}function BX(e,t){let n=IY(e,t);if(n==null||n===e.snapshot.rootId||Kq(zY(e,n))&&wY(e,n)!==n)return null;let r=0,i=n,{nodes:a,rootId:o}=e.snapshot;for(;i!==o;){let t=zY(e,i).parentId,n=RY(e,t),s=Aq(n).get(i);if(s==null)throw Error(`Child ${String(i)} was not found in its parent index`);if(r+=Iq(a,n,s),t!==o){let n=zY(e,t),a=CY(e,t);if(!UJ(e,t,n)&&a!==i)return null;wY(e,t)===t&&(r+=1)}i=t}return r}function VX(e,t){let n=IY(e,t);if(n==null)throw Error(`Path does not exist: "${t}"`);let r=zY(e,n);if(!Kq(r))throw Error(`Path is not a directory: "${t}"`);return UJ(e,n,r)?null:(WJ(e,n,!0,r),NY(e,n),rY({affectedAncestorIds:FY(e,n),affectedNodeIds:[n],path:t,projectionChanged:!0}))}function HX(e,t){let n=IY(e,t);if(n==null)throw Error(`Path does not exist: "${t}"`);let r=zY(e,n);if(!Kq(r))throw Error(`Path is not a directory: "${t}"`);return UJ(e,n,r)?(WJ(e,n,!1,r),NY(e,n),iY({affectedAncestorIds:FY(e,n),affectedNodeIds:[n],path:t,projectionChanged:!0})):null}function UX(e,t){return t<0||t>=jX(e)?null:WX(e,e.snapshot.rootId,t,-1)}function WX(e,t,n,r){let i=RY(e,t),a=e.instrumentation,{childIndex:o,localVisibleIndex:s}=a==null?Fq(e.snapshot.nodes,i,n):eJ(a,`store.getVisibleSlice.selectChildIndex`,()=>Fq(e.snapshot.nodes,i,n)),c=i.childIds[o];if(c!=null)return GX(e,c,s,r+1);throw Error(`Visible index ${String(n)} is out of range`)}function GX(e,t,n,r){if(!Kq(zY(e,t))){if(n===0)return{headNodeId:t,terminalNodeId:t,visibleDepth:r};throw Error(`Visible index ${String(n)} is out of range for file`)}let i=KX(e,t,r);if(n===0)return i;let a=zY(e,i.terminalNodeId);if(!Kq(a)||!UJ(e,i.terminalNodeId,a))throw Error(`Visible index ${String(n)} is out of range for collapsed directory`);return WX(e,i.terminalNodeId,n-1,i.visibleDepth)}function KX(e,t,n){return Kq(zY(e,t))?e.instrumentation==null?{headNodeId:t,terminalNodeId:wY(e,t),visibleDepth:n}:{headNodeId:t,terminalNodeId:eJ(e.instrumentation,`store.getVisibleSlice.flatten.resolveTerminalDirectory`,()=>wY(e,t)),visibleDepth:n}:{headNodeId:t,terminalNodeId:t,visibleDepth:n}}function qX(e,t){let n=zY(e,t);if(!Kq(n))return!0;let r=n.parentId;return r===e.snapshot.rootId?!0:CY(e,r)!==t}function JX(e,t){let n=zY(e,t.terminalNodeId);if(Kq(n)){let r=RY(e,t.terminalNodeId);if(UJ(e,t.terminalNodeId,n)&&r.childIds.length>0){let n=r.childIds[0];return n==null?null:GX(e,n,0,t.visibleDepth+1)}}let r=t.terminalNodeId,i=t.visibleDepth;for(;;){let t=zY(e,r);if(r===e.snapshot.rootId)return null;let n=t.parentId,a=RY(e,n),o=Aq(a).get(r)??-1;if(o<0)throw Error(`Child ${String(r)} was not found in its parent index`);let s=a.childIds[o+1]??null;if(s!=null)return GX(e,s,0,i);qX(e,r)&&i--,r=n}}function YX(e){let t=e.paths.length,n=Array(t);for(let r=0;r<t;r+=1){let t=e.getParentIndex(r);n[r]={index:r,parentPath:t>=0?e.paths[t]??null:null,path:e.paths[r]??``,posInSet:e.posInSetByIndex[r]??0,setSize:e.setSizeByIndex[r]??0}}return{getParentIndex:e.getParentIndex,rows:n,get visibleIndexByPath(){return e.visibleIndexByPath}}}function XX(e,t){let n=Array(t),r=new Int32Array(t),i=new Int32Array(t),a=new Int32Array(t),o=new Int32Array(kX);o.fill(-1);let s=0,{nodes:c,directories:l,segmentTable:u}=e.snapshot,d=[[l.get(e.snapshot.rootId),0,-1,``]],f=e.snapshot.options.flattenEmptyDirectories,p=e.pathCacheByNodeId,m=e.pathCacheVersion,h=u.valueById;for(;d.length>0&&s<t;){let t=d[d.length-1],u=t[0];if(t[1]>=u.childIds.length){d.pop();continue}let g=t[1],_=u.childIds[t[1]++],v=c[_],y=t[2]+1,b=t[3];o=AX(o,y);let x,S=_;if(Kq(v))S=f?wY(e,_):_,x=S===_?`${b}${h[v.nameId]}/`:MY(e,S);else{let e=p.get(_);x=e!=null&&e.version===m?e.path:`${b}${h[v.nameId]}`}r[s]=o[y],n[s]=x,i[s]=g,a[s]=u.childIds.length,o[y+1]=s,s+=1;let C=c[S];C!=null&&Kq(C)&&UJ(e,S,C)&&d.push([l.get(S),0,y,x])}s<t&&(n.length=s);let g=r.subarray(0,s),_=i.subarray(0,s),v=a.subarray(0,s),y=null;return{getParentIndex(e){return e<0||e>=s?-1:g[e]??-1},paths:n,posInSetByIndex:_,setSizeByIndex:v,get visibleIndexByPath(){if(y==null){y=new Map;for(let e=0;e<s;e+=1)y.set(n[e]??``,e)}return y}}}function ZX(e,t){let n=Array(t),r=0,{nodes:i,directories:a,segmentTable:o}=e.snapshot,s=[[a.get(e.snapshot.rootId),0,-1]],c=o.valueById,l=e.snapshot.options.flattenEmptyDirectories,u=e.pathCacheByNodeId,d=e.pathCacheVersion;for(;s.length>0&&r<t;){let t=s[s.length-1],o=t[0];if(t[1]>=o.childIds.length){s.pop();continue}let f=o.childIds[t[1]++],p=i[f],m=t[2]+1;if(!Kq(p)){let t=u.get(f);n[r++]={depth:m,flattenedSegments:void 0,hasChildren:!1,id:f,isExpanded:!1,isFlattened:!1,isLoading:!1,kind:`file`,loadState:void 0,name:c[p.nameId],path:t!=null&&t.version===d?t.path:MY(e,f)};continue}let h=l?wY(e,f):f,g={headNodeId:f,terminalNodeId:h,visibleDepth:m};n[r++]=QX(e,g);let _=i[h];_!=null&&Kq(_)&&UJ(e,h,_)&&s.push([a.get(h),0,m])}return r<t&&(n.length=r),n}function QX(e,t){let n=zY(e,t.terminalNodeId),r=Kq(n)?$X(e,t):null,i=MY(e,t.terminalNodeId),a=xJ(e.snapshot.segmentTable,n.nameId),o=Kq(n)&&RY(e,t.terminalNodeId).childIds.length>0,s=t.headNodeId!==t.terminalNodeId,c=e.instrumentation,l=s?c==null?TY(e,t.headNodeId).map(n=>{let r=zY(e,n);return{isTerminal:n===t.terminalNodeId,name:xJ(e.snapshot.segmentTable,r.nameId),nodeId:n,path:MY(e,n)}}):eJ(c,`store.getVisibleSlice.flatten.collectSegments`,()=>TY(e,t.headNodeId).map(n=>{let r=zY(e,n);return{isTerminal:n===t.terminalNodeId,name:xJ(e.snapshot.segmentTable,r.nameId),nodeId:n,path:MY(e,n)}})):void 0;return{depth:t.visibleDepth,flattenedSegments:l,hasChildren:o,id:t.terminalNodeId,isExpanded:Kq(n)&&UJ(e,t.terminalNodeId,n),isFlattened:s,isLoading:r===`loading`,kind:Kq(n)?`directory`:`file`,loadState:r==null||r===`loaded`?void 0:r,name:a,path:i}}function $X(e,t){if(t.headNodeId===t.terminalNodeId)return KJ(e,t.terminalNodeId);let n=TY(e,t.headNodeId),r=!1,i=!1;for(let t of n){let n=KJ(e,t);if(n===`loading`)return`loading`;if(n===`error`){i=!0;continue}n===`unloaded`&&(r=!0)}return i?`error`:r?`unloaded`:`loaded`}function eZ(e){let{directories:t,nodes:n,options:r,rootId:i,presortedDirectoryNodeIds:a}=e.snapshot,o=r.flattenEmptyDirectories===!0,s=e=>{let r=n[e];if(r==null||!Kq(r))return;let i=t.get(e);if(i==null)throw Error(`Unknown directory child index for node ${String(e)}`);let a=i.childIds,s=a.length,c=0,l=0;for(let e=0;e<s;e++){let t=a[e];if(t==null)continue;let r=n[t];c+=r.subtreeNodeCount,l+=r.visibleSubtreeCount}i.totalChildSubtreeNodeCount=c,i.totalChildVisibleSubtreeCount=l,s>=128&&Lq(n,i),r.subtreeNodeCount=1+c;let u;if(o&&s===1){let e=n[a[0]];u=e!=null&&Kq(e)?l:1+l}else u=1+l;r.visibleSubtreeCount=u};if(a!=null)for(let e=a.length-1;e>=0;e--)s(a[e]);else for(let e=n.length-1;e>=1;e--)s(e);let c=n[i],l=t.get(i);if(c==null||l==null)return;let u=l.childIds,d=0,f=0;for(let e=0;e<u.length;e++){let t=u[e];if(t==null)continue;let r=n[t];d+=r.subtreeNodeCount,f+=r.visibleSubtreeCount}l.totalChildSubtreeNodeCount=d,l.totalChildVisibleSubtreeCount=f,Lq(n,l),c.subtreeNodeCount=1+d,c.visibleSubtreeCount=f}function tZ(e){return e.initialExpansion===`open`&&(e.initialExpandedPaths==null||e.initialExpandedPaths.length===0)}var nZ=class e{#e;constructor(e={}){let t=$q(e),n=eJ(t,`store.builder.create`,()=>new RJ(e));if(e.preparedInput!=null){let t=FJ(e.preparedInput);t==null?n.appendPreparedPaths(PJ(e.preparedInput),!1):n.appendPresortedPaths(t,IJ(e.preparedInput))}else{let r=e.paths??[];e.presorted===!0?n.appendPaths(r):n.appendPreparedPaths(eJ(t,`store.preparePathEntries`,()=>LJ(r,e)))}let r=eJ(t,`store.builder.finish`,()=>n.finish({skipSubtreeCountPass:!0})),i=eJ(t,`store.state.detectAllDirectoriesExpanded`,()=>(e.initialExpansion??`closed`)===`closed`&&n.didMatchAllInitialExpandedPaths());this.#e=eJ(t,`store.state.create`,()=>zJ(r,i?`open`:e.initialExpansion??`closed`,t)),i&&(this.#e.collapseNewDirectoriesByDefault=!0);let a=i?this.#e.snapshot.directories.size-1:eJ(t,`store.state.initializeExpandedPaths`,()=>this.initializeExpandedPaths(e.initialExpandedPaths));i||tZ(e)||(e.initialExpansion??`closed`)===`closed`&&a===this.#e.snapshot.directories.size-1||(e.initialExpandedPaths?.length??0)>0&&eJ(t,`store.state.checkAllDirectoriesExpanded`,()=>this.hasAllDirectoriesExpanded())?eJ(t,`store.state.initializeOpenVisibleCounts`,()=>eZ(this.#e)):eJ(t,`store.state.recomputeCounts`,()=>PY(this.#e,this.#e.snapshot.rootId))}static preparePaths(e,t={}){return jJ(e,t)}static prepareInput(e,t={}){return MJ(e,t)}static preparePresortedInput(e){return NJ(e)}list(e){return eJ(this.#e.instrumentation,`store.list`,()=>EY(this.#e,e))}add(e){eJ(this.#e.instrumentation,`store.add`,()=>{let t=jX(this.#e);pY(this.#e,dY(this.#e,t,DY(this.#e,e)))})}remove(e,t={}){eJ(this.#e.instrumentation,`store.remove`,()=>{let n=jX(this.#e);pY(this.#e,dY(this.#e,n,OY(this.#e,e,t)))})}move(e,t,n={}){eJ(this.#e.instrumentation,`store.move`,()=>{let r=jX(this.#e),i=kY(this.#e,e,t,n);i!=null&&pY(this.#e,dY(this.#e,r,i))})}batch(e){fY(this.#e,()=>{if(typeof e==`function`){e(this);return}for(let t of e)switch(t.type){case`add`:this.add(t.path);break;case`remove`:this.remove(t.path,{recursive:t.recursive});break;case`move`:this.move(t.from,t.to,{collision:t.collision});break}})}getVisibleCount(){return eJ(this.#e.instrumentation,`store.getVisibleCount`,()=>jX(this.#e))}getVisibleSlice(e,t){return eJ(this.#e.instrumentation,`store.getVisibleSlice`,()=>LX(this.#e,e,t))}getVisibleRowContext(e){return eJ(this.#e.instrumentation,`store.getVisibleRowContext`,()=>IX(this.#e,e))}getVisibleTreeProjection(){return zX(this.#e)}getVisibleTreeProjectionData(e){return RX(this.#e,e)}getVisibleIndex(e){return eJ(this.#e.instrumentation,`store.getVisibleIndex`,()=>BX(this.#e,e))}getPathInfo(e){return eJ(this.#e.instrumentation,`store.getPathInfo`,()=>{let t=IY(this.#e,e);if(t==null)return null;let n=zY(this.#e,t);return{depth:Wq(n),kind:Kq(n)?`directory`:`file`,path:MY(this.#e,t)}})}isExpanded(e){return eJ(this.#e.instrumentation,`store.isExpanded`,()=>{let t=this.requireDirectoryNodeId(e),n=zY(this.#e,t);return UJ(this.#e,t,n)})}expand(e){eJ(this.#e.instrumentation,`store.expand`,()=>{let t=jX(this.#e),n=VX(this.#e,e);n!=null&&pY(this.#e,dY(this.#e,t,n))})}collapse(e){eJ(this.#e.instrumentation,`store.collapse`,()=>{let t=jX(this.#e),n=HX(this.#e,e);n!=null&&pY(this.#e,dY(this.#e,t,n))})}on(e,t){return $J(this.#e,e,t)}getDirectoryLoadState(e){let t=this.requireDirectoryNodeId(e);return KJ(this.#e,t)}markDirectoryUnloaded(e){eJ(this.#e.instrumentation,`store.markDirectoryUnloaded`,()=>{let t=this.requireDirectoryNodeId(e);if(RY(this.#e,t).childIds.length>0)throw Error(`Cannot mark a directory with known children as unloaded: "${e}"`);let n=jX(this.#e);JJ(this.#e,t),pY(this.#e,dY(this.#e,n,aY({affectedAncestorIds:FY(this.#e,t),affectedNodeIds:[t],path:e,projectionChanged:this.isDirectoryProjectionVisible(t)})))})}beginChildLoad(e){return eJ(this.#e.instrumentation,`store.beginChildLoad`,()=>{let t=this.requireDirectoryNodeId(e),n=jX(this.#e),r=qJ(this.#e,t);return pY(this.#e,dY(this.#e,n,oY({affectedAncestorIds:FY(this.#e,t),affectedNodeIds:[t],attemptId:r.attemptId,path:e,projectionChanged:this.isDirectoryProjectionVisible(t),reused:r.reused}))),r})}applyChildPatch(e,t){return eJ(this.#e.instrumentation,`store.applyChildPatch`,()=>{let n=this.resolveActiveDirectoryNodeId(e.nodeId);if(n==null||KJ(this.#e,n)!==`loading`||!XJ(this.#e,n,e.attemptId))return!1;let r=MY(this.#e,n);this.validateChildPatch(r,t);let i=jX(this.#e),a=[];for(let e of t.operations){rZ(r,e);let t=jX(this.#e);switch(e.type){case`add`:a.push(dY(this.#e,t,DY(this.#e,e.path)));break;case`remove`:a.push(dY(this.#e,t,OY(this.#e,e.path,{recursive:e.recursive})));break;case`move`:{let n=kY(this.#e,e.from,e.to,{collision:e.collision});n!=null&&a.push(dY(this.#e,t,n));break}}}let o=a.some(e=>e.projectionChanged)||this.isDirectoryProjectionVisible(n);return pY(this.#e,dY(this.#e,i,sY({affectedAncestorIds:FY(this.#e,n),affectedNodeIds:[n],attemptId:e.attemptId,childEvents:a,path:MY(this.#e,n),projectionChanged:o}))),!0})}completeChildLoad(e){return eJ(this.#e.instrumentation,`store.completeChildLoad`,()=>{let t=this.resolveActiveDirectoryNodeId(e.nodeId);if(t==null)return!1;let n=jX(this.#e),r=YJ(this.#e,t,e.attemptId);return pY(this.#e,dY(this.#e,n,cY({affectedAncestorIds:FY(this.#e,t),affectedNodeIds:[t],attemptId:e.attemptId,path:MY(this.#e,t),projectionChanged:this.isDirectoryProjectionVisible(t),stale:!r}))),r})}failChildLoad(e,t){return eJ(this.#e.instrumentation,`store.failChildLoad`,()=>{let n=this.resolveActiveDirectoryNodeId(e.nodeId);if(n==null)return!1;let r=jX(this.#e),i=ZJ(this.#e,n,e.attemptId,t);return pY(this.#e,dY(this.#e,r,lY({affectedAncestorIds:FY(this.#e,n),affectedNodeIds:[n],attemptId:e.attemptId,errorMessage:t,path:MY(this.#e,n),projectionChanged:this.isDirectoryProjectionVisible(n),stale:!i}))),i})}cleanup(e={}){return eJ(this.#e.instrumentation,`store.cleanup`,()=>{if(this.#e.transactionStack.length>0)throw Error(`Cleanup cannot run during an open batch or transaction.`);if(DX(this.#e))throw Error(`Cleanup cannot run while directory loads are active.`);let t=jX(this.#e),n=OX(this.#e,e.mode??`stable`);return pY(this.#e,dY(this.#e,t,uY({...n,affectedAncestorIds:[],affectedNodeIds:[],projectionChanged:n.idsPreserved===!1}))),n})}getNodeCount(){return this.#e.activeNodeCount}initializeExpandedPaths(e){if(e==null||e.length===0)return 0;let t=0,n=[],r=[],i=0,a=null,o=this.#e.snapshot.segmentTable,s=o.valueById,c=this.#e.snapshot.nodes,l=new Map;for(let u of e){a!=null&&u<a&&(a=null,i=0,n.length=0,r.length=0);let e=u.length>0&&u.charCodeAt(u.length-1)===47?u.length-1:u.length;if(e===0){a=u,i=e,n.length=0,r.length=0;continue}let d=0,f=0;if(a!=null){let t=Math.min(e,i),n=!0;for(let e=0;e<t;e+=1){let t=u.charCodeAt(e);if(t!==a.charCodeAt(e)){n=!1;break}t===47&&(d+=1,f=e+1)}n&&(t===i&&e>t&&u.charCodeAt(t)===47?(d+=1,f=t+1):t===e&&i>t&&a.charCodeAt(t)===47&&(d+=1,f=e+1)),d=Math.min(d,r.length)}let p=d===0?this.#e.snapshot.rootId:r[d-1]??this.#e.snapshot.rootId,m=d,h=!0,g=f;for(;g<=e;){let t=u.indexOf(`/`,g),i=t===-1||t>e?e:t,a=u.slice(g,i),f=RY(this.#e,p).childIds,_=m===d?n[m]??0:0,v=_,y,b=l.get(a)??iJ(a);l.set(a,b);let x=(e,t)=>{for(v=e;v<t;v+=1){let e=f[v],t=c[e],n=s[t.nameId];if(n===a)return y=e,!0;let r=oJ(pJ(o,t.nameId),b);if(r>0||r===0&&n>a)return!1}return!1};if(!x(_,f.length)&&_>0&&x(0,_),y===void 0){h=!1;break}if(!Kq(zY(this.#e,y))){h=!1;break}if(n[m]=v,r[m]=y,p=y,m+=1,i===e)break;g=i+1}if(a=u,i=e,n.length=m,r.length=m,!h){a=null,i=0,n.length=0,r.length=0;continue}for(let e=d;e<m;e+=1){let n=r[e];if(n==null)continue;let i=zY(this.#e,n);UJ(this.#e,n,i)||(WJ(this.#e,n,!0,i),t+=1)}}return t}hasAllDirectoriesExpanded(){for(let e of this.#e.snapshot.directories.keys()){if(e===this.#e.snapshot.rootId)continue;let t=zY(this.#e,e);if(!UJ(this.#e,e,t))return!1}return!0}requireDirectoryNodeId(e){let t=IY(this.#e,e);if(t==null)throw Error(`Path does not exist: "${e}"`);if(!Kq(zY(this.#e,t)))throw Error(`Path is not a directory: "${e}"`);return t}resolveActiveDirectoryNodeId(e){try{if(!Kq(zY(this.#e,e)))throw Error(`Node is not a directory: ${String(e)}`);return e}catch{return null}}isDirectoryProjectionVisible(e){let t=e;for(;t!==this.#e.snapshot.rootId;){let e=zY(this.#e,t).parentId;if(e!==this.#e.snapshot.rootId){let n=zY(this.#e,e),r=CY(this.#e,e);if(!UJ(this.#e,e,n)&&r!==t)return!1}t=e}return!0}validateChildPatch(t,n){new e({paths:this.list(t),presorted:!0,sort:this.#e.snapshot.options.sort}).batch(n.operations)}};function rZ(e,t){switch(t.type){case`add`:case`remove`:if(!t.path.startsWith(e)||t.path===e)throw Error(`Child patch operation must stay within ${e}: "${t.path}"`);break;case`move`:if(!t.from.startsWith(e)||!t.to.startsWith(e)||t.from===e||t.to===e)throw Error(`Child patch move must stay within ${e}: "${t.from}" -> "${t.to}"`);break}}var iZ=e=>e.startsWith(`f::`)?e.slice(3):e;function aZ(e){let t=e.lastIndexOf(`/`);return t<0?{parentPath:``,baseName:e}:{parentPath:e.slice(0,t),baseName:e.slice(t+1)}}function oZ(e,t){return e===``?t:`${e}/${t}`}function sZ({files:e,path:t,isFolder:n,nextBasename:r}){let i=iZ(t),a=r.trim();if(a.length===0)return{error:`Name cannot be empty.`};if(a.includes(`/`))return{error:`Name cannot include "/".`};let{parentPath:o,baseName:s}=aZ(i);if(a===s)return{nextFiles:e,sourcePath:i,destinationPath:i,isFolder:n};let c=oZ(o,a),l=Array(e.length),u=new Set;if(!n){let t=`${c}/`,r=!1;for(let n=0;n<e.length;n++){let a=e[n];if(a!==i&&a.startsWith(t))return{error:`"${c}" already exists.`};let o=a===i?c:a;if(u.has(o))return{error:`"${c}" already exists.`};u.add(o),l[n]=o,a===i&&(r=!0)}return r?{nextFiles:l,sourcePath:i,destinationPath:c,isFolder:n}:{error:`Could not find the selected file to rename.`}}let d=`${i}/`,f=`${c}/`,p=0;for(let t=0;t<e.length;t++){let n=e[t],r=n===i||n.startsWith(d);if(!r&&(n===c||n.startsWith(f)))return{error:`"${c}" already exists.`};let a=r?`${c}${n.slice(i.length)}`:n;if(u.has(a))return{error:`"${c}" already exists.`};u.add(a),l[t]=a,r&&p++}return p===0?{error:`Could not find the selected folder to rename.`}:{nextFiles:l,sourcePath:i,destinationPath:c,isFolder:n}}function cZ(e){return e.endsWith(`/`)}function lZ(e){let t=e.endsWith(`/`)?e.slice(0,-1):e,n=t.lastIndexOf(`/`),r=n<0?t:t.slice(n+1);return e.endsWith(`/`)?`${r}/`:r}function uZ(e){let t=[],n=new Set;for(let r of e)n.has(r)||(n.add(r),t.push(r));let r=new Set;for(let e of t.toSorted((e,t)=>e.length===t.length?e.localeCompare(t):e.length-t.length)){let t=(e.endsWith(`/`)?e.slice(0,-1):e).split(`/`),n=!1;for(let e=0;e<t.length-1;e+=1){let i=`${t.slice(0,e+1).join(`/`)}/`;if(r.has(i)){n=!0;break}}n||r.add(e)}return t.filter(e=>r.has(e))}function dZ(e,t){return t.includes(e)?uZ(t):[e]}function fZ(e,t){return e===t?!0:e==null||t==null?!1:e.kind===t.kind&&e.directoryPath===t.directoryPath&&e.flattenedSegmentPath===t.flattenedSegmentPath&&e.hoveredPath===t.hoveredPath}function pZ(e,t){return{draggedPaths:e,target:t}}function mZ(e,t){if(t.kind!==`directory`||t.directoryPath==null)return!1;for(let n of e)if(cZ(n)&&(t.directoryPath===n||t.directoryPath.startsWith(n)))return!0;return!1}function hZ(e,t){return t.kind===`root`||t.directoryPath==null?lZ(e):t.directoryPath}function gZ(e,t){let n=e.map(e=>{let n=hZ(e,t);return n===e?null:{from:e,to:n,type:`move`}}).filter(e=>e!=null);return n.length===0?null:{operations:n,result:{draggedPaths:e,operation:n.length===1?`move`:`batch`,target:t}}}function _Z(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function vZ(e,t,n){let{paths:r,preparedInput:i}=e;if(i==null){if(r==null)throw Error(`FileTree requires paths or preparedInput`);return{paths:r,preparedInput:void 0}}let a=i.paths;if(r==null)return{paths:a,preparedInput:i};if(!_Z(nZ.preparePaths(r,n==null?{}:{sort:n}),a))throw Error(`FileTree ${t} received paths and preparedInput for different path lists`);return{paths:a,preparedInput:i}}function yZ(e){return e.operation===`add`||e.operation===`remove`||e.operation===`move`||e.operation===`batch`}function bZ(e,t,n){if(e===t)return n;let r=t.endsWith(`/`)?t:`${t}/`;return e.startsWith(r)?`${n.endsWith(`/`)?n:`${n}/`}${e.slice(r.length)}`:e}function xZ(e,t){if(e===t)return!0;let n=t.endsWith(`/`)?t:`${t}/`;return e.startsWith(n)}function SZ(e,t,n=!1){if(e==null)return null;switch(t.operation){case`add`:case`expand`:case`collapse`:case`mark-directory-unloaded`:case`begin-child-load`:case`apply-child-patch`:case`complete-child-load`:case`fail-child-load`:case`cleanup`:return e;case`remove`:return xZ(e,t.path)?n?e:null:e;case`move`:return bZ(e,t.from,t.to);case`batch`:{let r=e;for(let e of t.events)if(r=SZ(r,e,n),r==null)return null;return r}}}function CZ(e){return{canonicalChanged:e.canonicalChanged,projectionChanged:e.projectionChanged,visibleCountDelta:e.visibleCountDelta}}function wZ(e){switch(e.operation){case`add`:return{...CZ(e),operation:`add`,path:e.path};case`remove`:return{...CZ(e),operation:`remove`,path:e.path,recursive:e.recursive};case`move`:return{...CZ(e),from:e.from,operation:`move`,to:e.to}}}function TZ(e){return{...CZ(e),events:e.events.filter(e=>e.operation===`add`||e.operation===`remove`||e.operation===`move`).map(e=>wZ(e)),operation:`batch`}}function EZ(e){switch(e.operation){case`add`:case`remove`:case`move`:return wZ(e);case`batch`:return TZ(e);default:return null}}function DZ(e,t){if(e.size!==t.length)return!1;for(let n of t)if(!e.has(n))return!1;return!0}function OZ(e){let t=e.endsWith(`/`)?e.slice(0,-1):e;if(t.length===0)return[];let n=t.split(`/`);return n.slice(0,-1).map((e,t)=>`${n.slice(0,t+1).join(`/`)}/`)}function kZ(e){return OZ(e).at(-1)??null}function AZ(e,t){return t==null?e:e.startsWith(t)?e.slice(t.length):e}function jZ(e){return e.endsWith(`/`)}var MZ=e=>e.toLowerCase();function NZ(e){let t=e.endsWith(`/`)?e.slice(0,-1):e,n=t.lastIndexOf(`/`);return n<0?t:t.slice(n+1)}function PZ(e){return e.endsWith(`/`)?e.slice(0,-1):e}function FZ(e,t){return t&&!e.endsWith(`/`)?`${e}/`:e}var IZ=e=>{let t=e.trim();return t.length===0?``:(t.includes(`\\`)?t.replaceAll(`\\`,`/`):t).toLowerCase()},LZ=Symbol(`FILE_TREE_RENAME_VIEW`),RZ=512,zZ=512;function BZ(e){return e===`top`||e===`center`?e:`nearest`}function VZ(e,t,n){if(e===0)return-1;if(n!=null){let e=t(n);if(e!=null)return e;let r=OZ(n);for(let e=r.length-1;e>=0;--e){let n=r[e];if(n==null)continue;let i=t(n);if(i!=null)return i}}return 0}function HZ(e,t,n){if(e.paths.length===0)return{focusedIndex:-1,getParentIndex:e.getParentIndex,paths:e.paths,posInSetByIndex:e.posInSetByIndex,setSizeByIndex:e.setSizeByIndex};if(t==null)return{focusedIndex:0,getParentIndex:e.getParentIndex,paths:e.paths,posInSetByIndex:e.posInSetByIndex,setSizeByIndex:e.setSizeByIndex};let r=n??(t=>e.visibleIndexByPath.get(t)??null);return{focusedIndex:VZ(e.paths.length,r,t),getParentIndex:e.getParentIndex,paths:e.paths,posInSetByIndex:e.posInSetByIndex,setSizeByIndex:e.setSizeByIndex}}var UZ=class{#e;#t=new Set;#n=new Map;#r=null;#i=null;#a=new Map;#o=new Map;#s=-1;#c=null;#l=!1;#u=e=>-1;#d=new Map;#f=null;#p=null;#m=null;#h=null;#g=null;#_;#v;#y;#b=[];#x=new Int32Array;#S=new Int32Array;#C=void 0;#w=!1;#T=null;#E=``;#D=!1;#O=new Set;#k=[];#A;#j=null;#M=null;#N=null;#P=null;#F=null;#I=null;#L=null;#R=0;#z=null;#B=new Set;#V=0;#H;#U=0;#W=!1;#G=0;#K;constructor(e){let{dragAndDrop:t,fileTreeSearchMode:n,initialSearchQuery:r,initialSelectedPaths:i,renaming:a,onSearchChange:o,paths:s,preparedInput:c,...l}=e,u=vZ({paths:s,preparedInput:c},`constructor`,l.sort);this.#e=l,t!=null&&t!==!1&&(this.#r=t===!0?{}:t),this.#w=a!=null&&a!==!1,a!=null&&a!==!1&&a!==!0&&(this.#C=a.canRename,this.#v=a.onError,this.#_=a.onRename),this.#y=o,this.#A=n??`hide-non-matches`,this.#H=this.#le(u.paths,u.preparedInput);let d=i?.map(e=>this.#Ne(e)).filter(e=>e!=null)??[],f=d.at(-1)??null;d.length>0&&(this.#B=new Set(d),this.#z=f,this.#V=1),this.#je(f,!1),r!=null&&this.#Te(r,!1),this.#K=this.#Re()}destroy(){this.#K?.(),this.#K=null,this.#n.clear(),this.#t.clear(),this.#d.clear(),this.#i=null,this.#he()}focusFirstItem(){this.#be().length>0&&this.#Fe(0)}focusLastItem(){this.#G<=0||(this.#Ie(),this.#Fe(this.#G-1))}focusNextItem(){this.#Ae(1)}focusParentItem(){if(this.#c==null)return;let e=kZ(this.#c);if(e==null)return;let t=this.#Z(e);t>=0&&this.#Fe(t)}focusPath(e){let t=this.#H.getPathInfo(e)?.path??null;if(t==null)return;this.#Ie();let n=this.#Z(t);n>=0&&this.#Fe(n)}scrollToPath(e,t){let n=this.#H.getPathInfo(e)?.path??null;if(n==null)return;this.#Ie();let r=this.#xe(n);r<0||this.#Me(r)!=null&&(t?.focus!==!1&&this.#Fe(r,!1),this.#L={id:this.#R+=1,offset:BZ(t?.offset),visibleIndex:r},this.#De())}focusMountedPathFromInput(e){let t=this.#H.getPathInfo(e)?.path??null;if(t==null)return;let n=this.#Z(t);n>=0&&this.#Fe(n)}focusNearestPath(e){let t=this.resolveNearestVisiblePath(e);if(t==null)return null;let n=this.#Z(t);return n>=0?(this.#Fe(n),this.#be()[n]??t):null}focusPreviousItem(){this.#Ae(-1)}getFocusedIndex(){return this.#s}getFocusedItem(){return this.#c==null?null:this.#Q(this.#c)}getFocusedPath(){return this.#c}getScrollRequest(){return this.#L}clearScrollRequest(e){this.#L?.id===e&&(this.#L=null)}resolveNearestVisiblePath(e){let t=this.#be();if(this.#G===0)return null;if(e==null)return this.#c??t[0]??null;let n=this.#H.getPathInfo(e)?.path??e,r=this.#Z(n);return r>=0?t[r]??n:this.#X(n)??this.#c??t[0]??null}getSelectedPaths(){return[...this.#B]}getSelectionVersion(){return this.#V}getVisibleCount(){return this.#G}getVisibleRows(e,t){if(t<e||this.#G===0)return[];let n=Math.max(0,e),r=Math.min(this.#G-1,t);if(r<n)return[];let i=r-n+1;if(this.#F==null&&!this.#l&&r>=this.#b.length&&i<=zZ){let e=[];for(let t=n;t<=r;t+=1){let n=this.#H.getVisibleRowContext(t);if(n==null)break;e.push(this.#ee(n))}return e}if(!this.#l&&r>=this.#b.length&&this.#Ie(),this.#F!=null){let e=Array.from({length:r-n+1},(e,t)=>this.#Se(n+t)),t=new Map,i=e[0]??-1,a=i;for(let n=1;n<=e.length;n+=1){let r=e[n];if(r!=null&&r===a+1){a=r;continue}if(i>=0&&this.#H.getVisibleSlice(i,a).forEach((e,n)=>{t.set(i+n,e)}),r==null){i=-1,a=-1;continue}i=r,a=r}return Array.from({length:r-n+1},(e,r)=>{let i=n+r,a=this.#Se(i),o=t.get(a),s=this.#b[a];if(o==null||s==null)throw Error(`Missing projection row for filtered visible index ${String(i)}`);return this.#$(o,i,a,{ancestorPaths:this.#re(a),path:s})})}return this.#H.getVisibleSlice(n,r).map((e,t)=>{let r=n+t,i=this.#b[r];if(i==null)throw Error(`Missing projection path for visible index ${String(r)}`);return this.#$(e,r,r,{ancestorPaths:this.#re(r),path:i})})}getStickyRowCandidates(e,t){if(this.#F!=null)return null;if(this.#G===0||e<=0||t<=0)return[];let n=[];for(let r=0;r<this.#G;r+=1){let i=e+r*t,a=Math.min(this.#G-1,Math.floor(i/t)),o=this.#te(a,r)??(a>0?this.#te(a-1,r):void 0);if(o==null)break;n.push({row:this.#ee(o),subtreeEndIndex:o.subtreeEndIndex})}return n}getItem(e){let t=this.#H.getPathInfo(e);return t==null?null:this.#Q(t.path,t)}resolveMountedDirectoryPathFromInput(e){let t=this.#H.getPathInfo(e);return t?.kind===`directory`?t.path:null}toggleMountedDirectoryFromInput(e){let t=this.resolveMountedDirectoryPathFromInput(e);t!=null&&this.#ze(t)}selectAllVisiblePaths(){this.#Ie();let e=[...this.#be()];this.#ae(e,this.#c??this.#z)}selectOnlyPath(e){let t=this.#Ne(e);t!=null&&this.#ae([t],t)}selectOnlyMountedPathFromInput(e){this.#ae([e],e)}selectPath(e){let t=this.#Ne(e);t==null||this.#B.has(t)||this.#ae([...this.#B,t])}deselectPath(e){let t=this.#Ne(e);t==null||!this.#B.has(t)||this.#ae([...this.#B].filter(e=>e!==t))}toggleFocusedSelection(){this.#c!=null&&this.togglePathSelectionFromInput(this.#c)}togglePathSelection(e){let t=this.#Ne(e);if(t!=null){if(this.#B.has(t)){this.deselectPath(t);return}this.selectPath(t)}}togglePathSelectionFromInput(e){let t=this.#Ne(e);if(t!=null){if(this.#B.has(t)){this.#ae([...this.#B].filter(e=>e!==t),t);return}this.#ae([...this.#B,t],t)}}selectPathRange(e,t){let n=this.#Ne(e);if(n==null)return;this.#Ie();let r=this.#z,i=r==null?-1:this.#Ce(r),a=this.#Ce(n);if(i===-1||a===-1){let e=t?[...this.#B,n]:[n];this.#ae(e,n);return}let[o,s]=i<=a?[i,a]:[a,i],c=this.#be().slice(o,s+1),l=t?[...this.#B,...c]:c;this.#ae(l,r)}extendSelectionFromFocused(e){if(this.#c==null)return;let t=this.#s;if(t===-1)return;let n=Math.min(this.#G-1,Math.max(0,t+e));if(n===t)return;!this.#l&&n>=this.#b.length&&this.#Ie();let r=this.#be(),i=r[t]??null,a=r[n]??null;if(i==null||a==null)return;let o=new Set(this.#B);o.has(i)&&o.has(a)?o.delete(i):o.add(a),this.#ae([...o],this.#z??i,!1),this.#Fe(n)}getDragAndDropConfig(){return this.#r}isDragAndDropEnabled(){return this.#r!=null}getDragSession(){return this.#i==null?null:{draggedPaths:[...this.#i.draggedPaths],primaryPath:this.#i.primaryPath,target:this.#i.target==null?null:{...this.#i.target}}}startDrag(e){if(this.#r==null)return!1;let t=this.#Ne(e);if(t==null||this.#M!=null&&this.#M.length>0)return!1;let n=this.getSelectedPaths(),r=dZ(t,n);return this.#r.canDrag?.(r)===!1?!1:(n.includes(t)||this.#ae([t],t,!1),this.#Pe(t),this.#i={draggedPaths:r,primaryPath:t,target:null},this.#De(),!0)}setDragTarget(e){let t=this.#i;if(t==null)return;let n=e;if(n!=null){let e=pZ(t.draggedPaths,n);(mZ(t.draggedPaths,n)||this.#r?.canDrop?.(e)===!1)&&(n=null)}fZ(t.target,n)||(this.#i={...t,target:n},this.#De())}cancelDrag(){this.#i!=null&&(this.#i=null,this.#De())}completeDrag(){let e=this.#i;if(e==null)return!1;this.#i=null;let t=e.target==null?null:{...e.target};if(t==null)return this.#De(),!1;let n=pZ(e.draggedPaths,t);if(mZ(e.draggedPaths,t)||this.#r?.canDrop?.(n)===!1)return this.#De(),!1;let r=gZ(e.draggedPaths,t);if(r==null)return this.#De(),!1;try{if(r.operations.length===1){let e=r.operations[0];if(e==null||e.type!==`move`)throw Error(`Expected a single move operation for one-item drops`);this.#H.move(e.from,e.to,{collision:e.collision})}else this.#ce(r.operations),this.#H.batch(r.operations)}catch(e){return this.#De(),this.#r?.onDropError?.(e instanceof Error?e.message:String(e),n),!1}return this.#r?.onDropComplete?.(r.result),!0}subscribe(e){return this.#t.add(e),e(),()=>{this.#t.delete(e)}}add(e){this.#H.add(e)}remove(e,t={}){this.#H.remove(e,t)}move(e,t,n={}){this.#H.move(e,t,n)}batch(e){this.#H.batch(e)}onMutation(e,t){let n=e,r=t,i=this.#n.get(n);return i??(i=new Set,this.#n.set(n,i)),i.add(r),()=>{let e=this.#n.get(n);e?.delete(r),e?.size===0&&this.#n.delete(n)}}setSearch(e){this.#Te(e,!0)}openSearch(e=``){this.#Te(e,!0)}closeSearch(){this.#Te(null,!0)}isSearchOpen(){return this.#M!==null}getSearchValue(){return this.#M??``}getSearchMatchingPaths(){return this.#k}focusNextSearchMatch(){this.#we(1)}focusPreviousSearchMatch(){this.#we(-1)}startRenaming(e=this.#c??``,t={}){if(!this.#w)return!1;let n=this.#H.getPathInfo(e);if(n==null)return!1;let r=n.path,i=jZ(r),a=PZ(r);if(this.#C?.({isFolder:i,path:a})===!1)return!1;for(let e of OZ(r))this.#H.isExpanded(e)||this.#H.expand(e);return this.#ae([r],r,!1),this.#M!=null&&(this.#Te(null,!1),this.#y?.(this.#M)),this.#Pe(r),this.#T=r,this.#E=NZ(r),this.#D=t.removeIfCanceled??!1,this.#De(),!0}[LZ](){return{cancel:()=>{this.#q()},commit:()=>{this.#J()},getPath:()=>this.#T,getValue:()=>this.#E,isActive:()=>this.#T!=null,setValue:e=>{this.#Y(e)}}}#q(){if(this.#T==null)return;let e=this.#T,t=this.#D;if(this.#T=null,this.#E=``,this.#D=!1,t){this.remove(e,jZ(e)?{recursive:!0}:void 0);return}this.#Pe(e),this.#De()}#J(){let e=this.#T;if(e==null)return;if(this.#D&&this.#E.trim().length===0){this.#T=null,this.#E=``,this.#D=!1,this.remove(e,jZ(e)?{recursive:!0}:void 0);return}let t=jZ(e),n=sZ({files:this.#H.list(),isFolder:t,nextBasename:this.#E,path:PZ(e)});if(this.#T=null,this.#E=``,this.#D=!1,`error`in n){this.#Pe(e),this.#v?.(n.error),this.#De();return}if(n.sourcePath===n.destinationPath){this.#Pe(e),this.#De();return}this.#_?.({destinationPath:n.destinationPath,isFolder:n.isFolder,sourcePath:n.sourcePath}),this.move(FZ(n.sourcePath,t),FZ(n.destinationPath,t))}#Y(e){this.#T==null||this.#E===e||(this.#E=e,this.#De())}resetPaths(e,t={}){let n=this.#H.list().length,r=this.#G,i=vZ({paths:e,preparedInput:t.preparedInput},`resetPaths`,this.#e.sort),a=this.#le(i.paths,i.preparedInput,t.initialExpandedPaths),o=this.#c,s=this.#T,c=this.getSelectedPaths(),l=this.#z;this.#K?.(),this.#H=a,this.#d.clear(),this.#he();let u=c.map(e=>a.getPathInfo(e)?.path??null).filter(e=>e!=null),d=!DZ(this.#B,u);this.#B=new Set(u),d&&(this.#V+=1),this.#z=l==null?null:a.getPathInfo(l)?.path??null,this.#T=s==null?null:a.getPathInfo(s)?.path??null,this.#T??(this.#E=``,this.#D=!1),this.#je(o,o!=null||u.length>0||this.#z!=null),this.#K=this.#Re(),this.#De(),this.#Oe({canonicalChanged:!0,operation:`reset`,pathCountAfter:i.paths.length,pathCountBefore:n,projectionChanged:!0,usedPreparedInput:t.preparedInput!=null,visibleCountDelta:this.#G-r})}#X(e){this.#Ie();let t=kZ(e),n=AZ(e,t),r=null,i=null;for(let e of this.#be()){if(kZ(e)!==t)continue;let a=AZ(e,t);if(a<n){r=e;continue}if(a>n){i=e;break}}return r??i}#Z(e){let t=this.#Ce(e);if(t!==-1)return t;let n=OZ(e);for(let e=n.length-1;e>=0;--e){let t=n[e];if(t==null)continue;let r=this.#Ce(t);if(r!==-1)return r}return this.#be().length>0?0:-1}#Q(e,t){let n=this.#d.get(e);if(n!=null)return n;let r=t??this.#H.getPathInfo(e);if(r==null)return null;let i=r.kind===`directory`?this.#oe(r.path):this.#se(r.path);return this.#d.set(r.path,i),i}#$(e,t,n,r){return{ancestorPaths:r.ancestorPaths,depth:e.depth,flattenedSegments:e.flattenedSegments?.map(e=>({isTerminal:e.isTerminal,name:e.name,path:e.path})),hasChildren:e.hasChildren,index:t,isExpanded:e.isExpanded,isFlattened:e.isFlattened,isFocused:r.path===this.#c,isSelected:this.#B.has(r.path),kind:e.kind,level:e.depth,name:e.name,path:r.path,posInSet:r.posInSet??this.#x[n]??0,setSize:r.setSize??this.#S[n]??0}}#ee(e){return this.#$(e.row,e.index,e.index,{ancestorPaths:e.ancestorPaths,path:e.row.path,posInSet:e.posInSet,setSize:e.setSize})}#te(e,t){let n=this.#H.getVisibleRowContext(e);return n==null?void 0:n.ancestorRows[t]??(t===n.ancestorRows.length&&n.row.kind===`directory`&&n.row.isExpanded?n:void 0)}#ne(e){let t=this.#a.get(e);if(t!=null)return t;let n=this.#u(e),r=n<0?[]:[...this.#ne(n),n];return this.#a.set(e,r),r}#re(e){let t=this.#o.get(e);if(t!=null)return t;let n=this.#ne(e).map(e=>this.#b[e]??``).filter(e=>e!==``);return this.#o.set(e,n),n}#ie(e){this.#H.collapse(e)}#ae(e,t=this.#z,n=!0){let r=[...new Set(e)],i=!DZ(this.#B,r),a=this.#z!==t;!i&&!a||(this.#B=new Set(r),this.#z=t,i&&(this.#V+=1),n&&this.#De())}#oe(e){return{collapse:()=>{this.#ie(e)},deselect:()=>{this.deselectPath(e)},expand:()=>{this.#ke(e)},focus:()=>{this.focusPath(e)},getPath:()=>e,isDirectory:()=>!0,isExpanded:()=>this.#H.isExpanded(e),isFocused:()=>this.#c===e,isSelected:()=>this.#B.has(e),select:()=>{this.selectPath(e)},toggleSelect:()=>{this.togglePathSelection(e)},toggle:()=>{this.#ze(e)}}}#se(e){return{deselect:()=>{this.deselectPath(e)},focus:()=>{this.focusPath(e)},getPath:()=>e,isDirectory:()=>!1,isFocused:()=>this.#c===e,isSelected:()=>this.#B.has(e),select:()=>{this.selectPath(e)},toggleSelect:()=>{this.togglePathSelection(e)}}}#ce(e){let t=this.#H.list();this.#le(t).batch(e)}#le(e,t,n){return new nZ({...this.#e,paths:e,preparedInput:t??void 0,...n===void 0?{}:{initialExpandedPaths:n}})}#ue(){return this.#h??=this.#H.list(),this.#h}#de(){if(this.#m!=null)return this.#m;let e=new Set;for(let t of this.#ue()){e.add(t);for(let n of OZ(t))e.add(n)}return this.#m=[...e].sort(),this.#m}#fe(){return this.#g??=this.#ue().map(MZ),this.#g}#pe(){return this.#f??=this.#de().filter(e=>e.endsWith(`/`)),this.#f}#me(){return this.#p??=this.#pe().map(MZ),this.#p}#he(){this.#f=null,this.#p=null,this.#m=null,this.#h=null,this.#g=null}#ge(){return this.#pe().filter(e=>this.#H.isExpanded(e))}#_e(e){let t=new Set(this.#j??[]);if(e)for(let e of this.#B)for(let n of OZ(e))t.add(n);this.#ve(t)}#ve(e){this.#W=!0;try{for(let t of this.#pe()){let n=e.has(t),r=this.#H.isExpanded(t);n&&!r?this.#H.expand(t):!n&&r&&this.#H.collapse(t)}}finally{this.#W=!1}}#ye(){if(this.#M==null||this.#M.length===0){this.#k=[],this.#F=null,this.#I=null,this.#P=null,this.#G=this.#U;return}let e=this.#b;if(this.#k=e.filter(e=>this.#O.has(e)),this.#A!==`hide-non-matches`||this.#O.size===0){this.#F=null,this.#I=null,this.#P=null,this.#G=this.#U;return}let t=[],n=[],r=new Map;for(let[i,a]of e.entries())this.#N?.has(a)===!0&&(r.set(a,n.length),t.push(i),n.push(a));this.#F=t,this.#I=n,this.#P=r,this.#G=n.length}#be(){return this.#I??this.#b}#xe(e){return this.#I==null?this.#H.getVisibleIndex(e)??-1:this.#P?.get(e)??-1}#Se(e){return this.#F?.[e]??e}#Ce(e){return this.#P?.get(e)??this.#H.getVisibleIndex(e)??-1}#we(e){let t=this.#k;if(t.length===0)return;let n=this.#c,r=n==null?-1:t.indexOf(n),i=t[r<0?e>0?0:t.length-1:Math.min(t.length-1,Math.max(0,r+e))];i!=null&&this.focusPath(i)}#Te(e,t){let n=e==null?null:IZ(e),r=this.#M;if(r!==n){if(r==null&&n!=null&&(this.#j=this.#ge()),this.#M=n,n==null)this.#_e(!0),this.#j=null,this.#O.clear(),this.#N=null,this.#je(this.#c,!0);else if(n.length===0)this.#_e(!1),this.#O.clear(),this.#N=null,this.#je(this.#c,!0);else{let e=this.#Ee();this.#je(e,!0)}t&&(this.#y?.(this.#M),this.#De())}}#Ee(){if(this.#M==null||this.#M.length===0)return this.#O.clear(),this.#c;let e=this.#M,t=this.#ue(),n=this.#fe(),r=[],i=new Set,a=null;for(let o=0;o<t.length;o+=1){if(!n[o].includes(e))continue;let s=t[o];r.push(s),i.add(s),a??=s}let o=this.#pe(),s=this.#me();for(let t=0;t<o.length;t+=1){if(!s[t].includes(e))continue;let n=o[t];i.has(n)||(r.push(n),i.add(n),a??=n)}this.#O=i;let c=this.#A===`hide-non-matches`&&r.length>0?new Set:null;this.#N=c;let l=this.#A===`expand-matches`?new Set(this.#j??[]):new Set;for(let e of r){c?.add(e),e.endsWith(`/`)&&l.add(e);for(let t of OZ(e))l.add(t),c?.add(t)}return this.#ve(l),a??this.#c}#De(){for(let e of this.#t)e()}#Oe(e){this.#n.get(e.operation)?.forEach(t=>{t(e)}),this.#n.get(`*`)?.forEach(t=>{t(e)})}#ke(e){for(let t of OZ(e))this.#H.isExpanded(t)||this.#H.expand(t);this.#H.isExpanded(e)||this.#H.expand(e)}#Ae(e){let t=this.#G;if(t===0)return;let n=this.#s===-1?0:this.#s,r=Math.min(t-1,Math.max(0,n+e));(r!==n||this.#s===-1)&&(!this.#l&&this.#F==null&&r>=this.#b.length&&this.#Ie(),this.#Fe(r))}#je(e,t=!0){let n=this.#H.getVisibleCount();this.#U=n;let r=HZ(this.#H.getVisibleTreeProjectionData(t?void 0:Math.min(n,RZ)),e,t?e=>this.#H.getVisibleIndex(e):void 0);this.#a.clear(),this.#o.clear(),this.#l=r.paths.length>=n,this.#u=r.getParentIndex,this.#b=r.paths,this.#x=r.posInSetByIndex,this.#S=r.setSizeByIndex,this.#ye(),this.#s=e==null?this.#be().length>0?0:-1:this.#Z(e),this.#c=this.#s<0?null:this.#Me(this.#s)}#Me(e){return this.#be()[e]??(this.#F==null?this.#H.getVisibleRowContext(e)?.row.path??null:null)}#Ne(e){return this.#H.getPathInfo(e)?.path??null}#Pe(e){if(e==null)return;let t=this.#Z(e);t>=0&&this.#Fe(t,!1)}#Fe(e,t=!0){let n=this.#Me(e);n!=null&&(this.#s===e&&this.#c===n||(this.#s=e,this.#c=n,t&&this.#De()))}#Ie(){this.#l||this.#je(this.#c,!0)}#Le(e){let t=SZ(this.#T,e);t==null&&this.#T!=null&&(this.#E=``),this.#T=t;let n=SZ(this.#c,e,!0),r=[...this.#B].map(t=>SZ(t,e)).filter(e=>e!=null).map(e=>this.#H.getPathInfo(e)?.path??null).filter(e=>e!=null),i=SZ(this.#z,e),a=i==null?null:this.#H.getPathInfo(i)?.path??null,o=[...new Set(r)];return DZ(this.#B,o)||(this.#B=new Set(o),this.#V+=1),this.#z=a,n}#Re(){return this.#H.on(`*`,e=>{if(this.#W)return;e.canonicalChanged&&(this.#d.clear(),this.#he()),this.#i!=null&&yZ(e)&&(this.#i=null);let t=yZ(e)?this.#Le(e):this.#c,n=this.#M!=null&&this.#M.length>0?this.#Ee():this.#M===``?this.#c:t,r=this.#M!=null||e.operation!==`expand`&&e.operation!==`collapse`;this.#je(n,r),this.#De();let i=EZ(e);i!=null&&this.#Oe(i)})}#ze(e){if(this.#H.isExpanded(e)){this.#ie(e);return}this.#ke(e)}},WZ=e=>{if(e==null||e.length===0)return`0`;let t=`${e.length}`;for(let n of e)t+=`\0${n.path}\0${n.status}`;return t};function GZ(e){let t=e.endsWith(`/`),n=``,r=-1;for(let t=0;t<=e.length;t+=1){if(!(e[t]===`/`||t===e.length)){r===-1&&(r=t);continue}r!==-1&&(n!==``&&(n+=`/`),n+=e.slice(r,t),r=-1)}return n===``?null:{isDirectory:t,path:n}}function KZ(e){let t=e.endsWith(`/`)?e.slice(0,-1):e;if(t.length===0)return[];let n=t.split(`/`);return n.slice(0,-1).map((e,t)=>`${n.slice(0,t+1).join(`/`)}/`)}function qZ(e,t){return t?`${e}/`:e}function JZ(e,t=null){let n=WZ(e==null?void 0:[...e]);if(n===`0`)return null;if(t?.signature===n)return t;let r=new Map,i=new Set,a=new Set;for(let t of e??[]){let e=GZ(t.path);if(e==null)continue;let n=qZ(e.path,e.isDirectory);r.set(n,t.status),t.status===`ignored`&&e.isDirectory?a.add(n):e.isDirectory&&a.delete(n);for(let t of KZ(e.path))i.add(t)}return{directoriesWithChanges:i,ignoredDirectoryPaths:a,signature:n,statusByPath:r}}var YZ=e=>e.trim().toLowerCase(),XZ=e=>e.split(`/`).at(-1)??e,ZZ=e=>{let t=e.toLowerCase().split(`.`),n=[];for(let e=1;e<t.length;e+=1)n.push(t.slice(e).join(`.`));return n};function QZ(e,t){return typeof e==`string`?{name:e,remappedFrom:t}:{...e,remappedFrom:t}}function $Z(e){let t=lq(e),n=t.remap,r=new Map;for(let[e,n]of Object.entries(t.byFileName??{}))r.set(e.toLowerCase(),n);let i=new Map;for(let[e,n]of Object.entries(t.byFileExtension??{}))i.set(YZ(e),n);let a=Object.entries(t.byFileNameContains??{}).map(([e,t])=>[e.toLowerCase(),t]);return{resolveIcon:(e,o)=>{if(e===`file-tree-icon-file`&&o!=null){let n=XZ(o),s=n.toLowerCase(),c=r.get(s);if(c!=null)return QZ(c,e);for(let[t,n]of a)if(s.includes(t))return QZ(n,e);let l=ZZ(n);for(let t of l){let n=i.get(t);if(n!=null)return QZ(n,e)}let u=sq(t.set,n,l);if(u!=null&&t.set!==`none`)return{name:aq(u),remappedFrom:e,token:u}}let s=n?.[e];return s==null?{name:e}:QZ(s,e)}}}var eQ,tQ,nQ,rQ,iQ,aQ,oQ,sQ,cQ,lQ,uQ={},dQ=[],fQ=Array.isArray,pQ=dQ.slice,mQ=Object.assign;function hQ(e){e&&e.parentNode&&e.remove()}function gQ(e,t,n){var r,i,a,o={};for(a in t)a==`key`?r=t[a]:a==`ref`&&typeof e!=`function`?i=t[a]:o[a]=t[a];return arguments.length>2&&(o.children=arguments.length>3?pQ.call(arguments,2):n),_Q(e,o,r,i,null)}function _Q(e,t,n,r,i){var a={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:i??++tQ,__i:-1,__u:0};return i==null&&eQ.vnode!=null&&eQ.vnode(a),a}function vQ(e){return e.children}function yQ(e,t){this.props=e,this.context=t,this.__g=0}function bQ(e,t){if(t==null)return e.__?bQ(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type==`function`?bQ(e):null}function xQ(e){var t,n;if((e=e.__)!=null&&e.__c!=null){for(e.__e=null,t=0;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null){e.__e=n.__e;break}return xQ(e)}}function SQ(e){(8&e.__g||!(e.__g|=8)||!nQ.push(e)||iQ++)&&rQ==eQ.debounceRendering||((rQ=eQ.debounceRendering)||queueMicrotask)(CQ)}function CQ(){for(var e,t,n,r,i,a,o,s,c=1;nQ.length;)nQ.length>c&&nQ.sort(aQ),e=nQ.shift(),c=nQ.length,8&e.__g&&(n=void 0,i=(r=(t=e).__v).__e,a=[],o=[],(s=t.__P)&&((n=mQ({},r)).__v=r.__v+1,eQ.vnode&&eQ.vnode(n),jQ(s,n,r,t.__n,s.namespaceURI,32&r.__u?[i]:null,a,i??bQ(r),!!(32&r.__u),o,s.ownerDocument),n.__v=r.__v,n.__.__k[n.__i]=n,NQ(a,n,o),n.__e!=i&&xQ(n)));iQ=0}function wQ(e,t,n,r,i,a,o,s,c,l,u,d){var f,p,m,h,g,_,v,y=r&&r.__k||dQ,b=t.length;for(c=TQ(n,t,y,c,b),f=0;f<b;f++)(m=n.__k[f])!=null&&(p=m.__i==-1?uQ:y[m.__i]||uQ,m.__i=f,_=jQ(e,m,p,i,a,o,s,c,l,u,d),h=m.__e,m.ref&&p.ref!=m.ref&&(p.ref&&IQ(p.ref,null,m),u.push(m.ref,m.__c||h,m)),g==null&&h!=null&&(g=h),(v=!!(4&m.__u))||p.__k===m.__k?c=EQ(m,c,e,v):typeof m.type==`function`&&_!==void 0?c=_:h&&(c=h.nextSibling),m.__u&=-7);return n.__e=g,c}function TQ(e,t,n,r,i){var a,o,s,c,l,u=n.length,d=u,f=0;for(e.__k=Array(i),a=0;a<i;a++)(o=t[a])!=null&&typeof o!=`boolean`&&typeof o!=`function`?(c=a+f,(o=e.__k[a]=typeof o==`string`||typeof o==`number`||typeof o==`bigint`||o.constructor==String?_Q(null,o,null,null,null):fQ(o)?_Q(vQ,{children:o},null,null,null):o.constructor==null&&o.__b>0?_Q(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):o).__=e,o.__b=e.__b+1,s=null,(l=o.__i=DQ(o,n,c,d))!=-1&&(d--,(s=n[l])&&(s.__u|=2)),s==null||s.__v==null?(l==-1&&(i>u?f--:i<u&&f++),typeof o.type!=`function`&&(o.__u|=4)):l!=c&&(l==c-1?f--:l==c+1?f++:(l>c?f--:f++,o.__u|=4))):e.__k[a]=null;if(d)for(a=0;a<u;a++)(s=n[a])!=null&&!(2&s.__u)&&(s.__e==r&&(r=bQ(s)),LQ(s,s));return r}function EQ(e,t,n,r){var i,a;if(typeof e.type==`function`){for(i=e.__k,a=0;i&&a<i.length;a++)i[a]&&(i[a].__=e,t=EQ(i[a],t,n,r));return t}e.__e!=t&&(r&&(t&&e.type&&!t.parentNode&&(t=bQ(e)),n.insertBefore(e.__e,t||null)),t=e.__e);do t&&=t.nextSibling;while(t!=null&&t.nodeType==8);return t}function DQ(e,t,n,r){var i,a,o,s=e.key,c=e.type,l=t[n],u=l!=null&&(2&l.__u)==0;if(l===null&&e.key==null||u&&s==l.key&&c==l.type)return n;if(r>(u?1:0)){for(i=n-1,a=n+1;i>=0||a<t.length;)if((l=t[o=i>=0?i--:a++])!=null&&!(2&l.__u)&&s==l.key&&c==l.type)return o}return-1}function OQ(e,t,n){t[0]==`-`?e.setProperty(t,n??``):e[t]=n??``}function kQ(e,t,n,r,i){var a;n:if(t==`style`)if(typeof n==`string`)e.style.cssText=n;else{if(typeof r==`string`&&(e.style.cssText=r=``),r)for(t in r)n&&t in n||OQ(e.style,t,``);if(n)for(t in n)r&&n[t]==r[t]||OQ(e.style,t,n[t])}else if(t[0]==`o`&&t[1]==`n`)a=t!=(t=t.replace(oQ,`$1`)),(t=t.slice(2))[0].toLowerCase()!=t[0]&&(t=t.toLowerCase()),e.__l||={},e.__l[t+a]=n,n?r?n.l=r.l:(n.l=sQ,e.addEventListener(t,a?lQ:cQ,a)):e.removeEventListener(t,a?lQ:cQ,a);else{if(i==`http://www.w3.org/2000/svg`)t=t.replace(/xlink(H|:h)/,`h`).replace(/sName$/,`s`);else if(t!=`width`&&t!=`height`&&t!=`href`&&t!=`list`&&t!=`form`&&t!=`tabIndex`&&t!=`download`&&t!=`rowSpan`&&t!=`colSpan`&&t!=`role`&&t!=`popover`&&t in e)try{e[t]=n??``;break n}catch{}typeof n==`function`||(n==null||!1===n&&t[4]!=`-`?e.removeAttribute(t):e.setAttribute(t,t==`popover`&&n==1?``:n))}}function AQ(e){return function(t){if(this.__l){var n=this.__l[t.type+e];if(t.u==null)t.u=sQ++;else if(t.u<n.l)return;return n(eQ.event?eQ.event(t):t)}}}function jQ(e,t,n,r,i,a,o,s,c,l,u){var d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k,A,j,M=t.type;if(t.constructor!=null)return null;128&n.__u&&(c=!!(32&n.__u),n.__c.__z&&(s=t.__e=n.__e=(a=n.__c.__z)[0],n.__c.__z=null)),(d=eQ.__b)&&d(t);n:if(typeof M==`function`)try{if(v=t.props,y=`prototype`in M&&M.prototype.render,b=(d=M.contextType)&&r[d.__c],x=d?b?b.props.value:d.__:r,n.__c?2&(f=t.__c=n.__c).__g&&(f.__g|=1,_=!0):(y?t.__c=f=new M(v,x):(t.__c=f=new yQ(v,x),f.constructor=M,f.render=RQ),b&&b.sub(f),f.props=v,f.state||={},f.context=x,f.__n=r,p=!0,f.__g|=8,f.__h=[],f._sb=[]),y&&f.__s==null&&(f.__s=f.state),y&&M.getDerivedStateFromProps!=null&&(f.__s==f.state&&(f.__s=mQ({},f.__s)),mQ(f.__s,M.getDerivedStateFromProps(v,f.__s))),m=f.props,h=f.state,f.__v=t,p)y&&M.getDerivedStateFromProps==null&&f.componentWillMount!=null&&f.componentWillMount(),y&&f.componentDidMount!=null&&f.__h.push(f.componentDidMount);else{if(y&&M.getDerivedStateFromProps==null&&v!==m&&f.componentWillReceiveProps!=null&&f.componentWillReceiveProps(v,x),!(4&f.__g)&&f.shouldComponentUpdate!=null&&!1===f.shouldComponentUpdate(v,f.__s,x)||t.__v==n.__v){for(t.__v!=n.__v&&(f.props=v,f.state=f.__s,f.__g&=-9),t.__e=n.__e,t.__k=n.__k,t.__k.some(function(e){e&&(e.__=t)}),S=0;S<f._sb.length;S++)f.__h.push(f._sb[S]);f._sb=[],f.__h.length&&o.push(f);break n}f.componentWillUpdate!=null&&f.componentWillUpdate(v,f.__s,x),y&&f.componentDidUpdate!=null&&f.__h.push(function(){f.componentDidUpdate(m,h,g)})}if(f.context=x,f.props=v,f.__P=e,f.__g&=-5,C=eQ.__r,w=0,y){for(f.state=f.__s,f.__g&=-9,C&&C(t),d=f.render(f.props,f.state,f.context),T=0;T<f._sb.length;T++)f.__h.push(f._sb[T]);f._sb=[]}else do f.__g&=-9,C&&C(t),d=f.render(f.props,f.state,f.context),f.state=f.__s;while(8&f.__g&&++w<25);f.state=f.__s,f.getChildContext!=null&&(r=mQ({},r,f.getChildContext())),y&&!p&&f.getSnapshotBeforeUpdate!=null&&(g=f.getSnapshotBeforeUpdate(m,h)),E=d,d!=null&&d.type===vQ&&d.key==null&&(E=PQ(d.props.children)),s=wQ(e,fQ(E)?E:[E],t,n,r,i,a,o,s,c,l,u),t.__u&=-161,f.__h.length&&o.push(f),_&&(f.__g&=-4)}catch(e){if(t.__v=null,c||a!=null)if(e.then){for(D=0,O=!1,t.__u|=c?160:128,t.__c.__z=[],k=0;k<a.length;k++)(A=a[k])==null||O||(A.nodeType==8&&A.data==`$s`?(D>0&&t.__c.__z.push(A),D++,a[k]=null):A.nodeType==8&&A.data==`/$s`?(--D>0&&t.__c.__z.push(A),O=D===0,s=a[k],a[k]=null):D>0&&(t.__c.__z.push(A),a[k]=null));if(!O){for(;s&&s.nodeType==8&&s.nextSibling;)s=s.nextSibling;a[a.indexOf(s)]=null,t.__c.__z=[s]}t.__e=s}else{for(j=a.length;j--;)hQ(a[j]);MQ(t)}else t.__e=n.__e,t.__k=n.__k,e.then||MQ(t);eQ.__e(e,t,n)}else s=t.__e=FQ(n.__e,t,n,r,i,a,o,c,l,u);return(d=eQ.diffed)&&d(t),128&t.__u?void 0:s}function MQ(e){e&&e.__c&&(e.__c.__g|=4),e&&e.__k&&e.__k.forEach(MQ)}function NQ(e,t,n){for(var r=0;r<n.length;r++)IQ(n[r],n[++r],n[++r]);eQ.__c&&eQ.__c(t,e),e.some(function(t){try{e=t.__h,t.__h=[],e.some(function(e){e.call(t)})}catch(e){eQ.__e(e,t.__v)}})}function PQ(e){return typeof e!=`object`||!e||e.__b&&e.__b>0?e:fQ(e)?e.map(PQ):mQ({},e)}function FQ(e,t,n,r,i,a,o,s,c,l){var u,d,f,p,m,h,g,_,v=n.props,y=t.props,b=t.type;if(b==`svg`?i=`http://www.w3.org/2000/svg`:b==`math`?i=`http://www.w3.org/1998/Math/MathML`:i||=`http://www.w3.org/1999/xhtml`,a!=null){for(u=0;u<a.length;u++)if((m=a[u])&&`setAttribute`in m==!!b&&(b?m.localName==b:m.nodeType==3)){e=m,a[u]=null;break}}if(e==null){if(b==null)return l.createTextNode(y);e=l.createElementNS(i,b,y.is&&y),s&&=(eQ.__m&&eQ.__m(t,a),!1),a=null}if(b==null)v===y||s&&e.data==y||(e.data=y);else{if(a&&=pQ.call(e.childNodes),v=n.props||uQ,!s&&a!=null)for(v={},u=0;u<e.attributes.length;u++)v[(m=e.attributes[u]).name]=m.value;for(u in v)if(m=v[u],u!=`children`){if(u==`dangerouslySetInnerHTML`)f=m;else if(!(u in y)){if(u==`value`&&`defaultValue`in y||u==`checked`&&`defaultChecked`in y)continue;kQ(e,u,null,m,i)}}for(u in _=1&n.__u,y)m=y[u],u==`children`?p=m:u==`dangerouslySetInnerHTML`?d=m:u==`value`?h=m:u==`checked`?g=m:s&&typeof m!=`function`||v[u]===m&&!_||kQ(e,u,m,v[u],i);if(d)s||f&&(d.__html==f.__html||d.__html==e.innerHTML)||(e.innerHTML=d.__html),t.__k=[];else if(f&&(e.innerHTML=``),wQ(b==`template`?e.content:e,fQ(p)?p:[p],t,n,r,b==`foreignObject`?`http://www.w3.org/1999/xhtml`:i,a,o,a?a[0]:n.__k&&bQ(n,0),s,c,l),a!=null)for(u=a.length;u--;)hQ(a[u]);s||(u=`value`,b==`progress`&&h==null?e.removeAttribute(`value`):h==null||h===e[u]&&(b!==`progress`||h)||kQ(e,u,h,v[u],i),u=`checked`,g!=null&&g!=e[u]&&kQ(e,u,g,v[u],i))}return e}function IQ(e,t,n){try{if(typeof e==`function`){var r=typeof e.__u==`function`;r&&e.__u(),r&&t==null||(e.__u=e(t))}else e.current=t}catch(e){eQ.__e(e,n)}}function LQ(e,t,n){var r,i;if(eQ.unmount&&eQ.unmount(e),(r=e.ref)&&(r.current&&r.current!=e.__e||IQ(r,null,t)),(r=e.__c)!=null){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(e){eQ.__e(e,t)}r.__P=null}if(r=e.__k)for(i=0;i<r.length;i++)r[i]&&LQ(r[i],t,n||typeof e.type!=`function`);n||hQ(e.__e),e.__e&&e.__e.__l&&(e.__e.__l=null),e.__e=e.__c=e.__=null}function RQ(e,t,n){return this.constructor(e,n)}function zQ(e,t){var n,r,i,a;t==document&&(t=document.documentElement),eQ.__&&eQ.__(e,t),r=(n=!!(e&&32&e.__u))?null:t.__k,e=t.__k=gQ(vQ,null,[e]),i=[],a=[],jQ(t,e,r||uQ,uQ,t.namespaceURI,r?null:t.firstChild?pQ.call(t.childNodes):null,i,r?r.__e:t.firstChild,n,a,t.ownerDocument),NQ(i,e,a)}function BQ(e,t){e.__u|=32,zQ(e,t)}eQ={__e:function(e,t,n,r){for(var i,a,o;t=t.__;)if((i=t.__c)&&!(1&i.__g)){i.__g|=4;try{if((a=i.constructor)&&a.getDerivedStateFromError!=null&&(i.setState(a.getDerivedStateFromError(e)),o=8&i.__g),i.componentDidCatch!=null&&(i.componentDidCatch(e,r||{}),o=8&i.__g),o)return void(i.__g|=2)}catch(t){e=t}}throw iQ=0,e}},tQ=0,yQ.prototype.setState=function(e,t){var n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=mQ({},this.state);typeof e==`function`&&(e=e(mQ({},n),this.props)),e&&mQ(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),SQ(this))},yQ.prototype.forceUpdate=function(e){this.__v&&(this.__g|=4,e&&this.__h.push(e),SQ(this))},yQ.prototype.render=vQ,nQ=[],iQ=0,aQ=function(e,t){return e.__v.__b-t.__v.__b},oQ=/(PointerCapture)$|Capture$/i,sQ=0,cQ=AQ(!1),lQ=AQ(!0);var VQ=0;Array.isArray;function $(e,t,n,r,i,a){t||={};var o,s,c=t;if(`ref`in c&&typeof e!=`function`)for(s in c={},t)s==`ref`?o=t[s]:c[s]=t[s];var l={type:e,props:c,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--VQ,__i:-1,__u:0,__source:i,__self:a};return eQ.vnode&&eQ.vnode(l),l}var HQ=16,UQ=16,WQ={};function GQ({name:e,remappedFrom:t,token:n,width:r,height:i,viewBox:a,label:o,alignCapitals:s=!1}){"use no memo";let c=`#${e.replace(/^#/,``)}`,{width:l,height:u,viewBox:d}=WQ[e]??{width:HQ,height:UQ},f=r??l,p=i??u,m=a??d??`0 0 ${l} ${u}`,h=o==null?{"aria-hidden":!0}:{"aria-label":o,role:`img`};return $(`svg`,{"data-icon-name":t??e,"data-icon-token":n,"data-align-capitals":s,...h,viewBox:m,width:f,height:p,children:$(`use`,{href:c})})}var KQ=e=>{if(e.length<2)return[e,``];let t=Math.ceil(e.length/2);return[e.slice(0,t),e.slice(t)]},qQ=e=>{if(e.length<4)return[e,``];let t=e.lastIndexOf(`.`)+1,n=e.length-t>10,r=t>=1&&!n?t:Math.ceil(e.length/2);return[e.slice(0,r),e.slice(r)]},JQ=e=>{if(e.length<4)return[e,``];let t=e.lastIndexOf(`/`)+1,n=e.length-t>25,r=t>=1&&!n?t:Math.ceil(e.length/2);return[e.slice(0,r),e.slice(r)]},YQ=(e,{splitIndex:t}={})=>{if(typeof t!=`number`){let t=Math.ceil(e.length/2);return[e.slice(0,t),e.slice(t)]}return[e.slice(0,t),e.slice(t)]},XQ=(e,{splitOffset:t}={})=>{if(typeof t!=`number`||t<=0||t>=e.length){let t=Math.ceil(e.length/2);return[e.slice(0,t),e.slice(t)]}let n=e.length-t;return[e.slice(0,n),e.slice(n)]},ZQ=(e,{splitOffset:t}={})=>{if(typeof t!=`number`||t<=0||t>=e.length){let t=Math.ceil(e.length/2);return[e.slice(0,t),e.slice(t)]}let n=t;return[e.slice(0,n),e.slice(n)]};function QQ({children:e,marker:t,variant:n=`default`}){"use no memo";let r=n===`fade`;return $(`div`,{"aria-hidden":!0,"data-truncate-marker-cell":!0,children:$(`div`,{"data-truncate-marker":!0,children:typeof t==`function`?t({children:e}):r?$(`span`,{"data-truncate-fade":!0}):t})})}function $Q(e){"use no memo";let{mode:t,children:n}=e;return $(`div`,{children:[$(`div`,{"data-truncate-content":`visible`,children:t===`fruncate`?$(`span`,{children:n}):n}),$(`div`,{"data-truncate-content":`overflow`,"aria-hidden":!0,children:t===`fruncate`?$(`span`,{children:n}):n})]})}function e$({children:e,mode:t=`truncate`,marker:n=`…`,variant:r=`default`,...i}){"use no memo";let a=$($Q,{mode:t,children:e},`content`),o=$(QQ,{marker:n,mode:t,variant:r},`marker`),s=$(`div`,{"data-truncate-fill":!0},`fill`);return $(`div`,{"data-truncate-container":t,"data-truncate-variant":r,...i,children:$(`div`,{"data-truncate-grid":!0,children:t===`truncate`?[a,o]:[o,a,s]})})}function t$({children:e,...t}){"use no memo";return $(e$,{mode:`truncate`,...t,children:e})}function n$({children:e,...t}){"use no memo";return $(e$,{mode:`fruncate`,...t,children:e})}function r$({children:e,contents:t,priority:n=`end`,split:r=`center`,minimumLength:i=12,className:a,style:o,...s}){"use no memo";let c=null,l=null;if(Array.isArray(t)){if(t.length!==2)return console.error(`MiddleTruncate: contents must be an array of two items`),null;c=$(t$,{...s,children:t[0]}),l=$(n$,{...s,children:t[1]})}else{if(typeof e!=`string`)return console.error(`MiddleTruncate: children must be a string`),null;if(e.length===0)return $(`div`,{className:a,style:o});if(e.length<i)return $(n===`end`?n$:t$,{...s,className:a,style:o,children:e});let t=null,u=null,d=null;if(typeof r==`string`)r===`center`?t=KQ:r===`extension`?t=qQ:r===`leaf-path`&&(t=JQ);else if(typeof r==`number`)t=YQ,u=r;else if(Array.isArray(r)){let[e,n]=r;d=n,e===`last`?t=XQ:e===`first`&&(t=ZQ)}else typeof r==`function`&&(t=r);t??=KQ;let[f,p]=t(e,{priority:n,variant:s.variant,splitIndex:typeof u==`number`?u:void 0,splitOffset:typeof d==`number`?d:void 0}),m=f.length>=p.length,h=n===`equal`&&!m,g=n===`equal`&&m,_={},v={};h&&(_.marker=``),g&&(v.marker=``),c=$(t$,{...s,..._,children:f}),l=$(n$,{...s,...v,children:p})}return $(`div`,{"data-truncate-group-container":`middle`,className:a,style:o,children:[$(`div`,{"data-truncate-segment-priority":n===`start`||n===`equal`?`1`:`2`,children:c}),$(`div`,{"data-truncate-segment-priority":n===`end`||n===`equal`?`1`:`2`,children:l})]})}var i$={endIndex:-1,startIndex:-1};function a$(e,t,n){return Math.min(Math.max(e,t),n)}function o$(e,t){return e<0||t<e?i$:{endIndex:t,startIndex:e}}function s$(e){return e.startIndex<0||e.endIndex<e.startIndex}function c$(e,t){return s$(e)?0:(e.endIndex-e.startIndex+1)*t}function l$(e,t,n){if(t<=0)return-1;let r=t*n;return e<=0?0:e>=r?t:Math.floor(e/n)}function u$(e,t,n){return t<=0||e<=0?-1:e>=t*n?t-1:Math.ceil(e/n)-1}function d$(e){let t=new Map;return e.forEach((e,n)=>{if(e.kind!==`directory`||!e.isExpanded)return;let r=e.ancestorPaths.length,i=t.get(r);if(i==null){t.set(r,[n]);return}i.push(n)}),t}function f$(e,t){let n=0,r=e.length-1,i=-1;for(;n<=r;){let a=Math.floor((n+r)/2),o=e[a];if(o==null)break;if(o<=t){i=a,n=a+1;continue}r=a-1}return i}function p$(e){let t=new Map,n=[];for(let r=0;r<e.length;r+=1){let i=e[r];if(i==null)continue;let a=i.kind===`directory`&&i.isExpanded?[...i.ancestorPaths,i.path]:i.ancestorPaths,o=0;for(;o<n.length&&o<a.length&&n[o]===a[o];)o+=1;for(let e=n.length-1;e>=o;--e){let i=n[e];i!=null&&t.set(i,r-1)}n.length=o;for(let e=o;e<a.length;e+=1){let t=a[e];t!=null&&n.push(t)}}let r=e.length-1;for(let e of n)t.set(e,r);return t}function m$(e,t,n){if(e.length===0||t<=0)return[];let r=p$(e),i=d$(e),a=[];for(let r=0;r<e.length;r+=1){let o=i.get(r);if(o==null||o.length===0)break;let s=t+r*n,c=f$(o,Math.min(e.length-1,Math.floor(s/n))),l=null;for(;c>=0;){let t=o[c],n=t==null?null:e[t]??null;if(n!=null&&(r===0||n.ancestorPaths[r-1]===a[r-1]?.path)){l=n;break}--c}if(l==null)break;a.push(l)}return a.map((i,a)=>{let o=a*n,s=(r.get(i.path)??e.length-1)+1;if(s>=e.length)return{row:i,top:o};let c=s*n-t;return{row:i,top:Math.min(o,c-n)}}).filter(e=>e.top+n>0)}function h$(e,t){let n=t.totalRowCount??e.length,r=n*t.itemHeight,i=Math.max(0,t.viewportHeight),a=Math.max(0,Math.floor(t.overscan)),o=Math.max(0,r-i),s=a$(t.scrollTop,0,o),c=t.stickyRows??m$(e,s,t.itemHeight),l=c.reduce((e,n)=>Math.max(e,n.top+t.itemHeight),0),u=Math.min(r,s+l),d=Math.max(0,i-l),f=Math.max(0,r-u),p=l$(s,n,t.itemHeight),m=l$(u,n,t.itemHeight),h=l<=0||p<0||p>=n?-1:p,g=h===-1?-1:Math.min(n-1,m-1),_=h===-1||g<h?0:g-h+1,v=d<=0||m>=n?i$:o$(m,u$(u+d,n,t.itemHeight)),y=g+1,b=s$(v)?i$:o$(Math.max(y,v.startIndex-a),Math.min(n-1,v.endIndex+a)),x=c$(b,t.itemHeight);return{occlusion:{firstOccludedIndex:h,lastOccludedIndex:g,occludedCount:_},physical:{itemHeight:t.itemHeight,maxScrollTop:o,overscan:a,scrollTop:s,totalHeight:r,totalRowCount:n,viewportHeight:i},projected:{contentHeight:f,paneHeight:d,paneTop:u},sticky:{height:l,rows:c},visible:v,window:{endIndex:b.endIndex,height:x,offsetTop:s$(b)?0:b.startIndex*t.itemHeight,startIndex:b.startIndex}}}var g$={added:`A`,deleted:`D`,ignored:null,modified:`M`,renamed:`R`,untracked:`U`},_$={added:`Git status: added`,deleted:`Git status: deleted`,ignored:`Git status: ignored`,modified:`Git status: modified`,renamed:`Git status: renamed`,untracked:`Git status: untracked`},v$=`Contains git status items`;function y$(e){let{currentScrollTop:t,focusedIndex:n,itemHeight:r,topInset:i=0,viewportHeight:a}=e;if(n<0)return null;let o=Math.max(0,i),s=n*r,c=s+r;if(s<t+o){let e=Math.max(0,s-o);return e===t?null:e}if(c>t+a){let e=c-a;return e===t?null:e}return null}function b$(e){let{currentScrollTop:t,focusedIndex:n,itemHeight:r,offset:i,topInset:a=0,totalHeight:o,viewportHeight:s}=e;if(i===`nearest`)return y$({currentScrollTop:t,focusedIndex:n,itemHeight:r,topInset:a,viewportHeight:s});if(n<0)return null;let c=Math.max(0,a),l=n*r,u=Math.max(0,s-c),d=i===`center`?c+Math.max(0,(u-r)/2):c,f=Math.max(0,o-s),p=Math.max(0,Math.min(l-d,f));return p===t?null:p}function x$(e){let{currentScrollTop:t,focusedIndex:n,itemHeight:r,targetViewportOffset:i,totalHeight:a,viewportHeight:o}=e;if(n<0)return null;let s=Math.max(0,i),c=n*r,l=c+r,u=t+s,d=t+o;if(c>=u&&l<=d)return null;let f=Math.max(0,a-o),p=Math.max(0,Math.min(c-s,f));return p===t?null:p}function S$(e){if(e==null||!e.isConnected||e===document.body||e===document.documentElement)return!1;e.focus({preventScroll:!0});let t=e.getRootNode();return t instanceof ShadowRoot?t.activeElement===e:document.activeElement===e}function C$(e){let t=e.getRootNode();if(t instanceof ShadowRoot){let e=t.activeElement;return e instanceof HTMLElement?e:null}let n=document.activeElement;return n instanceof HTMLElement&&e.contains(n)?n:null}function w$(e,t){if(e==null)return t;let n=e.getBoundingClientRect().height;return n>0?n:e.clientHeight>0?e.clientHeight:t}function T$(e,t){return e!=null&&e>0?e:t}function E$(e){let t=e.borderBoxSize,n=Array.isArray(t)?t[0]:t;return n!=null&&Number.isFinite(n.blockSize)&&n.blockSize>0?n.blockSize:e.contentRect.height>0?e.contentRect.height:null}function D$(e,t,n,r,i=0){let a=y$({currentScrollTop:e.scrollTop,focusedIndex:t,itemHeight:n,topInset:i,viewportHeight:r});return a==null?!1:(e.scrollTop=a,!0)}function O$(e,t,n,r,i,a,o=0){let s=b$({currentScrollTop:e.scrollTop,focusedIndex:t,itemHeight:n,offset:a,topInset:o,totalHeight:i,viewportHeight:r});return s==null?!1:(e.scrollTop=s,!0)}function k$(e,t,n,r,i,a){let o=x$({currentScrollTop:e.scrollTop,focusedIndex:t,itemHeight:n,targetViewportOffset:a,totalHeight:i,viewportHeight:r});return o==null?!1:(e.scrollTop=o,!0)}function A$(e,t,n,r){return n.end<n.start?null:e<n.start?-t:e>n.end?r:null}function j$(e){let{renamingPath:t,previousRenamingPath:n,hasRenderedInput:r}=e;return t==null?`reset`:r?n===t?`ignore`:`focus-input`:`reveal-canonical`}function M$({ariaLabel:e,isFlattened:t=!1,ref:n,value:r,onBlur:i,onInput:a}){return $(`input`,{ref:n,"data-item-rename-input":!0,...t?{"data-item-flattened-rename-input":!0}:{},"aria-label":e,value:r,onBlur:i,onInput:a,onClick:e=>e.stopPropagation(),onMouseDown:e=>e.stopPropagation(),onPointerDown:e=>e.stopPropagation()})}function N$(e){let{row:t,mode:n,targetPath:r,ariaLabel:i,domId:a,isParked:o,itemHeight:s,features:c,state:l,extraStyle:u}=e,d=n===`sticky`,f=t.ancestorPaths.at(-1)??``,p={};return l.isFocusRinged&&(p[`data-item-focused`]=!0),t.isSelected&&(p[`data-item-selected`]=!0),l.isContextHovered&&(p[`data-item-context-hover`]=`true`),l.isDragTarget&&(p[`data-item-drag-target`]=!0),l.isDragging&&(p[`data-item-dragging`]=!0),l.effectiveGitStatus!=null&&(p[`data-item-git-status`]=l.effectiveGitStatus),l.containsGitChange&&(p[`data-item-contains-git-change`]=`true`),{"aria-expanded":!d&&t.kind===`directory`?t.isExpanded:void 0,"aria-haspopup":c.contextMenuEnabled?`menu`:void 0,"aria-label":i,"aria-level":d?void 0:t.level+1,"aria-posinset":d?void 0:t.posInSet+1,"aria-selected":d?void 0:t.isSelected?`true`:`false`,"aria-setsize":d?void 0:t.setSize,"data-file-tree-sticky-path":d?r:void 0,"data-file-tree-sticky-row":d?`true`:void 0,"data-item-context-menu-button-visibility":c.actionLaneEnabled?c.contextMenuButtonVisibility:void 0,"data-item-context-menu-trigger-mode":c.contextMenuEnabled?c.contextMenuTriggerMode:void 0,"data-item-has-context-menu-action-lane":c.actionLaneEnabled?`true`:void 0,"data-item-has-git-lane":c.gitLaneActive?`true`:void 0,"data-item-parent-path":f.length>0?f:void 0,"data-item-parked":o?`true`:void 0,"data-item-path":r,"data-item-type":t.kind===`directory`?`folder`:`file`,"data-type":`item`,id:d?void 0:a,role:d?void 0:`treeitem`,style:{minHeight:`${s}px`,...u},tabIndex:!d&&t.isFocused?0:-1,...p}}function P$(e){let{event:t,mode:n,isSearchOpen:r,isDirectory:i}=e,a=t.ctrlKey||t.metaKey,o=t.shiftKey||a,s=t.shiftKey?{additive:a,kind:`range`}:a?{kind:`toggle`}:{kind:`single`};return{closeSearch:r,revealCanonical:n===`sticky`,selection:s,toggleDirectory:!o&&i}}var F$,I$,L$,R$,z$=Object.is,B$=0,V$=[],H$=eQ,U$=H$.__b,W$=H$.__r,G$=H$.diffed,K$=H$.__c,q$=H$.unmount,J$=H$.__;function Y$(e,t){H$.__h&&H$.__h(I$,e,B$||t),B$=0;var n=I$.__H||={__:[],__h:[]};return e>=n.__.length&&n.__.push({}),n.__[e]}function X$(e){return B$=1,Z$(l1,e)}function Z$(e,t,n){var r=Y$(F$++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):l1(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);z$(t,n)||(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=I$,!I$.__f)){var i=function(e,t,n){if(!r.__c.__H)return!0;var i=r.__c.__H.__.filter(function(e){return!!e.__c});if(i.every(function(e){return!e.__N}))return!a||a.call(this,e,t,n);var o=r.__c.props!==e;return i.forEach(function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,z$(t,e.__[0])||(o=!0)}}),a&&a.call(this,e,t,n)||o};I$.__f=!0;var a=I$.shouldComponentUpdate,o=I$.componentWillUpdate;I$.componentWillUpdate=function(e,t,n){if(4&this.__g){var r=a;a=void 0,i(e,t,n),a=r}o&&o.call(this,e,t,n)},I$.shouldComponentUpdate=i}return r.__N||r.__}function Q$(e,t){var n=Y$(F$++,3);!H$.__s&&c1(n.__H,t)&&(n.__=e,n.u=t,I$.__H.__h.push(n))}function $$(e,t){var n=Y$(F$++,4);!H$.__s&&c1(n.__H,t)&&(n.__=e,n.u=t,I$.__h.push(n))}function e1(e){return B$=5,t1(function(){return{current:e}},[])}function t1(e,t){var n=Y$(F$++,7);return c1(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function n1(e,t){return B$=8,t1(function(){return e},t)}function r1(){for(var e;e=V$.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(o1),e.__H.__h.forEach(s1),e.__H.__h=[]}catch(t){e.__H.__h=[],H$.__e(t,e.__v)}}H$.__b=function(e){I$=null,U$&&U$(e)},H$.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),J$&&J$(e,t)},H$.__r=function(e){W$&&W$(e),F$=0;var t=(I$=e.__c).__H;t&&(L$===I$?(t.__h=[],I$.__h=[],t.__.forEach(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0})):(t.__h.forEach(o1),t.__h.forEach(s1),t.__h=[],F$=0)),L$=I$},H$.diffed=function(e){G$&&G$(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(V$.push(t)!==1&&R$===H$.requestAnimationFrame||((R$=H$.requestAnimationFrame)||a1)(r1)),t.__H.__.forEach(function(e){e.u&&(e.__H=e.u),e.u=void 0})),L$=I$=null},H$.__c=function(e,t){t.some(function(e){try{e.__h.forEach(o1),e.__h=e.__h.filter(function(e){return!e.__||s1(e)})}catch(n){t.some(function(e){e.__h&&=[]}),t=[],H$.__e(n,e.__v)}}),K$&&K$(e,t)},H$.unmount=function(e){q$&&q$(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach(function(e){try{o1(e)}catch(e){t=e}}),n.__H=void 0,t&&H$.__e(t,n.__v))};var i1=typeof requestAnimationFrame==`function`;function a1(e){var t,n=function(){clearTimeout(r),i1&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,35);i1&&(t=requestAnimationFrame(n))}function o1(e){var t=I$,n=e.__c;typeof n==`function`&&(e.__c=void 0,n()),I$=t}function s1(e){var t=I$;e.__c=e.__(),I$=t}function c1(e,t){return!e||e.length!==t.length||t.some(function(t,n){return!z$(t,e[n])})}function l1(e,t){return typeof t==`function`?t(e):t}function u1(e,t=null,n=null){"use no memo";let r=e.flattenedSegments;return r==null||r.length===0?t??e.name:$(`span`,{"data-item-flattened-subitems":!0,children:r.map((e,i)=>{let a=i===r.length-1;return $(vQ,{children:[$(`span`,{"data-item-flattened-subitem":e.path,"data-item-flattened-subitem-drag-target":n===e.path?`true`:void 0,children:a&&t!=null?t:$(t$,{children:e.name})}),i<r.length-1?` / `:``]},e.path)})})}function d1(e){return e.isFlattened?e.flattenedSegments?.findLast(e=>e.isTerminal)?.path??e.path:e.path}function f1(e){let t=e.flattenedSegments;return t==null||t.length===0?e.name:t.map(e=>e.name).join(` / `)}function p1(e,t,n,r){return e.map((e,i)=>{let a=i*n,o=e.subtreeEndIndex+1;if(o>=r)return{row:e.row,top:a};let s=o*n-t;return{row:e.row,top:Math.min(a,s-n)}}).filter(e=>e.top+n>0)}function m1({controller:e,itemHeight:t,overscan:n,scrollTop:r,stickyFolders:i,viewportHeight:a}){let o=e.getVisibleCount(),s=i&&o>0?e.getStickyRowCandidates(r,t):[],c=s==null&&i&&o>0?e.getVisibleRows(0,o-1):[],l=h$(c,{itemHeight:t,overscan:n,scrollTop:r,stickyRows:s==null?void 0:p1(s,r,t,o),totalRowCount:o,viewportHeight:a}),u=i&&r<=0&&o>0?e.getStickyRowCandidates(1,t):[],d=u!=null&&r<=0?p1(u,1,t,o):i&&r<=0&&c.length>0?m$(c,1,t):l.sticky.rows;return{overlayHeight:d.reduce((e,n)=>Math.max(e,n.top+t),0),overlayRows:d,snapshot:l,visibleRows:c}}var h1=400,g1=10,_1=40,v1=18;function y1(e,t,n){let r=e,i=document.elementFromPoint?.bind(document)??null,a=r.elementFromPoint?.(t,n)??i?.(t,n)??null;return e instanceof ShadowRoot&&(a==null||!e.contains(a))?b1(e,t,n):a instanceof HTMLElement?a:null}function b1(e,t,n){let r=Array.from(e.querySelectorAll(`[data-type="item"], [data-item-flattened-subitem]`));for(let e=r.length-1;e>=0;e--){let i=r[e],a=i.getBoundingClientRect();if(t>=a.left&&t<=a.right&&n>=a.top&&n<=a.bottom)return i}return null}function x1(e){let t=e?.closest?.(`[data-type="item"]`);if(!(t instanceof HTMLElement))return null;let n=t.dataset.itemPath??null;if(n==null)return null;let r=e?.closest?.(`[data-item-flattened-subitem]`),i=r instanceof HTMLElement?r.getAttribute(`data-item-flattened-subitem`)??null:null;if(i!=null&&i.endsWith(`/`))return{directoryPath:i,flattenedSegmentPath:i,hoveredPath:n,kind:`directory`};if(t.dataset.itemType===`folder`)return{directoryPath:n,flattenedSegmentPath:null,hoveredPath:n,kind:`directory`};let a=t.dataset.itemParentPath??null;return a==null||a.length===0?{directoryPath:null,flattenedSegmentPath:null,hoveredPath:n,kind:`root`}:{directoryPath:a,flattenedSegmentPath:null,hoveredPath:n,kind:`directory`}}function S1(e){let t=e.cloneNode(!0);return t.removeAttribute(`id`),t.dataset.fileTreeDragPreview=`true`,t.setAttribute(`aria-hidden`,`true`),t.tabIndex=-1,Object.assign(t.style,{boxShadow:`0 4px 12px rgba(0, 0, 0, 0.15)`,left:`0px`,margin:`0`,pointerEvents:`none`,position:`fixed`,top:`0px`,willChange:`transform`,zIndex:`10000`}),t}function C1(){return navigator.vendor!==`Apple Computer, Inc.`}function w1(e,t){let n=e-t.top;if(n<_1)return-Math.ceil((_1-Math.max(0,n))/_1*v1);let r=t.bottom-e;return r<_1?Math.ceil((_1-Math.max(0,r))/_1*v1):0}function T1(e,t){if(e!=null){let t=g$[e];return t==null?null:{text:t,title:_$[e]}}return t?{icon:{name:`file-tree-icon-dot`,width:6,height:6},title:v$}:null}function E1(e,t,n){if(t==null||t.size===0)return null;let r=[];for(let i=e.length-1;i>=0;--i){let a=e[i],o=n.get(a);if(o!=null){for(let e of r)n.set(e,o);return o?`ignored`:null}if(t.has(a)){n.set(a,!0);for(let e of r)n.set(e,!0);return`ignored`}r.push(a)}for(let e of r)n.set(e,!1);return null}function D1(e){return e!=null&&`toggle`in e}function O1(e){return e.code===`Space`||e.key===` `||e.key===`Spacebar`}function k1(e){return e.key.length===1&&/^[\p{L}\p{N}]$/u.test(e.key)&&!e.ctrlKey&&!e.metaKey&&!e.altKey}function A1(e){return e==null?``:`[data-item-section="spacing-item"][data-ancestor-path="${e.replaceAll(`\\`,`\\\\`).replaceAll(`"`,`\\"`)}"] { opacity: 1; }`}function j1(e){return e.shiftKey&&e.key===`F10`||e.key===`ContextMenu`}function M1(e,t){return t&&j1(e)||(e.ctrlKey||e.metaKey)&&O1(e)?!0:e.key===`ArrowDown`||e.key===`ArrowLeft`||e.key===`ArrowRight`||e.key===`ArrowUp`}var N1=new Set([`ArrowDown`,`ArrowLeft`,`ArrowRight`,`ArrowUp`,`End`,`Home`,`PageDown`,`PageUp`]);function P1(e){for(let t of e.composedPath())if(t instanceof HTMLElement&&(t.dataset.fileTreeContextMenuRoot===`true`||t.dataset.type===`context-menu-anchor`||t.dataset.type===`context-menu-trigger`||t.getAttribute(`slot`)===`context-menu`))return!0;return!1}function F1(e){return{bottom:e.bottom,height:e.height,left:e.left,right:e.right,top:e.top,width:e.width,x:e.x,y:e.y}}function I1(e,t){return{bottom:t,height:0,left:e,right:e,top:t,width:0,x:e,y:t}}function L1(e,t){if(e==null)return t.offsetTop;let n=t.getBoundingClientRect(),r=e.getBoundingClientRect();return n.top-r.top}function R1(e,t,n){if(n==null){e.delete(t);return}e.set(t,n)}function z1(e,t,n){if(e==null)return null;let r=t.get(e)??null;if(r!=null)return r;let i=n.get(e)??null;return i?.dataset.itemParked===`true`?null:i}function B1(e){if(e==null)return[];let t=[];for(let n of e.querySelectorAll(`button[data-file-tree-sticky-row="true"]`)){if(!(n instanceof HTMLElement))continue;let e=n.dataset.fileTreeStickyPath;e!=null&&t.push(e)}return t}function V1(e,t){if(e==null||t==null)return null;for(let n of e.querySelectorAll(`button[data-item-focused="true"][data-item-parked="true"]`))if(n instanceof HTMLElement&&n.dataset.itemPath===t)return n;return null}function H1(e,t,n,r,i,a,o){let s=Math.max(0,a-i),c=t?.getBoundingClientRect()??null,l=c==null||n==null?null:n.getBoundingClientRect().top-c.top,u=V1(e,r),d=c==null||u==null?null:u.getBoundingClientRect().top-c.top;return Math.max(0,Math.min(d??Math.max(l??0,s),Math.max(0,o-i)))}function U1(e,t){return{kind:e.kind,name:f1(e),path:t}}function W1(e){return e==null?void 0:`${e}__tree`}function G1(e,t,n){if(e!=null)return`${e}__focused-item-${encodeURIComponent(t)}${n?`__parked`:``}`}function K1(e){return e===`file-tree-icon-chevron`||e===`file-tree-icon-dot`||e===`file-tree-icon-file`||e===`file-tree-icon-lock`}function q1(e,t){if(e==null)return null;if(`text`in e)return $(`span`,{title:e.title,children:e.text});let n=typeof e.icon==`string`?K1(e.icon)?t(e.icon):{name:e.icon}:K1(e.icon.name)?(()=>{let n=t(e.icon.name),{name:r,...i}=e.icon;return{...n,...i}})():e.icon;return $(`span`,{title:e.title,children:$(GQ,{...n})})}function J1(e){e!=null&&S$(e.querySelector([`button:not([disabled])`,`[href]`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex="-1"])`].join(`, `))??e)}function Y1(e,t,{actionLaneEnabled:n=!1,customDecoration:r=null,decorationLaneEnabled:i=!1,dragTargetFlattenedSegmentPath:a=null,gitDecoration:o=null,gitLaneActive:s=!1,renameInput:c=null,showDecorativeActionAffordance:l=!1}={}){let u=d1(e);return $(vQ,{children:[e.depth>0?$(`div`,{"data-item-section":`spacing`,children:Array.from({length:e.depth}).map((t,n)=>$(`div`,{"data-item-section":`spacing-item`,"data-ancestor-path":e.ancestorPaths[n]},n))}):null,$(`div`,{"data-item-section":`icon`,children:e.kind===`directory`?$(GQ,{...t(`file-tree-icon-chevron`)}):$(GQ,{...t(`file-tree-icon-file`,u)})}),$(`div`,{"data-item-section":`content`,children:e.isFlattened?u1(e,c,a):c??$(r$,{minimumLength:5,split:`extension`,children:e.name})}),i?$(`div`,{"data-item-section":`decoration`,children:r==null?null:q1(r,t)}):null,s?$(`div`,{"data-item-section":`git`,children:q1(o,t)}):null,n?$(`div`,{"data-item-section":`action`,children:l?$(`span`,{"aria-hidden":`true`,"data-item-action-affordance":`decorative`,children:$(GQ,{...t(`file-tree-icon-ellipsis`)})}):null}):null]})}function X1(e,t,n,r={}){let{controller:i,renameView:a,visualFocusPath:o,contextHoverPath:s,draggedPathSet:c,dragTarget:l,dragAndDropEnabled:u,shouldSuppressContextMenu:d,handleRowDragStart:f,handleRowDragEnd:p,handleRowTouchStart:m,instanceId:h,itemHeight:g,gitStatusByPath:_,ignoredGitDirectories:v,ignoredInheritanceCache:y,directoriesWithGitChanges:b,gitLaneActive:x,contextMenuEnabled:S,contextMenuTriggerMode:C,contextMenuButtonTriggerEnabled:w,contextMenuButtonVisibility:T,contextMenuRightClickEnabled:E,registerRenameInput:D,registerButton:O,resolveIcon:k,renderDecorationForRow:A,openContextMenuForRow:j,onRowClick:M,onKeyDown:N}=e,P=d1(t),{isParked:F=!1,mode:I=`flow`,style:L}=r,R=I===`sticky`,z=_?.get(P)??null??E1(t.ancestorPaths,v,y),ee=t.kind===`directory`&&(b?.has(P)??!1),te=A(t,P),ne=T1(z,ee),B=S&&w,V=te!=null||x||B,re=B&&T===`always`,ie=a.getPath()===P,ae=ie?a.getValue():``,oe=R||!ie?null:$(M$,{ref:D,ariaLabel:`Rename ${f1(t)}`,isFlattened:t.isFlattened,value:ae,onBlur:()=>{a.commit()},onInput:e=>{a.setValue(e.currentTarget.value)}}),se=Y1(t,k,{actionLaneEnabled:B,customDecoration:te,decorationLaneEnabled:V,dragTargetFlattenedSegmentPath:l?.flattenedSegmentPath??null,gitDecoration:ne,gitLaneActive:x,renameInput:oe,showDecorativeActionAffordance:re}),ce={...N$({ariaLabel:f1(t),domId:t.isFocused?G1(h,P,F):void 0,extraStyle:L,features:{actionLaneEnabled:B,contextMenuButtonVisibility:B?T:null,contextMenuEnabled:S,contextMenuTriggerMode:S?C:null,gitLaneActive:x},isParked:F,itemHeight:g,mode:I,row:t,state:{containsGitChange:ee,effectiveGitStatus:z,isContextHovered:s===P,isDragTarget:l?.kind===`directory`&&l.directoryPath===P,isDragging:c?.has(P)===!0,isFocusRinged:t.isFocused&&o===P},targetPath:P}),key:n,onContextMenu:S||u?e=>{if(d()){e.preventDefault();return}S&&(e.preventDefault(),E&&(i.focusMountedPathFromInput(P),j(t,P,{anchorRect:I1(e.clientX,e.clientY),source:`right-click`})))}:void 0,onFocus:R?void 0:()=>{i.focusMountedPathFromInput(P)},onKeyDown:R?void 0:N,ref:e=>{O(P,e)}};return!R&&ie?$(`div`,{...ce,children:se}):$(`button`,{...ce,type:`button`,draggable:u&&!F,onDragEnd:u&&!F?p:void 0,onDragStart:u&&!F?e=>{f(e,t,P)}:void 0,onMouseDown:e=>{if(R){e.preventDefault();return}i.isSearchOpen()&&e.preventDefault()},onTouchStart:u&&!F?e=>{m(e,t,P)}:void 0,onClick:e=>{M(e,t,P,I)},children:se})}function Z1(e,t,n){return t.end<t.start?[]:e.controller.getVisibleRows(t.start,t.end).filter(e=>!n.has(d1(e))).map((n,r)=>X1(e,n,t.start+r))}function Q1({composition:e,controller:t,gitStatusByPath:n,ignoredGitDirectories:r,directoriesWithGitChanges:i,icons:a,instanceId:o,itemHeight:s=fq,overscan:c=10,renamingEnabled:l=!1,renderRowDecoration:u,searchBlurBehavior:d=`close`,searchEnabled:f=!1,searchFakeFocus:p=!1,slotHost:m,stickyFolders:h=!1,initialViewportHeight:g=420}){"use no memo";let _=e1(null),v=e1(null),y=e1(!1),b=e1(null),x=e1(null),S=e1(null),C=e1(null),w=e1(null),T=e1(new Map),E=e1(new Map),D=e1(()=>{}),O=e1(null),k=e1(0),A=e1(!1),j=e1(null);j.current!==t&&(A.current=!1,j.current=t);let M=e1(!1),N=e1(null),P=e1(null),F=e1(!1),I=e1(null),L=e1(null),R=e1(null),z=e1(null),ee=e1(null),te=e1(null),ne=e1(null),B=e1(null),V=e1(!1),re=e1(null),ie=e1(null),ae=e1(null),oe=e1(null),se=t1(()=>new Map,[]),[,ce]=X$(0),[H,le]=X$(null),[ue,U]=X$(null),[de,fe]=X$(null),[pe,me]=X$(null),[he,ge]=X$(0),[_e,ve]=X$(null),ye=e1(_e);ye.current=_e;let be=e1(null),xe=e1(null),Se=e1(null),Ce=e1(null),we=e1(null),Te=e1(!1),Ee=()=>{xe.current=null,Se.current=null,Ce.current=null},De=(e,t)=>{xe.current=e,Se.current=null,Ce.current=t==null?null:{path:e,scrollTop:t}},Oe=(e,t)=>{xe.current=null,Se.current={path:e,viewportOffset:t},Ce.current=null},ke=e1(d===`retain`&&t.isSearchOpen()),[Ae,je]=X$(p);Q$(()=>{p||je(!1)},[p]);let Me=e1(!1),Ne=n1(()=>{Me.current=!0,je(e=>e&&!1)},[]),[Pe,Fe]=X$(()=>m1({controller:t,itemHeight:s,overscan:c,scrollTop:0,stickyFolders:h,viewportHeight:g})),[Ie,Le]=X$(!1);Q$(()=>{Le(!0)},[]);let Re=e?.contextMenu?.enabled===!0||e?.contextMenu?.render!=null||e?.contextMenu?.onOpen!=null||e?.contextMenu?.onClose!=null,ze=e?.contextMenu?.triggerMode??(Re?`right-click`:`both`),W=ze===`both`||ze===`button`,G=e?.contextMenu?.buttonVisibility??`when-needed`,Be=ze===`both`||ze===`right-click`;$$(()=>{let e=S.current;if(e==null)return;let t=e=>{if(!(e instanceof CustomEvent))return;let t=e.detail?.path??null;we.current=t,U(t),me(t==null?null:`pointer`)},n=e=>{e instanceof CustomEvent&&(Te.current=e.detail?.disabled===!0)};return e.addEventListener(`file-tree-debug-set-context-menu-trigger`,t),e.addEventListener(`file-tree-debug-set-scroll-suppression`,n),()=>{e.removeEventListener(`file-tree-debug-set-context-menu-trigger`,t),e.removeEventListener(`file-tree-debug-set-scroll-suppression`,n)}},[]);let Ve=n1((e,t)=>{R1(T.current,e,t)},[]),He=n1((e,t)=>{R1(E.current,e,t)},[]),Ue=n1(e=>{x.current=e},[]),We=n1(e=>z1(e,E.current,T.current),[]),Ge=n!=null||r!=null||i!=null,{resolveIcon:Ke}=t1(()=>$Z(a),[a]),qe=t[LZ](),Je=qe.getPath(),Ye=Je!=null,Xe=t.isSearchOpen(),Ze=t.getSearchValue(),Qe=t.getFocusedPath(),$e=t.getFocusedIndex(),et=t.getScrollRequest(),tt=t.isDragAndDropEnabled(),nt=t.getDragSession(),rt=t1(()=>nt==null?null:new Set(nt.draggedPaths),[nt]),it=nt?.target??null,at=nt?.primaryPath??null,ot=W1(o),{overlayHeight:st,overlayRows:ct,snapshot:lt,visibleRows:ut}=Pe,dt=lt.physical.viewportHeight,ft=t1(()=>({end:lt.window.endIndex,start:lt.window.startIndex}),[lt.window.endIndex,lt.window.startIndex]),pt=ct,mt=lt.sticky.rows,ht=lt.physical.totalHeight,gt=lt.sticky.height,_t=t1(()=>new Set(mt.map(e=>d1(e.row))),[mt]),vt=$e>=0&&$e>=ft.start&&$e<=ft.end,yt=n1((e,t)=>u?.({item:U1(e,t),row:e})??null,[u]),bt=n1(e=>S$(e==null?null:T.current.get(e)??null)?!0:S$(S.current),[]),xt=n1(e=>{bt(t.focusNearestPath(e))},[t,bt]),St=e1(xt);St.current=xt;let Ct=e1(!0),wt=e1(()=>{}),Tt=n1((t=!0)=>{let n=ye.current;n!=null&&(Ct.current=Ct.current&&t,ve(null),e?.contextMenu?.onClose?.(),Ct.current&&xt(n.path))},[e?.contextMenu,xt]);wt.current=Tt;let Et=n1(e=>{let t=e==null?null:L1(S.current,e);fe(e=>e===t?e:t)},[]),Dt=n1((e,n,r)=>{let i=t.getItem(n);if(i==null)return;let a=We(n);if(a?.dataset.fileTreeStickyRow===`true`){let e=C.current;De(n,e?.scrollTop??null),M.current=!0,le(e=>e===n?e:n)}i.focus(),Et(a),Ct.current=!0,ve({anchorRect:r?.anchorRect??null,item:U1(e,n),path:n,source:r?.source??`keyboard`})},[t,We,Et]),Ot=n1(e=>{if(l){if(t.isSearchOpen()){let e=C.current,t=w$(e,dt);I.current=$e<0||e==null?null:Math.max(0,Math.min($e*s-e.scrollTop,Math.max(0,t-s))),F.current=!0}t.startRenaming(e)!==!1&&(me(`focus`),ce(e=>e+1))}},[t,$e,s,l,dt]),kt=n1((e,{restoreTreeFocus:n=!0,targetOffset:r=`live-overlay`}={})=>{let i=C.current;if(i==null)return!1;t.focusPath(e);let a=t.getFocusedIndex();if(a<0)return!1;let o=t.getVisibleRows(a,a)[0]??null;if(o==null)return!1;let l=w$(i,dt),u=t.getVisibleCount()*s,d=r===`sticky-parents`?o.ancestorPaths.length*s:m1({controller:t,itemHeight:s,overscan:c,scrollTop:i.scrollTop,stickyFolders:h,viewportHeight:l}).snapshot.sticky.height;return M.current=!0,k$(i,a,s,l,u,d),D.current(),be.current=n?e:null,!0},[t,s,c,dt,h]),At=()=>y.current===!0||oe.current!=null||V.current===!0,jt=e=>typeof window.requestAnimationFrame==`function`?window.requestAnimationFrame(()=>{e()}):window.setTimeout(e,16),Mt=e=>{if(e!=null){if(typeof window.cancelAnimationFrame==`function`){window.cancelAnimationFrame(e);return}window.clearTimeout(e)}},Nt=()=>{z.current!=null&&(clearTimeout(z.current),z.current=null),R.current=null},K=()=>{te.current?.remove(),te.current=null},Pt=()=>{Mt(L.current),L.current=null,ee.current=null},Ft=e=>{let t=S.current?.getRootNode();if(t instanceof ShadowRoot){t.append(e);return}document.body.append(e)},It=()=>{B.current?.(),B.current=null,oe.current!=null&&(clearTimeout(oe.current),oe.current=null),V.current=!1,re.current=null,ae.current=null,ie.current!=null&&(ie.current.setAttribute(`draggable`,`true`),ie.current.style.removeProperty(`touch-action`),ie.current=null),K(),Nt(),Pt(),ne.current=null},Lt=(e,n)=>{let r=S.current?.getRootNode(),i=x1(y1(r instanceof ShadowRoot?r:document,e,n));return t.setDragTarget(i),t.getDragSession()?.target??null},Rt=e=>{let n=t.getDragAndDropConfig()?.openOnDropDelay??800;if(e==null||e.kind!==`directory`||e.directoryPath==null||n<=0){Nt();return}let r=t.getItem(e.directoryPath),i=D1(r)?r:null;if(i==null||i.isExpanded()){Nt();return}let a=`${e.directoryPath}::${e.flattenedSegmentPath??``}`;R.current!==a&&(Nt(),R.current=a,z.current=setTimeout(()=>{let n=t.getDragSession()?.target;n?.kind!==`directory`||n.directoryPath!==e.directoryPath||n.flattenedSegmentPath!==e.flattenedSegmentPath||i.expand()},n))},zt=()=>{L.current=null;let e=ee.current,n=C.current;if(e==null||n==null||t.getDragSession()==null)return;let r=n.getBoundingClientRect(),i=w1(e.clientY,r);if(i===0)return;let a=Math.max(0,n.scrollHeight-n.clientHeight),o=Math.max(0,Math.min(a,n.scrollTop+i));o!==n.scrollTop&&(n.scrollTop=o,D.current()),Rt(Lt(e.clientX,e.clientY)),L.current=jt(zt)},Bt=(e,t)=>{ee.current={clientX:e,clientY:t},L.current??=jt(zt)},Vt=(e,n,r)=>{let i=e.currentTarget;if(i!=null){if(It(),K(),Nt(),Pt(),t.startDrag(r)===!1){e.preventDefault();return}if(ne.current=n,e.dataTransfer!=null&&(e.dataTransfer.effectAllowed=`move`,e.dataTransfer.dropEffect=`move`,e.dataTransfer.setData(`text/plain`,r),C1())){let t=S1(i),n=i.getBoundingClientRect();Object.assign(t.style,{height:`${n.height}px`,opacity:`0.85`,transform:`translate3d(-9999px, 0px, 0)`,width:`${n.width}px`}),Ft(t),te.current=t,e.dataTransfer.setDragImage(t,Math.max(0,e.clientX-n.left),Math.max(0,e.clientY-n.top))}}},Ht=()=>{K(),Nt(),Pt(),ne.current=null,t.cancelDrag()},Ut=(e,n,r)=>{if(oe.current!=null||V.current)return;let i=e.touches[0],a=e.currentTarget;if(i==null||a==null)return;ae.current={clientX:i.clientX,clientY:i.clientY},ie.current=a,a.setAttribute(`draggable`,`false`);let o=(e={})=>{let t=e.restoreNativeDraggable??!V.current;oe.current!=null&&(clearTimeout(oe.current),oe.current=null),document.removeEventListener(`touchmove`,s),document.removeEventListener(`touchend`,c),document.removeEventListener(`touchcancel`,c),B.current===o&&(B.current=null),t&&(a.setAttribute(`draggable`,`true`),ie.current===a&&(ie.current=null),ae.current=null)},s=e=>{let t=e.touches[0],n=ae.current;if(t==null||n==null)return;let r=t.clientX-n.clientX,i=t.clientY-n.clientY;r*r+i*i<=g1*g1||o()},c=()=>{o()};document.addEventListener(`touchmove`,s,{passive:!0}),document.addEventListener(`touchend`,c),document.addEventListener(`touchcancel`,c),B.current=o,oe.current=setTimeout(()=>{if(o({restoreNativeDraggable:!1}),t.startDrag(r)===!1){a.setAttribute(`draggable`,`true`),ie.current===a&&(ie.current=null),ae.current=null;return}V.current=!0,ie.current=a,a.setAttribute(`draggable`,`false`),a.style.setProperty(`touch-action`,`none`),ne.current=n;let e=a.getBoundingClientRect(),s=S1(a);Object.assign(s.style,{height:`${e.height}px`,opacity:`0.85`,transform:`translate3d(${e.left}px, ${e.top}px, 0)`,width:`${e.width}px`}),Ft(s),te.current=s,re.current={x:i.clientX-e.left,y:i.clientY-e.top};let c=e=>{let t=e.touches[0];if(t==null)return;e.preventDefault();let n=re.current;n!=null&&te.current!=null&&(te.current.style.transform=`translate3d(${t.clientX-n.x}px, ${t.clientY-n.y}px, 0)`),Rt(Lt(t.clientX,t.clientY)),Bt(t.clientX,t.clientY)},l=e=>{let n=e.changedTouches[0];n!=null&&Lt(n.clientX,n.clientY),t.completeDrag(),It()},u=()=>{t.cancelDrag(),It()};B.current=()=>{document.removeEventListener(`touchmove`,c),document.removeEventListener(`touchend`,l),document.removeEventListener(`touchcancel`,u)},document.addEventListener(`touchmove`,c,{passive:!1}),document.addEventListener(`touchend`,l),document.addEventListener(`touchcancel`,u)},h1)},Wt=e=>{if(_e!=null){if(e.key===`Escape`){Tt(),e.preventDefault(),e.stopPropagation();return}N1.has(e.key)&&(e.preventDefault(),e.stopPropagation());return}if(qe.isActive()){if(e.key===`Escape`)qe.cancel();else if(e.key===`Enter`)qe.commit();else return;me(`focus`),ce(e=>e+1),e.preventDefault(),e.stopPropagation();return}if(l&&e.key===`F2`){Ot(Qe??void 0),e.preventDefault(),e.stopPropagation();return}if(Xe){if(e.key===`Escape`)F.current=!1,I.current=null,t.closeSearch();else if(e.key===`Enter`){let e=t.getFocusedPath();e!=null&&t.selectOnlyPath(e);let n=C.current,r=w$(n,dt);I.current=$e<0||n==null?null:Math.max(0,Math.min($e*s-n.scrollTop,Math.max(0,r-s))),F.current=!0,t.closeSearch()}else if(e.key===`ArrowDown`)t.focusNextSearchMatch();else if(e.key===`ArrowUp`)t.focusPreviousSearchMatch();else return;me(`focus`),ce(e=>e+1),e.preventDefault(),e.stopPropagation();return}if(f&&k1(e)){t.openSearch(e.key),ce(e=>e+1),e.preventDefault(),e.stopPropagation();return}let n=Re&&j1(e),r=M1(e,Re),i=r&&S.current!=null?C$(S.current):null,a=r?new Set(B1(S.current)):new Set,o=i?.dataset.fileTreeStickyPath??null,c=i?.dataset.fileTreeStickyRow===`true`&&o!=null;if(c&&o!==Qe&&a.has(o)){let e=C.current;De(o,e?.scrollTop??null),t.focusPath(o)}let u=t.getFocusedPath(),d=t.getFocusedIndex(),p=t.getFocusedItem();if(p==null)return;let m=D1(p)?p:null,h=u!=null&&(_t.has(u)||c&&o===u&&a.has(u)),g=e.key===`ArrowDown`||e.key===`ArrowUp`||e.key===`ArrowRight`&&m!=null&&m.isExpanded(),_=e.key===`ArrowLeft`&&h&&m!=null&&m.isExpanded(),v=C.current,y=!0;if(e.shiftKey&&e.key===`ArrowDown`)t.extendSelectionFromFocused(1);else if(e.shiftKey&&e.key===`ArrowUp`)t.extendSelectionFromFocused(-1);else if(n&&u!=null&&d>=0){let e=t.getVisibleRows(d,d)[0]??null,n=z1(u,E.current,T.current);e==null||n==null?y=!1:Dt(e,u)}else if((e.ctrlKey||e.metaKey)&&O1(e))t.toggleFocusedSelection();else if((e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`a`)t.selectAllVisiblePaths();else switch(e.key){case`ArrowDown`:t.focusNextItem();break;case`ArrowUp`:t.focusPreviousItem();break;case`ArrowRight`:m==null||m.isExpanded()?t.focusNextItem():m.expand();break;case`ArrowLeft`:m!=null&&m.isExpanded()?m.collapse():t.focusParentItem();break;case`Home`:t.focusFirstItem();break;case`End`:t.focusLastItem();break;default:y=!1}if(!y)return;me(`focus`);let b=t.getFocusedPath(),x=b!=null&&(_t.has(b)||a.has(b)),w=g&&b!==u,D=n&&c&&o===u&&b===u;if((h||D)&&b!=null&&(w&&x||D))De(b,v?.scrollTop??null),M.current=!0,le(e=>e===b?e:b);else{let t=e.key===`ArrowUp`&&h&&b!==u;b!=null&&(t||_&&b===u)?(Oe(b,H1(S.current,v,i,u,s,gt,dt)),M.current=!0,le(e=>e===b?e:b)):Ee()}ce(e=>e+1),e.preventDefault(),e.stopPropagation()};$$(()=>{if(!(!f||!Xe)){if(ke.current){ke.current=!1;return}S$(w.current)}},[Xe,f]),$$(()=>{let e=x.current;switch(j$({hasRenderedInput:e!=null,previousRenamingPath:P.current,renamingPath:Je})){case`reset`:P.current=null;return;case`reveal-canonical`:Je!=null&&kt(Je,{restoreTreeFocus:!1,targetOffset:`live-overlay`});return;case`ignore`:return;case`focus-input`:e!=null&&(be.current=null,P.current=Je,S$(e),e.select());return}},[ft.end,ft.start,Je,kt,_t]),$$(()=>{let e=S.current;if(e==null)return;let t=null,n=()=>{t!=null&&(clearTimeout(t),t=null)},r=()=>{let t=C$(e)?.dataset.itemPath??null;le(e=>e===t?e:t)},i=()=>{n(),M.current=!0,r()},a=i=>{let a=i.relatedTarget;if(a==null){n(),t=setTimeout(()=>{if(t=null,C$(e)!=null){r();return}M.current=!1,le(null)},0);return}if(!(a instanceof Node)||!e.contains(a)){n(),M.current=!1,le(null);return}let o=a instanceof HTMLElement?a.dataset.itemPath??null:null;le(e=>e===o?e:o)};return e.addEventListener(`focusin`,i),e.addEventListener(`focusout`,a),()=>{n(),e.removeEventListener(`focusin`,i),e.removeEventListener(`focusout`,a)}},[]),$$(()=>{let e=S.current;e!=null&&(lt.physical.scrollTop<=0?e.dataset.scrollAtTop=`true`:delete e.dataset.scrollAtTop)},[lt.physical.scrollTop]),$$(()=>{let e=null,n=C.current,r=b.current,i=S.current;if(n==null)return;O.current=w$(n,g);let a=()=>{let e=t.getVisibleCount(),r=T$(O.current,g),i=Math.max(0,e*s-r);n.scrollTop>i&&(n.scrollTop=i),Fe(m1({controller:t,itemHeight:s,overscan:c,scrollTop:Math.min(n.scrollTop,i),stickyFolders:h,viewportHeight:r}))};if(!A.current){A.current=!0;let e=t.getFocusedIndex();if(e>=0){let r=T$(O.current,g),i=t.getVisibleRows(e,e)[0]??null;D$(n,e,s,r,h&&i!=null?Math.max(0,Math.min(i.ancestorPaths.length*s,Math.max(0,r-s))):0)}}D.current=a;let o=!1,l=t.subscribe(()=>{o?ce(e=>e+1):o=!0,a()}),u=()=>{Te.current!==!0&&(r!=null&&(r.dataset.isScrolling??=``),i!=null&&(i.dataset.isScrolling??=``),y.current=!0,e!=null&&clearTimeout(e),e=setTimeout(()=>{r!=null&&delete r.dataset.isScrolling,i!=null&&delete i.dataset.isScrolling,y.current=!1,ge(e=>e+1),e=null},50))},d=null,f=()=>{i!=null&&delete i.dataset.overlayReveal,d!=null&&(clearTimeout(d),d=null)},p=()=>{i==null||Te.current===!0||n.scrollTop>0||(i.dataset.overlayReveal=`true`,d!=null&&clearTimeout(d),d=setTimeout(()=>{f()},200))},m=()=>{if(a(),n.scrollTop>0&&f(),ye.current!=null&&y.current&&wt.current(),Te.current===!0){y.current=!1;return}U(e=>e==null?e:null),u()},_=()=>{u(),p()},v=new Set([`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`,`PageUp`,`PageDown`,`Home`,`End`,` `,`Spacebar`]),x=e=>{v.has(e.key)&&_()};n.addEventListener(`scroll`,m,{passive:!0}),n.addEventListener(`wheel`,_,{passive:!0}),n.addEventListener(`touchmove`,_,{passive:!0}),n.addEventListener(`keydown`,x);let w=typeof ResizeObserver<`u`?new ResizeObserver(e=>{O.current=(e[0]==null?null:E$(e[0]))??w$(n,g),a()}):null;return w?.observe(n),()=>{D.current=()=>{},l(),n.removeEventListener(`scroll`,m),n.removeEventListener(`wheel`,_),n.removeEventListener(`touchmove`,_),n.removeEventListener(`keydown`,x),e!=null&&clearTimeout(e),d!=null&&clearTimeout(d),r!=null&&delete r.dataset.isScrolling,i!=null&&(delete i.dataset.isScrolling,delete i.dataset.overlayReveal),y.current=!1,O.current=null,w?.disconnect()}},[t,g,s,c,h]),$$(()=>{Re||_e==null||Tt(!1)},[Tt,Re,_e]);let Gt=t1(()=>_e==null?null:`${_e.path}::${_e.source}`,[_e]);$$(()=>{if(Gt==null){m?.clearSlotContent(VG);return}let t=ye.current;if(t==null)return;let n=v.current??_.current;if(n==null)return;let r={anchorElement:n,anchorRect:t.anchorRect??F1(n.getBoundingClientRect()),close:e=>{wt.current(e?.restoreFocus??!0)},restoreFocus:()=>{Ct.current&&St.current(ye.current?.path??null)}},i=e?.contextMenu?.render?.(t.item,r)??null;return m?.setSlotContent(VG,i),e?.contextMenu?.onOpen?.(t.item,r),J1(i),queueMicrotask(()=>{i==null||!i.isConnected||document.activeElement===i&&J1(i)}),()=>{m?.clearSlotContent(VG)}},[Gt,e?.contextMenu,m]),$$(()=>{_e!=null&&t.getItem(_e.path)==null&&Tt()},[Tt,_e,t]),$$(()=>{if(_e==null)return;let e=S.current?.getRootNode(),t=e instanceof ShadowRoot?e.host:S.current,n=e=>{let n=e.target;n instanceof Node&&(P1(e)||_.current?.contains(n)!==!0&&t?.contains(n)!==!0&&Tt())},r=e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),Tt())};return document.addEventListener(`mousedown`,n,!0),document.addEventListener(`keydown`,r,!0),()=>{document.removeEventListener(`mousedown`,n,!0),document.removeEventListener(`keydown`,r,!0)}},[Tt,_e]),$$(()=>{let e=C.current,n=S.current;if(e==null||n==null){N.current=Qe;return}let r=Qe==null?null:T.current.get(Qe)??null,i=C$(n),a=i?.dataset.itemPath??null,o=Ye&&x.current===i,c=f&&w.current===i,l=F.current&&!Xe,u=I.current??0,d=be.current,p=xe.current,m=Se.current,g=Ce.current,_=i!=null,v=M.current||_,y=N.current!==Qe,b=p!=null&&p===Qe&&Qe!=null,E=!1,O=!1;if(et!=null&&et.id!==k.current){k.current=et.id;let n=et.visibleIndex,r=t.getVisibleRows(n,n)[0]??null;if(r!=null){let t=h?Math.max(0,Math.min(r.ancestorPaths.length*s,Math.max(0,dt-s))):gt;E=!0,O=O$(e,n,s,dt,ht,et.offset,t)}t.clearScrollRequest(et.id)}let A=!E&&l&&k$(e,$e,s,dt,ht,u),j=!E&&d!=null&&d===Qe&&k$(e,$e,s,dt,ht,gt),P=!E&&m!=null&&m.path===Qe&&k$(e,$e,s,dt,ht,m.viewportOffset),L=!E&&g!=null&&g.path===Qe&&e.scrollTop!==g.scrollTop;if(L&&(e.scrollTop=g.scrollTop),(L||O||j||P||A||v&&y&&d!==Qe&&!b&&D$(e,$e,s,dt,gt))&&D.current(),E){N.current=Qe;return}if(!v){N.current=Qe;return}if(o){N.current=Qe;return}if(c&&!l){N.current=Qe;return}if(r==null){l&&$e>=0&&(k$(e,$e,s,dt,ht,u),D.current()),N.current=Qe;return}(y||l||d===Qe||p===Qe||m?.path===Qe||g?.path===Qe||a==null||a!==Qe)&&(S$(r),d===Qe&&(be.current=null),p===Qe&&(xe.current=null),m?.path===Qe&&(Se.current=null),g?.path===Qe&&(Ce.current=null),F.current=!1,I.current=null),N.current=Qe},[t,$e,Qe,vt,s,Ye,Xe,ft,dt,f,et,h,gt,ht,ut]);let Kt=$e>=0&&$e>=lt.visible.startIndex&&$e<=lt.visible.endIndex,qt=Qe!=null&&pt.some(e=>d1(e.row)===Qe),Jt=Kt||qt,Yt=W&&M.current===!0&&Jt?Qe:null,Xt=pe===`pointer`?ue:null,Zt=_e?.path??we.current??Xt??Yt??ue,Qt=_e?.source===`right-click`;$$(()=>{y.current&&_e==null||Et(We(Zt))},[_e,We,ft,dt,he,pt,Zt,Et,ut]);let $t=n1(e=>{if(y.current||P1(e))return;let t=e.target;if(!(t instanceof HTMLElement)||t.closest?.(`[data-type="context-menu-trigger"]`)!=null)return;let n=t.closest?.(`[data-file-tree-sticky-row="true"]`),r=t.closest?.(`[data-type="item"]`),i=n instanceof HTMLElement?n.dataset.fileTreeStickyPath??null:r instanceof HTMLElement?r.dataset.itemPath??null:null;i!=null&&me(e=>e===`pointer`?e:`pointer`),U(e=>e===i?e:i)},[]),en=n1(()=>{U(null)},[]);$$(()=>{if(!tt)return;let e=()=>{It(),t.cancelDrag()};return window.addEventListener(`dragend`,e),()=>{window.removeEventListener(`dragend`,e),It(),t.cancelDrag()}},[t,tt]);let tn=e=>{if(!tt||t.getDragSession()==null||V.current)return;let n=x1(e.target instanceof HTMLElement?e.target:null);t.setDragTarget(n),Rt(t.getDragSession()?.target??null),Bt(e.clientX,e.clientY),e.dataTransfer!=null&&(e.dataTransfer.dropEffect=`move`),e.preventDefault()},nn=e=>{if(!tt||t.getDragSession()==null||V.current)return;let n=e.relatedTarget;n instanceof Node&&S.current?.contains(n)===!0||(Nt(),Pt(),t.setDragTarget(null))},rn=e=>{!tt||t.getDragSession()==null||V.current||(e.preventDefault(),Lt(e.clientX,e.clientY),t.completeDrag(),K(),Nt(),Pt(),ne.current=null)},an=lt.window.height,on=lt.window.offsetTop,sn=Math.min(0,dt-an),cn=Math.min(0,dt-an-gt),ln=H===Qe||F.current,un=Qe!=null&&ln&&!vt&&$e>=0?ut[$e]??t.getVisibleRows($e,$e)[0]??null:null,dn=un==null?null:A$($e,s,ft,an),fn=ne.current,pn=at!=null&&fn!=null&&fn.path===at&&fn.index>=ft.start&&fn.index<=ft.end,mn=at!=null&&fn!=null&&fn.path===at&&!pn&&fn.path!==un?.path?fn:null,hn=mn==null?null:A$(mn.index,s,ft,an),gn=A1(($e>=0?ut[$e]??t.getVisibleRows($e,$e)[0]??null:null)?.ancestorPaths.at(-1)??null),_n=Xe&&Qe!=null?G1(o,Qe,!vt):void 0,vn=_e?.path??(Xe?Qe:H),yn=_e?.path??ue,bn=We(Zt),xn=Re&&W&&!Qt&&!Ye&&bn!=null&&de!=null&&Zt!=null,Sn=Re&&(xn||_e!=null),Cn=_e?.anchorRect,wn=Cn==null&&bn!=null&&de!=null&&(_e!=null||xn)?de:null,Tn=Cn==null?wn==null?void 0:{top:`${wn}px`}:{left:`${Cn.left}px`,position:`fixed`,right:`auto`,top:`${Cn.top}px`},En=Qt?{opacity:`0`}:void 0,Dn=n1((e,n,r,i)=>{let a=P$({event:{ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey},isDirectory:n.kind===`directory`,isSearchOpen:Xe,mode:i}),o=a.toggleDirectory&&n.kind===`directory`,s=o?t.resolveMountedDirectoryPathFromInput(r):null;if(o&&s==null)return;let c=s??r;switch(a.selection.kind){case`range`:t.selectPathRange(c,a.selection.additive);break;case`toggle`:t.togglePathSelectionFromInput(c);break;case`single`:t.selectOnlyMountedPathFromInput(c);break}let l=e.currentTarget instanceof HTMLElement?e.currentTarget:null,u=n.index>=lt.visible.startIndex&&n.index<=lt.visible.endIndex,d=i===`flow`&&u&&l!=null&&l.dataset.itemParked!==`true`;t.focusMountedPathFromInput(c),d&&(M.current=!0,le(e=>e===c?e:c),me(`focus`)),o&&t.toggleMountedDirectoryFromInput(c),a.closeSearch&&t.closeSearch(),a.revealCanonical&&kt(c,{targetOffset:`sticky-parents`})},[t,Xe,lt.visible.endIndex,lt.visible.startIndex,kt]),On=()=>{if(y.current||!W||Zt==null||bn==null)return;let e=t.getItem(Zt);e!=null&&(Et(bn),Ct.current=!0,ve({anchorRect:null,item:{kind:e.isDirectory()?`directory`:`file`,name:bn.getAttribute(`aria-label`)??Zt,path:e.getPath()},path:e.getPath(),source:`button`}))},kn={contextHoverPath:yn,contextMenuButtonTriggerEnabled:W,contextMenuButtonVisibility:G,contextMenuEnabled:Re,contextMenuRightClickEnabled:Be,contextMenuTriggerMode:ze,controller:t,directoriesWithGitChanges:i,dragAndDropEnabled:tt,draggedPathSet:rt,dragTarget:it,gitLaneActive:Ge,gitStatusByPath:n,handleRowDragEnd:Ht,handleRowDragStart:Vt,handleRowTouchStart:Ut,ignoredGitDirectories:r,ignoredInheritanceCache:se,instanceId:o,itemHeight:s,onKeyDown:Wt,onRowClick:Dn,openContextMenuForRow:Dt,registerButton:Ve,registerRenameInput:Ue,renameView:qe,renderDecorationForRow:yt,resolveIcon:Ke,shouldSuppressContextMenu:At,visualFocusPath:vn},An={...kn,registerButton:He};return $(`div`,{ref:S,id:ot,"data-file-tree-context-menu-button-visibility":Re&&W?G:void 0,"data-file-tree-context-menu-trigger-mode":Re?ze:void 0,"data-file-tree-has-context-menu-action-lane":Re&&W?`true`:void 0,"data-file-tree-has-git-lane":Ge?`true`:void 0,"data-file-tree-virtualized-root":`true`,onDragLeave:tt?nn:void 0,onDragOver:tt?tn:void 0,onDrop:tt?rn:void 0,onKeyDown:Wt,onPointerLeave:Re?en:void 0,onPointerOver:Re?$t:void 0,role:`tree`,tabIndex:-1,style:{outline:`none`,position:`relative`},children:[$(`style`,{"data-file-tree-guide-style":`true`,dangerouslySetInnerHTML:{__html:gn}}),$(`slot`,{name:BG,"data-type":`header-slot`}),f?$(`div`,{"data-file-tree-search-container":!0,"data-open":Xe?`true`:`false`,children:$(`input`,{ref:w,"aria-activedescendant":_n,"aria-controls":ot,placeholder:`Search…`,"data-file-tree-search-input":!0,"data-file-tree-search-input-fake-focus":Ae?`true`:void 0,value:Ze,onBlur:()=>{d===`retain`&&!Me.current||t.closeSearch()},onFocus:Ne,onPointerDown:Ne,onInput:e=>{Ne();let n=e.currentTarget;t.setSearch(n.value)}})}):null,$(`div`,{ref:C,"data-file-tree-virtualized-scroll":`true`,children:[h&&Ie&&pt.length>0?$(`div`,{"aria-hidden":`true`,"data-file-tree-sticky-overlay":`true`,children:$(`div`,{"data-file-tree-sticky-overlay-content":`true`,style:{height:`${st}px`},children:pt.map((e,t)=>X1(An,e.row,`sticky:${d1(e.row)}`,{mode:`sticky`,style:{left:`0`,position:`absolute`,right:`0`,top:`${e.top}px`,zIndex:`${pt.length-t}`}}))})}):null,$(`div`,{ref:b,"data-file-tree-virtualized-list":`true`,style:{height:`${ht}px`},children:[$(`div`,{"data-file-tree-virtualized-sticky-offset":`true`,"aria-hidden":`true`,style:{height:`${on}px`}}),$(`div`,{"data-file-tree-virtualized-sticky":`true`,style:{height:`${an}px`,top:`${sn}px`,bottom:`${cn}px`},children:[Z1(kn,ft,_t),un!=null&&dn!=null?X1(kn,un,`parked:${un.path}`,{isParked:!0,style:{left:`0`,opacity:`0`,pointerEvents:at===un.path?`none`:void 0,position:`absolute`,right:`0`,top:`${dn}px`}}):null,mn!=null&&hn!=null?X1(kn,mn,`parked-drag:${mn.path}`,{isParked:!0,style:{left:`0`,opacity:`0`,pointerEvents:`none`,position:`absolute`,right:`0`,top:`${hn}px`}}):null]})]})]}),Re?$(`div`,{ref:_,"data-type":`context-menu-anchor`,"data-visible":Sn?`true`:`false`,style:Tn,children:[$(`button`,{ref:v,type:`button`,"data-type":HG,"aria-label":`Options`,"aria-haspopup":`menu`,"aria-expanded":_e==null?`false`:`true`,"data-visible":xn?`true`:`false`,onMouseDown:e=>{e.preventDefault()},onClick:e=>{if(e.preventDefault(),e.stopPropagation(),_e!=null){Tt();return}On()},tabIndex:-1,style:En,children:$(GQ,{...Ke(`file-tree-icon-ellipsis`)})}),_e==null?null:$(`slot`,{name:VG})]}):null,_e==null?null:$(`div`,{"data-type":`context-menu-wash`,"aria-hidden":`true`,onMouseDownCapture:e=>{e.preventDefault(),Tt()},onTouchStartCapture:e=>{e.preventDefault(),e.stopPropagation(),Tt()},onTouchMoveCapture:e=>{e.preventDefault(),e.stopPropagation()},onWheelCapture:e=>{e.preventDefault(),e.stopPropagation()}})]})}var $1={hydrateRoot:(e,t)=>{BQ(gQ(Q1,t),e)},renderRoot:(e,t)=>{zQ(gQ(Q1,t),e)},unmountRoot:e=>{zQ(null,e)}};function e0(e,t){$1.renderRoot(e,t)}function t0(e,t){$1.hydrateRoot(e,t)}function n0(e){$1.unmountRoot(e)}var r0=class{#e=new Map;#t=null;clearAll(){for(let e of this.#e.values())e.remove();this.#e.clear()}clearSlotContent(e){let t=this.#n(e);t!=null&&(t.remove(),this.#e.delete(e))}setHost(e){if(this.#t=e,e!=null){this.#i(e);for(let[e,t]of this.#e)this.#r(e,t)}}setSlotContent(e,t){let n=this.#n(e);if(n===t){t!=null&&(this.#e.set(e,t),this.#r(e,t));return}if(n?.remove(),t==null){this.#e.delete(e);return}this.#e.set(e,t),this.#r(e,t)}setSlotHtml(e,t){let n=t?.trim()??``;if(n.length===0){this.setSlotContent(e,null);return}let r=this.#n(e);if(r!=null&&r.innerHTML===n){this.#e.set(e,r),this.#r(e,r);return}let i=document.createElement(`div`);i.innerHTML=n,this.setSlotContent(e,i)}#n(e){let t=this.#e.get(e)??null;if(t!=null)return t;let n=this.#t;if(n==null)return null;for(let t of Array.from(n.children))if(t instanceof HTMLElement&&t.dataset.fileTreeManagedSlot===e)return t;return null}#r(e,t){t.slot=e,t.dataset.fileTreeManagedSlot=e,this.#t!=null&&t.parentNode!==this.#t&&this.#t.appendChild(t)}#i(e){for(let t of Array.from(e.children)){if(!(t instanceof HTMLElement))continue;let e=t.dataset.fileTreeManagedSlot;e==null||this.#e.has(e)||this.#e.set(e,t)}}},i0=`__c`,a0=`__k`,o0=`__d`,s0=`__s`,c0=/[\s\n\\/='"\0<>]/,l0=/^(xlink|xmlns|xml)([A-Z])/,u0=/^(?:accessK|auto[A-Z]|cell|ch|col|cont|cross|dateT|encT|form[A-Z]|frame|hrefL|inputM|maxL|minL|noV|playsI|popoverT|readO|rowS|src[A-Z]|tabI|useM|item[A-Z])/,d0=/^ac|^ali|arabic|basel|cap|clipPath$|clipRule$|color|dominant|enable|fill|flood|font|glyph[^R]|horiz|image|letter|lighting|marker[^WUH]|overline|panose|pointe|paint|rendering|shape|stop|strikethrough|stroke|text[^L]|transform|underline|unicode|units|^v[^i]|^w|^xH/,f0=new Set([`draggable`,`spellcheck`]);function p0(e){e.__g===void 0?e[o0]=!0:e.__g|=8}function m0(e){e.__g===void 0?e[o0]=!1:e.__g&=-9}function h0(e){return e.__g===void 0?!0===e[o0]:!!(8&e.__g)}var g0=/["&<]/;function _0(e){if(e.length===0||!1===g0.test(e))return e;for(var t=0,n=0,r=``,i=``;n<e.length;n++){switch(e.charCodeAt(n)){case 34:i=`&quot;`;break;case 38:i=`&amp;`;break;case 60:i=`&lt;`;break;default:continue}n!==t&&(r+=e.slice(t,n)),r+=i,t=n+1}return n!==t&&(r+=e.slice(t,n)),r}var v0={},y0=new Set(`animation-iteration-count.border-image-outset.border-image-slice.border-image-width.box-flex.box-flex-group.box-ordinal-group.column-count.fill-opacity.flex.flex-grow.flex-negative.flex-order.flex-positive.flex-shrink.flood-opacity.font-weight.grid-column.grid-row.line-clamp.line-height.opacity.order.orphans.stop-opacity.stroke-dasharray.stroke-dashoffset.stroke-miterlimit.stroke-opacity.stroke-width.tab-size.widows.z-index.zoom`.split(`.`)),b0=/[A-Z]/g;function x0(e){var t=``;for(var n in e){var r=e[n];if(r!=null&&r!==``){var i=n[0]==`-`?n:v0[n]||(v0[n]=n.replace(b0,`-$&`).toLowerCase()),a=`;`;typeof r!=`number`||i.startsWith(`--`)||y0.has(i)||(a=`px;`),t=t+i+`:`+r+a}}return t||void 0}function S0(){this.__d=!0}function C0(e,t){return{__v:e,context:t,props:e.props,setState:S0,forceUpdate:S0,__d:!0,__h:[]}}function w0(e,t,n){if(!e.s){if(n instanceof T0){if(!n.s)return void(n.o=w0.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(w0.bind(null,e,t),w0.bind(null,e,2));e.s=t,e.v=n;let r=e.o;r&&r(e)}}var T0=function(){function e(){}return e.prototype.then=function(t,n){var r=new e,i=this.s;if(i){var a=1&i?t:n;if(a){try{w0(r,1,a(this.v))}catch(e){w0(r,2,e)}return r}return this}return this.o=function(e){try{var i=e.v;1&e.s?w0(r,1,t?t(i):i):n?w0(r,1,n(i)):w0(r,2,i)}catch(e){w0(r,2,e)}},r},e}(),E0,D0,O0,k0,A0={},j0=Array.isArray,M0=Object.assign,N0=``,P0=`<!--$s-->`,F0=`<!--/$s-->`;function I0(e,t){var n,r=e.type,i=!0;return e[i0]?(i=!1,(n=e[i0]).state=n[s0]):n=new r(e.props,t),e[i0]=n,n.__v=e,n.props=e.props,n.context=t,p0(n),n.state??=A0,n[s0]??(n[s0]=n.state),r.getDerivedStateFromProps?n.state=M0({},n.state,r.getDerivedStateFromProps(n.props,n.state)):i&&n.componentWillMount?(n.componentWillMount(),n.state=n[s0]===n.state?n.state:n[s0]):!i&&n.componentWillUpdate&&n.componentWillUpdate(),O0&&O0(e),n.render(n.props,n.state,t)}function L0(e,t,n,r,i,a,o){if(e==null||!0===e||!1===e||e===N0)return N0;var s=typeof e;if(s!=`object`)return s==`function`?N0:s==`string`?_0(e):e+N0;if(j0(e)){var c,l=N0;i[a0]=e;for(var u=e.length,d=0;d<u;d++){var f=e[d];if(f!=null&&typeof f!=`boolean`){var p,m=L0(f,t,n,r,i,a,o);typeof m==`string`?l+=m:(c||=Array(u),l&&c.push(l),l=N0,j0(m)?(p=c).push.apply(p,m):c.push(m))}}return c?(l&&c.push(l),c):l}if(e.constructor!==void 0)return N0;e.__=i,E0&&E0(e);var h=e.type,g=e.props;if(typeof h==`function`){var _,v,y,b=t;if(h===vQ){if(`tpl`in g){for(var x=N0,S=0;S<g.tpl.length;S++)if(x+=g.tpl[S],g.exprs&&S<g.exprs.length){var C=g.exprs[S];if(C==null)continue;typeof C!=`object`||C.constructor!==void 0&&!j0(C)?x+=C:x+=L0(C,t,n,r,e,a,o)}return x}if(`UNSTABLE_comment`in g)return`<!--`+_0(g.UNSTABLE_comment)+`-->`;v=g.children}else{if((_=h.contextType)!=null){var w=t[_.__c];b=w?w.props.value:_.__}var T=h.prototype&&typeof h.prototype.render==`function`;if(T)v=I0(e,b),y=e[i0];else{e[i0]=y=C0(e,b);for(var E=0;h0(y)&&E++<25;){m0(y),O0&&O0(e);try{v=h.call(y,g,b)}catch(t){throw a&&t&&typeof t.then==`function`&&(e._suspended=!0),t}}p0(y)}if(y.getChildContext!=null&&(t=M0({},t,y.getChildContext())),T&&eQ.errorBoundaries&&(h.getDerivedStateFromError||y.componentDidCatch)){v=v!=null&&v.type===vQ&&v.key==null&&v.props.tpl==null?v.props.children:v;try{return L0(v,t,n,r,e,a,!1)}catch(i){return h.getDerivedStateFromError&&(y[s0]=h.getDerivedStateFromError(i)),y.componentDidCatch&&y.componentDidCatch(i,A0),h0(y)?(v=I0(e,t),(y=e[i0]).getChildContext!=null&&(t=M0({},t,y.getChildContext())),L0(v=v!=null&&v.type===vQ&&v.key==null&&v.props.tpl==null?v.props.children:v,t,n,r,e,a,o)):N0}finally{D0&&D0(e),k0&&k0(e)}}}v=v!=null&&v.type===vQ&&v.key==null&&v.props.tpl==null?v.props.children:v;try{var D=L0(v,t,n,r,e,a,o);return D0&&D0(e),eQ.unmount&&eQ.unmount(e),e._suspended?typeof D==`string`?P0+D+F0:j0(D)?(D.unshift(P0),D.push(F0),D):D.then(function(e){return P0+e+F0}):D}catch(i){if(!a&&o&&o.onError){var O=function i(s){return o.onError(s,e,function(e,s){try{return L0(e,t,n,r,s,a,o)}catch(e){return i(e)}})}(i);if(O!==void 0)return O;var k=eQ.__e;return k&&k(i,e),N0}if(!a||!i||typeof i.then!=`function`)throw i;return i.then(function i(){try{var s=L0(v,t,n,r,e,a,o);return e._suspended?P0+s+F0:s}catch(e){if(!e||typeof e.then!=`function`)throw e;return e.then(i)}})}}var A,j=`<`+h,M=N0;for(var N in g){var P=g[N];if(typeof(P=z0(P)?P.value:P)!=`function`||N===`class`||N===`className`){switch(N){case`children`:A=P;continue;case`key`:case`ref`:case`__self`:case`__source`:continue;case`htmlFor`:if(`for`in g)continue;N=`for`;break;case`className`:if(`class`in g)continue;N=`class`;break;case`defaultChecked`:N=`checked`;break;case`defaultSelected`:N=`selected`;break;case`defaultValue`:case`value`:switch(N=`value`,h){case`textarea`:A=P;continue;case`select`:r=P;continue;case`option`:r!=P||`selected`in g||(j+=` selected`)}break;case`dangerouslySetInnerHTML`:M=P&&P.__html;continue;case`style`:typeof P==`object`&&(P=x0(P));break;case`acceptCharset`:N=`accept-charset`;break;case`httpEquiv`:N=`http-equiv`;break;default:if(l0.test(N))N=N.replace(l0,`$1:$2`).toLowerCase();else{if(c0.test(N))continue;N[4]!==`-`&&!f0.has(N)||P==null?n?d0.test(N)&&(N=N===`panose1`?`panose-1`:N.replace(/([A-Z])/g,`-$1`).toLowerCase()):u0.test(N)&&(N=N.toLowerCase()):P+=N0}}P!=null&&!1!==P&&(j=!0===P||P===N0?j+` `+N:j+` `+N+`="`+(typeof P==`string`?_0(P):P+N0)+`"`)}}if(c0.test(h))throw Error(h+` is not a valid HTML tag name in `+j+`>`);if(M||(typeof A==`string`?M=_0(A):A!=null&&!1!==A&&!0!==A&&(M=L0(A,t,h===`svg`||h!==`foreignObject`&&n,r,e,a,o))),D0&&D0(e),k0&&k0(e),!M&&R0.has(h))return j+`/>`;var F=`</`+h+`>`,I=j+`>`;return j0(M)?[I].concat(M,[F]):typeof M==`string`?I+M+F:[I,M,F]}var R0=new Set([`area`,`base`,`br`,`col`,`command`,`embed`,`hr`,`img`,`input`,`keygen`,`link`,`meta`,`param`,`source`,`track`,`wbr`]);function z0(e){return typeof e==`object`&&!!e&&typeof e.peek==`function`&&`value`in e}var B0=0;function V0(e){return e!=null&&e.length>0?e:(B0+=1,`pst_ft_${B0}`)}function H0({initialVisibleRowCount:e,itemHeight:t}){return e==null?420:Math.max(0,e)*(t??fq)}function U0(e){if(typeof document>`u`)return;let t=document.createElement(`div`);t.innerHTML=e;let n=t.querySelector(`svg`);return n instanceof SVGElement?n:void 0}function W0(e){return e.querySelector(`#file-tree-icon-chevron`)instanceof SVGElement&&e.querySelector(`#file-tree-icon-file`)instanceof SVGElement&&e.querySelector(`#file-tree-icon-dot`)instanceof SVGElement&&e.querySelector(`#file-tree-icon-lock`)instanceof SVGElement}function G0(e){return Array.from(e.children).filter(e=>e instanceof SVGElement)}var K0=class{static LoadedCustomComponent=!0;#e;#t;#n;#r;#i;#a;#o;#s;#c;#l=new r0;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y=null;#b;#x=!1;#S=!1;constructor(e){let{composition:t,density:n,fileTreeSearchMode:r,gitStatus:i,id:a,initialSearchQuery:o,icons:s,itemHeight:c,onSearchChange:l,onSelectionChange:u,overscan:d,renderRowDecoration:f,renaming:p,search:m,searchBlurBehavior:h,searchFakeFocus:g,stickyFolders:_,unsafeCSS:v,initialVisibleRowCount:y,...b}=e;this.#e=t,this.#n=V0(a),this.#p=JZ(i),this.#m=s,this.#h=v,this.#r=u,this.#i=f,this.#a=p!=null&&p!==!1,this.#o=h,this.#s=m===!0,this.#c=g===!0,this.#u=dq(n,c),this.#d={itemHeight:this.#u.itemHeight,overscan:d,stickyFolders:_,initialVisibleRowCount:y},this.#t=new UZ({...b,fileTreeSearchMode:r,initialSearchQuery:o,onSearchChange:l,renaming:p}),this.#v=this.#t.getSelectionVersion(),this.#y=this.#r==null?null:this.subscribe(()=>{this.#D()})}unmount(){this.#b!=null&&(n0(this.#b),delete this.#b.dataset.fileTreeVirtualizedWrapper,this.#b=void 0),this.#l.clearAll(),this.#l.setHost(null),this.#f!=null&&(delete this.#f.dataset.fileTreeVirtualized,this.#I(this.#f),this.#f=void 0)}cleanUp(){this.unmount(),this.#y?.(),this.#y=null,this.#t.destroy()}getFileTreeContainer(){return this.#f}getItem(e){return this.#t.getItem(e)}getFocusedItem(){return this.#t.getFocusedItem()}getFocusedPath(){return this.#t.getFocusedPath()}getSelectedPaths(){return this.#t.getSelectedPaths()}getComposition(){return this.#e}getItemHeight(){return this.#u.itemHeight}getDensityFactor(){return this.#u.factor}subscribe(e){let t=!1;return this.#t.subscribe(()=>{if(!t){t=!0;return}e()})}focusPath(e){this.#t.focusPath(e)}scrollToPath(e,t){this.#t.scrollToPath(e,t)}focusNearestPath(e){return this.#t.focusNearestPath(e)}add(e){this.#t.add(e)}batch(e){this.#t.batch(e)}move(e,t,n){this.#t.move(e,t,n)}onMutation(e,t){return this.#t.onMutation(e,t)}setSearch(e){this.#t.setSearch(e)}openSearch(e){this.#t.openSearch(e)}closeSearch(){this.#t.closeSearch()}isSearchOpen(){return this.#t.isSearchOpen()}getSearchValue(){return this.#t.getSearchValue()}getSearchMatchingPaths(){return this.#t.getSearchMatchingPaths()}focusNextSearchMatch(){this.#t.focusNextSearchMatch()}focusPreviousSearchMatch(){this.#t.focusPreviousSearchMatch()}startRenaming(e,t){return this.#t.startRenaming(e,t)}remove(e,t){this.#t.remove(e,t)}resetPaths(e,t){this.#t.resetPaths(e,t)}setComposition(e){this.#e=e;let t=this.#T();t!=null&&(this.#O(),e0(t.wrapper,this.#w()))}setGitStatus(e){this.#p=JZ(e,this.#p);let t=this.#T();t!=null&&e0(t.wrapper,this.#w())}setIcons(e){this.#m=e;let t=this.#T();t!=null&&(this.#E(t.host,t.wrapper),e0(t.wrapper,this.#w()))}hydrate({fileTreeContainer:e}){let t=this.#P(e),n=this.#N(t);this.#O(),t0(n,this.#w())}render({containerWrapper:e,fileTreeContainer:t}){let n=this.#P(t??this.#f,e),r=this.#N(n);this.#O(),e0(r,this.#w())}#C(){return{initialViewportHeight:H0({initialVisibleRowCount:this.#d.initialVisibleRowCount,itemHeight:this.#d.itemHeight}),itemHeight:this.#d.itemHeight,overscan:this.#d.overscan,stickyFolders:this.#d.stickyFolders}}#w(){return{composition:this.#e,controller:this.#t,gitStatusByPath:this.#p?.statusByPath,ignoredGitDirectories:this.#p?.ignoredDirectoryPaths,directoriesWithGitChanges:this.#p?.directoriesWithChanges,icons:this.#m,instanceId:this.#n,renamingEnabled:this.#a,renderRowDecoration:this.#i,searchBlurBehavior:this.#o,searchEnabled:this.#s,searchFakeFocus:this.#c,slotHost:this.#l,...this.#C()}}#T(){let e=this.#f,t=this.#b;return e==null||t==null?null:{host:e,wrapper:t}}#E(e,t){let n=e.shadowRoot;n!=null&&(this.#k(n),this.#A(n)),this.#j(t)}#D(){let e=this.#r;if(e==null)return;let t=this.#t.getSelectionVersion();t!==this.#v&&(this.#v=t,e(this.#t.getSelectedPaths()))}#O(){let e=this.#e?.header?.render;if(e!=null){this.#l.setSlotContent(BG,e());return}this.#l.setSlotHtml(BG,this.#e?.header?.html??null)}#k(e){let t=G0(e).find(e=>W0(e)),n=U0(iq(lq(this.#m).set));n!=null&&(t!=null&&t.outerHTML===n.outerHTML||(t==null?e.prepend(n):t.replaceWith(n)))}#A(e){let t=G0(e),n=t.find(e=>W0(e)),r=t.filter(e=>e!==n),i=lq(this.#m).spriteSheet?.trim()??``;if(i.length===0){for(let e of r)e.remove();return}let a=U0(i);if(a==null){for(let e of r)e.remove();return}if(!(r.length===1&&r[0].outerHTML===a.outerHTML)){for(let e of r)e.remove();e.appendChild(a)}}#j(e){let t=lq(this.#m);t.colored&&oq(t.set)?e.dataset.fileTreeColoredIcons=`true`:delete e.dataset.fileTreeColoredIcons}#M(e){let t=e.querySelector(`style[${IG}]`);if(this.#g==null&&t instanceof HTMLStyleElement&&(this.#g=t),this.#h==null||this.#h===``){this.#g?.remove(),this.#g=void 0,this.#_=void 0;return}this.#g?.parentNode===e&&this.#_===this.#h||(this.#g??=document.createElement(`style`),this.#g.setAttribute(IG,``),this.#g.parentNode!==e&&e.appendChild(this.#g),this.#g.textContent=gq(this.#h),this.#_=this.#h)}#N(e){if(this.#b!=null)return this.#b;let t=e.shadowRoot;if(t==null)throw Error(`FileTree requires a shadow root`);let n=Array.from(t.children).filter(e=>e instanceof HTMLDivElement&&typeof e.dataset.fileTreeId==`string`&&e.dataset.fileTreeId.length>0),r=n.find(e=>e.dataset.fileTreeId===this.#n)??n[0];return r!=null&&(this.#n=r.dataset.fileTreeId??this.#n),this.#b=r??document.createElement(`div`),this.#b.dataset.fileTreeId=this.#n,this.#b.dataset.fileTreeVirtualizedWrapper=`true`,this.#E(e,this.#b),this.#b.parentNode!==t&&t.appendChild(this.#b),this.#b}#P(e,t){let n=e??this.#f??document.createElement(`file-tree-container`);t!=null&&n.parentNode!==t&&t.appendChild(n);let r=n.shadowRoot??n.attachShadow({mode:`open`});return Sq(n,r),this.#M(r),n.dataset.fileTreeVirtualized=`true`,n.style.display=`flex`,this.#F(n),this.#l.setHost(n),this.#f=n,n}#F(e){e.style.getPropertyValue(`--trees-item-height`)===``&&(e.style.setProperty(`--trees-item-height`,`${String(this.#u.itemHeight)}px`),this.#x=!0),e.style.getPropertyValue(`--trees-density-override`)===``&&(e.style.setProperty(`--trees-density-override`,String(this.#u.factor)),this.#S=!0)}#I(e){this.#x&&=(e.style.removeProperty(`--trees-item-height`),!1),this.#S&&=(e.style.removeProperty(`--trees-density-override`),!1)}};function q0(e){let[t]=(0,W.useState)(()=>new K0(e)),n=(0,W.useRef)({timeout:null,model:t});return(0,W.useEffect)(()=>{let{current:e}=n;return e.timeout!=null&&(clearTimeout(e.timeout),e.timeout=null),()=>{e.timeout=setTimeout(()=>e.model.cleanUp(),1)}},[]),{model:t}}function J0(e){let t=[];for(let n of e){if(typeof n!=`string`)continue;let e=n.trim();if(e.length===0)continue;let r=e.startsWith(`./`)?e.slice(2):e;r.length!==0&&t.push(r)}let n=new Set,r=[];for(let e of t)n.has(e)||(n.add(e),r.push(e));let i=new Set;for(let e of r){let t=e.split(`/`);for(let e=1;e<t.length;e++)i.add(t.slice(0,e).join(`/`))}let a=[],o=[];for(let e of r)i.has(e)?o.push(e):a.push(e);return{paths:a,dropped:o}}function Y0(e){let{paths:t}=J0(e),n=new Set;for(let e of t){let t=e.split(`/`);for(let e=1;e<t.length;e++)n.add(t.slice(0,e).join(`/`))}return Array.from(n)}var X0=class extends W.Component{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e,t){console.error(`FileTree crashed:`,e,t.componentStack)}render(){return this.state.hasError?(0,G.jsxs)(`div`,{style:{padding:16,textAlign:`center`,color:`var(--text-muted, #888)`},children:[(0,G.jsx)(`p`,{children:`⚠️ File tree failed to render.`}),(0,G.jsx)(`p`,{style:{fontSize:`0.85em`},children:`Reload the review to retry.`})]}):this.props.children}},Z0=(0,W.memo)(function({files:e,activeFile:t,commentCounts:n,viewedFiles:r,untrackedFiles:i,onFileClick:a,collapsed:o,onToggleCollapse:s,appliedExtensions:c=[],onApplyExtensions:l,chipFilter:u=`all`,onChipFilterChange:d,sinceLastFiles:f,sinceLastAvailable:p=!1}){let[m,h]=(0,W.useState)(``),[g,_]=(0,W.useState)(()=>hD(c));(0,W.useEffect)(()=>{_(hD(c))},[c]);let v=(0,W.useMemo)(()=>{let t=0;for(let n of e)t+=n.additionLines.length+n.deletionLines.length;return t},[e]),y=bD(e.length,v),b=(0,W.useMemo)(()=>yD(e.map(e=>e.name)),[e]),x=(0,W.useCallback)(e=>{let t=hD(e);_(t),l?.(t)},[l]),S=(0,W.useCallback)(e=>{_(t=>{let n=new Set(t);n.has(e)?n.delete(e):n.add(e);let r=hD([...n]);return y||l?.(r),r})},[y,l]),C=!gD(g,c),w=(0,W.useMemo)(()=>{let t=e;if(c.length>0&&(t=t.filter(e=>_D(e.name,c))),u===`unviewed`)t=t.filter(e=>!r.has(e.name));else if(u===`has-comments`)t=t.filter(e=>(n[e.name]??0)>0);else if(u===`since-last`){let e=f??new Set;t=t.filter(t=>e.has(t.name))}return t},[e,c,u,r,n,f]),{paths:T,dropped:E}=(0,W.useMemo)(()=>J0(w.map(e=>e.name)),[w]),D=(0,W.useMemo)(()=>new Set(T),[T]),O=(0,W.useMemo)(()=>Y0(T),[T]),k=(0,W.useMemo)(()=>w.filter(e=>D.has(e.name)).map(e=>{let t=`modified`;if(i.has(e.name))t=`untracked`;else if(e.prevName)t=`renamed`;else{let n=e.prevObjectId,r=e.newObjectId;n===`0000000`||n===`0000000000000000000000000000000000000000`?t=`added`:(r===`0000000`||r===`0000000000000000000000000000000000000000`)&&(t=`deleted`)}return{path:e.name,status:t}}),[w,i,D]),A=(0,W.useRef)({commentCounts:n,viewedFiles:r,sinceLastFiles:f??new Set});A.current={commentCounts:n,viewedFiles:r,sinceLastFiles:f??new Set};let{model:j}=q0({paths:T,fileTreeSearchMode:`hide-non-matches`,gitStatus:k,renderRowDecoration:(0,W.useCallback)(e=>{let t=e.item.path,{commentCounts:n,viewedFiles:r,sinceLastFiles:i}=A.current,a=r.has(t),o=n[t]??0,s=i.has(t),c=[],l=[];return s&&(c.push(`Δ`),l.push(`Changed since last review handoff`)),a&&(c.push(`✓`),l.push(`Viewed`)),o>0&&(c.push(`💬 ${o}`),l.push(`${o} comment${o>1?`s`:``}`)),c.length===0?null:{text:c.join(` `),title:l.join(` · `)}},[]),initialSelectedPaths:t&&D.has(t)?[t]:[],initialExpandedPaths:O,onSelectionChange:e=>{e.length>0&&e[0]!==t&&a(e[0])}});if((0,W.useEffect)(()=>{j.resetPaths(T,{initialExpandedPaths:O})},[T,O,j]),(0,W.useEffect)(()=>{j.setGitStatus(k)},[k,n,r,j]),(0,W.useEffect)(()=>{if(!(!t||!D.has(t)))try{j.focusPath(t),j.scrollToPath(t,{focus:!0,offset:`nearest`})}catch(e){console.error(`Failed to scroll to active file:`,e)}},[t,j,D]),(0,W.useEffect)(()=>{j.setSearch(m||null)},[m,j]),o)return(0,G.jsx)(`div`,{className:`ft ft-collapsed`,children:s&&(0,G.jsx)($T,{content:`Expand sidebar · b`,side:`right`,children:(0,G.jsx)(`button`,{className:`sidebar-toggle`,onClick:s,"aria-label":`Expand sidebar`,children:(0,G.jsx)(UO,{size:16})})})});let M=vD(c),N=e.length,P=w.length,F=N-P,I=b.length>0&&!!l;return(0,G.jsxs)(`div`,{className:`ft`,style:{display:`flex`,flexDirection:`column`,height:`100%`},children:[(0,G.jsxs)(`div`,{className:`ft-chrome`,children:[(0,G.jsxs)(`div`,{className:`ft-search-row`,children:[s&&(0,G.jsx)($T,{content:`Collapse sidebar · b`,side:`right`,children:(0,G.jsx)(`button`,{className:`sidebar-toggle`,onClick:s,"aria-label":`Collapse sidebar`,children:(0,G.jsx)(HO,{size:16})})}),(0,G.jsxs)(`div`,{className:`ft-search-wrapper`,children:[(0,G.jsx)(ZO,{size:14,className:`ft-search-icon`,"aria-hidden":`true`}),(0,G.jsx)(`input`,{type:`text`,placeholder:`Filter files…`,value:m,onChange:e=>h(e.target.value),className:`ft-search-input`,"aria-label":`Filter files`})]})]}),I&&(0,G.jsxs)(`div`,{className:`ft-ext-panel`,"aria-label":`Filter by file extension`,children:[(0,G.jsxs)(`div`,{className:`ft-ext-header`,children:[(0,G.jsx)(mO,{size:12,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`ft-ext-title`,children:`Extensions`}),c.length>0&&(0,G.jsxs)(`span`,{className:`ft-ext-applied`,title:M,children:[c.length,` applied`]}),C&&y&&(0,G.jsx)(`span`,{className:`ft-ext-pending`,children:`unsaved`})]}),(0,G.jsx)(`div`,{className:`ft-ext-chips`,role:`group`,"aria-label":`File extensions`,children:b.map(e=>{let t=g.includes(e);return(0,G.jsxs)(`button`,{type:`button`,className:`ft-ext-chip ${t?`ft-ext-chip-active`:``}`,"aria-pressed":t,title:t?`Remove .${e}`:`Include .${e}`,onClick:()=>S(e),children:[`.`,e]},e)})}),(0,G.jsxs)(`div`,{className:`ft-ext-actions`,children:[y?(0,G.jsxs)(`button`,{type:`button`,className:`ft-ext-apply`,disabled:!C,onClick:()=>x(g),title:`Apply the selected extensions to the file tree and diff list`,children:[(0,G.jsx)(UD,{size:12}),`Apply`,C&&g.length>0?` (${g.length})`:C?` (all)`:``]}):(0,G.jsx)(`span`,{className:`ft-ext-hint`,children:`Live filter`}),(g.length>0||c.length>0)&&(0,G.jsxs)(`button`,{type:`button`,className:`ft-ext-clear`,onClick:()=>x([]),"aria-label":`Clear extension filter`,title:`Show all extensions`,children:[(0,G.jsx)(ck,{size:12}),`Clear`]})]})]}),d&&(0,G.jsx)(`div`,{className:`ft-chips`,role:`group`,"aria-label":`Smart file filters`,children:[{id:`all`,label:`All`},{id:`unviewed`,label:`Unviewed`},{id:`has-comments`,label:`Comments`},...p?[{id:`since-last`,label:`Since last`}]:[]].map(e=>(0,G.jsx)(`button`,{type:`button`,className:`ft-chip ${u===e.id?`ft-chip-active`:``}`,"aria-pressed":u===e.id,title:e.id===`since-last`?`Files added or modified since the last Send to agent`:void 0,onClick:()=>d(e.id),children:e.label},e.id))}),F>0&&(0,G.jsx)(`div`,{className:`ft-filter-status`,children:(0,G.jsxs)(`span`,{className:`ft-filter-status-text`,title:M,children:[P,` of `,N]})})]}),E.length>0&&(0,G.jsxs)(`div`,{className:`ft-collision-warning`,title:E.join(`
3855
- `),style:{fontSize:`0.75rem`,padding:`4px 8px`,background:`var(--bg-warning, #fff3cd)`,color:`var(--text-warning, #856404)`},children:[`⚠ `,E.length,` file(s) hidden due to path collision (hover for details)`]}),(0,G.jsx)(`div`,{style:{flex:1,minHeight:0,overflow:`auto`},children:(0,G.jsx)(X0,{children:(0,G.jsx)(JG,{model:j,className:`ft-pierre-tree`})})})]})});function Q0(e){return e.status===`resolved`?`resolved`:e.replies?.length?`replied`:`open`}var $0=[{key:`all`,label:`All`},{key:`open`,label:`Open`},{key:`replied`,label:`Replied`},{key:`resolved`,label:`Resolved`}],e2=[{key:`all`,label:`Any`},{key:`blocking`,label:`Blocking`},{key:`nit`,label:`Nit`},{key:`question`,label:`Question`},{key:`praise`,label:`Praise`},{key:`outdated`,label:`Outdated`}];function t2({comments:e,resolveComment:t,unresolveComment:n,removeComment:r,addReply:i,editComment:a,editReply:o,removeReply:s}){let[c,l]=(0,W.useState)(`all`),[u,d]=(0,W.useState)(`all`),f=(0,W.useMemo)(()=>{let t={all:e.length,open:0,replied:0,resolved:0};for(let n of e)t[Q0(n)]++;return t},[e]),p=(0,W.useMemo)(()=>{let t={all:e.length,blocking:0,nit:0,question:0,praise:0,none:0,outdated:0};for(let n of e){n.outdated&&t.outdated++;let e=n.severity&&n.severity!==`none`?n.severity:`none`;t[e]++}return t},[e]),m=(0,W.useMemo)(()=>[...e].sort((e,t)=>t.createdAt-e.createdAt),[e]),h=(0,W.useMemo)(()=>m.filter(e=>c!==`all`&&Q0(e)!==c?!1:u===`outdated`?!!e.outdated:!(u!==`all`&&(e.severity&&e.severity!==`none`?e.severity:null)!==u)),[m,c,u]),g=(0,W.useMemo)(()=>e.some(e=>e.outdated||e.severity&&e.severity!==`none`),[e]);return e.length===0?null:(0,G.jsxs)(`div`,{className:`cmt`,role:`complementary`,"aria-label":`Review comments`,children:[(0,G.jsxs)(`div`,{className:`cmt-head`,children:[(0,G.jsxs)(`div`,{className:`cmt-title`,children:[(0,G.jsx)(PO,{size:14,"aria-hidden":`true`}),(0,G.jsx)(`span`,{children:`Comments`}),(0,G.jsx)(`span`,{className:`cmt-total`,children:e.length})]}),(0,G.jsx)(`div`,{className:`cmt-filters`,role:`tablist`,"aria-label":`Filter by status`,children:$0.map(e=>(0,G.jsxs)(`button`,{role:`tab`,"aria-selected":c===e.key,className:`cmt-filter ${c===e.key?`cmt-filter-active`:``}`,onClick:()=>l(e.key),disabled:e.key!==`all`&&f[e.key]===0,children:[e.label,(0,G.jsx)(`span`,{className:`cmt-filter-count`,children:f[e.key]})]},e.key))}),g&&(0,G.jsx)(`div`,{className:`cmt-filters cmt-filters-severity`,role:`tablist`,"aria-label":`Filter by severity`,children:e2.filter(e=>e.key===`all`||(p[e.key]??0)>0).map(e=>(0,G.jsxs)(`button`,{role:`tab`,"aria-selected":u===e.key,className:`cmt-filter cmt-filter-sev ${u===e.key?`cmt-filter-active`:``}`,"data-severity":e.key,onClick:()=>d(e.key),children:[e.label,(0,G.jsx)(`span`,{className:`cmt-filter-count`,children:p[e.key]})]},e.key))})]}),(0,G.jsx)(`ul`,{className:`cmt-list`,"aria-label":`Comment threads`,children:h.length===0?(0,G.jsx)(`li`,{className:`cmt-empty`,children:`No matching comments`}):h.map(e=>(0,G.jsx)(n2,{comment:e,resolveComment:t,unresolveComment:n,removeComment:r,addReply:i,editComment:a,editReply:o,removeReply:s},e.id))})]})}function n2({comment:e,resolveComment:t,unresolveComment:n,removeComment:r,addReply:i,editComment:a,editReply:o,removeReply:s}){let c=Q0(e),l=e.status===`resolved`,u=e.replies?.length??0,{haptic:d,sound:f}=pD(),[p,m]=(0,W.useState)(!1),[h,g]=(0,W.useState)(!1),[_,v]=(0,W.useState)(!1),[y,b]=(0,W.useState)(!1),[x,S]=(0,W.useState)(null),C=(0,W.useCallback)(()=>{e.lineNumber>0?oE(e.filePath,e.lineNumber,e.side):document.getElementById(`file-${e.filePath}`)?.scrollIntoView({block:`start`})},[e.filePath,e.lineNumber,e.side]),w=e.lineNumber>0?`:${e.lineNumber}`:` · file`;return(0,G.jsxs)(`li`,{className:`cmt-card cmt-card-${c} ${l?`cmt-card-resolved`:``}`,children:[(0,G.jsxs)(`div`,{className:`cmt-card-top`,children:[(0,G.jsx)(`span`,{className:`cmt-dot cmt-dot-${c}`,"aria-hidden":`true`}),(0,G.jsxs)(`button`,{className:`cmt-loc`,onClick:C,title:`Jump to ${e.filePath}${w}`,children:[(0,G.jsx)(`span`,{className:`cmt-loc-file`,children:tE(e.filePath)}),(0,G.jsx)(`span`,{className:`cmt-loc-line`,children:w})]}),e.severity&&e.severity!==`none`&&(0,G.jsx)(`span`,{className:`comment-severity-badge`,"data-severity":e.severity,children:e.severity}),e.outdated&&(0,G.jsxs)(`span`,{className:`comment-outdated-badge`,title:`Anchored code no longer matches`,children:[(0,G.jsx)(ik,{size:10}),` outdated`]}),(0,G.jsx)(`span`,{className:`cmt-time`,children:eE(e.createdAt)})]}),e.lineContent?.trim()&&(0,G.jsx)(`button`,{className:`cmt-codeline`,onClick:C,title:`Jump to line`,children:(0,G.jsx)(`code`,{children:e.lineContent.trim().slice(0,160)})}),_?(0,G.jsx)(ZW,{draftKey:`tracker-edit:${e.id}`,initialBody:e.body,onCancel:()=>v(!1),onSubmit:t=>{a(e.id,t),v(!1)}}):(0,G.jsx)(gH,{content:e.body,className:`cmt-body markdown-body`}),(0,G.jsxs)(`div`,{className:`cmt-actions`,children:[(0,G.jsxs)(`button`,{className:`cmt-act`,onClick:()=>{g(e=>!e),m(!0)},title:`Reply`,children:[(0,G.jsx)(sO,{size:13,"aria-hidden":`true`}),(0,G.jsx)(`span`,{children:`Reply`})]}),(0,G.jsx)(`button`,{className:`cmt-act`,onClick:()=>v(e=>!e),title:`Edit comment`,children:(0,G.jsx)(GO,{size:13,"aria-hidden":`true`})}),(0,G.jsx)(`button`,{className:`cmt-act ${l?`cmt-act-resolved`:``}`,onClick:()=>{l?(n(e.id),d(`light`),f(`toggle`)):(t(e.id),d(`success`),f(`resolve`))},title:l?`Reopen`:`Resolve`,children:l?(0,G.jsx)(YO,{size:13,"aria-hidden":`true`}):(0,G.jsx)(UD,{size:13,"aria-hidden":`true`})}),y?(0,G.jsxs)(`span`,{className:`cmt-confirm`,children:[(0,G.jsx)(`button`,{className:`cmt-act cmt-act-danger`,onClick:()=>{r(e.id),d(`medium`),f(`remove`)},title:`Confirm delete`,children:`Delete?`}),(0,G.jsx)(`button`,{className:`cmt-act`,onClick:()=>b(!1),title:`Cancel`,children:(0,G.jsx)(ck,{size:13,"aria-hidden":`true`})})]}):(0,G.jsx)(`button`,{className:`cmt-act cmt-act-del`,onClick:()=>b(!0),title:`Delete comment`,children:(0,G.jsx)(rk,{size:13,"aria-hidden":`true`})})]}),u>0&&(0,G.jsxs)(`button`,{className:`cmt-thread-toggle`,onClick:()=>m(e=>!e),"aria-expanded":p,children:[(0,G.jsx)(KD,{size:12,className:`cmt-chev ${p?`cmt-chev-open`:``}`,"aria-hidden":`true`}),u,` `,u===1?`reply`:`replies`]}),p&&u>0&&(0,G.jsx)(`ul`,{className:`cmt-replies`,children:e.replies.map(t=>(0,G.jsx)(r2,{reply:t,onEdit:n=>o(e.id,t.id,n),onRemove:()=>s(e.id,t.id)},t.id))}),h&&(0,G.jsxs)(`div`,{className:`cmt-reply-composer`,children:[(0,G.jsx)(ZW,{draftKey:`reply:${e.id}`,onCancel:()=>{g(!1),S(null)},onSubmit:async t=>{S(null),m(!0);try{await i(e.id,t),d(`light`),f(`success`),g(!1)}catch(e){S(e instanceof Error?e.message:`Failed to save reply`)}}}),x&&(0,G.jsx)(`p`,{className:`cmt-reply-error`,role:`alert`,children:x})]})]})}function r2({reply:e,onEdit:t,onRemove:n}){let r=e.role===`agent`||e.role==null&&!!e.model,[i,a]=(0,W.useState)(!1);return(0,G.jsxs)(`li`,{className:`cmt-reply ${r?`cmt-reply-agent`:``}`,children:[(0,G.jsxs)(`div`,{className:`cmt-reply-head`,children:[(0,G.jsxs)(`span`,{className:`cmt-reply-who ${r?`cmt-reply-who-agent`:``}`,children:[r?(0,G.jsx)(VD,{size:11,"aria-hidden":`true`}):null,r?e.model||`Agent`:`You`]}),(0,G.jsx)(`span`,{className:`cmt-time`,children:eE(e.createdAt)}),!r&&(0,G.jsx)(`button`,{className:`cmt-reply-act`,onClick:()=>a(e=>!e),title:`Edit reply`,children:(0,G.jsx)(GO,{size:11,"aria-hidden":`true`})}),(0,G.jsx)(`button`,{className:`cmt-reply-act cmt-act-del`,onClick:n,title:`Delete reply`,children:(0,G.jsx)(rk,{size:11,"aria-hidden":`true`})})]}),i?(0,G.jsx)(ZW,{draftKey:`tracker-reply-edit:${e.id}`,initialBody:e.body,onCancel:()=>a(!1),onSubmit:e=>{t(e),a(!1)}}):(0,G.jsx)(gH,{content:e.body,className:`cmt-reply-body markdown-body`})]})}function i2(e,t){let[n,r]=(0,W.useState)(e);return(0,W.useEffect)(()=>{let n=setTimeout(()=>r(e),t);return()=>clearTimeout(n)},[e,t]),n}function a2(e){return e===`symbols`?2:e===`text`?1:0}function o2({scope:e,query:t,regex:n,changedOnly:r,changedPaths:i,open:a}){let o=i2(t,130).trim(),s=a&&o.length>=a2(e);return{...nt({queryKey:[`search`,e,o,e===`text`?n:!1,r,r?i:null],enabled:s,placeholderData:B,staleTime:5e3,queryFn:async({signal:t})=>{let a=await fetch(`/api/search`,{method:`POST`,headers:{"content-type":`application/json`},signal:t,body:JSON.stringify({scope:e,query:o,regex:e===`text`?n:!1,changedPaths:r?i:void 0})});if(!a.ok)throw Error(`Search request failed (${a.status})`);return await a.json()}}),enabled:s,pending:t.trim()!==o,minLength:a2(e)}}function s2(e,t){fetch(`/api/search/track`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({query:e,path:t})}).catch(()=>{})}function c2(e){return nt({queryKey:[`file-text`,e],enabled:!!e,staleTime:300*1e3,queryFn:async({signal:t})=>{let n=await fetch(`/api/file-text?path=${encodeURIComponent(e)}&version=new`,{signal:t});if(n.status===415)return{content:null,missing:!1,binary:!0};if(!n.ok)throw Error(`Failed to load file (${n.status})`);let r=await n.json();if(r.error){if(/binary/i.test(r.error))return{content:null,missing:!1,binary:!0};throw Error(r.error)}return r.missing?{content:null,missing:!0,binary:!1}:{content:r.content??``,missing:!1,binary:!1}}})}var l2=[{pattern:/^\s*(?:export\s+)?(?:async\s+)?function\s+(\w[\w$]*)\s*[<(]/i,kind:`function`,nameGroup:1},{pattern:/^\s*(?:export\s+)?(?:const|let|var)\s+(\w[\w$]*)\s*=\s*(?:async\s*)?\(/i,kind:`function`,nameGroup:1},{pattern:/^\s*(?:export\s+)?(?:const|let|var)\s+(\w[\w$]*)\s*=\s*(?:async\s+)?function/i,kind:`function`,nameGroup:1},{pattern:/^\s*(?:export\s+)?class\s+(\w[\w$]*)/i,kind:`class`,nameGroup:1},{pattern:/^\s*(?:export\s+)?interface\s+(\w[\w$]*)/i,kind:`interface`,nameGroup:1},{pattern:/^\s*(?:export\s+)?type\s+(\w[\w$]*)\s*=/i,kind:`type`,nameGroup:1},{pattern:/^\s*(?:export\s+)?enum\s+(\w[\w$]*)/i,kind:`enum`,nameGroup:1},{pattern:/^\s*(?:export\s+)?(?:const|let|var)\s+(\w[\w$]*)\s*=/i,kind:`variable`,nameGroup:1},{pattern:/^\s*def\s+(\w[\w$]*)\s*\(/i,kind:`function`,nameGroup:1},{pattern:/^\s*(?:pub(?:\s*\(\w+\))?\s+)?fn\s+(\w[\w$]*)\s*[<(]/i,kind:`function`,nameGroup:1},{pattern:/^\s*(?:pub(?:\s*\(\w+\))?\s+)?struct\s+(\w[\w$]*)/i,kind:`struct`,nameGroup:1},{pattern:/^\s*(?:pub(?:\s*\(\w+\))?\s+)?enum\s+(\w[\w$]*)/i,kind:`enum`,nameGroup:1},{pattern:/^\s*(?:pub(?:\s*\(\w+\))?\s+)?impl\s+(\w[\w$]*)/i,kind:`impl`,nameGroup:1},{pattern:/^\s*(?:pub(?:\s*\(\w+\))?\s+)?trait\s+(\w[\w$]*)/i,kind:`trait`,nameGroup:1},{pattern:/^\s*func\s+(\w[\w$]*)\s*\(/i,kind:`function`,nameGroup:1},{pattern:/^\s*(?:func\s+)?\((\w[\w$]*)\s+\*?\w+\)\s+(\w[\w$]*)\s*\(/i,kind:`method`,nameGroup:2}];function u2(e){for(let{pattern:t,kind:n,nameGroup:r}of l2){let i=t.exec(e);if(i){let e=i[r];if(e)return{name:e,kind:n}}}return null}function d2(e){return new Set(e.map(e=>e.name))}function f2(e){let t=new Set;for(let n of e)n.side===`additions`&&t.add(`${n.filePath}:${n.lineNumber}`);return t}function p2(e,t){return e.kind===`file`?t.diffFileSet.has(e.path)?{type:`scrollFile`,path:e.path}:{type:`preview`,path:e.path}:t.diffFileSet.has(e.path)?{type:`scrollLine`,path:e.path,line:e.line,side:`additions`,match:e.match}:{type:`preview`,path:e.path,line:e.line,match:e.match}}function m2(e,t){if(!t||t.length===0)return null;let n=!0;for(let t=0;t<e.length;t++)if(e.charCodeAt(t)>127){n=!1;break}let r=n?e.length:g2(e),i=null;if(!n){i=Array(r+1).fill(-1);let t=0;for(let n=0;n<e.length;){i[t]=n;let r=e.codePointAt(n);n+=r>65535?2:1,t+=h2(r)}i[r]=e.length}let a=[];for(let e of t){let[t,o]=e;if(!(t==null||o==null||o<=t||t<0||o>r))if(n)a.push([t,o]);else{let e=i[t],n=i[o];e>=0&&n>=0&&a.push([e,n])}}return a.length?a:null}function h2(e){return e<=127?1:e<=2047?2:e<=65535?3:4}function g2(e){let t=0;for(let n=0;n<e.length;){let r=e.codePointAt(n);t+=h2(r),n+=r>65535?2:1}return t}function _2(e,t,n){let r=((t?m2(e,t):null)??v2(e,n)).map(([t,n])=>[Math.max(0,t),Math.min(e.length,n)]).filter(([e,t])=>t>e).sort((e,t)=>e[0]-t[0]),i=[];for(let[e,t]of r){let n=i[i.length-1];n&&e<=n[1]?n[1]=Math.max(n[1],t):i.push([e,t])}return i}function v2(e,t){let n=t.trim();if(!n)return[];let r=[],i=e.toLowerCase(),a=n.toLowerCase(),o=0;for(;r.length<50;){let e=i.indexOf(a,o);if(e===-1)break;r.push([e,e+a.length]),o=e+a.length}return r}function y2(e,t){let n=e.toLowerCase(),r=t.toLowerCase();if(!r)return 0;let i=0,a=0,o=-1;for(let e=0;e<n.length&&i<r.length;e++)n[e]===r[i]&&(a+=o>=0&&e-o===1?5:1,o=e,i++);return i===r.length?a-e.length*.01:null}function b2(e){let t=[],n=new Set;for(let r of e){if(r.side!==`additions`)continue;let e=u2(r.content);if(e){let i=`${r.filePath}:${r.lineNumber}:${e.name}`;if(n.has(i))continue;n.add(i);let a=r.content.indexOf(e.name),o=a>=0?[[a,a+e.name.length]]:[];t.push({name:e.name,kind:e.kind,path:r.filePath,fileName:r.filePath.split(`/`).pop()||``,line:r.lineNumber,content:r.content,matchRanges:o,gitStatus:``})}}return t}var x2=[{key:`all`,label:`All`,Icon:CO},{key:`files`,label:`Files`,Icon:fO},{key:`text`,label:`Text`,Icon:ak},{key:`symbols`,label:`Symbols`,Icon:iO}],S2={function:`ƒ`,method:`m`,class:`C`,variable:`v`,interface:`I`,type:`T`,enum:`E`,struct:`S`,impl:`i`,trait:`t`};function C2(e){switch(e){case`modified`:return{label:`M`,title:`modified`};case`untracked`:return{label:`U`,title:`untracked`};case`staged_new`:case`added`:return{label:`A`,title:`added`};case`deleted`:return{label:`D`,title:`deleted`};case`renamed`:return{label:`R`,title:`renamed`};case``:case`clean`:return null;default:return{label:e.charAt(0).toUpperCase(),title:e}}}function w2({text:e,ranges:t}){if(!t.length)return(0,G.jsx)(G.Fragment,{children:e});let n=[],r=0;return t.forEach(([t,i],a)=>{t>r&&n.push(e.slice(r,t)),n.push((0,G.jsx)(`mark`,{className:`searchpalette-mark`,children:e.slice(t,i)},a)),r=i}),r<e.length&&n.push(e.slice(r)),(0,G.jsx)(G.Fragment,{children:n})}function T2(e,t){let n=t.trim().toLowerCase();if(!n)return[];let r=e.toLowerCase(),i=[],a=0;for(let e=0;e<r.length&&a<n.length;e++)if(r[e]===n[a]){let t=i[i.length-1];t&&t[1]===e?t[1]=e+1:i.push([e,e+1]),a++}return a===n.length?i:[]}var E2=e=>{let t=e.lastIndexOf(`/`);return t===-1?``:e.slice(0,t+1)};function D2(e,t){let n=e.length-e.trimStart().length,r=e.slice(n),i=n;if(r.length>400){let e=t.find(e=>e[0]>=n),a=e?Math.max(0,e[0]-n-24):0,o=a>0?`…`:``;r=o+r.slice(a,a+400),i=n+a-o.length}let a=t.map(([e,t])=>[e-i,t-i]).filter(([e,t])=>t>0&&e<r.length).map(([e,t])=>[Math.max(0,e),Math.min(r.length,t)]);return{text:r,ranges:a}}function O2({isOpen:e,onClose:t,initialScope:n,files:r,changedEntries:i,customMode:a,staged:o,onNavigateFile:s,theme:c,fontSize:l,monoFontFamily:u,defaultTabSize:d,lineWrap:f,showLineNumbers:p,lineHoverHighlight:m}){let[h,g]=(0,W.useState)(``),[_,v]=(0,W.useState)(n),[y,b]=(0,W.useState)(!1),[x,S]=(0,W.useState)(!1),[C,w]=(0,W.useState)(0),[T,E]=(0,W.useState)(null),D=(0,W.useRef)(null),O=(0,W.useRef)(null),k=(0,W.useMemo)(()=>d2(r),[r]),A=(0,W.useMemo)(()=>f2(i),[i]),j=o2({scope:_,query:h,regex:y,changedOnly:x,changedPaths:(0,W.useMemo)(()=>[...k],[k]),open:e}),M=j.data&&j.data.scope===_?j.data:void 0,N=M?.error,P=nt({queryKey:[`repo-files-fallback`],enabled:e&&_===`files`&&!!N,staleTime:6e4,queryFn:async()=>(await(await fetch(`/api/repo-files`)).json()).files??[]});(0,W.useEffect)(()=>{e&&(g(``),v(n),b(!1),S(!1),w(0),E(null))},[e,n]),(0,W.useEffect)(()=>{e&&D.current?.focus()},[e]),(0,W.useEffect)(()=>{w(0),E(null)},[h,_]);let F=(0,W.useMemo)(()=>{let e=h.trim(),t=e.toLowerCase(),n=[];if(_===`files`&&N&&P.data)n=P.data.map(e=>({path:e,score:t?y2(e,t):0})).filter(e=>e.score!==null).sort((e,t)=>t.score-e.score).slice(0,60).map(({path:e})=>({kind:`file`,key:e,hit:{path:e,fileName:tE(e),gitStatus:``,matchType:``,exact:!1},inDiff:k.has(e)}));else if(M)M.scope===`files`?n=M.items.map(e=>({kind:`file`,key:e.path,hit:e,inDiff:k.has(e.path)})):M.scope===`text`?n=M.items.map(e=>({kind:`text`,key:`${e.path}:${e.line}:${e.col}`,hit:e,inDiff:k.has(e.path)})):M.scope===`symbols`?n=M.items.map(e=>({kind:`symbol`,key:`${e.path}:${e.line}:${e.name}`,hit:e,inDiff:k.has(e.path)})):M.scope===`all`&&(n=M.items.map(e=>e.kind===`file`?{kind:`file`,key:`all:${e.hit.path}`,hit:e.hit,inDiff:k.has(e.hit.path)}:e.kind===`text`?{kind:`text`,key:`all:${e.hit.path}:${e.hit.line}:${e.hit.col}`,hit:e.hit,inDiff:k.has(e.hit.path)}:{kind:`symbol`,key:`all:${e.hit.path}:${e.hit.line}:${e.hit.name}`,hit:e.hit,inDiff:k.has(e.hit.path)}));else if(_===`symbols`&&e.length<2){let e=b2(i);n=(t?e.filter(e=>e.name.toLowerCase().includes(t)):e).map(e=>({kind:`symbol`,key:`local:${e.path}:${e.line}:${e.name}`,hit:e,inDiff:!0}))}let r=n.filter(e=>e.inDiff),a=n.filter(e=>!e.inDiff);return[...r,...a]},[M,N,P.data,_,k,h,i]);(0,W.useEffect)(()=>{C>=F.length&&w(0)},[F.length,C]),(0,W.useEffect)(()=>{(O.current?.querySelector(`[data-focused="true"]`))?.scrollIntoView({block:`nearest`})},[C,F]);let I=(0,W.useMemo)(()=>({diffFileSet:k,changedKeys:A,customMode:a,staged:o}),[k,A,a,o]),L=(0,W.useCallback)((e,n)=>{let r=F[e];if(!r)return;let i=r.hit.path,a=h.trim();if(s2(a,i),r.kind===`file`){if(n){E({path:i});return}p2({kind:`file`,path:i},I).type===`scrollFile`?(t(),requestAnimationFrame(()=>s(i))):E({path:i});return}let o=r.hit.line,c=r.kind===`symbol`?r.hit.name:a;if(n){E({path:i,line:o,match:c});return}let l=p2({kind:`line`,path:i,line:o,match:c},I);l.type===`scrollLine`?(t(),requestAnimationFrame(()=>oE(i,l.line,l.side,l.match))):E({path:i,line:o,match:c})},[F,h,I,t,s]),R=(0,W.useCallback)(e=>{v(t=>x2[(x2.findIndex(e=>e.key===t)+e+x2.length)%x2.length].key)},[]),z=(0,W.useCallback)(e=>{if(e.key===`PageDown`){e.preventDefault(),document.querySelector(`.searchpalette-preview-body`)?.scrollBy({top:150,behavior:`auto`});return}if(e.key===`PageUp`){e.preventDefault(),document.querySelector(`.searchpalette-preview-body`)?.scrollBy({top:-150,behavior:`auto`});return}if(e.altKey&&(e.key===`ArrowDown`||e.key===`j`)){e.preventDefault(),document.querySelector(`.searchpalette-preview-body`)?.scrollBy({top:80,behavior:`auto`});return}if(e.altKey&&(e.key===`ArrowUp`||e.key===`k`)){e.preventDefault(),document.querySelector(`.searchpalette-preview-body`)?.scrollBy({top:-80,behavior:`auto`});return}if(e.shiftKey&&(e.key===`ArrowDown`||e.key===`j`)){e.preventDefault(),document.querySelector(`.searchpalette-preview-body`)?.scrollBy({top:80,behavior:`auto`});return}if(e.shiftKey&&(e.key===`ArrowUp`||e.key===`k`)){e.preventDefault(),document.querySelector(`.searchpalette-preview-body`)?.scrollBy({top:-80,behavior:`auto`});return}if(e.key===`Tab`){e.preventDefault(),R(e.shiftKey?-1:1);return}let t=e=>{F.length!==0&&w(t=>(t+e+F.length)%F.length)};e.key===`ArrowDown`||e.ctrlKey&&(e.key===`n`||e.key===`j`)?(e.preventDefault(),t(1)):e.key===`ArrowUp`||e.ctrlKey&&(e.key===`p`||e.key===`k`)?(e.preventDefault(),t(-1)):e.ctrlKey&&e.key===`d`?(e.preventDefault(),t(8)):e.ctrlKey&&e.key===`u`?(e.preventDefault(),t(-8)):e.key===`Enter`&&(e.preventDefault(),L(C,e.metaKey||e.ctrlKey))},[R,F.length,L,C]),ee=(0,W.useCallback)(()=>{T?E(null):t()},[T,t]),te=M?.total??F.length,ne=(j.isFetching||j.pending)&&j.enabled,B=M?.indexing;return(0,G.jsxs)(LW,{open:e,onClose:ee,className:`searchpalette ui-modal--palette ${T?`searchpalette--split`:``}`,ariaLabel:`Search files, text and symbols`,initialFocus:D,onKeyDown:z,children:[(0,G.jsxs)(`div`,{className:`searchpalette-header`,children:[(0,G.jsxs)(`div`,{className:`searchpalette-input-row`,children:[(0,G.jsx)(ZO,{size:15,className:`searchpalette-search-icon`}),(0,G.jsx)(`input`,{ref:D,type:`text`,className:`searchpalette-input`,placeholder:_===`all`?`Search files, text and symbols…`:_===`files`?`Search files in the repo…`:_===`text`?y?`Search by regular expression…`:`Search file contents…`:`Search symbol definitions…`,value:h,onChange:e=>g(e.target.value),role:`combobox`,"aria-expanded":F.length>0,"aria-controls":`searchpalette-list`,"aria-activedescendant":F[C]?`sp-row-${C}`:void 0,spellCheck:!1,autoComplete:`off`}),ne&&(0,G.jsx)(DO,{size:14,className:`searchpalette-spinner spin`}),h&&(0,G.jsx)(`button`,{className:`searchpalette-clear`,onClick:()=>g(``),"aria-label":`Clear search`,children:(0,G.jsx)(ck,{size:14})}),(0,G.jsx)(`span`,{className:`searchpalette-count`,children:B?`indexing…`:M?`${F.length} of ${te}`:``})]}),(0,G.jsxs)(`div`,{className:`searchpalette-controls`,children:[(0,G.jsx)(`div`,{className:`searchpalette-scopes`,role:`tablist`,"aria-label":`Search scope`,children:x2.map(e=>(0,G.jsxs)(`button`,{role:`tab`,"aria-selected":_===e.key,className:`searchpalette-scope ${_===e.key?`is-active`:``}`,onClick:()=>v(e.key),children:[(0,G.jsx)(e.Icon,{size:12}),e.label]},e.key))}),(0,G.jsxs)(`div`,{className:`searchpalette-toggles`,children:[_===`text`&&(0,G.jsx)(`button`,{className:`searchpalette-toggle ${y?`is-active`:``}`,onClick:()=>b(e=>!e),title:`Regular expression`,"aria-pressed":y,children:`.*`}),(0,G.jsxs)(`button`,{className:`searchpalette-toggle ${x?`is-active`:``}`,onClick:()=>S(e=>!e),title:`Limit to files in the current diff`,"aria-pressed":x,children:[(0,G.jsx)(_O,{size:12}),`Changed`]})]})]}),M?.regexError&&(0,G.jsx)(`div`,{className:`searchpalette-note`,children:`Invalid regex — showing literal matches`})]}),(0,G.jsxs)(`div`,{className:`searchpalette-body`,children:[(0,G.jsx)(`div`,{className:`searchpalette-list`,id:`searchpalette-list`,role:`listbox`,ref:O,children:(0,G.jsx)(k2,{rows:F,scope:_,query:h,focusedIndex:C,engineError:N,isFetching:j.isFetching,enabled:j.enabled,minLength:j.minLength,regex:y,changedOnly:x,onHover:w,onActivate:(e,t)=>L(e,t?t.metaKey||t.ctrlKey:!1),onRetry:()=>j.refetch()})}),T&&(0,G.jsx)(F2,{preview:T,theme:c,fontSize:l,monoFontFamily:u,defaultTabSize:d,lineWrap:f,showLineNumbers:p,lineHoverHighlight:m,onClose:()=>E(null),inDiff:k.has(T.path),onGoToDiff:()=>{t(),T.line?requestAnimationFrame(()=>oE(T.path,T.line,`additions`,T.match)):requestAnimationFrame(()=>s(T.path))}},T.path)]}),(0,G.jsxs)(`div`,{className:`searchpalette-foot`,children:[(0,G.jsxs)(`span`,{children:[(0,G.jsx)(`kbd`,{children:`Tab`}),` scope`]}),(0,G.jsxs)(`span`,{children:[(0,G.jsx)(`kbd`,{children:`↑↓`}),` move`]}),(0,G.jsxs)(`span`,{children:[(0,G.jsx)(`kbd`,{children:`↵`}),` `,T&&k.has(T.path)?`view in diff`:`open`]}),(0,G.jsxs)(`span`,{children:[(0,G.jsx)(`kbd`,{children:`⌘↵`}),` peek`]}),T&&(0,G.jsxs)(`span`,{children:[(0,G.jsx)(`kbd`,{children:`⌥↑↓`}),` / `,(0,G.jsx)(`kbd`,{children:`⇧↑↓`}),` scroll preview`]}),(0,G.jsxs)(`span`,{children:[(0,G.jsx)(`kbd`,{children:`esc`}),` `,T?`back`:`close`]})]})]})}function k2({rows:e,scope:t,query:n,focusedIndex:r,engineError:i,isFetching:a,enabled:o,minLength:s,regex:c,changedOnly:l,onHover:u,onActivate:d,onRetry:f}){return i&&t!==`files`?(0,G.jsxs)(`div`,{className:`searchpalette-state searchpalette-state--error`,children:[(0,G.jsx)(`p`,{children:`Search engine unavailable`}),(0,G.jsx)(`span`,{className:`searchpalette-state-detail`,children:i}),(0,G.jsx)(`button`,{className:`searchpalette-retry`,onClick:f,children:`Retry`})]}):e.length>0?(0,G.jsx)(G.Fragment,{children:e.map((e,t)=>(0,G.jsx)(A2,{row:e,index:t,query:n,focused:t===r,onHover:u,onActivate:d},e.key))}):o?a?(0,G.jsxs)(`div`,{className:`searchpalette-state`,children:[(0,G.jsx)(DO,{size:15,className:`spin`}),` Searching…`]}):(0,G.jsxs)(`div`,{className:`searchpalette-state`,children:[(0,G.jsxs)(`p`,{children:[`No matches`,n.trim()?` for “${n.trim()}”`:``]}),(0,G.jsx)(`span`,{className:`searchpalette-state-detail`,children:l?`Searching only changed files — turn off Changed to search the whole repo`:t===`text`&&!c?`Try Tab to switch scope, or enable .* for regex`:`Try Tab to switch scope`})]}):(0,G.jsx)(`div`,{className:`searchpalette-state`,children:t===`symbols`?n.trim()?`No matching symbols in the current diff. Type at least 2 characters to search the whole repository.`:`No symbols found in the current diff. Type at least 2 characters to search the whole repository.`:t===`text`?`Type to search file contents`:`Type to filter — or browse all files`})}function A2({row:e,index:t,query:n,focused:r,onHover:i,onActivate:a}){let o=C2(e.hit.gitStatus);return(0,G.jsxs)(`div`,{id:`sp-row-${t}`,role:`option`,"aria-selected":r,"data-focused":r,className:`searchpalette-row ${r?`is-focused`:``} ${e.inDiff?`is-indiff`:``}`,onMouseEnter:()=>i(t),onClick:e=>a(t,e),children:[e.kind===`file`&&(0,G.jsx)(j2,{hit:e.hit,query:n}),e.kind===`text`&&(0,G.jsx)(M2,{hit:e.hit,query:n}),e.kind===`symbol`&&(0,G.jsx)(N2,{hit:e.hit}),(0,G.jsxs)(`div`,{className:`searchpalette-rail`,children:[e.inDiff&&(0,G.jsx)(`span`,{className:`searchpalette-pill searchpalette-pill--diff`,children:`diff`}),o&&(0,G.jsx)(`span`,{className:`searchpalette-git searchpalette-git--${o.title}`,title:o.title,children:o.label})]})]})}function j2({hit:e,query:t}){let n=e.fileName,r=T2(n,t);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`span`,{className:`searchpalette-tile searchpalette-tile--file`,children:(0,G.jsx)(fO,{size:13})}),(0,G.jsxs)(`div`,{className:`searchpalette-info`,children:[(0,G.jsx)(`span`,{className:`searchpalette-primary`,children:(0,G.jsx)(w2,{text:n,ranges:r})}),(0,G.jsx)(`span`,{className:`searchpalette-secondary`,children:E2(e.path)||`./`})]})]})}function M2({hit:e,query:t}){let n=_2(e.content,e.matchRanges,t),{text:r,ranges:i}=D2(e.content,n);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`span`,{className:`searchpalette-tile searchpalette-tile--text`,children:(0,G.jsx)(ak,{size:13})}),(0,G.jsxs)(`div`,{className:`searchpalette-info`,children:[(0,G.jsx)(`span`,{className:`searchpalette-primary searchpalette-code`,children:(0,G.jsx)(w2,{text:r,ranges:i})}),(0,G.jsxs)(`span`,{className:`searchpalette-secondary`,children:[e.fileName,`:`,e.line,(0,G.jsx)(`span`,{className:`searchpalette-crumb`,children:E2(e.path)})]})]})]})}function N2({hit:e}){let t=e.content.indexOf(e.name),n=t>=0?e.content.slice(t+e.name.length).trimEnd():``,r=_2(e.name,e.matchRanges.length?P2(e):void 0,e.name);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`span`,{className:`searchpalette-tile searchpalette-tile--symbol`,title:e.kind,children:S2[e.kind]??`?`}),(0,G.jsxs)(`div`,{className:`searchpalette-info`,children:[(0,G.jsxs)(`span`,{className:`searchpalette-primary`,children:[(0,G.jsx)(w2,{text:e.name,ranges:r}),n&&(0,G.jsx)(`span`,{className:`searchpalette-sigtail`,children:n.slice(0,60)})]}),(0,G.jsxs)(`span`,{className:`searchpalette-secondary`,children:[e.fileName,`:`,e.line,(0,G.jsx)(`span`,{className:`searchpalette-crumb`,children:E2(e.path)})]})]}),(0,G.jsx)(`span`,{className:`searchpalette-kind-badge`,children:e.kind})]})}function P2(e){let t=e.content.indexOf(e.name);if(t<0)return;let n=[];for(let[r,i]of e.matchRanges){let a=r-t,o=i-t;o>0&&a<e.name.length&&n.push([Math.max(0,a),Math.min(e.name.length,o)])}return n.length?n:void 0}function F2({preview:e,theme:t,fontSize:n,monoFontFamily:r,defaultTabSize:i,lineWrap:a,showLineNumbers:o,lineHoverHighlight:s,onClose:c,inDiff:l,onGoToDiff:u}){let d=nE[t]||nE.nord,{data:f,isLoading:p,error:m}=c2(e.path),h=(0,W.useRef)(null);return(0,W.useEffect)(()=>{!f?.content||!e.line||!h.current||aE(h.current,e.line,e.match)},[f?.content,e.line,e.match]),(0,G.jsxs)(`div`,{className:`searchpalette-preview`,children:[(0,G.jsxs)(`div`,{className:`searchpalette-preview-head`,children:[(0,G.jsx)(fO,{size:12}),(0,G.jsx)(`span`,{className:`searchpalette-preview-path`,children:e.path}),l&&(0,G.jsxs)(`button`,{className:`searchpalette-preview-diff-btn`,onClick:u,title:`Open this file and line in the main diff viewer (Enter)`,style:{padding:`2.5px 8px`,fontSize:`10.5px`,background:`var(--accent-subtle)`,border:`1px solid var(--accent)`,borderRadius:`4px`,color:`var(--text-primary)`,cursor:`pointer`,fontWeight:600,marginRight:`8px`,display:`inline-flex`,alignItems:`center`,gap:`4px`},children:[(0,G.jsx)(_O,{size:11}),`View in Diff`]}),(0,G.jsx)(`button`,{className:`searchpalette-clear`,onClick:c,"aria-label":`Close preview`,children:(0,G.jsx)(ck,{size:14})})]}),(0,G.jsx)(`div`,{className:`searchpalette-preview-body`,ref:h,children:p?(0,G.jsxs)(`div`,{className:`searchpalette-state`,children:[(0,G.jsx)(DO,{size:15,className:`spin`}),` Loading `,e.path,`…`]}):m?(0,G.jsx)(`div`,{className:`searchpalette-state searchpalette-state--error`,children:m.message}):f?.binary?(0,G.jsx)(`div`,{className:`searchpalette-state`,children:`Binary file — no preview`}):f?.missing?(0,G.jsx)(`div`,{className:`searchpalette-state`,children:`File not present in the working tree`}):f?(0,G.jsx)(Bh,{file:{name:e.path,contents:f.content??``},options:{disableFileHeader:!0,overflow:a?`wrap`:`scroll`,disableLineNumbers:!o,lineHoverHighlight:s,theme:{dark:d.type===`dark`?d.themeName:`nord`,light:d.type===`light`?d.themeName:`github-light`},themeType:d.type,unsafeCSS:`
3855
+ `),style:{fontSize:`0.75rem`,padding:`4px 8px`,background:`var(--bg-warning, #fff3cd)`,color:`var(--text-warning, #856404)`},children:[`⚠ `,E.length,` file(s) hidden due to path collision (hover for details)`]}),(0,G.jsx)(`div`,{style:{flex:1,minHeight:0,overflow:`auto`},children:(0,G.jsx)(X0,{children:(0,G.jsx)(JG,{model:j,className:`ft-pierre-tree`})})})]})});function Q0(e){return e.status===`resolved`?`resolved`:e.replies?.length?`replied`:`open`}var $0=[{key:`all`,label:`All`},{key:`open`,label:`Open`},{key:`replied`,label:`Replied`},{key:`resolved`,label:`Resolved`}],e2=[{key:`all`,label:`Any`},{key:`blocking`,label:`Blocking`},{key:`nit`,label:`Nit`},{key:`question`,label:`Question`},{key:`praise`,label:`Praise`},{key:`outdated`,label:`Outdated`}];function t2({comments:e,resolveComment:t,unresolveComment:n,removeComment:r,addReply:i,editComment:a,editReply:o,removeReply:s}){let[c,l]=(0,W.useState)(`all`),[u,d]=(0,W.useState)(`all`),f=(0,W.useMemo)(()=>{let t={all:e.length,open:0,replied:0,resolved:0};for(let n of e)t[Q0(n)]++;return t},[e]),p=(0,W.useMemo)(()=>{let t={all:e.length,blocking:0,nit:0,question:0,praise:0,none:0,outdated:0};for(let n of e){n.outdated&&t.outdated++;let e=n.severity&&n.severity!==`none`?n.severity:`none`;t[e]++}return t},[e]),m=(0,W.useMemo)(()=>[...e].sort((e,t)=>t.createdAt-e.createdAt),[e]),h=(0,W.useMemo)(()=>m.filter(e=>c!==`all`&&Q0(e)!==c?!1:u===`outdated`?!!e.outdated:!(u!==`all`&&(e.severity&&e.severity!==`none`?e.severity:null)!==u)),[m,c,u]),g=(0,W.useMemo)(()=>e.some(e=>e.outdated||e.severity&&e.severity!==`none`),[e]);return e.length===0?null:(0,G.jsxs)(`div`,{className:`cmt`,role:`complementary`,"aria-label":`Review comments`,children:[(0,G.jsxs)(`div`,{className:`cmt-head`,children:[(0,G.jsxs)(`div`,{className:`cmt-title`,children:[(0,G.jsx)(PO,{size:14,"aria-hidden":`true`}),(0,G.jsx)(`span`,{children:`Comments`}),(0,G.jsx)(`span`,{className:`cmt-total`,children:e.length})]}),(0,G.jsx)(`div`,{className:`cmt-filters`,role:`tablist`,"aria-label":`Filter by status`,children:$0.map(e=>(0,G.jsxs)(`button`,{role:`tab`,"aria-selected":c===e.key,className:`cmt-filter ${c===e.key?`cmt-filter-active`:``}`,onClick:()=>l(e.key),disabled:e.key!==`all`&&f[e.key]===0,children:[e.label,(0,G.jsx)(`span`,{className:`cmt-filter-count`,children:f[e.key]})]},e.key))}),g&&(0,G.jsx)(`div`,{className:`cmt-filters cmt-filters-severity`,role:`tablist`,"aria-label":`Filter by severity`,children:e2.filter(e=>e.key===`all`||(p[e.key]??0)>0).map(e=>(0,G.jsxs)(`button`,{role:`tab`,"aria-selected":u===e.key,className:`cmt-filter cmt-filter-sev ${u===e.key?`cmt-filter-active`:``}`,"data-severity":e.key,onClick:()=>d(e.key),children:[e.label,(0,G.jsx)(`span`,{className:`cmt-filter-count`,children:p[e.key]})]},e.key))})]}),(0,G.jsx)(`ul`,{className:`cmt-list`,"aria-label":`Comment threads`,children:h.length===0?(0,G.jsx)(`li`,{className:`cmt-empty`,children:`No matching comments`}):h.map(e=>(0,G.jsx)(n2,{comment:e,resolveComment:t,unresolveComment:n,removeComment:r,addReply:i,editComment:a,editReply:o,removeReply:s},e.id))})]})}function n2({comment:e,resolveComment:t,unresolveComment:n,removeComment:r,addReply:i,editComment:a,editReply:o,removeReply:s}){let c=Q0(e),l=e.status===`resolved`,u=e.replies?.length??0,{haptic:d,sound:f}=pD(),[p,m]=(0,W.useState)(!1),[h,g]=(0,W.useState)(!1),[_,v]=(0,W.useState)(!1),[y,b]=(0,W.useState)(!1),[x,S]=(0,W.useState)(null),C=(0,W.useCallback)(()=>{e.lineNumber>0?oE(e.filePath,e.lineNumber,e.side):document.getElementById(`file-${e.filePath}`)?.scrollIntoView({block:`start`})},[e.filePath,e.lineNumber,e.side]),w=e.lineNumber>0?`:${e.lineNumber}`:` · file`;return(0,G.jsxs)(`li`,{className:`cmt-card cmt-card-${c} ${l?`cmt-card-resolved`:``}`,children:[(0,G.jsxs)(`div`,{className:`cmt-card-top`,children:[(0,G.jsx)(`span`,{className:`cmt-dot cmt-dot-${c}`,"aria-hidden":`true`}),(0,G.jsxs)(`button`,{className:`cmt-loc`,onClick:C,title:`Jump to ${e.filePath}${w}`,children:[(0,G.jsx)(`span`,{className:`cmt-loc-file`,children:tE(e.filePath)}),(0,G.jsx)(`span`,{className:`cmt-loc-line`,children:w})]}),e.severity&&e.severity!==`none`&&(0,G.jsx)(`span`,{className:`comment-severity-badge`,"data-severity":e.severity,children:e.severity}),e.outdated&&(0,G.jsxs)(`span`,{className:`comment-outdated-badge`,title:`Anchored code no longer matches`,children:[(0,G.jsx)(ik,{size:10}),` outdated`]}),(0,G.jsx)(`span`,{className:`cmt-time`,children:eE(e.createdAt)})]}),e.lineContent?.trim()&&(0,G.jsx)(`button`,{className:`cmt-codeline`,onClick:C,title:`Jump to line`,children:(0,G.jsx)(`code`,{children:e.lineContent.trim().slice(0,160)})}),_?(0,G.jsx)(ZW,{draftKey:`tracker-edit:${e.id}`,initialBody:e.body,onCancel:()=>v(!1),onSubmit:t=>{a(e.id,t),v(!1)}}):(0,G.jsx)(gH,{content:e.body,className:`cmt-body markdown-body`}),(0,G.jsxs)(`div`,{className:`cmt-actions`,children:[(0,G.jsxs)(`button`,{className:`cmt-act`,onClick:()=>{g(e=>!e),m(!0)},title:`Reply`,children:[(0,G.jsx)(sO,{size:13,"aria-hidden":`true`}),(0,G.jsx)(`span`,{children:`Reply`})]}),(0,G.jsx)(`button`,{className:`cmt-act`,onClick:()=>v(e=>!e),title:`Edit comment`,children:(0,G.jsx)(GO,{size:13,"aria-hidden":`true`})}),(0,G.jsx)(`button`,{className:`cmt-act ${l?`cmt-act-resolved`:``}`,onClick:()=>{l?(n(e.id),d(`light`),f(`toggle`)):(t(e.id),d(`success`),f(`resolve`))},title:l?`Reopen`:`Resolve`,children:l?(0,G.jsx)(YO,{size:13,"aria-hidden":`true`}):(0,G.jsx)(UD,{size:13,"aria-hidden":`true`})}),y?(0,G.jsxs)(`span`,{className:`cmt-confirm`,children:[(0,G.jsx)(`button`,{className:`cmt-act cmt-act-danger`,onClick:()=>{r(e.id),d(`medium`),f(`remove`)},title:`Confirm delete`,children:`Delete?`}),(0,G.jsx)(`button`,{className:`cmt-act`,onClick:()=>b(!1),title:`Cancel`,children:(0,G.jsx)(ck,{size:13,"aria-hidden":`true`})})]}):(0,G.jsx)(`button`,{className:`cmt-act cmt-act-del`,onClick:()=>b(!0),title:`Delete comment`,children:(0,G.jsx)(rk,{size:13,"aria-hidden":`true`})})]}),u>0&&(0,G.jsxs)(`button`,{className:`cmt-thread-toggle`,onClick:()=>m(e=>!e),"aria-expanded":p,children:[(0,G.jsx)(KD,{size:12,className:`cmt-chev ${p?`cmt-chev-open`:``}`,"aria-hidden":`true`}),u,` `,u===1?`reply`:`replies`]}),p&&u>0&&(0,G.jsx)(`ul`,{className:`cmt-replies`,children:e.replies.map(t=>(0,G.jsx)(r2,{reply:t,onEdit:n=>o(e.id,t.id,n),onRemove:()=>s(e.id,t.id)},t.id))}),h&&(0,G.jsxs)(`div`,{className:`cmt-reply-composer`,children:[(0,G.jsx)(ZW,{draftKey:`reply:${e.id}`,onCancel:()=>{g(!1),S(null)},onSubmit:async t=>{S(null),m(!0);try{await i(e.id,t),d(`light`),f(`success`),g(!1)}catch(e){S(e instanceof Error?e.message:`Failed to save reply`)}}}),x&&(0,G.jsx)(`p`,{className:`cmt-reply-error`,role:`alert`,children:x})]})]})}function r2({reply:e,onEdit:t,onRemove:n}){let r=e.role===`agent`||e.role==null&&!!e.model,[i,a]=(0,W.useState)(!1);return(0,G.jsxs)(`li`,{className:`cmt-reply ${r?`cmt-reply-agent`:``}`,children:[(0,G.jsxs)(`div`,{className:`cmt-reply-head`,children:[(0,G.jsxs)(`span`,{className:`cmt-reply-who ${r?`cmt-reply-who-agent`:``}`,children:[r?(0,G.jsx)(VD,{size:11,"aria-hidden":`true`}):null,r?e.model||`Agent`:`You`]}),(0,G.jsx)(`span`,{className:`cmt-time`,children:eE(e.createdAt)}),!r&&(0,G.jsx)(`button`,{className:`cmt-reply-act`,onClick:()=>a(e=>!e),title:`Edit reply`,children:(0,G.jsx)(GO,{size:11,"aria-hidden":`true`})}),(0,G.jsx)(`button`,{className:`cmt-reply-act cmt-act-del`,onClick:n,title:`Delete reply`,children:(0,G.jsx)(rk,{size:11,"aria-hidden":`true`})})]}),i?(0,G.jsx)(ZW,{draftKey:`tracker-reply-edit:${e.id}`,initialBody:e.body,onCancel:()=>a(!1),onSubmit:e=>{t(e),a(!1)}}):(0,G.jsx)(gH,{content:e.body,className:`cmt-reply-body markdown-body`})]})}function i2(e,t){let[n,r]=(0,W.useState)(e);return(0,W.useEffect)(()=>{let n=setTimeout(()=>r(e),t);return()=>clearTimeout(n)},[e,t]),n}function a2(e){return e===`symbols`?2:e===`text`?1:0}function o2({scope:e,query:t,regex:n,changedOnly:r,changedPaths:i,open:a}){let o=i2(t,130).trim(),s=a&&o.length>=a2(e);return{...nt({queryKey:[`search`,e,o,e===`text`?n:!1,r,r?i:null],enabled:s,placeholderData:B,staleTime:5e3,queryFn:async({signal:t})=>{let a=await fetch(`/api/search`,{method:`POST`,headers:{"content-type":`application/json`},signal:t,body:JSON.stringify({scope:e,query:o,regex:e===`text`?n:!1,changedPaths:r?i:void 0})});if(!a.ok)throw Error(`Search request failed (${a.status})`);return await a.json()}}),enabled:s,pending:t.trim()!==o,minLength:a2(e)}}function s2(e,t){fetch(`/api/search/track`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({query:e,path:t})}).catch(()=>{})}function c2(e){return nt({queryKey:[`file-text`,e],enabled:!!e,staleTime:300*1e3,queryFn:async({signal:t})=>{let n=await fetch(`/api/file-text?path=${encodeURIComponent(e)}&version=new`,{signal:t});if(n.status===415)return{content:null,missing:!1,binary:!0};if(!n.ok)throw Error(`Failed to load file (${n.status})`);let r=await n.json();if(r.error){if(/binary/i.test(r.error))return{content:null,missing:!1,binary:!0};throw Error(r.error)}return r.missing?{content:null,missing:!0,binary:!1}:{content:r.content??``,missing:!1,binary:!1}}})}var l2=[{pattern:/^\s*(?:export\s+)?(?:async\s+)?function\s+(\w[\w$]*)\s*[<(]/i,kind:`function`,nameGroup:1},{pattern:/^\s*(?:export\s+)?(?:const|let|var)\s+(\w[\w$]*)\s*=\s*(?:async\s*)?\(/i,kind:`function`,nameGroup:1},{pattern:/^\s*(?:export\s+)?(?:const|let|var)\s+(\w[\w$]*)\s*=\s*(?:async\s+)?function/i,kind:`function`,nameGroup:1},{pattern:/^\s*(?:export\s+)?class\s+(\w[\w$]*)/i,kind:`class`,nameGroup:1},{pattern:/^\s*(?:export\s+)?interface\s+(\w[\w$]*)/i,kind:`interface`,nameGroup:1},{pattern:/^\s*(?:export\s+)?type\s+(\w[\w$]*)\s*=/i,kind:`type`,nameGroup:1},{pattern:/^\s*(?:export\s+)?enum\s+(\w[\w$]*)/i,kind:`enum`,nameGroup:1},{pattern:/^\s*(?:export\s+)?(?:const|let|var)\s+(\w[\w$]*)\s*=/i,kind:`variable`,nameGroup:1},{pattern:/^\s*def\s+(\w[\w$]*)\s*\(/i,kind:`function`,nameGroup:1},{pattern:/^\s*(?:pub(?:\s*\(\w+\))?\s+)?fn\s+(\w[\w$]*)\s*[<(]/i,kind:`function`,nameGroup:1},{pattern:/^\s*(?:pub(?:\s*\(\w+\))?\s+)?struct\s+(\w[\w$]*)/i,kind:`struct`,nameGroup:1},{pattern:/^\s*(?:pub(?:\s*\(\w+\))?\s+)?enum\s+(\w[\w$]*)/i,kind:`enum`,nameGroup:1},{pattern:/^\s*(?:pub(?:\s*\(\w+\))?\s+)?impl\s+(\w[\w$]*)/i,kind:`impl`,nameGroup:1},{pattern:/^\s*(?:pub(?:\s*\(\w+\))?\s+)?trait\s+(\w[\w$]*)/i,kind:`trait`,nameGroup:1},{pattern:/^\s*func\s+(\w[\w$]*)\s*\(/i,kind:`function`,nameGroup:1},{pattern:/^\s*(?:func\s+)?\((\w[\w$]*)\s+\*?\w+\)\s+(\w[\w$]*)\s*\(/i,kind:`method`,nameGroup:2}];function u2(e){for(let{pattern:t,kind:n,nameGroup:r}of l2){let i=t.exec(e);if(i){let e=i[r];if(e)return{name:e,kind:n}}}return null}function d2(e){return new Set(e.map(e=>e.name))}function f2(e){let t=new Set;for(let n of e)n.side===`additions`&&t.add(`${n.filePath}:${n.lineNumber}`);return t}function p2(e,t){return e.kind===`file`?t.diffFileSet.has(e.path)?{type:`scrollFile`,path:e.path}:{type:`preview`,path:e.path}:t.diffFileSet.has(e.path)?{type:`scrollLine`,path:e.path,line:e.line,side:`additions`,match:e.match}:{type:`preview`,path:e.path,line:e.line,match:e.match}}function m2(e,t){if(!t||t.length===0)return null;let n=!0;for(let t=0;t<e.length;t++)if(e.charCodeAt(t)>127){n=!1;break}let r=n?e.length:g2(e),i=null;if(!n){i=Array(r+1).fill(-1);let t=0;for(let n=0;n<e.length;){i[t]=n;let r=e.codePointAt(n);n+=r>65535?2:1,t+=h2(r)}i[r]=e.length}let a=[];for(let e of t){let[t,o]=e;if(!(t==null||o==null||o<=t||t<0||o>r))if(n)a.push([t,o]);else{let e=i[t],n=i[o];e>=0&&n>=0&&a.push([e,n])}}return a.length?a:null}function h2(e){return e<=127?1:e<=2047?2:e<=65535?3:4}function g2(e){let t=0;for(let n=0;n<e.length;){let r=e.codePointAt(n);t+=h2(r),n+=r>65535?2:1}return t}function _2(e,t,n){let r=((t?m2(e,t):null)??v2(e,n)).map(([t,n])=>[Math.max(0,t),Math.min(e.length,n)]).filter(([e,t])=>t>e).sort((e,t)=>e[0]-t[0]),i=[];for(let[e,t]of r){let n=i[i.length-1];n&&e<=n[1]?n[1]=Math.max(n[1],t):i.push([e,t])}return i}function v2(e,t){let n=t.trim();if(!n)return[];let r=[],i=e.toLowerCase(),a=n.toLowerCase(),o=0;for(;r.length<50;){let e=i.indexOf(a,o);if(e===-1)break;r.push([e,e+a.length]),o=e+a.length}return r}function y2(e,t){let n=e.toLowerCase(),r=t.toLowerCase();if(!r)return 0;let i=0,a=0,o=-1;for(let e=0;e<n.length&&i<r.length;e++)n[e]===r[i]&&(a+=o>=0&&e-o===1?5:1,o=e,i++);return i===r.length?a-e.length*.01:null}function b2(e){let t=[],n=new Set;for(let r of e){if(r.side!==`additions`)continue;let e=u2(r.content);if(e){let i=`${r.filePath}:${r.lineNumber}:${e.name}`;if(n.has(i))continue;n.add(i);let a=r.content.indexOf(e.name),o=a>=0?[[a,a+e.name.length]]:[];t.push({name:e.name,kind:e.kind,path:r.filePath,fileName:r.filePath.split(`/`).pop()||``,line:r.lineNumber,content:r.content,matchRanges:o,gitStatus:``})}}return t}var x2=[{key:`all`,label:`All`,Icon:CO},{key:`files`,label:`Files`,Icon:fO},{key:`text`,label:`Text`,Icon:ak},{key:`symbols`,label:`Symbols`,Icon:iO}],S2={function:`ƒ`,method:`m`,class:`C`,variable:`v`,interface:`I`,type:`T`,enum:`E`,struct:`S`,impl:`i`,trait:`t`};function C2(e){switch(e){case`modified`:return{label:`M`,title:`modified`};case`untracked`:return{label:`U`,title:`untracked`};case`staged_new`:case`added`:return{label:`A`,title:`added`};case`deleted`:return{label:`D`,title:`deleted`};case`renamed`:return{label:`R`,title:`renamed`};case``:case`clean`:return null;default:return{label:e.charAt(0).toUpperCase(),title:e}}}function w2({text:e,ranges:t}){if(!t.length)return(0,G.jsx)(G.Fragment,{children:e});let n=[],r=0;return t.forEach(([t,i],a)=>{t>r&&n.push(e.slice(r,t)),n.push((0,G.jsx)(`mark`,{className:`searchpalette-mark`,children:e.slice(t,i)},a)),r=i}),r<e.length&&n.push(e.slice(r)),(0,G.jsx)(G.Fragment,{children:n})}function T2(e,t){let n=t.trim().toLowerCase();if(!n)return[];let r=e.toLowerCase(),i=[],a=0;for(let e=0;e<r.length&&a<n.length;e++)if(r[e]===n[a]){let t=i[i.length-1];t&&t[1]===e?t[1]=e+1:i.push([e,e+1]),a++}return a===n.length?i:[]}var E2=e=>{let t=e.lastIndexOf(`/`);return t===-1?``:e.slice(0,t+1)};function D2(e,t){let n=e.length-e.trimStart().length,r=e.slice(n),i=n;if(r.length>400){let e=t.find(e=>e[0]>=n),a=e?Math.max(0,e[0]-n-24):0,o=a>0?`…`:``;r=o+r.slice(a,a+400),i=n+a-o.length}let a=t.map(([e,t])=>[e-i,t-i]).filter(([e,t])=>t>0&&e<r.length).map(([e,t])=>[Math.max(0,e),Math.min(r.length,t)]);return{text:r,ranges:a}}function O2({isOpen:e,onClose:t,initialScope:n,files:r,changedEntries:i,customMode:a,staged:o,onNavigateFile:s,theme:c,fontSize:l,monoFontFamily:u,defaultTabSize:d,lineWrap:f,showLineNumbers:p,lineHoverHighlight:m}){let[h,g]=(0,W.useState)(``),[_,v]=(0,W.useState)(n),[y,b]=(0,W.useState)(!1),[x,S]=(0,W.useState)(!1),[C,w]=(0,W.useState)(0),[T,E]=(0,W.useState)(null),D=(0,W.useRef)(null),O=(0,W.useRef)(null),k=(0,W.useMemo)(()=>d2(r),[r]),A=(0,W.useMemo)(()=>f2(i),[i]),j=o2({scope:_,query:h,regex:y,changedOnly:x,changedPaths:(0,W.useMemo)(()=>[...k],[k]),open:e}),M=j.data&&j.data.scope===_?j.data:void 0,N=M?.error,P=nt({queryKey:[`repo-files-fallback`],enabled:e&&_===`files`&&!!N,staleTime:6e4,queryFn:async()=>(await(await fetch(`/api/repo-files`)).json()).files??[]});(0,W.useEffect)(()=>{e&&(g(``),v(n),b(!1),S(!1),w(0),E(null))},[e,n]),(0,W.useEffect)(()=>{e&&D.current?.focus()},[e]),(0,W.useEffect)(()=>{w(0),E(null)},[h,_]);let F=(0,W.useMemo)(()=>{let e=h.trim(),t=e.toLowerCase(),n=[];if(_===`files`&&N&&P.data)n=P.data.map(e=>({path:e,score:t?y2(e,t):0})).filter(e=>e.score!==null).sort((e,t)=>t.score-e.score).slice(0,60).map(({path:e})=>({kind:`file`,key:e,hit:{path:e,fileName:tE(e),gitStatus:``,matchType:``,exact:!1},inDiff:k.has(e)}));else if(M)M.scope===`files`?n=M.items.map(e=>({kind:`file`,key:e.path,hit:e,inDiff:k.has(e.path)})):M.scope===`text`?n=M.items.map(e=>({kind:`text`,key:`${e.path}:${e.line}:${e.col}`,hit:e,inDiff:k.has(e.path)})):M.scope===`symbols`?n=M.items.map(e=>({kind:`symbol`,key:`${e.path}:${e.line}:${e.name}`,hit:e,inDiff:k.has(e.path)})):M.scope===`all`&&(n=M.items.map(e=>e.kind===`file`?{kind:`file`,key:`all:${e.hit.path}`,hit:e.hit,inDiff:k.has(e.hit.path)}:e.kind===`text`?{kind:`text`,key:`all:${e.hit.path}:${e.hit.line}:${e.hit.col}`,hit:e.hit,inDiff:k.has(e.hit.path)}:{kind:`symbol`,key:`all:${e.hit.path}:${e.hit.line}:${e.hit.name}`,hit:e.hit,inDiff:k.has(e.hit.path)}));else if(_===`symbols`&&e.length<2){let e=b2(i);n=(t?e.filter(e=>e.name.toLowerCase().includes(t)):e).map(e=>({kind:`symbol`,key:`local:${e.path}:${e.line}:${e.name}`,hit:e,inDiff:!0}))}let r=n.filter(e=>e.inDiff),a=n.filter(e=>!e.inDiff);return[...r,...a]},[M,N,P.data,_,k,h,i]);(0,W.useEffect)(()=>{C>=F.length&&w(0)},[F.length,C]),(0,W.useEffect)(()=>{(O.current?.querySelector(`[data-focused="true"]`))?.scrollIntoView({block:`nearest`})},[C,F]);let I=(0,W.useMemo)(()=>({diffFileSet:k,changedKeys:A,customMode:a,staged:o}),[k,A,a,o]),L=(0,W.useCallback)((e,n)=>{let r=F[e];if(!r)return;let i=r.hit.path,a=h.trim();if(s2(a,i),r.kind===`file`){if(n){E({path:i});return}p2({kind:`file`,path:i},I).type===`scrollFile`?(t(),requestAnimationFrame(()=>s(i))):E({path:i});return}let o=r.hit.line,c=r.kind===`symbol`?r.hit.name:a;if(n){E({path:i,line:o,match:c});return}let l=p2({kind:`line`,path:i,line:o,match:c},I);l.type===`scrollLine`?(t(),requestAnimationFrame(()=>oE(i,l.line,l.side,l.match))):E({path:i,line:o,match:c})},[F,h,I,t,s]),R=(0,W.useCallback)(e=>{v(t=>x2[(x2.findIndex(e=>e.key===t)+e+x2.length)%x2.length].key)},[]),z=(0,W.useCallback)(e=>{if(e.key===`PageDown`){e.preventDefault(),document.querySelector(`.searchpalette-preview-body`)?.scrollBy({top:150,behavior:`auto`});return}if(e.key===`PageUp`){e.preventDefault(),document.querySelector(`.searchpalette-preview-body`)?.scrollBy({top:-150,behavior:`auto`});return}if(e.altKey&&(e.key===`ArrowDown`||e.key===`j`)){e.preventDefault(),document.querySelector(`.searchpalette-preview-body`)?.scrollBy({top:80,behavior:`auto`});return}if(e.altKey&&(e.key===`ArrowUp`||e.key===`k`)){e.preventDefault(),document.querySelector(`.searchpalette-preview-body`)?.scrollBy({top:-80,behavior:`auto`});return}if(e.shiftKey&&(e.key===`ArrowDown`||e.key===`j`)){e.preventDefault(),document.querySelector(`.searchpalette-preview-body`)?.scrollBy({top:80,behavior:`auto`});return}if(e.shiftKey&&(e.key===`ArrowUp`||e.key===`k`)){e.preventDefault(),document.querySelector(`.searchpalette-preview-body`)?.scrollBy({top:-80,behavior:`auto`});return}if(e.key===`Tab`){e.preventDefault(),R(e.shiftKey?-1:1);return}let t=e=>{F.length!==0&&w(t=>(t+e+F.length)%F.length)};e.key===`ArrowDown`||e.ctrlKey&&(e.key===`n`||e.key===`j`)?(e.preventDefault(),t(1)):e.key===`ArrowUp`||e.ctrlKey&&(e.key===`p`||e.key===`k`)?(e.preventDefault(),t(-1)):e.ctrlKey&&e.key===`d`?(e.preventDefault(),t(8)):e.ctrlKey&&e.key===`u`?(e.preventDefault(),t(-8)):e.key===`Enter`&&(e.preventDefault(),L(C,e.metaKey||e.ctrlKey))},[R,F.length,L,C]),ee=(0,W.useCallback)(()=>{T?E(null):t()},[T,t]),te=M?.total??F.length,ne=(j.isFetching||j.pending)&&j.enabled,B=M?.indexing;return(0,G.jsxs)(LW,{open:e,onClose:ee,className:`searchpalette ui-modal--palette ${T?`searchpalette--split`:``}`,ariaLabel:`Search files, text and symbols`,initialFocus:D,onKeyDown:z,children:[(0,G.jsxs)(`div`,{className:`searchpalette-header`,children:[(0,G.jsxs)(`div`,{className:`searchpalette-input-row`,children:[(0,G.jsx)(ZO,{size:15,className:`searchpalette-search-icon`}),(0,G.jsx)(`input`,{ref:D,type:`text`,className:`searchpalette-input`,placeholder:_===`all`?`Search files, text and symbols…`:_===`files`?`Search files in the repo…`:_===`text`?y?`Search by regular expression…`:`Search file contents…`:`Search symbol definitions…`,value:h,onChange:e=>g(e.target.value),role:`combobox`,"aria-expanded":F.length>0,"aria-controls":`searchpalette-list`,"aria-activedescendant":F[C]?`sp-row-${C}`:void 0,spellCheck:!1,autoComplete:`off`}),ne&&(0,G.jsx)(DO,{size:14,className:`searchpalette-spinner spin`}),h&&(0,G.jsx)(`button`,{className:`searchpalette-clear`,onClick:()=>g(``),"aria-label":`Clear search`,children:(0,G.jsx)(ck,{size:14})}),(0,G.jsx)(`span`,{className:`searchpalette-count`,children:B?`indexing…`:M?`${F.length} of ${te}`:``})]}),(0,G.jsxs)(`div`,{className:`searchpalette-controls`,children:[(0,G.jsx)(`div`,{className:`searchpalette-scopes`,role:`tablist`,"aria-label":`Search scope`,children:x2.map(e=>(0,G.jsxs)(`button`,{role:`tab`,"aria-selected":_===e.key,className:`searchpalette-scope ${_===e.key?`is-active`:``}`,onClick:()=>v(e.key),children:[(0,G.jsx)(e.Icon,{size:12}),e.label]},e.key))}),(0,G.jsxs)(`div`,{className:`searchpalette-toggles`,children:[_===`text`&&(0,G.jsx)(`button`,{className:`searchpalette-toggle ${y?`is-active`:``}`,onClick:()=>b(e=>!e),title:`Regular expression`,"aria-pressed":y,children:`.*`}),(0,G.jsxs)(`button`,{className:`searchpalette-toggle ${x?`is-active`:``}`,onClick:()=>S(e=>!e),title:`Limit to files in the current diff`,"aria-pressed":x,children:[(0,G.jsx)(_O,{size:12}),`Changed`]})]})]}),M?.regexError&&(0,G.jsx)(`div`,{className:`searchpalette-note`,children:`Invalid regex — showing literal matches`})]}),(0,G.jsxs)(`div`,{className:`searchpalette-body`,children:[(0,G.jsx)(`div`,{className:`searchpalette-list`,id:`searchpalette-list`,role:`listbox`,ref:O,children:(0,G.jsx)(k2,{rows:F,scope:_,query:h,focusedIndex:C,engineError:N,isFetching:j.isFetching,enabled:j.enabled,minLength:j.minLength,regex:y,changedOnly:x,onHover:w,onActivate:(e,t)=>L(e,t?t.metaKey||t.ctrlKey:!1),onRetry:()=>j.refetch()})}),T&&(0,G.jsx)(F2,{preview:T,theme:c,fontSize:l,monoFontFamily:u,defaultTabSize:d,lineWrap:f,showLineNumbers:p,lineHoverHighlight:m,onClose:()=>E(null),inDiff:k.has(T.path),onGoToDiff:()=>{t(),T.line?requestAnimationFrame(()=>oE(T.path,T.line,`additions`,T.match)):requestAnimationFrame(()=>s(T.path))}},T.path)]}),(0,G.jsxs)(`div`,{className:`searchpalette-foot`,children:[(0,G.jsxs)(`span`,{children:[(0,G.jsx)(`kbd`,{children:`Tab`}),` scope`]}),(0,G.jsxs)(`span`,{children:[(0,G.jsx)(`kbd`,{children:`↑↓`}),` move`]}),(0,G.jsxs)(`span`,{children:[(0,G.jsx)(`kbd`,{children:`↵`}),` `,T&&k.has(T.path)?`view in diff`:`open`]}),(0,G.jsxs)(`span`,{children:[(0,G.jsx)(`kbd`,{children:`⌘↵`}),` peek`]}),T&&(0,G.jsxs)(`span`,{children:[(0,G.jsx)(`kbd`,{children:`⌥↑↓`}),` / `,(0,G.jsx)(`kbd`,{children:`⇧↑↓`}),` scroll preview`]}),(0,G.jsxs)(`span`,{children:[(0,G.jsx)(`kbd`,{children:`esc`}),` `,T?`back`:`close`]})]})]})}function k2({rows:e,scope:t,query:n,focusedIndex:r,engineError:i,isFetching:a,enabled:o,minLength:s,regex:c,changedOnly:l,onHover:u,onActivate:d,onRetry:f}){return i&&t!==`files`?(0,G.jsxs)(`div`,{className:`searchpalette-state searchpalette-state--error`,children:[(0,G.jsx)(`p`,{children:`Search engine unavailable`}),(0,G.jsx)(`span`,{className:`searchpalette-state-detail`,children:i}),(0,G.jsx)(`button`,{className:`searchpalette-retry`,onClick:f,children:`Retry`})]}):e.length>0?(0,G.jsx)(G.Fragment,{children:e.map((e,t)=>(0,G.jsx)(A2,{row:e,index:t,query:n,focused:t===r,onHover:u,onActivate:d},e.key))}):o?a?(0,G.jsxs)(`div`,{className:`searchpalette-state`,children:[(0,G.jsx)(DO,{size:15,className:`spin`}),` Searching…`]}):(0,G.jsxs)(`div`,{className:`searchpalette-state`,children:[(0,G.jsxs)(`p`,{children:[`No matches`,n.trim()?` for “${n.trim()}”`:``]}),(0,G.jsx)(`span`,{className:`searchpalette-state-detail`,children:l?`Searching only changed files — turn off Changed to search the whole repo`:t===`text`&&!c?`Try Tab to switch scope, or enable .* for regex`:`Try Tab to switch scope`})]}):(0,G.jsx)(`div`,{className:`searchpalette-state`,children:t===`symbols`?n.trim()?`No matching symbols in the current diff. Type at least 2 characters to search the whole repository.`:`No symbols found in the current diff. Type at least 2 characters to search the whole repository.`:t===`text`?`Type to search file contents`:`Type to filter — or browse all files`})}function A2({row:e,index:t,query:n,focused:r,onHover:i,onActivate:a}){let o=C2(e.hit.gitStatus);return(0,G.jsxs)(`div`,{id:`sp-row-${t}`,role:`option`,"aria-selected":r,"data-focused":r,className:`searchpalette-row ${r?`is-focused`:``} ${e.inDiff?`is-indiff`:``}`,onMouseEnter:()=>i(t),onClick:e=>a(t,e),children:[e.kind===`file`&&(0,G.jsx)(j2,{hit:e.hit,query:n}),e.kind===`text`&&(0,G.jsx)(M2,{hit:e.hit,query:n}),e.kind===`symbol`&&(0,G.jsx)(N2,{hit:e.hit}),(0,G.jsxs)(`div`,{className:`searchpalette-rail`,children:[e.inDiff&&(0,G.jsx)(`span`,{className:`searchpalette-pill searchpalette-pill--diff`,children:`diff`}),o&&(0,G.jsx)(`span`,{className:`searchpalette-git searchpalette-git--${o.title}`,title:o.title,children:o.label})]})]})}function j2({hit:e,query:t}){let n=e.fileName,r=T2(n,t);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`span`,{className:`searchpalette-tile searchpalette-tile--file`,children:(0,G.jsx)(fO,{size:13})}),(0,G.jsxs)(`div`,{className:`searchpalette-info`,children:[(0,G.jsx)(`span`,{className:`searchpalette-primary`,children:(0,G.jsx)(w2,{text:n,ranges:r})}),(0,G.jsx)(`span`,{className:`searchpalette-secondary`,children:E2(e.path)||`./`})]})]})}function M2({hit:e,query:t}){let n=_2(e.content,e.matchRanges,t),{text:r,ranges:i}=D2(e.content,n);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`span`,{className:`searchpalette-tile searchpalette-tile--text`,children:(0,G.jsx)(ak,{size:13})}),(0,G.jsxs)(`div`,{className:`searchpalette-info`,children:[(0,G.jsx)(`span`,{className:`searchpalette-primary searchpalette-code`,children:(0,G.jsx)(w2,{text:r,ranges:i})}),(0,G.jsxs)(`span`,{className:`searchpalette-secondary`,children:[e.fileName,`:`,e.line,(0,G.jsx)(`span`,{className:`searchpalette-crumb`,children:E2(e.path)})]})]})]})}function N2({hit:e}){let t=e.content.indexOf(e.name),n=t>=0?e.content.slice(t+e.name.length).trimEnd():``,r=_2(e.name,e.matchRanges.length?P2(e):void 0,e.name);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`span`,{className:`searchpalette-tile searchpalette-tile--symbol`,title:e.kind,children:S2[e.kind]??`?`}),(0,G.jsxs)(`div`,{className:`searchpalette-info`,children:[(0,G.jsxs)(`span`,{className:`searchpalette-primary`,children:[(0,G.jsx)(w2,{text:e.name,ranges:r}),n&&(0,G.jsx)(`span`,{className:`searchpalette-sigtail`,children:n.slice(0,60)})]}),(0,G.jsxs)(`span`,{className:`searchpalette-secondary`,children:[e.fileName,`:`,e.line,(0,G.jsx)(`span`,{className:`searchpalette-crumb`,children:E2(e.path)})]})]}),(0,G.jsx)(`span`,{className:`searchpalette-kind-badge`,children:e.kind})]})}function P2(e){let t=e.content.indexOf(e.name);if(t<0)return;let n=[];for(let[r,i]of e.matchRanges){let a=r-t,o=i-t;o>0&&a<e.name.length&&n.push([Math.max(0,a),Math.min(e.name.length,o)])}return n.length?n:void 0}function F2({preview:e,theme:t,fontSize:n,monoFontFamily:r,defaultTabSize:i,lineWrap:a,showLineNumbers:o,lineHoverHighlight:s,onClose:c,inDiff:l,onGoToDiff:u}){let d=nE[t]||nE[`rose-pine`],{data:f,isLoading:p,error:m}=c2(e.path),h=(0,W.useRef)(null);return(0,W.useEffect)(()=>{!f?.content||!e.line||!h.current||aE(h.current,e.line,e.match)},[f?.content,e.line,e.match]),(0,G.jsxs)(`div`,{className:`searchpalette-preview`,children:[(0,G.jsxs)(`div`,{className:`searchpalette-preview-head`,children:[(0,G.jsx)(fO,{size:12}),(0,G.jsx)(`span`,{className:`searchpalette-preview-path`,children:e.path}),l&&(0,G.jsxs)(`button`,{className:`searchpalette-preview-diff-btn`,onClick:u,title:`Open this file and line in the main diff viewer (Enter)`,style:{padding:`2.5px 8px`,fontSize:`10.5px`,background:`var(--accent-subtle)`,border:`1px solid var(--accent)`,borderRadius:`4px`,color:`var(--text-primary)`,cursor:`pointer`,fontWeight:600,marginRight:`8px`,display:`inline-flex`,alignItems:`center`,gap:`4px`},children:[(0,G.jsx)(_O,{size:11}),`View in Diff`]}),(0,G.jsx)(`button`,{className:`searchpalette-clear`,onClick:c,"aria-label":`Close preview`,children:(0,G.jsx)(ck,{size:14})})]}),(0,G.jsx)(`div`,{className:`searchpalette-preview-body`,ref:h,children:p?(0,G.jsxs)(`div`,{className:`searchpalette-state`,children:[(0,G.jsx)(DO,{size:15,className:`spin`}),` Loading `,e.path,`…`]}):m?(0,G.jsx)(`div`,{className:`searchpalette-state searchpalette-state--error`,children:m.message}):f?.binary?(0,G.jsx)(`div`,{className:`searchpalette-state`,children:`Binary file — no preview`}):f?.missing?(0,G.jsx)(`div`,{className:`searchpalette-state`,children:`File not present in the working tree`}):f?(0,G.jsx)(Bh,{file:{name:e.path,contents:f.content??``},options:{disableFileHeader:!0,overflow:a?`wrap`:`scroll`,disableLineNumbers:!o,lineHoverHighlight:s,theme:{dark:d.type===`dark`?d.themeName:`rose-pine`,light:d.type===`light`?d.themeName:`github-light`},themeType:d.type,unsafeCSS:`
3856
3856
  :host {
3857
3857
  --diffs-tab-size: ${i} !important;
3858
3858
  --diffs-font-family: ${r} !important;
@@ -3865,11 +3865,11 @@ https://github.com/highlightjs/highlight.js/issues/2277`),i=e,r=t),n===void 0&&(
3865
3865
  font-variant-ligatures: common-ligatures !important;
3866
3866
  font-feature-settings: "liga" on, "calt" on !important;
3867
3867
  }
3868
- `}}):null})]})}var I2=(0,W.memo)(function({activeFile:e,onShowHelp:t,placeholder:n=`No active file (J/K to jump)`,visible:r=!0}){if(!r)return null;let[i,a]=(0,W.useState)(!1),[o,s]=(0,W.useState)(!0),c=(0,W.useRef)(null);(0,W.useEffect)(()=>{let e=()=>{let e=document.activeElement;if(e){let t=e.tagName.toLowerCase();a(t===`input`||t===`textarea`||e.hasAttribute(`contenteditable`))}else a(!1)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,e);let t=setInterval(e,400);return()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,e),clearInterval(t)}},[]),(0,W.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&e.key===`b`&&(e.preventDefault(),s(e=>!e))};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[]);let l=e?e.split(`/`).pop():null,u=e&&e.includes(`/`)?e.split(`/`).slice(0,-1).join(`/`)+`/`:``,d=(0,W.useCallback)(e=>{e?.stopPropagation(),s(e=>!e)},[]);return(0,G.jsxs)(`div`,{className:`vim-status-bar ${o?`vim-status-collapsed`:``}`,children:[(0,G.jsx)(`div`,{className:`vim-mode-badge ${i?`vim-mode-insert`:`vim-mode-normal`}`,children:i?`INSERT`:`NORMAL`}),!o&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`div`,{className:`vim-status-content`,children:[(0,G.jsx)(nk,{size:12,className:`vim-status-icon`}),e?(0,G.jsxs)(`span`,{className:`vim-status-file`,title:e,children:[(0,G.jsx)(`span`,{className:`vim-file-dir`,children:u}),(0,G.jsx)(`strong`,{className:`vim-file-name`,children:l})]}):(0,G.jsx)(`span`,{className:`vim-status-placeholder`,children:n})]}),(0,G.jsxs)(`button`,{className:`vim-status-help-btn`,onClick:t,title:`View Keyboard Shortcuts (?)`,children:[(0,G.jsx)(QD,{size:13}),(0,G.jsx)(`span`,{children:`Shortcuts`}),(0,G.jsx)(`kbd`,{className:`vim-kbd-small`,children:`?`})]})]}),(0,G.jsx)(`button`,{ref:c,className:`vim-status-toggle`,onClick:d,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),d(e))},title:o?`Expand status bar (⌘B)`:`Collapse status bar (⌘B)`,"aria-label":o?`Expand status bar`:`Collapse status bar`,tabIndex:0,children:o?(0,G.jsx)(KD,{size:12}):(0,G.jsx)(GD,{size:12})})]})}),L2=(0,W.memo)(function({isOpen:e,onClose:t,mode:n=`diff`}){let r=[{title:`Scrolling & Diffs`,icon:(0,G.jsx)(zO,{size:15}),items:[{keys:[`j`],description:`Scroll Down slightly`},{keys:[`k`],description:`Scroll Up slightly`},{keys:[`Ctrl`,`d`],description:`Scroll Down half page`},{keys:[`Ctrl`,`u`],description:`Scroll Up half page`},{keys:[`g`,`g`],description:`Scroll to Top of diffs`},{keys:[`G`],description:`Scroll to Bottom of diffs`}]},{title:`File Navigation`,icon:(0,G.jsx)(SO,{size:15}),items:[{keys:[`J`],description:`Jump to Next File Diff`},{keys:[`K`],description:`Jump to Previous File Diff`},{keys:[`v`],description:`Toggle Viewed state for Active File`},{keys:[`b`],description:`Toggle Sidebar Panel collapse`}]},{title:`Commit Walk`,icon:(0,G.jsx)(gO,{size:15}),items:[{keys:[`]`],description:`Next commit (diffing show multi-commit)`},{keys:[`[`],description:`Previous commit (diffing show multi-commit)`},{keys:[`UI`],description:`Walk bar: Show all returns to the full range patch`}]},{title:`Search & Dialogs`,icon:(0,G.jsx)(lO,{size:15}),items:[{keys:[`⌘`,`K`],description:`Open Search Palette (all scopes)`},{keys:[`/`],description:`Search file contents (Text scope)`},{keys:[`s`],description:`Search symbols (Symbols scope)`},{keys:[`g`,`s`],description:`Search symbols (same as s)`},{keys:[`g`,`f`],description:`Open Search Palette (all scopes)`},{keys:[`g`,`v`],description:`Browse any file in the repo (Files scope)`},{keys:[`g`,`t`],description:`Open Theme Selection Modal`},{keys:[`Tab`],description:`Cycle search scope while palette is open`},{keys:[`⌘`,`↵`],description:`Peek a result in the preview pane`},{keys:[`?`],description:`Open Keyboard Shortcuts Guide`},{keys:[`⌘`,`?`],description:`Open Keyboard Shortcuts Guide`},{keys:[`Esc`],description:`Close preview / dialog`}]},{title:`Views & Formatting`,icon:(0,G.jsx)(PO,{size:15}),items:[{keys:[`m`],description:`Toggle Diff Style (Unified ↔ Split)`},{keys:[`t`],description:`Cycle Tab Indentation Size (2 → 4 → 8)`},{keys:[`w`],description:`Toggle Soft-Wrap Long Lines`},{keys:[`n`],description:`Toggle Line Numbers`},{keys:[`i`],description:`Cycle Diff Indicator Style (+/− → bars → none)`},{keys:[`I`],description:`Cycle Inline Diff Style (word → word-alt → char → none)`},{keys:[`⌘`,`Shift`,`P`],description:`Toggle Preview Mode in Comments`}]},{title:`Review & Comments`,icon:(0,G.jsx)(PO,{size:15}),items:[{keys:[`UI`],description:`Select lines or gutter + to start an inline comment`},{keys:[`v`],description:`Toggle Viewed on the active file (collapses card)`},{keys:[`UI`],description:`File header icons: expand context · edit · file comment`},{keys:[`UI`],description:`Round badge → open review history timeline`},{keys:[`UI`],description:`File-tree chips: Unviewed · Comments · Since last`},{keys:[`UI`],description:"Comment form “Suggest change” inserts ```suggestion fence"},{keys:[`click #`],description:`Line number copies a deep permalink (?file&line&side)`},{keys:[`UI`],description:`Minimap: change-map + density strip scroll targets`},{keys:[`UI`],description:`Send review: pick verdict, optional note, hand off to agent`}]},{title:`Dialogs & Settings`,icon:(0,G.jsx)(SO,{size:15}),items:[{keys:[`?`],description:`Open Keyboard Shortcuts Guide`},{keys:[`⌘`,`?`],description:`Open Keyboard Shortcuts Guide`},{keys:[`⌘`,`,`],description:`Open Settings`},{keys:[`⌘`,`K`],description:`Open Search Palette`},{keys:[`⌘`,`B`],description:`Collapse / expand the vim status bar`},{keys:[`g`,`t`],description:`Open Theme Selection Modal`},{keys:[`Esc`],description:`Close preview / dialog / this guide`}]}],i=[{title:`Scrolling & Content`,icon:(0,G.jsx)(zO,{size:15}),items:[{keys:[`j`],description:`Scroll Down slightly`},{keys:[`k`],description:`Scroll Up slightly`},{keys:[`Ctrl`,`d`],description:`Scroll Down half page`},{keys:[`Ctrl`,`u`],description:`Scroll Up half page`},{keys:[`g`,`g`],description:`Scroll to Top of plan`},{keys:[`G`],description:`Scroll to Bottom of plan`}]},{title:`Plan Navigation`,icon:(0,G.jsx)(SO,{size:15}),items:[{keys:[`J`],description:`Jump to Next Plan in list`},{keys:[`K`],description:`Jump to Previous Plan in list`},{keys:[`b`],description:`Toggle Plans Sidebar collapse`}]},{title:`Views & Layout`,icon:(0,G.jsx)(lO,{size:15}),items:[{keys:[`m`],description:`Cycle view mode (Source → Read → Split)`},{keys:[`UI`],description:`Toolbar Source / Read / Split switches the same modes`},{keys:[`z`],description:`Toggle Zen reading (enters Read if needed; full-width focus)`},{keys:[`UI`],description:`Read mode: expand icon also toggles Zen`},{keys:[`Esc`],description:`Exit Zen reading mode`},{keys:[`e`],description:`Toggle live plan edit (Source editor + Read preview; current version only)`},{keys:[`⌘`,`S`],description:`While editing: flush autosave now`},{keys:[`UI`],description:`Edit mode: Save · Save as new version · Discard (recent and/or roll back to original)`},{keys:[`Esc`],description:`Edit mode: open Discard (or exit edit if nothing to discard)`},{keys:[`o`],description:`Toggle Outline sidebar (left TOC)`},{keys:[`c`],description:`Toggle Comments map sidebar (right rail)`},{keys:[`drag`],description:`Split mode: drag the center divider to resize panes`},{keys:[`dbl-click`],description:`Split mode: double-click divider to reset 50/50`},{keys:[`←`,`→`],description:`Split mode: focus divider, nudge width ±2%`},{keys:[`t`],description:`Cycle Tab Indentation Size (2 → 4 → 8)`},{keys:[`w`],description:`Toggle Soft-Wrap Long Lines`},{keys:[`n`],description:`Toggle Line Numbers`}]},{title:`Comments & Review`,icon:(0,G.jsx)(PO,{size:15}),items:[{keys:[`c`],description:`Toggle Comments map sidebar (right rail)`},{keys:[`o`],description:`Toggle Outline sidebar (left TOC)`},{keys:[`UI`],description:`Source: select lines or click gutter + to comment`},{keys:[`UI`],description:`Read: highlight text → Add comment (multiple drafts OK)`},{keys:[`UI`],description:`Edit mode: new comments disabled; existing threads still resolvable`},{keys:[`Esc`],description:`Dismiss Add-comment chip / close draft (asks if dirty)`},{keys:[`UI`],description:`Header icons: copy link · copy markdown · open in editor · edit`},{keys:[`UI`],description:`Header: Outline (o) · Comments map (c)`},{keys:[`⌘`,`Shift`,`P`],description:`Toggle Preview Mode in Comments`}]},{title:`Dialogs & Settings`,icon:(0,G.jsx)(SO,{size:15}),items:[{keys:[`?`],description:`Open Keyboard Shortcuts Guide`},{keys:[`⌘`,`?`],description:`Open Keyboard Shortcuts Guide`},{keys:[`⌘`,`,`],description:`Open Settings`},{keys:[`⌘`,`B`],description:`Collapse / expand the vim status bar`},{keys:[`g`,`t`],description:`Open Theme Selection Modal`},{keys:[`Esc`],description:`Close preview / dialog / this guide`}]}],a=r.filter(e=>e.title!==`Commit Walk`).map(e=>e.title===`Review & Comments`?{...e,items:[{keys:[`UI`],description:`Select lines or gutter + to start a GitHub review comment`},{keys:[`v`],description:`Toggle Viewed on the active PR file (collapses card)`},{keys:[`UI`],description:`File header icons: expand context · file comment · viewed`},{keys:[`UI`],description:`File-tree chips: Unviewed · Comments`},{keys:[`click #`],description:`Line number copies a deep permalink (?file&line&side)`},{keys:[`UI`],description:`Checks pill: live successful · failed · pending GitHub actions`},{keys:[`UI`],description:`Submit to GitHub: approve · comment · request changes · draft`}]}:e),o=n===`plan`?i:n===`pr`?a:r,s=n===`plan`?`Vim-style keybindings for plan review. Cycle Source / Read / Split with m, jump plans with J/K, and comment from line selection or text highlight.`:n===`pr`?`The same Vim-style diff keybindings used by local review, scoped to GitHub PR navigation, formatting, search, and comments.`:`Vim-style keybindings for reviewing diffs. Jump files with J/K, walk commits with [ / ], and open search with ⌘K.`;return(0,G.jsxs)(LW,{open:e,onClose:t,className:`shortcuts-modal`,ariaLabel:`Keyboard shortcuts`,children:[(0,G.jsxs)(`div`,{className:`shortcuts-header`,children:[(0,G.jsxs)(`div`,{className:`shortcuts-header-title`,children:[(0,G.jsx)(HH,{size:22,className:`shortcuts-mark`}),(0,G.jsx)(`h2`,{children:n===`plan`?`Plan Review Shortcuts`:n===`pr`?`GitHub PR Review Shortcuts`:`Developer Keyboard Shortcuts`})]}),(0,G.jsx)(`button`,{className:`shortcuts-close-btn`,onClick:t,"aria-label":`Close dialog`,children:(0,G.jsx)(ck,{size:16})})]}),(0,G.jsxs)(`div`,{className:`shortcuts-body`,children:[(0,G.jsx)(`div`,{className:`shortcuts-intro`,children:s}),(0,G.jsx)(`div`,{className:`shortcuts-grid`,children:o.map((e,t)=>(0,G.jsxs)(`div`,{className:`shortcuts-section`,children:[(0,G.jsxs)(`h3`,{className:`shortcuts-section-title`,children:[e.icon,(0,G.jsx)(`span`,{children:e.title})]}),(0,G.jsx)(`div`,{className:`shortcuts-list`,children:e.items.map((e,t)=>(0,G.jsxs)(`div`,{className:`shortcuts-row`,children:[(0,G.jsx)(`span`,{className:`shortcuts-desc`,children:e.description}),(0,G.jsx)(`div`,{className:`shortcuts-keys`,children:e.keys.map((t,n)=>(0,G.jsxs)(`span`,{children:[(0,G.jsx)(`kbd`,{className:`vim-kbd`,children:t}),n<e.keys.length-1&&(0,G.jsx)(`span`,{className:`kbd-plus`,children:`+`})]},n))})]},t))})]},t))})]}),(0,G.jsxs)(`div`,{className:`shortcuts-footer`,children:[`Press `,(0,G.jsx)(`kbd`,{className:`vim-kbd-small`,children:`?`}),n===`plan`&&(0,G.jsxs)(G.Fragment,{children:[` `,`or `,(0,G.jsx)(`kbd`,{className:`vim-kbd-small`,children:`Esc`})]}),` `,`to dismiss this menu at any time.`]})]})});function R2({activity:e,onDismiss:t,onJump:n}){if((0,W.useEffect)(()=>{if(!e)return;let n=setTimeout(t,8e3);return()=>clearTimeout(n)},[e,t]),!e)return null;let r=e.body.length>120?`${e.body.slice(0,120)}…`:e.body;return(0,G.jsxs)(`div`,{className:`agent-toast`,role:`status`,"aria-live":`polite`,children:[(0,G.jsxs)(`button`,{className:`agent-toast-body`,onClick:()=>{n(e.filePath),t()},title:`Jump to the file`,children:[(0,G.jsx)(`span`,{className:`agent-toast-icon`,children:(0,G.jsx)(VD,{size:16})}),(0,G.jsxs)(`span`,{className:`agent-toast-text`,children:[(0,G.jsxs)(`span`,{className:`agent-toast-title`,children:[`Agent replied`,e.model?` · ${e.model}`:``]}),(0,G.jsx)(`span`,{className:`agent-toast-file`,children:e.filePath}),(0,G.jsx)(`span`,{className:`agent-toast-preview`,children:r})]})]}),(0,G.jsx)(`button`,{className:`agent-toast-close`,onClick:t,"aria-label":`Dismiss`,children:(0,G.jsx)(ck,{size:14})})]})}var z2=[{id:`nord`,name:`Nord (Main)`,type:`dark`,colors:{bg:`#2e3440`,secondary:`#242933`,accent:`#88c0d0`}},{id:`github-dark`,name:`GitHub Dark`,type:`dark`,colors:{bg:`#0d1117`,secondary:`#161b22`,accent:`#58a6ff`}},{id:`github-dark-dimmed`,name:`GitHub Dark Dimmed`,type:`dark`,colors:{bg:`#22272e`,secondary:`#1c2128`,accent:`#539bf5`}},{id:`github-dark-high-contrast`,name:`GitHub Dark HC`,type:`dark`,colors:{bg:`#0a0c10`,secondary:`#010409`,accent:`#409eff`}},{id:`github-light`,name:`GitHub Light`,type:`light`,colors:{bg:`#ffffff`,secondary:`#f6f8fa`,accent:`#0969da`}},{id:`github-light-high-contrast`,name:`GitHub Light HC`,type:`light`,colors:{bg:`#ffffff`,secondary:`#f6f8fa`,accent:`#0969da`}},{id:`dracula`,name:`Dracula`,type:`dark`,colors:{bg:`#282a36`,secondary:`#1e1f29`,accent:`#bd93f9`}},{id:`one-dark`,name:`One Dark`,type:`dark`,colors:{bg:`#282c34`,secondary:`#21252b`,accent:`#61afef`}},{id:`synthwave-84`,name:`Synthwave '84`,type:`dark`,colors:{bg:`#2b213a`,secondary:`#241b2f`,accent:`#f92aad`}},{id:`tokyo-night`,name:`Tokyo Night`,type:`dark`,colors:{bg:`#1a1b26`,secondary:`#16161e`,accent:`#7aa2f7`}},{id:`catppuccin-mocha`,name:`Catppuccin Mocha`,type:`dark`,colors:{bg:`#1e1e2e`,secondary:`#181825`,accent:`#cba6f7`}},{id:`catppuccin-frappe`,name:`Catppuccin Frappé`,type:`dark`,colors:{bg:`#303446`,secondary:`#292c3c`,accent:`#ca9ee6`}},{id:`catppuccin-macchiato`,name:`Catppuccin Macchiato`,type:`dark`,colors:{bg:`#24273a`,secondary:`#1e2030`,accent:`#c6a0f6`}},{id:`catppuccin-latte`,name:`Catppuccin Latte`,type:`light`,colors:{bg:`#eff1f5`,secondary:`#e6e9ef`,accent:`#8839ef`}},{id:`solarized-dark`,name:`Solarized Dark`,type:`dark`,colors:{bg:`#002b36`,secondary:`#073642`,accent:`#268bd2`}},{id:`solarized-light`,name:`Solarized Light`,type:`light`,colors:{bg:`#fdf6e3`,secondary:`#eee8d5`,accent:`#268bd2`}},{id:`monokai`,name:`Monokai`,type:`dark`,colors:{bg:`#272822`,secondary:`#1d1e19`,accent:`#f92672`}},{id:`ayu-dark`,name:`Ayu Dark`,type:`dark`,colors:{bg:`#0a0e14`,secondary:`#0d1117`,accent:`#e6b450`}},{id:`ayu-light`,name:`Ayu Light`,type:`light`,colors:{bg:`#fafafa`,secondary:`#f3f3f3`,accent:`#ff9900`}},{id:`nightfox`,name:`Nightfox`,type:`dark`,colors:{bg:`#192330`,secondary:`#131a24`,accent:`#719cd6`}},{id:`nordfox`,name:`Nordfox`,type:`dark`,colors:{bg:`#2e3440`,secondary:`#232831`,accent:`#81a1c1`}},{id:`duskfox`,name:`Duskfox`,type:`dark`,colors:{bg:`#232136`,secondary:`#1d1b2d`,accent:`#86b3b3`}},{id:`terafox`,name:`Terafox`,type:`dark`,colors:{bg:`#152528`,secondary:`#0f1c1e`,accent:`#5a93aa`}},{id:`carbonfox`,name:`Carbonfox`,type:`dark`,colors:{bg:`#161616`,secondary:`#111111`,accent:`#78a9ff`}},{id:`dayfox`,name:`Dayfox`,type:`light`,colors:{bg:`#f6f2ee`,secondary:`#ebe5df`,accent:`#2848a9`}},{id:`dawnfox`,name:`Dawnfox`,type:`light`,colors:{bg:`#eae5e5`,secondary:`#e0d8d8`,accent:`#614d85`}},{id:`andromeeda`,name:`Andromeeda`,type:`dark`,colors:{bg:`#090b10`,secondary:`#0e1117`,accent:`#00e8c6`}},{id:`aurora-x`,name:`Aurora X`,type:`dark`,colors:{bg:`#07090f`,secondary:`#0c0e15`,accent:`#2eb5e5`}},{id:`dark-plus`,name:`Dark+ (VS Code)`,type:`dark`,colors:{bg:`#1e1e1e`,secondary:`#252526`,accent:`#0e639c`}},{id:`light-plus`,name:`Light+ (VS Code)`,type:`light`,colors:{bg:`#ffffff`,secondary:`#f3f3f3`,accent:`#007acc`}},{id:`houston`,name:`Houston (Astro)`,type:`dark`,colors:{bg:`#131415`,secondary:`#17191e`,accent:`#ff5d01`}},{id:`laserwave`,name:`Laserwave`,type:`dark`,colors:{bg:`#1b1d28`,secondary:`#181a23`,accent:`#ffe261`}},{id:`material-theme`,name:`Material Theme`,type:`dark`,colors:{bg:`#263238`,secondary:`#1e272c`,accent:`#80cbd8`}},{id:`material-theme-darker`,name:`Material Darker`,type:`dark`,colors:{bg:`#212121`,secondary:`#1a1a1a`,accent:`#80cbd8`}},{id:`material-theme-lighter`,name:`Material Lighter`,type:`light`,colors:{bg:`#fafafa`,secondary:`#eeeded`,accent:`#80cbd8`}},{id:`material-theme-ocean`,name:`Material Ocean`,type:`dark`,colors:{bg:`#0f111a`,secondary:`#090b10`,accent:`#80cbd8`}},{id:`material-theme-palenight`,name:`Material Palenight`,type:`dark`,colors:{bg:`#292d3e`,secondary:`#202331`,accent:`#80cbd8`}},{id:`min-dark`,name:`Min Dark`,type:`dark`,colors:{bg:`#1f1f1f`,secondary:`#181818`,accent:`#ffffff`}},{id:`min-light`,name:`Min Light`,type:`light`,colors:{bg:`#ffffff`,secondary:`#f5f5f5`,accent:`#111111`}},{id:`night-owl`,name:`Night Owl`,type:`dark`,colors:{bg:`#011627`,secondary:`#0b2942`,accent:`#7fdbca`}},{id:`one-light`,name:`One Light`,type:`light`,colors:{bg:`#fafafa`,secondary:`#f0f0f0`,accent:`#40a9ff`}},{id:`plastic`,name:`Plastic`,type:`dark`,colors:{bg:`#21252b`,secondary:`#1b1d23`,accent:`#61afef`}},{id:`poimandres`,name:`Poimandres`,type:`dark`,colors:{bg:`#1b1e28`,secondary:`#171922`,accent:`#50cad2`}},{id:`rose-pine`,name:`Rosé Pine`,type:`dark`,colors:{bg:`#191724`,secondary:`#1f1d2e`,accent:`#c4a7e7`}},{id:`rose-pine-moon`,name:`Rosé Pine Moon`,type:`dark`,colors:{bg:`#232136`,secondary:`#2a283e`,accent:`#c4a7e7`}},{id:`rose-pine-dawn`,name:`Rosé Pine Dawn`,type:`light`,colors:{bg:`#faf4ed`,secondary:`#f2e9e1`,accent:`#907aa9`}},{id:`slack-dark`,name:`Slack Dark`,type:`dark`,colors:{bg:`#1a1d21`,secondary:`#222529`,accent:`#36c5f0`}},{id:`slack-ochre`,name:`Slack Ochre`,type:`dark`,colors:{bg:`#222222`,secondary:`#2b2b2b`,accent:`#e8912d`}},{id:`vesper`,name:`Vesper`,type:`dark`,colors:{bg:`#101010`,secondary:`#161616`,accent:`#ffc600`}},{id:`vitesse-black`,name:`Vitesse Black`,type:`dark`,colors:{bg:`#000000`,secondary:`#0b0b0b`,accent:`#4d9375`}},{id:`vitesse-dark`,name:`Vitesse Dark`,type:`dark`,colors:{bg:`#121212`,secondary:`#181818`,accent:`#4d9375`}},{id:`vitesse-light`,name:`Vitesse Light`,type:`light`,colors:{bg:`#ffffff`,secondary:`#fafafa`,accent:`#1b655f`}}];function B2({open:e,activeTheme:t,onThemeChange:n,onClose:r}){let[i,a]=(0,W.useState)(``),[o,s]=(0,W.useState)(`all`),[c,l]=(0,W.useState)(0),u=(0,W.useRef)(null),d=(0,W.useRef)(null),f=(0,W.useRef)([]);(0,W.useEffect)(()=>{e&&(a(``),s(`all`),l(0),setTimeout(()=>{u.current?.focus()},50))},[e]);let p=(0,W.useMemo)(()=>{let e=i.toLowerCase().trim();return z2.filter(t=>{let n=t.name.toLowerCase().includes(e)||t.id.toLowerCase().includes(e),r=o===`all`||t.type===o;return n&&r})},[i,o]);return(0,W.useEffect)(()=>{c>=p.length&&l(Math.max(0,p.length-1))},[p,c]),(0,W.useEffect)(()=>{e&&f.current[c]&&f.current[c]?.scrollIntoView({block:`nearest`,behavior:`smooth`})},[c,e]),(0,G.jsx)(LW,{open:e,onClose:r,className:`theme-modal`,ariaLabel:`Theme Selector Modal`,children:(0,G.jsxs)(`div`,{className:`theme-modal-content`,onKeyDown:e=>{let t=p.length;if(e.key===`Escape`){e.preventDefault(),r();return}if(t!==0)switch(e.key){case`ArrowRight`:e.preventDefault(),l(e=>Math.min(e+1,t-1));break;case`ArrowLeft`:e.preventDefault(),l(e=>Math.max(e-1,0));break;case`ArrowDown`:e.preventDefault(),c+2<t?l(c+2):l(t-1);break;case`ArrowUp`:e.preventDefault(),c-2>=0&&l(c-2);break;case`Enter`:e.preventDefault(),p[c]&&(n(p[c].id),r());break;default:break}},children:[(0,G.jsxs)(`div`,{className:`theme-modal-header`,children:[(0,G.jsxs)(`div`,{className:`theme-modal-title-row`,children:[(0,G.jsx)(HH,{size:24,className:`theme-modal-mark`}),(0,G.jsx)(`h2`,{className:`theme-modal-title`,children:`Select Color Theme`}),(0,G.jsx)(`button`,{className:`theme-modal-close-btn`,onClick:r,"aria-label":`Close`,children:(0,G.jsx)(ck,{size:16})})]}),(0,G.jsxs)(`div`,{className:`theme-modal-search-wrapper`,children:[(0,G.jsx)(ZO,{className:`theme-modal-search-icon`,size:16}),(0,G.jsx)(`input`,{ref:u,type:`text`,className:`theme-modal-search-input`,placeholder:`Search themes... (e.g. nordfox, github)`,value:i,onChange:e=>{a(e.target.value),l(0)}}),i&&(0,G.jsx)(`button`,{className:`theme-modal-clear-btn`,onClick:()=>{a(``),l(0),u.current?.focus()},children:(0,G.jsx)(ck,{size:14})})]}),(0,G.jsxs)(`div`,{className:`theme-modal-filters`,children:[(0,G.jsxs)(`button`,{className:`theme-filter-tab ${o===`all`?`active`:``}`,onClick:()=>{s(`all`),l(0),u.current?.focus()},children:[`All Themes (`,z2.length,`)`]}),(0,G.jsxs)(`button`,{className:`theme-filter-tab ${o===`dark`?`active`:``}`,onClick:()=>{s(`dark`),l(0),u.current?.focus()},children:[(0,G.jsx)(RO,{size:12,style:{marginRight:`6px`}}),`Dark (`,z2.filter(e=>e.type===`dark`).length,`)`]}),(0,G.jsxs)(`button`,{className:`theme-filter-tab ${o===`light`?`active`:``}`,onClick:()=>{s(`light`),l(0),u.current?.focus()},children:[(0,G.jsx)(tk,{size:12,style:{marginRight:`6px`}}),`Light (`,z2.filter(e=>e.type===`light`).length,`)`]})]})]}),(0,G.jsx)(`div`,{ref:d,className:`theme-modal-list`,children:p.length===0?(0,G.jsxs)(`div`,{className:`theme-modal-empty`,children:[(0,G.jsxs)(`p`,{className:`theme-modal-empty-text`,children:[`No themes matching "`,i,`"`]}),(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:()=>{a(``),s(`all`),l(0),u.current?.focus()},children:`Reset Search`})]}):(0,G.jsx)(`div`,{className:`theme-modal-grid`,children:p.map((e,i)=>{let a=t===e.id;return(0,G.jsxs)(`button`,{ref:e=>{f.current[i]=e},type:`button`,className:`theme-modal-card ${a?`active`:``} ${c===i?`focused`:``}`,onClick:()=>{n(e.id),r()},onMouseEnter:()=>l(i),children:[(0,G.jsxs)(`div`,{className:`theme-card-info`,children:[(0,G.jsx)(`span`,{className:`theme-card-name`,children:e.name}),(0,G.jsx)(`span`,{className:`theme-card-meta`,children:e.type===`dark`?(0,G.jsx)(`span`,{className:`theme-meta-tag dark-tag`,children:`Dark`}):(0,G.jsx)(`span`,{className:`theme-meta-tag light-tag`,children:`Light`})})]}),(0,G.jsxs)(`div`,{className:`theme-card-right`,children:[(0,G.jsxs)(`span`,{className:`theme-swatches`,children:[(0,G.jsx)(`span`,{className:`theme-swatch`,style:{background:e.colors.bg},title:`Background`}),(0,G.jsx)(`span`,{className:`theme-swatch`,style:{background:e.colors.secondary},title:`Secondary`}),(0,G.jsx)(`span`,{className:`theme-swatch`,style:{background:e.colors.accent},title:`Accent`})]}),(0,G.jsx)(`span`,{className:`theme-card-status`,children:a&&(0,G.jsx)(UD,{size:14,className:`theme-check-icon`})})]})]},e.id)})})}),(0,G.jsxs)(`div`,{className:`theme-modal-footer`,children:[(0,G.jsxs)(`span`,{className:`theme-footer-item`,children:[(0,G.jsx)(`kbd`,{children:`↑`}),` `,(0,G.jsx)(`kbd`,{children:`↓`}),` `,(0,G.jsx)(`kbd`,{children:`←`}),` `,(0,G.jsx)(`kbd`,{children:`→`}),` Navigate`]}),(0,G.jsxs)(`span`,{className:`theme-footer-item`,children:[(0,G.jsx)(`kbd`,{children:`Enter`}),` Select`]}),(0,G.jsxs)(`span`,{className:`theme-footer-item`,children:[(0,G.jsx)(`kbd`,{children:`ESC`}),` Close`]})]})]})})}var V2=`Cascadia Code.Cascadia Mono.Consolas.Courier New.Dank Mono.Fantasque Sans Mono.Fira Code.Fira Mono.Geist Mono.Hack.IBM Plex Mono.Inconsolata.Input Mono.JetBrains Mono.Maple Mono.Menlo.Monaco.Monoid.Monaspace Argon.Monaspace Krypton.Monaspace Neon.Monaspace Radon.Monaspace Xenon.Noto Sans Mono.Operator Mono.Roboto Mono.SF Mono.Source Code Pro.Space Mono.Ubuntu Mono.Victor Mono`.split(`.`);async function H2(){if(`queryLocalFonts`in window)try{let e=await window.queryLocalFonts();return[...new Set(e.map(e=>e.family))].sort((e,t)=>e.localeCompare(t))}catch{}return V2}function U2({open:e,title:t,defaultLabel:n,activeFont:r,onFontChange:i,onClose:a}){let[o,s]=(0,W.useState)(``),[c,l]=(0,W.useState)([]),[u,d]=(0,W.useState)(!1),[f,p]=(0,W.useState)(0),m=(0,W.useRef)(null),h=(0,W.useRef)(null),g=(0,W.useRef)([]);(0,W.useEffect)(()=>{e&&(s(``),p(0),setTimeout(()=>m.current?.focus(),50),!(c.length>0)&&(d(!0),H2().then(e=>{l(e),d(!1)})))},[e]);let _=(0,W.useMemo)(()=>{let e=o.toLowerCase().trim();return e?c.filter(t=>t.toLowerCase().includes(e)):c},[c,o]),v=_.length+1;(0,W.useEffect)(()=>{f>=v&&p(Math.max(0,v-1))},[v,f]),(0,W.useEffect)(()=>{e&&(f===0?g.current[0]:g.current[f])?.scrollIntoView({block:`nearest`,behavior:`smooth`})},[f,e]);let y=e=>{i(e),a()},b=e=>{if(e.key===`Escape`){e.preventDefault(),a();return}if(v!==0)switch(e.key){case`ArrowDown`:e.preventDefault(),p(e=>Math.min(e+1,v-1));break;case`ArrowUp`:e.preventDefault(),p(e=>Math.max(e-1,0));break;case`Enter`:e.preventDefault(),f===0?y(null):_[f-1]&&y(_[f-1]);break}},x=!r;return(0,G.jsx)(LW,{open:e,onClose:a,className:`theme-modal`,ariaLabel:`${t} Modal`,children:(0,G.jsxs)(`div`,{className:`theme-modal-content`,onKeyDown:b,children:[(0,G.jsxs)(`div`,{className:`theme-modal-header`,children:[(0,G.jsxs)(`div`,{className:`theme-modal-title-row`,children:[(0,G.jsx)(`h2`,{className:`theme-modal-title`,children:t}),(0,G.jsx)(`button`,{className:`theme-modal-close-btn`,onClick:a,"aria-label":`Close`,children:(0,G.jsx)(ck,{size:16})})]}),(0,G.jsxs)(`div`,{className:`theme-modal-search-wrapper`,children:[(0,G.jsx)(ZO,{className:`theme-modal-search-icon`,size:16}),(0,G.jsx)(`input`,{ref:m,type:`text`,className:`theme-modal-search-input`,placeholder:`Search fonts...`,value:o,onChange:e=>{s(e.target.value),p(0)}}),o&&(0,G.jsx)(`button`,{className:`theme-modal-clear-btn`,onClick:()=>{s(``),p(0),m.current?.focus()},children:(0,G.jsx)(ck,{size:14})})]})]}),(0,G.jsx)(`div`,{ref:h,className:`theme-modal-list`,children:u?(0,G.jsx)(`div`,{className:`theme-modal-empty`,children:(0,G.jsx)(`p`,{className:`theme-modal-empty-text`,children:`Loading fonts…`})}):(0,G.jsxs)(`div`,{className:`font-picker-list`,children:[(0,G.jsxs)(`button`,{ref:e=>{g.current[0]=e},type:`button`,className:`font-picker-item ${x?`active`:``} ${f===0?`focused`:``}`,onClick:()=>y(null),onMouseEnter:()=>p(0),children:[(0,G.jsxs)(`span`,{className:`font-picker-name font-picker-default-name`,children:[(0,G.jsx)(ak,{size:13,style:{marginRight:`6px`,opacity:.6}}),n]}),(0,G.jsx)(`span`,{className:`font-picker-status`,children:x&&(0,G.jsx)(UD,{size:14,className:`theme-check-icon`})})]},`__default__`),_.length===0&&o?(0,G.jsxs)(`div`,{className:`theme-modal-empty`,style:{paddingTop:`16px`},children:[(0,G.jsxs)(`p`,{className:`theme-modal-empty-text`,children:[`No fonts matching "`,o,`"`]}),(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:()=>{s(``),p(0),m.current?.focus()},children:`Reset Search`})]}):_.map((e,t)=>{let n=r===e,i=f===t+1;return(0,G.jsxs)(`button`,{ref:e=>{g.current[t+1]=e},type:`button`,className:`font-picker-item ${n?`active`:``} ${i?`focused`:``}`,onClick:()=>y(e),onMouseEnter:()=>p(t+1),children:[(0,G.jsx)(`span`,{className:`font-picker-name`,style:{fontFamily:`"${e}", ui-monospace, monospace`},children:e}),(0,G.jsx)(`span`,{className:`font-picker-status`,children:n&&(0,G.jsx)(UD,{size:14,className:`theme-check-icon`})})]},e)})]})}),(0,G.jsxs)(`div`,{className:`theme-modal-footer`,children:[(0,G.jsxs)(`span`,{className:`theme-footer-item`,children:[(0,G.jsx)(`kbd`,{children:`↑`}),` `,(0,G.jsx)(`kbd`,{children:`↓`}),` Navigate`]}),(0,G.jsxs)(`span`,{className:`theme-footer-item`,children:[(0,G.jsx)(`kbd`,{children:`Enter`}),` Select`]}),(0,G.jsxs)(`span`,{className:`theme-footer-item`,children:[(0,G.jsx)(`kbd`,{children:`ESC`}),` Close`]})]})]})})}function W2(e){return e.split(`
3868
+ `}}):null})]})}var I2=(0,W.memo)(function({activeFile:e,onShowHelp:t,placeholder:n=`No active file (J/K to jump)`,visible:r=!0}){if(!r)return null;let[i,a]=(0,W.useState)(!1),[o,s]=(0,W.useState)(!0),c=(0,W.useRef)(null);(0,W.useEffect)(()=>{let e=()=>{let e=document.activeElement;if(e){let t=e.tagName.toLowerCase();a(t===`input`||t===`textarea`||e.hasAttribute(`contenteditable`))}else a(!1)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,e);let t=setInterval(e,400);return()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,e),clearInterval(t)}},[]),(0,W.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&e.key===`b`&&(e.preventDefault(),s(e=>!e))};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[]);let l=e?e.split(`/`).pop():null,u=e&&e.includes(`/`)?e.split(`/`).slice(0,-1).join(`/`)+`/`:``,d=(0,W.useCallback)(e=>{e?.stopPropagation(),s(e=>!e)},[]);return(0,G.jsxs)(`div`,{className:`vim-status-bar ${o?`vim-status-collapsed`:``}`,children:[(0,G.jsx)(`div`,{className:`vim-mode-badge ${i?`vim-mode-insert`:`vim-mode-normal`}`,children:i?`INSERT`:`NORMAL`}),!o&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`div`,{className:`vim-status-content`,children:[(0,G.jsx)(nk,{size:12,className:`vim-status-icon`}),e?(0,G.jsxs)(`span`,{className:`vim-status-file`,title:e,children:[(0,G.jsx)(`span`,{className:`vim-file-dir`,children:u}),(0,G.jsx)(`strong`,{className:`vim-file-name`,children:l})]}):(0,G.jsx)(`span`,{className:`vim-status-placeholder`,children:n})]}),(0,G.jsxs)(`button`,{className:`vim-status-help-btn`,onClick:t,title:`View Keyboard Shortcuts (?)`,children:[(0,G.jsx)(QD,{size:13}),(0,G.jsx)(`span`,{children:`Shortcuts`}),(0,G.jsx)(`kbd`,{className:`vim-kbd-small`,children:`?`})]})]}),(0,G.jsx)(`button`,{ref:c,className:`vim-status-toggle`,onClick:d,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),d(e))},title:o?`Expand status bar (⌘B)`:`Collapse status bar (⌘B)`,"aria-label":o?`Expand status bar`:`Collapse status bar`,tabIndex:0,children:o?(0,G.jsx)(KD,{size:12}):(0,G.jsx)(GD,{size:12})})]})}),L2=(0,W.memo)(function({isOpen:e,onClose:t,mode:n=`diff`}){let r=[{title:`Scrolling & Diffs`,icon:(0,G.jsx)(zO,{size:15}),items:[{keys:[`j`],description:`Scroll Down slightly`},{keys:[`k`],description:`Scroll Up slightly`},{keys:[`Ctrl`,`d`],description:`Scroll Down half page`},{keys:[`Ctrl`,`u`],description:`Scroll Up half page`},{keys:[`g`,`g`],description:`Scroll to Top of diffs`},{keys:[`G`],description:`Scroll to Bottom of diffs`}]},{title:`File Navigation`,icon:(0,G.jsx)(SO,{size:15}),items:[{keys:[`J`],description:`Jump to Next File Diff`},{keys:[`K`],description:`Jump to Previous File Diff`},{keys:[`v`],description:`Toggle Viewed state for Active File`},{keys:[`b`],description:`Toggle Sidebar Panel collapse`}]},{title:`Commit Walk`,icon:(0,G.jsx)(gO,{size:15}),items:[{keys:[`]`],description:`Next commit (diffing show multi-commit)`},{keys:[`[`],description:`Previous commit (diffing show multi-commit)`},{keys:[`UI`],description:`Walk bar: Show all returns to the full range patch`}]},{title:`Search & Dialogs`,icon:(0,G.jsx)(lO,{size:15}),items:[{keys:[`⌘`,`K`],description:`Open Search Palette (all scopes)`},{keys:[`/`],description:`Search file contents (Text scope)`},{keys:[`s`],description:`Search symbols (Symbols scope)`},{keys:[`g`,`s`],description:`Search symbols (same as s)`},{keys:[`g`,`f`],description:`Open Search Palette (all scopes)`},{keys:[`g`,`v`],description:`Browse any file in the repo (Files scope)`},{keys:[`g`,`t`],description:`Open Theme Selection Modal`},{keys:[`Tab`],description:`Cycle search scope while palette is open`},{keys:[`⌘`,`↵`],description:`Peek a result in the preview pane`},{keys:[`?`],description:`Open Keyboard Shortcuts Guide`},{keys:[`⌘`,`?`],description:`Open Keyboard Shortcuts Guide`},{keys:[`Esc`],description:`Close preview / dialog`}]},{title:`Views & Formatting`,icon:(0,G.jsx)(PO,{size:15}),items:[{keys:[`m`],description:`Toggle Diff Style (Unified ↔ Split)`},{keys:[`t`],description:`Cycle Tab Indentation Size (2 → 4 → 8)`},{keys:[`w`],description:`Toggle Soft-Wrap Long Lines`},{keys:[`n`],description:`Toggle Line Numbers`},{keys:[`i`],description:`Cycle Diff Indicator Style (+/− → bars → none)`},{keys:[`I`],description:`Cycle Inline Diff Style (word → word-alt → char → none)`},{keys:[`⌘`,`Shift`,`P`],description:`Toggle Preview Mode in Comments`}]},{title:`Review & Comments`,icon:(0,G.jsx)(PO,{size:15}),items:[{keys:[`UI`],description:`Select lines or gutter + to start an inline comment`},{keys:[`v`],description:`Toggle Viewed on the active file (collapses card)`},{keys:[`UI`],description:`File header icons: expand context · edit · file comment`},{keys:[`UI`],description:`Round badge → open review history timeline`},{keys:[`UI`],description:`File-tree chips: Unviewed · Comments · Since last`},{keys:[`UI`],description:"Comment form “Suggest change” inserts ```suggestion fence"},{keys:[`click #`],description:`Line number copies a deep permalink (?file&line&side)`},{keys:[`UI`],description:`Minimap: change-map + density strip scroll targets`},{keys:[`UI`],description:`Send review: pick verdict, optional note, hand off to agent`}]},{title:`Dialogs & Settings`,icon:(0,G.jsx)(SO,{size:15}),items:[{keys:[`?`],description:`Open Keyboard Shortcuts Guide`},{keys:[`⌘`,`?`],description:`Open Keyboard Shortcuts Guide`},{keys:[`⌘`,`,`],description:`Open Settings`},{keys:[`⌘`,`K`],description:`Open Search Palette`},{keys:[`⌘`,`B`],description:`Collapse / expand the vim status bar`},{keys:[`g`,`t`],description:`Open Theme Selection Modal`},{keys:[`Esc`],description:`Close preview / dialog / this guide`}]}],i=[{title:`Scrolling & Content`,icon:(0,G.jsx)(zO,{size:15}),items:[{keys:[`j`],description:`Scroll Down slightly`},{keys:[`k`],description:`Scroll Up slightly`},{keys:[`Ctrl`,`d`],description:`Scroll Down half page`},{keys:[`Ctrl`,`u`],description:`Scroll Up half page`},{keys:[`g`,`g`],description:`Scroll to Top of plan`},{keys:[`G`],description:`Scroll to Bottom of plan`}]},{title:`Plan Navigation`,icon:(0,G.jsx)(SO,{size:15}),items:[{keys:[`J`],description:`Jump to Next Plan in list`},{keys:[`K`],description:`Jump to Previous Plan in list`},{keys:[`b`],description:`Toggle Plans Sidebar collapse`}]},{title:`Views & Layout`,icon:(0,G.jsx)(lO,{size:15}),items:[{keys:[`m`],description:`Cycle view mode (Source → Read → Split)`},{keys:[`UI`],description:`Toolbar Source / Read / Split switches the same modes`},{keys:[`z`],description:`Toggle Zen reading (enters Read if needed; full-width focus)`},{keys:[`UI`],description:`Read mode: expand icon also toggles Zen`},{keys:[`Esc`],description:`Exit Zen reading mode`},{keys:[`e`],description:`Toggle live plan edit (Source editor + Read preview; current version only)`},{keys:[`⌘`,`S`],description:`While editing: flush autosave now`},{keys:[`UI`],description:`Edit mode: Save · Save as new version · Discard (recent and/or roll back to original)`},{keys:[`Esc`],description:`Edit mode: open Discard (or exit edit if nothing to discard)`},{keys:[`o`],description:`Toggle Outline sidebar (left TOC)`},{keys:[`c`],description:`Toggle Comments map sidebar (right rail)`},{keys:[`drag`],description:`Split mode: drag the center divider to resize panes`},{keys:[`dbl-click`],description:`Split mode: double-click divider to reset 50/50`},{keys:[`←`,`→`],description:`Split mode: focus divider, nudge width ±2%`},{keys:[`t`],description:`Cycle Tab Indentation Size (2 → 4 → 8)`},{keys:[`w`],description:`Toggle Soft-Wrap Long Lines`},{keys:[`n`],description:`Toggle Line Numbers`}]},{title:`Comments & Review`,icon:(0,G.jsx)(PO,{size:15}),items:[{keys:[`c`],description:`Toggle Comments map sidebar (right rail)`},{keys:[`o`],description:`Toggle Outline sidebar (left TOC)`},{keys:[`UI`],description:`Source: select lines or click gutter + to comment`},{keys:[`UI`],description:`Read: highlight text → Add comment (multiple drafts OK)`},{keys:[`UI`],description:`Edit mode: new comments disabled; existing threads still resolvable`},{keys:[`Esc`],description:`Dismiss Add-comment chip / close draft (asks if dirty)`},{keys:[`UI`],description:`Header icons: copy link · copy markdown · open in editor · edit`},{keys:[`UI`],description:`Header: Outline (o) · Comments map (c)`},{keys:[`⌘`,`Shift`,`P`],description:`Toggle Preview Mode in Comments`}]},{title:`Dialogs & Settings`,icon:(0,G.jsx)(SO,{size:15}),items:[{keys:[`?`],description:`Open Keyboard Shortcuts Guide`},{keys:[`⌘`,`?`],description:`Open Keyboard Shortcuts Guide`},{keys:[`⌘`,`,`],description:`Open Settings`},{keys:[`⌘`,`B`],description:`Collapse / expand the vim status bar`},{keys:[`g`,`t`],description:`Open Theme Selection Modal`},{keys:[`Esc`],description:`Close preview / dialog / this guide`}]}],a=r.filter(e=>e.title!==`Commit Walk`).map(e=>e.title===`Review & Comments`?{...e,items:[{keys:[`UI`],description:`Select lines or gutter + to start a GitHub review comment`},{keys:[`v`],description:`Toggle Viewed on the active PR file (collapses card)`},{keys:[`UI`],description:`File header icons: expand context · file comment · viewed`},{keys:[`UI`],description:`File-tree chips: Unviewed · Comments`},{keys:[`click #`],description:`Line number copies a deep permalink (?file&line&side)`},{keys:[`UI`],description:`Checks pill: live successful · failed · pending GitHub actions`},{keys:[`UI`],description:`Submit to GitHub: approve · comment · request changes · draft`}]}:e),o=n===`plan`?i:n===`pr`?a:r,s=n===`plan`?`Vim-style keybindings for plan review. Cycle Source / Read / Split with m, jump plans with J/K, and comment from line selection or text highlight.`:n===`pr`?`The same Vim-style diff keybindings used by local review, scoped to GitHub PR navigation, formatting, search, and comments.`:`Vim-style keybindings for reviewing diffs. Jump files with J/K, walk commits with [ / ], and open search with ⌘K.`;return(0,G.jsxs)(LW,{open:e,onClose:t,className:`shortcuts-modal`,ariaLabel:`Keyboard shortcuts`,children:[(0,G.jsxs)(`div`,{className:`shortcuts-header`,children:[(0,G.jsxs)(`div`,{className:`shortcuts-header-title`,children:[(0,G.jsx)(HH,{size:22,className:`shortcuts-mark`}),(0,G.jsx)(`h2`,{children:n===`plan`?`Plan Review Shortcuts`:n===`pr`?`GitHub PR Review Shortcuts`:`Developer Keyboard Shortcuts`})]}),(0,G.jsx)(`button`,{className:`shortcuts-close-btn`,onClick:t,"aria-label":`Close dialog`,children:(0,G.jsx)(ck,{size:16})})]}),(0,G.jsxs)(`div`,{className:`shortcuts-body`,children:[(0,G.jsx)(`div`,{className:`shortcuts-intro`,children:s}),(0,G.jsx)(`div`,{className:`shortcuts-grid`,children:o.map((e,t)=>(0,G.jsxs)(`div`,{className:`shortcuts-section`,children:[(0,G.jsxs)(`h3`,{className:`shortcuts-section-title`,children:[e.icon,(0,G.jsx)(`span`,{children:e.title})]}),(0,G.jsx)(`div`,{className:`shortcuts-list`,children:e.items.map((e,t)=>(0,G.jsxs)(`div`,{className:`shortcuts-row`,children:[(0,G.jsx)(`span`,{className:`shortcuts-desc`,children:e.description}),(0,G.jsx)(`div`,{className:`shortcuts-keys`,children:e.keys.map((t,n)=>(0,G.jsxs)(`span`,{children:[(0,G.jsx)(`kbd`,{className:`vim-kbd`,children:t}),n<e.keys.length-1&&(0,G.jsx)(`span`,{className:`kbd-plus`,children:`+`})]},n))})]},t))})]},t))})]}),(0,G.jsxs)(`div`,{className:`shortcuts-footer`,children:[`Press `,(0,G.jsx)(`kbd`,{className:`vim-kbd-small`,children:`?`}),n===`plan`&&(0,G.jsxs)(G.Fragment,{children:[` `,`or `,(0,G.jsx)(`kbd`,{className:`vim-kbd-small`,children:`Esc`})]}),` `,`to dismiss this menu at any time.`]})]})});function R2({activity:e,onDismiss:t,onJump:n}){if((0,W.useEffect)(()=>{if(!e)return;let n=setTimeout(t,8e3);return()=>clearTimeout(n)},[e,t]),!e)return null;let r=e.body.length>120?`${e.body.slice(0,120)}…`:e.body;return(0,G.jsxs)(`div`,{className:`agent-toast`,role:`status`,"aria-live":`polite`,children:[(0,G.jsxs)(`button`,{className:`agent-toast-body`,onClick:()=>{n(e.filePath),t()},title:`Jump to the file`,children:[(0,G.jsx)(`span`,{className:`agent-toast-icon`,children:(0,G.jsx)(VD,{size:16})}),(0,G.jsxs)(`span`,{className:`agent-toast-text`,children:[(0,G.jsxs)(`span`,{className:`agent-toast-title`,children:[`Agent replied`,e.model?` · ${e.model}`:``]}),(0,G.jsx)(`span`,{className:`agent-toast-file`,children:e.filePath}),(0,G.jsx)(`span`,{className:`agent-toast-preview`,children:r})]})]}),(0,G.jsx)(`button`,{className:`agent-toast-close`,onClick:t,"aria-label":`Dismiss`,children:(0,G.jsx)(ck,{size:14})})]})}var z2=[{id:`nord`,name:`Nord`,type:`dark`,colors:{bg:`#2e3440`,secondary:`#242933`,accent:`#88c0d0`}},{id:`github-dark`,name:`GitHub Dark`,type:`dark`,colors:{bg:`#0d1117`,secondary:`#161b22`,accent:`#58a6ff`}},{id:`github-dark-dimmed`,name:`GitHub Dark Dimmed`,type:`dark`,colors:{bg:`#22272e`,secondary:`#1c2128`,accent:`#539bf5`}},{id:`github-dark-high-contrast`,name:`GitHub Dark HC`,type:`dark`,colors:{bg:`#0a0c10`,secondary:`#010409`,accent:`#409eff`}},{id:`github-light`,name:`GitHub Light`,type:`light`,colors:{bg:`#ffffff`,secondary:`#f6f8fa`,accent:`#0969da`}},{id:`github-light-high-contrast`,name:`GitHub Light HC`,type:`light`,colors:{bg:`#ffffff`,secondary:`#f6f8fa`,accent:`#0969da`}},{id:`dracula`,name:`Dracula`,type:`dark`,colors:{bg:`#282a36`,secondary:`#1e1f29`,accent:`#bd93f9`}},{id:`one-dark`,name:`One Dark`,type:`dark`,colors:{bg:`#282c34`,secondary:`#21252b`,accent:`#61afef`}},{id:`synthwave-84`,name:`Synthwave '84`,type:`dark`,colors:{bg:`#2b213a`,secondary:`#241b2f`,accent:`#f92aad`}},{id:`tokyo-night`,name:`Tokyo Night`,type:`dark`,colors:{bg:`#1a1b26`,secondary:`#16161e`,accent:`#7aa2f7`}},{id:`catppuccin-mocha`,name:`Catppuccin Mocha`,type:`dark`,colors:{bg:`#1e1e2e`,secondary:`#181825`,accent:`#cba6f7`}},{id:`catppuccin-frappe`,name:`Catppuccin Frappé`,type:`dark`,colors:{bg:`#303446`,secondary:`#292c3c`,accent:`#ca9ee6`}},{id:`catppuccin-macchiato`,name:`Catppuccin Macchiato`,type:`dark`,colors:{bg:`#24273a`,secondary:`#1e2030`,accent:`#c6a0f6`}},{id:`catppuccin-latte`,name:`Catppuccin Latte`,type:`light`,colors:{bg:`#eff1f5`,secondary:`#e6e9ef`,accent:`#8839ef`}},{id:`solarized-dark`,name:`Solarized Dark`,type:`dark`,colors:{bg:`#002b36`,secondary:`#073642`,accent:`#268bd2`}},{id:`solarized-light`,name:`Solarized Light`,type:`light`,colors:{bg:`#fdf6e3`,secondary:`#eee8d5`,accent:`#268bd2`}},{id:`monokai`,name:`Monokai`,type:`dark`,colors:{bg:`#272822`,secondary:`#1d1e19`,accent:`#f92672`}},{id:`ayu-dark`,name:`Ayu Dark`,type:`dark`,colors:{bg:`#0a0e14`,secondary:`#0d1117`,accent:`#e6b450`}},{id:`ayu-light`,name:`Ayu Light`,type:`light`,colors:{bg:`#fafafa`,secondary:`#f3f3f3`,accent:`#ff9900`}},{id:`nightfox`,name:`Nightfox`,type:`dark`,colors:{bg:`#192330`,secondary:`#131a24`,accent:`#719cd6`}},{id:`nordfox`,name:`Nordfox`,type:`dark`,colors:{bg:`#2e3440`,secondary:`#232831`,accent:`#81a1c1`}},{id:`duskfox`,name:`Duskfox`,type:`dark`,colors:{bg:`#232136`,secondary:`#1d1b2d`,accent:`#86b3b3`}},{id:`terafox`,name:`Terafox`,type:`dark`,colors:{bg:`#152528`,secondary:`#0f1c1e`,accent:`#5a93aa`}},{id:`carbonfox`,name:`Carbonfox`,type:`dark`,colors:{bg:`#161616`,secondary:`#111111`,accent:`#78a9ff`}},{id:`dayfox`,name:`Dayfox`,type:`light`,colors:{bg:`#f6f2ee`,secondary:`#ebe5df`,accent:`#2848a9`}},{id:`dawnfox`,name:`Dawnfox`,type:`light`,colors:{bg:`#eae5e5`,secondary:`#e0d8d8`,accent:`#614d85`}},{id:`andromeeda`,name:`Andromeeda`,type:`dark`,colors:{bg:`#090b10`,secondary:`#0e1117`,accent:`#00e8c6`}},{id:`aurora-x`,name:`Aurora X`,type:`dark`,colors:{bg:`#07090f`,secondary:`#0c0e15`,accent:`#2eb5e5`}},{id:`dark-plus`,name:`Dark+ (VS Code)`,type:`dark`,colors:{bg:`#1e1e1e`,secondary:`#252526`,accent:`#0e639c`}},{id:`light-plus`,name:`Light+ (VS Code)`,type:`light`,colors:{bg:`#ffffff`,secondary:`#f3f3f3`,accent:`#007acc`}},{id:`houston`,name:`Houston (Astro)`,type:`dark`,colors:{bg:`#131415`,secondary:`#17191e`,accent:`#ff5d01`}},{id:`laserwave`,name:`Laserwave`,type:`dark`,colors:{bg:`#1b1d28`,secondary:`#181a23`,accent:`#ffe261`}},{id:`material-theme`,name:`Material Theme`,type:`dark`,colors:{bg:`#263238`,secondary:`#1e272c`,accent:`#80cbd8`}},{id:`material-theme-darker`,name:`Material Darker`,type:`dark`,colors:{bg:`#212121`,secondary:`#1a1a1a`,accent:`#80cbd8`}},{id:`material-theme-lighter`,name:`Material Lighter`,type:`light`,colors:{bg:`#fafafa`,secondary:`#eeeded`,accent:`#80cbd8`}},{id:`material-theme-ocean`,name:`Material Ocean`,type:`dark`,colors:{bg:`#0f111a`,secondary:`#090b10`,accent:`#80cbd8`}},{id:`material-theme-palenight`,name:`Material Palenight`,type:`dark`,colors:{bg:`#292d3e`,secondary:`#202331`,accent:`#80cbd8`}},{id:`min-dark`,name:`Min Dark`,type:`dark`,colors:{bg:`#1f1f1f`,secondary:`#181818`,accent:`#ffffff`}},{id:`min-light`,name:`Min Light`,type:`light`,colors:{bg:`#ffffff`,secondary:`#f5f5f5`,accent:`#111111`}},{id:`night-owl`,name:`Night Owl`,type:`dark`,colors:{bg:`#011627`,secondary:`#0b2942`,accent:`#7fdbca`}},{id:`one-light`,name:`One Light`,type:`light`,colors:{bg:`#fafafa`,secondary:`#f0f0f0`,accent:`#40a9ff`}},{id:`plastic`,name:`Plastic`,type:`dark`,colors:{bg:`#21252b`,secondary:`#1b1d23`,accent:`#61afef`}},{id:`poimandres`,name:`Poimandres`,type:`dark`,colors:{bg:`#1b1e28`,secondary:`#171922`,accent:`#50cad2`}},{id:`rose-pine`,name:`Rosé Pine (Main)`,type:`dark`,colors:{bg:`#191724`,secondary:`#1f1d2e`,accent:`#c4a7e7`}},{id:`rose-pine-moon`,name:`Rosé Pine Moon`,type:`dark`,colors:{bg:`#232136`,secondary:`#2a283e`,accent:`#c4a7e7`}},{id:`rose-pine-dawn`,name:`Rosé Pine Dawn`,type:`light`,colors:{bg:`#faf4ed`,secondary:`#f2e9e1`,accent:`#907aa9`}},{id:`slack-dark`,name:`Slack Dark`,type:`dark`,colors:{bg:`#1a1d21`,secondary:`#222529`,accent:`#36c5f0`}},{id:`slack-ochre`,name:`Slack Ochre`,type:`dark`,colors:{bg:`#222222`,secondary:`#2b2b2b`,accent:`#e8912d`}},{id:`vesper`,name:`Vesper`,type:`dark`,colors:{bg:`#101010`,secondary:`#161616`,accent:`#ffc600`}},{id:`vitesse-black`,name:`Vitesse Black`,type:`dark`,colors:{bg:`#000000`,secondary:`#0b0b0b`,accent:`#4d9375`}},{id:`vitesse-dark`,name:`Vitesse Dark`,type:`dark`,colors:{bg:`#121212`,secondary:`#181818`,accent:`#4d9375`}},{id:`vitesse-light`,name:`Vitesse Light`,type:`light`,colors:{bg:`#ffffff`,secondary:`#fafafa`,accent:`#1b655f`}}];function B2({open:e,activeTheme:t,onThemeChange:n,onClose:r}){let[i,a]=(0,W.useState)(``),[o,s]=(0,W.useState)(`all`),[c,l]=(0,W.useState)(0),u=(0,W.useRef)(null),d=(0,W.useRef)(null),f=(0,W.useRef)([]);(0,W.useEffect)(()=>{e&&(a(``),s(`all`),l(0),setTimeout(()=>{u.current?.focus()},50))},[e]);let p=(0,W.useMemo)(()=>{let e=i.toLowerCase().trim();return z2.filter(t=>{let n=t.name.toLowerCase().includes(e)||t.id.toLowerCase().includes(e),r=o===`all`||t.type===o;return n&&r})},[i,o]);return(0,W.useEffect)(()=>{c>=p.length&&l(Math.max(0,p.length-1))},[p,c]),(0,W.useEffect)(()=>{e&&f.current[c]&&f.current[c]?.scrollIntoView({block:`nearest`,behavior:`smooth`})},[c,e]),(0,G.jsx)(LW,{open:e,onClose:r,className:`theme-modal`,ariaLabel:`Theme Selector Modal`,children:(0,G.jsxs)(`div`,{className:`theme-modal-content`,onKeyDown:e=>{let t=p.length;if(e.key===`Escape`){e.preventDefault(),r();return}if(t!==0)switch(e.key){case`ArrowRight`:e.preventDefault(),l(e=>Math.min(e+1,t-1));break;case`ArrowLeft`:e.preventDefault(),l(e=>Math.max(e-1,0));break;case`ArrowDown`:e.preventDefault(),c+2<t?l(c+2):l(t-1);break;case`ArrowUp`:e.preventDefault(),c-2>=0&&l(c-2);break;case`Enter`:e.preventDefault(),p[c]&&(n(p[c].id),r());break;default:break}},children:[(0,G.jsxs)(`div`,{className:`theme-modal-header`,children:[(0,G.jsxs)(`div`,{className:`theme-modal-title-row`,children:[(0,G.jsx)(HH,{size:24,className:`theme-modal-mark`}),(0,G.jsx)(`h2`,{className:`theme-modal-title`,children:`Select Color Theme`}),(0,G.jsx)(`button`,{className:`theme-modal-close-btn`,onClick:r,"aria-label":`Close`,children:(0,G.jsx)(ck,{size:16})})]}),(0,G.jsxs)(`div`,{className:`theme-modal-search-wrapper`,children:[(0,G.jsx)(ZO,{className:`theme-modal-search-icon`,size:16}),(0,G.jsx)(`input`,{ref:u,type:`text`,className:`theme-modal-search-input`,placeholder:`Search themes... (e.g. nordfox, github)`,value:i,onChange:e=>{a(e.target.value),l(0)}}),i&&(0,G.jsx)(`button`,{className:`theme-modal-clear-btn`,onClick:()=>{a(``),l(0),u.current?.focus()},children:(0,G.jsx)(ck,{size:14})})]}),(0,G.jsxs)(`div`,{className:`theme-modal-filters`,children:[(0,G.jsxs)(`button`,{className:`theme-filter-tab ${o===`all`?`active`:``}`,onClick:()=>{s(`all`),l(0),u.current?.focus()},children:[`All Themes (`,z2.length,`)`]}),(0,G.jsxs)(`button`,{className:`theme-filter-tab ${o===`dark`?`active`:``}`,onClick:()=>{s(`dark`),l(0),u.current?.focus()},children:[(0,G.jsx)(RO,{size:12,style:{marginRight:`6px`}}),`Dark (`,z2.filter(e=>e.type===`dark`).length,`)`]}),(0,G.jsxs)(`button`,{className:`theme-filter-tab ${o===`light`?`active`:``}`,onClick:()=>{s(`light`),l(0),u.current?.focus()},children:[(0,G.jsx)(tk,{size:12,style:{marginRight:`6px`}}),`Light (`,z2.filter(e=>e.type===`light`).length,`)`]})]})]}),(0,G.jsx)(`div`,{ref:d,className:`theme-modal-list`,children:p.length===0?(0,G.jsxs)(`div`,{className:`theme-modal-empty`,children:[(0,G.jsxs)(`p`,{className:`theme-modal-empty-text`,children:[`No themes matching "`,i,`"`]}),(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:()=>{a(``),s(`all`),l(0),u.current?.focus()},children:`Reset Search`})]}):(0,G.jsx)(`div`,{className:`theme-modal-grid`,children:p.map((e,i)=>{let a=t===e.id;return(0,G.jsxs)(`button`,{ref:e=>{f.current[i]=e},type:`button`,className:`theme-modal-card ${a?`active`:``} ${c===i?`focused`:``}`,onClick:()=>{n(e.id),r()},onMouseEnter:()=>l(i),children:[(0,G.jsxs)(`div`,{className:`theme-card-info`,children:[(0,G.jsx)(`span`,{className:`theme-card-name`,children:e.name}),(0,G.jsx)(`span`,{className:`theme-card-meta`,children:e.type===`dark`?(0,G.jsx)(`span`,{className:`theme-meta-tag dark-tag`,children:`Dark`}):(0,G.jsx)(`span`,{className:`theme-meta-tag light-tag`,children:`Light`})})]}),(0,G.jsxs)(`div`,{className:`theme-card-right`,children:[(0,G.jsxs)(`span`,{className:`theme-swatches`,children:[(0,G.jsx)(`span`,{className:`theme-swatch`,style:{background:e.colors.bg},title:`Background`}),(0,G.jsx)(`span`,{className:`theme-swatch`,style:{background:e.colors.secondary},title:`Secondary`}),(0,G.jsx)(`span`,{className:`theme-swatch`,style:{background:e.colors.accent},title:`Accent`})]}),(0,G.jsx)(`span`,{className:`theme-card-status`,children:a&&(0,G.jsx)(UD,{size:14,className:`theme-check-icon`})})]})]},e.id)})})}),(0,G.jsxs)(`div`,{className:`theme-modal-footer`,children:[(0,G.jsxs)(`span`,{className:`theme-footer-item`,children:[(0,G.jsx)(`kbd`,{children:`↑`}),` `,(0,G.jsx)(`kbd`,{children:`↓`}),` `,(0,G.jsx)(`kbd`,{children:`←`}),` `,(0,G.jsx)(`kbd`,{children:`→`}),` Navigate`]}),(0,G.jsxs)(`span`,{className:`theme-footer-item`,children:[(0,G.jsx)(`kbd`,{children:`Enter`}),` Select`]}),(0,G.jsxs)(`span`,{className:`theme-footer-item`,children:[(0,G.jsx)(`kbd`,{children:`ESC`}),` Close`]})]})]})})}var V2=`Cascadia Code.Cascadia Mono.Consolas.Courier New.Dank Mono.Fantasque Sans Mono.Fira Code.Fira Mono.Geist Mono.Hack.IBM Plex Mono.Inconsolata.Input Mono.JetBrains Mono.Maple Mono.Menlo.Monaco.Monoid.Monaspace Argon.Monaspace Krypton.Monaspace Neon.Monaspace Radon.Monaspace Xenon.Noto Sans Mono.Operator Mono.Roboto Mono.SF Mono.Source Code Pro.Space Mono.Ubuntu Mono.Victor Mono`.split(`.`);async function H2(){if(`queryLocalFonts`in window)try{let e=await window.queryLocalFonts();return[...new Set(e.map(e=>e.family))].sort((e,t)=>e.localeCompare(t))}catch{}return V2}function U2({open:e,title:t,defaultLabel:n,activeFont:r,onFontChange:i,onClose:a}){let[o,s]=(0,W.useState)(``),[c,l]=(0,W.useState)([]),[u,d]=(0,W.useState)(!1),[f,p]=(0,W.useState)(0),m=(0,W.useRef)(null),h=(0,W.useRef)(null),g=(0,W.useRef)([]);(0,W.useEffect)(()=>{e&&(s(``),p(0),setTimeout(()=>m.current?.focus(),50),!(c.length>0)&&(d(!0),H2().then(e=>{l(e),d(!1)})))},[e]);let _=(0,W.useMemo)(()=>{let e=o.toLowerCase().trim();return e?c.filter(t=>t.toLowerCase().includes(e)):c},[c,o]),v=_.length+1;(0,W.useEffect)(()=>{f>=v&&p(Math.max(0,v-1))},[v,f]),(0,W.useEffect)(()=>{e&&(f===0?g.current[0]:g.current[f])?.scrollIntoView({block:`nearest`,behavior:`smooth`})},[f,e]);let y=e=>{i(e),a()},b=e=>{if(e.key===`Escape`){e.preventDefault(),a();return}if(v!==0)switch(e.key){case`ArrowDown`:e.preventDefault(),p(e=>Math.min(e+1,v-1));break;case`ArrowUp`:e.preventDefault(),p(e=>Math.max(e-1,0));break;case`Enter`:e.preventDefault(),f===0?y(null):_[f-1]&&y(_[f-1]);break}},x=!r;return(0,G.jsx)(LW,{open:e,onClose:a,className:`theme-modal`,ariaLabel:`${t} Modal`,children:(0,G.jsxs)(`div`,{className:`theme-modal-content`,onKeyDown:b,children:[(0,G.jsxs)(`div`,{className:`theme-modal-header`,children:[(0,G.jsxs)(`div`,{className:`theme-modal-title-row`,children:[(0,G.jsx)(`h2`,{className:`theme-modal-title`,children:t}),(0,G.jsx)(`button`,{className:`theme-modal-close-btn`,onClick:a,"aria-label":`Close`,children:(0,G.jsx)(ck,{size:16})})]}),(0,G.jsxs)(`div`,{className:`theme-modal-search-wrapper`,children:[(0,G.jsx)(ZO,{className:`theme-modal-search-icon`,size:16}),(0,G.jsx)(`input`,{ref:m,type:`text`,className:`theme-modal-search-input`,placeholder:`Search fonts...`,value:o,onChange:e=>{s(e.target.value),p(0)}}),o&&(0,G.jsx)(`button`,{className:`theme-modal-clear-btn`,onClick:()=>{s(``),p(0),m.current?.focus()},children:(0,G.jsx)(ck,{size:14})})]})]}),(0,G.jsx)(`div`,{ref:h,className:`theme-modal-list`,children:u?(0,G.jsx)(`div`,{className:`theme-modal-empty`,children:(0,G.jsx)(`p`,{className:`theme-modal-empty-text`,children:`Loading fonts…`})}):(0,G.jsxs)(`div`,{className:`font-picker-list`,children:[(0,G.jsxs)(`button`,{ref:e=>{g.current[0]=e},type:`button`,className:`font-picker-item ${x?`active`:``} ${f===0?`focused`:``}`,onClick:()=>y(null),onMouseEnter:()=>p(0),children:[(0,G.jsxs)(`span`,{className:`font-picker-name font-picker-default-name`,children:[(0,G.jsx)(ak,{size:13,style:{marginRight:`6px`,opacity:.6}}),n]}),(0,G.jsx)(`span`,{className:`font-picker-status`,children:x&&(0,G.jsx)(UD,{size:14,className:`theme-check-icon`})})]},`__default__`),_.length===0&&o?(0,G.jsxs)(`div`,{className:`theme-modal-empty`,style:{paddingTop:`16px`},children:[(0,G.jsxs)(`p`,{className:`theme-modal-empty-text`,children:[`No fonts matching "`,o,`"`]}),(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:()=>{s(``),p(0),m.current?.focus()},children:`Reset Search`})]}):_.map((e,t)=>{let n=r===e,i=f===t+1;return(0,G.jsxs)(`button`,{ref:e=>{g.current[t+1]=e},type:`button`,className:`font-picker-item ${n?`active`:``} ${i?`focused`:``}`,onClick:()=>y(e),onMouseEnter:()=>p(t+1),children:[(0,G.jsx)(`span`,{className:`font-picker-name`,style:{fontFamily:`"${e}", ui-monospace, monospace`},children:e}),(0,G.jsx)(`span`,{className:`font-picker-status`,children:n&&(0,G.jsx)(UD,{size:14,className:`theme-check-icon`})})]},e)})]})}),(0,G.jsxs)(`div`,{className:`theme-modal-footer`,children:[(0,G.jsxs)(`span`,{className:`theme-footer-item`,children:[(0,G.jsx)(`kbd`,{children:`↑`}),` `,(0,G.jsx)(`kbd`,{children:`↓`}),` Navigate`]}),(0,G.jsxs)(`span`,{className:`theme-footer-item`,children:[(0,G.jsx)(`kbd`,{children:`Enter`}),` Select`]}),(0,G.jsxs)(`span`,{className:`theme-footer-item`,children:[(0,G.jsx)(`kbd`,{children:`ESC`}),` Close`]})]})]})})}function W2(e){return e.split(`
3869
3869
  `).map(e=>e.replace(/^[+\- ]/,``)).join(`
3870
3870
  `).trimEnd()}function G2(e,t){if(e.lineNumber===0)return!1;let n=W2(e.lineContent??``);if(!n||t==null||t===``)return!1;let r=n.replace(/\r\n/g,`
3871
3871
  `);return!t.replace(/\r\n/g,`
3872
- `).includes(r)}function K2(e,t){return e.map(e=>{let n=t.get(e.filePath);if(n===void 0)return e;let r=G2(e,n);return e.outdated===r?e:{...e,outdated:r}})}function q2(e){let t=new URLSearchParams(e.startsWith(`?`)?e.slice(1):e),n=t.get(`file`)||void 0,r=t.get(`line`),i=r!=null&&r!==``?Number(r):void 0,a=t.get(`side`),o=a===`additions`||a===`deletions`?a:void 0,s=t.get(`comment`)||void 0;return{file:n,line:i!=null&&Number.isFinite(i)?i:void 0,side:o,comment:s}}function J2(e,t,n){if(t<2)return e;let r=e===null,i=e??0;return n===`next`?r?0:i>=t-1?null:i+1:r?t-1:i<=0?null:i-1}function Y2({commits:e,activeIndex:t,onChange:n}){if(e.length<2)return null;let r=e.length,i=t===null,a=t??0,o=i?null:e[a],s=()=>n(J2(t,r,`prev`)),c=()=>n(J2(t,r,`next`));return(0,G.jsxs)(`div`,{className:`commit-walk-bar`,role:`navigation`,"aria-label":`Walk commits`,children:[(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm commit-walk-btn`,onClick:s,"aria-label":`Previous commit`,title:`Previous commit ([)`,children:(0,G.jsx)(GD,{size:14})}),(0,G.jsxs)(`div`,{className:`commit-walk-center`,children:[(0,G.jsx)(gO,{size:14,"aria-hidden":`true`}),i?(0,G.jsxs)(`span`,{className:`commit-walk-label`,children:[`All `,r,` commits`]}):(0,G.jsxs)(`span`,{className:`commit-walk-label`,title:o?.subject,children:[(0,G.jsxs)(`span`,{className:`commit-walk-count`,children:[a+1,` / `,r]}),(0,G.jsx)(`code`,{className:`commit-walk-sha`,children:o?.shortSha??o?.sha.slice(0,7)}),(0,G.jsx)(`span`,{className:`commit-walk-subject`,children:o?.subject})]})]}),(0,G.jsxs)(`div`,{className:`commit-walk-trailing`,children:[(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm commit-walk-all`,onClick:()=>n(null),disabled:i,title:i?void 0:`Show all commits`,"aria-label":`Show all commits`,children:`Show all`}),(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm commit-walk-btn`,onClick:c,"aria-label":`Next commit`,title:`Next commit (])`,children:(0,G.jsx)(KD,{size:14})})]})]})}function X2(){let[e,t]=(0,W.useState)(null);return(0,W.useEffect)(()=>fE(`agent-progress`,e=>{try{t(JSON.parse(e))}catch{}}),[]),(0,W.useEffect)(()=>{if(!e)return;let n=setTimeout(()=>t(null),1e4);return()=>clearTimeout(n)},[e]),e?(0,G.jsxs)(`div`,{className:`agent-progress-toast`,role:`status`,"aria-live":`polite`,children:[(0,G.jsx)(`div`,{className:`agent-progress-toast-icon`,children:(0,G.jsx)(VD,{size:16})}),(0,G.jsxs)(`div`,{className:`agent-progress-toast-body`,children:[(0,G.jsxs)(`div`,{className:`agent-progress-toast-title`,children:[e.model||e.agentId||`Agent`,e.pct!=null&&(0,G.jsxs)(`span`,{className:`agent-progress-toast-pct`,children:[Math.round(e.pct),`%`]})]}),(0,G.jsx)(`div`,{className:`agent-progress-toast-msg`,children:e.message}),e.pct!=null&&(0,G.jsx)(`div`,{className:`agent-progress-bar`,"aria-hidden":`true`,children:(0,G.jsx)(`div`,{className:`agent-progress-bar-fill`,style:{width:`${e.pct}%`}})})]}),(0,G.jsx)(`button`,{type:`button`,className:`agent-progress-toast-close`,onClick:()=>t(null),"aria-label":`Dismiss`,children:(0,G.jsx)(ck,{size:14})})]}):null}var Z2=[`review-since-last`];function Q2(e=!0){let t=Ve(),n=nt({queryKey:Z2,queryFn:async()=>{let e=await fetch(`/api/review/since-last`);return e.ok?e.json():{hasBaseline:!1,round:0,changed:[],added:[],removed:[],reviewFiles:[]}},enabled:e,staleTime:2e3});(0,W.useEffect)(()=>{if(!e)return;let n=()=>{t.invalidateQueries({queryKey:Z2})},r=fE(`change`,n),i=fE(`agent-status`,n);return()=>{r(),i()}},[e,t]);let r=n.data,i=(0,W.useMemo)(()=>new Set(r?.reviewFiles??[]),[r?.reviewFiles]);return{sinceLast:r??null,reviewSet:i,hasBaseline:!!r?.hasBaseline,loading:n.isLoading,refetch:n.refetch}}function $2(){let e=Am(),{settings:t,loaded:n,updateSettings:r}=IE(),[,i]=(0,W.useTransition)(),{patch:a,repoName:o,branch:s,customMode:c,showMode:l,commits:u,truncated:d,binaryFiles:f,tabSizeMap:p,untrackedFiles:m,overview:h,loading:g,refreshing:_,error:v}=gE({staged:t.staged,untracked:t.untracked},!0),{comments:y,addComment:b,removeComment:x,resolveComment:S,unresolveComment:C,addReply:w,editComment:T,editReply:E,removeReply:D,copyAllComments:O,copyAllCommentsMarkdown:k,agentActivity:A,clearAgentActivity:j,sendToAgent:M,sending:N,agentWaiting:P,waitingAgents:F,resolveAllOpen:I,lastSend:L}=xE(),R=(0,W.useMemo)(()=>{if(!a)return y;let e=new Map;for(let t of y)e.has(t.filePath)||e.set(t.filePath,a);return K2(y,e)},[y,a]),{plans:z}=wE(),ee=(0,W.useMemo)(()=>z.filter(e=>e.decision===`pending`).length,[z]),{status:te,refresh:ne}=ME(a),[B,V]=(0,W.useState)(null),[re,ie]=(0,W.useState)(()=>{try{let e=CD(`diffing-sidebar-collapsed`);if(e!=null)return e===`true`}catch{}return typeof window<`u`&&window.innerWidth<=768}),[ae,oe]=(0,W.useState)(()=>{try{let e=CD(`diffing-sidebar-width`);return e?Number(e):320}catch{return 320}}),[se,ce]=(0,W.useState)(()=>{try{return mD(CD(`diffing-extension-filter`)??``)}catch{return[]}});(0,W.useEffect)(()=>{DD(`diffing-extension-filter`,se.join(`,`))},[se]);let[H,le]=(0,W.useState)(()=>{try{let e=CD(`diffing-chip-filter`);if(e===`unviewed`||e===`has-comments`||e===`all`||e===`since-last`)return e}catch{}return`all`});(0,W.useEffect)(()=>{DD(`diffing-chip-filter`,H)},[H]);let{reviewSet:ue,hasBaseline:U}=Q2(!0);(0,W.useEffect)(()=>{!U&&H===`since-last`&&le(`all`)},[U,H]);let[de,fe]=(0,W.useState)(null);(0,W.useEffect)(()=>{fe(null)},[u]);let pe=(0,W.useRef)(ae);pe.current=ae;let me=(0,W.useRef)(null),he=(0,W.useRef)(null),ge=(0,W.useRef)(null),_e=(0,W.useCallback)(e=>{e.preventDefault();let t=e.clientX,n=pe.current,r=he.current,i=ge.current,a=r?r.getBoundingClientRect().left:0,o=n,s=0,c=()=>{s=0,i&&(i.style.transform=`translateX(${a+o}px)`)};i&&(i.style.transform=`translateX(${a+n}px)`,i.classList.add(`sidebar-resize-guide-active`));let l=e=>{let r=e.clientX-t;o=Math.max(240,Math.min(640,n+r)),s||=requestAnimationFrame(c)},u=()=>{s&&cancelAnimationFrame(s),i&&i.classList.remove(`sidebar-resize-guide-active`),oe(o);try{DD(`diffing-sidebar-width`,String(o))}catch{}document.removeEventListener(`mousemove`,l),document.removeEventListener(`mouseup`,u),document.body.style.cursor=``,document.body.style.userSelect=``};document.addEventListener(`mousemove`,l),document.addEventListener(`mouseup`,u),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`},[]),[ve,ye]=(0,W.useState)({open:!1,scope:`files`}),be=(0,W.useCallback)(e=>ye({open:!0,scope:e}),[]),xe=(0,W.useCallback)(()=>ye(e=>({...e,open:!1})),[]),[Se,Ce]=(0,W.useState)(!1),[we,Te]=(0,W.useState)(!1),[Ee,De]=(0,W.useState)(!1),[Oe,ke]=(0,W.useState)(!1),[Ae,je]=(0,W.useState)(()=>{try{let e=CD(`diffing-comment-panel-height`);return e?Number(e):220}catch{return 220}}),Me=(0,W.useRef)(Ae);Me.current=Ae;let Ne=(0,W.useCallback)(e=>{e.preventDefault();let t=e.clientY,n=Me.current,r=me.current,i=n,a=0,o=()=>{a=0,r?.style.setProperty(`--comment-panel-height`,`${i}px`)},s=e=>{let r=t-e.clientY;i=Math.max(100,Math.min(600,n+r)),a||=requestAnimationFrame(o)},c=()=>{a&&cancelAnimationFrame(a),je(i);try{DD(`diffing-comment-panel-height`,String(i))}catch{}document.removeEventListener(`mousemove`,s),document.removeEventListener(`mouseup`,c),document.body.style.cursor=``,document.body.style.userSelect=``};document.addEventListener(`mousemove`,s),document.addEventListener(`mouseup`,c),document.body.style.cursor=`row-resize`,document.body.style.userSelect=`none`},[]);(0,W.useEffect)(()=>{try{DD(`diffing-comment-panel-height`,String(Ae))}catch{}},[Ae]);let{viewedFiles:Pe,setViewed:Fe}=VE(),Ie=(0,W.useRef)(null);un([`G`,`S`],()=>be(`symbols`)),un([`G`,`F`],()=>be(`all`)),un([`G`,`V`],()=>be(`files`)),(0,W.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&(e.key===`k`||e.key===`K`)&&(e.preventDefault(),ye(e=>e.open?{...e,open:!1}:{open:!0,scope:`all`}))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]),(0,W.useEffect)(()=>{try{DD(`diffing-sidebar-collapsed`,String(re))}catch{}},[re]);let Le=(0,W.useMemo)(()=>new Set(m),[m]),Re=(0,W.useRef)([]),ze=(0,W.useMemo)(()=>l&&de!=null&&u[de]?.patch?u[de].patch:a,[l,de,u,a]),Be=(0,W.useMemo)(()=>{if(!ze)return[];try{let e=Pg(ze).flatMap(e=>e.files),t=new Set(e.map(e=>e.name));for(let n of f)if(!t.has(n.path)){let t={name:n.path,type:n.type===`added`||n.type===`untracked`?`new`:n.type===`deleted`?`deleted`:`change`,hunks:[],splitLineCount:0,unifiedLineCount:0,isPartial:!0,deletionLines:[],additionLines:[]};e.push(t)}let n=new Set,r=e.filter(e=>n.has(e.name)?!1:(n.add(e.name),!0)).map(e=>{let t=Re.current.find(t=>t.name===e.name);return t&&t.type===e.type&&t.isPartial===e.isPartial&&t.deletionLines.length===e.deletionLines.length&&t.additionLines.length===e.additionLines.length&&JSON.stringify(t.hunks)===JSON.stringify(e.hunks)?t:e});return Re.current=r,r}catch{return[]}},[ze,f]),Ve=(0,W.useMemo)(()=>{let e={};for(let t of R)e[t.filePath]=(e[t.filePath]??0)+1;return e},[R]),He=(0,W.useMemo)(()=>[...Be].sort(AG),[Be]),Ue=(0,W.useMemo)(()=>{let e=Be;return se.length>0&&(e=e.filter(e=>_D(e.name,se))),H===`unviewed`?e=e.filter(e=>!Pe.has(e.name)):H===`has-comments`?e=e.filter(e=>(Ve[e.name]??0)>0):H===`since-last`&&(e=e.filter(e=>ue.has(e.name))),e},[Be,se,H,Pe,Ve,ue]),We=(0,W.useMemo)(()=>[...Ue].sort(AG),[Ue]),Ge=(0,W.useRef)(!1);(0,W.useEffect)(()=>{if(Ge.current||g||We.length===0||typeof window>`u`)return;let e=q2(window.location.search);!e.file&&!e.comment||(Ge.current=!0,e.file&&(V(e.file),e.line!=null&&requestAnimationFrame(()=>{oE(e.file,e.line,e.side??`additions`)})),e.comment&&requestAnimationFrame(()=>{document.getElementById(`comment-${e.comment}`)?.scrollIntoView({behavior:`smooth`,block:`center`})}))},[g,We.length]);let Ke=WE(We),qe=kD(We),Je=(0,W.useMemo)(()=>{let e=0,t=0;for(let n of Ue)e+=n.additionLines.length,t+=n.deletionLines.length;return{additions:e,deletions:t}},[Ue]),Ye=(0,W.useMemo)(()=>{let e=new Map;for(let t of f)e.set(t.path,t);return e},[f]),Xe=(0,W.useRef)(new Map),Ze=(0,W.useMemo)(()=>{let e=new Map,t=new Map;for(let e of R){let n=t.get(e.filePath);n||(n=[],t.set(e.filePath,n)),n.push(e)}for(let[n,r]of t){let t=r.map(e=>({side:e.side,lineNumber:e.lineNumber,metadata:e})),i=Xe.current.get(n);i&&JSON.stringify(i)===JSON.stringify(t)?e.set(n,i):e.set(n,t)}return Xe.current=e,e},[R]),Qe=(0,W.useCallback)(e=>{V(e);let t=document.getElementById(`file-${e}`);t&&t.scrollIntoView({block:`start`})},[]),$e=(0,W.useCallback)(e=>{i(()=>{ce(hD(e))})},[]),et=(0,W.useCallback)((e,t)=>{Fe(e,t),t&&Ke(e)},[Fe,Ke]),tt=(0,W.useCallback)(e=>{i(()=>{r({diffStyle:e})})},[r]),nt=(0,W.useCallback)(e=>{i(()=>{r(e)})},[r]),rt=(0,W.useCallback)(e=>{i(()=>{r({defaultTabSize:e})})},[r]),it=(0,W.useCallback)(e=>{i(()=>{r({browser:e})})},[r]),at=(0,W.useCallback)(e=>{i(()=>{r({theme:e})})},[r]),ot=(0,W.useCallback)(e=>{i(()=>{r({editorIDE:e})})},[r]),st=(0,W.useCallback)(e=>{i(()=>{r({lineDiffType:e})})},[r]),ct=(0,W.useCallback)(e=>{i(()=>{r({lineWrap:e})})},[r]),lt=(0,W.useCallback)(e=>{i(()=>{r({diffIndicators:e})})},[r]),ut=(0,W.useCallback)(e=>{i(()=>{r({showLineNumbers:e})})},[r]),dt=(0,W.useCallback)(e=>{i(()=>{r({hunkSeparators:e})})},[r]),ft=(0,W.useCallback)(e=>{i(()=>{r({lineHoverHighlight:e})})},[r]),pt=(0,W.useCallback)(e=>{i(()=>{r({fontSize:e})})},[r]),mt=(0,W.useCallback)(e=>{r({haptics:e})},[r]),ht=(0,W.useCallback)(e=>{r({sounds:e})},[r]),gt=(0,W.useCallback)(e=>{r({uiFont:e})},[r]),_t=(0,W.useCallback)(e=>{r({monoFont:e})},[r]),vt=(0,W.useCallback)(e=>{r({density:e})},[r]),yt=(0,W.useCallback)(e=>{r({autoCollapseLineThreshold:e})},[r]),bt=(0,W.useCallback)(e=>{r({requireViewAllBeforeSend:e})},[r]),xt=(0,W.useCallback)(e=>{r({showStatusBar:e})},[r]),St=(0,W.useCallback)(e=>{r({ignoreSpaceChange:e})},[r]),Ct=(0,W.useCallback)(e=>{r({ignoreAllSpace:e})},[r]);(0,W.useCallback)(e=>{r({showVimStatusBar:e})},[r]);let wt=(0,W.useCallback)(async()=>{try{let e=await I();dD(`selection`,`toggle`),e.resolved}catch{}},[I,dD]),Tt=(0,W.useCallback)(()=>{ct(!t.lineWrap)},[t.lineWrap,ct]),Et=(0,W.useCallback)(()=>{ut(!t.showLineNumbers)},[t.showLineNumbers,ut]),Dt=(0,W.useCallback)(()=>{let e=[`classic`,`bars`,`none`],n=t.diffIndicators||`classic`,r=e[(e.indexOf(n)+1)%e.length];lt(r)},[t.diffIndicators,lt]),Ot=(0,W.useCallback)(()=>{let e=[`word`,`word-alt`,`char`,`none`],n=t.lineDiffType||`word`,r=e[(e.indexOf(n)+1)%e.length];st(r)},[t.lineDiffType,st]),kt=(0,W.useCallback)(()=>{ie(e=>!e)},[]),At=(0,W.useCallback)(e=>{if(Be.length===0)return;let t=0;if(B){let n=Be.findIndex(e=>e.name===B);n!==-1&&(t=e===`next`?Math.min(n+1,Be.length-1):Math.max(n-1,0))}let n=Be[t].name;V(n);let r=document.getElementById(`file-${n}`);r&&r.scrollIntoView({block:`start`})},[Be,B,V]),jt=(0,W.useCallback)(e=>{!l||u.length<2||fe(t=>J2(t,u.length,e))},[l,u.length]),Mt=(0,W.useCallback)(()=>{if(!B)return;let e=Pe.has(B);Fe(B,!e),e||Ke(B)},[B,Pe,Fe,Ke]),Nt=(0,W.useCallback)((e,t)=>{t&&Ke(e)},[Ke]),K=(0,W.useCallback)(()=>{tt(t.diffStyle===`split`?`unified`:`split`)},[t.diffStyle,tt]),Pt=(0,W.useCallback)(()=>{let e=[2,4,8],n=t.defaultTabSize||4;rt(e[(e.indexOf(n)+1)%e.length])},[t.defaultTabSize,rt]),Ft=(0,W.useCallback)(()=>{kt()},[kt]);(0,W.useEffect)(()=>{let e=``,t,n=0,r=r=>{let i=document.activeElement;if(i){let e=i.tagName.toLowerCase();if(e===`input`||e===`textarea`||i.hasAttribute(`contenteditable`))return}clearTimeout(t);let a=r.key;if((r.metaKey||r.ctrlKey)&&(a===`?`||a===`/`&&r.shiftKey||r.code===`Slash`&&r.shiftKey)){r.preventDefault(),Ce(!0),dD(`medium`,`open`),e=``;return}if(r.ctrlKey){a===`d`?(r.preventDefault(),window.scrollBy({top:window.innerHeight/2,behavior:`auto`}),dD(`selection`,`navigate`),e=``):a===`u`&&(r.preventDefault(),window.scrollBy({top:-window.innerHeight/2,behavior:`auto`}),dD(`selection`,`navigate`),e=``);return}if(!(a.length>1&&a!==`Escape`&&a!==`Enter`))if(e+=a,t=setTimeout(()=>{e=``},800),e===`j`){r.preventDefault(),window.scrollBy({top:100,behavior:`auto`});let t=Date.now();t-n>80&&(lD(`navigate`),n=t),e=``}else if(e===`k`){r.preventDefault(),window.scrollBy({top:-100,behavior:`auto`});let t=Date.now();t-n>80&&(lD(`navigate`),n=t),e=``}else e===`gg`?(r.preventDefault(),window.scrollTo({top:0,behavior:`auto`}),dD(`selection`,`navigate`),e=``):e===`G`?(r.preventDefault(),window.scrollTo({top:document.documentElement.scrollHeight,behavior:`auto`}),dD(`selection`,`navigate`),e=``):e===`J`?(r.preventDefault(),At(`next`),dD(`selection`,`navigate`),e=``):e===`K`?(r.preventDefault(),At(`prev`),dD(`selection`,`navigate`),e=``):e===`]`?(r.preventDefault(),jt(`next`),dD(`selection`,`navigate`),e=``):e===`[`?(r.preventDefault(),jt(`prev`),dD(`selection`,`navigate`),e=``):e===`v`?(r.preventDefault(),Mt(),dD(`selection`,`toggle`),e=``):e===`m`?(r.preventDefault(),K(),dD(`selection`,`toggle`),e=``):e===`t`?(r.preventDefault(),Pt(),dD(`selection`,`toggle`),e=``):e===`b`?(r.preventDefault(),Ft(),dD(`selection`,`toggle`),e=``):e===`w`?(r.preventDefault(),Tt(),dD(`selection`,`toggle`),e=``):e===`n`?(r.preventDefault(),Et(),dD(`selection`,`toggle`),e=``):e===`i`?(r.preventDefault(),Dt(),dD(`selection`,`toggle`),e=``):e===`I`?(r.preventDefault(),Ot(),dD(`selection`,`toggle`),e=``):e===`/`?(r.preventDefault(),be(`text`),dD(`medium`,`open`),e=``):e===`s`?(r.preventDefault(),be(`symbols`),dD(`medium`,`open`),e=``):e===`gv`?(r.preventDefault(),be(`files`),dD(`medium`,`open`),e=``):e===`gt`?(r.preventDefault(),Te(!0),dD(`medium`,`open`),e=``):e===`?`?(r.preventDefault(),Ce(!0),dD(`medium`,`open`),e=``):e.length>=2&&(e=``)};return window.addEventListener(`keydown`,r),()=>{window.removeEventListener(`keydown`,r),clearTimeout(t)}},[Be,B,Pe,t.diffStyle,t.defaultTabSize,At,jt,Mt,K,Pt,Ft,Tt,Et,Dt,Ot,Te]);let It=(0,W.useMemo)(()=>({staged:t.staged,untracked:t.untracked}),[t.staged,t.untracked]);(0,W.useEffect)(()=>{let e=t.theme||`nord`,n=document.documentElement;n.classList.add(`theme-switching`),n.setAttribute(`data-theme`,e),n.setAttribute(`data-density`,t.density||`comfortable`);let r=requestAnimationFrame(()=>{requestAnimationFrame(()=>n.classList.remove(`theme-switching`))});return()=>cancelAnimationFrame(r)},[t.theme,t.density]),LE(n,t.uiFont,t.monoFont);let Lt=(0,W.useMemo)(()=>FE(t.monoFont),[t.monoFont]),Rt=(0,W.useMemo)(()=>nE[t.theme||`nord`]||nE.nord,[t.theme]);return(0,W.useEffect)(()=>{e&&e.setRenderOptions({theme:{dark:Rt.type===`dark`?Rt.themeName:`nord`,light:Rt.type===`light`?Rt.themeName:`github-light`}}).catch(e=>{console.error(`Failed to set worker pool render options:`,e)})},[e,Rt]),(0,W.useEffect)(()=>{let e=Rt.type===`dark`?Rt.themeName:`nord`,t=Rt.type===`light`?Rt.themeName:`github-light`;Uf({themes:Array.from(new Set([e,t])),langs:[]}).catch(()=>{})},[Rt]),(0,W.useEffect)(()=>{let e=[o,s].filter(Boolean);return document.title=e.length>0?`${e.join(` · `)} · diffing`:`diffing`,()=>{document.title=`diffing`}},[o,s]),g?(0,G.jsxs)(`div`,{className:`app skeleton-app`,style:{"--sidebar-width":`${ae}px`,"--comment-panel-height":`${Ae}px`},children:[(0,G.jsxs)(`header`,{className:`skeleton-toolbar`,children:[(0,G.jsx)(`div`,{className:`skeleton-item skeleton-logo`}),(0,G.jsx)(`div`,{className:`skeleton-item skeleton-stats`}),(0,G.jsx)(`div`,{className:`skeleton-item skeleton-actions`})]}),(0,G.jsxs)(`div`,{className:`app-body`,children:[(0,G.jsx)(`aside`,{className:`sidebar skeleton-sidebar ${re?`sidebar-collapsed`:``}`,children:!re&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`skeleton-search`}),(0,G.jsx)(`div`,{className:`skeleton-tree-nodes`,children:Array.from({length:8}).map((e,t)=>(0,G.jsxs)(`div`,{className:`skeleton-tree-node`,style:{paddingLeft:`${t%3*16+16}px`},children:[(0,G.jsx)(`div`,{className:`skeleton-node-icon`}),(0,G.jsx)(`div`,{className:`skeleton-node-text`,style:{width:`${60+t*12%60}px`}})]},t))})]})}),!re&&(0,G.jsx)(`div`,{className:`sidebar-resize-handle`,style:{cursor:`default`}}),(0,G.jsx)(`main`,{className:`main skeleton-main`,children:(0,G.jsx)(`div`,{className:`diff-viewer`,children:Array.from({length:3}).map((e,t)=>(0,G.jsxs)(`div`,{className:`file-diff-card skeleton-card`,children:[(0,G.jsxs)(`div`,{className:`skeleton-card-header`,children:[(0,G.jsx)(`div`,{className:`skeleton-card-title`,style:{width:`${120+t*45%150}px`}}),(0,G.jsx)(`div`,{className:`skeleton-card-badge`})]}),(0,G.jsx)(`div`,{className:`skeleton-card-body`,children:Array.from({length:5}).map((e,t)=>(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`${50+t*15%45}%`}},t))})]},t))})})]})]}):v?(0,G.jsxs)(`div`,{className:`error empty-state`,role:`alert`,children:[(0,G.jsx)(`div`,{className:`empty-state-icon empty-state-icon-danger`,"aria-hidden":`true`,children:(0,G.jsx)(ik,{size:24,strokeWidth:1.75})}),(0,G.jsx)(`p`,{className:`empty-state-title`,children:`Couldn't load the diff`}),(0,G.jsx)(`p`,{className:`empty-state-hint`,children:v})]}):(0,G.jsx)(fD,{enabled:t.haptics??!0,soundsEnabled:t.sounds??!0,children:(0,G.jsxs)(`div`,{className:`app`,ref:me,style:{"--sidebar-width":`${ae}px`,"--comment-panel-height":`${Ae}px`},children:[(0,G.jsx)(`a`,{href:`#diff-main`,className:`skip-to-main`,children:`Skip to diff`}),_&&(0,G.jsx)(`div`,{className:`refresh-bar`,role:`status`,"aria-live":`polite`,"aria-label":`Refreshing diff`}),(0,G.jsx)(`div`,{className:`sidebar-resize-guide`,ref:ge,"aria-hidden":`true`}),(0,G.jsx)(pW,{repoName:o,branch:s,fileCount:Ue.length,totalFileCount:Be.length,additions:Je.additions,deletions:Je.deletions,commentCount:R.length,planCount:z.length,pendingPlanCount:ee,lastSend:L,onOpenPlans:()=>DE(`/plan`),diffStyle:t.diffStyle,diffOptions:It,defaultTabSize:t.defaultTabSize,browser:t.browser,theme:t.theme||`nord`,editorIDE:t.editorIDE,customMode:c,showMode:l,showCommitCount:u.length,lineDiffType:t.lineDiffType,lineWrap:t.lineWrap,diffIndicators:t.diffIndicators,showLineNumbers:t.showLineNumbers,hunkSeparators:t.hunkSeparators,lineHoverHighlight:t.lineHoverHighlight,fontSize:t.fontSize,haptics:t.haptics??!0,sounds:t.sounds??!0,uiFont:t.uiFont,monoFont:t.monoFont,sidebarCollapsed:re,onToggleSidebar:kt,onDiffStyleChange:tt,onDiffOptionsChange:nt,onDefaultTabSizeChange:rt,onBrowserChange:it,onOpenThemeModal:()=>Te(!0),onEditorIDEChange:ot,onLineDiffTypeChange:st,onLineWrapChange:ct,onDiffIndicatorsChange:lt,onShowLineNumbersChange:ut,onHunkSeparatorsChange:dt,onLineHoverHighlightChange:ft,onFontSizeChange:pt,onHapticsChange:mt,onSoundsChange:ht,density:t.density,autoCollapseLineThreshold:t.autoCollapseLineThreshold,requireViewAllBeforeSend:t.requireViewAllBeforeSend,showStatusBar:t.showStatusBar??!0,ignoreSpaceChange:t.ignoreSpaceChange??!1,ignoreAllSpace:t.ignoreAllSpace??!1,onDensityChange:vt,onAutoCollapseLineThresholdChange:yt,onRequireViewAllBeforeSendChange:bt,onShowStatusBarChange:xt,onIgnoreSpaceChange:St,onIgnoreAllSpaceChange:Ct,onResolveAllOpen:wt,onOpenUiFontModal:()=>De(!0),onOpenMonoFontModal:()=>ke(!0),onOpenSearch:()=>be(`all`),onCopyComments:O,onCopyMarkdown:k,onSendToAgent:M,agentWaiting:P,waitingAgents:F,sending:N,comments:R,viewedFileCount:Pe.size,onEditComment:T,onDeleteComment:x}),!re&&(0,G.jsx)(`div`,{className:`sidebar-mobile-backdrop`,onClick:kt,"aria-hidden":`true`}),(0,G.jsxs)(`div`,{className:`app-body`,children:[(0,G.jsxs)(`aside`,{ref:he,className:`sidebar ${re?`sidebar-collapsed`:``}`,children:[(0,G.jsx)(`div`,{style:{flex:1,minHeight:0,overflow:`hidden`},children:(0,G.jsx)(Z0,{files:He,activeFile:B,commentCounts:Ve,viewedFiles:Pe,untrackedFiles:Le,onFileClick:Qe,collapsed:re,onToggleCollapse:kt,appliedExtensions:se,onApplyExtensions:$e,chipFilter:H,onChipFilterChange:le,sinceLastFiles:ue,sinceLastAvailable:U})}),!re&&R.length>0&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`ct-resize-handle`,onMouseDown:Ne,role:`separator`,"aria-label":`Resize comments panel`,"aria-orientation":`horizontal`,tabIndex:0}),(0,G.jsx)(`div`,{className:`ct-wrapper`,style:{flexShrink:0},children:(0,G.jsx)(t2,{comments:R,resolveComment:S,unresolveComment:C,removeComment:x,addReply:w,editComment:T,editReply:E,removeReply:D})})]})]}),!re&&(0,G.jsx)(`div`,{className:`sidebar-resize-handle`,onMouseDown:_e,role:`separator`,"aria-label":`Resize sidebar`,"aria-orientation":`vertical`,tabIndex:0}),(0,G.jsxs)(`main`,{className:`main`,ref:Ie,id:`diff-main`,tabIndex:-1,children:[h&&(0,G.jsx)(bW,{overview:h,commits:l?u:void 0}),l&&u.length>1&&(0,G.jsx)(Y2,{commits:u,activeIndex:de,onChange:fe}),te.inMerge&&te.conflicts.length>0&&(0,G.jsxs)(`div`,{className:`merge-conflict-banner`,children:[(0,G.jsx)(`strong`,{children:`Merge in progress`}),(0,G.jsxs)(`span`,{children:[te.conflicts.length,` unresolved file`,te.conflicts.length===1?``:`s`,` below. Use the inline buttons to accept current/incoming/both, then "Save & stage".`]})]}),te.conflicts.map(e=>(0,G.jsx)(NG,{filePath:e,theme:t.theme||`nord`,fontSize:t.fontSize,monoFontFamily:Lt,tabSize:p[e]??t.defaultTabSize,onSaved:()=>{ne()}},e)),(0,G.jsx)(jG,{files:We,diffStyle:t.diffStyle,tabSizeMap:p,defaultTabSize:t.defaultTabSize,viewedFiles:Pe,binaryFiles:Ye,theme:t.theme||`nord`,editorIDE:t.editorIDE,lineDiffType:t.lineDiffType,lineWrap:t.lineWrap,diffIndicators:t.diffIndicators,showLineNumbers:t.showLineNumbers,hunkSeparators:t.hunkSeparators,lineHoverHighlight:t.lineHoverHighlight,fontSize:t.fontSize,monoFontFamily:Lt,expandContextByDefault:t.expandContextByDefault,collapsedContextThreshold:t.collapsedContextThreshold,expansionLineCount:t.expansionLineCount,autoCollapseLineThreshold:t.autoCollapseLineThreshold,onViewedChange:et,fileAnnotationsMap:Ze,onAddComment:b,onDeleteComment:x,onCardToggleCollapse:Nt})]})]}),(0,G.jsx)(O2,{isOpen:ve.open,onClose:xe,initialScope:ve.scope,files:Ue,changedEntries:qe,customMode:c,staged:t.staged,onNavigateFile:Qe,theme:t.theme||`nord`,fontSize:t.fontSize,monoFontFamily:Lt,defaultTabSize:t.defaultTabSize,lineWrap:t.lineWrap,showLineNumbers:t.showLineNumbers,lineHoverHighlight:t.lineHoverHighlight}),(0,G.jsx)(I2,{activeFile:B,onShowHelp:()=>Ce(!0),visible:t.showStatusBar??!0,placeholder:l&&u.length>1?`No active file (J/K files · [ / ] commits)`:void 0}),(0,G.jsx)(L2,{isOpen:Se,onClose:()=>Ce(!1)}),(0,G.jsx)(B2,{open:we,activeTheme:t.theme||`nord`,onThemeChange:at,onClose:()=>Te(!1)}),(0,G.jsx)(U2,{open:Ee,title:`Select UI Font`,defaultLabel:`Default (Geist Mono, from CDN)`,activeFont:t.uiFont,onFontChange:gt,onClose:()=>De(!1)}),(0,G.jsx)(U2,{open:Oe,title:`Select Code Font`,defaultLabel:`Default (JetBrains Mono, from CDN)`,activeFont:t.monoFont,onFontChange:_t,onClose:()=>ke(!1)}),(0,G.jsx)(R2,{activity:A,onDismiss:j,onJump:Qe}),(0,G.jsx)(X2,{})]})})}function e4(e,t){if(t<1)return;let n=e.split(`
3872
+ `).includes(r)}function K2(e,t){return e.map(e=>{let n=t.get(e.filePath);if(n===void 0)return e;let r=G2(e,n);return e.outdated===r?e:{...e,outdated:r}})}function q2(e){let t=new URLSearchParams(e.startsWith(`?`)?e.slice(1):e),n=t.get(`file`)||void 0,r=t.get(`line`),i=r!=null&&r!==``?Number(r):void 0,a=t.get(`side`),o=a===`additions`||a===`deletions`?a:void 0,s=t.get(`comment`)||void 0;return{file:n,line:i!=null&&Number.isFinite(i)?i:void 0,side:o,comment:s}}function J2(e,t,n){if(t<2)return e;let r=e===null,i=e??0;return n===`next`?r?0:i>=t-1?null:i+1:r?t-1:i<=0?null:i-1}function Y2({commits:e,activeIndex:t,onChange:n}){if(e.length<2)return null;let r=e.length,i=t===null,a=t??0,o=i?null:e[a],s=()=>n(J2(t,r,`prev`)),c=()=>n(J2(t,r,`next`));return(0,G.jsxs)(`div`,{className:`commit-walk-bar`,role:`navigation`,"aria-label":`Walk commits`,children:[(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm commit-walk-btn`,onClick:s,"aria-label":`Previous commit`,title:`Previous commit ([)`,children:(0,G.jsx)(GD,{size:14})}),(0,G.jsxs)(`div`,{className:`commit-walk-center`,children:[(0,G.jsx)(gO,{size:14,"aria-hidden":`true`}),i?(0,G.jsxs)(`span`,{className:`commit-walk-label`,children:[`All `,r,` commits`]}):(0,G.jsxs)(`span`,{className:`commit-walk-label`,title:o?.subject,children:[(0,G.jsxs)(`span`,{className:`commit-walk-count`,children:[a+1,` / `,r]}),(0,G.jsx)(`code`,{className:`commit-walk-sha`,children:o?.shortSha??o?.sha.slice(0,7)}),(0,G.jsx)(`span`,{className:`commit-walk-subject`,children:o?.subject})]})]}),(0,G.jsxs)(`div`,{className:`commit-walk-trailing`,children:[(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm commit-walk-all`,onClick:()=>n(null),disabled:i,title:i?void 0:`Show all commits`,"aria-label":`Show all commits`,children:`Show all`}),(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm commit-walk-btn`,onClick:c,"aria-label":`Next commit`,title:`Next commit (])`,children:(0,G.jsx)(KD,{size:14})})]})]})}function X2(){let[e,t]=(0,W.useState)(null);return(0,W.useEffect)(()=>fE(`agent-progress`,e=>{try{t(JSON.parse(e))}catch{}}),[]),(0,W.useEffect)(()=>{if(!e)return;let n=setTimeout(()=>t(null),1e4);return()=>clearTimeout(n)},[e]),e?(0,G.jsxs)(`div`,{className:`agent-progress-toast`,role:`status`,"aria-live":`polite`,children:[(0,G.jsx)(`div`,{className:`agent-progress-toast-icon`,children:(0,G.jsx)(VD,{size:16})}),(0,G.jsxs)(`div`,{className:`agent-progress-toast-body`,children:[(0,G.jsxs)(`div`,{className:`agent-progress-toast-title`,children:[e.model||e.agentId||`Agent`,e.pct!=null&&(0,G.jsxs)(`span`,{className:`agent-progress-toast-pct`,children:[Math.round(e.pct),`%`]})]}),(0,G.jsx)(`div`,{className:`agent-progress-toast-msg`,children:e.message}),e.pct!=null&&(0,G.jsx)(`div`,{className:`agent-progress-bar`,"aria-hidden":`true`,children:(0,G.jsx)(`div`,{className:`agent-progress-bar-fill`,style:{width:`${e.pct}%`}})})]}),(0,G.jsx)(`button`,{type:`button`,className:`agent-progress-toast-close`,onClick:()=>t(null),"aria-label":`Dismiss`,children:(0,G.jsx)(ck,{size:14})})]}):null}var Z2=[`review-since-last`];function Q2(e=!0){let t=Ve(),n=nt({queryKey:Z2,queryFn:async()=>{let e=await fetch(`/api/review/since-last`);return e.ok?e.json():{hasBaseline:!1,round:0,changed:[],added:[],removed:[],reviewFiles:[]}},enabled:e,staleTime:2e3});(0,W.useEffect)(()=>{if(!e)return;let n=()=>{t.invalidateQueries({queryKey:Z2})},r=fE(`change`,n),i=fE(`agent-status`,n);return()=>{r(),i()}},[e,t]);let r=n.data,i=(0,W.useMemo)(()=>new Set(r?.reviewFiles??[]),[r?.reviewFiles]);return{sinceLast:r??null,reviewSet:i,hasBaseline:!!r?.hasBaseline,loading:n.isLoading,refetch:n.refetch}}function $2(){let e=Am(),{settings:t,loaded:n,updateSettings:r}=IE(),[,i]=(0,W.useTransition)(),{patch:a,repoName:o,branch:s,customMode:c,showMode:l,commits:u,truncated:d,binaryFiles:f,tabSizeMap:p,untrackedFiles:m,overview:h,loading:g,refreshing:_,error:v}=gE({staged:t.staged,untracked:t.untracked},!0),{comments:y,addComment:b,removeComment:x,resolveComment:S,unresolveComment:C,addReply:w,editComment:T,editReply:E,removeReply:D,copyAllComments:O,copyAllCommentsMarkdown:k,agentActivity:A,clearAgentActivity:j,sendToAgent:M,sending:N,agentWaiting:P,waitingAgents:F,resolveAllOpen:I,lastSend:L}=xE(),R=(0,W.useMemo)(()=>{if(!a)return y;let e=new Map;for(let t of y)e.has(t.filePath)||e.set(t.filePath,a);return K2(y,e)},[y,a]),{plans:z}=wE(),ee=(0,W.useMemo)(()=>z.filter(e=>e.decision===`pending`).length,[z]),{status:te,refresh:ne}=ME(a),[B,V]=(0,W.useState)(null),[re,ie]=(0,W.useState)(()=>{try{let e=CD(`diffing-sidebar-collapsed`);if(e!=null)return e===`true`}catch{}return typeof window<`u`&&window.innerWidth<=768}),[ae,oe]=(0,W.useState)(()=>{try{let e=CD(`diffing-sidebar-width`);return e?Number(e):320}catch{return 320}}),[se,ce]=(0,W.useState)(()=>{try{return mD(CD(`diffing-extension-filter`)??``)}catch{return[]}});(0,W.useEffect)(()=>{DD(`diffing-extension-filter`,se.join(`,`))},[se]);let[H,le]=(0,W.useState)(()=>{try{let e=CD(`diffing-chip-filter`);if(e===`unviewed`||e===`has-comments`||e===`all`||e===`since-last`)return e}catch{}return`all`});(0,W.useEffect)(()=>{DD(`diffing-chip-filter`,H)},[H]);let{reviewSet:ue,hasBaseline:U}=Q2(!0);(0,W.useEffect)(()=>{!U&&H===`since-last`&&le(`all`)},[U,H]);let[de,fe]=(0,W.useState)(null);(0,W.useEffect)(()=>{fe(null)},[u]);let pe=(0,W.useRef)(ae);pe.current=ae;let me=(0,W.useRef)(null),he=(0,W.useRef)(null),ge=(0,W.useRef)(null),_e=(0,W.useCallback)(e=>{e.preventDefault();let t=e.clientX,n=pe.current,r=he.current,i=ge.current,a=r?r.getBoundingClientRect().left:0,o=n,s=0,c=()=>{s=0,i&&(i.style.transform=`translateX(${a+o}px)`)};i&&(i.style.transform=`translateX(${a+n}px)`,i.classList.add(`sidebar-resize-guide-active`));let l=e=>{let r=e.clientX-t;o=Math.max(240,Math.min(640,n+r)),s||=requestAnimationFrame(c)},u=()=>{s&&cancelAnimationFrame(s),i&&i.classList.remove(`sidebar-resize-guide-active`),oe(o);try{DD(`diffing-sidebar-width`,String(o))}catch{}document.removeEventListener(`mousemove`,l),document.removeEventListener(`mouseup`,u),document.body.style.cursor=``,document.body.style.userSelect=``};document.addEventListener(`mousemove`,l),document.addEventListener(`mouseup`,u),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`},[]),[ve,ye]=(0,W.useState)({open:!1,scope:`files`}),be=(0,W.useCallback)(e=>ye({open:!0,scope:e}),[]),xe=(0,W.useCallback)(()=>ye(e=>({...e,open:!1})),[]),[Se,Ce]=(0,W.useState)(!1),[we,Te]=(0,W.useState)(!1),[Ee,De]=(0,W.useState)(!1),[Oe,ke]=(0,W.useState)(!1),[Ae,je]=(0,W.useState)(()=>{try{let e=CD(`diffing-comment-panel-height`);return e?Number(e):220}catch{return 220}}),Me=(0,W.useRef)(Ae);Me.current=Ae;let Ne=(0,W.useCallback)(e=>{e.preventDefault();let t=e.clientY,n=Me.current,r=me.current,i=n,a=0,o=()=>{a=0,r?.style.setProperty(`--comment-panel-height`,`${i}px`)},s=e=>{let r=t-e.clientY;i=Math.max(100,Math.min(600,n+r)),a||=requestAnimationFrame(o)},c=()=>{a&&cancelAnimationFrame(a),je(i);try{DD(`diffing-comment-panel-height`,String(i))}catch{}document.removeEventListener(`mousemove`,s),document.removeEventListener(`mouseup`,c),document.body.style.cursor=``,document.body.style.userSelect=``};document.addEventListener(`mousemove`,s),document.addEventListener(`mouseup`,c),document.body.style.cursor=`row-resize`,document.body.style.userSelect=`none`},[]);(0,W.useEffect)(()=>{try{DD(`diffing-comment-panel-height`,String(Ae))}catch{}},[Ae]);let{viewedFiles:Pe,setViewed:Fe}=VE(),Ie=(0,W.useRef)(null);un([`G`,`S`],()=>be(`symbols`)),un([`G`,`F`],()=>be(`all`)),un([`G`,`V`],()=>be(`files`)),(0,W.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&(e.key===`k`||e.key===`K`)&&(e.preventDefault(),ye(e=>e.open?{...e,open:!1}:{open:!0,scope:`all`}))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]),(0,W.useEffect)(()=>{try{DD(`diffing-sidebar-collapsed`,String(re))}catch{}},[re]);let Le=(0,W.useMemo)(()=>new Set(m),[m]),Re=(0,W.useRef)([]),ze=(0,W.useMemo)(()=>l&&de!=null&&u[de]?.patch?u[de].patch:a,[l,de,u,a]),Be=(0,W.useMemo)(()=>{if(!ze)return[];try{let e=Pg(ze).flatMap(e=>e.files),t=new Set(e.map(e=>e.name));for(let n of f)if(!t.has(n.path)){let t={name:n.path,type:n.type===`added`||n.type===`untracked`?`new`:n.type===`deleted`?`deleted`:`change`,hunks:[],splitLineCount:0,unifiedLineCount:0,isPartial:!0,deletionLines:[],additionLines:[]};e.push(t)}let n=new Set,r=e.filter(e=>n.has(e.name)?!1:(n.add(e.name),!0)).map(e=>{let t=Re.current.find(t=>t.name===e.name);return t&&t.type===e.type&&t.isPartial===e.isPartial&&t.deletionLines.length===e.deletionLines.length&&t.additionLines.length===e.additionLines.length&&JSON.stringify(t.hunks)===JSON.stringify(e.hunks)?t:e});return Re.current=r,r}catch{return[]}},[ze,f]),Ve=(0,W.useMemo)(()=>{let e={};for(let t of R)e[t.filePath]=(e[t.filePath]??0)+1;return e},[R]),He=(0,W.useMemo)(()=>[...Be].sort(AG),[Be]),Ue=(0,W.useMemo)(()=>{let e=Be;return se.length>0&&(e=e.filter(e=>_D(e.name,se))),H===`unviewed`?e=e.filter(e=>!Pe.has(e.name)):H===`has-comments`?e=e.filter(e=>(Ve[e.name]??0)>0):H===`since-last`&&(e=e.filter(e=>ue.has(e.name))),e},[Be,se,H,Pe,Ve,ue]),We=(0,W.useMemo)(()=>[...Ue].sort(AG),[Ue]),Ge=(0,W.useRef)(!1);(0,W.useEffect)(()=>{if(Ge.current||g||We.length===0||typeof window>`u`)return;let e=q2(window.location.search);!e.file&&!e.comment||(Ge.current=!0,e.file&&(V(e.file),e.line!=null&&requestAnimationFrame(()=>{oE(e.file,e.line,e.side??`additions`)})),e.comment&&requestAnimationFrame(()=>{document.getElementById(`comment-${e.comment}`)?.scrollIntoView({behavior:`smooth`,block:`center`})}))},[g,We.length]);let Ke=WE(We),qe=kD(We),Je=(0,W.useMemo)(()=>{let e=0,t=0;for(let n of Ue)e+=n.additionLines.length,t+=n.deletionLines.length;return{additions:e,deletions:t}},[Ue]),Ye=(0,W.useMemo)(()=>{let e=new Map;for(let t of f)e.set(t.path,t);return e},[f]),Xe=(0,W.useRef)(new Map),Ze=(0,W.useMemo)(()=>{let e=new Map,t=new Map;for(let e of R){let n=t.get(e.filePath);n||(n=[],t.set(e.filePath,n)),n.push(e)}for(let[n,r]of t){let t=r.map(e=>({side:e.side,lineNumber:e.lineNumber,metadata:e})),i=Xe.current.get(n);i&&JSON.stringify(i)===JSON.stringify(t)?e.set(n,i):e.set(n,t)}return Xe.current=e,e},[R]),Qe=(0,W.useCallback)(e=>{V(e);let t=document.getElementById(`file-${e}`);t&&t.scrollIntoView({block:`start`})},[]),$e=(0,W.useCallback)(e=>{i(()=>{ce(hD(e))})},[]),et=(0,W.useCallback)((e,t)=>{Fe(e,t),t&&Ke(e)},[Fe,Ke]),tt=(0,W.useCallback)(e=>{i(()=>{r({diffStyle:e})})},[r]),nt=(0,W.useCallback)(e=>{i(()=>{r(e)})},[r]),rt=(0,W.useCallback)(e=>{i(()=>{r({defaultTabSize:e})})},[r]),it=(0,W.useCallback)(e=>{i(()=>{r({browser:e})})},[r]),at=(0,W.useCallback)(e=>{i(()=>{r({theme:e})})},[r]),ot=(0,W.useCallback)(e=>{i(()=>{r({editorIDE:e})})},[r]),st=(0,W.useCallback)(e=>{i(()=>{r({lineDiffType:e})})},[r]),ct=(0,W.useCallback)(e=>{i(()=>{r({lineWrap:e})})},[r]),lt=(0,W.useCallback)(e=>{i(()=>{r({diffIndicators:e})})},[r]),ut=(0,W.useCallback)(e=>{i(()=>{r({showLineNumbers:e})})},[r]),dt=(0,W.useCallback)(e=>{i(()=>{r({hunkSeparators:e})})},[r]),ft=(0,W.useCallback)(e=>{i(()=>{r({lineHoverHighlight:e})})},[r]),pt=(0,W.useCallback)(e=>{i(()=>{r({fontSize:e})})},[r]),mt=(0,W.useCallback)(e=>{r({haptics:e})},[r]),ht=(0,W.useCallback)(e=>{r({sounds:e})},[r]),gt=(0,W.useCallback)(e=>{r({uiFont:e})},[r]),_t=(0,W.useCallback)(e=>{r({monoFont:e})},[r]),vt=(0,W.useCallback)(e=>{r({density:e})},[r]),yt=(0,W.useCallback)(e=>{r({autoCollapseLineThreshold:e})},[r]),bt=(0,W.useCallback)(e=>{r({requireViewAllBeforeSend:e})},[r]),xt=(0,W.useCallback)(e=>{r({showStatusBar:e})},[r]),St=(0,W.useCallback)(e=>{r({ignoreSpaceChange:e})},[r]),Ct=(0,W.useCallback)(e=>{r({ignoreAllSpace:e})},[r]);(0,W.useCallback)(e=>{r({showVimStatusBar:e})},[r]);let wt=(0,W.useCallback)(async()=>{try{let e=await I();dD(`selection`,`toggle`),e.resolved}catch{}},[I,dD]),Tt=(0,W.useCallback)(()=>{ct(!t.lineWrap)},[t.lineWrap,ct]),Et=(0,W.useCallback)(()=>{ut(!t.showLineNumbers)},[t.showLineNumbers,ut]),Dt=(0,W.useCallback)(()=>{let e=[`classic`,`bars`,`none`],n=t.diffIndicators||`classic`,r=e[(e.indexOf(n)+1)%e.length];lt(r)},[t.diffIndicators,lt]),Ot=(0,W.useCallback)(()=>{let e=[`word`,`word-alt`,`char`,`none`],n=t.lineDiffType||`word`,r=e[(e.indexOf(n)+1)%e.length];st(r)},[t.lineDiffType,st]),kt=(0,W.useCallback)(()=>{ie(e=>!e)},[]),At=(0,W.useCallback)(e=>{if(Be.length===0)return;let t=0;if(B){let n=Be.findIndex(e=>e.name===B);n!==-1&&(t=e===`next`?Math.min(n+1,Be.length-1):Math.max(n-1,0))}let n=Be[t].name;V(n);let r=document.getElementById(`file-${n}`);r&&r.scrollIntoView({block:`start`})},[Be,B,V]),jt=(0,W.useCallback)(e=>{!l||u.length<2||fe(t=>J2(t,u.length,e))},[l,u.length]),Mt=(0,W.useCallback)(()=>{if(!B)return;let e=Pe.has(B);Fe(B,!e),e||Ke(B)},[B,Pe,Fe,Ke]),Nt=(0,W.useCallback)((e,t)=>{t&&Ke(e)},[Ke]),K=(0,W.useCallback)(()=>{tt(t.diffStyle===`split`?`unified`:`split`)},[t.diffStyle,tt]),Pt=(0,W.useCallback)(()=>{let e=[2,4,8],n=t.defaultTabSize||4;rt(e[(e.indexOf(n)+1)%e.length])},[t.defaultTabSize,rt]),Ft=(0,W.useCallback)(()=>{kt()},[kt]);(0,W.useEffect)(()=>{let e=``,t,n=0,r=r=>{let i=document.activeElement;if(i){let e=i.tagName.toLowerCase();if(e===`input`||e===`textarea`||i.hasAttribute(`contenteditable`))return}clearTimeout(t);let a=r.key;if((r.metaKey||r.ctrlKey)&&(a===`?`||a===`/`&&r.shiftKey||r.code===`Slash`&&r.shiftKey)){r.preventDefault(),Ce(!0),dD(`medium`,`open`),e=``;return}if(r.ctrlKey){a===`d`?(r.preventDefault(),window.scrollBy({top:window.innerHeight/2,behavior:`auto`}),dD(`selection`,`navigate`),e=``):a===`u`&&(r.preventDefault(),window.scrollBy({top:-window.innerHeight/2,behavior:`auto`}),dD(`selection`,`navigate`),e=``);return}if(!(a.length>1&&a!==`Escape`&&a!==`Enter`))if(e+=a,t=setTimeout(()=>{e=``},800),e===`j`){r.preventDefault(),window.scrollBy({top:100,behavior:`auto`});let t=Date.now();t-n>80&&(lD(`navigate`),n=t),e=``}else if(e===`k`){r.preventDefault(),window.scrollBy({top:-100,behavior:`auto`});let t=Date.now();t-n>80&&(lD(`navigate`),n=t),e=``}else e===`gg`?(r.preventDefault(),window.scrollTo({top:0,behavior:`auto`}),dD(`selection`,`navigate`),e=``):e===`G`?(r.preventDefault(),window.scrollTo({top:document.documentElement.scrollHeight,behavior:`auto`}),dD(`selection`,`navigate`),e=``):e===`J`?(r.preventDefault(),At(`next`),dD(`selection`,`navigate`),e=``):e===`K`?(r.preventDefault(),At(`prev`),dD(`selection`,`navigate`),e=``):e===`]`?(r.preventDefault(),jt(`next`),dD(`selection`,`navigate`),e=``):e===`[`?(r.preventDefault(),jt(`prev`),dD(`selection`,`navigate`),e=``):e===`v`?(r.preventDefault(),Mt(),dD(`selection`,`toggle`),e=``):e===`m`?(r.preventDefault(),K(),dD(`selection`,`toggle`),e=``):e===`t`?(r.preventDefault(),Pt(),dD(`selection`,`toggle`),e=``):e===`b`?(r.preventDefault(),Ft(),dD(`selection`,`toggle`),e=``):e===`w`?(r.preventDefault(),Tt(),dD(`selection`,`toggle`),e=``):e===`n`?(r.preventDefault(),Et(),dD(`selection`,`toggle`),e=``):e===`i`?(r.preventDefault(),Dt(),dD(`selection`,`toggle`),e=``):e===`I`?(r.preventDefault(),Ot(),dD(`selection`,`toggle`),e=``):e===`/`?(r.preventDefault(),be(`text`),dD(`medium`,`open`),e=``):e===`s`?(r.preventDefault(),be(`symbols`),dD(`medium`,`open`),e=``):e===`gv`?(r.preventDefault(),be(`files`),dD(`medium`,`open`),e=``):e===`gt`?(r.preventDefault(),Te(!0),dD(`medium`,`open`),e=``):e===`?`?(r.preventDefault(),Ce(!0),dD(`medium`,`open`),e=``):e.length>=2&&(e=``)};return window.addEventListener(`keydown`,r),()=>{window.removeEventListener(`keydown`,r),clearTimeout(t)}},[Be,B,Pe,t.diffStyle,t.defaultTabSize,At,jt,Mt,K,Pt,Ft,Tt,Et,Dt,Ot,Te]);let It=(0,W.useMemo)(()=>({staged:t.staged,untracked:t.untracked}),[t.staged,t.untracked]);(0,W.useEffect)(()=>{let e=t.theme||`rose-pine`,n=document.documentElement;n.classList.add(`theme-switching`),n.setAttribute(`data-theme`,e),n.setAttribute(`data-density`,t.density||`comfortable`);let r=requestAnimationFrame(()=>{requestAnimationFrame(()=>n.classList.remove(`theme-switching`))});return()=>cancelAnimationFrame(r)},[t.theme,t.density]),LE(n,t.uiFont,t.monoFont);let Lt=(0,W.useMemo)(()=>FE(t.monoFont),[t.monoFont]),Rt=(0,W.useMemo)(()=>nE[t.theme||`rose-pine`]||nE[`rose-pine`],[t.theme]);return(0,W.useEffect)(()=>{e&&e.setRenderOptions({theme:{dark:Rt.type===`dark`?Rt.themeName:`rose-pine`,light:Rt.type===`light`?Rt.themeName:`github-light`}}).catch(e=>{console.error(`Failed to set worker pool render options:`,e)})},[e,Rt]),(0,W.useEffect)(()=>{let e=Rt.type===`dark`?Rt.themeName:`rose-pine`,t=Rt.type===`light`?Rt.themeName:`github-light`;Uf({themes:Array.from(new Set([e,t])),langs:[]}).catch(()=>{})},[Rt]),(0,W.useEffect)(()=>{let e=[o,s].filter(Boolean);return document.title=e.length>0?`${e.join(` · `)} · diffing`:`diffing`,()=>{document.title=`diffing`}},[o,s]),g?(0,G.jsxs)(`div`,{className:`app skeleton-app`,style:{"--sidebar-width":`${ae}px`,"--comment-panel-height":`${Ae}px`},children:[(0,G.jsxs)(`header`,{className:`skeleton-toolbar`,children:[(0,G.jsx)(`div`,{className:`skeleton-item skeleton-logo`}),(0,G.jsx)(`div`,{className:`skeleton-item skeleton-stats`}),(0,G.jsx)(`div`,{className:`skeleton-item skeleton-actions`})]}),(0,G.jsxs)(`div`,{className:`app-body`,children:[(0,G.jsx)(`aside`,{className:`sidebar skeleton-sidebar ${re?`sidebar-collapsed`:``}`,children:!re&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`skeleton-search`}),(0,G.jsx)(`div`,{className:`skeleton-tree-nodes`,children:Array.from({length:8}).map((e,t)=>(0,G.jsxs)(`div`,{className:`skeleton-tree-node`,style:{paddingLeft:`${t%3*16+16}px`},children:[(0,G.jsx)(`div`,{className:`skeleton-node-icon`}),(0,G.jsx)(`div`,{className:`skeleton-node-text`,style:{width:`${60+t*12%60}px`}})]},t))})]})}),!re&&(0,G.jsx)(`div`,{className:`sidebar-resize-handle`,style:{cursor:`default`}}),(0,G.jsx)(`main`,{className:`main skeleton-main`,children:(0,G.jsx)(`div`,{className:`diff-viewer`,children:Array.from({length:3}).map((e,t)=>(0,G.jsxs)(`div`,{className:`file-diff-card skeleton-card`,children:[(0,G.jsxs)(`div`,{className:`skeleton-card-header`,children:[(0,G.jsx)(`div`,{className:`skeleton-card-title`,style:{width:`${120+t*45%150}px`}}),(0,G.jsx)(`div`,{className:`skeleton-card-badge`})]}),(0,G.jsx)(`div`,{className:`skeleton-card-body`,children:Array.from({length:5}).map((e,t)=>(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`${50+t*15%45}%`}},t))})]},t))})})]})]}):v?(0,G.jsxs)(`div`,{className:`error empty-state`,role:`alert`,children:[(0,G.jsx)(`div`,{className:`empty-state-icon empty-state-icon-danger`,"aria-hidden":`true`,children:(0,G.jsx)(ik,{size:24,strokeWidth:1.75})}),(0,G.jsx)(`p`,{className:`empty-state-title`,children:`Couldn't load the diff`}),(0,G.jsx)(`p`,{className:`empty-state-hint`,children:v})]}):(0,G.jsx)(fD,{enabled:t.haptics??!0,soundsEnabled:t.sounds??!0,children:(0,G.jsxs)(`div`,{className:`app`,ref:me,style:{"--sidebar-width":`${ae}px`,"--comment-panel-height":`${Ae}px`},children:[(0,G.jsx)(`a`,{href:`#diff-main`,className:`skip-to-main`,children:`Skip to diff`}),_&&(0,G.jsx)(`div`,{className:`refresh-bar`,role:`status`,"aria-live":`polite`,"aria-label":`Refreshing diff`}),(0,G.jsx)(`div`,{className:`sidebar-resize-guide`,ref:ge,"aria-hidden":`true`}),(0,G.jsx)(pW,{repoName:o,branch:s,fileCount:Ue.length,totalFileCount:Be.length,additions:Je.additions,deletions:Je.deletions,commentCount:R.length,planCount:z.length,pendingPlanCount:ee,lastSend:L,onOpenPlans:()=>DE(`/plan`),diffStyle:t.diffStyle,diffOptions:It,defaultTabSize:t.defaultTabSize,browser:t.browser,theme:t.theme||`rose-pine`,editorIDE:t.editorIDE,customMode:c,showMode:l,showCommitCount:u.length,lineDiffType:t.lineDiffType,lineWrap:t.lineWrap,diffIndicators:t.diffIndicators,showLineNumbers:t.showLineNumbers,hunkSeparators:t.hunkSeparators,lineHoverHighlight:t.lineHoverHighlight,fontSize:t.fontSize,haptics:t.haptics??!0,sounds:t.sounds??!0,uiFont:t.uiFont,monoFont:t.monoFont,sidebarCollapsed:re,onToggleSidebar:kt,onDiffStyleChange:tt,onDiffOptionsChange:nt,onDefaultTabSizeChange:rt,onBrowserChange:it,onOpenThemeModal:()=>Te(!0),onEditorIDEChange:ot,onLineDiffTypeChange:st,onLineWrapChange:ct,onDiffIndicatorsChange:lt,onShowLineNumbersChange:ut,onHunkSeparatorsChange:dt,onLineHoverHighlightChange:ft,onFontSizeChange:pt,onHapticsChange:mt,onSoundsChange:ht,density:t.density,autoCollapseLineThreshold:t.autoCollapseLineThreshold,requireViewAllBeforeSend:t.requireViewAllBeforeSend,showStatusBar:t.showStatusBar??!0,ignoreSpaceChange:t.ignoreSpaceChange??!1,ignoreAllSpace:t.ignoreAllSpace??!1,onDensityChange:vt,onAutoCollapseLineThresholdChange:yt,onRequireViewAllBeforeSendChange:bt,onShowStatusBarChange:xt,onIgnoreSpaceChange:St,onIgnoreAllSpaceChange:Ct,onResolveAllOpen:wt,onOpenUiFontModal:()=>De(!0),onOpenMonoFontModal:()=>ke(!0),onOpenSearch:()=>be(`all`),onCopyComments:O,onCopyMarkdown:k,onSendToAgent:M,agentWaiting:P,waitingAgents:F,sending:N,comments:R,viewedFileCount:Pe.size,onEditComment:T,onDeleteComment:x}),!re&&(0,G.jsx)(`div`,{className:`sidebar-mobile-backdrop`,onClick:kt,"aria-hidden":`true`}),(0,G.jsxs)(`div`,{className:`app-body`,children:[(0,G.jsxs)(`aside`,{ref:he,className:`sidebar ${re?`sidebar-collapsed`:``}`,children:[(0,G.jsx)(`div`,{style:{flex:1,minHeight:0,overflow:`hidden`},children:(0,G.jsx)(Z0,{files:He,activeFile:B,commentCounts:Ve,viewedFiles:Pe,untrackedFiles:Le,onFileClick:Qe,collapsed:re,onToggleCollapse:kt,appliedExtensions:se,onApplyExtensions:$e,chipFilter:H,onChipFilterChange:le,sinceLastFiles:ue,sinceLastAvailable:U})}),!re&&R.length>0&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`ct-resize-handle`,onMouseDown:Ne,role:`separator`,"aria-label":`Resize comments panel`,"aria-orientation":`horizontal`,tabIndex:0}),(0,G.jsx)(`div`,{className:`ct-wrapper`,style:{flexShrink:0},children:(0,G.jsx)(t2,{comments:R,resolveComment:S,unresolveComment:C,removeComment:x,addReply:w,editComment:T,editReply:E,removeReply:D})})]})]}),!re&&(0,G.jsx)(`div`,{className:`sidebar-resize-handle`,onMouseDown:_e,role:`separator`,"aria-label":`Resize sidebar`,"aria-orientation":`vertical`,tabIndex:0}),(0,G.jsxs)(`main`,{className:`main`,ref:Ie,id:`diff-main`,tabIndex:-1,children:[h&&(0,G.jsx)(bW,{overview:h,commits:l?u:void 0}),l&&u.length>1&&(0,G.jsx)(Y2,{commits:u,activeIndex:de,onChange:fe}),te.inMerge&&te.conflicts.length>0&&(0,G.jsxs)(`div`,{className:`merge-conflict-banner`,children:[(0,G.jsx)(`strong`,{children:`Merge in progress`}),(0,G.jsxs)(`span`,{children:[te.conflicts.length,` unresolved file`,te.conflicts.length===1?``:`s`,` below. Use the inline buttons to accept current/incoming/both, then "Save & stage".`]})]}),te.conflicts.map(e=>(0,G.jsx)(NG,{filePath:e,theme:t.theme||`rose-pine`,fontSize:t.fontSize,monoFontFamily:Lt,tabSize:p[e]??t.defaultTabSize,onSaved:()=>{ne()}},e)),(0,G.jsx)(jG,{files:We,diffStyle:t.diffStyle,tabSizeMap:p,defaultTabSize:t.defaultTabSize,viewedFiles:Pe,binaryFiles:Ye,theme:t.theme||`rose-pine`,editorIDE:t.editorIDE,lineDiffType:t.lineDiffType,lineWrap:t.lineWrap,diffIndicators:t.diffIndicators,showLineNumbers:t.showLineNumbers,hunkSeparators:t.hunkSeparators,lineHoverHighlight:t.lineHoverHighlight,fontSize:t.fontSize,monoFontFamily:Lt,expandContextByDefault:t.expandContextByDefault,collapsedContextThreshold:t.collapsedContextThreshold,expansionLineCount:t.expansionLineCount,autoCollapseLineThreshold:t.autoCollapseLineThreshold,onViewedChange:et,fileAnnotationsMap:Ze,onAddComment:b,onDeleteComment:x,onCardToggleCollapse:Nt})]})]}),(0,G.jsx)(O2,{isOpen:ve.open,onClose:xe,initialScope:ve.scope,files:Ue,changedEntries:qe,customMode:c,staged:t.staged,onNavigateFile:Qe,theme:t.theme||`rose-pine`,fontSize:t.fontSize,monoFontFamily:Lt,defaultTabSize:t.defaultTabSize,lineWrap:t.lineWrap,showLineNumbers:t.showLineNumbers,lineHoverHighlight:t.lineHoverHighlight}),(0,G.jsx)(I2,{activeFile:B,onShowHelp:()=>Ce(!0),visible:t.showStatusBar??!0,placeholder:l&&u.length>1?`No active file (J/K files · [ / ] commits)`:void 0}),(0,G.jsx)(L2,{isOpen:Se,onClose:()=>Ce(!1)}),(0,G.jsx)(B2,{open:we,activeTheme:t.theme||`rose-pine`,onThemeChange:at,onClose:()=>Te(!1)}),(0,G.jsx)(U2,{open:Ee,title:`Select UI Font`,defaultLabel:`Default (Geist Mono, from CDN)`,activeFont:t.uiFont,onFontChange:gt,onClose:()=>De(!1)}),(0,G.jsx)(U2,{open:Oe,title:`Select Code Font`,defaultLabel:`Default (JetBrains Mono, from CDN)`,activeFont:t.monoFont,onFontChange:_t,onClose:()=>ke(!1)}),(0,G.jsx)(R2,{activity:A,onDismiss:j,onJump:Qe}),(0,G.jsx)(X2,{})]})})}function e4(e,t){if(t<1)return;let n=e.split(`
3873
3873
  `),r=Math.min(t,n.length);for(let e=r-1;e>=0;e--){let t=/^\s{0,3}(#{1,6})\s+(.*?)\s*#*\s*$/.exec(n[e]);if(t)return t[2].trim()}}function t4(e,t,n){if(t<1)return``;let r=e.split(`
3874
3874
  `),i=Math.max(1,t),a=Math.min(n,r.length);return a<i?``:r.slice(i-1,a).join(`
3875
3875
  `)}function n4({role:e,size:t=16}){return e===`agent`?(0,G.jsx)(`div`,{className:`comment-avatar-circle comment-avatar-agent`,style:{width:`${t*2}px`,height:`${t*2}px`},children:(0,G.jsx)(VD,{size:t,"aria-hidden":`true`})}):(0,G.jsx)(`div`,{className:`comment-avatar-circle comment-avatar-user`,style:{width:`${t*2}px`,height:`${t*2}px`},children:(0,G.jsx)(sk,{size:t,"aria-hidden":`true`})})}function r4({comment:e,onResolve:t,onUnresolve:n,onDelete:r,onEdit:i,onReply:a,onEditReply:o,onDeleteReply:s}){let[,c]=(0,W.useState)(0),l=e.status===`resolved`,[u,d]=(0,W.useState)(l),[f,p]=(0,W.useState)(!1),[m,h]=(0,W.useState)(!1),[g,_]=(0,W.useState)(!1),[v,y]=(0,W.useState)(null),[b,x]=(0,W.useState)(null),S=(0,G.jsxs)(`div`,{className:`comment-delete-confirm`,style:{display:`flex`,alignItems:`center`,gap:`4px`},children:[(0,G.jsxs)(`button`,{type:`button`,className:`comment-node-btn comment-node-btn-delete`,onClick:()=>{_(!1),r()},title:`Confirm delete`,"aria-label":`Confirm delete comment`,style:{color:`var(--danger)`,background:`var(--feedback-danger-bg)`,fontWeight:600,fontSize:`11px`,border:`1px solid var(--feedback-danger-border)`,padding:`2px 6px`,width:`auto`,height:`auto`,display:`flex`,alignItems:`center`,gap:`2px`},children:[(0,G.jsx)(ik,{size:11}),`Delete?`]}),(0,G.jsx)(`button`,{type:`button`,className:`comment-node-btn`,onClick:()=>_(!1),title:`Cancel delete`,"aria-label":`Cancel delete`,style:{fontSize:`11px`,padding:`2px 6px`,width:`auto`,height:`auto`},children:`Cancel`})]});(0,W.useEffect)(()=>{e.status===`resolved`&&d(!0)},[e.status]),(0,W.useEffect)(()=>{let e=setInterval(()=>c(e=>e+1),3e4);return()=>clearInterval(e)},[]);let C=e.lineNumber===0,w=e.startLineNumber&&e.startLineNumber!==e.lineNumber,T=e.body.replace(/\s+/g,` `).trim().slice(0,72),E=e.replies?.length??0,D=e.lineContent&&e.lineContent.trim()!==e.selectedQuote?.trim()?e.lineContent:``,O=!!(e.selectedQuote||D),k=Math.max(1,(D||e.selectedQuote||``).split(`
@@ -3896,14 +3896,14 @@ https://github.com/highlightjs/highlight.js/issues/2277`),i=e,r=t),n===void 0&&(
3896
3896
  `).split(`
3897
3897
  `).length;return{min:1,max:Math.max(1,e)}},[i]),m=(0,W.useCallback)((e,t,n)=>{if(!i||!p)return;let r=uG({side:`additions`,lineNumber:e.lineNumber,startLineNumber:e.startLineNumber}),o=t===`start`?gG(r,n,p):_G(r,n,p),s=o.startLineNumber??o.lineNumber,c=o.lineNumber,l=t4(i,s,c);f(e.id,{lineNumber:c,startLineNumber:o.startLineNumber,exactLines:l,sourceContext:a?a(s,c):l})},[i,p,a,f]),h=(0,W.useCallback)(t=>{qW(j4(e,t)),n(e=>e.filter(e=>e.id!==t))},[n,e]),g=(0,W.useCallback)(n=>{let r=t.find(e=>e.id===n);if(r){if(M4(e,n)){d({id:n,quote:r.selectedQuote});return}h(n)}},[t,e,h]),_=(0,W.useCallback)(()=>{u&&(h(u.id),d(null))},[u,h]),v=(0,W.useCallback)((e,r)=>{if(r.target.closest(`button, input, textarea, select, a, .plan-float-resize`))return;let i=t.find(t=>t.id===e);if(!i||i.minimized)return;r.preventDefault(),c.current={id:e,startX:r.clientX,startY:r.clientY,origLeft:i.panelPos.left,origTop:i.panelPos.top};let a=t=>{if(!c.current||c.current.id!==e)return;let r=c.current.origLeft+(t.clientX-c.current.startX),i=c.current.origTop+(t.clientY-c.current.startY);n(t=>t.map(t=>{if(t.id!==e)return t;let n=t.panelSize??{width:400,height:420},a=O4(r,i,n.width,n.height);return{...t,panelPos:{left:a.left,top:a.top},panelSize:{width:a.width,height:a.height}}}))},o=()=>{c.current=null,window.removeEventListener(`mousemove`,a),window.removeEventListener(`mouseup`,o)};window.addEventListener(`mousemove`,a),window.addEventListener(`mouseup`,o)},[t,n]),y=(0,W.useCallback)((e,r,i)=>{i.preventDefault(),i.stopPropagation();let a=t.find(t=>t.id===e);if(!a||a.minimized)return;let o=a.panelSize??{width:400,height:420};l.current={id:e,edge:r,startX:i.clientX,startY:i.clientY,origLeft:a.panelPos.left,origTop:a.panelPos.top,origW:o.width,origH:o.height};let s=t=>{let r=l.current;if(!r||r.id!==e)return;let i=t.clientX-r.startX,a=t.clientY-r.startY,o=r.origLeft,s=r.origTop,c=r.origW,u=r.origH;r.edge.includes(`e`)&&(c=r.origW+i),r.edge.includes(`s`)&&(u=r.origH+a),r.edge.includes(`w`)&&(c=r.origW-i,o=r.origLeft+i),r.edge.includes(`n`)&&(u=r.origH-a,s=r.origTop+a),c<T4&&(r.edge.includes(`w`)&&(o=r.origLeft+r.origW-T4),c=T4),u<E4&&(r.edge.includes(`n`)&&(s=r.origTop+r.origH-E4),u=E4);let d=O4(o,s,c,u);n(t=>t.map(t=>t.id===e?{...t,panelPos:{left:d.left,top:d.top},panelSize:{width:d.width,height:d.height}}:t))},c=()=>{l.current=null,window.removeEventListener(`mousemove`,s),window.removeEventListener(`mouseup`,c)};window.addEventListener(`mousemove`,s),window.addEventListener(`mouseup`,c)},[t,n]);if((0,W.useEffect)(()=>{let e=e=>{if(e.key!==`Escape`)return;let n=[...t].reverse().find(e=>!e.minimized);n&&(e.preventDefault(),e.stopPropagation(),g(n.id))};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[t,g]),(0,W.useEffect)(()=>{if(t.length===0)return;let e=()=>{n(e=>e.map(e=>{let t=e.panelSize??{width:400,height:420},n=O4(e.panelPos.left,e.panelPos.top,t.width,t.height);return{...e,panelPos:{left:n.left,top:n.top},panelSize:{width:n.width,height:n.height}}}))};return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[t.length,n]),(0,W.useEffect)(()=>{if(t.length===0)return;let e=o?.current;if(!e)return;let r=0,i=()=>{n(t=>{let n=!1,r=t.map(t=>{let r=(t.selectedQuote||t.exactLines||``).trim();if(!r)return t;let i=y4(e,r);return i.length===0||i.length===t.highlightRects.length&&i.every((e,n)=>{let r=t.highlightRects[n];return r&&Math.abs(r.top-e.top)<.5&&Math.abs(r.left-e.left)<.5&&Math.abs(r.width-e.width)<.5&&Math.abs(r.height-e.height)<.5})?t:(n=!0,{...t,highlightRects:i})});return n?r:t})};return r=requestAnimationFrame(()=>{r=requestAnimationFrame(i)}),()=>cancelAnimationFrame(r)},[s,t.length,o,n]),t.length===0||typeof document>`u`)return null;let b=t.filter(e=>e.minimized),x=t.filter(e=>!e.minimized),S=[`n`,`s`,`e`,`w`,`ne`,`nw`,`se`,`sw`];return(0,aS.createPortal)((0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`plan-float-highlights`,"aria-hidden":`true`,children:t.map(e=>e.highlightRects.map((t,n)=>(0,G.jsx)(`div`,{className:`plan-float-highlight`,style:{top:t.top,left:t.left,width:t.width,height:t.height}},`${e.id}-hl-${n}`)))}),x.map((t,a)=>{let o=t.sectionTitle,s=t.panelSize??{width:400,height:420};return(0,G.jsxs)(`div`,{className:`plan-selection-comment plan-selection-comment-floating`,role:`dialog`,"aria-label":`Add plan comment ${a+1}`,style:{left:t.panelPos.left,top:t.panelPos.top,width:s.width,height:s.height,zIndex:110+a},children:[S.map(e=>(0,G.jsx)(`div`,{className:`plan-float-resize plan-float-resize-${e}`,onMouseDown:n=>y(t.id,e,n),"aria-hidden":`true`},e)),(0,G.jsxs)(`div`,{className:`plan-selection-comment-drag`,onMouseDown:e=>v(t.id,e),title:`Drag to move`,children:[(0,G.jsx)(bO,{size:14,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{className:`plan-selection-comment-meta`,children:[`Commenting on`,` `,t.startLineNumber&&t.startLineNumber!==t.lineNumber?`L${t.startLineNumber}–L${t.lineNumber}`:`L${t.lineNumber}`,o?` · § ${o}`:``]}),(0,G.jsx)(`button`,{type:`button`,className:`plan-selection-comment-close`,"aria-label":`Minimize`,title:`Minimize`,onClick:()=>f(t.id,{minimized:!0}),children:(0,G.jsx)(LO,{size:14})}),(0,G.jsx)(`button`,{type:`button`,className:`plan-selection-comment-close`,"aria-label":`Close comment form`,title:`Close (Esc)`,onClick:()=>g(t.id),children:(0,G.jsx)(ck,{size:14})})]}),(0,G.jsxs)(`div`,{className:`plan-selection-comment-body`,children:[(0,G.jsxs)(`div`,{className:`plan-selection-comment-context`,children:[t.selectedQuote.trim()?(0,G.jsxs)(`blockquote`,{className:`plan-comment-quote`,cite:`L${t.lineNumber}`,children:[`“`,t.selectedQuote.trim(),`”`]}):null,(0,G.jsx)(`pre`,{className:`plan-comment-source`,"aria-label":`Source context for agent`,children:t.sourceContext||t.exactLines||`(no source lines)`})]}),(0,G.jsx)(`div`,{className:`plan-selection-comment-form`,children:(0,G.jsx)(ZW,{draftKey:j4(e,t.id),lineContent:t.exactLines,lineLabel:t.startLineNumber&&t.startLineNumber!==t.lineNumber?`L${t.startLineNumber}–L${t.lineNumber} · source`:`L${t.lineNumber} · source`,showSeverity:!0,range:i&&p?(()=>{let e=uG({side:`additions`,lineNumber:t.lineNumber,startLineNumber:t.startLineNumber}),n=mG(e);return{start:n.start,end:n.end,sideLabel:`source`,canAdjustStart:t=>vG(e,t,p),canAdjustEnd:t=>yG(e,t,p)}})():void 0,onAdjustStart:i?e=>m(t,`start`,e):void 0,onAdjustEnd:i?e=>m(t,`end`,e):void 0,onSubmit:(i,a)=>{r(t,i,a),qW(j4(e,t.id)),n(e=>e.filter(e=>e.id!==t.id))},onCancel:()=>g(t.id)})})]})]},t.id)}),b.length>0&&(0,G.jsx)(`div`,{className:`plan-float-tray`,role:`toolbar`,"aria-label":`Minimized comment drafts`,children:b.map(e=>(0,G.jsxs)(`div`,{className:`plan-float-tray-chip-wrap`,children:[(0,G.jsxs)(`button`,{type:`button`,className:`plan-float-tray-chip`,title:e.selectedQuote,onClick:()=>f(e.id,{minimized:!1}),children:[(0,G.jsx)(MO,{size:12,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{className:`plan-float-tray-line`,children:[`L`,e.startLineNumber&&e.startLineNumber!==e.lineNumber?`${e.startLineNumber}–${e.lineNumber}`:e.lineNumber]}),(0,G.jsxs)(`span`,{className:`plan-float-tray-quote`,children:[e.selectedQuote.slice(0,28),e.selectedQuote.length>28?`…`:``]}),(0,G.jsx)(kO,{size:12,"aria-hidden":`true`})]}),(0,G.jsx)(`button`,{type:`button`,className:`plan-float-tray-close`,"aria-label":`Close draft`,title:`Close`,onClick:()=>g(e.id),children:(0,G.jsx)(ck,{size:12})})]},e.id))}),(0,G.jsx)(w4,{open:!!u,title:`Discard comment draft?`,description:`Unsaved text in this floating comment will be lost.`,detail:u?.quote?`“${u.quote.slice(0,120)}${u.quote.length>120?`…`:``}”`:void 0,confirmLabel:`Discard`,cancelLabel:`Keep editing`,variant:`danger`,onConfirm:_,onCancel:()=>d(null)})]}),document.body)}function P4(e,t){if(!e||t<=0)return 1;let n=Math.min(t,e.length),r=1;for(let t=0;t<n;t++)e.charCodeAt(t)===10&&r++;return r}function F4(e,t){if(!e.length||t<1)return null;for(let n of e)if(t>=n.startLine&&t<=n.endLine)return n;let n=null,r=1/0;for(let i of e){let e=t<i.startLine?i.startLine-t:t>i.endLine?t-i.endLine:0;e<r&&(r=e,n=i)}return n}function I4(e,t){let n=e.endLine-e.startLine;if(n<=0)return 0;let r=(t-e.startLine)/n;return Math.max(0,Math.min(1,r))}function L4(e){if(!e||typeof window>`u`)return null;let t=e.parentElement;for(;t&&t!==document.body&&t!==document.documentElement;){let e=window.getComputedStyle(t).overflowY,n=e===`auto`||e===`scroll`||e===`overlay`;if(n&&t.scrollHeight>t.clientHeight+1||n&&(t.classList.contains(`plan-rendered-layout`)||t.classList.contains(`plan-file`)||t.hasAttribute(`data-plan-scroll-pane`)))return t;t=t.parentElement}return null}function R4(e,t,n,r){let i=e.getBoundingClientRect(),a=t.getBoundingClientRect(),o=Math.max(0,Math.min(1,n)),s=a.top-i.top+e.scrollTop+a.height*o;return Math.max(0,s-r)}function z4(e,t,n,r=48){let i=e.getBoundingClientRect(),a=t.getBoundingClientRect(),o=Math.max(0,Math.min(1,n)),s=a.top+a.height*o;return s>=i.top+r&&s<=i.bottom-r}function B4(e){if(!e)return[];let t=e.querySelectorAll(`[data-plan-source-start]`),n=[];for(let e of t){let t=Number(e.getAttribute(`data-plan-source-start`)),r=Number(e.getAttribute(`data-plan-source-end`)??t);!Number.isFinite(t)||t<1||n.push({startLine:t,endLine:Number.isFinite(r)&&r>=t?r:t,element:e})}return n.sort((e,t)=>e.startLine-t.startLine),n}function V4(e,t,n={}){let{scrollContainer:r=null,onlyIfOutOfView:i=!0,behavior:a=`auto`}=n,o=B4(e);if(!o.length)return!1;let s=F4(o.map(({startLine:e,endLine:t})=>({startLine:e,endLine:t})),t);if(!s)return!1;let c=o.find(e=>e.startLine===s.startLine&&e.endLine===s.endLine);if(!c)return!1;let l=r??L4(c.element)??c.element.closest(`.plan-rendered-layout`);if(!l||l===document.documentElement||l===document.body)return!1;let u=I4(s,t);if(i&&z4(l,c.element,u))return!1;let d=n.anchorY??Math.max(32,Math.round(l.clientHeight*.22)),f=R4(l,c.element,u,d),p=Math.max(0,l.scrollHeight-l.clientHeight),m=Math.max(0,Math.min(p,f));return Math.abs(l.scrollTop-m)<1?!1:(a===`smooth`&&typeof l.scrollTo==`function`?l.scrollTo({top:m,behavior:`smooth`}):l.scrollTop=m,!0)}function H4({value:e,onChange:t,onActiveLineChange:n,fontSize:r,monoFontFamily:i,defaultTabSize:a,lineWrap:o,showLineNumbers:s,ariaLabel:c=`Plan source editor`,className:l}){let u=(0,W.useRef)(null),d=(0,W.useRef)(null),f=(0,W.useRef)(1),p=(0,W.useMemo)(()=>e?e.replace(/\r\n/g,`
3898
3898
  `).split(`
3899
- `).length:1,[e]),m=(0,W.useMemo)(()=>{let e=Math.max(1,p),t=``;for(let n=1;n<=e;n++)t+=n===e?String(n):`${n}\n`;return t},[p]),h=(0,W.useCallback)(()=>{let e=u.current;if(!e||!n)return;let t=P4(e.value,e.selectionStart??0);t!==f.current&&(f.current=t,n(t))},[n]),g=(0,W.useCallback)(()=>{let e=u.current,t=d.current;!e||!t||(t.scrollTop=e.scrollTop)},[]);(0,W.useEffect)(()=>{h()},[e,h]);let _=e=>{t(e.target.value),requestAnimationFrame(h)},v=n=>{if(n.key!==`Tab`||n.metaKey||n.ctrlKey||n.altKey)return;n.preventDefault();let r=n.currentTarget,i=r.selectionStart,a=r.selectionEnd;t(e.slice(0,i)+` `+e.slice(a)),requestAnimationFrame(()=>{if(!u.current)return;let e=i+1;u.current.selectionStart=e,u.current.selectionEnd=e,h()})},y=Math.round(r*1.7),b=Math.max(2.5,String(p).length+1.25);return(0,G.jsxs)(`div`,{className:[`plan-source-editor`,l].filter(Boolean).join(` `),style:{"--plan-editor-font-size":`${r}px`,"--plan-editor-font-family":i,"--plan-editor-line-height":`${y}px`,"--plan-editor-tab-size":String(a),"--plan-editor-gutter-ch":`${b}ch`},children:[s&&(0,G.jsx)(`div`,{ref:d,className:`plan-source-editor-gutter`,"aria-hidden":`true`,children:(0,G.jsx)(`pre`,{className:`plan-source-editor-gutter-text`,children:m})}),(0,G.jsx)(`textarea`,{ref:u,className:`plan-source-editor-textarea ${o?`is-wrap`:`is-scroll`}`,value:e,onChange:_,onKeyDown:v,onKeyUp:h,onClick:h,onSelect:h,onScroll:g,spellCheck:!1,autoCapitalize:`off`,autoCorrect:`off`,"aria-label":c,wrap:o?`soft`:`off`})]})}function U4({open:e,canDiscardRecent:t,canRollbackOriginal:n,onChoose:r,onCancel:i,busy:a=!1}){let o=t&&n,s=t&&!n,c=n&&!t;return(0,G.jsxs)(LW,{open:e,onClose:i,className:`confirm-dialog plan-discard-dialog`,ariaLabel:`Discard plan edits`,children:[(0,G.jsxs)(`div`,{className:`confirm-dialog-header`,children:[(0,G.jsx)(`span`,{className:`confirm-dialog-icon confirm-dialog-icon-danger`,"aria-hidden":`true`,children:(0,G.jsx)(ik,{size:18})}),(0,G.jsx)(`h2`,{className:`confirm-dialog-title`,children:o?`Discard which edits?`:c?`Roll back to original?`:`Discard edits?`})]}),o?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`p`,{className:`confirm-dialog-desc`,children:`You have edits from this session, and earlier changes already saved on this version. Choose how far to roll back. This cannot be undone.`}),(0,G.jsxs)(`div`,{className:`plan-discard-choices`,role:`group`,"aria-label":`Discard options`,children:[(0,G.jsxs)(`button`,{type:`button`,className:`plan-discard-choice`,disabled:a,onClick:()=>r(`recent`),autoFocus:!0,children:[(0,G.jsx)(`span`,{className:`plan-discard-choice-icon`,"aria-hidden":`true`,children:(0,G.jsx)(YO,{size:16})}),(0,G.jsxs)(`span`,{className:`plan-discard-choice-text`,children:[(0,G.jsx)(`span`,{className:`plan-discard-choice-title`,children:`Discard recent edits`}),(0,G.jsx)(`span`,{className:`plan-discard-choice-desc`,children:`Restore to when you started this edit session. Keeps earlier saved edits.`})]})]}),(0,G.jsxs)(`button`,{type:`button`,className:`plan-discard-choice plan-discard-choice-danger`,disabled:a,onClick:()=>r(`original`),children:[(0,G.jsx)(`span`,{className:`plan-discard-choice-icon`,"aria-hidden":`true`,children:(0,G.jsx)(xO,{size:16})}),(0,G.jsxs)(`span`,{className:`plan-discard-choice-text`,children:[(0,G.jsx)(`span`,{className:`plan-discard-choice-title`,children:`Roll back to original`}),(0,G.jsx)(`span`,{className:`plan-discard-choice-desc`,children:`Restore the plan to before you started editing this version at all.`})]})]})]})]}):c?(0,G.jsx)(`p`,{className:`confirm-dialog-desc`,children:`Earlier edits from a previous session were saved into this version. Roll back to the plan as it was before you started editing? This cannot be undone.`}):(0,G.jsx)(`p`,{className:`confirm-dialog-desc`,children:`Restore the plan body and title to when you started this edit session. This undoes unsaved changes and any autosaves from this session. This cannot be undone.`}),(0,G.jsxs)(`div`,{className:`confirm-dialog-footer plan-discard-footer`,children:[(0,G.jsxs)(`button`,{type:`button`,className:`btn btn-sm confirm-dialog-cancel`,onClick:i,disabled:a,children:[(0,G.jsx)(ck,{size:13,"aria-hidden":`true`}),`Keep editing`]}),!o&&(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm confirm-dialog-confirm confirm-dialog-confirm-danger`,onClick:()=>r(c?`original`:`recent`),disabled:a||!s&&!c,autoFocus:!0,children:c?`Roll back to original`:`Discard all edits`})]})]})}var W4=700;function G4(e){return uG({side:`additions`,lineNumber:e.lineNumber,startLineNumber:e.startLineNumber})}function K4(e){let t=uG(e);return t.startLineNumber!=null&&t.startLineNumber!==t.lineNumber?{lineNumber:t.lineNumber,startLineNumber:t.startLineNumber}:{lineNumber:t.lineNumber}}var q4={pending:{label:`Pending review`,className:`plan-badge-pending`,icon:rO},approved:{label:`Approved`,className:`plan-badge-approved`,icon:UD},"changes-requested":{label:`Changes requested`,className:`plan-badge-changes`,icon:NO},rejected:{label:`Rejected`,className:`plan-badge-rejected`,icon:ck},"comment-only":{label:`Comment only`,className:`plan-badge-comment-only`,icon:PO}};function J4({plan:e,theme:t,fontSize:n,monoFontFamily:r,defaultTabSize:i,lineWrap:a,showLineNumbers:o,lineHoverHighlight:s,viewMode:c,onViewModeChange:l,editorIDE:u,tocOpen:d,onTocOpenChange:f,commentsRailOpen:p,onCommentsRailOpenChange:m,zenMode:h,onZenModeChange:g}){let{addPlanComment:_,editPlanComment:v,resolvePlanComment:y,unresolvePlanComment:b,removePlanComment:x,addPlanReply:S,editPlanReply:C,removePlanReply:w,updatePlan:T,submitPlanVersion:E,submittingPlanVersion:D}=wE(),[O,k]=(0,W.useState)(null),A=(0,W.useRef)(null),[j,M]=(0,W.useState)([]),[N,P]=(0,W.useState)(null),[F,I]=(0,W.useState)(0),[L,R]=(0,W.useState)(null),[z,ee]=(0,W.useState)(null),[te,ne]=(0,W.useState)(()=>x4(b4.tocOpen,!0)),[B,V]=(0,W.useState)(()=>x4(b4.commentsRail,!0)),re=d??te,ie=p??B,ae=(0,W.useCallback)(e=>{let t=typeof e==`function`?e(re):e;f?f(t):(ne(t),DD(b4.tocOpen,String(t)))},[re,f]),oe=(0,W.useCallback)(e=>{let t=typeof e==`function`?e(ie):e;m?m(t):(V(t),DD(b4.commentsRail,String(t)))},[ie,m]),[se,ce]=(0,W.useState)(!1),[H,le]=(0,W.useState)(!1),[ue,U]=(0,W.useState)(e.body),[de,fe]=(0,W.useState)(e.title),[pe,me]=(0,W.useState)(`idle`),[he,ge]=(0,W.useState)(null),[_e,ve]=(0,W.useState)(null),[ye,be]=(0,W.useState)(!1),[xe,Se]=(0,W.useState)(!1),[Ce,we]=(0,W.useState)(!1),[Te,Ee]=(0,W.useState)(!1),[De,Oe]=(0,W.useState)(1),ke=(0,W.useRef)(null),Ae=(0,W.useRef)({body:e.body,title:e.title,version:e.version}),[je,Me]=(0,W.useState)({body:e.body,title:e.title}),[Ne,Pe]=(0,W.useState)(null),Fe=(0,W.useRef)(async()=>{}),[Ie,Le]=(0,W.useState)(null),Re=(0,W.useRef)(null),ze=(0,W.useRef)(null),Be=(0,W.useRef)(null),Ve=(0,W.useRef)(50),[He,Ue]=(0,W.useState)(()=>S4(50)),[We,Ge]=(0,W.useState)(!1),[Ke,qe]=(0,W.useState)(()=>x4(b4.zenMode,!1)),Je=h??Ke;Ve.current=He;let Ye=c===`source`||c===`split`,Xe=c===`rendered`||c===`split`,Ze=Ye&&Xe,Qe=c===`rendered`,$e=Qe&&Je,et=(0,W.useCallback)(e=>{let t=typeof e==`function`?e(Je):e;g?g(t):(qe(t),DD(b4.zenMode,String(t)))},[Je,g]),tt=e.versions??[],[nt,rt]=(0,W.useState)(e.version),[it,at]=(0,W.useState)(e.body),[ot,st]=(0,W.useState)(e.title),ct=(0,W.useRef)(`${e.id}:${e.version}`);(0,W.useEffect)(()=>{let t=`${e.id}:${e.version}`;ct.current!==t&&(ct.current=t,Pe(null),Ee(!1))},[e.id,e.version]);let lt=(0,W.useRef)(e.version);(0,W.useEffect)(()=>{if(e.version===lt.current)return;let t=lt.current;lt.current=e.version;let n=nt===t,r=H&&(ue!==Ae.current.body||de!==Ae.current.title);if(H&&r){ve(e.version);return}H&&!r&&(U(e.body),fe(e.title),Ae.current={body:e.body,title:e.title,version:e.version},Me({body:e.body,title:e.title}),Pe(null),me(`idle`),ve(null)),n&&rt(e.version)},[e.version,e.body,e.title,nt,H,ue,de]),(0,W.useEffect)(()=>{let t=!1;if(H&&nt===e.version)return;if(nt===e.version){at(e.body),st(e.title);return}let n=tt.find(e=>e.version===nt);if(n){at(n.body),st(n.title);return}return fetch(`/api/plans/${e.id}/versions/${nt}`).then(e=>e.ok?e.json():null).then(e=>{t||!e?.version||(at(e.version.body),st(e.version.title))}).catch(()=>{}),()=>{t=!0}},[nt,e.version,e.body,e.title,e.id,tt,H]),(0,W.useEffect)(()=>{P(null),I(0),k(null),M([])},[nt]);let ut=nt!==e.version,dt=!ut,ft=H&&dt?ue:it,pt=H&&dt?de:ot,mt=H&&(ue!==Ae.current.body||de!==Ae.current.title),ht=H&&(ue!==je.body||de!==je.title||e.body!==je.body||e.title!==je.title),gt=H&&!!Ne&&(ue!==Ne.body||de!==Ne.title||e.body!==Ne.body||e.title!==Ne.title),_t=!!Ne&&(Ne.body!==je.body||Ne.title!==je.title),vt=_t&&ht&&gt,yt=ht||gt,bt=(0,W.useMemo)(()=>tt.map(t=>({value:String(t.version),label:t.version===e.version?`v${t.version} (current)`:`v${t.version}`})),[tt,e.version]),xt=e=>{let t=e.target.closest(`a`);if(t){let n=t.getAttribute(`href`);n&&n.startsWith(`file:///`)&&(e.preventDefault(),R(n.replace(`file://`,``)))}},St=nE[t]||nE.nord,Ct=(0,W.useMemo)(()=>Y4(i,n,r),[i,n,r]),wt=e.comments??[],Tt=ut?wt.filter(e=>e.createdAtPlanVersion===nt):wt,Et=Tt.filter(e=>e.lineNumber>0),Dt=Tt.filter(e=>e.lineNumber===0),Ot=Tt.filter(e=>e.status===`open`).length,kt=wt.length,At=(e,t)=>t4(ft,e??t,t),jt=(0,W.useCallback)(e=>{let t=K4(G4(e));A.current||=crypto.randomUUID(),k(t),P(hG(G4(t))),I(0)},[]),Mt=(0,W.useCallback)(()=>{k(null),P(null),I(0),A.current=null},[]),Nt=(0,W.useMemo)(()=>{let e=ft.replace(/\r\n/g,`
3899
+ `).length:1,[e]),m=(0,W.useMemo)(()=>{let e=Math.max(1,p),t=``;for(let n=1;n<=e;n++)t+=n===e?String(n):`${n}\n`;return t},[p]),h=(0,W.useCallback)(()=>{let e=u.current;if(!e||!n)return;let t=P4(e.value,e.selectionStart??0);t!==f.current&&(f.current=t,n(t))},[n]),g=(0,W.useCallback)(()=>{let e=u.current,t=d.current;!e||!t||(t.scrollTop=e.scrollTop)},[]);(0,W.useEffect)(()=>{h()},[e,h]);let _=e=>{t(e.target.value),requestAnimationFrame(h)},v=n=>{if(n.key!==`Tab`||n.metaKey||n.ctrlKey||n.altKey)return;n.preventDefault();let r=n.currentTarget,i=r.selectionStart,a=r.selectionEnd;t(e.slice(0,i)+` `+e.slice(a)),requestAnimationFrame(()=>{if(!u.current)return;let e=i+1;u.current.selectionStart=e,u.current.selectionEnd=e,h()})},y=Math.round(r*1.7),b=Math.max(2.5,String(p).length+1.25);return(0,G.jsxs)(`div`,{className:[`plan-source-editor`,l].filter(Boolean).join(` `),style:{"--plan-editor-font-size":`${r}px`,"--plan-editor-font-family":i,"--plan-editor-line-height":`${y}px`,"--plan-editor-tab-size":String(a),"--plan-editor-gutter-ch":`${b}ch`},children:[s&&(0,G.jsx)(`div`,{ref:d,className:`plan-source-editor-gutter`,"aria-hidden":`true`,children:(0,G.jsx)(`pre`,{className:`plan-source-editor-gutter-text`,children:m})}),(0,G.jsx)(`textarea`,{ref:u,className:`plan-source-editor-textarea ${o?`is-wrap`:`is-scroll`}`,value:e,onChange:_,onKeyDown:v,onKeyUp:h,onClick:h,onSelect:h,onScroll:g,spellCheck:!1,autoCapitalize:`off`,autoCorrect:`off`,"aria-label":c,wrap:o?`soft`:`off`})]})}function U4({open:e,canDiscardRecent:t,canRollbackOriginal:n,onChoose:r,onCancel:i,busy:a=!1}){let o=t&&n,s=t&&!n,c=n&&!t;return(0,G.jsxs)(LW,{open:e,onClose:i,className:`confirm-dialog plan-discard-dialog`,ariaLabel:`Discard plan edits`,children:[(0,G.jsxs)(`div`,{className:`confirm-dialog-header`,children:[(0,G.jsx)(`span`,{className:`confirm-dialog-icon confirm-dialog-icon-danger`,"aria-hidden":`true`,children:(0,G.jsx)(ik,{size:18})}),(0,G.jsx)(`h2`,{className:`confirm-dialog-title`,children:o?`Discard which edits?`:c?`Roll back to original?`:`Discard edits?`})]}),o?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`p`,{className:`confirm-dialog-desc`,children:`You have edits from this session, and earlier changes already saved on this version. Choose how far to roll back. This cannot be undone.`}),(0,G.jsxs)(`div`,{className:`plan-discard-choices`,role:`group`,"aria-label":`Discard options`,children:[(0,G.jsxs)(`button`,{type:`button`,className:`plan-discard-choice`,disabled:a,onClick:()=>r(`recent`),autoFocus:!0,children:[(0,G.jsx)(`span`,{className:`plan-discard-choice-icon`,"aria-hidden":`true`,children:(0,G.jsx)(YO,{size:16})}),(0,G.jsxs)(`span`,{className:`plan-discard-choice-text`,children:[(0,G.jsx)(`span`,{className:`plan-discard-choice-title`,children:`Discard recent edits`}),(0,G.jsx)(`span`,{className:`plan-discard-choice-desc`,children:`Restore to when you started this edit session. Keeps earlier saved edits.`})]})]}),(0,G.jsxs)(`button`,{type:`button`,className:`plan-discard-choice plan-discard-choice-danger`,disabled:a,onClick:()=>r(`original`),children:[(0,G.jsx)(`span`,{className:`plan-discard-choice-icon`,"aria-hidden":`true`,children:(0,G.jsx)(xO,{size:16})}),(0,G.jsxs)(`span`,{className:`plan-discard-choice-text`,children:[(0,G.jsx)(`span`,{className:`plan-discard-choice-title`,children:`Roll back to original`}),(0,G.jsx)(`span`,{className:`plan-discard-choice-desc`,children:`Restore the plan to before you started editing this version at all.`})]})]})]})]}):c?(0,G.jsx)(`p`,{className:`confirm-dialog-desc`,children:`Earlier edits from a previous session were saved into this version. Roll back to the plan as it was before you started editing? This cannot be undone.`}):(0,G.jsx)(`p`,{className:`confirm-dialog-desc`,children:`Restore the plan body and title to when you started this edit session. This undoes unsaved changes and any autosaves from this session. This cannot be undone.`}),(0,G.jsxs)(`div`,{className:`confirm-dialog-footer plan-discard-footer`,children:[(0,G.jsxs)(`button`,{type:`button`,className:`btn btn-sm confirm-dialog-cancel`,onClick:i,disabled:a,children:[(0,G.jsx)(ck,{size:13,"aria-hidden":`true`}),`Keep editing`]}),!o&&(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm confirm-dialog-confirm confirm-dialog-confirm-danger`,onClick:()=>r(c?`original`:`recent`),disabled:a||!s&&!c,autoFocus:!0,children:c?`Roll back to original`:`Discard all edits`})]})]})}var W4=700;function G4(e){return uG({side:`additions`,lineNumber:e.lineNumber,startLineNumber:e.startLineNumber})}function K4(e){let t=uG(e);return t.startLineNumber!=null&&t.startLineNumber!==t.lineNumber?{lineNumber:t.lineNumber,startLineNumber:t.startLineNumber}:{lineNumber:t.lineNumber}}var q4={pending:{label:`Pending review`,className:`plan-badge-pending`,icon:rO},approved:{label:`Approved`,className:`plan-badge-approved`,icon:UD},"changes-requested":{label:`Changes requested`,className:`plan-badge-changes`,icon:NO},rejected:{label:`Rejected`,className:`plan-badge-rejected`,icon:ck},"comment-only":{label:`Comment only`,className:`plan-badge-comment-only`,icon:PO}};function J4({plan:e,theme:t,fontSize:n,monoFontFamily:r,defaultTabSize:i,lineWrap:a,showLineNumbers:o,lineHoverHighlight:s,viewMode:c,onViewModeChange:l,editorIDE:u,tocOpen:d,onTocOpenChange:f,commentsRailOpen:p,onCommentsRailOpenChange:m,zenMode:h,onZenModeChange:g}){let{addPlanComment:_,editPlanComment:v,resolvePlanComment:y,unresolvePlanComment:b,removePlanComment:x,addPlanReply:S,editPlanReply:C,removePlanReply:w,updatePlan:T,submitPlanVersion:E,submittingPlanVersion:D}=wE(),[O,k]=(0,W.useState)(null),A=(0,W.useRef)(null),[j,M]=(0,W.useState)([]),[N,P]=(0,W.useState)(null),[F,I]=(0,W.useState)(0),[L,R]=(0,W.useState)(null),[z,ee]=(0,W.useState)(null),[te,ne]=(0,W.useState)(()=>x4(b4.tocOpen,!0)),[B,V]=(0,W.useState)(()=>x4(b4.commentsRail,!0)),re=d??te,ie=p??B,ae=(0,W.useCallback)(e=>{let t=typeof e==`function`?e(re):e;f?f(t):(ne(t),DD(b4.tocOpen,String(t)))},[re,f]),oe=(0,W.useCallback)(e=>{let t=typeof e==`function`?e(ie):e;m?m(t):(V(t),DD(b4.commentsRail,String(t)))},[ie,m]),[se,ce]=(0,W.useState)(!1),[H,le]=(0,W.useState)(!1),[ue,U]=(0,W.useState)(e.body),[de,fe]=(0,W.useState)(e.title),[pe,me]=(0,W.useState)(`idle`),[he,ge]=(0,W.useState)(null),[_e,ve]=(0,W.useState)(null),[ye,be]=(0,W.useState)(!1),[xe,Se]=(0,W.useState)(!1),[Ce,we]=(0,W.useState)(!1),[Te,Ee]=(0,W.useState)(!1),[De,Oe]=(0,W.useState)(1),ke=(0,W.useRef)(null),Ae=(0,W.useRef)({body:e.body,title:e.title,version:e.version}),[je,Me]=(0,W.useState)({body:e.body,title:e.title}),[Ne,Pe]=(0,W.useState)(null),Fe=(0,W.useRef)(async()=>{}),[Ie,Le]=(0,W.useState)(null),Re=(0,W.useRef)(null),ze=(0,W.useRef)(null),Be=(0,W.useRef)(null),Ve=(0,W.useRef)(50),[He,Ue]=(0,W.useState)(()=>S4(50)),[We,Ge]=(0,W.useState)(!1),[Ke,qe]=(0,W.useState)(()=>x4(b4.zenMode,!1)),Je=h??Ke;Ve.current=He;let Ye=c===`source`||c===`split`,Xe=c===`rendered`||c===`split`,Ze=Ye&&Xe,Qe=c===`rendered`,$e=Qe&&Je,et=(0,W.useCallback)(e=>{let t=typeof e==`function`?e(Je):e;g?g(t):(qe(t),DD(b4.zenMode,String(t)))},[Je,g]),tt=e.versions??[],[nt,rt]=(0,W.useState)(e.version),[it,at]=(0,W.useState)(e.body),[ot,st]=(0,W.useState)(e.title),ct=(0,W.useRef)(`${e.id}:${e.version}`);(0,W.useEffect)(()=>{let t=`${e.id}:${e.version}`;ct.current!==t&&(ct.current=t,Pe(null),Ee(!1))},[e.id,e.version]);let lt=(0,W.useRef)(e.version);(0,W.useEffect)(()=>{if(e.version===lt.current)return;let t=lt.current;lt.current=e.version;let n=nt===t,r=H&&(ue!==Ae.current.body||de!==Ae.current.title);if(H&&r){ve(e.version);return}H&&!r&&(U(e.body),fe(e.title),Ae.current={body:e.body,title:e.title,version:e.version},Me({body:e.body,title:e.title}),Pe(null),me(`idle`),ve(null)),n&&rt(e.version)},[e.version,e.body,e.title,nt,H,ue,de]),(0,W.useEffect)(()=>{let t=!1;if(H&&nt===e.version)return;if(nt===e.version){at(e.body),st(e.title);return}let n=tt.find(e=>e.version===nt);if(n){at(n.body),st(n.title);return}return fetch(`/api/plans/${e.id}/versions/${nt}`).then(e=>e.ok?e.json():null).then(e=>{t||!e?.version||(at(e.version.body),st(e.version.title))}).catch(()=>{}),()=>{t=!0}},[nt,e.version,e.body,e.title,e.id,tt,H]),(0,W.useEffect)(()=>{P(null),I(0),k(null),M([])},[nt]);let ut=nt!==e.version,dt=!ut,ft=H&&dt?ue:it,pt=H&&dt?de:ot,mt=H&&(ue!==Ae.current.body||de!==Ae.current.title),ht=H&&(ue!==je.body||de!==je.title||e.body!==je.body||e.title!==je.title),gt=H&&!!Ne&&(ue!==Ne.body||de!==Ne.title||e.body!==Ne.body||e.title!==Ne.title),_t=!!Ne&&(Ne.body!==je.body||Ne.title!==je.title),vt=_t&&ht&&gt,yt=ht||gt,bt=(0,W.useMemo)(()=>tt.map(t=>({value:String(t.version),label:t.version===e.version?`v${t.version} (current)`:`v${t.version}`})),[tt,e.version]),xt=e=>{let t=e.target.closest(`a`);if(t){let n=t.getAttribute(`href`);n&&n.startsWith(`file:///`)&&(e.preventDefault(),R(n.replace(`file://`,``)))}},St=nE[t]||nE[`rose-pine`],Ct=(0,W.useMemo)(()=>Y4(i,n,r),[i,n,r]),wt=e.comments??[],Tt=ut?wt.filter(e=>e.createdAtPlanVersion===nt):wt,Et=Tt.filter(e=>e.lineNumber>0),Dt=Tt.filter(e=>e.lineNumber===0),Ot=Tt.filter(e=>e.status===`open`).length,kt=wt.length,At=(e,t)=>t4(ft,e??t,t),jt=(0,W.useCallback)(e=>{let t=K4(G4(e));A.current||=crypto.randomUUID(),k(t),P(hG(G4(t))),I(0)},[]),Mt=(0,W.useCallback)(()=>{k(null),P(null),I(0),A.current=null},[]),Nt=(0,W.useMemo)(()=>{let e=ft.replace(/\r\n/g,`
3900
3900
  `).split(`
3901
3901
  `).length;return{min:1,max:Math.max(1,e)}},[ft]),K=(t,n,r)=>{let i=t.startLineNumber??t.lineNumber,a=At(t.startLineNumber,t.lineNumber);_({planId:e.id,lineNumber:t.lineNumber,startLineNumber:t.startLineNumber,lineContent:a,sectionTitle:e4(ft,i),body:n,severity:r&&r!==`none`?r:void 0,createdAtPlanVersion:nt}),Mt()},Pt=(0,W.useCallback)((e,t)=>{let n=t4(ft,e,t),r=ft.replace(/\r\n/g,`
3902
3902
  `).split(`
3903
3903
  `),i=Math.max(1,e-1),a=Math.min(r.length,t+1);if(i===e&&a===t)return n;let o=[];for(let n=i;n<=a;n++){let i=n>=e&&n<=t?`▶`:` `;o.push(`${i} L${n}| ${r[n-1]??``}`)}return o.join(`
3904
3904
  `)},[ft]),Ft=(0,W.useCallback)((t,n,r)=>{let i=t.startLineNumber??t.lineNumber;_({planId:e.id,lineNumber:t.lineNumber,startLineNumber:t.startLineNumber,lineContent:t.sourceContext||t.exactLines,selectedQuote:t.selectedQuote.trim()||void 0,sectionTitle:t.sectionTitle??e4(ft,i),body:n,severity:r&&r!==`none`?r:void 0,createdAtPlanVersion:nt})},[_,e.id,ft,nt]),It=(0,W.useMemo)(()=>{let e=Et.map(e=>({lineNumber:e.lineNumber,metadata:e}));return O&&e.push({lineNumber:O.lineNumber,metadata:{_pending:!0}}),e},[Et,O]),Lt=t=>{let n=t.metadata;if(!n)return null;if(`_pending`in n){let t=O,n=G4(t),r=mG(n),i=A.current??`open`;return(0,G.jsx)(ZW,{draftKey:`plan-new:${e.id}:${i}`,lineContent:At(t.startLineNumber,t.lineNumber),lineLabel:pG(n),showSeverity:!0,range:{start:r.start,end:r.end,sideLabel:`source`,canAdjustStart:e=>vG(n,e,Nt),canAdjustEnd:e=>yG(n,e,Nt)},onAdjustStart:e=>{let t=K4(gG(n,e,Nt));k(t),P(hG(G4(t)))},onAdjustEnd:e=>{let t=K4(_G(n,e,Nt));k(t),P(hG(G4(t)))},onSubmit:(e,n)=>K(t,e,n),onCancel:Mt})}let r=n;return(0,G.jsx)(`div`,{id:`plan-comment-${r.id}`,children:(0,G.jsx)(r4,{comment:r,onResolve:()=>y(e.id,r.id),onUnresolve:()=>b(e.id,r.id),onDelete:()=>x(e.id,r.id),onEdit:t=>v(e.id,r.id,t),onReply:t=>S(e.id,r.id,t),onEditReply:(t,n)=>C(e.id,r.id,t,n),onDeleteReply:t=>w(e.id,r.id,t)})})},Rt=q4[e.decision],zt=Rt.icon,Bt=(0,W.useMemo)(()=>e.sourcePath?e.sourcePath:e.source&&(e.source.startsWith(`/`)||/^[A-Za-z]:[\\/]/.test(e.source))?e.source:null,[e.sourcePath,e.source]),Vt=(0,W.useMemo)(()=>{if(!Bt)return null;let e=Bt.replace(/\\/g,`/`).split(`/`);return e.length<=3?Bt:`…/${e.slice(-3).join(`/`)}`},[Bt]),Ht=(0,W.useMemo)(()=>u4(ft),[ft]),Ut=(0,W.useMemo)(()=>{let e=ft.trim();return e?e.split(/\s+/).length:0},[ft]),Wt=(0,W.useMemo)(()=>ft?ft.replace(/\r\n/g,`
3905
3905
  `).split(`
3906
- `).length:0,[ft]),Gt=(0,W.useCallback)(()=>{if(nt!==e.version)return;let t={body:e.body,title:e.title};U(t.body),fe(t.title),Ae.current={body:t.body,title:t.title,version:e.version},Me(t),Pe(e=>e??t),me(`idle`),ge(null),ve(null),Se(!1),Ee(!1),le(!0),k(null),P(null),M([]),Le(null),Je&&et(!1),c!==`split`&&l?.(`split`)},[nt,e.version,e.body,e.title,Je,et,c,l]),Kt=(0,W.useCallback)(async()=>{let t=ue!==je.body||de!==je.title||e.body!==je.body||e.title!==je.title;ke.current&&=(clearTimeout(ke.current),null),await Fe.current(),at(ue),st(de.trim()||`Untitled plan`),le(!1),me(`idle`),ge(null),ve(null),Se(!1),t&&Ee(!0)},[ue,de,je,e.body,e.title]),qt=(0,W.useCallback)(()=>{U(e.body),fe(e.title),Ae.current={body:e.body,title:e.title,version:e.version},Me({body:e.body,title:e.title}),Pe(null),ve(null),me(`idle`),ge(null),rt(e.version)},[e.body,e.title,e.version]),Jt=(0,W.useCallback)(async t=>{if(H){ke.current&&=(clearTimeout(ke.current),null),we(!0),ge(null);try{if(U(t.body),fe(t.title),e.body!==t.body||e.title!==t.title){me(`saving`);let n=await T(e.id,{body:t.body,title:t.title});Ae.current={body:n.body,title:n.title,version:n.version},at(n.body),st(n.title),Me({body:n.body,title:n.title})}else Ae.current={body:t.body,title:t.title,version:e.version},at(t.body),st(t.title),Me({body:t.body,title:t.title});me(`idle`),Se(!1),Ee(!1)}catch(e){me(`error`),ge(e instanceof Error?e.message:`Failed to discard edits`)}finally{we(!1)}}},[H,e.body,e.title,e.id,e.version,T]),Yt=(0,W.useCallback)(async e=>{if(e===`recent`){await Jt(je);return}Ne&&await Jt(Ne)},[Jt,je,Ne]),Xt=(0,W.useCallback)(()=>{!H||!yt||Ce||pe===`saving`||Se(!0)},[H,yt,Ce,pe]),Zt=(0,W.useCallback)(async()=>{if(!H)return;let t=ue,n=de.trim()||`Untitled plan`;if(!t.trim()){me(`error`),ge(`Plan body cannot be empty`);return}if(t===Ae.current.body&&n===Ae.current.title){me(e=>e===`dirty`?`saved`:e);return}me(`saving`),ge(null);try{let r=await T(e.id,{body:t,title:n});Ae.current={body:r.body,title:r.title,version:r.version},at(r.body),st(r.title),me(`saved`)}catch(e){me(`error`),ge(e instanceof Error?e.message:`Save failed`)}},[H,ue,de,T,e.id]);Fe.current=Zt,(0,W.useEffect)(()=>{if(!H)return;let e=de.trim()||`Untitled plan`;if(ue!==Ae.current.body||e!==Ae.current.title){if(!ue.trim()){me(`error`),ge(`Plan body cannot be empty`);return}return me(`dirty`),ge(null),ke.current&&clearTimeout(ke.current),ke.current=setTimeout(()=>{ke.current=null,Zt()},W4),()=>{ke.current&&=(clearTimeout(ke.current),null)}}},[H,ue,de,Zt]),(0,W.useEffect)(()=>{if(!H||!mt)return;let e=e=>{e.preventDefault(),e.returnValue=``};return window.addEventListener(`beforeunload`,e),()=>window.removeEventListener(`beforeunload`,e)},[H,mt]);let Qt=(0,W.useCallback)(async()=>{let t=ue,n=de.trim()||`Untitled plan`;if(!t.trim()){me(`error`),ge(`Plan body cannot be empty`),be(!1);return}be(!1),me(`saving`),ge(null);try{let r=await E(e.id,{title:n,body:t,source:e.source,model:e.model}),i={body:r.body,title:r.title};Ae.current={body:i.body,title:i.title,version:r.version},Me(i),Pe(i),ct.current=`${e.id}:${r.version}`,U(i.body),fe(i.title),at(i.body),st(i.title),rt(r.version),ve(null),Ee(!1),me(`saved`)}catch(e){me(`error`),ge(e instanceof Error?e.message:`Save as new version failed`)}},[ue,de,E,e.id,e.source,e.model]);(0,W.useEffect)(()=>{if(!H||c!==`split`)return;let e=0;return e=requestAnimationFrame(()=>{e=0;let t=Re.current;t&&V4(t,De,{scrollContainer:t.closest(`.plan-rendered-layout`)??t.parentElement,onlyIfOutOfView:!0,behavior:`auto`})}),()=>{e&&cancelAnimationFrame(e)}},[H,c,De]),(0,W.useEffect)(()=>{let e=e=>{let t=e.target,n=t?.tagName?.toLowerCase(),r=n===`input`||n===`textarea`||n===`select`||!!t?.isContentEditable;if((e.metaKey||e.ctrlKey)&&(e.key===`s`||e.key===`S`)){if(!H)return;e.preventDefault(),ke.current&&=(clearTimeout(ke.current),null),Zt();return}if(e.key===`e`||e.key===`E`){if(r||e.metaKey||e.ctrlKey||e.altKey)return;e.preventDefault(),H?Kt():dt&&Gt()}};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[H,dt,Gt,Kt,Zt]);let $t=(0,W.useCallback)(e=>{ee(e),window.setTimeout(()=>ee(null),1600)},[]),en=(0,W.useCallback)(async(e,t)=>{try{await navigator.clipboard.writeText(e),$t(t)}catch{}},[$t]),tn=(0,W.useCallback)(async()=>{if(Bt){ce(!0);try{await fetch(`/api/open-file`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({filePath:Bt,editor:u})})}catch{}finally{ce(!1)}}},[Bt,u]),nn=(0,W.useCallback)((e,t=`start`)=>{if(t===`center`){e.scrollIntoView({behavior:`smooth`,block:`center`});return}let n=document.querySelector(`.plan-app-toolbar`)??document.querySelector(`.toolbar`),r=ze.current,i=(n?.offsetHeight??60)+(r?.offsetHeight??0)+12,a=e.getBoundingClientRect().top+window.scrollY-i;window.scrollTo({top:Math.max(0,a),behavior:`smooth`})},[]),rn=(0,W.useCallback)((e,t)=>{let n=document.getElementById(`plan-comment-${e}`);if(n){nn(n,`center`),n.classList.add(`plan-comment-flash`),window.setTimeout(()=>n.classList.remove(`plan-comment-flash`),1400);return}let r=document.querySelector(`[data-plan-line="${t}"]`);r instanceof HTMLElement&&nn(r,`center`)},[nn]),an=(0,W.useCallback)((e=`sync`)=>{if(ut||H){e===`sync`&&Le(null);return}let t=Re.current,n=window.getSelection();if(!t||!n||n.isCollapsed||!n.rangeCount){e===`sync`&&Le(null);return}if(!f4(n,t)){e===`sync`&&Le(null);return}let r=p4(n,t)??n.getRangeAt(0),i=r.toString();if(!i.trim()){e===`sync`&&Le(null);return}let a=h4(ft,i)??{text:i.replace(/\s+/g,` `).trim(),startLine:1,endLine:1},o=r.getClientRects(),s=null,c=null;for(let e=0;e<o.length;e++){let t=o[e];t.width===0&&t.height===0||(s||=t,c=t)}let l=s&&c?null:r.getBoundingClientRect(),u=s??l,d=c??l;if(!u||!d||u.width===0&&u.height===0){e===`sync`&&Le(null);return}let f=window.innerHeight-d.bottom<54&&u.top>54?`above`:`below`,p=(d.left+d.right)/2;Le({x:Math.min(Math.max(72,p),window.innerWidth-72),y:f===`below`?d.bottom+10:u.top-10,placement:f,startLine:a.startLine,endLine:a.endLine,text:a.text})},[ft,ut,H]);(0,W.useEffect)(()=>{if(ut||H||!Xe)return;let e=0,t=t=>{e&&clearTimeout(e),e=setTimeout(()=>{requestAnimationFrame(()=>an(t))},0)},n=e=>{e.target?.closest?.(`.plan-selection-popup, .plan-selection-comment, .plan-float-tray, .confirm-dialog`)||t(`sync`)},r=e=>{(e.key===`Shift`||e.key.startsWith(`Arrow`)||e.key===`End`||e.key===`Home`)&&t(`sync`)},i=()=>{t(`update`)};return document.addEventListener(`mouseup`,n,!0),document.addEventListener(`keyup`,r,!0),document.addEventListener(`selectionchange`,i),()=>{e&&clearTimeout(e),document.removeEventListener(`mouseup`,n,!0),document.removeEventListener(`keyup`,r,!0),document.removeEventListener(`selectionchange`,i)}},[ut,H,Xe,an]);let on=(0,W.useCallback)(()=>{if(!Ie)return;let e=window.getSelection(),t=e&&e.rangeCount>0&&!e.isCollapsed?e.getRangeAt(0).cloneRange():null,n=t?A4(t):[],r=Ie.x-400/2,i=Ie.placement===`below`?Ie.y+8:Ie.y-420-8,a=j.length*28,o=k4(r+a,i+a,400,420),s=Ie.startLine,c=Ie.endLine,l=t4(ft,s,c),u={id:crypto.randomUUID(),lineNumber:c,startLineNumber:s===c?void 0:s,selectedQuote:Ie.text,exactLines:l,sourceContext:Pt(s,c),sectionTitle:e4(ft,s),panelPos:o,panelSize:{width:400,height:420},minimized:!1,highlightRects:n};M(e=>[...e,u]),I(Math.abs(c-s)+1),Le(null)},[Ie,j.length,ft,Pt]);(0,W.useEffect)(()=>{let e=e=>{if(e.key===`Escape`&&!(xe||ye)){if(Ie){e.preventDefault(),Le(null);return}if(H){if(yt&&!Ce&&pe!==`saving`){e.preventDefault(),e.stopPropagation(),Se(!0);return}e.preventDefault(),e.stopPropagation(),Kt();return}$e&&(e.preventDefault(),et(!1))}};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[Ie,$e,et,H,yt,Ce,pe,xe,ye,Kt]),(0,W.useEffect)(()=>{if(!Ie)return;let e=()=>Le(null);return window.addEventListener(`scroll`,e,{passive:!0,capture:!0}),()=>window.removeEventListener(`scroll`,e,!0)},[Ie]);let sn=typeof window<`u`?`${window.location.origin}${window.location.pathname.startsWith(`/plan`)?window.location.pathname:`/plan/${e.id}`}`:`/plan/${e.id}`,cn=(0,W.useCallback)(e=>{e.preventDefault();let t=Be.current;if(!t)return;let n=t.getBoundingClientRect();if(n.width<=0)return;Ge(!0),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`;let r=Ve.current,i=0,a=e=>{r=C4(e),t.style.setProperty(`--plan-split-pct`,`${r}%`)},o=e=>{let t=(e.clientX-n.left)/n.width*100;i||=requestAnimationFrame(()=>{i=0,a(t)})},s=()=>{i&&cancelAnimationFrame(i),Ue(r),DD(b4.splitRatio,String(r)),Ge(!1),document.body.style.cursor=``,document.body.style.userSelect=``,document.removeEventListener(`mousemove`,o),document.removeEventListener(`mouseup`,s)};a((e.clientX-n.left)/n.width*100),document.addEventListener(`mousemove`,o),document.addEventListener(`mouseup`,s)},[]),ln=H?(0,G.jsx)(`div`,{className:`plan-file plan-file-editing`,children:(0,G.jsx)(H4,{value:ue,onChange:U,onActiveLineChange:Oe,fontSize:n,monoFontFamily:r,defaultTabSize:i,lineWrap:a,showLineNumbers:o})}):(0,G.jsx)(`div`,{className:`plan-file`,children:(0,G.jsx)(Bh,{file:{name:e.sourcePath?.split(/[/\\]/).pop()||`PLAN.md`,contents:ft,lang:`markdown`},options:{disableFileHeader:!0,enableGutterUtility:!0,enableLineSelection:!0,overflow:a?`wrap`:`scroll`,disableLineNumbers:!o,lineHoverHighlight:s,onLineSelectionStart:()=>{I(0),k(null),P(null),A.current=null},onLineSelectionChange:e=>{I(e?Math.abs(e.end-e.start)+1:0)},onLineSelectionEnd:e=>{if(I(0),e){let t=dG(e);jt({lineNumber:t.lineNumber,startLineNumber:t.startLineNumber})}},onGutterUtilityClick:e=>{let t=dG(e);jt({lineNumber:t.lineNumber,startLineNumber:t.startLineNumber})},theme:{dark:St.type===`dark`?St.themeName:`nord`,light:St.type===`light`?St.themeName:`github-light`},themeType:St.type,unsafeCSS:Ct},selectedLines:O?N:void 0,lineAnnotations:It,renderAnnotation:Lt})}),un=(0,G.jsxs)(`div`,{className:[`plan-rendered-layout`,re&&Ht.length>0&&!$e?`has-toc`:``,Qe?`plan-rendered-layout-solo`:``,$e?`plan-rendered-layout-zen`:``].filter(Boolean).join(` `),children:[re&&Ht.length>0&&!$e&&(0,G.jsxs)(`nav`,{className:`plan-toc`,"aria-label":`Plan outline`,children:[(0,G.jsxs)(`div`,{className:`plan-toc-head`,children:[(0,G.jsx)(EO,{size:12,"aria-hidden":`true`}),(0,G.jsx)(`span`,{children:`Outline`})]}),(0,G.jsx)(`ul`,{className:`plan-toc-list`,children:Ht.map(e=>(0,G.jsx)(`li`,{className:`plan-toc-item plan-toc-level-${Math.min(e.level,4)}`,children:(0,G.jsx)(`a`,{href:`#${e.id}`,onClick:t=>{t.preventDefault();let n=document.getElementById(e.id);n&&nn(n,`start`),typeof history<`u`&&history.replaceState(null,``,`#${e.id}`)},children:e.text})},e.id))})]}),(0,G.jsx)(`div`,{ref:Re,className:`markdown-body plan-rendered`,onClick:xt,children:(0,G.jsx)(s4,{body:ft,outline:Ht,comments:Et,onResolve:t=>y(e.id,t),onUnresolve:t=>b(e.id,t),onDelete:t=>x(e.id,t),onEdit:(t,n)=>v(e.id,t,n),onReply:(t,n)=>S(e.id,t,n),onEditReply:(t,n,r)=>C(e.id,t,n,r),onDeleteReply:(t,n)=>w(e.id,t,n)})})]}),dn=(0,W.useMemo)(()=>`${c}:${nt}:${Et.map(e=>e.id).join(`,`)}:${j.map(e=>e.id).join(`,`)}`,[c,nt,Et,j]),fn=Xe&&!H&&j.length>0?(0,G.jsx)(N4,{planId:e.id,composers:j,onChange:M,onSubmit:Ft,planBody:ft,buildSourceContext:Pt,renderedRootRef:Re,layoutEpoch:dn}):null,pn=pe===`saving`?`Saving…`:pe===`saved`?`Saved`:pe===`dirty`?`Unsaved`:pe===`error`?he||`Save failed`:null;return(0,G.jsxs)(`div`,{className:`plan-review ${$e?`plan-review-zen`:``} ${Qe?`plan-review-read`:``} ${H?`plan-review-editing`:``}`,children:[(0,G.jsxs)(`header`,{className:`plan-review-head`,ref:ze,children:[(0,G.jsxs)(`div`,{className:`plan-review-head-main`,children:[(0,G.jsxs)(`div`,{className:`plan-review-title-row`,children:[H?(0,G.jsx)(`input`,{className:`plan-review-title-input`,value:de,onChange:e=>fe(e.target.value),"aria-label":`Plan title`,placeholder:`Untitled plan`}):(0,G.jsxs)(`h2`,{className:`plan-review-title`,title:pt,children:[pt,ut&&pt!==e.title&&(0,G.jsxs)(`span`,{className:`plan-review-title-historical`,title:`Currently submitted title: ${e.title}`,children:[` `,`· was “`,e.title,`”`]})]}),(0,G.jsxs)(`span`,{className:`plan-badge ${Rt.className}`,children:[(0,G.jsx)(zt,{size:12,"aria-hidden":`true`}),Rt.label]}),H&&pn&&(0,G.jsxs)(`span`,{className:`plan-review-chip plan-review-save-status plan-review-save-status-${pe}`,role:`status`,title:he??void 0,children:[pe===`saving`&&(0,G.jsx)(DO,{size:11,className:`spin`,"aria-hidden":`true`}),pn]})]}),(0,G.jsxs)(`div`,{className:`plan-review-meta`,children:[tt.length<=1?(0,G.jsxs)(`span`,{className:`plan-review-chip`,children:[`v`,nt]}):(0,G.jsxs)(`div`,{className:`plan-review-version-switcher ${ut?`is-historical`:``}`,children:[(0,G.jsx)(xO,{size:12,"aria-hidden":`true`,className:`plan-review-version-switcher-icon`}),(0,G.jsx)(tW,{value:String(nt),onValueChange:t=>{let n=Number(t);if(H&&n!==e.version){Kt().then(()=>rt(n));return}rt(n)},options:bt,ariaLabel:`Plan version`}),ut&&(0,G.jsxs)(`button`,{type:`button`,className:`plan-review-version-back`,onClick:()=>rt(e.version),title:`Back to current v${e.version}`,children:[(0,G.jsx)(zD,{size:11,"aria-hidden":`true`}),`Current`]})]}),e.model&&(0,G.jsxs)(`span`,{className:`plan-review-chip plan-review-chip-model`,title:e.model,children:[(0,G.jsx)(VD,{size:11,"aria-hidden":`true`}),e.model]}),(0,G.jsxs)(`span`,{className:`plan-review-meta-stat`,title:`${Wt} lines · ${Ut} words · updated ${eE(e.updatedAt)}`,children:[Wt,`L · `,Ut,`W`,Ot>0&&(0,G.jsxs)(`span`,{className:`plan-review-meta-open`,children:[` · `,Ot,` open`]}),Tt.length>0&&Ot===0&&(0,G.jsxs)(`span`,{children:[` · `,Tt.length,` comment`,Tt.length===1?``:`s`]}),ut&&kt!==Tt.length&&(0,G.jsxs)(`span`,{className:`plan-review-chip-sub`,children:[` of `,kt]})]}),(F>0||j.length>0)&&(0,G.jsx)(`span`,{className:`plan-review-chip plan-review-chip-selection`,"aria-live":`polite`,children:j.length>0?`${j.length} draft${j.length===1?``:`s`}`:`${F} selected`}),(Bt||e.source)&&(0,G.jsxs)(`div`,{className:`plan-source-inline`,children:[(0,G.jsx)(pO,{size:12,className:`plan-source-icon`,"aria-hidden":`true`}),(0,G.jsx)(`code`,{className:`plan-source-path`,title:Bt??e.source,children:Vt??e.source}),Bt&&(0,G.jsx)($T,{content:`Copy absolute source path`,side:`top`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn`,onClick:()=>en(Bt,`Path copied`),"aria-label":`Copy plan source path`,children:(0,G.jsx)(oO,{size:12})})}),z&&(0,G.jsx)(`span`,{className:`plan-source-flash`,role:`status`,children:z})]})]})]}),(0,G.jsxs)(`div`,{className:`plan-review-head-actions`,role:`toolbar`,"aria-label":`Plan actions`,children:[(0,G.jsx)($T,{content:`Copy review link`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn`,onClick:()=>en(sn,`Link copied`),"aria-label":`Copy review URL`,children:(0,G.jsx)(TO,{size:14})})}),(0,G.jsx)($T,{content:`Copy plan markdown`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn`,onClick:()=>en(ft,`Markdown copied`),"aria-label":`Copy plan markdown`,children:(0,G.jsx)(fO,{size:14})})}),Bt&&(0,G.jsx)($T,{content:`Open source in editor`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn`,onClick:tn,disabled:se,"aria-label":`Open plan source in editor`,children:se?(0,G.jsx)(DO,{size:14,className:`spin`}):(0,G.jsx)(cO,{size:14})})}),dt&&(0,G.jsx)($T,{content:H?`Done editing (e) — autosave flushes on exit`:`Edit plan live (e)`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn ${H?`is-active`:``} ${mt?`is-dirty`:``}`,onClick:()=>{H?Kt():Gt()},"aria-pressed":H,"aria-label":H?`Done editing plan`:`Edit plan`,children:(0,G.jsx)(GO,{size:14})})}),H&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)($T,{content:`Save now (⌘S)`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn`,onClick:()=>{ke.current&&=(clearTimeout(ke.current),null),Zt()},disabled:pe===`saving`||D||Ce,"aria-label":`Save plan now`,children:(0,G.jsx)(XO,{size:14})})}),(0,G.jsx)($T,{content:`Save as new version — bumps version and reopens review`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn`,onClick:()=>be(!0),disabled:pe===`saving`||D||Ce||!ue.trim(),"aria-label":`Save as new version`,children:D?(0,G.jsx)(DO,{size:14,className:`spin`}):(0,G.jsx)(hO,{size:14})})}),(0,G.jsx)($T,{content:vt?`Discard edits (Esc) — recent session or roll back to original`:gt&&!ht?`Roll back to original (Esc) — before you started editing this version`:`Discard edits (Esc) — restore to start of this edit session`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn plan-icon-btn-danger`,onClick:Xt,disabled:!yt||Ce||pe===`saving`,"aria-label":`Discard edits`,title:`Esc`,children:Ce?(0,G.jsx)(DO,{size:14,className:`spin`}):(0,G.jsx)(YO,{size:14})})})]}),(0,G.jsx)(`span`,{className:`plan-action-divider`,"aria-hidden":`true`}),Qe&&(0,G.jsx)($T,{content:$e?`Exit zen reading (z / Esc)`:`Zen mode — full-width focus reading (z)`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn ${$e?`is-active`:``}`,onClick:()=>et(e=>!e),"aria-pressed":$e,"aria-label":$e?`Exit zen reading`:`Enter zen reading mode`,children:$e?(0,G.jsx)(IO,{size:14}):(0,G.jsx)(kO,{size:14})})}),Xe&&Ht.length>0&&!$e&&(0,G.jsx)($T,{content:re?`Hide outline (o)`:`Show outline (o)`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn ${re?`is-active`:``}`,onClick:()=>ae(e=>!e),"aria-pressed":re,"aria-label":re?`Hide outline`:`Show outline`,children:(0,G.jsx)(EO,{size:14})})}),Tt.length>0&&!$e&&(0,G.jsx)($T,{content:ie?`Hide comments map (c)`:Ot>0?`Show comments map (${Ot} open) · c`:`Show comments map (c)`,side:`bottom`,children:(0,G.jsxs)(`button`,{type:`button`,className:`plan-icon-btn ${ie?`is-active`:``}`,onClick:()=>oe(e=>!e),"aria-pressed":ie,"aria-label":ie?`Hide comments map`:Ot>0?`Show comments map, ${Ot} open`:`Show comments map`,children:[(0,G.jsx)(FO,{size:14}),Ot>0&&(0,G.jsx)(`span`,{className:`plan-icon-btn-badge`,children:Ot})]})})]})]}),$e&&(0,G.jsxs)(`div`,{className:`plan-zen-bar`,role:`status`,children:[(0,G.jsx)(`span`,{className:`plan-zen-bar-label`,children:`Zen reading`}),(0,G.jsx)(`span`,{className:`plan-zen-bar-hint`,children:`Esc or button to exit`}),(0,G.jsxs)(`button`,{type:`button`,className:`plan-zen-bar-exit`,onClick:()=>et(!1),children:[(0,G.jsx)(IO,{size:13,"aria-hidden":`true`}),`Exit zen`]})]}),ut&&(0,G.jsxs)(`div`,{className:`plan-review-historical-banner`,role:`status`,children:[(0,G.jsx)(xO,{size:14,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{children:[`Viewing `,(0,G.jsxs)(`strong`,{children:[`v`,nt]}),` of this plan (current is`,` `,(0,G.jsxs)(`strong`,{children:[`v`,e.version]}),`). Comments and line anchors reflect v`,nt,`.`]}),(0,G.jsxs)(`button`,{type:`button`,className:`plan-review-historical-banner-back`,onClick:()=>rt(e.version),children:[(0,G.jsx)(zD,{size:11,"aria-hidden":`true`}),`Back to current`]})]}),H&&(0,G.jsxs)(`div`,{className:`plan-review-edit-banner`,role:`status`,children:[(0,G.jsx)(GO,{size:14,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{children:[`Editing live — changes autosave to the current version`,kt>0?`. Line anchors on existing comments may shift if you insert or delete lines.`:`.`,` `,`New comments are disabled until you finish editing.`,_t?` Prior session edits are saved; Esc or Discard can roll back further.`:` Esc opens discard.`]}),yt&&(0,G.jsxs)(`button`,{type:`button`,className:`plan-review-edit-banner-discard`,onClick:Xt,disabled:Ce||pe===`saving`,children:[(0,G.jsx)(YO,{size:11,"aria-hidden":`true`}),gt&&!ht?`Roll back to original`:`Discard edits`,(0,G.jsx)(`kbd`,{className:`plan-review-edit-banner-kbd`,children:`Esc`})]}),H&&c===`rendered`&&(0,G.jsx)(`button`,{type:`button`,className:`plan-review-historical-banner-back`,onClick:()=>l?.(`split`),children:`Show source`})]}),!H&&Te&&(0,G.jsxs)(`div`,{className:`plan-review-exit-saved-banner`,role:`status`,children:[(0,G.jsx)(XO,{size:14,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{children:[(0,G.jsx)(`strong`,{children:`Edits saved`}),` to this version. They are now the starting point the next time you press Edit. Use `,(0,G.jsx)(`strong`,{children:`Discard`}),` after re-entering edit to roll back to the plan as it was before you started editing this version.`]}),(0,G.jsx)(`button`,{type:`button`,className:`plan-review-exit-saved-banner-dismiss`,onClick:()=>Ee(!1),"aria-label":`Dismiss saved-edits notice`,children:(0,G.jsx)(ck,{size:14})})]}),_e!=null&&(0,G.jsxs)(`div`,{className:`plan-review-conflict-banner`,role:`alert`,children:[(0,G.jsx)(NO,{size:14,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{children:[`Agent submitted `,(0,G.jsxs)(`strong`,{children:[`v`,_e]}),` while you have unsaved edits. Keep your draft, or discard and load the new version.`]}),(0,G.jsx)(`button`,{type:`button`,className:`plan-review-historical-banner-back`,onClick:()=>ve(null),children:`Keep editing`}),(0,G.jsx)(`button`,{type:`button`,className:`plan-review-historical-banner-back`,onClick:qt,children:`Discard & load`})]}),e.decision!==`pending`&&e.decisionComment&&(0,G.jsxs)(`div`,{className:`plan-decision-banner ${Rt.className}`,children:[(0,G.jsx)(zt,{size:15,"aria-hidden":`true`}),(0,G.jsxs)(`div`,{className:`plan-decision-banner-text`,children:[(0,G.jsx)(`strong`,{children:Rt.label}),(0,G.jsx)(gH,{content:e.decisionComment,className:`plan-decision-banner-note markdown-body`})]})]}),Dt.length>0&&(0,G.jsxs)(`section`,{className:`plan-general-section`,"aria-label":`General comments`,children:[(0,G.jsxs)(`div`,{className:`plan-general-header`,children:[(0,G.jsx)(MO,{size:14,"aria-hidden":`true`}),(0,G.jsx)(`span`,{children:`General comments`}),(0,G.jsx)(`span`,{className:`plan-general-count`,children:Dt.length})]}),(0,G.jsx)(`div`,{className:`plan-general-list`,children:Dt.map(t=>(0,G.jsx)(`div`,{id:`plan-comment-${t.id}`,children:(0,G.jsx)(r4,{comment:t,onResolve:()=>y(e.id,t.id),onUnresolve:()=>b(e.id,t.id),onDelete:()=>x(e.id,t.id),onEdit:n=>v(e.id,t.id,n),onReply:n=>S(e.id,t.id,n),onEditReply:(n,r)=>C(e.id,t.id,n,r),onDeleteReply:n=>w(e.id,t.id,n)})},t.id))})]}),(0,G.jsxs)(`div`,{className:`plan-review-body ${!$e&&ie&&Tt.length>0?`plan-review-body-with-rail`:``}`,children:[(0,G.jsxs)(`div`,{ref:Be,className:`plan-content ${Ze?`plan-content-split`:`plan-content-single`} ${We?`plan-content-split-dragging`:``} ${Qe?`plan-content-read`:``} ${$e?`plan-content-zen`:``}`,style:Ze?{"--plan-split-pct":`${He}%`}:void 0,children:[Ye&&ln,Ze&&(0,G.jsx)(`div`,{className:`plan-split-resize-handle`,onMouseDown:cn,onDoubleClick:()=>{Ue(50),DD(b4.splitRatio,`50`),Be.current?.style.setProperty(`--plan-split-pct`,`50%`)},role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize source and rendered panes`,title:`Drag to resize · double-click to reset 50/50`,"aria-valuenow":Math.round(He),"aria-valuemin":20,"aria-valuemax":80,tabIndex:0,onKeyDown:e=>{if(e.key!==`ArrowLeft`&&e.key!==`ArrowRight`)return;e.preventDefault();let t=C4(He+(e.key===`ArrowLeft`?-2:2));Ue(t),DD(b4.splitRatio,String(t)),Be.current?.style.setProperty(`--plan-split-pct`,`${t}%`)},children:(0,G.jsx)(`span`,{className:`plan-split-resize-grip`,"aria-hidden":`true`})}),Xe&&un]}),!$e&&ie&&Tt.length>0&&(0,G.jsxs)(`aside`,{className:`plan-comments-rail`,"aria-label":`Comments map`,children:[(0,G.jsxs)(`div`,{className:`plan-comments-rail-head`,children:[(0,G.jsx)(FO,{size:12,"aria-hidden":`true`}),(0,G.jsx)(`span`,{children:`Comments`}),(0,G.jsx)(`span`,{className:`plan-comments-rail-count`,children:Ot>0?`${Ot} open`:`${Tt.length}`})]}),(0,G.jsx)(`ul`,{className:`plan-comments-rail-list`,children:[...Tt].sort((e,t)=>e.status===t.status?e.lineNumber-t.lineNumber:e.status===`open`?-1:1).map(e=>(0,G.jsx)(`li`,{children:(0,G.jsxs)(`button`,{type:`button`,className:`plan-comments-rail-item ${e.status===`resolved`?`is-resolved`:``}`,onClick:()=>rn(e.id,e.lineNumber),title:e.body.slice(0,200),children:[(0,G.jsx)(`span`,{className:`plan-comments-rail-line`,children:a4(e)}),(0,G.jsxs)(`span`,{className:`plan-comments-rail-preview`,children:[e.sectionTitle?`${e.sectionTitle} · `:``,e.body.replace(/\s+/g,` `).slice(0,80),e.body.length>80?`…`:``]}),(0,G.jsx)(`span`,{className:`plan-comments-rail-status plan-comments-rail-status-${e.status}`,children:e.status})]})},e.id))})]})]}),Ie&&!H&&(0,G.jsxs)(`button`,{type:`button`,className:`plan-selection-popup plan-selection-popup-${Ie.placement}`,style:{left:Ie.x,top:Ie.y},onMouseDown:e=>e.preventDefault(),onClick:on,children:[(0,G.jsx)(MO,{size:13,"aria-hidden":`true`}),`Add comment`,(0,G.jsxs)(`span`,{className:`plan-selection-popup-lines`,children:[`L`,Ie.startLine,Ie.endLine===Ie.startLine?``:`–${Ie.endLine}`]})]}),fn,(0,G.jsx)(c4,{isOpen:!!L,filePath:L,onClose:()=>R(null)}),(0,G.jsx)(w4,{open:ye,title:`Save as new version?`,description:`Creates v${e.version+1} from your current draft and reopens the plan for review (decision becomes pending). In-place autosave does not create a version.`,confirmLabel:`Save as new version`,cancelLabel:`Cancel`,variant:`primary`,onConfirm:()=>{Qt()},onCancel:()=>be(!1)}),(0,G.jsx)(U4,{open:xe,canDiscardRecent:ht,canRollbackOriginal:gt&&_t,onChoose:e=>{Yt(e)},onCancel:()=>Se(!1),busy:Ce})]})}function Y4(e,t,n){return`
3906
+ `).length:0,[ft]),Gt=(0,W.useCallback)(()=>{if(nt!==e.version)return;let t={body:e.body,title:e.title};U(t.body),fe(t.title),Ae.current={body:t.body,title:t.title,version:e.version},Me(t),Pe(e=>e??t),me(`idle`),ge(null),ve(null),Se(!1),Ee(!1),le(!0),k(null),P(null),M([]),Le(null),Je&&et(!1),c!==`split`&&l?.(`split`)},[nt,e.version,e.body,e.title,Je,et,c,l]),Kt=(0,W.useCallback)(async()=>{let t=ue!==je.body||de!==je.title||e.body!==je.body||e.title!==je.title;ke.current&&=(clearTimeout(ke.current),null),await Fe.current(),at(ue),st(de.trim()||`Untitled plan`),le(!1),me(`idle`),ge(null),ve(null),Se(!1),t&&Ee(!0)},[ue,de,je,e.body,e.title]),qt=(0,W.useCallback)(()=>{U(e.body),fe(e.title),Ae.current={body:e.body,title:e.title,version:e.version},Me({body:e.body,title:e.title}),Pe(null),ve(null),me(`idle`),ge(null),rt(e.version)},[e.body,e.title,e.version]),Jt=(0,W.useCallback)(async t=>{if(H){ke.current&&=(clearTimeout(ke.current),null),we(!0),ge(null);try{if(U(t.body),fe(t.title),e.body!==t.body||e.title!==t.title){me(`saving`);let n=await T(e.id,{body:t.body,title:t.title});Ae.current={body:n.body,title:n.title,version:n.version},at(n.body),st(n.title),Me({body:n.body,title:n.title})}else Ae.current={body:t.body,title:t.title,version:e.version},at(t.body),st(t.title),Me({body:t.body,title:t.title});me(`idle`),Se(!1),Ee(!1)}catch(e){me(`error`),ge(e instanceof Error?e.message:`Failed to discard edits`)}finally{we(!1)}}},[H,e.body,e.title,e.id,e.version,T]),Yt=(0,W.useCallback)(async e=>{if(e===`recent`){await Jt(je);return}Ne&&await Jt(Ne)},[Jt,je,Ne]),Xt=(0,W.useCallback)(()=>{!H||!yt||Ce||pe===`saving`||Se(!0)},[H,yt,Ce,pe]),Zt=(0,W.useCallback)(async()=>{if(!H)return;let t=ue,n=de.trim()||`Untitled plan`;if(!t.trim()){me(`error`),ge(`Plan body cannot be empty`);return}if(t===Ae.current.body&&n===Ae.current.title){me(e=>e===`dirty`?`saved`:e);return}me(`saving`),ge(null);try{let r=await T(e.id,{body:t,title:n});Ae.current={body:r.body,title:r.title,version:r.version},at(r.body),st(r.title),me(`saved`)}catch(e){me(`error`),ge(e instanceof Error?e.message:`Save failed`)}},[H,ue,de,T,e.id]);Fe.current=Zt,(0,W.useEffect)(()=>{if(!H)return;let e=de.trim()||`Untitled plan`;if(ue!==Ae.current.body||e!==Ae.current.title){if(!ue.trim()){me(`error`),ge(`Plan body cannot be empty`);return}return me(`dirty`),ge(null),ke.current&&clearTimeout(ke.current),ke.current=setTimeout(()=>{ke.current=null,Zt()},W4),()=>{ke.current&&=(clearTimeout(ke.current),null)}}},[H,ue,de,Zt]),(0,W.useEffect)(()=>{if(!H||!mt)return;let e=e=>{e.preventDefault(),e.returnValue=``};return window.addEventListener(`beforeunload`,e),()=>window.removeEventListener(`beforeunload`,e)},[H,mt]);let Qt=(0,W.useCallback)(async()=>{let t=ue,n=de.trim()||`Untitled plan`;if(!t.trim()){me(`error`),ge(`Plan body cannot be empty`),be(!1);return}be(!1),me(`saving`),ge(null);try{let r=await E(e.id,{title:n,body:t,source:e.source,model:e.model}),i={body:r.body,title:r.title};Ae.current={body:i.body,title:i.title,version:r.version},Me(i),Pe(i),ct.current=`${e.id}:${r.version}`,U(i.body),fe(i.title),at(i.body),st(i.title),rt(r.version),ve(null),Ee(!1),me(`saved`)}catch(e){me(`error`),ge(e instanceof Error?e.message:`Save as new version failed`)}},[ue,de,E,e.id,e.source,e.model]);(0,W.useEffect)(()=>{if(!H||c!==`split`)return;let e=0;return e=requestAnimationFrame(()=>{e=0;let t=Re.current;t&&V4(t,De,{scrollContainer:t.closest(`.plan-rendered-layout`)??t.parentElement,onlyIfOutOfView:!0,behavior:`auto`})}),()=>{e&&cancelAnimationFrame(e)}},[H,c,De]),(0,W.useEffect)(()=>{let e=e=>{let t=e.target,n=t?.tagName?.toLowerCase(),r=n===`input`||n===`textarea`||n===`select`||!!t?.isContentEditable;if((e.metaKey||e.ctrlKey)&&(e.key===`s`||e.key===`S`)){if(!H)return;e.preventDefault(),ke.current&&=(clearTimeout(ke.current),null),Zt();return}if(e.key===`e`||e.key===`E`){if(r||e.metaKey||e.ctrlKey||e.altKey)return;e.preventDefault(),H?Kt():dt&&Gt()}};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[H,dt,Gt,Kt,Zt]);let $t=(0,W.useCallback)(e=>{ee(e),window.setTimeout(()=>ee(null),1600)},[]),en=(0,W.useCallback)(async(e,t)=>{try{await navigator.clipboard.writeText(e),$t(t)}catch{}},[$t]),tn=(0,W.useCallback)(async()=>{if(Bt){ce(!0);try{await fetch(`/api/open-file`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({filePath:Bt,editor:u})})}catch{}finally{ce(!1)}}},[Bt,u]),nn=(0,W.useCallback)((e,t=`start`)=>{if(t===`center`){e.scrollIntoView({behavior:`smooth`,block:`center`});return}let n=document.querySelector(`.plan-app-toolbar`)??document.querySelector(`.toolbar`),r=ze.current,i=(n?.offsetHeight??60)+(r?.offsetHeight??0)+12,a=e.getBoundingClientRect().top+window.scrollY-i;window.scrollTo({top:Math.max(0,a),behavior:`smooth`})},[]),rn=(0,W.useCallback)((e,t)=>{let n=document.getElementById(`plan-comment-${e}`);if(n){nn(n,`center`),n.classList.add(`plan-comment-flash`),window.setTimeout(()=>n.classList.remove(`plan-comment-flash`),1400);return}let r=document.querySelector(`[data-plan-line="${t}"]`);r instanceof HTMLElement&&nn(r,`center`)},[nn]),an=(0,W.useCallback)((e=`sync`)=>{if(ut||H){e===`sync`&&Le(null);return}let t=Re.current,n=window.getSelection();if(!t||!n||n.isCollapsed||!n.rangeCount){e===`sync`&&Le(null);return}if(!f4(n,t)){e===`sync`&&Le(null);return}let r=p4(n,t)??n.getRangeAt(0),i=r.toString();if(!i.trim()){e===`sync`&&Le(null);return}let a=h4(ft,i)??{text:i.replace(/\s+/g,` `).trim(),startLine:1,endLine:1},o=r.getClientRects(),s=null,c=null;for(let e=0;e<o.length;e++){let t=o[e];t.width===0&&t.height===0||(s||=t,c=t)}let l=s&&c?null:r.getBoundingClientRect(),u=s??l,d=c??l;if(!u||!d||u.width===0&&u.height===0){e===`sync`&&Le(null);return}let f=window.innerHeight-d.bottom<54&&u.top>54?`above`:`below`,p=(d.left+d.right)/2;Le({x:Math.min(Math.max(72,p),window.innerWidth-72),y:f===`below`?d.bottom+10:u.top-10,placement:f,startLine:a.startLine,endLine:a.endLine,text:a.text})},[ft,ut,H]);(0,W.useEffect)(()=>{if(ut||H||!Xe)return;let e=0,t=t=>{e&&clearTimeout(e),e=setTimeout(()=>{requestAnimationFrame(()=>an(t))},0)},n=e=>{e.target?.closest?.(`.plan-selection-popup, .plan-selection-comment, .plan-float-tray, .confirm-dialog`)||t(`sync`)},r=e=>{(e.key===`Shift`||e.key.startsWith(`Arrow`)||e.key===`End`||e.key===`Home`)&&t(`sync`)},i=()=>{t(`update`)};return document.addEventListener(`mouseup`,n,!0),document.addEventListener(`keyup`,r,!0),document.addEventListener(`selectionchange`,i),()=>{e&&clearTimeout(e),document.removeEventListener(`mouseup`,n,!0),document.removeEventListener(`keyup`,r,!0),document.removeEventListener(`selectionchange`,i)}},[ut,H,Xe,an]);let on=(0,W.useCallback)(()=>{if(!Ie)return;let e=window.getSelection(),t=e&&e.rangeCount>0&&!e.isCollapsed?e.getRangeAt(0).cloneRange():null,n=t?A4(t):[],r=Ie.x-400/2,i=Ie.placement===`below`?Ie.y+8:Ie.y-420-8,a=j.length*28,o=k4(r+a,i+a,400,420),s=Ie.startLine,c=Ie.endLine,l=t4(ft,s,c),u={id:crypto.randomUUID(),lineNumber:c,startLineNumber:s===c?void 0:s,selectedQuote:Ie.text,exactLines:l,sourceContext:Pt(s,c),sectionTitle:e4(ft,s),panelPos:o,panelSize:{width:400,height:420},minimized:!1,highlightRects:n};M(e=>[...e,u]),I(Math.abs(c-s)+1),Le(null)},[Ie,j.length,ft,Pt]);(0,W.useEffect)(()=>{let e=e=>{if(e.key===`Escape`&&!(xe||ye)){if(Ie){e.preventDefault(),Le(null);return}if(H){if(yt&&!Ce&&pe!==`saving`){e.preventDefault(),e.stopPropagation(),Se(!0);return}e.preventDefault(),e.stopPropagation(),Kt();return}$e&&(e.preventDefault(),et(!1))}};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[Ie,$e,et,H,yt,Ce,pe,xe,ye,Kt]),(0,W.useEffect)(()=>{if(!Ie)return;let e=()=>Le(null);return window.addEventListener(`scroll`,e,{passive:!0,capture:!0}),()=>window.removeEventListener(`scroll`,e,!0)},[Ie]);let sn=typeof window<`u`?`${window.location.origin}${window.location.pathname.startsWith(`/plan`)?window.location.pathname:`/plan/${e.id}`}`:`/plan/${e.id}`,cn=(0,W.useCallback)(e=>{e.preventDefault();let t=Be.current;if(!t)return;let n=t.getBoundingClientRect();if(n.width<=0)return;Ge(!0),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`;let r=Ve.current,i=0,a=e=>{r=C4(e),t.style.setProperty(`--plan-split-pct`,`${r}%`)},o=e=>{let t=(e.clientX-n.left)/n.width*100;i||=requestAnimationFrame(()=>{i=0,a(t)})},s=()=>{i&&cancelAnimationFrame(i),Ue(r),DD(b4.splitRatio,String(r)),Ge(!1),document.body.style.cursor=``,document.body.style.userSelect=``,document.removeEventListener(`mousemove`,o),document.removeEventListener(`mouseup`,s)};a((e.clientX-n.left)/n.width*100),document.addEventListener(`mousemove`,o),document.addEventListener(`mouseup`,s)},[]),ln=H?(0,G.jsx)(`div`,{className:`plan-file plan-file-editing`,children:(0,G.jsx)(H4,{value:ue,onChange:U,onActiveLineChange:Oe,fontSize:n,monoFontFamily:r,defaultTabSize:i,lineWrap:a,showLineNumbers:o})}):(0,G.jsx)(`div`,{className:`plan-file`,children:(0,G.jsx)(Bh,{file:{name:e.sourcePath?.split(/[/\\]/).pop()||`PLAN.md`,contents:ft,lang:`markdown`},options:{disableFileHeader:!0,enableGutterUtility:!0,enableLineSelection:!0,overflow:a?`wrap`:`scroll`,disableLineNumbers:!o,lineHoverHighlight:s,onLineSelectionStart:()=>{I(0),k(null),P(null),A.current=null},onLineSelectionChange:e=>{I(e?Math.abs(e.end-e.start)+1:0)},onLineSelectionEnd:e=>{if(I(0),e){let t=dG(e);jt({lineNumber:t.lineNumber,startLineNumber:t.startLineNumber})}},onGutterUtilityClick:e=>{let t=dG(e);jt({lineNumber:t.lineNumber,startLineNumber:t.startLineNumber})},theme:{dark:St.type===`dark`?St.themeName:`rose-pine`,light:St.type===`light`?St.themeName:`github-light`},themeType:St.type,unsafeCSS:Ct},selectedLines:O?N:void 0,lineAnnotations:It,renderAnnotation:Lt})}),un=(0,G.jsxs)(`div`,{className:[`plan-rendered-layout`,re&&Ht.length>0&&!$e?`has-toc`:``,Qe?`plan-rendered-layout-solo`:``,$e?`plan-rendered-layout-zen`:``].filter(Boolean).join(` `),children:[re&&Ht.length>0&&!$e&&(0,G.jsxs)(`nav`,{className:`plan-toc`,"aria-label":`Plan outline`,children:[(0,G.jsxs)(`div`,{className:`plan-toc-head`,children:[(0,G.jsx)(EO,{size:12,"aria-hidden":`true`}),(0,G.jsx)(`span`,{children:`Outline`})]}),(0,G.jsx)(`ul`,{className:`plan-toc-list`,children:Ht.map(e=>(0,G.jsx)(`li`,{className:`plan-toc-item plan-toc-level-${Math.min(e.level,4)}`,children:(0,G.jsx)(`a`,{href:`#${e.id}`,onClick:t=>{t.preventDefault();let n=document.getElementById(e.id);n&&nn(n,`start`),typeof history<`u`&&history.replaceState(null,``,`#${e.id}`)},children:e.text})},e.id))})]}),(0,G.jsx)(`div`,{ref:Re,className:`markdown-body plan-rendered`,onClick:xt,children:(0,G.jsx)(s4,{body:ft,outline:Ht,comments:Et,onResolve:t=>y(e.id,t),onUnresolve:t=>b(e.id,t),onDelete:t=>x(e.id,t),onEdit:(t,n)=>v(e.id,t,n),onReply:(t,n)=>S(e.id,t,n),onEditReply:(t,n,r)=>C(e.id,t,n,r),onDeleteReply:(t,n)=>w(e.id,t,n)})})]}),dn=(0,W.useMemo)(()=>`${c}:${nt}:${Et.map(e=>e.id).join(`,`)}:${j.map(e=>e.id).join(`,`)}`,[c,nt,Et,j]),fn=Xe&&!H&&j.length>0?(0,G.jsx)(N4,{planId:e.id,composers:j,onChange:M,onSubmit:Ft,planBody:ft,buildSourceContext:Pt,renderedRootRef:Re,layoutEpoch:dn}):null,pn=pe===`saving`?`Saving…`:pe===`saved`?`Saved`:pe===`dirty`?`Unsaved`:pe===`error`?he||`Save failed`:null;return(0,G.jsxs)(`div`,{className:`plan-review ${$e?`plan-review-zen`:``} ${Qe?`plan-review-read`:``} ${H?`plan-review-editing`:``}`,children:[(0,G.jsxs)(`header`,{className:`plan-review-head`,ref:ze,children:[(0,G.jsxs)(`div`,{className:`plan-review-head-main`,children:[(0,G.jsxs)(`div`,{className:`plan-review-title-row`,children:[H?(0,G.jsx)(`input`,{className:`plan-review-title-input`,value:de,onChange:e=>fe(e.target.value),"aria-label":`Plan title`,placeholder:`Untitled plan`}):(0,G.jsxs)(`h2`,{className:`plan-review-title`,title:pt,children:[pt,ut&&pt!==e.title&&(0,G.jsxs)(`span`,{className:`plan-review-title-historical`,title:`Currently submitted title: ${e.title}`,children:[` `,`· was “`,e.title,`”`]})]}),(0,G.jsxs)(`span`,{className:`plan-badge ${Rt.className}`,children:[(0,G.jsx)(zt,{size:12,"aria-hidden":`true`}),Rt.label]}),H&&pn&&(0,G.jsxs)(`span`,{className:`plan-review-chip plan-review-save-status plan-review-save-status-${pe}`,role:`status`,title:he??void 0,children:[pe===`saving`&&(0,G.jsx)(DO,{size:11,className:`spin`,"aria-hidden":`true`}),pn]})]}),(0,G.jsxs)(`div`,{className:`plan-review-meta`,children:[tt.length<=1?(0,G.jsxs)(`span`,{className:`plan-review-chip`,children:[`v`,nt]}):(0,G.jsxs)(`div`,{className:`plan-review-version-switcher ${ut?`is-historical`:``}`,children:[(0,G.jsx)(xO,{size:12,"aria-hidden":`true`,className:`plan-review-version-switcher-icon`}),(0,G.jsx)(tW,{value:String(nt),onValueChange:t=>{let n=Number(t);if(H&&n!==e.version){Kt().then(()=>rt(n));return}rt(n)},options:bt,ariaLabel:`Plan version`}),ut&&(0,G.jsxs)(`button`,{type:`button`,className:`plan-review-version-back`,onClick:()=>rt(e.version),title:`Back to current v${e.version}`,children:[(0,G.jsx)(zD,{size:11,"aria-hidden":`true`}),`Current`]})]}),e.model&&(0,G.jsxs)(`span`,{className:`plan-review-chip plan-review-chip-model`,title:e.model,children:[(0,G.jsx)(VD,{size:11,"aria-hidden":`true`}),e.model]}),(0,G.jsxs)(`span`,{className:`plan-review-meta-stat`,title:`${Wt} lines · ${Ut} words · updated ${eE(e.updatedAt)}`,children:[Wt,`L · `,Ut,`W`,Ot>0&&(0,G.jsxs)(`span`,{className:`plan-review-meta-open`,children:[` · `,Ot,` open`]}),Tt.length>0&&Ot===0&&(0,G.jsxs)(`span`,{children:[` · `,Tt.length,` comment`,Tt.length===1?``:`s`]}),ut&&kt!==Tt.length&&(0,G.jsxs)(`span`,{className:`plan-review-chip-sub`,children:[` of `,kt]})]}),(F>0||j.length>0)&&(0,G.jsx)(`span`,{className:`plan-review-chip plan-review-chip-selection`,"aria-live":`polite`,children:j.length>0?`${j.length} draft${j.length===1?``:`s`}`:`${F} selected`}),(Bt||e.source)&&(0,G.jsxs)(`div`,{className:`plan-source-inline`,children:[(0,G.jsx)(pO,{size:12,className:`plan-source-icon`,"aria-hidden":`true`}),(0,G.jsx)(`code`,{className:`plan-source-path`,title:Bt??e.source,children:Vt??e.source}),Bt&&(0,G.jsx)($T,{content:`Copy absolute source path`,side:`top`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn`,onClick:()=>en(Bt,`Path copied`),"aria-label":`Copy plan source path`,children:(0,G.jsx)(oO,{size:12})})}),z&&(0,G.jsx)(`span`,{className:`plan-source-flash`,role:`status`,children:z})]})]})]}),(0,G.jsxs)(`div`,{className:`plan-review-head-actions`,role:`toolbar`,"aria-label":`Plan actions`,children:[(0,G.jsx)($T,{content:`Copy review link`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn`,onClick:()=>en(sn,`Link copied`),"aria-label":`Copy review URL`,children:(0,G.jsx)(TO,{size:14})})}),(0,G.jsx)($T,{content:`Copy plan markdown`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn`,onClick:()=>en(ft,`Markdown copied`),"aria-label":`Copy plan markdown`,children:(0,G.jsx)(fO,{size:14})})}),Bt&&(0,G.jsx)($T,{content:`Open source in editor`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn`,onClick:tn,disabled:se,"aria-label":`Open plan source in editor`,children:se?(0,G.jsx)(DO,{size:14,className:`spin`}):(0,G.jsx)(cO,{size:14})})}),dt&&(0,G.jsx)($T,{content:H?`Done editing (e) — autosave flushes on exit`:`Edit plan live (e)`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn ${H?`is-active`:``} ${mt?`is-dirty`:``}`,onClick:()=>{H?Kt():Gt()},"aria-pressed":H,"aria-label":H?`Done editing plan`:`Edit plan`,children:(0,G.jsx)(GO,{size:14})})}),H&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)($T,{content:`Save now (⌘S)`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn`,onClick:()=>{ke.current&&=(clearTimeout(ke.current),null),Zt()},disabled:pe===`saving`||D||Ce,"aria-label":`Save plan now`,children:(0,G.jsx)(XO,{size:14})})}),(0,G.jsx)($T,{content:`Save as new version — bumps version and reopens review`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn`,onClick:()=>be(!0),disabled:pe===`saving`||D||Ce||!ue.trim(),"aria-label":`Save as new version`,children:D?(0,G.jsx)(DO,{size:14,className:`spin`}):(0,G.jsx)(hO,{size:14})})}),(0,G.jsx)($T,{content:vt?`Discard edits (Esc) — recent session or roll back to original`:gt&&!ht?`Roll back to original (Esc) — before you started editing this version`:`Discard edits (Esc) — restore to start of this edit session`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn plan-icon-btn-danger`,onClick:Xt,disabled:!yt||Ce||pe===`saving`,"aria-label":`Discard edits`,title:`Esc`,children:Ce?(0,G.jsx)(DO,{size:14,className:`spin`}):(0,G.jsx)(YO,{size:14})})})]}),(0,G.jsx)(`span`,{className:`plan-action-divider`,"aria-hidden":`true`}),Qe&&(0,G.jsx)($T,{content:$e?`Exit zen reading (z / Esc)`:`Zen mode — full-width focus reading (z)`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn ${$e?`is-active`:``}`,onClick:()=>et(e=>!e),"aria-pressed":$e,"aria-label":$e?`Exit zen reading`:`Enter zen reading mode`,children:$e?(0,G.jsx)(IO,{size:14}):(0,G.jsx)(kO,{size:14})})}),Xe&&Ht.length>0&&!$e&&(0,G.jsx)($T,{content:re?`Hide outline (o)`:`Show outline (o)`,side:`bottom`,children:(0,G.jsx)(`button`,{type:`button`,className:`plan-icon-btn ${re?`is-active`:``}`,onClick:()=>ae(e=>!e),"aria-pressed":re,"aria-label":re?`Hide outline`:`Show outline`,children:(0,G.jsx)(EO,{size:14})})}),Tt.length>0&&!$e&&(0,G.jsx)($T,{content:ie?`Hide comments map (c)`:Ot>0?`Show comments map (${Ot} open) · c`:`Show comments map (c)`,side:`bottom`,children:(0,G.jsxs)(`button`,{type:`button`,className:`plan-icon-btn ${ie?`is-active`:``}`,onClick:()=>oe(e=>!e),"aria-pressed":ie,"aria-label":ie?`Hide comments map`:Ot>0?`Show comments map, ${Ot} open`:`Show comments map`,children:[(0,G.jsx)(FO,{size:14}),Ot>0&&(0,G.jsx)(`span`,{className:`plan-icon-btn-badge`,children:Ot})]})})]})]}),$e&&(0,G.jsxs)(`div`,{className:`plan-zen-bar`,role:`status`,children:[(0,G.jsx)(`span`,{className:`plan-zen-bar-label`,children:`Zen reading`}),(0,G.jsx)(`span`,{className:`plan-zen-bar-hint`,children:`Esc or button to exit`}),(0,G.jsxs)(`button`,{type:`button`,className:`plan-zen-bar-exit`,onClick:()=>et(!1),children:[(0,G.jsx)(IO,{size:13,"aria-hidden":`true`}),`Exit zen`]})]}),ut&&(0,G.jsxs)(`div`,{className:`plan-review-historical-banner`,role:`status`,children:[(0,G.jsx)(xO,{size:14,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{children:[`Viewing `,(0,G.jsxs)(`strong`,{children:[`v`,nt]}),` of this plan (current is`,` `,(0,G.jsxs)(`strong`,{children:[`v`,e.version]}),`). Comments and line anchors reflect v`,nt,`.`]}),(0,G.jsxs)(`button`,{type:`button`,className:`plan-review-historical-banner-back`,onClick:()=>rt(e.version),children:[(0,G.jsx)(zD,{size:11,"aria-hidden":`true`}),`Back to current`]})]}),H&&(0,G.jsxs)(`div`,{className:`plan-review-edit-banner`,role:`status`,children:[(0,G.jsx)(GO,{size:14,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{children:[`Editing live — changes autosave to the current version`,kt>0?`. Line anchors on existing comments may shift if you insert or delete lines.`:`.`,` `,`New comments are disabled until you finish editing.`,_t?` Prior session edits are saved; Esc or Discard can roll back further.`:` Esc opens discard.`]}),yt&&(0,G.jsxs)(`button`,{type:`button`,className:`plan-review-edit-banner-discard`,onClick:Xt,disabled:Ce||pe===`saving`,children:[(0,G.jsx)(YO,{size:11,"aria-hidden":`true`}),gt&&!ht?`Roll back to original`:`Discard edits`,(0,G.jsx)(`kbd`,{className:`plan-review-edit-banner-kbd`,children:`Esc`})]}),H&&c===`rendered`&&(0,G.jsx)(`button`,{type:`button`,className:`plan-review-historical-banner-back`,onClick:()=>l?.(`split`),children:`Show source`})]}),!H&&Te&&(0,G.jsxs)(`div`,{className:`plan-review-exit-saved-banner`,role:`status`,children:[(0,G.jsx)(XO,{size:14,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{children:[(0,G.jsx)(`strong`,{children:`Edits saved`}),` to this version. They are now the starting point the next time you press Edit. Use `,(0,G.jsx)(`strong`,{children:`Discard`}),` after re-entering edit to roll back to the plan as it was before you started editing this version.`]}),(0,G.jsx)(`button`,{type:`button`,className:`plan-review-exit-saved-banner-dismiss`,onClick:()=>Ee(!1),"aria-label":`Dismiss saved-edits notice`,children:(0,G.jsx)(ck,{size:14})})]}),_e!=null&&(0,G.jsxs)(`div`,{className:`plan-review-conflict-banner`,role:`alert`,children:[(0,G.jsx)(NO,{size:14,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{children:[`Agent submitted `,(0,G.jsxs)(`strong`,{children:[`v`,_e]}),` while you have unsaved edits. Keep your draft, or discard and load the new version.`]}),(0,G.jsx)(`button`,{type:`button`,className:`plan-review-historical-banner-back`,onClick:()=>ve(null),children:`Keep editing`}),(0,G.jsx)(`button`,{type:`button`,className:`plan-review-historical-banner-back`,onClick:qt,children:`Discard & load`})]}),e.decision!==`pending`&&e.decisionComment&&(0,G.jsxs)(`div`,{className:`plan-decision-banner ${Rt.className}`,children:[(0,G.jsx)(zt,{size:15,"aria-hidden":`true`}),(0,G.jsxs)(`div`,{className:`plan-decision-banner-text`,children:[(0,G.jsx)(`strong`,{children:Rt.label}),(0,G.jsx)(gH,{content:e.decisionComment,className:`plan-decision-banner-note markdown-body`})]})]}),Dt.length>0&&(0,G.jsxs)(`section`,{className:`plan-general-section`,"aria-label":`General comments`,children:[(0,G.jsxs)(`div`,{className:`plan-general-header`,children:[(0,G.jsx)(MO,{size:14,"aria-hidden":`true`}),(0,G.jsx)(`span`,{children:`General comments`}),(0,G.jsx)(`span`,{className:`plan-general-count`,children:Dt.length})]}),(0,G.jsx)(`div`,{className:`plan-general-list`,children:Dt.map(t=>(0,G.jsx)(`div`,{id:`plan-comment-${t.id}`,children:(0,G.jsx)(r4,{comment:t,onResolve:()=>y(e.id,t.id),onUnresolve:()=>b(e.id,t.id),onDelete:()=>x(e.id,t.id),onEdit:n=>v(e.id,t.id,n),onReply:n=>S(e.id,t.id,n),onEditReply:(n,r)=>C(e.id,t.id,n,r),onDeleteReply:n=>w(e.id,t.id,n)})},t.id))})]}),(0,G.jsxs)(`div`,{className:`plan-review-body ${!$e&&ie&&Tt.length>0?`plan-review-body-with-rail`:``}`,children:[(0,G.jsxs)(`div`,{ref:Be,className:`plan-content ${Ze?`plan-content-split`:`plan-content-single`} ${We?`plan-content-split-dragging`:``} ${Qe?`plan-content-read`:``} ${$e?`plan-content-zen`:``}`,style:Ze?{"--plan-split-pct":`${He}%`}:void 0,children:[Ye&&ln,Ze&&(0,G.jsx)(`div`,{className:`plan-split-resize-handle`,onMouseDown:cn,onDoubleClick:()=>{Ue(50),DD(b4.splitRatio,`50`),Be.current?.style.setProperty(`--plan-split-pct`,`50%`)},role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize source and rendered panes`,title:`Drag to resize · double-click to reset 50/50`,"aria-valuenow":Math.round(He),"aria-valuemin":20,"aria-valuemax":80,tabIndex:0,onKeyDown:e=>{if(e.key!==`ArrowLeft`&&e.key!==`ArrowRight`)return;e.preventDefault();let t=C4(He+(e.key===`ArrowLeft`?-2:2));Ue(t),DD(b4.splitRatio,String(t)),Be.current?.style.setProperty(`--plan-split-pct`,`${t}%`)},children:(0,G.jsx)(`span`,{className:`plan-split-resize-grip`,"aria-hidden":`true`})}),Xe&&un]}),!$e&&ie&&Tt.length>0&&(0,G.jsxs)(`aside`,{className:`plan-comments-rail`,"aria-label":`Comments map`,children:[(0,G.jsxs)(`div`,{className:`plan-comments-rail-head`,children:[(0,G.jsx)(FO,{size:12,"aria-hidden":`true`}),(0,G.jsx)(`span`,{children:`Comments`}),(0,G.jsx)(`span`,{className:`plan-comments-rail-count`,children:Ot>0?`${Ot} open`:`${Tt.length}`})]}),(0,G.jsx)(`ul`,{className:`plan-comments-rail-list`,children:[...Tt].sort((e,t)=>e.status===t.status?e.lineNumber-t.lineNumber:e.status===`open`?-1:1).map(e=>(0,G.jsx)(`li`,{children:(0,G.jsxs)(`button`,{type:`button`,className:`plan-comments-rail-item ${e.status===`resolved`?`is-resolved`:``}`,onClick:()=>rn(e.id,e.lineNumber),title:e.body.slice(0,200),children:[(0,G.jsx)(`span`,{className:`plan-comments-rail-line`,children:a4(e)}),(0,G.jsxs)(`span`,{className:`plan-comments-rail-preview`,children:[e.sectionTitle?`${e.sectionTitle} · `:``,e.body.replace(/\s+/g,` `).slice(0,80),e.body.length>80?`…`:``]}),(0,G.jsx)(`span`,{className:`plan-comments-rail-status plan-comments-rail-status-${e.status}`,children:e.status})]})},e.id))})]})]}),Ie&&!H&&(0,G.jsxs)(`button`,{type:`button`,className:`plan-selection-popup plan-selection-popup-${Ie.placement}`,style:{left:Ie.x,top:Ie.y},onMouseDown:e=>e.preventDefault(),onClick:on,children:[(0,G.jsx)(MO,{size:13,"aria-hidden":`true`}),`Add comment`,(0,G.jsxs)(`span`,{className:`plan-selection-popup-lines`,children:[`L`,Ie.startLine,Ie.endLine===Ie.startLine?``:`–${Ie.endLine}`]})]}),fn,(0,G.jsx)(c4,{isOpen:!!L,filePath:L,onClose:()=>R(null)}),(0,G.jsx)(w4,{open:ye,title:`Save as new version?`,description:`Creates v${e.version+1} from your current draft and reopens the plan for review (decision becomes pending). In-place autosave does not create a version.`,confirmLabel:`Save as new version`,cancelLabel:`Cancel`,variant:`primary`,onConfirm:()=>{Qt()},onCancel:()=>be(!1)}),(0,G.jsx)(U4,{open:xe,canDiscardRecent:ht,canRollbackOriginal:gt&&_t,onChoose:e=>{Yt(e)},onCancel:()=>Se(!1),busy:Ce})]})}function Y4(e,t,n){return`
3907
3907
  :host {
3908
3908
  --diffs-tab-size: ${e} !important;
3909
3909
  --diffs-font-family: ${n} !important;
@@ -3956,4 +3956,4 @@ https://github.com/highlightjs/highlight.js/issues/2277`),i=e,r=t),n===void 0&&(
3956
3956
  overflow-wrap: break-word !important;
3957
3957
  min-width: 0 !important;
3958
3958
  }
3959
- `}var X4={pending:{icon:rO,className:`plan-badge-pending`,label:`Pending`},approved:{icon:UD,className:`plan-badge-approved`,label:`Approved`},"changes-requested":{icon:NO,className:`plan-badge-changes`,label:`Changes`},rejected:{icon:ck,className:`plan-badge-rejected`,label:`Rejected`},"comment-only":{icon:PO,className:`plan-badge-comment-only`,label:`Comment only`}},Z4=[`all`,`pending`,`approved`,`changes-requested`,`rejected`,`comment-only`];function Q4(){try{let e=CD(b4.decisionFilter);if(e&&Z4.includes(e))return e}catch{}return`all`}function $4({plans:e,activeId:t,onSelect:n,onDelete:r,collapsed:i,onToggleCollapse:a}){let[o,s]=(0,W.useState)(``),[c,l]=(0,W.useState)(Q4),[u,d]=(0,W.useState)(null),f=(0,W.useCallback)(e=>{l(e),DD(b4.decisionFilter,e)},[]),p=(0,W.useMemo)(()=>[...e].sort((e,t)=>t.createdAt-e.createdAt),[e]),m=(0,W.useMemo)(()=>{let e=o.toLowerCase().trim();return p.filter(t=>c!==`all`&&t.decision!==c?!1:e?`${t.title} ${t.source??``} ${t.sourcePath??``} ${t.model??``} ${t.id}`.toLowerCase().includes(e):!0)},[p,o,c]),h=(0,W.useMemo)(()=>e.filter(e=>e.decision===`pending`).length,[e]);return i?(0,G.jsx)(`div`,{className:`plan-list plan-list-collapsed`,children:a&&(0,G.jsx)($T,{content:`Expand sidebar · b`,side:`right`,children:(0,G.jsx)(`button`,{className:`sidebar-toggle`,onClick:a,"aria-label":`Expand sidebar`,children:(0,G.jsx)(UO,{size:16})})})}):(0,G.jsxs)(`div`,{className:`plan-list`,children:[(0,G.jsxs)(`div`,{className:`plan-list-chrome`,children:[(0,G.jsxs)(`div`,{className:`plan-list-toolbar`,children:[a&&(0,G.jsx)($T,{content:`Collapse sidebar · b`,side:`right`,children:(0,G.jsx)(`button`,{className:`sidebar-toggle`,onClick:a,"aria-label":`Collapse sidebar`,children:(0,G.jsx)(HO,{size:16})})}),(0,G.jsxs)(`div`,{className:`plan-list-search`,children:[(0,G.jsx)(ZO,{size:14,className:`plan-list-search-icon`,"aria-hidden":`true`}),(0,G.jsx)(`input`,{type:`text`,placeholder:`Search plans…`,value:o,onChange:e=>s(e.target.value),className:`plan-list-search-input`,"aria-label":`Search plans`})]})]}),(0,G.jsx)(`div`,{className:`plan-list-filters`,role:`group`,"aria-label":`Filter by decision`,children:[{id:`all`,label:`All`},{id:`pending`,label:h?`Pending ${h}`:`Pending`},{id:`approved`,label:`Approved`},{id:`changes-requested`,label:`Changes`},{id:`rejected`,label:`Rejected`}].map(e=>(0,G.jsx)(`button`,{type:`button`,className:`plan-list-filter ${c===e.id?`is-active`:``}`,"aria-pressed":c===e.id,onClick:()=>f(e.id),children:e.label},e.id))})]}),(0,G.jsxs)(`div`,{className:`plan-list-scroll`,children:[(0,G.jsx)(`div`,{className:`plan-list-header`,children:(0,G.jsx)(`span`,{children:m.length===e.length?`${e.length} plan${e.length===1?``:`s`}`:`${m.length} of ${e.length}`})}),m.length===0&&(0,G.jsx)(`div`,{className:`plan-list-empty`,children:o||c!==`all`?`No matching plans.`:`No plans yet.`}),(0,G.jsx)(`div`,{className:`plan-list-items`,children:m.map(e=>{let i=X4[e.decision],a=i.icon,o=(e.comments??[]).filter(e=>e.status===`open`).length,s=e.sourcePath||e.source,c=e.id===t;return(0,G.jsxs)(`div`,{className:`plan-list-item ${c?`plan-list-item-active`:``}`,onClick:()=>n(e.id),role:`button`,tabIndex:0,"aria-current":c?`true`:void 0,onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),n(e.id))},children:[(0,G.jsxs)(`div`,{className:`plan-list-item-top`,children:[(0,G.jsx)(`span`,{className:`plan-badge plan-badge-dot ${i.className}`,title:i.label,children:(0,G.jsx)(a,{size:11,"aria-hidden":`true`})}),(0,G.jsx)(`span`,{className:`plan-list-item-title`,title:e.title,children:e.title}),s&&(0,G.jsx)($T,{content:`Copy source path`,children:(0,G.jsx)(`button`,{className:`plan-list-copy-path`,title:`Copy source path`,"aria-label":`Copy source path`,onClick:t=>{t.stopPropagation();let n=e.sourcePath||e.source||``;navigator.clipboard?.writeText(n).then(()=>{d(e.id),window.setTimeout(()=>d(null),1200)},()=>{})},children:u===e.id?(0,G.jsx)(UD,{size:12}):(0,G.jsx)(oO,{size:12})})}),(0,G.jsx)(`button`,{className:`plan-list-delete`,title:`Delete plan`,"aria-label":`Delete plan`,onClick:t=>{t.stopPropagation(),r(e.id)},children:(0,G.jsx)(rk,{size:12,"aria-hidden":`true`})})]}),(0,G.jsxs)(`div`,{className:`plan-list-item-sub`,children:[(0,G.jsxs)(`span`,{className:`plan-list-item-version`,children:[`v`,e.version]}),o>0&&(0,G.jsxs)(`span`,{className:`plan-list-item-open`,children:[o,` open`]}),e.model&&(0,G.jsxs)(`span`,{className:`plan-list-item-model`,title:e.model,children:[(0,G.jsx)(VD,{size:10,"aria-hidden":`true`}),e.model]}),(0,G.jsx)(`span`,{className:`plan-list-item-time`,children:eE(e.createdAt)})]})]},e.id)})})]})]})}var e3=[{value:`approved`,label:`Approve`,description:`The plan looks good — the agent should proceed.`,icon:UD,className:`plan-verdict-approve`},{value:`changes-requested`,label:`Request changes`,description:`The agent should revise the plan and resubmit it.`,icon:NO,className:`plan-verdict-changes`},{value:`rejected`,label:`Reject`,description:`Don't proceed — the approach needs rethinking.`,icon:ck,className:`plan-verdict-reject`},{value:`comment-only`,label:`Comment only`,description:`Agent must NOT edit files — only reply to comments. General note goes to chat.`,icon:PO,className:`plan-verdict-comment-only`}];function t3({openCommentCount:e,onSubmit:t,submitting:n,agentWaiting:r,currentDecision:i}){let{haptic:a,sound:o}=pD(),[s,c]=(0,W.useState)(!1),[l,u]=(0,W.useState)(null),[d,f]=(0,W.useState)(``),{popoverStyle:p,activePreset:m,applyPreset:h,startResize:g,startLeftResize:_,startCornerResize:v,handleOpenChange:y,panelRef:b}=LH(),x=async()=>{l&&(a(`heavy`),o(`send`),await t(l,d,l===`comment-only`?`comment-only`:`standard`),f(``),u(null),c(!1))},S=i!==`pending`;return(0,G.jsx)(Qk,{open:s,onOpenChange:(e,t)=>y(e,t,c),ariaLabel:`Submit plan review`,className:`submit-plan-review-popover`,trigger:(0,G.jsxs)(`button`,{className:`btn btn-primary btn-sm send-review-btn`,disabled:n,title:r?`An agent is connected and waiting for your verdict`:`Submit your verdict on this plan`,style:{display:`inline-flex`,alignItems:`center`,gap:`6px`},children:[r&&(0,G.jsx)(`span`,{className:`agent-waiting-dot`,"aria-hidden":`true`}),S?(0,G.jsx)(qO,{size:14}):(0,G.jsx)(eO,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:n?`Submitting…`:S?`Update review`:`Submit review`})]}),children:(0,G.jsxs)(`div`,{className:`srp`,ref:b,style:p,children:[(0,G.jsx)(`div`,{className:`srp-resize-handle-left`,onPointerDown:_,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize submit panel width`,tabIndex:0}),(0,G.jsxs)(`div`,{className:`srp-head`,children:[S?(0,G.jsx)(qO,{size:15,"aria-hidden":`true`}):(0,G.jsx)(eO,{size:15,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`srp-title`,children:S?`Update plan review`:`Submit plan review`}),(0,G.jsx)(`div`,{className:`srp-size-presets`,role:`group`,"aria-label":`Panel size`,children:OH.map((e,t)=>(0,G.jsx)(`button`,{className:`srp-preset-btn`,role:`radio`,"aria-checked":m===t,"aria-pressed":m===t,onClick:()=>h(e),title:`${e.width}×${e.height}px`,children:e.label},e.label))}),e>0&&(0,G.jsxs)(`span`,{className:`srp-count`,children:[e,` open comment`,e===1?``:`s`]})]}),(0,G.jsxs)(`div`,{className:`srp-scroll`,children:[(0,G.jsx)(`div`,{className:`plan-verdict-options`,role:`radiogroup`,"aria-label":`Verdict`,children:e3.map(e=>{let t=e.icon,n=l===e.value;return(0,G.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":n,className:`plan-verdict-option ${e.className} ${n?`plan-verdict-option-selected`:``}`,onClick:()=>u(e.value),children:[(0,G.jsx)(`span`,{className:`plan-verdict-icon`,children:(0,G.jsx)(t,{size:15,"aria-hidden":`true`})}),(0,G.jsxs)(`span`,{className:`plan-verdict-text`,children:[(0,G.jsx)(`span`,{className:`plan-verdict-label`,children:e.label}),(0,G.jsx)(`span`,{className:`plan-verdict-desc`,children:e.description})]}),(0,G.jsx)(`span`,{className:`plan-verdict-radio`,"aria-hidden":`true`})]},e.value)})}),(0,G.jsxs)(`div`,{className:`srp-general`,children:[(0,G.jsxs)(`label`,{className:`srp-general-label`,htmlFor:`plan-decision-comment`,children:[`Overall comment `,(0,G.jsx)(`span`,{className:`srp-optional`,children:`(optional · Markdown)`})]}),(0,G.jsx)(TH,{id:`plan-decision-comment`,value:d,onChange:f,textareaClassName:`srp-general-input`,placeholder:`Add an overall note for the agent that applies to the whole plan…`,rows:3,ariaLabel:`Overall plan review comment`,onSubmitShortcut:x})]})]}),(0,G.jsxs)(`div`,{className:`srp-footer`,children:[(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:()=>c(!1),disabled:n,children:`Cancel`}),(0,G.jsx)(`button`,{className:`btn btn-primary btn-sm`,onClick:x,disabled:!l||n,children:n?`Submitting…`:`Submit review`})]}),(0,G.jsx)(`div`,{className:`srp-resize-handle`,onPointerDown:g,role:`separator`,"aria-orientation":`horizontal`,"aria-label":`Resize submit panel`,tabIndex:0}),(0,G.jsx)(`div`,{className:`srp-resize-handle-corner`,onPointerDown:v,role:`separator`,"aria-label":`Resize submit panel width and height`,tabIndex:0})]})})}var n3=[11,12,13,14,15,16].map(e=>({value:String(e),label:`${e}px`})),r3=[2,4,8].map(e=>({value:String(e),label:String(e)})),i3=[{value:`both`,label:`Both`},{value:`line`,label:`Line only`},{value:`number`,label:`Number only`},{value:`disabled`,label:`Disabled`}];function a3(){let e=Am(),{settings:t,loaded:n,updateSettings:r}=IE();LE(n,t.uiFont,t.monoFont);let{plans:i,getPlan:a,removePlan:o,agentActivity:s,clearAgentActivity:c,submitDecision:l,submitting:u,agentWaiting:d,isLoading:f}=wE(),p=jE(),[m,h]=(0,W.useState)(!1),[g,_]=(0,W.useState)(!1),[v,y]=(0,W.useState)(!1);(0,W.useEffect)(()=>{let e=e=>{if(e.metaKey||e.ctrlKey){if(e.key===`,`||e.code===`Comma`){e.preventDefault(),_(e=>!e);return}(e.key===`?`||e.key===`/`&&e.shiftKey||e.code===`Slash`&&e.shiftKey)&&(e.preventDefault(),y(!0))}};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[]);let[b,x]=(0,W.useState)(()=>{try{let e=CD(b4.viewMode);if(e===`rendered`||e===`split`||e===`source`)return e}catch{}return`source`}),S=(0,W.useCallback)(e=>{x(e);try{DD(b4.viewMode,e)}catch{}},[]),[C,w]=(0,W.useState)(()=>x4(b4.zenMode,!1)),T=(0,W.useCallback)(e=>{w(e);try{DD(b4.zenMode,String(e))}catch{}},[]),E=(0,W.useCallback)(()=>{b===`rendered`?T(!C):(S(`rendered`),T(!0))},[b,C,S,T]),[D,O]=(0,W.useState)(()=>{try{let e=CD(b4.tocOpen);if(e===`false`)return!1;if(e===`true`)return!0}catch{}return!0}),[k,A]=(0,W.useState)(()=>{try{let e=CD(b4.commentsRail);if(e===`false`)return!1;if(e===`true`)return!0}catch{}return!0}),j=(0,W.useCallback)(e=>{O(e),DD(b4.tocOpen,String(e))},[]),M=(0,W.useCallback)(e=>{A(e),DD(b4.commentsRail,String(e))},[]),N=(0,W.useCallback)(()=>{j(!D)},[D,j]),P=(0,W.useCallback)(()=>{M(!k)},[k,M]),F=(0,W.useMemo)(()=>{let e=/^\/plan\/([^/]+)/.exec(p);return e?decodeURIComponent(e[1]):null},[p]),I=(0,W.useMemo)(()=>F?a(F):i.length===0?null:[...i].reverse().find(e=>e.decision===`pending`)??i[i.length-1],[F,i,a]),L=(0,W.useMemo)(()=>nE[t.theme||`nord`]||nE.nord,[t.theme]);(0,W.useEffect)(()=>{let e=t.theme||`nord`,n=document.documentElement;n.classList.add(`theme-switching`),n.setAttribute(`data-theme`,e);let r=requestAnimationFrame(()=>{requestAnimationFrame(()=>n.classList.remove(`theme-switching`))});return()=>cancelAnimationFrame(r)},[t.theme]),(0,W.useEffect)(()=>{e&&e.setRenderOptions({theme:{dark:L.type===`dark`?L.themeName:`nord`,light:L.type===`light`?L.themeName:`github-light`}}).catch(e=>console.error(`Failed to set worker pool render options:`,e))},[e,L]),(0,W.useEffect)(()=>{let e=L.type===`dark`?L.themeName:`nord`,t=L.type===`light`?L.themeName:`github-light`;Uf({themes:Array.from(new Set([e,t])),langs:[]}).catch(()=>{})},[L]);let[R,z]=(0,W.useState)(()=>{try{let e=CD(`diffing-sidebar-collapsed`);if(e!=null)return e===`true`}catch{}return typeof window<`u`&&window.innerWidth<=768}),[ee,te]=(0,W.useState)(()=>{try{let e=CD(`diffing-sidebar-width`);return e?Number(e):320}catch{return 320}});(0,W.useEffect)(()=>{try{DD(`diffing-sidebar-collapsed`,String(R))}catch{}},[R]);let ne=(0,W.useRef)(ee);ne.current=ee;let B=(0,W.useRef)(null),V=(0,W.useRef)(null),re=(0,W.useRef)(null),ie=(0,W.useCallback)(e=>{e.preventDefault();let t=e.clientX,n=ne.current,r=V.current,i=re.current,a=r?r.getBoundingClientRect().left:0,o=n,s=0,c=()=>{s=0,i&&(i.style.transform=`translateX(${a+o}px)`)};i&&(i.style.transform=`translateX(${a+n}px)`,i.classList.add(`sidebar-resize-guide-active`));let l=e=>{let r=e.clientX-t;o=Math.max(240,Math.min(640,n+r)),s||=requestAnimationFrame(c)},u=()=>{s&&cancelAnimationFrame(s),i&&i.classList.remove(`sidebar-resize-guide-active`),te(o);try{DD(`diffing-sidebar-width`,String(o))}catch{}document.removeEventListener(`mousemove`,l),document.removeEventListener(`mouseup`,u),document.body.style.cursor=``,document.body.style.userSelect=``};document.addEventListener(`mousemove`,l),document.addEventListener(`mouseup`,u),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`},[]),ae=(0,W.useCallback)(()=>{z(e=>!e)},[]),oe=(0,W.useCallback)(()=>{r({lineWrap:!t.lineWrap})},[t.lineWrap,r]),se=(0,W.useCallback)(()=>{r({showLineNumbers:!t.showLineNumbers})},[t.showLineNumbers,r]),ce=(0,W.useCallback)(()=>{let e=[`source`,`rendered`,`split`],t=e[(e.indexOf(b)+1)%e.length];S(t)},[b,S]),H=(0,W.useCallback)(()=>{let e=[2,4,8],n=t.defaultTabSize||4;r({defaultTabSize:e[(e.indexOf(n)+1)%e.length]})},[t.defaultTabSize,r]),le=(0,W.useCallback)(e=>{if(i.length===0)return;let t=[...i].sort((e,t)=>t.createdAt-e.createdAt),n=0;if(I){let r=t.findIndex(e=>e.id===I.id);r!==-1&&(n=e===`next`?Math.min(r+1,t.length-1):Math.max(r-1,0))}let r=t[n];DE(`/plan/${r.id}`)},[i,I]);(0,W.useEffect)(()=>{let e=``,t,n=0,r=r=>{let i=document.activeElement;if(i){let e=i.tagName.toLowerCase();if(e===`input`||e===`textarea`||i.hasAttribute(`contenteditable`))return}clearTimeout(t);let a=r.key;if(r.ctrlKey){a===`d`?(r.preventDefault(),window.scrollBy({top:window.innerHeight/2,behavior:`auto`}),dD(`selection`,`navigate`),e=``):a===`u`&&(r.preventDefault(),window.scrollBy({top:-window.innerHeight/2,behavior:`auto`}),dD(`selection`,`navigate`),e=``);return}if(!(a.length>1&&a!==`Escape`&&a!==`Enter`))if(e+=a,t=setTimeout(()=>{e=``},800),e===`j`){r.preventDefault(),window.scrollBy({top:100,behavior:`auto`});let t=Date.now();t-n>80&&(lD(`navigate`),n=t),e=``}else if(e===`k`){r.preventDefault(),window.scrollBy({top:-100,behavior:`auto`});let t=Date.now();t-n>80&&(lD(`navigate`),n=t),e=``}else e===`gg`?(r.preventDefault(),window.scrollTo({top:0,behavior:`auto`}),dD(`selection`,`navigate`),e=``):e===`G`?(r.preventDefault(),window.scrollTo({top:document.documentElement.scrollHeight,behavior:`auto`}),dD(`selection`,`navigate`),e=``):e===`J`?(r.preventDefault(),le(`next`),dD(`selection`,`navigate`),e=``):e===`K`?(r.preventDefault(),le(`prev`),dD(`selection`,`navigate`),e=``):e===`m`?(r.preventDefault(),ce(),dD(`selection`,`toggle`),e=``):e===`z`?(r.preventDefault(),E(),dD(`selection`,`toggle`),e=``):e===`c`?(r.preventDefault(),P(),dD(`selection`,`toggle`),e=``):e===`o`?(r.preventDefault(),N(),dD(`selection`,`toggle`),e=``):e===`t`?(r.preventDefault(),H(),dD(`selection`,`toggle`),e=``):e===`b`?(r.preventDefault(),ae(),dD(`selection`,`toggle`),e=``):e===`w`?(r.preventDefault(),oe(),dD(`selection`,`toggle`),e=``):e===`n`?(r.preventDefault(),se(),dD(`selection`,`toggle`),e=``):e===`gt`?(r.preventDefault(),h(!0),dD(`medium`,`open`),e=``):e===`?`?(r.preventDefault(),y(!0),dD(`medium`,`open`),e=``):e.length>=2&&(e=``)};return window.addEventListener(`keydown`,r),()=>{window.removeEventListener(`keydown`,r)}},[ae,oe,se,ce,E,P,N,H,le]);let ue=(0,W.useMemo)(()=>I?(I.comments??[]).filter(e=>e.status===`open`).length:0,[I]);return f||!n?(0,G.jsxs)(`div`,{className:`app plan-app skeleton-app`,style:{"--sidebar-width":`${ee}px`},children:[(0,G.jsxs)(`header`,{className:`skeleton-toolbar`,children:[(0,G.jsx)(`div`,{className:`skeleton-item skeleton-logo`,style:{width:`140px`}}),(0,G.jsx)(`div`,{className:`skeleton-item skeleton-stats`,style:{width:`80px`,marginLeft:`20px`}}),(0,G.jsx)(`div`,{className:`skeleton-item skeleton-actions`,style:{width:`220px`}})]}),(0,G.jsxs)(`div`,{className:`app-body`,children:[(0,G.jsx)(`aside`,{className:`sidebar plan-sidebar skeleton-sidebar ${R?`sidebar-collapsed`:``}`,children:!R&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`skeleton-search`,style:{height:`32px`,margin:`0 16px 16px 16px`}}),(0,G.jsx)(`div`,{className:`skeleton-tree-nodes`,children:Array.from({length:4}).map((e,t)=>(0,G.jsxs)(`div`,{className:`skeleton-tree-node`,style:{paddingLeft:`16px`,height:`40px`,borderBottom:`1px solid var(--border-weak)`},children:[(0,G.jsx)(`div`,{className:`skeleton-node-icon`,style:{width:`20px`,height:`20px`,borderRadius:`50%`}}),(0,G.jsx)(`div`,{className:`skeleton-node-text`,style:{width:`${80+t*30%90}px`,height:`14px`}})]},t))})]})}),!R&&(0,G.jsx)(`div`,{className:`sidebar-resize-handle`,style:{cursor:`default`}}),(0,G.jsx)(`main`,{className:`main plan-main skeleton-main`,children:(0,G.jsxs)(`div`,{className:`file-diff-card skeleton-card`,style:{border:`1px solid var(--border-color)`,borderRadius:`8px`},children:[(0,G.jsxs)(`div`,{className:`skeleton-card-header`,style:{padding:`16px 20px`},children:[(0,G.jsx)(`div`,{className:`skeleton-card-title`,style:{width:`250px`,height:`20px`}}),(0,G.jsx)(`div`,{className:`skeleton-card-badge`,style:{width:`100px`,height:`24px`}})]}),(0,G.jsxs)(`div`,{className:`skeleton-card-body`,style:{padding:`24px`,background:`var(--bg-secondary)`,display:`flex`,flexDirection:`column`,gap:`16px`},children:[(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`90%`,height:`16px`}}),(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`75%`,height:`16px`}}),(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`85%`,height:`16px`}}),(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`40%`,height:`16px`}}),(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`60%`,height:`16px`}}),(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`80%`,height:`16px`}})]})]})})]})]}):(0,G.jsx)(fD,{enabled:t.haptics??!0,soundsEnabled:t.sounds??!0,children:(0,G.jsxs)(`div`,{className:`app plan-app`,ref:B,style:{"--sidebar-width":`${ee}px`},children:[(0,G.jsx)(`div`,{className:`sidebar-resize-guide`,ref:re,"aria-hidden":`true`}),(0,G.jsxs)(`div`,{className:`toolbar plan-app-toolbar`,children:[(0,G.jsxs)(`div`,{className:`toolbar-left`,children:[(0,G.jsx)(`button`,{className:`toolbar-mobile-toggle`,onClick:()=>z(!R),"aria-label":`Toggle sidebar`,title:R?`Open sidebar`:`Close sidebar`,children:(0,G.jsx)(AO,{size:18})}),(0,G.jsx)($T,{content:`Back to diff review`,side:`bottom`,children:(0,G.jsxs)(`button`,{className:`btn btn-sm plan-toolbar-back`,onClick:()=>DE(`/`),"aria-label":`Back to the diff review`,children:[(0,G.jsx)(zD,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:`Diff`})]})}),(0,G.jsxs)(`div`,{className:`plan-toolbar-brand`,children:[(0,G.jsx)(HH,{size:18,className:`plan-app-brand`}),(0,G.jsxs)(`div`,{className:`plan-toolbar-brand-text`,children:[(0,G.jsx)(`h1`,{className:`toolbar-title plan-app-title`,children:`Plans`}),I?(0,G.jsx)(`span`,{className:`plan-toolbar-active`,title:I.title,children:I.title}):(0,G.jsxs)(`span`,{className:`plan-toolbar-count`,children:[i.length,` plan`,i.length===1?``:`s`]})]})]})]}),(0,G.jsx)(`div`,{className:`plan-view-toggle`,role:`group`,"aria-label":`Plan view mode`,children:[{id:`source`,label:`Source`,icon:iO,tip:`Source — select lines to comment`},{id:`rendered`,label:`Read`,icon:fO,tip:`Read — rendered markdown (highlight to comment)`},{id:`split`,label:`Split`,icon:aO,tip:`Split — source + rendered (drag the divider to resize)`}].map(({id:e,label:t,icon:n,tip:r})=>(0,G.jsx)($T,{content:`${r} · m to cycle`,side:`bottom`,children:(0,G.jsxs)(`button`,{type:`button`,className:`plan-view-toggle-btn ${b===e?`is-active`:``}`,"aria-pressed":b===e,"aria-label":r,onClick:()=>S(e),children:[(0,G.jsx)(n,{size:13,"aria-hidden":`true`}),(0,G.jsx)(`span`,{children:t})]})},e))}),(0,G.jsxs)(`div`,{className:`toolbar-right`,children:[(0,G.jsx)(Qk,{open:g,onOpenChange:_,ariaLabel:`Settings`,className:`settings-popover`,trigger:(0,G.jsxs)(`button`,{className:`btn btn-sm settings-btn ${g?`btn-active`:``}`,title:`Settings (⌘,)`,"aria-label":`Settings`,children:[(0,G.jsx)(QO,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:`Settings`})]}),children:(0,G.jsxs)(`div`,{className:`popover-scroll settings-panel`,children:[(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Appearance`}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Theme`}),(0,G.jsxs)(`button`,{className:`btn btn-sm settings-btn`,onClick:()=>{_(!1),h(!0)},style:{display:`inline-flex`,alignItems:`center`},children:[(0,G.jsx)(VO,{size:14,style:{marginRight:`4px`}}),(0,G.jsx)(`span`,{children:`Switch Theme...`})]})]}),(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Plan chrome`}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:D,onChange:e=>j(e.target.checked)}),`Show outline`]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:k,onChange:e=>M(e.target.checked)}),`Show comments panel`]}),(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Display`}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:t.lineWrap,onChange:e=>r({lineWrap:e.target.checked})}),`Wrap long lines`]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:t.showLineNumbers,onChange:e=>r({showLineNumbers:e.target.checked})}),`Show line numbers`]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:t.showStatusBar??!0,onChange:e=>r({showStatusBar:e.target.checked})}),`Show status bar`]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Hover highlight`}),(0,G.jsx)(tW,{value:t.lineHoverHighlight,onValueChange:e=>r({lineHoverHighlight:e}),options:i3,ariaLabel:`Hover highlight`})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Font size`}),(0,G.jsx)(tW,{value:String(t.fontSize),onValueChange:e=>r({fontSize:Number(e)}),options:n3,ariaLabel:`Font size`})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Default tab size`}),(0,G.jsx)(tW,{value:String(t.defaultTabSize),onValueChange:e=>r({defaultTabSize:Number(e)}),options:r3,ariaLabel:`Default tab size`})]})]})}),I&&(0,G.jsx)(t3,{openCommentCount:ue,onSubmit:(e,t)=>l(I.id,e,t),submitting:u,agentWaiting:d,currentDecision:I.decision})]})]}),!R&&(0,G.jsx)(`div`,{className:`sidebar-mobile-backdrop`,onClick:()=>z(!0),"aria-hidden":`true`}),(0,G.jsxs)(`div`,{className:`app-body`,children:[(0,G.jsx)(`aside`,{ref:V,className:`sidebar plan-sidebar ${R?`sidebar-collapsed`:``}`,children:(0,G.jsx)(`div`,{style:{flex:1,minHeight:0,overflow:`hidden`},children:(0,G.jsx)($4,{plans:i,activeId:I?.id??null,onSelect:e=>DE(`/plan/${e}`),onDelete:e=>{o(e),I?.id===e&&DE(`/plan`)},collapsed:R,onToggleCollapse:()=>z(!R)})})}),!R&&(0,G.jsx)(`div`,{className:`sidebar-resize-handle`,onMouseDown:ie,role:`separator`,"aria-label":`Resize sidebar`,"aria-orientation":`vertical`,tabIndex:0}),(0,G.jsx)(`main`,{className:`main plan-main`,children:I?(0,G.jsx)(J4,{plan:I,theme:t.theme||`nord`,fontSize:t.fontSize,monoFontFamily:FE(t.monoFont),defaultTabSize:t.defaultTabSize,lineWrap:t.lineWrap,showLineNumbers:t.showLineNumbers,lineHoverHighlight:t.lineHoverHighlight,viewMode:b,onViewModeChange:S,editorIDE:t.editorIDE,tocOpen:D,onTocOpenChange:j,commentsRailOpen:k,onCommentsRailOpenChange:M,zenMode:C,onZenModeChange:T},I.id):(0,G.jsx)(o3,{hasPlans:i.length>0,notFound:!!F})})]}),(0,G.jsx)(B2,{open:m,activeTheme:t.theme||`nord`,onThemeChange:e=>r({theme:e}),onClose:()=>h(!1)}),(0,G.jsx)(R2,{activity:s?{at:s.at,commentId:s.commentId,filePath:`plan · ${s.planId.slice(0,8)}`,model:s.model,body:s.body}:null,onDismiss:c,onJump:()=>{s&&(DE(`/plan/${s.planId}`),requestAnimationFrame(()=>{document.getElementById(`plan-comment-${s.commentId}`)?.scrollIntoView({behavior:`smooth`,block:`center`})}))}}),(0,G.jsx)(I2,{activeFile:I?I.title:null,onShowHelp:()=>y(!0),placeholder:`No active plan (J/K to jump)`,visible:t.showStatusBar??!0}),(0,G.jsx)(L2,{isOpen:v,onClose:()=>y(!1),mode:`plan`})]})})}function o3({hasPlans:e,notFound:t}){return(0,G.jsxs)(`div`,{className:`plan-empty-state`,children:[(0,G.jsx)(`div`,{className:`plan-empty-icon`,"aria-hidden":`true`,children:(0,G.jsx)(tO,{size:28})}),t?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`h2`,{className:`plan-empty-title`,children:`Plan not found`}),(0,G.jsx)(`p`,{className:`plan-empty-body`,children:`It may have been deleted. Pick another from the list, or submit a new one.`})]}):e?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`h2`,{className:`plan-empty-title`,children:`Select a plan`}),(0,G.jsx)(`p`,{className:`plan-empty-body`,children:`Choose one from the sidebar to start reviewing.`})]}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`h2`,{className:`plan-empty-title`,children:`No plans yet`}),(0,G.jsx)(`p`,{className:`plan-empty-body`,children:`Agents submit a plan, you review it here, then they continue on approval.`}),(0,G.jsxs)(`div`,{className:`plan-empty-steps`,children:[(0,G.jsx)(`code`,{children:`diffing plan submit PLAN.md`}),(0,G.jsx)(`code`,{children:`diffing plan await`})]})]})]})}var s3=[`pr-session`];function c3(){let e=Ve(),{data:t,isLoading:n,error:r}=nt({queryKey:s3,queryFn:async()=>{let e=await fetch(`/api/gh/session`);if(e.status===404)return null;if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();return t?.prMode===!1?null:t},retry:!1});return(0,W.useEffect)(()=>fE(`pr-session`,()=>{e.invalidateQueries({queryKey:s3})}),[e]),{session:t,loaded:!n,error:r}}function l3(e){let t=Ve();(0,W.useEffect)(()=>{if(!e)return;let n=!1,r=!1,i=async()=>{if(!(n||r||document.visibilityState===`hidden`)){r=!0;try{(await fetch(`/api/gh/comments/sync`,{method:`POST`})).ok&&!n&&await t.invalidateQueries({queryKey:s3})}finally{r=!1}}},a=()=>{i()};i();let o=window.setInterval(i,3e4);return window.addEventListener(`focus`,a),()=>{n=!0,window.clearInterval(o),window.removeEventListener(`focus`,a)}},[e,t])}var u3=[`pr-comments`];function d3(e){let t=Ve(),{data:n=[]}=nt({queryKey:u3,queryFn:async()=>{let e=await fetch(`/api/gh/pr-session/comments`);if(e.status===404)return[];if(!e.ok)throw Error(`HTTP ${e.status}`);return e.json()},enabled:e});(0,W.useEffect)(()=>fE(`pr-session`,()=>{t.invalidateQueries({queryKey:u3})}),[t]);let r=rt({mutationFn:async e=>(await fetch(`/api/gh/pr-session/comments`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)})).json(),onSuccess:e=>{t.setQueryData(u3,(t=[])=>[...t,e])}}),i=rt({mutationFn:async e=>(await fetch(`/api/gh/pr-session/comments/${e}`,{method:`DELETE`}),e),onSuccess:e=>{t.setQueryData(u3,(t=[])=>t.filter(t=>t.id!==e))}}),a=rt({mutationFn:async({id:e,body:t,status:n})=>(await fetch(`/api/gh/pr-session/comments/${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:t,status:n})})).json(),onSuccess:e=>{t.setQueryData(u3,(t=[])=>t.map(t=>t.id===e.id?e:t))}}),o=rt({mutationFn:async({id:e,body:t})=>{let n=await fetch(`/api/gh/pr-session/comments/${e}/replies`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:t,role:`user`})}),r=await n.json().catch(()=>({}));if(!n.ok||!r.id)throw Error(r.error||`HTTP ${n.status}`);return r},onMutate:async({id:e,body:n})=>{await t.cancelQueries({queryKey:u3});let r=t.getQueryData(u3)??[],i=`pending-${crypto.randomUUID()}`;return t.setQueryData(u3,(t=[])=>t.map(t=>t.id===e?{...t,replies:[...t.replies??[],{id:i,body:n,createdAt:Date.now(),role:`user`}]}:t)),{previous:r}},onError:(e,n,r)=>{r?.previous&&t.setQueryData(u3,r.previous)},onSuccess:e=>{t.setQueryData(u3,(t=[])=>t.map(t=>t.id===e.id?e:t))}}),s=(0,W.useCallback)(e=>{a.mutate({id:e,status:`resolved`})},[a]),c=(0,W.useCallback)(e=>{a.mutate({id:e,status:`open`})},[a]),l=(0,W.useCallback)((e,t,n)=>{},[]),u=(0,W.useCallback)((e,t)=>{},[]);return{comments:n,addComment:r.mutate,removeComment:i.mutate,updateComment:a.mutate,addReply:o.mutateAsync,resolveComment:s,unresolveComment:c,editComment:(e,t)=>a.mutate({id:e,body:t}),editReply:l,removeReply:u}}function f3(){let e=Ve();return rt({mutationFn:async e=>{let t=new AbortController,n=window.setTimeout(()=>t.abort(),6e4);try{let n=await fetch(`/api/gh/submit`,{method:`POST`,headers:{"Content-Type":`application/json`},signal:t.signal,body:JSON.stringify({decision:e.decision,body:e.body,dryRun:e.dryRun})}),r=await n.json();if(!n.ok||!r.ok)throw Error(r.error||`HTTP ${n.status}`);return r}catch(e){throw t.signal.aborted?Error(`GitHub submission timed out. Check your connection and try again.`):e}finally{window.clearTimeout(n)}},onSuccess:()=>{e.setQueryData(u3,[]),e.invalidateQueries({queryKey:s3}),e.invalidateQueries({queryKey:u3})}})}function p3(){let e=Ve();return rt({mutationFn:async()=>{let e=await fetch(`/api/gh/pr/refresh`,{method:`POST`}),t=await e.json();if(!e.ok)throw Error(t.error||`HTTP ${e.status}`);return t},onSuccess:()=>{e.invalidateQueries({queryKey:s3}),e.invalidateQueries({queryKey:u3})}})}function m3(e){(0,W.useEffect)(()=>{let t=``,n,r=0,i=()=>{t=``,clearTimeout(n)},a=a=>{if((a.metaKey||a.ctrlKey)&&a.key.toLowerCase()===`k`){a.preventDefault(),e.onTogglePalette?e.onTogglePalette():e.onOpenPalette(`all`),i();return}let o=document.activeElement;if(o){let e=o.tagName.toLowerCase();if(e===`input`||e===`textarea`||o.hasAttribute(`contenteditable`))return}if((a.metaKey||a.ctrlKey)&&(a.key===`?`||a.key===`/`&&a.shiftKey||a.code===`Slash`&&a.shiftKey)){a.preventDefault(),e.onOpenShortcuts(),dD(`medium`,`open`),i();return}if(a.ctrlKey){(a.key===`d`||a.key===`u`)&&(a.preventDefault(),window.scrollBy({top:a.key===`d`?window.innerHeight/2:-window.innerHeight/2,behavior:`auto`}),dD(`selection`,`navigate`),i());return}let s=a.key;if(s.length>1&&s!==`Escape`&&s!==`Enter`)return;clearTimeout(n),t+=s,n=setTimeout(()=>{t=``},800);let c=(e,t=`toggle`)=>{a.preventDefault(),e(),dD(t===`open`?`medium`:`selection`,t),i()};if(t===`j`||t===`k`){a.preventDefault(),window.scrollBy({top:t===`j`?100:-100,behavior:`auto`});let e=Date.now();e-r>80&&(lD(`navigate`),r=e),i()}else t===`gg`?c(()=>window.scrollTo({top:0,behavior:`auto`}),`navigate`):t===`G`?c(()=>window.scrollTo({top:document.documentElement.scrollHeight,behavior:`auto`}),`navigate`):t===`J`?c(()=>e.onNavigateFile(`next`),`navigate`):t===`K`?c(()=>e.onNavigateFile(`prev`),`navigate`):t===`]`&&e.onNavigateCommit?c(()=>e.onNavigateCommit?.(`next`),`navigate`):t===`[`&&e.onNavigateCommit?c(()=>e.onNavigateCommit?.(`prev`),`navigate`):t===`v`?c(e.onToggleViewed):t===`m`?c(e.onToggleDiffStyle):t===`t`?c(e.onCycleTabSize):t===`b`?c(e.onToggleSidebar):t===`w`?c(e.onToggleLineWrap):t===`n`?c(e.onToggleLineNumbers):t===`i`?c(e.onCycleDiffIndicators):t===`I`?c(e.onCycleLineDiffType):t===`/`?c(()=>e.onOpenPalette(`text`),`open`):t===`s`||t===`gs`?c(()=>e.onOpenPalette(`symbols`),`open`):t===`gf`?c(()=>e.onOpenPalette(`all`),`open`):t===`gv`?c(()=>e.onOpenPalette(`files`),`open`):t===`gt`?c(e.onOpenTheme,`open`):t===`?`?c(e.onOpenShortcuts,`open`):t.length>=2&&i()};return window.addEventListener(`keydown`,a),()=>{window.removeEventListener(`keydown`,a),clearTimeout(n)}},[e])}function h3({session:e,comments:t,onEditComment:n,onDeleteComment:r,onSubmitted:i}){let{haptic:a,sound:o}=pD(),s=f3(),[c,l]=(0,W.useState)(!1),[u,d]=(0,W.useState)(null),[f,p]=(0,W.useState)(``),{popoverStyle:m,activePreset:h,applyPreset:g,startResize:_,startLeftResize:v,startCornerResize:y,handleOpenChange:b,panelRef:x}=LH(),S=t.length,C=(0,W.useMemo)(()=>[...t].sort((e,t)=>e.createdAt-t.createdAt),[t]),w=!!e.submittedAt,T=async()=>{if(u){a(`heavy`),o(`send`);try{let e=await s.mutateAsync({decision:u,body:f});i?.(e),p(``),d(null),l(!1)}catch{}}};return(0,G.jsx)(Qk,{open:c,onOpenChange:(e,t)=>b(e,t,l),ariaLabel:`Submit your review to GitHub`,className:`submit-to-github-popover`,trigger:(0,G.jsxs)(`button`,{className:`btn btn-primary btn-sm send-review-btn`,disabled:s.isPending,title:w?`Already submitted`:`Submit your review to the PR on GitHub`,style:{display:`inline-flex`,alignItems:`center`,gap:`6px`},children:[(0,G.jsx)(yO,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:s.isPending?`Submitting…`:w?`Submitted ✓`:S>0?`Submit to GitHub (${S})`:`Submit to GitHub`})]}),children:(0,G.jsxs)(`div`,{className:`srp`,ref:x,style:m,children:[(0,G.jsx)(`div`,{className:`srp-resize-handle-left`,onPointerDown:v,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize submit panel width`,tabIndex:0}),(0,G.jsxs)(`div`,{className:`srp-head`,children:[(0,G.jsx)(yO,{size:15,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`srp-title`,children:`Submit review to GitHub`}),(0,G.jsx)(`div`,{className:`srp-size-presets`,role:`group`,"aria-label":`Panel size`,children:OH.map((e,t)=>(0,G.jsx)(`button`,{className:`srp-preset-btn`,role:`radio`,"aria-checked":h===t,"aria-pressed":h===t,onClick:()=>g(e),title:`${e.width}×${e.height}px`,children:e.label},e.label))}),(0,G.jsxs)(`span`,{className:`srp-count`,children:[S,` comment`,S===1?``:`s`]})]}),(0,G.jsxs)(`div`,{className:`srp-scroll`,children:[w&&(0,G.jsxs)(`div`,{className:`srp-already-submitted`,children:[(0,G.jsx)(UD,{size:13}),(0,G.jsxs)(`span`,{children:[`Already submitted as`,` `,e.submittedReviewUrl?(0,G.jsxs)(`a`,{href:e.submittedReviewUrl,target:`_blank`,rel:`noreferrer`,children:[`review #`,e.submittedReviewId,` `,(0,G.jsx)(cO,{size:11})]}):`review #${e.submittedReviewId}`,`. Re-submitting will post a new review on the same PR.`]})]}),(0,G.jsx)(`div`,{className:`plan-verdict-options`,role:`radiogroup`,"aria-label":`Verdict`,children:g3.map(e=>{let t=e.icon,n=u===e.value;return(0,G.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":n,className:`plan-verdict-option ${e.className} ${n?`plan-verdict-option-selected`:``}`,onClick:()=>d(e.value),children:[(0,G.jsx)(`span`,{className:`plan-verdict-icon`,children:(0,G.jsx)(t,{size:15,"aria-hidden":`true`})}),(0,G.jsxs)(`span`,{className:`plan-verdict-text`,children:[(0,G.jsx)(`span`,{className:`plan-verdict-label`,children:e.label}),(0,G.jsx)(`span`,{className:`plan-verdict-desc`,children:e.description})]}),(0,G.jsx)(`span`,{className:`plan-verdict-radio`,"aria-hidden":`true`})]},e.value)})}),S>0?(0,G.jsxs)(`section`,{className:`srp-comments-section`,"aria-labelledby":`srp-gh-comments-title`,children:[(0,G.jsxs)(`div`,{className:`srp-section-heading`,id:`srp-gh-comments-title`,children:[(0,G.jsx)(PO,{size:13,"aria-hidden":`true`}),(0,G.jsx)(`span`,{children:`Inline comments to publish`}),(0,G.jsx)(`span`,{className:`srp-section-count`,children:S})]}),(0,G.jsx)(`ul`,{className:`srp-list`,"aria-label":`Comments to send`,children:C.map(e=>(0,G.jsx)(_3,{comment:e,onEdit:n,onDelete:r},e.id))})]}):(0,G.jsx)(`p`,{className:`srp-empty`,children:`No inline comments — your verdict and overall note will be sent on their own.`}),(0,G.jsxs)(`div`,{className:`srp-general`,children:[(0,G.jsxs)(`label`,{className:`srp-general-label`,htmlFor:`srp-gh-general-input`,children:[`Overall comment `,(0,G.jsx)(`span`,{className:`srp-optional`,children:`(optional · Markdown)`})]}),(0,G.jsx)(TH,{id:`srp-gh-general-input`,value:f,onChange:p,textareaClassName:`srp-general-input`,placeholder:`Add an overall note for the PR that applies to the whole review…`,rows:3,ariaLabel:`Overall PR review comment`,onSubmitShortcut:T})]}),s.isError&&(0,G.jsxs)(`div`,{className:`srp-error`,role:`alert`,children:[(0,G.jsx)(JD,{size:13}),(0,G.jsx)(`span`,{children:s.error?.message??`Submit failed`})]})]}),(0,G.jsxs)(`div`,{className:`srp-footer`,children:[(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:()=>l(!1),disabled:s.isPending,children:`Cancel`}),(0,G.jsx)(`button`,{className:`btn btn-primary btn-sm`,onClick:T,disabled:!u||s.isPending,children:s.isPending?`Submitting…`:u===`draft`?`Save draft review`:`Submit review`})]}),(0,G.jsx)(`div`,{className:`srp-resize-handle`,onPointerDown:_,role:`separator`,"aria-orientation":`horizontal`,"aria-label":`Resize submit panel`,tabIndex:0}),(0,G.jsx)(`div`,{className:`srp-resize-handle-corner`,onPointerDown:y,role:`separator`,"aria-label":`Resize submit panel width and height`,tabIndex:0})]})})}var g3=[{value:`approve`,label:`Approve`,description:`The PR is good — submit an APPROVE review.`,icon:UD,className:`plan-verdict-approve`},{value:`comment`,label:`Comment`,description:`Leave neutral feedback (no approve / no request changes).`,icon:NO,className:`plan-verdict-changes`},{value:`request-changes`,label:`Request changes`,description:`The author must address the comments before merging.`,icon:ck,className:`plan-verdict-reject`},{value:`draft`,label:`Save as draft`,description:`Post a PENDING review on GitHub — finish it later in the PR UI.`,icon:dO,className:`plan-verdict-comment-only`}];function _3({comment:e,onEdit:t,onDelete:n}){let[r,i]=(0,W.useState)(!1),[a,o]=(0,W.useState)(e.body),s=(0,W.useRef)(null);(0,W.useEffect)(()=>{r&&(s.current?.focus(),s.current?.select())},[r]);let c=e.lineNumber>0?e.startLineNumber&&e.startLineNumber!==e.lineNumber?`:${e.startLineNumber}-${e.lineNumber}`:`:${e.lineNumber}`:` · file`,l=()=>{let n=a.trim();n&&n!==e.body&&t(e.id,n),i(!1)};return(0,G.jsxs)(`li`,{className:`srp-item`,children:[(0,G.jsxs)(`div`,{className:`srp-item-top`,children:[(0,G.jsxs)(`span`,{className:`srp-item-loc`,children:[(0,G.jsx)(`span`,{className:`srp-item-file`,children:tE(e.filePath)}),(0,G.jsx)(`span`,{className:`srp-item-line`,children:c})]}),e.status===`resolved`&&(0,G.jsx)(`span`,{className:`srp-item-resolved`,children:`resolved`}),(0,G.jsxs)(`span`,{className:`srp-item-actions`,children:[r?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`button`,{className:`srp-icon-btn`,onClick:l,title:`Save edit`,children:(0,G.jsx)(UD,{size:13,"aria-hidden":`true`})}),(0,G.jsx)(`button`,{className:`srp-icon-btn`,onClick:()=>{o(e.body),i(!1)},title:`Cancel edit`,children:(0,G.jsx)(ck,{size:13,"aria-hidden":`true`})})]}):(0,G.jsx)(`button`,{className:`srp-icon-btn`,onClick:()=>i(!0),title:`Edit comment`,children:(0,G.jsx)(GO,{size:13,"aria-hidden":`true`})}),(0,G.jsx)(`button`,{className:`srp-icon-btn srp-icon-btn-danger`,onClick:()=>n(e.id),title:`Remove from review`,children:(0,G.jsx)(rk,{size:13,"aria-hidden":`true`})})]})]}),e.lineContent?.trim()&&(0,G.jsx)(`code`,{className:`srp-item-code`,children:e.lineContent.trim().slice(0,160)}),r?(0,G.jsx)(`textarea`,{ref:s,className:`srp-item-edit`,value:a,rows:2,onChange:e=>o(e.target.value),onKeyDown:t=>{t.key===`Enter`&&(t.metaKey||t.ctrlKey)?(t.preventDefault(),l()):t.key===`Escape`&&(t.preventDefault(),o(e.body),i(!1))}}):(0,G.jsx)(`p`,{className:`srp-item-body`,children:e.body})]})}function v3({session:e,comments:t,settingsProps:n,sidebarCollapsed:r,onToggleSidebar:i,onOpenSearch:a,onRefresh:o,refreshing:s,onEditComment:c,onDeleteComment:l,onSubmitted:u}){return(0,G.jsxs)(`header`,{className:`toolbar diff-app-toolbar pr-review-toolbar`,role:`banner`,children:[(0,G.jsxs)(`div`,{className:`toolbar-left`,children:[(0,G.jsx)(`button`,{className:`toolbar-mobile-toggle`,onClick:i,"aria-label":r?`Open file tree`:`Close file tree`,"aria-expanded":!r,title:r?`Open sidebar · b`:`Close sidebar · b`,children:(0,G.jsx)(AO,{size:18})}),(0,G.jsx)(`button`,{className:`pr-toolbar-back`,onClick:()=>DE(`/`),title:`Back to local review`,"aria-label":`Back to local review`,children:(0,G.jsx)(zD,{size:14})}),(0,G.jsxs)(`div`,{className:`toolbar-brand pr-toolbar-brand`,children:[(0,G.jsx)(HH,{size:20,className:`toolbar-brand-mark`}),(0,G.jsxs)(`div`,{className:`toolbar-brand-text`,children:[(0,G.jsxs)(`h1`,{className:`toolbar-title`,children:[e.owner,`/`,e.repo]}),(0,G.jsxs)(`span`,{className:`toolbar-branch-inline`,title:`Pull request #${e.pullNumber}`,children:[(0,G.jsx)(yO,{size:11}),` #`,e.pullNumber]}),e.headRefName&&e.baseRefName&&(0,G.jsxs)(`span`,{className:`toolbar-branch-flow`,title:`Comparing ${e.headRefName} into ${e.baseRefName}`,"aria-label":`Source branch ${e.headRefName} into target branch ${e.baseRefName}`,children:[(0,G.jsx)(`code`,{className:`toolbar-branch-head`,children:e.headRefName}),(0,G.jsx)(BD,{size:11,"aria-hidden":`true`}),(0,G.jsx)(`code`,{className:`toolbar-branch-base`,children:e.baseRefName})]})]})]})]}),(0,G.jsxs)(`div`,{className:`toolbar-right`,children:[(0,G.jsxs)(`button`,{className:`btn btn-sm toolbar-search-btn`,onClick:a,title:`Search files and changed lines (⌘K)`,"aria-label":`Search`,children:[(0,G.jsx)(ZO,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:`Search`}),(0,G.jsx)(`kbd`,{className:`toolbar-search-kbd`,children:`⌘K`})]}),(0,G.jsxs)(`button`,{className:`btn btn-sm pr-header-copy`,onClick:()=>navigator.clipboard.writeText(vE(t)),disabled:t.length===0,title:`Copy draft comments as Markdown`,children:[(0,G.jsx)(oO,{size:13}),` `,(0,G.jsx)(`span`,{className:`btn-label`,children:`Copy`})]}),(0,G.jsxs)(`button`,{className:`btn btn-sm pr-header-refresh`,onClick:o,disabled:s,title:`Refresh PR from GitHub`,children:[(0,G.jsx)(qO,{size:13,className:s?`spinning`:``}),(0,G.jsx)(`span`,{className:`btn-label`,children:s?`Refreshing…`:`Refresh`})]}),(0,G.jsxs)(`a`,{className:`btn btn-sm pr-header-link`,href:e.url,target:`_blank`,rel:`noreferrer`,title:`Open pull request on GitHub`,children:[(0,G.jsx)(cO,{size:13}),` `,(0,G.jsx)(`span`,{className:`btn-label`,children:`GitHub`})]}),(0,G.jsx)(fW,{...n}),(0,G.jsx)(h3,{session:e,comments:t,onEditComment:c,onDeleteComment:l,onSubmitted:u})]})]})}var y3={APPROVED:{label:`approved these changes`,short:`Approved`,icon:YD},CHANGES_REQUESTED:{label:`requested changes`,short:`Changes requested`,icon:$D},COMMENTED:{label:`left a review comment`,short:`Commented`,icon:jO},PENDING:{label:`started a pending review`,short:`Pending`,icon:nO},DISMISSED:{label:`had a review dismissed`,short:`Dismissed`,icon:$D}};function b3({reviews:e}){let[t,n]=(0,W.useState)(e[0]?.id??null),[r,i]=(0,W.useState)(null);if((0,W.useEffect)(()=>{n(e[0]?.id??null)},[e[0]?.id]),(0,W.useEffect)(()=>{i(null)},[t]),e.length===0)return null;let a=Math.max(0,e.findIndex(e=>e.id===t)),o=e[a]??e[0],s=y3[o.state],c=s.icon,l=o.submittedAt?new Date(o.submittedAt).getTime():null;return(0,G.jsxs)(`section`,{className:`pr-review-activity`,"aria-label":`GitHub review activity`,children:[(0,G.jsxs)(`header`,{className:`pr-review-activity-head`,children:[(0,G.jsxs)(`div`,{className:`pr-review-activity-identity`,children:[o.author?.avatarUrl&&r!==o.author.avatarUrl?(0,G.jsx)(`img`,{src:`/api/gh/avatar?url=${encodeURIComponent(o.author.avatarUrl)}`,alt:``,className:`pr-review-activity-avatar`,referrerPolicy:`no-referrer`,onError:()=>i(o.author?.avatarUrl??null)}):(0,G.jsx)(`span`,{className:`pr-review-activity-avatar is-fallback`,"aria-hidden":`true`,children:(0,G.jsx)(c,{size:14})}),(0,G.jsx)(c,{className:`pr-review-activity-state-icon`,"data-state":o.state,size:16,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{children:[(0,G.jsxs)(`strong`,{children:[`@`,o.author?.login??`unknown`]}),` `,s.label]}),l!=null&&(0,G.jsx)(`time`,{dateTime:o.submittedAt,title:new Date(l).toLocaleString(),children:eE(l)}),(0,G.jsx)(`span`,{className:`pr-review-activity-verdict`,"data-state":o.state,children:s.short})]}),(0,G.jsxs)(`nav`,{className:`pr-review-activity-nav`,"aria-label":`Walk GitHub reviews`,children:[(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm commit-walk-btn`,disabled:a===0,onClick:()=>n(e[a-1]?.id??o.id),"aria-label":`Newer review`,title:`Newer review`,children:(0,G.jsx)(GD,{size:14})}),(0,G.jsxs)(`span`,{children:[a+1,` / `,e.length]}),(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm commit-walk-btn`,disabled:a>=e.length-1,onClick:()=>n(e[a+1]?.id??o.id),"aria-label":`Older review`,title:`Older review`,children:(0,G.jsx)(KD,{size:14})}),o.htmlUrl&&(0,G.jsxs)(`a`,{className:`pr-review-activity-link`,href:o.htmlUrl,target:`_blank`,rel:`noreferrer`,children:[`View on GitHub `,(0,G.jsx)(cO,{size:11})]})]})]}),o.body.trim()?(0,G.jsx)(gH,{content:o.body,className:`pr-review-activity-body markdown-body`}):(0,G.jsx)(`p`,{className:`pr-review-activity-empty`,children:`No overall comment was submitted with this review.`})]})}function x3(e){return e.some(e=>e.state===`pending`)?8e3:3e4}function S3(e){return e===`success`?{icon:YD,className:`is-success`,label:`Succeeded`}:e===`pending`?{icon:nO,className:`is-pending`,label:`In progress`}:e===`failure`||e===`error`||e===`timed_out`||e===`action_required`?{icon:$D,className:`is-failure`,label:e===`timed_out`?`Timed out`:`Failed`}:e===`skipped`||e===`cancelled`||e===`neutral`?{icon:ZD,className:`is-neutral`,label:e===`cancelled`?`Cancelled`:e===`skipped`?`Skipped`:`Neutral`}:{icon:XD,className:`is-neutral`,label:`Unknown`}}function C3({headSha:e}){let t=nt({queryKey:[`pr-checks`,e],queryFn:async()=>{let e=await fetch(`/api/gh/checks`),t=await e.json().catch(()=>({}));if(!e.ok)throw Error(t.error||`HTTP ${e.status}`);return t},refetchInterval:e=>x3(e.state.data?.checks??[]),refetchOnWindowFocus:!0,staleTime:5e3}),n=t.data?.checks??[],r=n.filter(e=>e.state===`success`).length,i=n.filter(e=>e.state===`pending`).length,a=n.filter(e=>[`failure`,`error`,`timed_out`,`action_required`].includes(e.state)).length,o=Math.max(0,n.length-r-i-a),s=a>0?`failure`:i>0?`pending`:n.length>0?`success`:`neutral`,c=s===`failure`?$D:s===`pending`?nO:s===`success`?YD:XD;return(0,G.jsx)(Qk,{ariaLabel:`GitHub checks`,className:`pr-checks-popover`,trigger:(0,G.jsxs)(`button`,{className:`toolbar-chip pr-checks-trigger is-${s}`,title:`Live GitHub checks and actions status`,type:`button`,children:[(0,G.jsx)(c,{size:12}),(0,G.jsx)(`span`,{children:t.isLoading?`Loading checks…`:n.length===0?`No checks`:a>0?`${a} failing`:i>0?`${i} running`:`${r}/${n.length} passed`})]}),children:(0,G.jsxs)(`div`,{className:`pr-checks-panel`,children:[(0,G.jsxs)(`div`,{className:`pr-checks-head`,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`strong`,{children:`Checks and actions`}),(0,G.jsxs)(`span`,{children:[`Live status for `,e.slice(0,7)]})]}),(0,G.jsx)(`button`,{className:`file-diff-icon-btn`,onClick:()=>t.refetch(),disabled:t.isFetching,"aria-label":`Refresh checks`,children:(0,G.jsx)(qO,{size:13,className:t.isFetching?`spinning`:``})})]}),n.length>0&&(0,G.jsxs)(`div`,{className:`pr-checks-summary`,"aria-label":`Checks summary`,children:[(0,G.jsxs)(`span`,{className:`is-success`,children:[(0,G.jsx)(YD,{size:12}),` `,r,` passed`]}),(0,G.jsxs)(`span`,{className:`is-failure`,children:[(0,G.jsx)($D,{size:12}),` `,a,` failed`]}),(0,G.jsxs)(`span`,{className:`is-pending`,children:[(0,G.jsx)(nO,{size:12}),` `,i,` running`]}),o>0&&(0,G.jsxs)(`span`,{className:`is-neutral`,children:[(0,G.jsx)(ZD,{size:12}),` `,o,` other`]})]}),t.isError?(0,G.jsxs)(`div`,{className:`pr-checks-empty is-error`,children:[(0,G.jsx)(JD,{size:15}),` `,t.error.message]}):t.isLoading?(0,G.jsx)(`div`,{className:`pr-checks-empty`,children:`Loading the latest GitHub status…`}):n.length===0?(0,G.jsx)(`div`,{className:`pr-checks-empty`,children:`No checks are reported for this commit.`}):(0,G.jsx)(`ul`,{className:`pr-checks-list`,children:n.map((e,t)=>{let n=S3(e.state),r=n.icon;return(0,G.jsxs)(`li`,{className:n.className,children:[(0,G.jsx)(r,{size:14}),(0,G.jsx)(`span`,{className:`pr-checks-name`,children:e.name}),(0,G.jsx)(`span`,{className:`pr-checks-state`,children:n.label}),e.detailsUrl&&(0,G.jsx)(`a`,{href:e.detailsUrl,target:`_blank`,rel:`noreferrer`,"aria-label":`Open ${e.name} on GitHub`,children:(0,G.jsx)(cO,{size:12})})]},`${e.name}-${t}`)})}),(0,G.jsx)(`div`,{className:`pr-checks-foot`,children:`Updates every 8 seconds while work is running.`})]})})}function w3({session:e,draftCount:t}){return(0,G.jsx)(`section`,{className:`diff-overview-banner pr-overview-banner`,"aria-label":`Pull request #${e.pullNumber}: ${e.title}`,children:(0,G.jsxs)(`header`,{className:`diff-overview-banner-header`,children:[(0,G.jsxs)(`div`,{className:`diff-overview-banner-line`,children:[(0,G.jsx)(yO,{size:14,className:`diff-overview-banner-icon`,"aria-hidden":`true`}),(0,G.jsx)(`h2`,{className:`diff-overview-banner-headline`,children:e.title})]}),(0,G.jsxs)(`div`,{className:`diff-overview-banner-meta pr-overview-meta`,children:[(0,G.jsxs)(`span`,{className:`pr-overview-identity`,children:[`Pull request #`,e.pullNumber,e.author?.login?(0,G.jsxs)(G.Fragment,{children:[` by `,(0,G.jsxs)(`strong`,{children:[`@`,e.author.login]})]}):null]}),e.headRefName&&e.baseRefName&&(0,G.jsxs)(`span`,{className:`pr-overview-branches`,title:`Comparing ${e.headRefName} into ${e.baseRefName}`,children:[(0,G.jsx)(`code`,{className:`pr-overview-branch-head`,children:e.headRefName}),(0,G.jsx)(`span`,{className:`pr-overview-branch-arrow`,"aria-hidden":`true`,children:`→`}),(0,G.jsx)(`code`,{className:`pr-overview-branch-base`,children:e.baseRefName})]}),(0,G.jsxs)(`span`,{children:[e.changedFiles,` file`,e.changedFiles===1?``:`s`]}),(0,G.jsxs)(`span`,{className:`toolbar-chip-diff`,"aria-label":`${e.additions} additions and ${e.deletions} deletions`,children:[(0,G.jsxs)(`span`,{className:`stat-additions`,children:[`+`,e.additions]}),(0,G.jsxs)(`span`,{className:`stat-deletions`,children:[`−`,e.deletions]})]}),t>0&&(0,G.jsxs)(`span`,{className:`toolbar-chip toolbar-chip-comments`,children:[t,` draft`,t===1?``:`s`]}),(0,G.jsx)(C3,{headSha:e.headSha})]})]})})}function T3({result:e,onDismiss:t}){return(0,G.jsxs)(`div`,{className:`pr-submitted-toast`,role:`status`,children:[(0,G.jsx)(YD,{size:16,className:`pr-submitted-icon`}),(0,G.jsxs)(`div`,{className:`pr-submitted-text`,children:[(0,G.jsx)(`strong`,{children:`Review submitted to GitHub.`}),e.reviewUrl&&(0,G.jsxs)(G.Fragment,{children:[` `,(0,G.jsxs)(`a`,{href:e.reviewUrl,target:`_blank`,rel:`noreferrer`,children:[`Open review on GitHub `,(0,G.jsx)(cO,{size:11})]})]}),e.authSource&&e.authSource!==`none`&&(0,G.jsxs)(`span`,{className:`pr-submitted-auth`,children:[`via `,e.authSource]})]}),(0,G.jsx)(`button`,{className:`pr-submitted-dismiss`,onClick:t,title:`Dismiss`,"aria-label":`Dismiss`,children:`×`})]})}function E3(){let e=Am(),t=Ve(),{settings:n,loaded:r,updateSettings:i}=IE(),[,a]=(0,W.useTransition)(),{session:o,loaded:s,error:c}=c3(),l=p3();l3(s&&!!o);let{comments:u,addComment:d,removeComment:f,updateComment:p,addReply:m,resolveComment:h,unresolveComment:g,editComment:_,editReply:v,removeReply:y}=d3(s&&!!o),{patch:b,loading:x,error:S}=gE({staged:!1,untracked:!1},s&&!!o),{viewedFiles:C,setViewed:w}=VE(),[T,E]=(0,W.useState)(null),[D,O]=(0,W.useState)(()=>{let e=CD(`diffing-sidebar-collapsed`);return e==null?typeof window<`u`&&window.innerWidth<=768:e===`true`}),[k,A]=(0,W.useState)(()=>Number(CD(`diffing-sidebar-width`))||320),[j,M]=(0,W.useState)(()=>Number(CD(`diffing-comment-panel-height`))||220),[N,P]=(0,W.useState)(()=>mD(CD(`diffing-pr-extension-filter`)??``)),[F,I]=(0,W.useState)(()=>{let e=CD(`diffing-pr-chip-filter`);return e===`unviewed`||e===`has-comments`?e:`all`}),[L,R]=(0,W.useState)({open:!1,scope:`files`}),[z,ee]=(0,W.useState)(!1),[te,ne]=(0,W.useState)(!1),[B,V]=(0,W.useState)(!1),[re,ie]=(0,W.useState)(!1),[ae,oe]=(0,W.useState)(null),se=(0,W.useRef)(null),ce=(0,W.useRef)(null),H=(0,W.useRef)(null),le=(0,W.useRef)(k),ue=(0,W.useRef)(j);le.current=k,ue.current=j,LE(r,n.uiFont,n.monoFont);let U=(0,W.useMemo)(()=>{if(!b)return[];try{let e=new Set;return Pg(b).flatMap(e=>e.files).filter(t=>e.has(t.name)?!1:(e.add(t.name),!0)).sort(AG)}catch{return[]}},[b]),de=(0,W.useMemo)(()=>{let e=new Map;for(let t of o?.existingComments??[]){let n=e.get(t.path)??[];n.push(t),e.set(t.path,n)}return e},[o]),fe=(0,W.useMemo)(()=>{let e={};for(let t of u)e[t.filePath]=(e[t.filePath]??0)+1;for(let t of o?.existingComments??[])e[t.path]=(e[t.path]??0)+1;return e},[u,o]),pe=(0,W.useMemo)(()=>{let e=U;return N.length>0&&(e=e.filter(e=>_D(e.name,N))),F===`unviewed`&&(e=e.filter(e=>!C.has(e.name))),F===`has-comments`&&(e=e.filter(e=>(fe[e.name]??0)>0)),e},[U,N,F,C,fe]),me=(0,W.useMemo)(()=>{let e=new Map;for(let t of u){let n=e.get(t.filePath)??[];n.push({side:t.side,lineNumber:t.lineNumber,metadata:t}),e.set(t.filePath,n)}return e},[u]),he=kD(pe),ge=(0,W.useMemo)(()=>FE(n.monoFont),[n.monoFont]),_e=(0,W.useMemo)(()=>new Set,[]),ve=(0,W.useCallback)(e=>{E(e),document.getElementById(`file-${e}`)?.scrollIntoView({block:`start`})},[]),ye=(0,W.useCallback)(e=>{let t=pe[pe.findIndex(t=>t.name===e)+1];t&&requestAnimationFrame(()=>requestAnimationFrame(()=>{document.getElementById(`file-${t.name}`)?.scrollIntoView({block:`start`,behavior:`smooth`})}))},[pe]),be=(0,W.useCallback)((e,t)=>{w(e,t),t&&ye(e)},[w,ye]),xe=(0,W.useCallback)(async(e,n)=>{let r=await fetch(`/api/gh/existing-comments/${e}/replies`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:n})}),i=await r.json().catch(()=>({}));if(!r.ok)throw Error(i.error||`HTTP ${r.status}`);await t.invalidateQueries({queryKey:[`pr-session`]})},[t]),Se=(0,W.useCallback)(async(e,n,r)=>{let i=await fetch(`/api/gh/existing-comments/${n}`,{method:e,headers:r==null?void 0:{"Content-Type":`application/json`},body:r==null?void 0:JSON.stringify({body:r})}),a=await i.json().catch(()=>({}));if(!i.ok)throw Error(a.error||`HTTP ${i.status}`);await t.invalidateQueries({queryKey:[`pr-session`]})},[t]),Ce=(0,W.useCallback)(async(e,n)=>{let r=await fetch(`/api/gh/review-threads/${encodeURIComponent(e)}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({resolved:n})}),i=await r.json().catch(()=>({}));if(!r.ok)throw Error(i.error||`HTTP ${r.status}`);await t.invalidateQueries({queryKey:[`pr-session`]})},[t]),we=(0,W.useCallback)(e=>{e.preventDefault();let t=e.clientX,n=le.current,r=ce.current?.getBoundingClientRect().left??0,i=n,a=e=>{i=Math.max(240,Math.min(640,n+e.clientX-t)),H.current&&(H.current.style.transform=`translateX(${r+i}px)`)},o=()=>{H.current?.classList.remove(`sidebar-resize-guide-active`),A(i),DD(`diffing-sidebar-width`,String(i)),document.removeEventListener(`mousemove`,a),document.removeEventListener(`mouseup`,o),document.body.style.cursor=``,document.body.style.userSelect=``};H.current?.classList.add(`sidebar-resize-guide-active`),document.addEventListener(`mousemove`,a),document.addEventListener(`mouseup`,o),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`},[]),Te=(0,W.useCallback)(e=>{e.preventDefault();let t=e.clientY,n=ue.current,r=n,i=e=>{r=Math.max(100,Math.min(600,n+t-e.clientY)),se.current?.style.setProperty(`--comment-panel-height`,`${r}px`)},a=()=>{M(r),DD(`diffing-comment-panel-height`,String(r)),document.removeEventListener(`mousemove`,i),document.removeEventListener(`mouseup`,a),document.body.style.cursor=``,document.body.style.userSelect=``};document.addEventListener(`mousemove`,i),document.addEventListener(`mouseup`,a),document.body.style.cursor=`row-resize`,document.body.style.userSelect=`none`},[]);(0,W.useEffect)(()=>{DD(`diffing-sidebar-collapsed`,String(D))},[D]),(0,W.useEffect)(()=>DD(`diffing-pr-extension-filter`,N.join(`,`)),[N]),(0,W.useEffect)(()=>DD(`diffing-pr-chip-filter`,F),[F]),(0,W.useEffect)(()=>{let e=document.documentElement;e.classList.add(`theme-switching`),e.setAttribute(`data-theme`,n.theme||`nord`),e.setAttribute(`data-density`,n.density||`comfortable`);let t=requestAnimationFrame(()=>requestAnimationFrame(()=>e.classList.remove(`theme-switching`)));return()=>cancelAnimationFrame(t)},[n.theme,n.density]);let Ee=(0,W.useMemo)(()=>nE[n.theme||`nord`]||nE.nord,[n.theme]),De=(0,W.useMemo)(()=>Array.from(new Set(U.flatMap(e=>[Yf(e.name),e.prevName?Yf(e.prevName):null]).filter(e=>e!=null&&e!==`text`))),[U]);(0,W.useEffect)(()=>{e&&e.setRenderOptions({theme:{dark:Ee.type===`dark`?Ee.themeName:`nord`,light:Ee.type===`light`?Ee.themeName:`github-light`}}).catch(()=>{})},[e,Ee]),(0,W.useEffect)(()=>{let e=Ee.type===`dark`?Ee.themeName:`nord`,t=Ee.type===`light`?Ee.themeName:`github-light`;Uf({themes:Array.from(new Set([e,t])),langs:De}).catch(()=>{})},[Ee,De]),(0,W.useEffect)(()=>{if(o)return document.title=`${o.owner}/${o.repo}#${o.pullNumber} · diffing`,()=>{document.title=`diffing`}},[o]);let Oe=(0,W.useCallback)(e=>{if(pe.length===0)return;let t=T?pe.findIndex(e=>e.name===T):-1,n=e===`next`?Math.min(t+1,pe.length-1):Math.max(t-1,0),r=pe[Math.max(0,n)];r&&ve(r.name)},[T,pe,ve]),ke=(0,W.useCallback)(()=>{T&&be(T,!C.has(T))},[T,be,C]);if(m3((0,W.useMemo)(()=>({onNavigateFile:Oe,onToggleViewed:ke,onToggleDiffStyle:()=>i({diffStyle:n.diffStyle===`split`?`unified`:`split`}),onCycleTabSize:()=>{let e=[2,4,8];i({defaultTabSize:e[(e.indexOf(n.defaultTabSize)+1)%e.length]})},onToggleSidebar:()=>O(e=>!e),onToggleLineWrap:()=>i({lineWrap:!n.lineWrap}),onToggleLineNumbers:()=>i({showLineNumbers:!n.showLineNumbers}),onCycleDiffIndicators:()=>{let e=[`classic`,`bars`,`none`];i({diffIndicators:e[(e.indexOf(n.diffIndicators)+1)%e.length]})},onCycleLineDiffType:()=>{let e=[`word`,`word-alt`,`char`,`none`];i({lineDiffType:e[(e.indexOf(n.lineDiffType)+1)%e.length]})},onOpenPalette:e=>R({open:!0,scope:e}),onTogglePalette:()=>R(e=>e.open?{...e,open:!1}:{open:!0,scope:`all`}),onOpenTheme:()=>ee(!0),onOpenShortcuts:()=>ie(!0)}),[Oe,n.defaultTabSize,n.diffIndicators,n.diffStyle,n.lineDiffType,n.lineWrap,n.showLineNumbers,ke,i])),s&&!o)return(0,G.jsxs)(`div`,{className:`pr-app-empty`,children:[(0,G.jsx)(yO,{size:32}),(0,G.jsx)(`h2`,{children:`No active PR session`}),(0,G.jsxs)(`p`,{children:[`Start one with `,(0,G.jsx)(`code`,{children:`diffing "gh pr 1234"`}),` or `,(0,G.jsx)(`code`,{children:`diffing --gh-pr 1234`}),` from inside the repo.`]}),(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:()=>DE(`/`),children:`Back to local review`})]});if(!o)return(0,G.jsx)(`div`,{className:`pr-app-empty`,children:(0,G.jsx)(`span`,{children:`Loading PR session…`})});let Ae=e=>a(()=>i(e)),je={diffStyle:n.diffStyle,defaultTabSize:n.defaultTabSize,lineDiffType:n.lineDiffType,lineWrap:n.lineWrap,diffIndicators:n.diffIndicators,showLineNumbers:n.showLineNumbers,hunkSeparators:n.hunkSeparators,lineHoverHighlight:n.lineHoverHighlight,fontSize:n.fontSize,haptics:n.haptics,sounds:n.sounds,uiFont:n.uiFont,monoFont:n.monoFont,density:n.density,autoCollapseLineThreshold:n.autoCollapseLineThreshold,showStatusBar:n.showStatusBar,onDiffStyleChange:e=>Ae({diffStyle:e}),onDefaultTabSizeChange:e=>Ae({defaultTabSize:e}),onOpenThemeModal:()=>ee(!0),onLineDiffTypeChange:e=>Ae({lineDiffType:e}),onLineWrapChange:e=>Ae({lineWrap:e}),onDiffIndicatorsChange:e=>Ae({diffIndicators:e}),onShowLineNumbersChange:e=>Ae({showLineNumbers:e}),onHunkSeparatorsChange:e=>Ae({hunkSeparators:e}),onLineHoverHighlightChange:e=>Ae({lineHoverHighlight:e}),onFontSizeChange:e=>Ae({fontSize:e}),onHapticsChange:e=>Ae({haptics:e}),onSoundsChange:e=>Ae({sounds:e}),onDensityChange:e=>Ae({density:e}),onAutoCollapseLineThresholdChange:e=>Ae({autoCollapseLineThreshold:e}),onShowStatusBarChange:e=>Ae({showStatusBar:e}),onOpenUiFontModal:()=>ne(!0),onOpenMonoFontModal:()=>V(!0),showSource:!1,showWhitespace:!1,showExternalTools:!1,showSendPolicy:!1};return(0,G.jsx)(fD,{enabled:n.haptics,soundsEnabled:n.sounds,children:(0,G.jsxs)(`div`,{ref:se,className:`app pr-app`,"data-pr-mode":`true`,style:{"--sidebar-width":`${k}px`,"--comment-panel-height":`${j}px`},children:[(0,G.jsx)(`a`,{href:`#pr-diff-main`,className:`skip-to-main`,children:`Skip to diff`}),(0,G.jsx)(`div`,{className:`sidebar-resize-guide`,ref:H,"aria-hidden":`true`}),(0,G.jsx)(v3,{session:o,comments:u,settingsProps:je,sidebarCollapsed:D,onToggleSidebar:()=>O(e=>!e),onOpenSearch:()=>R({open:!0,scope:`all`}),onRefresh:()=>l.mutate(),refreshing:l.isPending,onEditComment:(e,t)=>p({id:e,body:t}),onDeleteComment:f,onSubmitted:oe}),!D&&(0,G.jsx)(`div`,{className:`sidebar-mobile-backdrop`,onClick:()=>O(!0),"aria-hidden":`true`}),(0,G.jsxs)(`div`,{className:`app-body`,children:[(0,G.jsxs)(`aside`,{ref:ce,className:`sidebar ${D?`sidebar-collapsed`:``}`,children:[(0,G.jsx)(`div`,{className:`pr-sidebar-tree`,children:(0,G.jsx)(Z0,{files:U,activeFile:T,commentCounts:fe,viewedFiles:C,untrackedFiles:_e,onFileClick:ve,collapsed:D,onToggleCollapse:()=>O(e=>!e),appliedExtensions:N,onApplyExtensions:e=>P(hD(e)),chipFilter:F,onChipFilterChange:I})}),!D&&u.length>0&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`ct-resize-handle`,onMouseDown:Te,role:`separator`,"aria-label":`Resize comments panel`,"aria-orientation":`horizontal`,tabIndex:0}),(0,G.jsx)(`div`,{className:`ct-wrapper pr-ct-wrapper`,children:(0,G.jsx)(t2,{comments:u,resolveComment:h,unresolveComment:g,removeComment:f,addReply:async(e,t)=>{await m({id:e,body:t})},editComment:_,editReply:v,removeReply:y})})]})]}),!D&&(0,G.jsx)(`div`,{className:`sidebar-resize-handle`,onMouseDown:we,role:`separator`,"aria-label":`Resize sidebar`,"aria-orientation":`vertical`,tabIndex:0}),(0,G.jsxs)(`main`,{className:`main pr-main`,id:`pr-diff-main`,tabIndex:-1,children:[(0,G.jsx)(w3,{session:o,draftCount:u.length}),(0,G.jsx)(b3,{reviews:o.existingReviews??[]}),(o.existingComments?.length??0)>0&&(0,G.jsxs)(`div`,{className:`pr-existing-summary`,children:[(0,G.jsx)(jO,{size:13}),(0,G.jsxs)(`span`,{children:[o.existingComments.length,` existing GitHub conversation`,o.existingComments.length===1?``:`s`,` included in this review.`]})]}),(S||c)&&(0,G.jsxs)(`div`,{className:`pr-error`,children:[(0,G.jsx)(JD,{size:14}),` Failed to load the PR: `,S||c?.message]}),x&&!b?(0,G.jsx)(`div`,{className:`pr-app-loading`,children:`Loading PR diff…`}):pe.length===0?(0,G.jsxs)(`div`,{className:`empty-state`,role:`status`,children:[(0,G.jsx)(`div`,{className:`empty-state-icon`,children:(0,G.jsx)(_O,{size:24})}),(0,G.jsx)(`p`,{className:`empty-state-title`,children:`No matching files`}),(0,G.jsx)(`p`,{className:`empty-state-hint`,children:`Clear the file-tree filters to see the full pull request.`})]}):(0,G.jsx)(D3,{files:pe,fileAnnotations:me,existingCommentsByFile:de,viewedFiles:C,settings:n,monoFontFamily:ge,onAddComment:e=>d(e),onDeleteComment:f,onViewedChange:be,onCardToggleCollapse:(e,t)=>{t&&ye(e)},onReplyExisting:xe,onEditExisting:(e,t)=>Se(`PATCH`,e,t),onDeleteExisting:e=>Se(`DELETE`,e),onSetExistingResolved:Ce})]})]}),(0,G.jsx)(O2,{isOpen:L.open,onClose:()=>R(e=>({...e,open:!1})),initialScope:L.scope,files:pe,changedEntries:he,customMode:!0,staged:!1,onNavigateFile:ve,theme:n.theme||`nord`,fontSize:n.fontSize,monoFontFamily:ge,defaultTabSize:n.defaultTabSize,lineWrap:n.lineWrap,showLineNumbers:n.showLineNumbers,lineHoverHighlight:n.lineHoverHighlight}),(0,G.jsx)(I2,{activeFile:T,onShowHelp:()=>ie(!0),visible:n.showStatusBar,placeholder:`No active PR file (J/K to jump)`}),(0,G.jsx)(L2,{isOpen:re,onClose:()=>ie(!1),mode:`pr`}),(0,G.jsx)(B2,{open:z,activeTheme:n.theme||`nord`,onThemeChange:e=>Ae({theme:e}),onClose:()=>ee(!1)}),(0,G.jsx)(U2,{open:te,title:`Select UI Font`,defaultLabel:`Default (Geist Mono, from CDN)`,activeFont:n.uiFont,onFontChange:e=>Ae({uiFont:e}),onClose:()=>ne(!1)}),(0,G.jsx)(U2,{open:B,title:`Select Code Font`,defaultLabel:`Default (JetBrains Mono, from CDN)`,activeFont:n.monoFont,onFontChange:e=>Ae({monoFont:e}),onClose:()=>V(!1)}),ae&&(0,G.jsx)(T3,{result:ae,onDismiss:()=>oe(null)})]})})}function D3({files:e,fileAnnotations:t,existingCommentsByFile:n,viewedFiles:r,settings:i,monoFontFamily:a,onAddComment:o,onDeleteComment:s,onViewedChange:c,onCardToggleCollapse:l,onReplyExisting:u,onEditExisting:d,onDeleteExisting:f,onSetExistingResolved:p}){return(0,G.jsx)(`div`,{className:`pr-diff-surface`,children:e.map(e=>{let m=n.get(e.name)??[];return(0,G.jsx)(`div`,{className:`pr-file-block`,children:(0,G.jsx)(jG,{files:[e],diffStyle:i.diffStyle,tabSizeMap:{},defaultTabSize:i.defaultTabSize,viewedFiles:r,binaryFiles:new Map,theme:i.theme||`nord`,lineDiffType:i.lineDiffType,lineWrap:i.lineWrap,diffIndicators:i.diffIndicators,showLineNumbers:i.showLineNumbers,hunkSeparators:i.hunkSeparators,lineHoverHighlight:i.lineHoverHighlight,fontSize:i.fontSize,monoFontFamily:a,expandContextByDefault:i.expandContextByDefault,collapsedContextThreshold:i.collapsedContextThreshold,expansionLineCount:i.expansionLineCount,autoCollapseLineThreshold:i.autoCollapseLineThreshold,onViewedChange:c,fileAnnotationsMap:new Map([[e.name,t.get(e.name)??[]]]),existingCommentsMap:new Map([[e.name,m]]),onAddComment:(e,t,n,r,i,a)=>o({filePath:e,side:t,lineNumber:n,lineContent:r,body:i,startLineNumber:a}),onDeleteComment:s,onReplyExisting:u,onEditExisting:d,onDeleteExisting:f,onSetExistingResolved:p,onCardToggleCollapse:l,allowLocalActions:!1})},e.name)})})}function O3(){let e=jE(),[t,n]=(0,W.useState)(!1),[r,i]=(0,W.useState)(()=>e===`/gh/pr`||e.startsWith(`/gh/pr/`)||e.startsWith(`/plan`));return(0,W.useEffect)(()=>{SD().then(()=>{n(!0)})},[]),(0,W.useEffect)(()=>{if(e===`/gh/pr`||e.startsWith(`/gh/pr/`)||e.startsWith(`/plan`)){i(!0);return}if(e!==`/`){i(!0);return}let t=!1;return fetch(`/api/gh/session`).then(async e=>{t||e.ok&&(await e.json().catch(()=>null))?.prMode===!0&&DE(`/gh/pr`,{replace:!0})}).catch(()=>{}).finally(()=>{t||i(!0)}),()=>{t=!0}},[e]),!t||!r?(0,G.jsxs)(`div`,{className:`boot-loader`,role:`status`,"aria-live":`polite`,children:[(0,G.jsx)(HH,{size:40,className:`boot-loader-mark`}),(0,G.jsx)(`div`,{className:`boot-loader-spinner`,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`boot-loader-label`,children:`Loading review session…`})]}):e===`/plan`||e.startsWith(`/plan/`)?(0,G.jsx)(a3,{}):e===`/gh/pr`||e.startsWith(`/gh/pr/`)?(0,G.jsx)(E3,{}):(0,G.jsx)($2,{})}var k3=new Le;(0,mn.createRoot)(document.getElementById(`root`)).render((0,G.jsx)(He,{client:k3,children:(0,G.jsx)(ot,{children:(0,G.jsx)(km,{poolOptions:{workerFactory:()=>new A_,poolSize:Math.max(1,Math.min(4,navigator.hardwareConcurrency||2))},highlighterOptions:{theme:{dark:`nord`,light:`github-light`},langs:[`vue`]},children:(0,G.jsx)(QT,{children:(0,G.jsx)(O3,{})})})})}));export{l as a,s as i,J as n,o as r,_E as t};
3959
+ `}var X4={pending:{icon:rO,className:`plan-badge-pending`,label:`Pending`},approved:{icon:UD,className:`plan-badge-approved`,label:`Approved`},"changes-requested":{icon:NO,className:`plan-badge-changes`,label:`Changes`},rejected:{icon:ck,className:`plan-badge-rejected`,label:`Rejected`},"comment-only":{icon:PO,className:`plan-badge-comment-only`,label:`Comment only`}},Z4=[`all`,`pending`,`approved`,`changes-requested`,`rejected`,`comment-only`];function Q4(){try{let e=CD(b4.decisionFilter);if(e&&Z4.includes(e))return e}catch{}return`all`}function $4({plans:e,activeId:t,onSelect:n,onDelete:r,collapsed:i,onToggleCollapse:a}){let[o,s]=(0,W.useState)(``),[c,l]=(0,W.useState)(Q4),[u,d]=(0,W.useState)(null),f=(0,W.useCallback)(e=>{l(e),DD(b4.decisionFilter,e)},[]),p=(0,W.useMemo)(()=>[...e].sort((e,t)=>t.createdAt-e.createdAt),[e]),m=(0,W.useMemo)(()=>{let e=o.toLowerCase().trim();return p.filter(t=>c!==`all`&&t.decision!==c?!1:e?`${t.title} ${t.source??``} ${t.sourcePath??``} ${t.model??``} ${t.id}`.toLowerCase().includes(e):!0)},[p,o,c]),h=(0,W.useMemo)(()=>e.filter(e=>e.decision===`pending`).length,[e]);return i?(0,G.jsx)(`div`,{className:`plan-list plan-list-collapsed`,children:a&&(0,G.jsx)($T,{content:`Expand sidebar · b`,side:`right`,children:(0,G.jsx)(`button`,{className:`sidebar-toggle`,onClick:a,"aria-label":`Expand sidebar`,children:(0,G.jsx)(UO,{size:16})})})}):(0,G.jsxs)(`div`,{className:`plan-list`,children:[(0,G.jsxs)(`div`,{className:`plan-list-chrome`,children:[(0,G.jsxs)(`div`,{className:`plan-list-toolbar`,children:[a&&(0,G.jsx)($T,{content:`Collapse sidebar · b`,side:`right`,children:(0,G.jsx)(`button`,{className:`sidebar-toggle`,onClick:a,"aria-label":`Collapse sidebar`,children:(0,G.jsx)(HO,{size:16})})}),(0,G.jsxs)(`div`,{className:`plan-list-search`,children:[(0,G.jsx)(ZO,{size:14,className:`plan-list-search-icon`,"aria-hidden":`true`}),(0,G.jsx)(`input`,{type:`text`,placeholder:`Search plans…`,value:o,onChange:e=>s(e.target.value),className:`plan-list-search-input`,"aria-label":`Search plans`})]})]}),(0,G.jsx)(`div`,{className:`plan-list-filters`,role:`group`,"aria-label":`Filter by decision`,children:[{id:`all`,label:`All`},{id:`pending`,label:h?`Pending ${h}`:`Pending`},{id:`approved`,label:`Approved`},{id:`changes-requested`,label:`Changes`},{id:`rejected`,label:`Rejected`}].map(e=>(0,G.jsx)(`button`,{type:`button`,className:`plan-list-filter ${c===e.id?`is-active`:``}`,"aria-pressed":c===e.id,onClick:()=>f(e.id),children:e.label},e.id))})]}),(0,G.jsxs)(`div`,{className:`plan-list-scroll`,children:[(0,G.jsx)(`div`,{className:`plan-list-header`,children:(0,G.jsx)(`span`,{children:m.length===e.length?`${e.length} plan${e.length===1?``:`s`}`:`${m.length} of ${e.length}`})}),m.length===0&&(0,G.jsx)(`div`,{className:`plan-list-empty`,children:o||c!==`all`?`No matching plans.`:`No plans yet.`}),(0,G.jsx)(`div`,{className:`plan-list-items`,children:m.map(e=>{let i=X4[e.decision],a=i.icon,o=(e.comments??[]).filter(e=>e.status===`open`).length,s=e.sourcePath||e.source,c=e.id===t;return(0,G.jsxs)(`div`,{className:`plan-list-item ${c?`plan-list-item-active`:``}`,onClick:()=>n(e.id),role:`button`,tabIndex:0,"aria-current":c?`true`:void 0,onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),n(e.id))},children:[(0,G.jsxs)(`div`,{className:`plan-list-item-top`,children:[(0,G.jsx)(`span`,{className:`plan-badge plan-badge-dot ${i.className}`,title:i.label,children:(0,G.jsx)(a,{size:11,"aria-hidden":`true`})}),(0,G.jsx)(`span`,{className:`plan-list-item-title`,title:e.title,children:e.title}),s&&(0,G.jsx)($T,{content:`Copy source path`,children:(0,G.jsx)(`button`,{className:`plan-list-copy-path`,title:`Copy source path`,"aria-label":`Copy source path`,onClick:t=>{t.stopPropagation();let n=e.sourcePath||e.source||``;navigator.clipboard?.writeText(n).then(()=>{d(e.id),window.setTimeout(()=>d(null),1200)},()=>{})},children:u===e.id?(0,G.jsx)(UD,{size:12}):(0,G.jsx)(oO,{size:12})})}),(0,G.jsx)(`button`,{className:`plan-list-delete`,title:`Delete plan`,"aria-label":`Delete plan`,onClick:t=>{t.stopPropagation(),r(e.id)},children:(0,G.jsx)(rk,{size:12,"aria-hidden":`true`})})]}),(0,G.jsxs)(`div`,{className:`plan-list-item-sub`,children:[(0,G.jsxs)(`span`,{className:`plan-list-item-version`,children:[`v`,e.version]}),o>0&&(0,G.jsxs)(`span`,{className:`plan-list-item-open`,children:[o,` open`]}),e.model&&(0,G.jsxs)(`span`,{className:`plan-list-item-model`,title:e.model,children:[(0,G.jsx)(VD,{size:10,"aria-hidden":`true`}),e.model]}),(0,G.jsx)(`span`,{className:`plan-list-item-time`,children:eE(e.createdAt)})]})]},e.id)})})]})]})}var e3=[{value:`approved`,label:`Approve`,description:`The plan looks good — the agent should proceed.`,icon:UD,className:`plan-verdict-approve`},{value:`changes-requested`,label:`Request changes`,description:`The agent should revise the plan and resubmit it.`,icon:NO,className:`plan-verdict-changes`},{value:`rejected`,label:`Reject`,description:`Don't proceed — the approach needs rethinking.`,icon:ck,className:`plan-verdict-reject`},{value:`comment-only`,label:`Comment only`,description:`Agent must NOT edit files — only reply to comments. General note goes to chat.`,icon:PO,className:`plan-verdict-comment-only`}];function t3({openCommentCount:e,onSubmit:t,submitting:n,agentWaiting:r,currentDecision:i}){let{haptic:a,sound:o}=pD(),[s,c]=(0,W.useState)(!1),[l,u]=(0,W.useState)(null),[d,f]=(0,W.useState)(``),{popoverStyle:p,activePreset:m,applyPreset:h,startResize:g,startLeftResize:_,startCornerResize:v,handleOpenChange:y,panelRef:b}=LH(),x=async()=>{l&&(a(`heavy`),o(`send`),await t(l,d,l===`comment-only`?`comment-only`:`standard`),f(``),u(null),c(!1))},S=i!==`pending`;return(0,G.jsx)(Qk,{open:s,onOpenChange:(e,t)=>y(e,t,c),ariaLabel:`Submit plan review`,className:`submit-plan-review-popover`,trigger:(0,G.jsxs)(`button`,{className:`btn btn-primary btn-sm send-review-btn`,disabled:n,title:r?`An agent is connected and waiting for your verdict`:`Submit your verdict on this plan`,style:{display:`inline-flex`,alignItems:`center`,gap:`6px`},children:[r&&(0,G.jsx)(`span`,{className:`agent-waiting-dot`,"aria-hidden":`true`}),S?(0,G.jsx)(qO,{size:14}):(0,G.jsx)(eO,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:n?`Submitting…`:S?`Update review`:`Submit review`})]}),children:(0,G.jsxs)(`div`,{className:`srp`,ref:b,style:p,children:[(0,G.jsx)(`div`,{className:`srp-resize-handle-left`,onPointerDown:_,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize submit panel width`,tabIndex:0}),(0,G.jsxs)(`div`,{className:`srp-head`,children:[S?(0,G.jsx)(qO,{size:15,"aria-hidden":`true`}):(0,G.jsx)(eO,{size:15,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`srp-title`,children:S?`Update plan review`:`Submit plan review`}),(0,G.jsx)(`div`,{className:`srp-size-presets`,role:`group`,"aria-label":`Panel size`,children:OH.map((e,t)=>(0,G.jsx)(`button`,{className:`srp-preset-btn`,role:`radio`,"aria-checked":m===t,"aria-pressed":m===t,onClick:()=>h(e),title:`${e.width}×${e.height}px`,children:e.label},e.label))}),e>0&&(0,G.jsxs)(`span`,{className:`srp-count`,children:[e,` open comment`,e===1?``:`s`]})]}),(0,G.jsxs)(`div`,{className:`srp-scroll`,children:[(0,G.jsx)(`div`,{className:`plan-verdict-options`,role:`radiogroup`,"aria-label":`Verdict`,children:e3.map(e=>{let t=e.icon,n=l===e.value;return(0,G.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":n,className:`plan-verdict-option ${e.className} ${n?`plan-verdict-option-selected`:``}`,onClick:()=>u(e.value),children:[(0,G.jsx)(`span`,{className:`plan-verdict-icon`,children:(0,G.jsx)(t,{size:15,"aria-hidden":`true`})}),(0,G.jsxs)(`span`,{className:`plan-verdict-text`,children:[(0,G.jsx)(`span`,{className:`plan-verdict-label`,children:e.label}),(0,G.jsx)(`span`,{className:`plan-verdict-desc`,children:e.description})]}),(0,G.jsx)(`span`,{className:`plan-verdict-radio`,"aria-hidden":`true`})]},e.value)})}),(0,G.jsxs)(`div`,{className:`srp-general`,children:[(0,G.jsxs)(`label`,{className:`srp-general-label`,htmlFor:`plan-decision-comment`,children:[`Overall comment `,(0,G.jsx)(`span`,{className:`srp-optional`,children:`(optional · Markdown)`})]}),(0,G.jsx)(TH,{id:`plan-decision-comment`,value:d,onChange:f,textareaClassName:`srp-general-input`,placeholder:`Add an overall note for the agent that applies to the whole plan…`,rows:3,ariaLabel:`Overall plan review comment`,onSubmitShortcut:x})]})]}),(0,G.jsxs)(`div`,{className:`srp-footer`,children:[(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:()=>c(!1),disabled:n,children:`Cancel`}),(0,G.jsx)(`button`,{className:`btn btn-primary btn-sm`,onClick:x,disabled:!l||n,children:n?`Submitting…`:`Submit review`})]}),(0,G.jsx)(`div`,{className:`srp-resize-handle`,onPointerDown:g,role:`separator`,"aria-orientation":`horizontal`,"aria-label":`Resize submit panel`,tabIndex:0}),(0,G.jsx)(`div`,{className:`srp-resize-handle-corner`,onPointerDown:v,role:`separator`,"aria-label":`Resize submit panel width and height`,tabIndex:0})]})})}var n3=[11,12,13,14,15,16].map(e=>({value:String(e),label:`${e}px`})),r3=[2,4,8].map(e=>({value:String(e),label:String(e)})),i3=[{value:`both`,label:`Both`},{value:`line`,label:`Line only`},{value:`number`,label:`Number only`},{value:`disabled`,label:`Disabled`}];function a3(){let e=Am(),{settings:t,loaded:n,updateSettings:r}=IE();LE(n,t.uiFont,t.monoFont);let{plans:i,getPlan:a,removePlan:o,agentActivity:s,clearAgentActivity:c,submitDecision:l,submitting:u,agentWaiting:d,isLoading:f}=wE(),p=jE(),[m,h]=(0,W.useState)(!1),[g,_]=(0,W.useState)(!1),[v,y]=(0,W.useState)(!1);(0,W.useEffect)(()=>{let e=e=>{if(e.metaKey||e.ctrlKey){if(e.key===`,`||e.code===`Comma`){e.preventDefault(),_(e=>!e);return}(e.key===`?`||e.key===`/`&&e.shiftKey||e.code===`Slash`&&e.shiftKey)&&(e.preventDefault(),y(!0))}};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[]);let[b,x]=(0,W.useState)(()=>{try{let e=CD(b4.viewMode);if(e===`rendered`||e===`split`||e===`source`)return e}catch{}return`source`}),S=(0,W.useCallback)(e=>{x(e);try{DD(b4.viewMode,e)}catch{}},[]),[C,w]=(0,W.useState)(()=>x4(b4.zenMode,!1)),T=(0,W.useCallback)(e=>{w(e);try{DD(b4.zenMode,String(e))}catch{}},[]),E=(0,W.useCallback)(()=>{b===`rendered`?T(!C):(S(`rendered`),T(!0))},[b,C,S,T]),[D,O]=(0,W.useState)(()=>{try{let e=CD(b4.tocOpen);if(e===`false`)return!1;if(e===`true`)return!0}catch{}return!0}),[k,A]=(0,W.useState)(()=>{try{let e=CD(b4.commentsRail);if(e===`false`)return!1;if(e===`true`)return!0}catch{}return!0}),j=(0,W.useCallback)(e=>{O(e),DD(b4.tocOpen,String(e))},[]),M=(0,W.useCallback)(e=>{A(e),DD(b4.commentsRail,String(e))},[]),N=(0,W.useCallback)(()=>{j(!D)},[D,j]),P=(0,W.useCallback)(()=>{M(!k)},[k,M]),F=(0,W.useMemo)(()=>{let e=/^\/plan\/([^/]+)/.exec(p);return e?decodeURIComponent(e[1]):null},[p]),I=(0,W.useMemo)(()=>F?a(F):i.length===0?null:[...i].reverse().find(e=>e.decision===`pending`)??i[i.length-1],[F,i,a]),L=(0,W.useMemo)(()=>nE[t.theme||`rose-pine`]||nE[`rose-pine`],[t.theme]);(0,W.useEffect)(()=>{let e=t.theme||`rose-pine`,n=document.documentElement;n.classList.add(`theme-switching`),n.setAttribute(`data-theme`,e);let r=requestAnimationFrame(()=>{requestAnimationFrame(()=>n.classList.remove(`theme-switching`))});return()=>cancelAnimationFrame(r)},[t.theme]),(0,W.useEffect)(()=>{e&&e.setRenderOptions({theme:{dark:L.type===`dark`?L.themeName:`rose-pine`,light:L.type===`light`?L.themeName:`github-light`}}).catch(e=>console.error(`Failed to set worker pool render options:`,e))},[e,L]),(0,W.useEffect)(()=>{let e=L.type===`dark`?L.themeName:`rose-pine`,t=L.type===`light`?L.themeName:`github-light`;Uf({themes:Array.from(new Set([e,t])),langs:[]}).catch(()=>{})},[L]);let[R,z]=(0,W.useState)(()=>{try{let e=CD(`diffing-sidebar-collapsed`);if(e!=null)return e===`true`}catch{}return typeof window<`u`&&window.innerWidth<=768}),[ee,te]=(0,W.useState)(()=>{try{let e=CD(`diffing-sidebar-width`);return e?Number(e):320}catch{return 320}});(0,W.useEffect)(()=>{try{DD(`diffing-sidebar-collapsed`,String(R))}catch{}},[R]);let ne=(0,W.useRef)(ee);ne.current=ee;let B=(0,W.useRef)(null),V=(0,W.useRef)(null),re=(0,W.useRef)(null),ie=(0,W.useCallback)(e=>{e.preventDefault();let t=e.clientX,n=ne.current,r=V.current,i=re.current,a=r?r.getBoundingClientRect().left:0,o=n,s=0,c=()=>{s=0,i&&(i.style.transform=`translateX(${a+o}px)`)};i&&(i.style.transform=`translateX(${a+n}px)`,i.classList.add(`sidebar-resize-guide-active`));let l=e=>{let r=e.clientX-t;o=Math.max(240,Math.min(640,n+r)),s||=requestAnimationFrame(c)},u=()=>{s&&cancelAnimationFrame(s),i&&i.classList.remove(`sidebar-resize-guide-active`),te(o);try{DD(`diffing-sidebar-width`,String(o))}catch{}document.removeEventListener(`mousemove`,l),document.removeEventListener(`mouseup`,u),document.body.style.cursor=``,document.body.style.userSelect=``};document.addEventListener(`mousemove`,l),document.addEventListener(`mouseup`,u),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`},[]),ae=(0,W.useCallback)(()=>{z(e=>!e)},[]),oe=(0,W.useCallback)(()=>{r({lineWrap:!t.lineWrap})},[t.lineWrap,r]),se=(0,W.useCallback)(()=>{r({showLineNumbers:!t.showLineNumbers})},[t.showLineNumbers,r]),ce=(0,W.useCallback)(()=>{let e=[`source`,`rendered`,`split`],t=e[(e.indexOf(b)+1)%e.length];S(t)},[b,S]),H=(0,W.useCallback)(()=>{let e=[2,4,8],n=t.defaultTabSize||4;r({defaultTabSize:e[(e.indexOf(n)+1)%e.length]})},[t.defaultTabSize,r]),le=(0,W.useCallback)(e=>{if(i.length===0)return;let t=[...i].sort((e,t)=>t.createdAt-e.createdAt),n=0;if(I){let r=t.findIndex(e=>e.id===I.id);r!==-1&&(n=e===`next`?Math.min(r+1,t.length-1):Math.max(r-1,0))}let r=t[n];DE(`/plan/${r.id}`)},[i,I]);(0,W.useEffect)(()=>{let e=``,t,n=0,r=r=>{let i=document.activeElement;if(i){let e=i.tagName.toLowerCase();if(e===`input`||e===`textarea`||i.hasAttribute(`contenteditable`))return}clearTimeout(t);let a=r.key;if(r.ctrlKey){a===`d`?(r.preventDefault(),window.scrollBy({top:window.innerHeight/2,behavior:`auto`}),dD(`selection`,`navigate`),e=``):a===`u`&&(r.preventDefault(),window.scrollBy({top:-window.innerHeight/2,behavior:`auto`}),dD(`selection`,`navigate`),e=``);return}if(!(a.length>1&&a!==`Escape`&&a!==`Enter`))if(e+=a,t=setTimeout(()=>{e=``},800),e===`j`){r.preventDefault(),window.scrollBy({top:100,behavior:`auto`});let t=Date.now();t-n>80&&(lD(`navigate`),n=t),e=``}else if(e===`k`){r.preventDefault(),window.scrollBy({top:-100,behavior:`auto`});let t=Date.now();t-n>80&&(lD(`navigate`),n=t),e=``}else e===`gg`?(r.preventDefault(),window.scrollTo({top:0,behavior:`auto`}),dD(`selection`,`navigate`),e=``):e===`G`?(r.preventDefault(),window.scrollTo({top:document.documentElement.scrollHeight,behavior:`auto`}),dD(`selection`,`navigate`),e=``):e===`J`?(r.preventDefault(),le(`next`),dD(`selection`,`navigate`),e=``):e===`K`?(r.preventDefault(),le(`prev`),dD(`selection`,`navigate`),e=``):e===`m`?(r.preventDefault(),ce(),dD(`selection`,`toggle`),e=``):e===`z`?(r.preventDefault(),E(),dD(`selection`,`toggle`),e=``):e===`c`?(r.preventDefault(),P(),dD(`selection`,`toggle`),e=``):e===`o`?(r.preventDefault(),N(),dD(`selection`,`toggle`),e=``):e===`t`?(r.preventDefault(),H(),dD(`selection`,`toggle`),e=``):e===`b`?(r.preventDefault(),ae(),dD(`selection`,`toggle`),e=``):e===`w`?(r.preventDefault(),oe(),dD(`selection`,`toggle`),e=``):e===`n`?(r.preventDefault(),se(),dD(`selection`,`toggle`),e=``):e===`gt`?(r.preventDefault(),h(!0),dD(`medium`,`open`),e=``):e===`?`?(r.preventDefault(),y(!0),dD(`medium`,`open`),e=``):e.length>=2&&(e=``)};return window.addEventListener(`keydown`,r),()=>{window.removeEventListener(`keydown`,r)}},[ae,oe,se,ce,E,P,N,H,le]);let ue=(0,W.useMemo)(()=>I?(I.comments??[]).filter(e=>e.status===`open`).length:0,[I]);return f||!n?(0,G.jsxs)(`div`,{className:`app plan-app skeleton-app`,style:{"--sidebar-width":`${ee}px`},children:[(0,G.jsxs)(`header`,{className:`skeleton-toolbar`,children:[(0,G.jsx)(`div`,{className:`skeleton-item skeleton-logo`,style:{width:`140px`}}),(0,G.jsx)(`div`,{className:`skeleton-item skeleton-stats`,style:{width:`80px`,marginLeft:`20px`}}),(0,G.jsx)(`div`,{className:`skeleton-item skeleton-actions`,style:{width:`220px`}})]}),(0,G.jsxs)(`div`,{className:`app-body`,children:[(0,G.jsx)(`aside`,{className:`sidebar plan-sidebar skeleton-sidebar ${R?`sidebar-collapsed`:``}`,children:!R&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`skeleton-search`,style:{height:`32px`,margin:`0 16px 16px 16px`}}),(0,G.jsx)(`div`,{className:`skeleton-tree-nodes`,children:Array.from({length:4}).map((e,t)=>(0,G.jsxs)(`div`,{className:`skeleton-tree-node`,style:{paddingLeft:`16px`,height:`40px`,borderBottom:`1px solid var(--border-weak)`},children:[(0,G.jsx)(`div`,{className:`skeleton-node-icon`,style:{width:`20px`,height:`20px`,borderRadius:`50%`}}),(0,G.jsx)(`div`,{className:`skeleton-node-text`,style:{width:`${80+t*30%90}px`,height:`14px`}})]},t))})]})}),!R&&(0,G.jsx)(`div`,{className:`sidebar-resize-handle`,style:{cursor:`default`}}),(0,G.jsx)(`main`,{className:`main plan-main skeleton-main`,children:(0,G.jsxs)(`div`,{className:`file-diff-card skeleton-card`,style:{border:`1px solid var(--border-color)`,borderRadius:`8px`},children:[(0,G.jsxs)(`div`,{className:`skeleton-card-header`,style:{padding:`16px 20px`},children:[(0,G.jsx)(`div`,{className:`skeleton-card-title`,style:{width:`250px`,height:`20px`}}),(0,G.jsx)(`div`,{className:`skeleton-card-badge`,style:{width:`100px`,height:`24px`}})]}),(0,G.jsxs)(`div`,{className:`skeleton-card-body`,style:{padding:`24px`,background:`var(--bg-secondary)`,display:`flex`,flexDirection:`column`,gap:`16px`},children:[(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`90%`,height:`16px`}}),(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`75%`,height:`16px`}}),(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`85%`,height:`16px`}}),(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`40%`,height:`16px`}}),(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`60%`,height:`16px`}}),(0,G.jsx)(`div`,{className:`skeleton-code-line`,style:{width:`80%`,height:`16px`}})]})]})})]})]}):(0,G.jsx)(fD,{enabled:t.haptics??!0,soundsEnabled:t.sounds??!0,children:(0,G.jsxs)(`div`,{className:`app plan-app`,ref:B,style:{"--sidebar-width":`${ee}px`},children:[(0,G.jsx)(`div`,{className:`sidebar-resize-guide`,ref:re,"aria-hidden":`true`}),(0,G.jsxs)(`div`,{className:`toolbar plan-app-toolbar`,children:[(0,G.jsxs)(`div`,{className:`toolbar-left`,children:[(0,G.jsx)(`button`,{className:`toolbar-mobile-toggle`,onClick:()=>z(!R),"aria-label":`Toggle sidebar`,title:R?`Open sidebar`:`Close sidebar`,children:(0,G.jsx)(AO,{size:18})}),(0,G.jsx)($T,{content:`Back to diff review`,side:`bottom`,children:(0,G.jsxs)(`button`,{className:`btn btn-sm plan-toolbar-back`,onClick:()=>DE(`/`),"aria-label":`Back to the diff review`,children:[(0,G.jsx)(zD,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:`Diff`})]})}),(0,G.jsxs)(`div`,{className:`plan-toolbar-brand`,children:[(0,G.jsx)(HH,{size:18,className:`plan-app-brand`}),(0,G.jsxs)(`div`,{className:`plan-toolbar-brand-text`,children:[(0,G.jsx)(`h1`,{className:`toolbar-title plan-app-title`,children:`Plans`}),I?(0,G.jsx)(`span`,{className:`plan-toolbar-active`,title:I.title,children:I.title}):(0,G.jsxs)(`span`,{className:`plan-toolbar-count`,children:[i.length,` plan`,i.length===1?``:`s`]})]})]})]}),(0,G.jsx)(`div`,{className:`plan-view-toggle`,role:`group`,"aria-label":`Plan view mode`,children:[{id:`source`,label:`Source`,icon:iO,tip:`Source — select lines to comment`},{id:`rendered`,label:`Read`,icon:fO,tip:`Read — rendered markdown (highlight to comment)`},{id:`split`,label:`Split`,icon:aO,tip:`Split — source + rendered (drag the divider to resize)`}].map(({id:e,label:t,icon:n,tip:r})=>(0,G.jsx)($T,{content:`${r} · m to cycle`,side:`bottom`,children:(0,G.jsxs)(`button`,{type:`button`,className:`plan-view-toggle-btn ${b===e?`is-active`:``}`,"aria-pressed":b===e,"aria-label":r,onClick:()=>S(e),children:[(0,G.jsx)(n,{size:13,"aria-hidden":`true`}),(0,G.jsx)(`span`,{children:t})]})},e))}),(0,G.jsxs)(`div`,{className:`toolbar-right`,children:[(0,G.jsx)(Qk,{open:g,onOpenChange:_,ariaLabel:`Settings`,className:`settings-popover`,trigger:(0,G.jsxs)(`button`,{className:`btn btn-sm settings-btn ${g?`btn-active`:``}`,title:`Settings (⌘,)`,"aria-label":`Settings`,children:[(0,G.jsx)(QO,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:`Settings`})]}),children:(0,G.jsxs)(`div`,{className:`popover-scroll settings-panel`,children:[(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Appearance`}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Theme`}),(0,G.jsxs)(`button`,{className:`btn btn-sm settings-btn`,onClick:()=>{_(!1),h(!0)},style:{display:`inline-flex`,alignItems:`center`},children:[(0,G.jsx)(VO,{size:14,style:{marginRight:`4px`}}),(0,G.jsx)(`span`,{children:`Switch Theme...`})]})]}),(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Plan chrome`}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:D,onChange:e=>j(e.target.checked)}),`Show outline`]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:k,onChange:e=>M(e.target.checked)}),`Show comments panel`]}),(0,G.jsx)(`div`,{className:`settings-section-label`,children:`Display`}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:t.lineWrap,onChange:e=>r({lineWrap:e.target.checked})}),`Wrap long lines`]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:t.showLineNumbers,onChange:e=>r({showLineNumbers:e.target.checked})}),`Show line numbers`]}),(0,G.jsxs)(`label`,{className:`settings-item`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:t.showStatusBar??!0,onChange:e=>r({showStatusBar:e.target.checked})}),`Show status bar`]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Hover highlight`}),(0,G.jsx)(tW,{value:t.lineHoverHighlight,onValueChange:e=>r({lineHoverHighlight:e}),options:i3,ariaLabel:`Hover highlight`})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Font size`}),(0,G.jsx)(tW,{value:String(t.fontSize),onValueChange:e=>r({fontSize:Number(e)}),options:n3,ariaLabel:`Font size`})]}),(0,G.jsxs)(`div`,{className:`settings-item settings-item-spaced`,children:[(0,G.jsx)(`span`,{children:`Default tab size`}),(0,G.jsx)(tW,{value:String(t.defaultTabSize),onValueChange:e=>r({defaultTabSize:Number(e)}),options:r3,ariaLabel:`Default tab size`})]})]})}),I&&(0,G.jsx)(t3,{openCommentCount:ue,onSubmit:(e,t)=>l(I.id,e,t),submitting:u,agentWaiting:d,currentDecision:I.decision})]})]}),!R&&(0,G.jsx)(`div`,{className:`sidebar-mobile-backdrop`,onClick:()=>z(!0),"aria-hidden":`true`}),(0,G.jsxs)(`div`,{className:`app-body`,children:[(0,G.jsx)(`aside`,{ref:V,className:`sidebar plan-sidebar ${R?`sidebar-collapsed`:``}`,children:(0,G.jsx)(`div`,{style:{flex:1,minHeight:0,overflow:`hidden`},children:(0,G.jsx)($4,{plans:i,activeId:I?.id??null,onSelect:e=>DE(`/plan/${e}`),onDelete:e=>{o(e),I?.id===e&&DE(`/plan`)},collapsed:R,onToggleCollapse:()=>z(!R)})})}),!R&&(0,G.jsx)(`div`,{className:`sidebar-resize-handle`,onMouseDown:ie,role:`separator`,"aria-label":`Resize sidebar`,"aria-orientation":`vertical`,tabIndex:0}),(0,G.jsx)(`main`,{className:`main plan-main`,children:I?(0,G.jsx)(J4,{plan:I,theme:t.theme||`rose-pine`,fontSize:t.fontSize,monoFontFamily:FE(t.monoFont),defaultTabSize:t.defaultTabSize,lineWrap:t.lineWrap,showLineNumbers:t.showLineNumbers,lineHoverHighlight:t.lineHoverHighlight,viewMode:b,onViewModeChange:S,editorIDE:t.editorIDE,tocOpen:D,onTocOpenChange:j,commentsRailOpen:k,onCommentsRailOpenChange:M,zenMode:C,onZenModeChange:T},I.id):(0,G.jsx)(o3,{hasPlans:i.length>0,notFound:!!F})})]}),(0,G.jsx)(B2,{open:m,activeTheme:t.theme||`rose-pine`,onThemeChange:e=>r({theme:e}),onClose:()=>h(!1)}),(0,G.jsx)(R2,{activity:s?{at:s.at,commentId:s.commentId,filePath:`plan · ${s.planId.slice(0,8)}`,model:s.model,body:s.body}:null,onDismiss:c,onJump:()=>{s&&(DE(`/plan/${s.planId}`),requestAnimationFrame(()=>{document.getElementById(`plan-comment-${s.commentId}`)?.scrollIntoView({behavior:`smooth`,block:`center`})}))}}),(0,G.jsx)(I2,{activeFile:I?I.title:null,onShowHelp:()=>y(!0),placeholder:`No active plan (J/K to jump)`,visible:t.showStatusBar??!0}),(0,G.jsx)(L2,{isOpen:v,onClose:()=>y(!1),mode:`plan`})]})})}function o3({hasPlans:e,notFound:t}){return(0,G.jsxs)(`div`,{className:`plan-empty-state`,children:[(0,G.jsx)(`div`,{className:`plan-empty-icon`,"aria-hidden":`true`,children:(0,G.jsx)(tO,{size:28})}),t?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`h2`,{className:`plan-empty-title`,children:`Plan not found`}),(0,G.jsx)(`p`,{className:`plan-empty-body`,children:`It may have been deleted. Pick another from the list, or submit a new one.`})]}):e?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`h2`,{className:`plan-empty-title`,children:`Select a plan`}),(0,G.jsx)(`p`,{className:`plan-empty-body`,children:`Choose one from the sidebar to start reviewing.`})]}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`h2`,{className:`plan-empty-title`,children:`No plans yet`}),(0,G.jsx)(`p`,{className:`plan-empty-body`,children:`Agents submit a plan, you review it here, then they continue on approval.`}),(0,G.jsxs)(`div`,{className:`plan-empty-steps`,children:[(0,G.jsx)(`code`,{children:`diffing plan submit PLAN.md`}),(0,G.jsx)(`code`,{children:`diffing plan await`})]})]})]})}var s3=[`pr-session`];function c3(){let e=Ve(),{data:t,isLoading:n,error:r}=nt({queryKey:s3,queryFn:async()=>{let e=await fetch(`/api/gh/session`);if(e.status===404)return null;if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();return t?.prMode===!1?null:t},retry:!1});return(0,W.useEffect)(()=>fE(`pr-session`,()=>{e.invalidateQueries({queryKey:s3})}),[e]),{session:t,loaded:!n,error:r}}function l3(e){let t=Ve();(0,W.useEffect)(()=>{if(!e)return;let n=!1,r=!1,i=async()=>{if(!(n||r||document.visibilityState===`hidden`)){r=!0;try{(await fetch(`/api/gh/comments/sync`,{method:`POST`})).ok&&!n&&await t.invalidateQueries({queryKey:s3})}finally{r=!1}}},a=()=>{i()};i();let o=window.setInterval(i,3e4);return window.addEventListener(`focus`,a),()=>{n=!0,window.clearInterval(o),window.removeEventListener(`focus`,a)}},[e,t])}var u3=[`pr-comments`];function d3(e){let t=Ve(),{data:n=[]}=nt({queryKey:u3,queryFn:async()=>{let e=await fetch(`/api/gh/pr-session/comments`);if(e.status===404)return[];if(!e.ok)throw Error(`HTTP ${e.status}`);return e.json()},enabled:e});(0,W.useEffect)(()=>fE(`pr-session`,()=>{t.invalidateQueries({queryKey:u3})}),[t]);let r=rt({mutationFn:async e=>(await fetch(`/api/gh/pr-session/comments`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)})).json(),onSuccess:e=>{t.setQueryData(u3,(t=[])=>[...t,e])}}),i=rt({mutationFn:async e=>(await fetch(`/api/gh/pr-session/comments/${e}`,{method:`DELETE`}),e),onSuccess:e=>{t.setQueryData(u3,(t=[])=>t.filter(t=>t.id!==e))}}),a=rt({mutationFn:async({id:e,body:t,status:n})=>(await fetch(`/api/gh/pr-session/comments/${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:t,status:n})})).json(),onSuccess:e=>{t.setQueryData(u3,(t=[])=>t.map(t=>t.id===e.id?e:t))}}),o=rt({mutationFn:async({id:e,body:t})=>{let n=await fetch(`/api/gh/pr-session/comments/${e}/replies`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:t,role:`user`})}),r=await n.json().catch(()=>({}));if(!n.ok||!r.id)throw Error(r.error||`HTTP ${n.status}`);return r},onMutate:async({id:e,body:n})=>{await t.cancelQueries({queryKey:u3});let r=t.getQueryData(u3)??[],i=`pending-${crypto.randomUUID()}`;return t.setQueryData(u3,(t=[])=>t.map(t=>t.id===e?{...t,replies:[...t.replies??[],{id:i,body:n,createdAt:Date.now(),role:`user`}]}:t)),{previous:r}},onError:(e,n,r)=>{r?.previous&&t.setQueryData(u3,r.previous)},onSuccess:e=>{t.setQueryData(u3,(t=[])=>t.map(t=>t.id===e.id?e:t))}}),s=(0,W.useCallback)(e=>{a.mutate({id:e,status:`resolved`})},[a]),c=(0,W.useCallback)(e=>{a.mutate({id:e,status:`open`})},[a]),l=(0,W.useCallback)((e,t,n)=>{},[]),u=(0,W.useCallback)((e,t)=>{},[]);return{comments:n,addComment:r.mutate,removeComment:i.mutate,updateComment:a.mutate,addReply:o.mutateAsync,resolveComment:s,unresolveComment:c,editComment:(e,t)=>a.mutate({id:e,body:t}),editReply:l,removeReply:u}}function f3(){let e=Ve();return rt({mutationFn:async e=>{let t=new AbortController,n=window.setTimeout(()=>t.abort(),6e4);try{let n=await fetch(`/api/gh/submit`,{method:`POST`,headers:{"Content-Type":`application/json`},signal:t.signal,body:JSON.stringify({decision:e.decision,body:e.body,dryRun:e.dryRun})}),r=await n.json();if(!n.ok||!r.ok)throw Error(r.error||`HTTP ${n.status}`);return r}catch(e){throw t.signal.aborted?Error(`GitHub submission timed out. Check your connection and try again.`):e}finally{window.clearTimeout(n)}},onSuccess:()=>{e.setQueryData(u3,[]),e.invalidateQueries({queryKey:s3}),e.invalidateQueries({queryKey:u3})}})}function p3(){let e=Ve();return rt({mutationFn:async()=>{let e=await fetch(`/api/gh/pr/refresh`,{method:`POST`}),t=await e.json();if(!e.ok)throw Error(t.error||`HTTP ${e.status}`);return t},onSuccess:()=>{e.invalidateQueries({queryKey:s3}),e.invalidateQueries({queryKey:u3})}})}function m3(e){(0,W.useEffect)(()=>{let t=``,n,r=0,i=()=>{t=``,clearTimeout(n)},a=a=>{if((a.metaKey||a.ctrlKey)&&a.key.toLowerCase()===`k`){a.preventDefault(),e.onTogglePalette?e.onTogglePalette():e.onOpenPalette(`all`),i();return}let o=document.activeElement;if(o){let e=o.tagName.toLowerCase();if(e===`input`||e===`textarea`||o.hasAttribute(`contenteditable`))return}if((a.metaKey||a.ctrlKey)&&(a.key===`?`||a.key===`/`&&a.shiftKey||a.code===`Slash`&&a.shiftKey)){a.preventDefault(),e.onOpenShortcuts(),dD(`medium`,`open`),i();return}if(a.ctrlKey){(a.key===`d`||a.key===`u`)&&(a.preventDefault(),window.scrollBy({top:a.key===`d`?window.innerHeight/2:-window.innerHeight/2,behavior:`auto`}),dD(`selection`,`navigate`),i());return}let s=a.key;if(s.length>1&&s!==`Escape`&&s!==`Enter`)return;clearTimeout(n),t+=s,n=setTimeout(()=>{t=``},800);let c=(e,t=`toggle`)=>{a.preventDefault(),e(),dD(t===`open`?`medium`:`selection`,t),i()};if(t===`j`||t===`k`){a.preventDefault(),window.scrollBy({top:t===`j`?100:-100,behavior:`auto`});let e=Date.now();e-r>80&&(lD(`navigate`),r=e),i()}else t===`gg`?c(()=>window.scrollTo({top:0,behavior:`auto`}),`navigate`):t===`G`?c(()=>window.scrollTo({top:document.documentElement.scrollHeight,behavior:`auto`}),`navigate`):t===`J`?c(()=>e.onNavigateFile(`next`),`navigate`):t===`K`?c(()=>e.onNavigateFile(`prev`),`navigate`):t===`]`&&e.onNavigateCommit?c(()=>e.onNavigateCommit?.(`next`),`navigate`):t===`[`&&e.onNavigateCommit?c(()=>e.onNavigateCommit?.(`prev`),`navigate`):t===`v`?c(e.onToggleViewed):t===`m`?c(e.onToggleDiffStyle):t===`t`?c(e.onCycleTabSize):t===`b`?c(e.onToggleSidebar):t===`w`?c(e.onToggleLineWrap):t===`n`?c(e.onToggleLineNumbers):t===`i`?c(e.onCycleDiffIndicators):t===`I`?c(e.onCycleLineDiffType):t===`/`?c(()=>e.onOpenPalette(`text`),`open`):t===`s`||t===`gs`?c(()=>e.onOpenPalette(`symbols`),`open`):t===`gf`?c(()=>e.onOpenPalette(`all`),`open`):t===`gv`?c(()=>e.onOpenPalette(`files`),`open`):t===`gt`?c(e.onOpenTheme,`open`):t===`?`?c(e.onOpenShortcuts,`open`):t.length>=2&&i()};return window.addEventListener(`keydown`,a),()=>{window.removeEventListener(`keydown`,a),clearTimeout(n)}},[e])}function h3({session:e,comments:t,onEditComment:n,onDeleteComment:r,onSubmitted:i}){let{haptic:a,sound:o}=pD(),s=f3(),[c,l]=(0,W.useState)(!1),[u,d]=(0,W.useState)(null),[f,p]=(0,W.useState)(``),{popoverStyle:m,activePreset:h,applyPreset:g,startResize:_,startLeftResize:v,startCornerResize:y,handleOpenChange:b,panelRef:x}=LH(),S=t.length,C=(0,W.useMemo)(()=>[...t].sort((e,t)=>e.createdAt-t.createdAt),[t]),w=!!e.submittedAt,T=async()=>{if(u){a(`heavy`),o(`send`);try{let e=await s.mutateAsync({decision:u,body:f});i?.(e),p(``),d(null),l(!1)}catch{}}};return(0,G.jsx)(Qk,{open:c,onOpenChange:(e,t)=>b(e,t,l),ariaLabel:`Submit your review to GitHub`,className:`submit-to-github-popover`,trigger:(0,G.jsxs)(`button`,{className:`btn btn-primary btn-sm send-review-btn`,disabled:s.isPending,title:w?`Already submitted`:`Submit your review to the PR on GitHub`,style:{display:`inline-flex`,alignItems:`center`,gap:`6px`},children:[(0,G.jsx)(yO,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:s.isPending?`Submitting…`:w?`Submitted ✓`:S>0?`Submit to GitHub (${S})`:`Submit to GitHub`})]}),children:(0,G.jsxs)(`div`,{className:`srp`,ref:x,style:m,children:[(0,G.jsx)(`div`,{className:`srp-resize-handle-left`,onPointerDown:v,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize submit panel width`,tabIndex:0}),(0,G.jsxs)(`div`,{className:`srp-head`,children:[(0,G.jsx)(yO,{size:15,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`srp-title`,children:`Submit review to GitHub`}),(0,G.jsx)(`div`,{className:`srp-size-presets`,role:`group`,"aria-label":`Panel size`,children:OH.map((e,t)=>(0,G.jsx)(`button`,{className:`srp-preset-btn`,role:`radio`,"aria-checked":h===t,"aria-pressed":h===t,onClick:()=>g(e),title:`${e.width}×${e.height}px`,children:e.label},e.label))}),(0,G.jsxs)(`span`,{className:`srp-count`,children:[S,` comment`,S===1?``:`s`]})]}),(0,G.jsxs)(`div`,{className:`srp-scroll`,children:[w&&(0,G.jsxs)(`div`,{className:`srp-already-submitted`,children:[(0,G.jsx)(UD,{size:13}),(0,G.jsxs)(`span`,{children:[`Already submitted as`,` `,e.submittedReviewUrl?(0,G.jsxs)(`a`,{href:e.submittedReviewUrl,target:`_blank`,rel:`noreferrer`,children:[`review #`,e.submittedReviewId,` `,(0,G.jsx)(cO,{size:11})]}):`review #${e.submittedReviewId}`,`. Re-submitting will post a new review on the same PR.`]})]}),(0,G.jsx)(`div`,{className:`plan-verdict-options`,role:`radiogroup`,"aria-label":`Verdict`,children:g3.map(e=>{let t=e.icon,n=u===e.value;return(0,G.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":n,className:`plan-verdict-option ${e.className} ${n?`plan-verdict-option-selected`:``}`,onClick:()=>d(e.value),children:[(0,G.jsx)(`span`,{className:`plan-verdict-icon`,children:(0,G.jsx)(t,{size:15,"aria-hidden":`true`})}),(0,G.jsxs)(`span`,{className:`plan-verdict-text`,children:[(0,G.jsx)(`span`,{className:`plan-verdict-label`,children:e.label}),(0,G.jsx)(`span`,{className:`plan-verdict-desc`,children:e.description})]}),(0,G.jsx)(`span`,{className:`plan-verdict-radio`,"aria-hidden":`true`})]},e.value)})}),S>0?(0,G.jsxs)(`section`,{className:`srp-comments-section`,"aria-labelledby":`srp-gh-comments-title`,children:[(0,G.jsxs)(`div`,{className:`srp-section-heading`,id:`srp-gh-comments-title`,children:[(0,G.jsx)(PO,{size:13,"aria-hidden":`true`}),(0,G.jsx)(`span`,{children:`Inline comments to publish`}),(0,G.jsx)(`span`,{className:`srp-section-count`,children:S})]}),(0,G.jsx)(`ul`,{className:`srp-list`,"aria-label":`Comments to send`,children:C.map(e=>(0,G.jsx)(_3,{comment:e,onEdit:n,onDelete:r},e.id))})]}):(0,G.jsx)(`p`,{className:`srp-empty`,children:`No inline comments — your verdict and overall note will be sent on their own.`}),(0,G.jsxs)(`div`,{className:`srp-general`,children:[(0,G.jsxs)(`label`,{className:`srp-general-label`,htmlFor:`srp-gh-general-input`,children:[`Overall comment `,(0,G.jsx)(`span`,{className:`srp-optional`,children:`(optional · Markdown)`})]}),(0,G.jsx)(TH,{id:`srp-gh-general-input`,value:f,onChange:p,textareaClassName:`srp-general-input`,placeholder:`Add an overall note for the PR that applies to the whole review…`,rows:3,ariaLabel:`Overall PR review comment`,onSubmitShortcut:T})]}),s.isError&&(0,G.jsxs)(`div`,{className:`srp-error`,role:`alert`,children:[(0,G.jsx)(JD,{size:13}),(0,G.jsx)(`span`,{children:s.error?.message??`Submit failed`})]})]}),(0,G.jsxs)(`div`,{className:`srp-footer`,children:[(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:()=>l(!1),disabled:s.isPending,children:`Cancel`}),(0,G.jsx)(`button`,{className:`btn btn-primary btn-sm`,onClick:T,disabled:!u||s.isPending,children:s.isPending?`Submitting…`:u===`draft`?`Save draft review`:`Submit review`})]}),(0,G.jsx)(`div`,{className:`srp-resize-handle`,onPointerDown:_,role:`separator`,"aria-orientation":`horizontal`,"aria-label":`Resize submit panel`,tabIndex:0}),(0,G.jsx)(`div`,{className:`srp-resize-handle-corner`,onPointerDown:y,role:`separator`,"aria-label":`Resize submit panel width and height`,tabIndex:0})]})})}var g3=[{value:`approve`,label:`Approve`,description:`The PR is good — submit an APPROVE review.`,icon:UD,className:`plan-verdict-approve`},{value:`comment`,label:`Comment`,description:`Leave neutral feedback (no approve / no request changes).`,icon:NO,className:`plan-verdict-changes`},{value:`request-changes`,label:`Request changes`,description:`The author must address the comments before merging.`,icon:ck,className:`plan-verdict-reject`},{value:`draft`,label:`Save as draft`,description:`Post a PENDING review on GitHub — finish it later in the PR UI.`,icon:dO,className:`plan-verdict-comment-only`}];function _3({comment:e,onEdit:t,onDelete:n}){let[r,i]=(0,W.useState)(!1),[a,o]=(0,W.useState)(e.body),s=(0,W.useRef)(null);(0,W.useEffect)(()=>{r&&(s.current?.focus(),s.current?.select())},[r]);let c=e.lineNumber>0?e.startLineNumber&&e.startLineNumber!==e.lineNumber?`:${e.startLineNumber}-${e.lineNumber}`:`:${e.lineNumber}`:` · file`,l=()=>{let n=a.trim();n&&n!==e.body&&t(e.id,n),i(!1)};return(0,G.jsxs)(`li`,{className:`srp-item`,children:[(0,G.jsxs)(`div`,{className:`srp-item-top`,children:[(0,G.jsxs)(`span`,{className:`srp-item-loc`,children:[(0,G.jsx)(`span`,{className:`srp-item-file`,children:tE(e.filePath)}),(0,G.jsx)(`span`,{className:`srp-item-line`,children:c})]}),e.status===`resolved`&&(0,G.jsx)(`span`,{className:`srp-item-resolved`,children:`resolved`}),(0,G.jsxs)(`span`,{className:`srp-item-actions`,children:[r?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`button`,{className:`srp-icon-btn`,onClick:l,title:`Save edit`,children:(0,G.jsx)(UD,{size:13,"aria-hidden":`true`})}),(0,G.jsx)(`button`,{className:`srp-icon-btn`,onClick:()=>{o(e.body),i(!1)},title:`Cancel edit`,children:(0,G.jsx)(ck,{size:13,"aria-hidden":`true`})})]}):(0,G.jsx)(`button`,{className:`srp-icon-btn`,onClick:()=>i(!0),title:`Edit comment`,children:(0,G.jsx)(GO,{size:13,"aria-hidden":`true`})}),(0,G.jsx)(`button`,{className:`srp-icon-btn srp-icon-btn-danger`,onClick:()=>n(e.id),title:`Remove from review`,children:(0,G.jsx)(rk,{size:13,"aria-hidden":`true`})})]})]}),e.lineContent?.trim()&&(0,G.jsx)(`code`,{className:`srp-item-code`,children:e.lineContent.trim().slice(0,160)}),r?(0,G.jsx)(`textarea`,{ref:s,className:`srp-item-edit`,value:a,rows:2,onChange:e=>o(e.target.value),onKeyDown:t=>{t.key===`Enter`&&(t.metaKey||t.ctrlKey)?(t.preventDefault(),l()):t.key===`Escape`&&(t.preventDefault(),o(e.body),i(!1))}}):(0,G.jsx)(`p`,{className:`srp-item-body`,children:e.body})]})}function v3({session:e,comments:t,settingsProps:n,sidebarCollapsed:r,onToggleSidebar:i,onOpenSearch:a,onRefresh:o,refreshing:s,onEditComment:c,onDeleteComment:l,onSubmitted:u}){return(0,G.jsxs)(`header`,{className:`toolbar diff-app-toolbar pr-review-toolbar`,role:`banner`,children:[(0,G.jsxs)(`div`,{className:`toolbar-left`,children:[(0,G.jsx)(`button`,{className:`toolbar-mobile-toggle`,onClick:i,"aria-label":r?`Open file tree`:`Close file tree`,"aria-expanded":!r,title:r?`Open sidebar · b`:`Close sidebar · b`,children:(0,G.jsx)(AO,{size:18})}),(0,G.jsx)(`button`,{className:`pr-toolbar-back`,onClick:()=>DE(`/`),title:`Back to local review`,"aria-label":`Back to local review`,children:(0,G.jsx)(zD,{size:14})}),(0,G.jsxs)(`div`,{className:`toolbar-brand pr-toolbar-brand`,children:[(0,G.jsx)(HH,{size:20,className:`toolbar-brand-mark`}),(0,G.jsxs)(`div`,{className:`toolbar-brand-text`,children:[(0,G.jsxs)(`h1`,{className:`toolbar-title`,children:[e.owner,`/`,e.repo]}),(0,G.jsxs)(`span`,{className:`toolbar-branch-inline`,title:`Pull request #${e.pullNumber}`,children:[(0,G.jsx)(yO,{size:11}),` #`,e.pullNumber]}),e.headRefName&&e.baseRefName&&(0,G.jsxs)(`span`,{className:`toolbar-branch-flow`,title:`Comparing ${e.headRefName} into ${e.baseRefName}`,"aria-label":`Source branch ${e.headRefName} into target branch ${e.baseRefName}`,children:[(0,G.jsx)(`code`,{className:`toolbar-branch-head`,children:e.headRefName}),(0,G.jsx)(BD,{size:11,"aria-hidden":`true`}),(0,G.jsx)(`code`,{className:`toolbar-branch-base`,children:e.baseRefName})]})]})]})]}),(0,G.jsxs)(`div`,{className:`toolbar-right`,children:[(0,G.jsxs)(`button`,{className:`btn btn-sm toolbar-search-btn`,onClick:a,title:`Search files and changed lines (⌘K)`,"aria-label":`Search`,children:[(0,G.jsx)(ZO,{size:14}),(0,G.jsx)(`span`,{className:`btn-label`,children:`Search`}),(0,G.jsx)(`kbd`,{className:`toolbar-search-kbd`,children:`⌘K`})]}),(0,G.jsxs)(`button`,{className:`btn btn-sm pr-header-copy`,onClick:()=>navigator.clipboard.writeText(vE(t)),disabled:t.length===0,title:`Copy draft comments as Markdown`,children:[(0,G.jsx)(oO,{size:13}),` `,(0,G.jsx)(`span`,{className:`btn-label`,children:`Copy`})]}),(0,G.jsxs)(`button`,{className:`btn btn-sm pr-header-refresh`,onClick:o,disabled:s,title:`Refresh PR from GitHub`,children:[(0,G.jsx)(qO,{size:13,className:s?`spinning`:``}),(0,G.jsx)(`span`,{className:`btn-label`,children:s?`Refreshing…`:`Refresh`})]}),(0,G.jsxs)(`a`,{className:`btn btn-sm pr-header-link`,href:e.url,target:`_blank`,rel:`noreferrer`,title:`Open pull request on GitHub`,children:[(0,G.jsx)(cO,{size:13}),` `,(0,G.jsx)(`span`,{className:`btn-label`,children:`GitHub`})]}),(0,G.jsx)(fW,{...n}),(0,G.jsx)(h3,{session:e,comments:t,onEditComment:c,onDeleteComment:l,onSubmitted:u})]})]})}var y3={APPROVED:{label:`approved these changes`,short:`Approved`,icon:YD},CHANGES_REQUESTED:{label:`requested changes`,short:`Changes requested`,icon:$D},COMMENTED:{label:`left a review comment`,short:`Commented`,icon:jO},PENDING:{label:`started a pending review`,short:`Pending`,icon:nO},DISMISSED:{label:`had a review dismissed`,short:`Dismissed`,icon:$D}};function b3({reviews:e}){let[t,n]=(0,W.useState)(e[0]?.id??null),[r,i]=(0,W.useState)(null);if((0,W.useEffect)(()=>{n(e[0]?.id??null)},[e[0]?.id]),(0,W.useEffect)(()=>{i(null)},[t]),e.length===0)return null;let a=Math.max(0,e.findIndex(e=>e.id===t)),o=e[a]??e[0],s=y3[o.state],c=s.icon,l=o.submittedAt?new Date(o.submittedAt).getTime():null;return(0,G.jsxs)(`section`,{className:`pr-review-activity`,"aria-label":`GitHub review activity`,children:[(0,G.jsxs)(`header`,{className:`pr-review-activity-head`,children:[(0,G.jsxs)(`div`,{className:`pr-review-activity-identity`,children:[o.author?.avatarUrl&&r!==o.author.avatarUrl?(0,G.jsx)(`img`,{src:`/api/gh/avatar?url=${encodeURIComponent(o.author.avatarUrl)}`,alt:``,className:`pr-review-activity-avatar`,referrerPolicy:`no-referrer`,onError:()=>i(o.author?.avatarUrl??null)}):(0,G.jsx)(`span`,{className:`pr-review-activity-avatar is-fallback`,"aria-hidden":`true`,children:(0,G.jsx)(c,{size:14})}),(0,G.jsx)(c,{className:`pr-review-activity-state-icon`,"data-state":o.state,size:16,"aria-hidden":`true`}),(0,G.jsxs)(`span`,{children:[(0,G.jsxs)(`strong`,{children:[`@`,o.author?.login??`unknown`]}),` `,s.label]}),l!=null&&(0,G.jsx)(`time`,{dateTime:o.submittedAt,title:new Date(l).toLocaleString(),children:eE(l)}),(0,G.jsx)(`span`,{className:`pr-review-activity-verdict`,"data-state":o.state,children:s.short})]}),(0,G.jsxs)(`nav`,{className:`pr-review-activity-nav`,"aria-label":`Walk GitHub reviews`,children:[(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm commit-walk-btn`,disabled:a===0,onClick:()=>n(e[a-1]?.id??o.id),"aria-label":`Newer review`,title:`Newer review`,children:(0,G.jsx)(GD,{size:14})}),(0,G.jsxs)(`span`,{children:[a+1,` / `,e.length]}),(0,G.jsx)(`button`,{type:`button`,className:`btn btn-sm commit-walk-btn`,disabled:a>=e.length-1,onClick:()=>n(e[a+1]?.id??o.id),"aria-label":`Older review`,title:`Older review`,children:(0,G.jsx)(KD,{size:14})}),o.htmlUrl&&(0,G.jsxs)(`a`,{className:`pr-review-activity-link`,href:o.htmlUrl,target:`_blank`,rel:`noreferrer`,children:[`View on GitHub `,(0,G.jsx)(cO,{size:11})]})]})]}),o.body.trim()?(0,G.jsx)(gH,{content:o.body,className:`pr-review-activity-body markdown-body`}):(0,G.jsx)(`p`,{className:`pr-review-activity-empty`,children:`No overall comment was submitted with this review.`})]})}function x3(e){return e.some(e=>e.state===`pending`)?8e3:3e4}function S3(e){return e===`success`?{icon:YD,className:`is-success`,label:`Succeeded`}:e===`pending`?{icon:nO,className:`is-pending`,label:`In progress`}:e===`failure`||e===`error`||e===`timed_out`||e===`action_required`?{icon:$D,className:`is-failure`,label:e===`timed_out`?`Timed out`:`Failed`}:e===`skipped`||e===`cancelled`||e===`neutral`?{icon:ZD,className:`is-neutral`,label:e===`cancelled`?`Cancelled`:e===`skipped`?`Skipped`:`Neutral`}:{icon:XD,className:`is-neutral`,label:`Unknown`}}function C3({headSha:e}){let t=nt({queryKey:[`pr-checks`,e],queryFn:async()=>{let e=await fetch(`/api/gh/checks`),t=await e.json().catch(()=>({}));if(!e.ok)throw Error(t.error||`HTTP ${e.status}`);return t},refetchInterval:e=>x3(e.state.data?.checks??[]),refetchOnWindowFocus:!0,staleTime:5e3}),n=t.data?.checks??[],r=n.filter(e=>e.state===`success`).length,i=n.filter(e=>e.state===`pending`).length,a=n.filter(e=>[`failure`,`error`,`timed_out`,`action_required`].includes(e.state)).length,o=Math.max(0,n.length-r-i-a),s=a>0?`failure`:i>0?`pending`:n.length>0?`success`:`neutral`,c=s===`failure`?$D:s===`pending`?nO:s===`success`?YD:XD;return(0,G.jsx)(Qk,{ariaLabel:`GitHub checks`,className:`pr-checks-popover`,trigger:(0,G.jsxs)(`button`,{className:`toolbar-chip pr-checks-trigger is-${s}`,title:`Live GitHub checks and actions status`,type:`button`,children:[(0,G.jsx)(c,{size:12}),(0,G.jsx)(`span`,{children:t.isLoading?`Loading checks…`:n.length===0?`No checks`:a>0?`${a} failing`:i>0?`${i} running`:`${r}/${n.length} passed`})]}),children:(0,G.jsxs)(`div`,{className:`pr-checks-panel`,children:[(0,G.jsxs)(`div`,{className:`pr-checks-head`,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`strong`,{children:`Checks and actions`}),(0,G.jsxs)(`span`,{children:[`Live status for `,e.slice(0,7)]})]}),(0,G.jsx)(`button`,{className:`file-diff-icon-btn`,onClick:()=>t.refetch(),disabled:t.isFetching,"aria-label":`Refresh checks`,children:(0,G.jsx)(qO,{size:13,className:t.isFetching?`spinning`:``})})]}),n.length>0&&(0,G.jsxs)(`div`,{className:`pr-checks-summary`,"aria-label":`Checks summary`,children:[(0,G.jsxs)(`span`,{className:`is-success`,children:[(0,G.jsx)(YD,{size:12}),` `,r,` passed`]}),(0,G.jsxs)(`span`,{className:`is-failure`,children:[(0,G.jsx)($D,{size:12}),` `,a,` failed`]}),(0,G.jsxs)(`span`,{className:`is-pending`,children:[(0,G.jsx)(nO,{size:12}),` `,i,` running`]}),o>0&&(0,G.jsxs)(`span`,{className:`is-neutral`,children:[(0,G.jsx)(ZD,{size:12}),` `,o,` other`]})]}),t.isError?(0,G.jsxs)(`div`,{className:`pr-checks-empty is-error`,children:[(0,G.jsx)(JD,{size:15}),` `,t.error.message]}):t.isLoading?(0,G.jsx)(`div`,{className:`pr-checks-empty`,children:`Loading the latest GitHub status…`}):n.length===0?(0,G.jsx)(`div`,{className:`pr-checks-empty`,children:`No checks are reported for this commit.`}):(0,G.jsx)(`ul`,{className:`pr-checks-list`,children:n.map((e,t)=>{let n=S3(e.state),r=n.icon;return(0,G.jsxs)(`li`,{className:n.className,children:[(0,G.jsx)(r,{size:14}),(0,G.jsx)(`span`,{className:`pr-checks-name`,children:e.name}),(0,G.jsx)(`span`,{className:`pr-checks-state`,children:n.label}),e.detailsUrl&&(0,G.jsx)(`a`,{href:e.detailsUrl,target:`_blank`,rel:`noreferrer`,"aria-label":`Open ${e.name} on GitHub`,children:(0,G.jsx)(cO,{size:12})})]},`${e.name}-${t}`)})}),(0,G.jsx)(`div`,{className:`pr-checks-foot`,children:`Updates every 8 seconds while work is running.`})]})})}function w3({session:e,draftCount:t}){return(0,G.jsx)(`section`,{className:`diff-overview-banner pr-overview-banner`,"aria-label":`Pull request #${e.pullNumber}: ${e.title}`,children:(0,G.jsxs)(`header`,{className:`diff-overview-banner-header`,children:[(0,G.jsxs)(`div`,{className:`diff-overview-banner-line`,children:[(0,G.jsx)(yO,{size:14,className:`diff-overview-banner-icon`,"aria-hidden":`true`}),(0,G.jsx)(`h2`,{className:`diff-overview-banner-headline`,children:e.title})]}),(0,G.jsxs)(`div`,{className:`diff-overview-banner-meta pr-overview-meta`,children:[(0,G.jsxs)(`span`,{className:`pr-overview-identity`,children:[`Pull request #`,e.pullNumber,e.author?.login?(0,G.jsxs)(G.Fragment,{children:[` by `,(0,G.jsxs)(`strong`,{children:[`@`,e.author.login]})]}):null]}),e.headRefName&&e.baseRefName&&(0,G.jsxs)(`span`,{className:`pr-overview-branches`,title:`Comparing ${e.headRefName} into ${e.baseRefName}`,children:[(0,G.jsx)(`code`,{className:`pr-overview-branch-head`,children:e.headRefName}),(0,G.jsx)(`span`,{className:`pr-overview-branch-arrow`,"aria-hidden":`true`,children:`→`}),(0,G.jsx)(`code`,{className:`pr-overview-branch-base`,children:e.baseRefName})]}),(0,G.jsxs)(`span`,{children:[e.changedFiles,` file`,e.changedFiles===1?``:`s`]}),(0,G.jsxs)(`span`,{className:`toolbar-chip-diff`,"aria-label":`${e.additions} additions and ${e.deletions} deletions`,children:[(0,G.jsxs)(`span`,{className:`stat-additions`,children:[`+`,e.additions]}),(0,G.jsxs)(`span`,{className:`stat-deletions`,children:[`−`,e.deletions]})]}),t>0&&(0,G.jsxs)(`span`,{className:`toolbar-chip toolbar-chip-comments`,children:[t,` draft`,t===1?``:`s`]}),(0,G.jsx)(C3,{headSha:e.headSha})]})]})})}function T3({result:e,onDismiss:t}){return(0,G.jsxs)(`div`,{className:`pr-submitted-toast`,role:`status`,children:[(0,G.jsx)(YD,{size:16,className:`pr-submitted-icon`}),(0,G.jsxs)(`div`,{className:`pr-submitted-text`,children:[(0,G.jsx)(`strong`,{children:`Review submitted to GitHub.`}),e.reviewUrl&&(0,G.jsxs)(G.Fragment,{children:[` `,(0,G.jsxs)(`a`,{href:e.reviewUrl,target:`_blank`,rel:`noreferrer`,children:[`Open review on GitHub `,(0,G.jsx)(cO,{size:11})]})]}),e.authSource&&e.authSource!==`none`&&(0,G.jsxs)(`span`,{className:`pr-submitted-auth`,children:[`via `,e.authSource]})]}),(0,G.jsx)(`button`,{className:`pr-submitted-dismiss`,onClick:t,title:`Dismiss`,"aria-label":`Dismiss`,children:`×`})]})}function E3(){let e=Am(),t=Ve(),{settings:n,loaded:r,updateSettings:i}=IE(),[,a]=(0,W.useTransition)(),{session:o,loaded:s,error:c}=c3(),l=p3();l3(s&&!!o);let{comments:u,addComment:d,removeComment:f,updateComment:p,addReply:m,resolveComment:h,unresolveComment:g,editComment:_,editReply:v,removeReply:y}=d3(s&&!!o),{patch:b,loading:x,error:S}=gE({staged:!1,untracked:!1},s&&!!o),{viewedFiles:C,setViewed:w}=VE(),[T,E]=(0,W.useState)(null),[D,O]=(0,W.useState)(()=>{let e=CD(`diffing-sidebar-collapsed`);return e==null?typeof window<`u`&&window.innerWidth<=768:e===`true`}),[k,A]=(0,W.useState)(()=>Number(CD(`diffing-sidebar-width`))||320),[j,M]=(0,W.useState)(()=>Number(CD(`diffing-comment-panel-height`))||220),[N,P]=(0,W.useState)(()=>mD(CD(`diffing-pr-extension-filter`)??``)),[F,I]=(0,W.useState)(()=>{let e=CD(`diffing-pr-chip-filter`);return e===`unviewed`||e===`has-comments`?e:`all`}),[L,R]=(0,W.useState)({open:!1,scope:`files`}),[z,ee]=(0,W.useState)(!1),[te,ne]=(0,W.useState)(!1),[B,V]=(0,W.useState)(!1),[re,ie]=(0,W.useState)(!1),[ae,oe]=(0,W.useState)(null),se=(0,W.useRef)(null),ce=(0,W.useRef)(null),H=(0,W.useRef)(null),le=(0,W.useRef)(k),ue=(0,W.useRef)(j);le.current=k,ue.current=j,LE(r,n.uiFont,n.monoFont);let U=(0,W.useMemo)(()=>{if(!b)return[];try{let e=new Set;return Pg(b).flatMap(e=>e.files).filter(t=>e.has(t.name)?!1:(e.add(t.name),!0)).sort(AG)}catch{return[]}},[b]),de=(0,W.useMemo)(()=>{let e=new Map;for(let t of o?.existingComments??[]){let n=e.get(t.path)??[];n.push(t),e.set(t.path,n)}return e},[o]),fe=(0,W.useMemo)(()=>{let e={};for(let t of u)e[t.filePath]=(e[t.filePath]??0)+1;for(let t of o?.existingComments??[])e[t.path]=(e[t.path]??0)+1;return e},[u,o]),pe=(0,W.useMemo)(()=>{let e=U;return N.length>0&&(e=e.filter(e=>_D(e.name,N))),F===`unviewed`&&(e=e.filter(e=>!C.has(e.name))),F===`has-comments`&&(e=e.filter(e=>(fe[e.name]??0)>0)),e},[U,N,F,C,fe]),me=(0,W.useMemo)(()=>{let e=new Map;for(let t of u){let n=e.get(t.filePath)??[];n.push({side:t.side,lineNumber:t.lineNumber,metadata:t}),e.set(t.filePath,n)}return e},[u]),he=kD(pe),ge=(0,W.useMemo)(()=>FE(n.monoFont),[n.monoFont]),_e=(0,W.useMemo)(()=>new Set,[]),ve=(0,W.useCallback)(e=>{E(e),document.getElementById(`file-${e}`)?.scrollIntoView({block:`start`})},[]),ye=(0,W.useCallback)(e=>{let t=pe[pe.findIndex(t=>t.name===e)+1];t&&requestAnimationFrame(()=>requestAnimationFrame(()=>{document.getElementById(`file-${t.name}`)?.scrollIntoView({block:`start`,behavior:`smooth`})}))},[pe]),be=(0,W.useCallback)((e,t)=>{w(e,t),t&&ye(e)},[w,ye]),xe=(0,W.useCallback)(async(e,n)=>{let r=await fetch(`/api/gh/existing-comments/${e}/replies`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({body:n})}),i=await r.json().catch(()=>({}));if(!r.ok)throw Error(i.error||`HTTP ${r.status}`);await t.invalidateQueries({queryKey:[`pr-session`]})},[t]),Se=(0,W.useCallback)(async(e,n,r)=>{let i=await fetch(`/api/gh/existing-comments/${n}`,{method:e,headers:r==null?void 0:{"Content-Type":`application/json`},body:r==null?void 0:JSON.stringify({body:r})}),a=await i.json().catch(()=>({}));if(!i.ok)throw Error(a.error||`HTTP ${i.status}`);await t.invalidateQueries({queryKey:[`pr-session`]})},[t]),Ce=(0,W.useCallback)(async(e,n)=>{let r=await fetch(`/api/gh/review-threads/${encodeURIComponent(e)}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({resolved:n})}),i=await r.json().catch(()=>({}));if(!r.ok)throw Error(i.error||`HTTP ${r.status}`);await t.invalidateQueries({queryKey:[`pr-session`]})},[t]),we=(0,W.useCallback)(e=>{e.preventDefault();let t=e.clientX,n=le.current,r=ce.current?.getBoundingClientRect().left??0,i=n,a=e=>{i=Math.max(240,Math.min(640,n+e.clientX-t)),H.current&&(H.current.style.transform=`translateX(${r+i}px)`)},o=()=>{H.current?.classList.remove(`sidebar-resize-guide-active`),A(i),DD(`diffing-sidebar-width`,String(i)),document.removeEventListener(`mousemove`,a),document.removeEventListener(`mouseup`,o),document.body.style.cursor=``,document.body.style.userSelect=``};H.current?.classList.add(`sidebar-resize-guide-active`),document.addEventListener(`mousemove`,a),document.addEventListener(`mouseup`,o),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`},[]),Te=(0,W.useCallback)(e=>{e.preventDefault();let t=e.clientY,n=ue.current,r=n,i=e=>{r=Math.max(100,Math.min(600,n+t-e.clientY)),se.current?.style.setProperty(`--comment-panel-height`,`${r}px`)},a=()=>{M(r),DD(`diffing-comment-panel-height`,String(r)),document.removeEventListener(`mousemove`,i),document.removeEventListener(`mouseup`,a),document.body.style.cursor=``,document.body.style.userSelect=``};document.addEventListener(`mousemove`,i),document.addEventListener(`mouseup`,a),document.body.style.cursor=`row-resize`,document.body.style.userSelect=`none`},[]);(0,W.useEffect)(()=>{DD(`diffing-sidebar-collapsed`,String(D))},[D]),(0,W.useEffect)(()=>DD(`diffing-pr-extension-filter`,N.join(`,`)),[N]),(0,W.useEffect)(()=>DD(`diffing-pr-chip-filter`,F),[F]),(0,W.useEffect)(()=>{let e=document.documentElement;e.classList.add(`theme-switching`),e.setAttribute(`data-theme`,n.theme||`rose-pine`),e.setAttribute(`data-density`,n.density||`comfortable`);let t=requestAnimationFrame(()=>requestAnimationFrame(()=>e.classList.remove(`theme-switching`)));return()=>cancelAnimationFrame(t)},[n.theme,n.density]);let Ee=(0,W.useMemo)(()=>nE[n.theme||`rose-pine`]||nE[`rose-pine`],[n.theme]),De=(0,W.useMemo)(()=>Array.from(new Set(U.flatMap(e=>[Yf(e.name),e.prevName?Yf(e.prevName):null]).filter(e=>e!=null&&e!==`text`))),[U]);(0,W.useEffect)(()=>{e&&e.setRenderOptions({theme:{dark:Ee.type===`dark`?Ee.themeName:`rose-pine`,light:Ee.type===`light`?Ee.themeName:`github-light`}}).catch(()=>{})},[e,Ee]),(0,W.useEffect)(()=>{let e=Ee.type===`dark`?Ee.themeName:`rose-pine`,t=Ee.type===`light`?Ee.themeName:`github-light`;Uf({themes:Array.from(new Set([e,t])),langs:De}).catch(()=>{})},[Ee,De]),(0,W.useEffect)(()=>{if(o)return document.title=`${o.owner}/${o.repo}#${o.pullNumber} · diffing`,()=>{document.title=`diffing`}},[o]);let Oe=(0,W.useCallback)(e=>{if(pe.length===0)return;let t=T?pe.findIndex(e=>e.name===T):-1,n=e===`next`?Math.min(t+1,pe.length-1):Math.max(t-1,0),r=pe[Math.max(0,n)];r&&ve(r.name)},[T,pe,ve]),ke=(0,W.useCallback)(()=>{T&&be(T,!C.has(T))},[T,be,C]);if(m3((0,W.useMemo)(()=>({onNavigateFile:Oe,onToggleViewed:ke,onToggleDiffStyle:()=>i({diffStyle:n.diffStyle===`split`?`unified`:`split`}),onCycleTabSize:()=>{let e=[2,4,8];i({defaultTabSize:e[(e.indexOf(n.defaultTabSize)+1)%e.length]})},onToggleSidebar:()=>O(e=>!e),onToggleLineWrap:()=>i({lineWrap:!n.lineWrap}),onToggleLineNumbers:()=>i({showLineNumbers:!n.showLineNumbers}),onCycleDiffIndicators:()=>{let e=[`classic`,`bars`,`none`];i({diffIndicators:e[(e.indexOf(n.diffIndicators)+1)%e.length]})},onCycleLineDiffType:()=>{let e=[`word`,`word-alt`,`char`,`none`];i({lineDiffType:e[(e.indexOf(n.lineDiffType)+1)%e.length]})},onOpenPalette:e=>R({open:!0,scope:e}),onTogglePalette:()=>R(e=>e.open?{...e,open:!1}:{open:!0,scope:`all`}),onOpenTheme:()=>ee(!0),onOpenShortcuts:()=>ie(!0)}),[Oe,n.defaultTabSize,n.diffIndicators,n.diffStyle,n.lineDiffType,n.lineWrap,n.showLineNumbers,ke,i])),s&&!o)return(0,G.jsxs)(`div`,{className:`pr-app-empty`,children:[(0,G.jsx)(yO,{size:32}),(0,G.jsx)(`h2`,{children:`No active PR session`}),(0,G.jsxs)(`p`,{children:[`Start one with `,(0,G.jsx)(`code`,{children:`diffing "gh pr 1234"`}),` or `,(0,G.jsx)(`code`,{children:`diffing --gh-pr 1234`}),` from inside the repo.`]}),(0,G.jsx)(`button`,{className:`btn btn-sm`,onClick:()=>DE(`/`),children:`Back to local review`})]});if(!o)return(0,G.jsx)(`div`,{className:`pr-app-empty`,children:(0,G.jsx)(`span`,{children:`Loading PR session…`})});let Ae=e=>a(()=>i(e)),je={diffStyle:n.diffStyle,defaultTabSize:n.defaultTabSize,lineDiffType:n.lineDiffType,lineWrap:n.lineWrap,diffIndicators:n.diffIndicators,showLineNumbers:n.showLineNumbers,hunkSeparators:n.hunkSeparators,lineHoverHighlight:n.lineHoverHighlight,fontSize:n.fontSize,haptics:n.haptics,sounds:n.sounds,uiFont:n.uiFont,monoFont:n.monoFont,density:n.density,autoCollapseLineThreshold:n.autoCollapseLineThreshold,showStatusBar:n.showStatusBar,onDiffStyleChange:e=>Ae({diffStyle:e}),onDefaultTabSizeChange:e=>Ae({defaultTabSize:e}),onOpenThemeModal:()=>ee(!0),onLineDiffTypeChange:e=>Ae({lineDiffType:e}),onLineWrapChange:e=>Ae({lineWrap:e}),onDiffIndicatorsChange:e=>Ae({diffIndicators:e}),onShowLineNumbersChange:e=>Ae({showLineNumbers:e}),onHunkSeparatorsChange:e=>Ae({hunkSeparators:e}),onLineHoverHighlightChange:e=>Ae({lineHoverHighlight:e}),onFontSizeChange:e=>Ae({fontSize:e}),onHapticsChange:e=>Ae({haptics:e}),onSoundsChange:e=>Ae({sounds:e}),onDensityChange:e=>Ae({density:e}),onAutoCollapseLineThresholdChange:e=>Ae({autoCollapseLineThreshold:e}),onShowStatusBarChange:e=>Ae({showStatusBar:e}),onOpenUiFontModal:()=>ne(!0),onOpenMonoFontModal:()=>V(!0),showSource:!1,showWhitespace:!1,showExternalTools:!1,showSendPolicy:!1};return(0,G.jsx)(fD,{enabled:n.haptics,soundsEnabled:n.sounds,children:(0,G.jsxs)(`div`,{ref:se,className:`app pr-app`,"data-pr-mode":`true`,style:{"--sidebar-width":`${k}px`,"--comment-panel-height":`${j}px`},children:[(0,G.jsx)(`a`,{href:`#pr-diff-main`,className:`skip-to-main`,children:`Skip to diff`}),(0,G.jsx)(`div`,{className:`sidebar-resize-guide`,ref:H,"aria-hidden":`true`}),(0,G.jsx)(v3,{session:o,comments:u,settingsProps:je,sidebarCollapsed:D,onToggleSidebar:()=>O(e=>!e),onOpenSearch:()=>R({open:!0,scope:`all`}),onRefresh:()=>l.mutate(),refreshing:l.isPending,onEditComment:(e,t)=>p({id:e,body:t}),onDeleteComment:f,onSubmitted:oe}),!D&&(0,G.jsx)(`div`,{className:`sidebar-mobile-backdrop`,onClick:()=>O(!0),"aria-hidden":`true`}),(0,G.jsxs)(`div`,{className:`app-body`,children:[(0,G.jsxs)(`aside`,{ref:ce,className:`sidebar ${D?`sidebar-collapsed`:``}`,children:[(0,G.jsx)(`div`,{className:`pr-sidebar-tree`,children:(0,G.jsx)(Z0,{files:U,activeFile:T,commentCounts:fe,viewedFiles:C,untrackedFiles:_e,onFileClick:ve,collapsed:D,onToggleCollapse:()=>O(e=>!e),appliedExtensions:N,onApplyExtensions:e=>P(hD(e)),chipFilter:F,onChipFilterChange:I})}),!D&&u.length>0&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`ct-resize-handle`,onMouseDown:Te,role:`separator`,"aria-label":`Resize comments panel`,"aria-orientation":`horizontal`,tabIndex:0}),(0,G.jsx)(`div`,{className:`ct-wrapper pr-ct-wrapper`,children:(0,G.jsx)(t2,{comments:u,resolveComment:h,unresolveComment:g,removeComment:f,addReply:async(e,t)=>{await m({id:e,body:t})},editComment:_,editReply:v,removeReply:y})})]})]}),!D&&(0,G.jsx)(`div`,{className:`sidebar-resize-handle`,onMouseDown:we,role:`separator`,"aria-label":`Resize sidebar`,"aria-orientation":`vertical`,tabIndex:0}),(0,G.jsxs)(`main`,{className:`main pr-main`,id:`pr-diff-main`,tabIndex:-1,children:[(0,G.jsx)(w3,{session:o,draftCount:u.length}),(0,G.jsx)(b3,{reviews:o.existingReviews??[]}),(o.existingComments?.length??0)>0&&(0,G.jsxs)(`div`,{className:`pr-existing-summary`,children:[(0,G.jsx)(jO,{size:13}),(0,G.jsxs)(`span`,{children:[o.existingComments.length,` existing GitHub conversation`,o.existingComments.length===1?``:`s`,` included in this review.`]})]}),(S||c)&&(0,G.jsxs)(`div`,{className:`pr-error`,children:[(0,G.jsx)(JD,{size:14}),` Failed to load the PR: `,S||c?.message]}),x&&!b?(0,G.jsx)(`div`,{className:`pr-app-loading`,children:`Loading PR diff…`}):pe.length===0?(0,G.jsxs)(`div`,{className:`empty-state`,role:`status`,children:[(0,G.jsx)(`div`,{className:`empty-state-icon`,children:(0,G.jsx)(_O,{size:24})}),(0,G.jsx)(`p`,{className:`empty-state-title`,children:`No matching files`}),(0,G.jsx)(`p`,{className:`empty-state-hint`,children:`Clear the file-tree filters to see the full pull request.`})]}):(0,G.jsx)(D3,{files:pe,fileAnnotations:me,existingCommentsByFile:de,viewedFiles:C,settings:n,monoFontFamily:ge,onAddComment:e=>d(e),onDeleteComment:f,onViewedChange:be,onCardToggleCollapse:(e,t)=>{t&&ye(e)},onReplyExisting:xe,onEditExisting:(e,t)=>Se(`PATCH`,e,t),onDeleteExisting:e=>Se(`DELETE`,e),onSetExistingResolved:Ce})]})]}),(0,G.jsx)(O2,{isOpen:L.open,onClose:()=>R(e=>({...e,open:!1})),initialScope:L.scope,files:pe,changedEntries:he,customMode:!0,staged:!1,onNavigateFile:ve,theme:n.theme||`rose-pine`,fontSize:n.fontSize,monoFontFamily:ge,defaultTabSize:n.defaultTabSize,lineWrap:n.lineWrap,showLineNumbers:n.showLineNumbers,lineHoverHighlight:n.lineHoverHighlight}),(0,G.jsx)(I2,{activeFile:T,onShowHelp:()=>ie(!0),visible:n.showStatusBar,placeholder:`No active PR file (J/K to jump)`}),(0,G.jsx)(L2,{isOpen:re,onClose:()=>ie(!1),mode:`pr`}),(0,G.jsx)(B2,{open:z,activeTheme:n.theme||`rose-pine`,onThemeChange:e=>Ae({theme:e}),onClose:()=>ee(!1)}),(0,G.jsx)(U2,{open:te,title:`Select UI Font`,defaultLabel:`Default (Geist Mono, from CDN)`,activeFont:n.uiFont,onFontChange:e=>Ae({uiFont:e}),onClose:()=>ne(!1)}),(0,G.jsx)(U2,{open:B,title:`Select Code Font`,defaultLabel:`Default (JetBrains Mono, from CDN)`,activeFont:n.monoFont,onFontChange:e=>Ae({monoFont:e}),onClose:()=>V(!1)}),ae&&(0,G.jsx)(T3,{result:ae,onDismiss:()=>oe(null)})]})})}function D3({files:e,fileAnnotations:t,existingCommentsByFile:n,viewedFiles:r,settings:i,monoFontFamily:a,onAddComment:o,onDeleteComment:s,onViewedChange:c,onCardToggleCollapse:l,onReplyExisting:u,onEditExisting:d,onDeleteExisting:f,onSetExistingResolved:p}){return(0,G.jsx)(`div`,{className:`pr-diff-surface`,children:e.map(e=>{let m=n.get(e.name)??[];return(0,G.jsx)(`div`,{className:`pr-file-block`,children:(0,G.jsx)(jG,{files:[e],diffStyle:i.diffStyle,tabSizeMap:{},defaultTabSize:i.defaultTabSize,viewedFiles:r,binaryFiles:new Map,theme:i.theme||`rose-pine`,lineDiffType:i.lineDiffType,lineWrap:i.lineWrap,diffIndicators:i.diffIndicators,showLineNumbers:i.showLineNumbers,hunkSeparators:i.hunkSeparators,lineHoverHighlight:i.lineHoverHighlight,fontSize:i.fontSize,monoFontFamily:a,expandContextByDefault:i.expandContextByDefault,collapsedContextThreshold:i.collapsedContextThreshold,expansionLineCount:i.expansionLineCount,autoCollapseLineThreshold:i.autoCollapseLineThreshold,onViewedChange:c,fileAnnotationsMap:new Map([[e.name,t.get(e.name)??[]]]),existingCommentsMap:new Map([[e.name,m]]),onAddComment:(e,t,n,r,i,a)=>o({filePath:e,side:t,lineNumber:n,lineContent:r,body:i,startLineNumber:a}),onDeleteComment:s,onReplyExisting:u,onEditExisting:d,onDeleteExisting:f,onSetExistingResolved:p,onCardToggleCollapse:l,allowLocalActions:!1})},e.name)})})}function O3(){let e=jE(),[t,n]=(0,W.useState)(!1),[r,i]=(0,W.useState)(()=>e===`/gh/pr`||e.startsWith(`/gh/pr/`)||e.startsWith(`/plan`));return(0,W.useEffect)(()=>{SD().then(()=>{n(!0)})},[]),(0,W.useEffect)(()=>{if(e===`/gh/pr`||e.startsWith(`/gh/pr/`)||e.startsWith(`/plan`)){i(!0);return}if(e!==`/`){i(!0);return}let t=!1;return fetch(`/api/gh/session`).then(async e=>{t||e.ok&&(await e.json().catch(()=>null))?.prMode===!0&&DE(`/gh/pr`,{replace:!0})}).catch(()=>{}).finally(()=>{t||i(!0)}),()=>{t=!0}},[e]),!t||!r?(0,G.jsxs)(`div`,{className:`boot-loader`,role:`status`,"aria-live":`polite`,children:[(0,G.jsx)(HH,{size:40,className:`boot-loader-mark`}),(0,G.jsx)(`div`,{className:`boot-loader-spinner`,"aria-hidden":`true`}),(0,G.jsx)(`span`,{className:`boot-loader-label`,children:`Loading review session…`})]}):e===`/plan`||e.startsWith(`/plan/`)?(0,G.jsx)(a3,{}):e===`/gh/pr`||e.startsWith(`/gh/pr/`)?(0,G.jsx)(E3,{}):(0,G.jsx)($2,{})}var k3=new Le;(0,mn.createRoot)(document.getElementById(`root`)).render((0,G.jsx)(He,{client:k3,children:(0,G.jsx)(ot,{children:(0,G.jsx)(km,{poolOptions:{workerFactory:()=>new A_,poolSize:Math.max(1,Math.min(4,navigator.hardwareConcurrency||2))},highlighterOptions:{theme:{dark:`rose-pine`,light:`github-light`},langs:[`vue`]},children:(0,G.jsx)(QT,{children:(0,G.jsx)(O3,{})})})})}));export{l as a,s as i,J as n,o as r,_E as t};