@bryanhu/codexly 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (305) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/LICENSE +21 -0
  3. package/README.md +87 -0
  4. package/README.zh-CN.md +87 -0
  5. package/dist/chunk-3OBVX5TN.js +15 -0
  6. package/dist/chunk-42AR5IS7.js +12543 -0
  7. package/dist/chunk-K63YBMTG.js +61287 -0
  8. package/dist/chunk-K6J42667.js +43 -0
  9. package/dist/chunk-MH54VCZJ.js +5224 -0
  10. package/dist/chunk-TEPSAXZZ.js +3360 -0
  11. package/dist/cli.js +889 -0
  12. package/dist/client/index.js +1010 -0
  13. package/dist/codex-jsonl-frame-worker.js +120 -0
  14. package/dist/core/index.js +5 -0
  15. package/dist/dist-NGSIFQU5.js +252 -0
  16. package/dist/protocol/index.js +5 -0
  17. package/dist/providers/codex/index.js +7 -0
  18. package/dist/server/index.js +9 -0
  19. package/dist/sqlite-state-worker.js +661 -0
  20. package/dist/web/.vite/manifest.json +829 -0
  21. package/dist/web/.vite/manifest.json.br +0 -0
  22. package/dist/web/.vite/manifest.json.gz +0 -0
  23. package/dist/web/assets/bash-BiGZg9Om.js +1 -0
  24. package/dist/web/assets/bash-BiGZg9Om.js.br +0 -0
  25. package/dist/web/assets/bash-BiGZg9Om.js.gz +0 -0
  26. package/dist/web/assets/bundle-mjs-rHxsej31.js +1 -0
  27. package/dist/web/assets/bundle-mjs-rHxsej31.js.br +0 -0
  28. package/dist/web/assets/bundle-mjs-rHxsej31.js.gz +0 -0
  29. package/dist/web/assets/button-CG0GNEOD.js +1 -0
  30. package/dist/web/assets/button-CG0GNEOD.js.br +0 -0
  31. package/dist/web/assets/button-CG0GNEOD.js.gz +0 -0
  32. package/dist/web/assets/button-group-D2LfHIjt.js +1 -0
  33. package/dist/web/assets/button-group-D2LfHIjt.js.br +0 -0
  34. package/dist/web/assets/button-group-D2LfHIjt.js.gz +0 -0
  35. package/dist/web/assets/c-DWGmR78Y.js +1 -0
  36. package/dist/web/assets/c-DWGmR78Y.js.br +1 -0
  37. package/dist/web/assets/c-DWGmR78Y.js.gz +0 -0
  38. package/dist/web/assets/c-SSSlmE39.js +1 -0
  39. package/dist/web/assets/c-SSSlmE39.js.br +0 -0
  40. package/dist/web/assets/c-SSSlmE39.js.gz +0 -0
  41. package/dist/web/assets/checkbox-Bvl7MRXT.js +1 -0
  42. package/dist/web/assets/checkbox-Bvl7MRXT.js.br +0 -0
  43. package/dist/web/assets/checkbox-Bvl7MRXT.js.gz +0 -0
  44. package/dist/web/assets/chunk-BO2N2NFS-C72FSBge.js +131 -0
  45. package/dist/web/assets/chunk-BO2N2NFS-C72FSBge.js.br +0 -0
  46. package/dist/web/assets/chunk-BO2N2NFS-C72FSBge.js.gz +0 -0
  47. package/dist/web/assets/code-highlighter-Cm0xdvAd.js +1 -0
  48. package/dist/web/assets/code-highlighter-Cm0xdvAd.js.br +0 -0
  49. package/dist/web/assets/code-highlighter-Cm0xdvAd.js.gz +0 -0
  50. package/dist/web/assets/code-languages-CfwYbccP.js +2 -0
  51. package/dist/web/assets/code-languages-CfwYbccP.js.br +0 -0
  52. package/dist/web/assets/code-languages-CfwYbccP.js.gz +0 -0
  53. package/dist/web/assets/cpp-BcHBJY00.js +1 -0
  54. package/dist/web/assets/cpp-BcHBJY00.js.br +0 -0
  55. package/dist/web/assets/cpp-BcHBJY00.js.gz +0 -0
  56. package/dist/web/assets/cpp-CIkEvbIe.js +1 -0
  57. package/dist/web/assets/cpp-CIkEvbIe.js.br +0 -0
  58. package/dist/web/assets/cpp-CIkEvbIe.js.gz +0 -0
  59. package/dist/web/assets/csharp-oqKa8noW.js +1 -0
  60. package/dist/web/assets/csharp-oqKa8noW.js.br +0 -0
  61. package/dist/web/assets/csharp-oqKa8noW.js.gz +0 -0
  62. package/dist/web/assets/css-CdtkT07m.js +1 -0
  63. package/dist/web/assets/css-CdtkT07m.js.br +1 -0
  64. package/dist/web/assets/css-CdtkT07m.js.gz +0 -0
  65. package/dist/web/assets/css-LbU1hoFO.js +1 -0
  66. package/dist/web/assets/css-LbU1hoFO.js.br +0 -0
  67. package/dist/web/assets/css-LbU1hoFO.js.gz +0 -0
  68. package/dist/web/assets/diff-woXpYk--.js +1 -0
  69. package/dist/web/assets/diff-woXpYk--.js.br +0 -0
  70. package/dist/web/assets/diff-woXpYk--.js.gz +0 -0
  71. package/dist/web/assets/dockerfile-IyjqRm3v.js +1 -0
  72. package/dist/web/assets/dockerfile-IyjqRm3v.js.br +0 -0
  73. package/dist/web/assets/dockerfile-IyjqRm3v.js.gz +0 -0
  74. package/dist/web/assets/dotenv-_5a1GRtc.js +1 -0
  75. package/dist/web/assets/dotenv-_5a1GRtc.js.br +0 -0
  76. package/dist/web/assets/dotenv-_5a1GRtc.js.gz +0 -0
  77. package/dist/web/assets/engine-compile-DQ0HPfe0.js +152 -0
  78. package/dist/web/assets/engine-compile-DQ0HPfe0.js.br +0 -0
  79. package/dist/web/assets/engine-compile-DQ0HPfe0.js.gz +0 -0
  80. package/dist/web/assets/es2015-CIXyxC_2.js +41 -0
  81. package/dist/web/assets/es2015-CIXyxC_2.js.br +0 -0
  82. package/dist/web/assets/es2015-CIXyxC_2.js.gz +0 -0
  83. package/dist/web/assets/file-CEs2ZXvf.js +1 -0
  84. package/dist/web/assets/file-CEs2ZXvf.js.br +0 -0
  85. package/dist/web/assets/file-CEs2ZXvf.js.gz +0 -0
  86. package/dist/web/assets/file-change-D7aZLgtG.js +4 -0
  87. package/dist/web/assets/file-change-D7aZLgtG.js.br +0 -0
  88. package/dist/web/assets/file-change-D7aZLgtG.js.gz +0 -0
  89. package/dist/web/assets/file-review-dialog-CTL5FpHU.js +2 -0
  90. package/dist/web/assets/file-review-dialog-CTL5FpHU.js.br +0 -0
  91. package/dist/web/assets/file-review-dialog-CTL5FpHU.js.gz +0 -0
  92. package/dist/web/assets/file-tree-DRpR7Mu2.js +1 -0
  93. package/dist/web/assets/file-tree-DRpR7Mu2.js.br +0 -0
  94. package/dist/web/assets/file-tree-DRpR7Mu2.js.gz +0 -0
  95. package/dist/web/assets/git-commit-horizontal-CQWH7rsr.js +1 -0
  96. package/dist/web/assets/git-commit-horizontal-CQWH7rsr.js.br +0 -0
  97. package/dist/web/assets/git-commit-horizontal-CQWH7rsr.js.gz +0 -0
  98. package/dist/web/assets/git-history-panel-BsIopLeA.js +2 -0
  99. package/dist/web/assets/git-history-panel-BsIopLeA.js.br +0 -0
  100. package/dist/web/assets/git-history-panel-BsIopLeA.js.gz +0 -0
  101. package/dist/web/assets/github-dark-C-LZuMrd.js +1 -0
  102. package/dist/web/assets/github-dark-C-LZuMrd.js.br +0 -0
  103. package/dist/web/assets/github-dark-C-LZuMrd.js.gz +0 -0
  104. package/dist/web/assets/github-light-EUqPIrTm.js +1 -0
  105. package/dist/web/assets/github-light-EUqPIrTm.js.br +0 -0
  106. package/dist/web/assets/github-light-EUqPIrTm.js.gz +0 -0
  107. package/dist/web/assets/global-settings-dialog-CJA_j2dA.js +1 -0
  108. package/dist/web/assets/global-settings-dialog-CJA_j2dA.js.br +0 -0
  109. package/dist/web/assets/global-settings-dialog-CJA_j2dA.js.gz +0 -0
  110. package/dist/web/assets/go-rLFTqkRN.js +1 -0
  111. package/dist/web/assets/go-rLFTqkRN.js.br +0 -0
  112. package/dist/web/assets/go-rLFTqkRN.js.gz +0 -0
  113. package/dist/web/assets/grammar-cpp-support-CV8oNpIY.js +1 -0
  114. package/dist/web/assets/grammar-cpp-support-CV8oNpIY.js.br +0 -0
  115. package/dist/web/assets/grammar-cpp-support-CV8oNpIY.js.gz +0 -0
  116. package/dist/web/assets/graphql-D5qRqMLb.js +1 -0
  117. package/dist/web/assets/graphql-D5qRqMLb.js.br +0 -0
  118. package/dist/web/assets/graphql-D5qRqMLb.js.gz +0 -0
  119. package/dist/web/assets/graphql-f69H1Mm0.js +1 -0
  120. package/dist/web/assets/graphql-f69H1Mm0.js.br +0 -0
  121. package/dist/web/assets/graphql-f69H1Mm0.js.gz +0 -0
  122. package/dist/web/assets/highlighted-body-OFNGDK62-NQRGdW--.js +1 -0
  123. package/dist/web/assets/highlighted-body-OFNGDK62-NQRGdW--.js.br +0 -0
  124. package/dist/web/assets/highlighted-body-OFNGDK62-NQRGdW--.js.gz +0 -0
  125. package/dist/web/assets/html-BcACZWSP.js +1 -0
  126. package/dist/web/assets/html-BcACZWSP.js.br +0 -0
  127. package/dist/web/assets/html-BcACZWSP.js.gz +0 -0
  128. package/dist/web/assets/html-DDNsd9lV.js +1 -0
  129. package/dist/web/assets/html-DDNsd9lV.js.br +0 -0
  130. package/dist/web/assets/html-DDNsd9lV.js.gz +0 -0
  131. package/dist/web/assets/index-B3NtDmQp.css +2 -0
  132. package/dist/web/assets/index-B3NtDmQp.css.br +0 -0
  133. package/dist/web/assets/index-B3NtDmQp.css.gz +0 -0
  134. package/dist/web/assets/index-C_O4z_mI.js +4 -0
  135. package/dist/web/assets/index-C_O4z_mI.js.br +0 -0
  136. package/dist/web/assets/index-C_O4z_mI.js.gz +0 -0
  137. package/dist/web/assets/ini-B5eOa1yu.js +1 -0
  138. package/dist/web/assets/ini-B5eOa1yu.js.br +5 -0
  139. package/dist/web/assets/ini-B5eOa1yu.js.gz +0 -0
  140. package/dist/web/assets/java-BtIQNnN0.js +1 -0
  141. package/dist/web/assets/java-BtIQNnN0.js.br +0 -0
  142. package/dist/web/assets/java-BtIQNnN0.js.gz +0 -0
  143. package/dist/web/assets/java-DxlWrXwe.js +1 -0
  144. package/dist/web/assets/java-DxlWrXwe.js.br +1 -0
  145. package/dist/web/assets/java-DxlWrXwe.js.gz +0 -0
  146. package/dist/web/assets/javascript-BzbQS41l.js +1 -0
  147. package/dist/web/assets/javascript-BzbQS41l.js.br +0 -0
  148. package/dist/web/assets/javascript-BzbQS41l.js.gz +0 -0
  149. package/dist/web/assets/javascript-Yelw-5ZN.js +1 -0
  150. package/dist/web/assets/javascript-Yelw-5ZN.js.br +0 -0
  151. package/dist/web/assets/javascript-Yelw-5ZN.js.gz +0 -0
  152. package/dist/web/assets/json-B88Oqtu5.js +1 -0
  153. package/dist/web/assets/json-B88Oqtu5.js.br +0 -0
  154. package/dist/web/assets/json-B88Oqtu5.js.gz +0 -0
  155. package/dist/web/assets/json-CaljABEy.js +1 -0
  156. package/dist/web/assets/json-CaljABEy.js.br +1 -0
  157. package/dist/web/assets/json-CaljABEy.js.gz +0 -0
  158. package/dist/web/assets/json5-BR5RXkoi.js +1 -0
  159. package/dist/web/assets/json5-BR5RXkoi.js.br +0 -0
  160. package/dist/web/assets/json5-BR5RXkoi.js.gz +0 -0
  161. package/dist/web/assets/jsonc-CYpm1nAK.js +1 -0
  162. package/dist/web/assets/jsonc-CYpm1nAK.js.br +0 -0
  163. package/dist/web/assets/jsonc-CYpm1nAK.js.gz +0 -0
  164. package/dist/web/assets/jsx-D3KKoC5L.js +1 -0
  165. package/dist/web/assets/jsx-D3KKoC5L.js.br +0 -0
  166. package/dist/web/assets/jsx-D3KKoC5L.js.gz +0 -0
  167. package/dist/web/assets/jsx-hEbJ82HF.js +1 -0
  168. package/dist/web/assets/jsx-hEbJ82HF.js.br +1 -0
  169. package/dist/web/assets/jsx-hEbJ82HF.js.gz +0 -0
  170. package/dist/web/assets/kotlin-DhhofPvG.js +1 -0
  171. package/dist/web/assets/kotlin-DhhofPvG.js.br +0 -0
  172. package/dist/web/assets/kotlin-DhhofPvG.js.gz +0 -0
  173. package/dist/web/assets/lazy-message-response-Cy_8wxLM.js +2 -0
  174. package/dist/web/assets/lazy-message-response-Cy_8wxLM.js.br +0 -0
  175. package/dist/web/assets/lazy-message-response-Cy_8wxLM.js.gz +0 -0
  176. package/dist/web/assets/lib-DrPFkMXk.js +1 -0
  177. package/dist/web/assets/lib-DrPFkMXk.js.br +0 -0
  178. package/dist/web/assets/lib-DrPFkMXk.js.gz +0 -0
  179. package/dist/web/assets/lua-BJObVtAx.js +1 -0
  180. package/dist/web/assets/lua-BJObVtAx.js.br +0 -0
  181. package/dist/web/assets/lua-BJObVtAx.js.gz +0 -0
  182. package/dist/web/assets/lua-DjuecEsk.js +1 -0
  183. package/dist/web/assets/lua-DjuecEsk.js.br +0 -0
  184. package/dist/web/assets/lua-DjuecEsk.js.gz +0 -0
  185. package/dist/web/assets/makefile-Dixweg8N.js +1 -0
  186. package/dist/web/assets/makefile-Dixweg8N.js.br +0 -0
  187. package/dist/web/assets/makefile-Dixweg8N.js.gz +0 -0
  188. package/dist/web/assets/markdown-BYOwaDjH.js +1 -0
  189. package/dist/web/assets/markdown-BYOwaDjH.js.br +0 -0
  190. package/dist/web/assets/markdown-BYOwaDjH.js.gz +0 -0
  191. package/dist/web/assets/mdx-DQZ5AkYe.js +1 -0
  192. package/dist/web/assets/mdx-DQZ5AkYe.js.br +0 -0
  193. package/dist/web/assets/mdx-DQZ5AkYe.js.gz +0 -0
  194. package/dist/web/assets/mermaid-GHXKKRXX-D0CV54MY.js +1 -0
  195. package/dist/web/assets/mermaid-GHXKKRXX-D0CV54MY.js.br +0 -0
  196. package/dist/web/assets/mermaid-GHXKKRXX-D0CV54MY.js.gz +0 -0
  197. package/dist/web/assets/message-response-CBOOkYPm.js +7 -0
  198. package/dist/web/assets/message-response-CBOOkYPm.js.br +0 -0
  199. package/dist/web/assets/message-response-CBOOkYPm.js.gz +0 -0
  200. package/dist/web/assets/patch-diff-viewer-BHcdOhhw.js +1409 -0
  201. package/dist/web/assets/patch-diff-viewer-BHcdOhhw.js.br +0 -0
  202. package/dist/web/assets/patch-diff-viewer-BHcdOhhw.js.gz +0 -0
  203. package/dist/web/assets/perl-Br95gH8g.js +1 -0
  204. package/dist/web/assets/perl-Br95gH8g.js.br +0 -0
  205. package/dist/web/assets/perl-Br95gH8g.js.gz +0 -0
  206. package/dist/web/assets/php-CYrBA5iX.js +1 -0
  207. package/dist/web/assets/php-CYrBA5iX.js.br +0 -0
  208. package/dist/web/assets/php-CYrBA5iX.js.gz +0 -0
  209. package/dist/web/assets/prompt-input-controls-CrypM5HZ.js +1 -0
  210. package/dist/web/assets/prompt-input-controls-CrypM5HZ.js.br +0 -0
  211. package/dist/web/assets/prompt-input-controls-CrypM5HZ.js.gz +0 -0
  212. package/dist/web/assets/prompt-reference-token-Cxx6C-IR.js +1 -0
  213. package/dist/web/assets/prompt-reference-token-Cxx6C-IR.js.br +0 -0
  214. package/dist/web/assets/prompt-reference-token-Cxx6C-IR.js.gz +0 -0
  215. package/dist/web/assets/provider-connection-queries-C40YvSEy.js +1 -0
  216. package/dist/web/assets/provider-connection-queries-C40YvSEy.js.br +0 -0
  217. package/dist/web/assets/provider-connection-queries-C40YvSEy.js.gz +0 -0
  218. package/dist/web/assets/python-gzcpVVnB.js +1 -0
  219. package/dist/web/assets/python-gzcpVVnB.js.br +0 -0
  220. package/dist/web/assets/python-gzcpVVnB.js.gz +0 -0
  221. package/dist/web/assets/react-runtime-CVaUQXZF.js +9 -0
  222. package/dist/web/assets/react-runtime-CVaUQXZF.js.br +0 -0
  223. package/dist/web/assets/react-runtime-CVaUQXZF.js.gz +0 -0
  224. package/dist/web/assets/rolldown-runtime-QTnfLwEv.js +1 -0
  225. package/dist/web/assets/rolldown-runtime-QTnfLwEv.js.br +0 -0
  226. package/dist/web/assets/rolldown-runtime-QTnfLwEv.js.gz +0 -0
  227. package/dist/web/assets/ruby-CbXu8Ywv.js +1 -0
  228. package/dist/web/assets/ruby-CbXu8Ywv.js.br +0 -0
  229. package/dist/web/assets/ruby-CbXu8Ywv.js.gz +0 -0
  230. package/dist/web/assets/rust-Cfkwpbl8.js +1 -0
  231. package/dist/web/assets/rust-Cfkwpbl8.js.br +0 -0
  232. package/dist/web/assets/rust-Cfkwpbl8.js.gz +0 -0
  233. package/dist/web/assets/scss-DHtrkMkT.js +1 -0
  234. package/dist/web/assets/scss-DHtrkMkT.js.br +0 -0
  235. package/dist/web/assets/scss-DHtrkMkT.js.gz +0 -0
  236. package/dist/web/assets/shellscript-BiGZg9Om.js +1 -0
  237. package/dist/web/assets/shellscript-BiGZg9Om.js.br +0 -0
  238. package/dist/web/assets/shellscript-BiGZg9Om.js.gz +0 -0
  239. package/dist/web/assets/shellscript-CqHdAlCp.js +1 -0
  240. package/dist/web/assets/shellscript-CqHdAlCp.js.br +0 -0
  241. package/dist/web/assets/shellscript-CqHdAlCp.js.gz +0 -0
  242. package/dist/web/assets/shiki-bundle-DzEBOJSk.js +1 -0
  243. package/dist/web/assets/shiki-bundle-DzEBOJSk.js.br +0 -0
  244. package/dist/web/assets/shiki-bundle-DzEBOJSk.js.gz +0 -0
  245. package/dist/web/assets/sql-0Qcw9ht3.js +1 -0
  246. package/dist/web/assets/sql-0Qcw9ht3.js.br +0 -0
  247. package/dist/web/assets/sql-0Qcw9ht3.js.gz +0 -0
  248. package/dist/web/assets/sql-CP0rg-5b.js +1 -0
  249. package/dist/web/assets/sql-CP0rg-5b.js.br +0 -0
  250. package/dist/web/assets/sql-CP0rg-5b.js.gz +0 -0
  251. package/dist/web/assets/svelte-BUVJxsYv.js +1 -0
  252. package/dist/web/assets/svelte-BUVJxsYv.js.br +0 -0
  253. package/dist/web/assets/svelte-BUVJxsYv.js.gz +0 -0
  254. package/dist/web/assets/swift-DonLKvLd.js +1 -0
  255. package/dist/web/assets/swift-DonLKvLd.js.br +0 -0
  256. package/dist/web/assets/swift-DonLKvLd.js.gz +0 -0
  257. package/dist/web/assets/toml-CcmNWLt0.js +1 -0
  258. package/dist/web/assets/toml-CcmNWLt0.js.br +0 -0
  259. package/dist/web/assets/toml-CcmNWLt0.js.gz +0 -0
  260. package/dist/web/assets/tsx-5f3ulCja.js +1 -0
  261. package/dist/web/assets/tsx-5f3ulCja.js.br +0 -0
  262. package/dist/web/assets/tsx-5f3ulCja.js.gz +0 -0
  263. package/dist/web/assets/tsx-BOvsFOI6.js +1 -0
  264. package/dist/web/assets/tsx-BOvsFOI6.js.br +0 -0
  265. package/dist/web/assets/tsx-BOvsFOI6.js.gz +0 -0
  266. package/dist/web/assets/typescript-Utq2Cl8c.js +1 -0
  267. package/dist/web/assets/typescript-Utq2Cl8c.js.br +0 -0
  268. package/dist/web/assets/typescript-Utq2Cl8c.js.gz +0 -0
  269. package/dist/web/assets/typescript-j_1H8WHN.js +1 -0
  270. package/dist/web/assets/typescript-j_1H8WHN.js.br +0 -0
  271. package/dist/web/assets/typescript-j_1H8WHN.js.gz +0 -0
  272. package/dist/web/assets/vue-BpAUjojh.js +1 -0
  273. package/dist/web/assets/vue-BpAUjojh.js.br +0 -0
  274. package/dist/web/assets/vue-BpAUjojh.js.gz +0 -0
  275. package/dist/web/assets/workbench-inspector-changes-RHaBVG45.js +1 -0
  276. package/dist/web/assets/workbench-inspector-changes-RHaBVG45.js.br +0 -0
  277. package/dist/web/assets/workbench-inspector-changes-RHaBVG45.js.gz +0 -0
  278. package/dist/web/assets/workbench-shell--6Y1cx2L.js +12 -0
  279. package/dist/web/assets/workbench-shell--6Y1cx2L.js.br +0 -0
  280. package/dist/web/assets/workbench-shell--6Y1cx2L.js.gz +0 -0
  281. package/dist/web/assets/xml-CoDIzWF0.js +1 -0
  282. package/dist/web/assets/xml-CoDIzWF0.js.br +0 -0
  283. package/dist/web/assets/xml-CoDIzWF0.js.gz +0 -0
  284. package/dist/web/assets/xml-WY0zc4PG.js +1 -0
  285. package/dist/web/assets/xml-WY0zc4PG.js.br +0 -0
  286. package/dist/web/assets/xml-WY0zc4PG.js.gz +0 -0
  287. package/dist/web/assets/yaml-CxbubiML.js +1 -0
  288. package/dist/web/assets/yaml-CxbubiML.js.br +0 -0
  289. package/dist/web/assets/yaml-CxbubiML.js.gz +0 -0
  290. package/dist/web/assets/yaml-DijMHRDA.js +1 -0
  291. package/dist/web/assets/yaml-DijMHRDA.js.br +0 -0
  292. package/dist/web/assets/yaml-DijMHRDA.js.gz +0 -0
  293. package/dist/web/brand/codexly-logo.svg +34 -0
  294. package/dist/web/brand/codexly-logo.svg.br +0 -0
  295. package/dist/web/brand/codexly-logo.svg.gz +0 -0
  296. package/dist/web/brand/codexly-mark.svg +21 -0
  297. package/dist/web/brand/codexly-mark.svg.br +0 -0
  298. package/dist/web/brand/codexly-mark.svg.gz +0 -0
  299. package/dist/web/favicon.svg +20 -0
  300. package/dist/web/favicon.svg.br +0 -0
  301. package/dist/web/favicon.svg.gz +0 -0
  302. package/dist/web/index.html +25 -0
  303. package/dist/web/index.html.br +0 -0
  304. package/dist/web/index.html.gz +0 -0
  305. package/package.json +85 -0
@@ -0,0 +1,1409 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/shiki-bundle-DzEBOJSk.js","assets/rolldown-runtime-QTnfLwEv.js","assets/engine-compile-DQ0HPfe0.js","assets/lib-DrPFkMXk.js","assets/code-languages-CfwYbccP.js","assets/index-C_O4z_mI.js","assets/react-runtime-CVaUQXZF.js","assets/button-CG0GNEOD.js","assets/bundle-mjs-rHxsej31.js","assets/es2015-CIXyxC_2.js","assets/checkbox-Bvl7MRXT.js","assets/file-tree-DRpR7Mu2.js","assets/file-CEs2ZXvf.js","assets/provider-connection-queries-C40YvSEy.js","assets/index-B3NtDmQp.css"])))=>i.map(i=>d[i]);
2
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CVaUQXZF.js";import{lt as r}from"./index-C_O4z_mI.js";import{c as i,s as a,t as o}from"./engine-compile-DQ0HPfe0.js";import{n as s,r as c}from"./code-languages-CfwYbccP.js";import{n as l,r as u,t as d}from"./shiki-bundle-DzEBOJSk.js";import{r as f}from"./file-change-D7aZLgtG.js";var p=`diffs-container`,m=/(?=^From [a-f0-9]+ .+$)/m,h=/(?=^diff --git)/gm,g=/^(---|\+\+\+)\s+([^\t\r\n]+)/,_=/^(---|\+\+\+)\s+[ab]\/([^\t\r\n]+)/,v=/^diff --git (?:"a\/(.+?)"|a\/(.+?)) (?:"b\/(.+?)"|b\/(.+?))$/,y=/^index ([0-9a-f]+)\.\.([0-9a-f]+)(?: (\d+))?$/i,b=`header-prefix`,x=`header-metadata`,S=`header-custom`,C={dark:`pierre-dark`,light:`pierre-light`},w=`data-theme-css`,T=`data-unsafe-css`,E=`data-diffs-scrollbar-measure`,D=`--diffs-scrollbar-gutter-measured`,O=1e5,ee={hunkLineCount:50,lineHeight:20,diffHeaderHeight:44,spacing:8};({...ee});var te=Object.freeze({fromStart:0,fromEnd:0}),k={startingLine:0,totalLines:1/0,bufferBefore:0,bufferAfter:0},A={startingLine:0,totalLines:0,bufferBefore:0,bufferAfter:0};function j(e,t,n){if(e===t||e==null||t==null)return e===t;let r=new Set(n),i=Object.keys(e),a=new Set(Object.keys(t));for(let n of i)if(a.delete(n),!r.has(n)&&(!(n in t)||e[n]!==t[n]))return!1;for(let e of Array.from(a))if(!r.has(e))return!1;return!0}function ne(e,t){return e==null||t==null||typeof e==`string`||typeof t==`string`?e===t:e.dark===t.dark&&e.light===t.light}function re(e,t){let n=e?.theme??C,r=t?.theme??C,i=ie(e),a=ie(t);return ne(n,r)&&j(e,t,[`theme`,`parseDiffOptions`])&&j(i,a)}function ie(e){if(e!=null&&`parseDiffOptions`in e)return e.parseDiffOptions}function ae(e,t){return e?.start===t?.start&&e?.end===t?.end&&e?.side===t?.side&&e?.endSide===t?.endSide}function M(e){return{type:`text`,value:e}}function N({tagName:e,children:t=[],properties:n={}}){return{type:`element`,tagName:e,properties:n,children:t}}function P({name:e,width:t=16,height:n=16,properties:r}){return N({tagName:`svg`,properties:{width:t,height:n,viewBox:`0 0 16 16`,...r},children:[N({tagName:`use`,properties:{href:`#${e.replace(/^#/,``)}`}})]})}function oe(e){let t=e.children[0];for(;t!=null;){if(t.type===`element`&&t.tagName===`code`)return t;t=`children`in t?t.children[0]:null}}function se(e){return N({tagName:`div`,properties:{"data-gutter":``},children:e})}function ce(e,t,n,r={}){return N({tagName:`div`,properties:{"data-line-type":e,"data-column-number":t,"data-line-index":n,...r},children:t==null?void 0:[N({tagName:`span`,properties:{"data-line-number-content":``},children:[M(`${t}`)]})]})}function F(e,t,n){return N({tagName:`div`,properties:{"data-gutter-buffer":t,"data-buffer-size":n,"data-line-type":t===`annotation`?void 0:e,style:t===`annotation`?`grid-row: span ${n};`:`grid-row: span ${n};min-height:calc(${n} * 1lh);`}})}function le(){return N({tagName:`button`,properties:{"data-utility-button":``,type:`button`},children:[P({name:`diffs-icon-plus`,properties:{"data-icon":``}})]})}function ue(e,t){return e.lineNumber===t.lineNumber&&e.side===t.side}var de=class{mode;options;hoveredLine;hoveredToken;pre;gutterUtilityLine;gutterUtilityContainer;gutterUtilityButton;gutterUtilitySlot;interactiveLinesAttr=!1;interactiveLineNumbersAttr=!1;hasPointerListeners=!1;hasDocumentPointerListeners=!1;selectedRange=null;proposedSelectedRange;renderedSelectionRange;selectionAnchor;queuedSelectionRender;pointerSession={mode:`idle`};constructor(e,t){this.mode=e,this.options=t}setOptions(e){this.options=e}cleanUp(){this.pre?.removeEventListener(`click`,this.handlePointerClick),this.pre?.removeEventListener(`pointerdown`,this.handlePointerDown),this.pre?.removeEventListener(`pointermove`,this.handlePointerMove),this.pre?.removeEventListener(`pointerleave`,this.handlePointerLeave),this.pre?.removeAttribute(`data-interactive-lines`),this.pre?.removeAttribute(`data-interactive-line-numbers`),this.pre=void 0,this.gutterUtilityContainer?.remove(),this.gutterUtilityLine=void 0,this.gutterUtilityContainer=void 0,this.gutterUtilityButton=void 0,this.gutterUtilitySlot=void 0,this.clearHoveredLine(),this.clearHoveredToken(),this.detachDocumentPointerListeners(),this.clearPointerSession(),this.queuedSelectionRender!=null&&(cancelAnimationFrame(this.queuedSelectionRender),this.queuedSelectionRender=void 0),this.interactiveLinesAttr=!1,this.interactiveLineNumbersAttr=!1,this.hasPointerListeners=!1}setup(e){this.setSelectionDirty();let{usesCustomGutterUtility:t=!1,enableGutterUtility:n=!1}=this.options;this.pre!==e&&(this.cleanUp(),this.pre=e),n?this.ensureGutterUtilityNode(t):this.gutterUtilityContainer!=null&&(this.gutterUtilityContainer.remove(),this.gutterUtilityLine=void 0,this.gutterUtilityContainer=void 0,this.gutterUtilityButton=void 0,this.gutterUtilitySlot=void 0,this.pointerSession.mode===`gutterSelecting`&&(this.clearPointerSession(),this.detachDocumentPointerListeners())),this.syncPointerListeners(e),this.updateInteractiveLineAttributes(),this.renderSelection(),this.placeUtility()}setSelectionDirty(){this.renderedSelectionRange=void 0}isSelectionDirty(){return this.renderedSelectionRange===null}setSelection(e,t){let n=!(e===this.selectedRange||ae(e??void 0,this.selectedRange??void 0));!this.isSelectionDirty()&&!n||(this.proposedSelectedRange=void 0,this.selectedRange=e,this.renderSelection(),this.placeUtility(),n&&t?.notify!==!1&&this.notifySelectionCommitted())}getSelection(){return this.selectedRange}getHoveredLine=()=>{let e=this.gutterUtilityLine??this.hoveredLine;if(e!=null){if(this.mode===`diff`&&e.type===`diff-line`)return{lineNumber:e.lineNumber,side:e.annotationSide};if(this.mode===`file`&&e.type===`line`)return{lineNumber:e.lineNumber}}};handlePointerClick=e=>{let{onHunkExpand:t,onLineClick:n,onLineNumberClick:r,onTokenClick:i,onMergeConflictActionClick:a}=this.options;t==null&&n==null&&r==null&&a==null&&i==null||this.options.onGutterUtilityClick!=null&&Oe(e.composedPath())||(I(this.options.__debugPointerEvents,`click`,`FileDiff.DEBUG.handlePointerClick:`,e),this.handlePointerEvent({eventType:`click`,event:e}))};handlePointerMove=e=>{if(e.pointerType!==`mouse`)return;let{lineHoverHighlight:t=`disabled`,onLineEnter:n,onLineLeave:r,onTokenEnter:i,onTokenLeave:a,enableGutterUtility:o=!1}=this.options;t===`disabled`&&!o&&n==null&&r==null&&i==null&&a==null||(I(this.options.__debugPointerEvents,`move`,`FileDiff.DEBUG.handlePointerMove:`,e),this.handlePointerEvent({eventType:`move`,event:e}))};handlePointerLeave=e=>{let{__debugPointerEvents:t}=this.options;if(I(t,`move`,`FileDiff.DEBUG.handlePointerLeave: no event`),this.hoveredLine==null&&this.hoveredToken==null){I(t,`move`,`FileDiff.DEBUG.handlePointerLeave: returned early, no hovered line or token`);return}this.hoveredToken!=null&&(this.options.onTokenLeave?.(this.hoveredToken,e),this.clearHoveredToken()),this.hoveredLine!=null&&(this.options.onLineLeave?.({...this.hoveredLine,event:e}),this.clearHoveredLine()),this.placeUtility()};handlePointerEvent({eventType:e,event:t}){let{__debugPointerEvents:n}=this.options,r=t.composedPath();I(n,e,`FileDiff.DEBUG.handlePointerEvent:`,{eventType:e,composedPath:r});let i=this.resolvePointerTarget(r);I(n,e,`FileDiff.DEBUG.handlePointerEvent: resolvePointerTarget result:`,i);let{onLineClick:a,onLineNumberClick:o,onLineEnter:s,onLineLeave:c,onTokenClick:l,onTokenEnter:u,onTokenLeave:d,onHunkExpand:f,onMergeConflictActionClick:p}=this.options;switch(e){case`move`:{let e=ge(i)&&this.hoveredLine?.lineElement===i.lineElement;he(i)&&this.hoveredToken?.tokenElement===i.tokenElement||(this.hoveredToken!=null&&(d?.(this.hoveredToken,t),this.clearHoveredToken()),he(i)&&(this.setHoveredToken(this.toTokenEventBaseProps(i)),u?.(this.hoveredToken,t))),e||(this.hoveredLine!=null&&(c?.({...this.hoveredLine,event:t}),this.clearHoveredLine()),ge(i)?(this.setHoveredLine(this.toEventBaseProps(i)),this.placeUtility(),s?.({...this.hoveredLine,event:t})):this.placeUtility());break}case`click`:{if(i==null)break;if(ve(i)&&p!=null){p(i);break}if(_e(i)&&f!=null){f(i.hunkIndex,i.all||t.shiftKey?`both`:i.direction,i.all||t.shiftKey?1/0:void 0);break}if(!ge(i))break;he(i)&&l!=null&&l(this.toTokenEventBaseProps(i),t);let e=this.toEventBaseProps(i);o!=null&&i.numberColumn?o({...e,event:t}):a?.({...e,event:t});break}}}syncPointerListeners(e){let{__debugPointerEvents:t,lineHoverHighlight:n=`disabled`,onLineClick:r,onLineNumberClick:i,onLineEnter:a,onLineLeave:o,onTokenClick:s,onTokenEnter:c,onTokenLeave:l,onHunkExpand:u,onMergeConflictActionClick:d,enableGutterUtility:f=!1,enableLineSelection:p=!1,onGutterUtilityClick:m}=this.options,h=m!=null,g=n!==`disabled`||r!=null||i!=null||a!=null||o!=null||s!=null||c!=null||l!=null||u!=null||d!=null||f||p||h;g&&!this.hasPointerListeners?(e.addEventListener(`click`,this.handlePointerClick),e.addEventListener(`pointerdown`,this.handlePointerDown),e.addEventListener(`pointermove`,this.handlePointerMove),e.addEventListener(`pointerleave`,this.handlePointerLeave),this.hasPointerListeners=!0,I(t,`click`,`FileDiff.DEBUG.attachEventListeners: Attaching click events for:`,(()=>{let e=[];return(t===`both`||t===`click`)&&(r!=null&&e.push(`onLineClick`),i!=null&&e.push(`onLineNumberClick`),u!=null&&e.push(`expandable hunk separators`),d!=null&&e.push(`merge conflict actions`)),e})()),I(t,`move`,`FileDiff.DEBUG.attachEventListeners: Attaching pointer move event`),I(t,`move`,`FileDiff.DEBUG.attachEventListeners: Attaching pointer leave event`)):!g&&this.hasPointerListeners&&(e.removeEventListener(`click`,this.handlePointerClick),e.removeEventListener(`pointerdown`,this.handlePointerDown),e.removeEventListener(`pointermove`,this.handlePointerMove),e.removeEventListener(`pointerleave`,this.handlePointerLeave),this.hasPointerListeners=!1);let _=this.pointerSession.mode===`selecting`||this.pointerSession.mode===`pendingSingleLineUnselect`,v=this.pointerSession.mode===`gutterSelecting`;(!p&&_||!h&&v)&&(this.clearPointerSession(),this.detachDocumentPointerListeners(),this.selectionAnchor=void 0,this.clearPendingSingleLineState())}updateInteractiveLineAttributes(){if(this.pre==null)return;let{onLineClick:e,onLineNumberClick:t,enableLineSelection:n=!1}=this.options,r=e!=null,i=t!=null||n;r&&!this.interactiveLinesAttr?(this.pre.setAttribute(`data-interactive-lines`,``),this.interactiveLinesAttr=!0):!r&&this.interactiveLinesAttr&&(this.pre.removeAttribute(`data-interactive-lines`),this.interactiveLinesAttr=!1),i&&!this.interactiveLineNumbersAttr?(this.pre.setAttribute(`data-interactive-line-numbers`,``),this.interactiveLineNumbersAttr=!0):!i&&this.interactiveLineNumbersAttr&&(this.pre.removeAttribute(`data-interactive-line-numbers`),this.interactiveLineNumbersAttr=!1)}handlePointerDown=e=>{if(e.pointerType===`mouse`&&e.button!==0||this.pre==null||this.pointerSession.mode!==`idle`)return;let t=e.composedPath();Oe(t)&&this.options.onGutterUtilityClick!=null?this.startGutterSelectionFromPointerDown(e):(e.pointerType!==`mouse`&&this.revealUtilityFromGutterPath(t),this.startLineSelectionFromPointerDown(e))};startLineSelectionFromPointerDown(e){let{enableLineSelection:t=!1}=this.options;if(!t)return;let n=this.resolveSelectionInfo(e,{source:`event-path`,requireNumberColumn:!0});if(n==null)return;let{pre:r}=this;if(r==null)return;let{lineNumber:i,eventSide:a,lineIndex:o}=n;if(e.shiftKey&&this.selectedRange!=null){let t=this.getIndexesFromSelection(this.selectedRange,r.getAttribute(`data-diff-type`)===`split`);if(t==null)return;let n=t.start<=t.end?o>=t.start:o<=t.end;this.selectionAnchor={lineNumber:n?this.selectedRange.start:this.selectedRange.end,side:n?this.selectedRange.side:this.selectedRange.endSide??this.selectedRange.side},this.updateSelection(i,a,!1),this.notifySelectionStart(this.getCurrentSelectionRange()),this.pointerSession={mode:`selecting`,pointerId:e.pointerId},this.attachDocumentPointerListeners();return}if(this.selectedRange?.start===i&&this.selectedRange?.end===i){let t={lineNumber:i,side:a};this.selectionAnchor=t,this.pointerSession={mode:`pendingSingleLineUnselect`,pointerId:e.pointerId,anchor:t,pending:t},this.attachDocumentPointerListeners();return}this.options.controlledSelection===!0?this.proposedSelectedRange=null:this.selectedRange=null,this.placeUtility(),this.selectionAnchor={lineNumber:i,side:a},this.updateSelection(i,a,!1),this.notifySelectionStart(this.getCurrentSelectionRange()),this.pointerSession={mode:`selecting`,pointerId:e.pointerId},this.attachDocumentPointerListeners()}startGutterSelectionFromPointerDown(e){let{enableLineSelection:t=!1,onGutterUtilityClick:n}=this.options;if(n==null)return;let r=this.currentSelectionEnds(),i=r?.bottom??this.resolveSelectionPoint(e,{source:`event-path`,excludeUtility:!1}),a=r?.top??i;i==null||a==null||(e.preventDefault(),e.stopPropagation(),this.pointerSession={mode:`gutterSelecting`,pointerId:e.pointerId,anchor:a,current:i},t&&(this.selectionAnchor={lineNumber:a.lineNumber,side:a.side},this.updateSelection(i.lineNumber,i.side,!1),this.notifySelectionStart(this.getCurrentSelectionRange())),this.attachDocumentPointerListeners())}handleDocumentPointerMove=e=>{let{enableLineSelection:t=!1}=this.options;switch(this.pointerSession.mode){case`idle`:return;case`gutterSelecting`:{if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault();let n=this.resolveSelectionPoint(e,{source:`coordinates-first`});if(n==null)return;this.pointerSession.current=n,t===!0&&this.updateSelection(n.lineNumber,n.side);return}case`selecting`:{if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault();let t=this.resolveSelectionInfo(e,{source:`coordinates-first`,requireNumberColumn:!1});if(t==null||this.selectionAnchor==null)return;this.updateSelection(t.lineNumber,t.eventSide);return}case`pendingSingleLineUnselect`:{if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault();let t=this.resolveSelectionInfo(e,{source:`coordinates-first`,requireNumberColumn:!1});if(t==null||this.selectionAnchor==null)return;let n={lineNumber:t.lineNumber,side:t.eventSide};if(ue(this.pointerSession.pending,n))return;this.updateSelection(t.lineNumber,t.eventSide,!1),this.notifySelectionStart(this.getCurrentSelectionRange()),this.notifySelectionChangeDelta(),this.pointerSession={mode:`selecting`,pointerId:e.pointerId};return}}};handleDocumentPointerUp=e=>{let{enableLineSelection:t=!1,onGutterUtilityClick:n}=this.options;switch(this.pointerSession.mode){case`idle`:return;case`gutterSelecting`:{if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault();let r=this.resolveSelectionPoint(e,{source:`coordinates-first`});r!=null&&(this.pointerSession.current=r,t&&this.updateSelection(r.lineNumber,r.side)),n?.(this.buildSelectedLineRange(this.pointerSession.anchor,this.pointerSession.current)),this.selectionAnchor=void 0,t&&(this.notifySelectionEnd(this.getCurrentSelectionRange()),this.notifySelectionCommitted(),this.clearProposedSelection()),this.clearPointerSession(),this.detachDocumentPointerListeners();return}case`pendingSingleLineUnselect`:if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault(),this.updateSelection(null,void 0,!1),this.selectionAnchor=void 0,this.clearPendingSingleLineState(),this.detachDocumentPointerListeners(),this.notifySelectionEnd(this.getCurrentSelectionRange()),this.notifySelectionCommitted(),this.clearProposedSelection();return;case`selecting`:if(e.pointerId!==this.pointerSession.pointerId)return;e.preventDefault(),this.selectionAnchor=void 0,this.detachDocumentPointerListeners(),this.clearPointerSession(),this.notifySelectionEnd(this.getCurrentSelectionRange()),this.notifySelectionCommitted(),this.clearProposedSelection()}};handleDocumentPointerCancel=e=>{switch(this.pointerSession.mode){case`idle`:return;case`gutterSelecting`:case`selecting`:case`pendingSingleLineUnselect`:if(`pointerId`in this.pointerSession&&e.pointerId!==this.pointerSession.pointerId)return;this.selectionAnchor=void 0,this.clearProposedSelection(),this.clearPendingSingleLineState(),this.clearPointerSession(),this.detachDocumentPointerListeners()}};clearHoveredLine(){this.hoveredLine!=null&&(this.hoveredLine.lineElement.removeAttribute(`data-hovered`),this.hoveredLine.numberElement.removeAttribute(`data-hovered`),this.hoveredLine=void 0)}setHoveredLine(e){let{lineHoverHighlight:t=`disabled`}=this.options;this.hoveredLine!=null&&this.clearHoveredLine(),this.hoveredLine=e,t!==`disabled`&&((t===`both`||t===`line`)&&this.hoveredLine.lineElement.setAttribute(`data-hovered`,``),(t===`both`||t===`number`)&&this.hoveredLine.numberElement.setAttribute(`data-hovered`,``))}clearHoveredToken(){this.hoveredToken!=null&&(this.hoveredToken=void 0)}setHoveredToken(e){this.hoveredToken!=null&&this.clearHoveredToken(),this.hoveredToken=e}ensureGutterUtilityNode(e){if(this.gutterUtilityContainer??(this.gutterUtilityContainer=document.createElement(`div`),this.gutterUtilityContainer.setAttribute(`data-gutter-utility-slot`,``)),e)this.gutterUtilityButton!=null&&(this.gutterUtilityButton.remove(),this.gutterUtilityButton=void 0),this.gutterUtilitySlot??(this.gutterUtilitySlot=document.createElement(`slot`),this.gutterUtilitySlot.name=`gutter-utility-slot`),this.gutterUtilitySlot.parentNode!==this.gutterUtilityContainer&&this.gutterUtilityContainer.replaceChildren(this.gutterUtilitySlot);else{if(this.gutterUtilitySlot?.remove(),this.gutterUtilitySlot=void 0,this.gutterUtilityButton==null){let e=document.createElement(`div`);e.innerHTML=i(le());let t=e.firstElementChild;if(!(t instanceof HTMLButtonElement))throw Error(`InteractionManager.ensureGutterUtilityNode: Node element should be a button`);t.remove(),this.gutterUtilityButton=t}this.gutterUtilityButton.parentNode!==this.gutterUtilityContainer&&this.gutterUtilityContainer.replaceChildren(this.gutterUtilityButton)}}revealUtilityFromGutterPath(e){if(this.placeUtilityFromSelection())return;let t=this.resolvePointerTarget(e);me(t)&&t.numberColumn&&this.showUtilityOnLine(this.toEventBaseProps(t))}placeUtility(){if(!this.placeUtilityFromSelection()){if(this.hoveredLine!=null){this.showUtilityOnLine(this.hoveredLine);return}this.hideUtility()}}placeUtilityFromSelection(){let e=this.currentSelectionEnds();if(e==null)return!1;let t=this.targetForSelectionPoint(e.bottom);return t==null?this.hideUtility():this.showUtilityOnLine(this.toEventBaseProps(t)),!0}showUtilityOnLine(e){this.gutterUtilityContainer!=null&&(this.gutterUtilityLine=e,e.numberElement.appendChild(this.gutterUtilityContainer))}hideUtility(){this.gutterUtilityContainer?.remove(),this.gutterUtilityLine=void 0}currentSelectionEnds(){let e=this.getCurrentSelectionRange();return e==null?void 0:this.selectionEnds(e)}selectionEnds(e){let t={lineNumber:e.start,side:e.side},n={lineNumber:e.end,side:e.endSide??e.side},r=this.selectionPointRowIndex(t),i=this.selectionPointRowIndex(n);if(!(r==null||i==null))return r>i?{top:n,bottom:t}:{top:t,bottom:n}}selectionPointRowIndex(e){let t=this.getLineIndex(e.lineNumber,e.side);if(t!=null)return this.isSplitDiff()?t[1]:t[0]}targetForSelectionPoint(e){if(this.pre==null)return;let t=this.getLineIndex(e.lineNumber,e.side);if(t==null)return;let n=this.mode===`diff`?`${t[0]},${t[1]}`:`${t[0]}`,r=this.pre.querySelectorAll(`[data-column-number="${e.lineNumber}"][data-line-index="${n}"]`);for(let t of r){if(!(t instanceof HTMLElement))continue;let n=this.resolvePointerTarget(xe(t));if(me(n)&&!(this.mode===`diff`&&e.side!=null&&n.side!==e.side))return n}}attachDocumentPointerListeners(){this.hasDocumentPointerListeners||=(document.addEventListener(`pointermove`,this.handleDocumentPointerMove),document.addEventListener(`pointerup`,this.handleDocumentPointerUp),document.addEventListener(`pointercancel`,this.handleDocumentPointerCancel),!0)}detachDocumentPointerListeners(){this.hasDocumentPointerListeners&&=(document.removeEventListener(`pointermove`,this.handleDocumentPointerMove),document.removeEventListener(`pointerup`,this.handleDocumentPointerUp),document.removeEventListener(`pointercancel`,this.handleDocumentPointerCancel),!1)}clearPointerSession(){this.pointerSession={mode:`idle`}}clearPendingSingleLineState(){this.pointerSession.mode===`pendingSingleLineUnselect`&&(this.pointerSession={mode:`idle`})}selectionInfoFromPath(e,t){let n=this.resolvePointerTarget(e);if(me(n)&&!(t&&!n.numberColumn)&&n.splitLineIndex!=null)return{lineIndex:n.splitLineIndex,lineNumber:n.lineNumber,eventSide:this.mode===`diff`?n.side:void 0}}resolveSelectionInfo(e,t){let n=this.resolveSelectionPath(e,t);return n==null?void 0:this.selectionInfoFromPath(n,t.requireNumberColumn)}selectionPointFromPath(e){let t=this.resolvePointerTarget(e);if(me(t))return{lineNumber:t.lineNumber,side:this.mode===`diff`?t.side:void 0}}resolveSelectionPoint(e,t){let n=this.resolveSelectionPath(e,t);return n==null?void 0:this.selectionPointFromPath(n)}resolveSelectionPath(e,t){let n=t.excludeUtility!==!1;switch(t.source){case`event-path`:return this.pathFromEventPath(e.composedPath(),n);case`coordinates-first`:{let t=this.pathFromCoordinates(e,n);return t===void 0?this.pathFromEventPath(e.composedPath(),n):t??void 0}}}pathFromCoordinates(e,t){let n=this.hitTest(e);if(n!==void 0)return n===null?null:this.pathFromElement(n,t)??null}pathFromEventPath(e,t){if(!(t&&Oe(e))){for(let n of e)if(n instanceof Element)return this.pathFromElement(n,t)}}pathFromElement(e,t){let n=xe(e);if(t&&Oe(n))return;let r=Se(e);return r==null?this.pathFromAnnotationSlot(e):xe(r)}pathFromAnnotationSlot(e){let t=we(Ce(e));if(t==null)return;let n=this.targetForSelectionPoint(t);return n==null?void 0:xe(n.lineElement)}hitTest(e){if(!Number.isFinite(e.clientX)||!Number.isFinite(e.clientY))return;let t=this.pre?.getRootNode(),n=Te(t)?t:Te(document)?document:void 0;if(n!=null)return n.elementFromPoint(e.clientX,e.clientY)}getLineIndex(e,t){let{getLineIndex:n}=this.options;return n==null?[e-1,e-1]:n(e,t)}getCurrentSelectionRange(){return this.proposedSelectedRange===void 0?this.selectedRange:this.proposedSelectedRange}clearProposedSelection(){this.proposedSelectedRange=void 0}updateSelection(e,t,n=!0){let r=this.getCurrentSelectionRange(),i;if(e==null)i=null;else{let n=this.selectionAnchor?.side??t,r=this.selectionAnchor?.lineNumber??e;i=this.buildSelectionRange(r,e,n,t)}ae(r??void 0,i??void 0)||(this.options.controlledSelection===!0?this.proposedSelectedRange=i:(this.selectedRange=i,this.queuedSelectionRender??=requestAnimationFrame(this.renderSelection)),this.placeUtility(),n&&this.notifySelectionChangeDelta())}getIndexesFromSelection(e,t){if(this.pre==null)return;let n=this.getLineIndex(e.start,e.side),r=this.getLineIndex(e.end,e.endSide??e.side);return n!=null&&r!=null?{start:t?n[1]:n[0],end:t?r[1]:r[0]}:void 0}renderSelection=()=>{if(this.queuedSelectionRender!=null&&(cancelAnimationFrame(this.queuedSelectionRender),this.queuedSelectionRender=void 0),this.pre==null||this.renderedSelectionRange===this.selectedRange)return;let e=this.pre.querySelectorAll(`[data-selected-line]`);for(let t of e)t.removeAttribute(`data-selected-line`);if(this.renderedSelectionRange=this.selectedRange,this.selectedRange==null)return;let{children:t}=this.pre;if(t.length===0)return;if(t.length>2)throw console.error(t),Error(`InteractionManager.renderSelection: Somehow there are more than 2 code elements...`);let n=this.pre.getAttribute(`data-diff-type`)===`split`,r=this.getIndexesFromSelection(this.selectedRange,n);if(r==null)throw console.error({rowRange:r,selectedRange:this.selectedRange}),Error(`InteractionManager.renderSelection: No valid rowRange`);let i=r.start===r.end,a=Math.min(r.start,r.end),o=Math.max(r.start,r.end);for(let e of t){let[t,r]=e.children,s=r.children.length;if(s!==t.children.length)throw Error(`InteractionManager.renderSelection: gutter and content children dont match, something is wrong`);for(let e=0;e<s;e++){let s=r.children[e],c=t.children[e];if(!(s instanceof HTMLElement)||!(c instanceof HTMLElement))continue;let l=this.parseLineIndex(s,n);if((l??0)>o)break;if(l==null||l<a)continue;let u=i?`single`:l===a?`first`:l===o?`last`:``;s.setAttribute(`data-selected-line`,u),c.setAttribute(`data-selected-line`,u),c.nextSibling instanceof HTMLElement&&s.nextSibling instanceof HTMLElement&&(s.nextSibling.hasAttribute(`data-line-annotation`)||s.nextSibling.hasAttribute(`data-merge-conflict-actions`))&&(i?(u=`last`,s.setAttribute(`data-selected-line`,`first`)):l===a?u=``:l===o&&s.setAttribute(`data-selected-line`,``),s.nextSibling.setAttribute(`data-selected-line`,u),c.nextSibling.setAttribute(`data-selected-line`,u))}}};notifySelectionCommitted(){this.options.onLineSelected?.(this.getCurrentSelectionRange()??null)}notifySelectionChangeDelta(){this.options.onLineSelectionChange?.(this.getCurrentSelectionRange()??null)}notifySelectionStart(e){this.options.onLineSelectionStart?.(e)}notifySelectionEnd(e){this.options.onLineSelectionEnd?.(e)}toEventBaseProps(e){return this.mode===`file`?{type:`line`,lineElement:e.lineElement,lineNumber:e.lineNumber,numberColumn:e.numberColumn,numberElement:e.numberElement}:{type:`diff-line`,annotationSide:e.side,lineType:e.lineType,lineElement:e.lineElement,numberElement:e.numberElement,lineNumber:e.lineNumber,numberColumn:e.numberColumn}}toTokenEventBaseProps({lineCharEnd:e,lineCharStart:t,lineNumber:n,side:r,tokenElement:i,tokenText:a}){return this.mode===`file`?{type:`token`,lineCharEnd:e,lineCharStart:t,lineNumber:n,tokenElement:i,tokenText:a}:{type:`token`,lineCharEnd:e,lineCharStart:t,lineNumber:n,side:r,tokenElement:i,tokenText:a}}buildSelectedLineRange(e,t){return this.buildSelectionRange(e.lineNumber,t.lineNumber,e.side,t.side)}buildSelectionRange(e,t,n,r){return{start:e,end:t,...n==null?{}:{side:n},...n!==r&&r!=null?{endSide:r}:{}}}resolvePointerTarget(e){let t=!1,n,r,i,a,o,s,c,l,u,d;for(let f of e){if(!(f instanceof HTMLElement))continue;if(d==null&&f.hasAttribute(`data-merge-conflict-action`)){let e=f.getAttribute(`data-merge-conflict-action`)??void 0,t=f.getAttribute(`data-merge-conflict-conflict-index`)??void 0,n=t==null?NaN:Number.parseInt(t,10);ye(e)&&Number.isFinite(n)&&(d={kind:`merge-conflict-action`,resolution:e,conflictIndex:n})}if(s==null&&f.hasAttribute(`data-char`)){s=f;let e=f.getAttribute(`data-char`);if(e!=null){let t=Number.parseInt(e,10);if(!Number.isNaN(t)){let e=f.textContent??``,n=t+e.length;(e.trim()!==``||this.options.enableTokenInteractionsOnWhitespace===!0)&&(c={tokenElement:s,lineCharStart:t,lineCharEnd:n,tokenText:e});continue}}}let e=o==null?f.getAttribute(`data-column-number`)??void 0:void 0;if(e!=null){o=f,u=Number.parseInt(e,10),t=!0,n=De(f),a=f.getAttribute(`data-line-index`)??void 0;continue}let p=i==null?f.getAttribute(`data-line`)??void 0:void 0;if(p!=null){i=f,u=Number.parseInt(p,10),n=De(f),a=f.getAttribute(`data-line-index`)??void 0;continue}if(l==null&&(f.hasAttribute(`data-expand-button`)||f.hasAttribute(`data-unmodified-lines`))){l={hunkIndex:void 0,direction:f.hasAttribute(`data-expand-up`)?`up`:f.hasAttribute(`data-expand-down`)?`down`:`both`,all:f.hasAttribute(`data-expand-all-button`)};continue}let m=l==null?void 0:f.getAttribute(`data-expand-index`)??void 0;if(l!=null&&m!=null){let e=Number.parseInt(m,10);Number.isNaN(e)||(l.hunkIndex=e);continue}if(r==null&&f.hasAttribute(`data-code`)){r=f;break}}if(d!=null)return d;if(l?.hunkIndex!=null)return{type:`line-info`,hunkIndex:l.hunkIndex,direction:l.direction,all:l.all};if(i??=a==null?void 0:be(r,`[data-line][data-line-index="${a}"]`),o??=a==null?void 0:be(r,`[data-column-number][data-line-index="${a}"]`),r==null||i==null||o==null||n==null||u==null||Number.isNaN(u))return;let f=this.parseLineIndex(i,this.isSplitDiff());return c==null?this.mode===`file`?{kind:`line`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:void 0,splitLineIndex:f}:{kind:`line`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:Ee(n,r),splitLineIndex:f}:this.mode===`file`?{kind:`token`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:void 0,splitLineIndex:f,...c}:{kind:`token`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:Ee(n,r),splitLineIndex:f,...c}}isSplitDiff(){return this.pre?.getAttribute(`data-diff-type`)===`split`}parseLineIndex(e,t){let n=(e.getAttribute(`data-line-index`)??``).split(`,`).map(e=>Number.parseInt(e,10)).filter(e=>!Number.isNaN(e));if(t&&n.length===2)return n[1];if(!t)return n[0]}};function fe({enableTokenInteractionsOnWhitespace:e,enableGutterUtility:t,lineHoverHighlight:n,onGutterUtilityClick:r,onLineClick:i,onLineEnter:a,onLineLeave:o,onLineNumberClick:s,onTokenClick:c,onTokenEnter:l,onTokenLeave:u,renderGutterUtility:d,__debugPointerEvents:f,enableLineSelection:p,controlledSelection:m,onLineSelected:h,onLineSelectionStart:g,onLineSelectionChange:_,onLineSelectionEnd:v},y,b,x){return{enableTokenInteractionsOnWhitespace:e,enableGutterUtility:pe({enableGutterUtility:t,renderGutterUtility:d,onGutterUtilityClick:r}),usesCustomGutterUtility:d!=null,lineHoverHighlight:n,onGutterUtilityClick:r,onHunkExpand:y,onMergeConflictActionClick:x,onLineClick:i,onLineEnter:a,onLineLeave:o,onLineNumberClick:s,onTokenClick:c,onTokenEnter:l,onTokenLeave:u,__debugPointerEvents:f,enableLineSelection:p,controlledSelection:m,onLineSelected:h,onLineSelectionStart:g,onLineSelectionChange:_,onLineSelectionEnd:v,getLineIndex:b}}function pe({enableGutterUtility:e,renderGutterUtility:t,onGutterUtilityClick:n}){if(n!=null&&t!=null)throw Error(`Cannot use both 'onGutterUtilityClick' and 'renderGutterUtility'. Use only one gutter utility API.`);return e??!1}function me(e){return e!=null&&`kind`in e&&e.kind===`line`}function he(e){return e!=null&&`kind`in e&&e.kind===`token`}function ge(e){return me(e)||he(e)}function _e(e){return`type`in e&&e.type===`line-info`}function ve(e){return`kind`in e&&e.kind===`merge-conflict-action`}function ye(e){return e===`current`||e===`incoming`||e===`both`}function be(e,t){let n=e?.querySelector(t);return n instanceof HTMLElement?n:void 0}function xe(e){let t=[],n=e;for(;n!=null;)t.push(n),n=n.parentNode;return t}function Se(e){let t=e.closest(`[data-line], [data-column-number]`);if(t instanceof HTMLElement)return t;let n=e.closest(`[data-line-annotation], [data-gutter-buffer="annotation"]`);if(!(n instanceof HTMLElement))return;let r=n.previousElementSibling;return r instanceof HTMLElement&&(r.hasAttribute(`data-line`)||r.hasAttribute(`data-column-number`))?r:void 0}function Ce(e){let t=e.closest(`[slot^="annotation-"]`);if(t instanceof HTMLElement)return t.getAttribute(`slot`)??void 0;if(e instanceof HTMLElement){let t=e.getAttribute(`name`)??void 0;return t!=null&&t.startsWith(`annotation-`)?t:void 0}}function we(e){if(e==null)return;let t=/^annotation-(?:(additions|deletions)-)?(\d+)$/.exec(e);if(t==null)return;let n=Number.parseInt(t[2],10);if(!(!Number.isFinite(n)||n<=0))return{lineNumber:n,side:t[1]}}function Te(e){return e!=null&&typeof e.elementFromPoint==`function`}function Ee(e,t){switch(e){case`change-deletion`:return`deletions`;case`change-addition`:return`additions`;default:return t.hasAttribute(`data-deletions`)?`deletions`:`additions`}}function De(e){let t=e.getAttribute(`data-line-type`);if(t!=null)switch(t){case`change-deletion`:case`change-addition`:case`context`:case`context-expanded`:return t;default:return}}function Oe(e){for(let t of e)if(t instanceof HTMLElement&&(t.hasAttribute(`data-utility-button`)||t.hasAttribute(`data-gutter-utility-slot`)||t.getAttribute(`slot`)===`gutter-utility-slot`||t.getAttribute(`name`)===`gutter-utility-slot`))return!0;return!1}function I(e=`none`,t,...n){switch(e){case`none`:return;case`both`:break;case`click`:if(t!==`click`)return;break;case`move`:if(t!==`move`)return;break}console.log(...n)}var ke=class e{static resizeObserver;static managersByElement=new Map;static getResizeObserver(){let t=e.resizeObserver??new ResizeObserver(e.handleSharedResizeEntries);return e.resizeObserver=t,t}static handleSharedResizeEntries(t){let n=new Map;for(let r of t){let t=e.managersByElement.get(r.target);if(t==null)continue;let i=n.get(t);i==null?n.set(t,[r]):i.push(r)}for(let[e,t]of n)e.handleResizeEntries(t)}observedNodes=new Map;setup(e,t){let n=new Set,r=0,i=new Map(this.observedNodes);this.observedNodes.clear();for(let t of e.children){if(r===2)break;let e=(()=>{if(t instanceof HTMLElement&&t.tagName===`CODE`)return t})();if(e==null)continue;r++;let n=i.get(e);if(n!=null&&n.type!==`code`)throw Error(`ResizeManager.setup: somehow a code node is being used for an annotation, should be impossible`);let a=e.firstElementChild;a instanceof HTMLElement||(a=null),n==null?(n={type:`code`,codeElement:e,numberElement:a,codeWidth:`auto`,numberWidth:0},this.observedNodes.set(e,n),this.observe(e),a!=null&&(this.observedNodes.set(a,n),this.observe(a))):(this.observedNodes.set(e,n),i.delete(e),n.numberElement===a?n.numberElement==null?n.numberWidth=0:(i.delete(n.numberElement),this.observedNodes.set(n.numberElement,n)):(n.numberElement!=null&&(this.unobserve(n.numberElement),i.delete(n.numberElement)),a!=null&&(this.observe(a),i.delete(a),this.observedNodes.set(a,n)),n.numberElement=a,n.numberWidth=0))}if(r>1&&!t){let t=e.querySelectorAll(`[data-line-annotation*=","]`),r=new Map;for(let e of t){if(!(e instanceof HTMLElement))continue;let t=e.getAttribute(`data-line-annotation`)??``;if(!/^-?\d+,-?\d+$/.test(t)){console.error(`DiffFileRenderer.setupResizeObserver: Invalid element or annotation`,{lineAnnotation:t,element:e});continue}let n=r.get(t);n??(n=[],r.set(t,n)),n.push(e)}for(let[e,t]of r){if(t.length!==2){console.error(`DiffFileRenderer.setupResizeObserver: Bad Pair`,e,t);continue}let[r,a]=t,o=r.firstElementChild,s=a.firstElementChild;if(!(r instanceof HTMLElement)||!(a instanceof HTMLElement)||!(o instanceof HTMLElement)||!(s instanceof HTMLElement))continue;let c=i.get(o);if(c!=null){this.observedNodes.set(o,c),this.observedNodes.set(s,c),i.delete(o),i.delete(s);continue}let l=o.getBoundingClientRect().height,u=s.getBoundingClientRect().height;c={type:`annotations`,column1:{container:r,child:o,childHeight:l},column2:{container:a,child:s,childHeight:u},currentHeight:`auto`},n.add({child1:o,child2:s,item:c,newHeight:Math.max(l,u)})}for(let e of n)this.applyNewHeight(e.item,e.newHeight),this.observedNodes.set(e.child1,e.item),this.observedNodes.set(e.child2,e.item),this.observe(e.child1),this.observe(e.child2);n.clear()}for(let[e,t]of i)this.unobserve(e),t.type===`code`?Me(t):Ne(t);i.clear()}cleanUp(){for(let e of this.observedNodes.keys())this.unobserve(e);this.observedNodes.clear()}observe(t){let{managersByElement:n}=e,r=n.get(t);if(r!==this){if(r!=null&&r!==this)throw Error(`ResizeManager.observe: element is already owned by another ResizeManager`);n.set(t,this),e.getResizeObserver().observe(t)}}unobserve(t){let{managersByElement:n,resizeObserver:r}=e,i=n.get(t);if(i!=null){if(i!==this)throw Error(`ResizeManager.unobserve: element is owned by another ResizeManager`);n.delete(t),r?.unobserve(t),r!=null&&n.size===0&&(r.disconnect(),e.resizeObserver=void 0)}}handleResizeEntries(e){let t=new Map,n=new Set;for(let r of e){let{target:e,borderBoxSize:i,contentBoxSize:a}=r;if(!(e instanceof HTMLElement)){console.error(`ResizeManager.handleResizeEntries: Invalid element for ResizeObserver`,r);continue}let o=this.observedNodes.get(e);if(o==null){console.error(`ResizeManager.handleResizeEntries: Not a valid observed node`,r);continue}if(o.type===`annotations`){let t=(()=>{if(e===o.column1.child)return o.column1;if(e===o.column2.child)return o.column2})();if(t==null){console.error(`ResizeManager.handleResizeEntries: Couldn't find a column for`,{item:o,target:e});continue}t.childHeight=i[0].blockSize,n.add(o)}else if(o.type===`code`){let n=t.get(o)??{},r=a[0].inlineSize;e===o.codeElement?n.codeInlineSize=r:e===o.numberElement&&(n.numberInlineSize=r),t.set(o,n)}}this.applyAnnotationUpdates(n),n.clear(),this.applyColumnUpdates(t),t.clear()}applyAnnotationUpdates(e){for(let t of e)this.applyNewHeight(t,Math.max(t.column1.childHeight,t.column2.childHeight))}applyColumnUpdates=e=>{for(let[t,n]of e){let e=n.codeInlineSize==null?t.codeWidth:Ae(n.codeInlineSize),r=n.numberInlineSize==null?t.numberWidth:je(n.numberInlineSize),i=e!==t.codeWidth,a=r!==t.numberWidth;if(!(!i&&!a)&&(t.codeWidth=e,t.numberWidth=r,i&&t.codeElement.style.setProperty(`--diffs-column-width`,`${typeof e==`number`?`${e}px`:`auto`}`),a&&t.codeElement.style.setProperty(`--diffs-column-number-width`,`${r===0?`auto`:`${r}px`}`),i||a&&e!==`auto`)){let n=typeof e==`number`?Math.max(e-r,0):0;t.codeElement.style.setProperty(`--diffs-column-content-width`,`${n>0?`${n}px`:`auto`}`)}}};applyNewHeight(e,t){t!==e.currentHeight&&(e.currentHeight=Math.max(t,0),e.column1.container.style.setProperty(`--diffs-annotation-min-height`,`${e.currentHeight}px`),e.column2.container.style.setProperty(`--diffs-annotation-min-height`,`${e.currentHeight}px`))}};function Ae(e){let t=Math.max(Math.floor(e),0);return t===0?`auto`:t}function je(e){return Math.max(Math.ceil(e),0)}function Me(e){e.codeElement.isConnected&&(e.codeElement.style.removeProperty(`--diffs-column-content-width`),e.codeElement.style.removeProperty(`--diffs-column-number-width`),e.codeElement.style.removeProperty(`--diffs-column-width`))}function Ne(e){e.column1.container.isConnected&&e.column1.container.style.removeProperty(`--diffs-annotation-min-height`),e.column2.container.isConnected&&e.column2.container.style.removeProperty(`--diffs-annotation-min-height`)}var Pe=new Map,Fe=new Map,Ie=new Map,Le=new Set;function Re(e){for(let t of Array.isArray(e)?e:[e])if(!(t===`text`||t===`ansi`)&&!Le.has(t))return!1;return!0}function ze(e,t){e=Array.isArray(e)?e:[e];for(let n of e){if(Le.has(n.name))continue;let e=Pe.get(n.name);e??(e=n,Pe.set(n.name,e)),Le.add(e.name),t.loadLanguageSync(e.data)}}function Be(){return typeof WorkerGlobalScope<`u`&&typeof self<`u`&&self instanceof WorkerGlobalScope}async function Ve(e){if(Be())throw Error(`resolveLanguage("${e}") cannot be called from a worker context. Languages must be pre-resolved on the main thread and passed to the worker via the resolvedLanguages parameter.`);let t=Fe.get(e);if(t!=null)return t;try{let t=Ie.get(e);if(t==null&&Object.prototype.hasOwnProperty.call(d,e)&&(t=d[e]),t==null)throw Error(`resolveLanguage: "${e}" not found in bundled or custom languages`);let n=t().then(({default:t})=>{let n={name:e,data:t};return Pe.has(e)||Pe.set(e,n),n});return Fe.set(e,n),await n}finally{Fe.delete(e)}}function He(e){return Pe.get(e)??Ve(e)}var Ue=new Set;function We(e){return typeof e==`object`&&e&&`default`in e?e.default:e}var Ge=class extends Error{constructor(e){super(`Theme "${e}" is already registered`),this.name=`DuplicateThemeError`}},Ke=class extends Error{constructor(e){super(`No loader registered for theme "${e}"`),this.name=`UnregisteredThemeError`}},qe=class extends Error{constructor(e){super(`Theme "${e}" has not been resolved`),this.name=`UnresolvedThemeError`}};function Je(){let e=new Map,t=new Map,n=new Map,r=0;function i(t,n){if(e.has(t))throw new Ge(t);e.set(t,n)}function a(t,n){return e.has(t)?!1:(e.set(t,n),!0)}function o(t){return e.has(t)}function s(i){let a=t.get(i);if(a!==void 0)return Promise.resolve(a);let o=n.get(i);if(o!==void 0)return o;let s=e.get(i);if(s===void 0)return Promise.reject(new Ke(i));let c=r,l=s().then(e=>{let a=We(e);return c===r&&t.set(i,a),n.get(i)===l&&n.delete(i),a}).catch(e=>{throw n.get(i)===l&&n.delete(i),e});return n.set(i,l),l}function c(e){return Promise.all(e.map(e=>s(e)))}function l(e,n){t.set(e,n)}function u(e){for(let[t,n]of e)l(t,n)}function d(e){return t.get(e)}function f(e){let n=[];for(let r of e){let e=t.get(r);if(e===void 0)throw new qe(r);n.push(e)}return n}function p(e){return t.has(e)}function m(e){for(let n of e)if(!t.has(n))return!1;return!0}function h(e){let n=t.get(e);return n===void 0?s(e):n}function g(){r++,t.clear(),n.clear()}return{clearResolvedThemes:g,getResolvedOrResolveTheme:h,getResolvedTheme:d,getResolvedThemes:f,hasRegisteredTheme:o,hasResolvedTheme:p,hasResolvedThemes:m,registerTheme:i,registerThemeIfAbsent:a,resolveTheme:s,resolveThemes:c,seedResolvedTheme:l,seedResolvedThemes:u}}var L=Je();function Ye(e,t){e=Array.isArray(e)?e:[e];for(let n of e){let e;if(typeof n==`string`){if(e=L.getResolvedTheme(n),e==null)throw Error(`loadResolvedThemes: ${n} is not resolved, you must resolve it before calling loadResolvedThemes`)}else e=n,n=n.name,L.getResolvedTheme(n)??L.seedResolvedTheme(n,e);Ue.has(n)||(Ue.add(n),t.loadThemeSync(e))}}function Xe(e){return`default`in e?e.default:e}function Ze(e){return{...e,load:async()=>a(Xe(await e.load()))}}function Qe(e){let t=new Map(e.map(e=>[e.name,e]));return{getTheme:e=>t.get(e),getThemeNames:()=>e.map(e=>e.name),getThemes:()=>e,hasTheme:e=>t.has(e),orderBy:t=>Qe([...e].sort(t)),pick:e=>Qe(e.map(e=>{let n=t.get(e);if(n===void 0)throw Error(`Theme collection does not contain theme "${e}"`);return n})),registerInto:t=>{for(let n of e)t.registerThemeIfAbsent(n.name,n.load)}}}var $e=Qe([]),et=Qe([Ze({collection:`shiki`,colorScheme:`light`,load:()=>r(()=>import(`./github-light-EUqPIrTm.js`),[]),name:`github-light`}),Ze({collection:`shiki`,colorScheme:`dark`,load:()=>r(()=>import(`./github-dark-C-LZuMrd.js`),[]),name:`github-dark`})]);function tt(e){if(Be())throw Error(`Theme "${e}" cannot be resolved from a worker context. Themes must be pre-resolved on the main thread and passed to the worker via the resolvedLanguages parameter.`);if(L.hasRegisteredTheme(e))return;let t=et.getTheme(e);if(t!=null){L.registerThemeIfAbsent(t.name,t.load);return}throw Error(`No valid theme loader registered for "${e}"`)}function nt(e,t){if(t.name!==e)throw Error(`resolvedTheme: themeName: ${e} does not match theme.name: ${t.name}`)}async function rt(e){tt(e);let t=await L.resolveTheme(e);return nt(e,t),t}function it(e){return L.getResolvedTheme(e)??rt(e)}var R;async function at({themes:e,langs:t,preferredHighlighter:n=`shiki-js`}){R??=l({themes:[],langs:[`text`],engine:n===`shiki-wasm`?u(r(()=>import(`./shiki-bundle-DzEBOJSk.js`).then(e=>e.i),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]))):o()});let i=st(R)?await R:R;R=i;let a=[];for(let e of t){if(e===`text`||e===`ansi`)continue;let t=He(e);`then`in t?a.push(t):ze(t,i)}let s=[];for(let t of e){let e=it(t);`then`in e?s.push(e):Ye(e,R)}return(a.length>0||s.length>0)&&await Promise.all([Promise.all(a).then(e=>{ze(e,i)}),Promise.all(s).then(e=>{Ye(e,i)})]),i}function ot(){if(R!=null&&!(`then`in R))return R}function st(e=R){return e!=null&&`then`in e}for(let e of $e.getThemes())L.registerThemeIfAbsent(e.name,e.load);function ct(e=C){let t=[];return typeof e==`string`?t.push(e):(t.push(e.dark),t.push(e.light)),t}function lt(e){for(let t of ct(e))if(!Ue.has(t))return!1;return!0}function ut(e,t){return e?.cacheKey===t?.cacheKey&&e?.contents===t?.contents&&e?.name===t?.name&&e?.lang===t?.lang}function dt(e,t){return e==null||t==null?e===t:e.startingLine===t.startingLine&&e.totalLines===t.totalLines&&e.bufferBefore===t.bufferBefore&&e.bufferAfter===t.bufferAfter}function ft(e){return N({tagName:`div`,children:[N({tagName:`div`,children:e.annotations?.map(e=>N({tagName:`slot`,properties:{name:e}})),properties:{"data-annotation-content":``}})],properties:{"data-line-annotation":`${e.hunkIndex},${e.lineIndex}`}})}function pt(e){switch(e){case`file`:return`diffs-icon-file-code`;case`change`:return`diffs-icon-symbol-modified`;case`new`:return`diffs-icon-symbol-added`;case`deleted`:return`diffs-icon-symbol-deleted`;case`rename-pure`:case`rename-changed`:return`diffs-icon-symbol-moved`}}function mt({fileOrDiff:e,mode:t,stickyHeader:n}){let r=`type`in e?e:void 0,i={"data-diffs-header":t,"data-change-type":r?.type,"data-sticky":n?``:void 0};return N({tagName:`div`,children:[t===`custom`?N({tagName:`slot`,properties:{name:S}}):ht({name:e.name,prevName:`prevName`in e?e.prevName:void 0,iconType:r?.type??`file`}),...t===`custom`?[]:[gt(r)]],properties:i})}function ht({name:e,prevName:t,iconType:n}){let r=[N({tagName:`slot`,properties:{name:b}}),P({name:pt(n),properties:{"data-change-icon":n}})];return t!=null&&(r.push(N({tagName:`div`,children:[N({tagName:`bdi`,children:[M(t)]})],properties:{"data-prev-name":``}})),r.push(P({name:`diffs-icon-arrow-right-short`,properties:{"data-rename-icon":``}}))),r.push(N({tagName:`div`,children:[N({tagName:`bdi`,children:[M(e)]})],properties:{"data-title":``}})),N({tagName:`div`,children:r,properties:{"data-header-content":``}})}function gt(e){let t=[];if(e!=null){let n=0,r=0;for(let t of e.hunks)n+=t.additionLines,r+=t.deletionLines;(r>0||n===0)&&t.push(N({tagName:`span`,children:[M(`-${r}`)],properties:{"data-deletions-count":``}})),(n>0||r===0)&&t.push(N({tagName:`span`,children:[M(`+${n}`)],properties:{"data-additions-count":``}}))}return t.push(N({tagName:`slot`,properties:{name:x}})),N({tagName:`div`,children:t,properties:{"data-metadata":``}})}function _t(e){return N({tagName:`pre`,properties:vt(e)})}function vt({diffIndicators:e,disableBackground:t,disableLineNumbers:n,overflow:r,split:i,totalLines:a,type:o,customProperties:s}){return{...s,"data-diff":o===`diff`?``:void 0,"data-file":o===`file`?``:void 0,"data-diff-type":o===`diff`?i?`split`:`single`:void 0,"data-overflow":r,"data-disable-line-numbers":n?``:void 0,"data-background":t?void 0:``,"data-indicators":e===`bars`||e===`classic`?e:void 0,style:`--diffs-min-number-column-width-default:${`${a}`.length}ch;`}}var z=new Map,yt=0,bt={"1c":`1c`,abap:`abap`,as:`actionscript-3`,ada:`ada`,adb:`ada`,ads:`ada`,adoc:`asciidoc`,asciidoc:`asciidoc`,"component.html":`angular-html`,"component.ts":`angular-ts`,conf:`nginx`,htaccess:`apache`,cls:`tex`,trigger:`apex`,apl:`apl`,applescript:`applescript`,scpt:`applescript`,ara:`ara`,asm:`asm`,s:`riscv`,astro:`astro`,awk:`awk`,bal:`ballerina`,sh:`zsh`,bash:`zsh`,bat:`cmd`,cmd:`cmd`,be:`berry`,beancount:`beancount`,bib:`bibtex`,bicep:`bicep`,"blade.php":`blade`,bsl:`bsl`,c:`c`,h:`objective-cpp`,cs:`csharp`,cpp:`cpp`,hpp:`cpp`,cc:`cpp`,cxx:`cpp`,hh:`cpp`,cdc:`cdc`,cairo:`cairo`,clar:`clarity`,clj:`clojure`,cljs:`clojure`,cljc:`clojure`,soy:`soy`,cmake:`cmake`,"CMakeLists.txt":`cmake`,cob:`cobol`,cbl:`cobol`,cobol:`cobol`,CODEOWNERS:`codeowners`,ql:`ql`,coffee:`coffeescript`,lisp:`lisp`,cl:`lisp`,lsp:`lisp`,log:`log`,v:`verilog`,cql:`cql`,cr:`crystal`,css:`css`,csv:`csv`,cue:`cue`,cypher:`cypher`,cyp:`cypher`,d:`d`,dart:`dart`,dax:`dax`,desktop:`desktop`,diff:`diff`,patch:`diff`,Dockerfile:`dockerfile`,dockerfile:`dockerfile`,env:`dotenv`,dm:`dream-maker`,edge:`edge`,el:`emacs-lisp`,ex:`elixir`,exs:`elixir`,elm:`elm`,erb:`erb`,erl:`erlang`,hrl:`erlang`,f:`fortran-fixed-form`,for:`fortran-fixed-form`,fs:`fsharp`,fsi:`fsharp`,fsx:`fsharp`,f03:`f03`,f08:`f08`,f18:`f18`,f77:`f77`,f90:`fortran-free-form`,f95:`fortran-free-form`,fnl:`fennel`,fish:`fish`,ftl:`ftl`,tres:`gdresource`,res:`gdresource`,gd:`gdscript`,gdshader:`gdshader`,gs:`genie`,feature:`gherkin`,COMMIT_EDITMSG:`git-commit`,"git-rebase-todo":`git-rebase`,gjs:`glimmer-js`,gleam:`gleam`,gts:`glimmer-ts`,glsl:`glsl`,vert:`glsl`,frag:`glsl`,shader:`shaderlab`,gp:`gnuplot`,plt:`gnuplot`,gnuplot:`gnuplot`,go:`go`,graphql:`graphql`,gql:`graphql`,groovy:`groovy`,gvy:`groovy`,hack:`hack`,haml:`haml`,hbs:`handlebars`,handlebars:`handlebars`,hs:`haskell`,lhs:`haskell`,hx:`haxe`,hcl:`hcl`,hjson:`hjson`,hlsl:`hlsl`,fx:`hlsl`,html:`html`,htm:`html`,http:`http`,rest:`http`,hxml:`hxml`,hy:`hy`,imba:`imba`,ini:`ini`,cfg:`ini`,jade:`pug`,pug:`pug`,java:`java`,js:`javascript`,mjs:`javascript`,cjs:`javascript`,jinja:`jinja`,jinja2:`jinja`,j2:`jinja`,jison:`jison`,jl:`julia`,json:`json`,json5:`json5`,jsonc:`jsonc`,jsonl:`jsonl`,jsonnet:`jsonnet`,libsonnet:`jsonnet`,jssm:`jssm`,jsx:`jsx`,kt:`kotlin`,kts:`kts`,kql:`kusto`,tex:`tex`,ltx:`tex`,lean:`lean4`,less:`less`,liquid:`liquid`,lit:`lit`,ll:`llvm`,logo:`logo`,lua:`lua`,luau:`luau`,Makefile:`makefile`,mk:`makefile`,makefile:`makefile`,md:`markdown`,markdown:`markdown`,marko:`marko`,m:`wolfram`,mat:`matlab`,mdc:`mdc`,mdx:`mdx`,wiki:`wikitext`,mediawiki:`wikitext`,mmd:`mermaid`,mermaid:`mermaid`,mips:`mipsasm`,mojo:`mojo`,"🔥":`mojo`,move:`move`,nar:`narrat`,nf:`nextflow`,nim:`nim`,nims:`nim`,nimble:`nim`,nix:`nix`,nu:`nushell`,mm:`objective-cpp`,ml:`ocaml`,mli:`ocaml`,mll:`ocaml`,mly:`ocaml`,pas:`pascal`,p:`pascal`,pl:`prolog`,pm:`perl`,t:`perl`,raku:`raku`,p6:`raku`,pl6:`raku`,php:`php`,phtml:`php`,pls:`plsql`,sql:`sql`,po:`po`,polar:`polar`,pcss:`postcss`,pot:`pot`,potx:`potx`,pq:`powerquery`,pqm:`powerquery`,ps1:`powershell`,psm1:`powershell`,psd1:`powershell`,prisma:`prisma`,pro:`prolog`,P:`prolog`,properties:`properties`,proto:`protobuf`,pp:`puppet`,purs:`purescript`,py:`python`,pyw:`python`,pyi:`python`,qml:`qml`,qmldir:`qmldir`,qss:`qss`,r:`r`,R:`r`,rkt:`racket`,rktl:`racket`,razor:`razor`,cshtml:`razor`,rb:`ruby`,rbw:`ruby`,reg:`reg`,regex:`regexp`,rel:`rel`,rs:`rust`,rst:`rst`,rake:`ruby`,gemspec:`ruby`,jbuilder:`ruby`,builder:`ruby`,rabl:`ruby`,arb:`ruby`,ru:`ruby`,podspec:`ruby`,Gemfile:`ruby`,Rakefile:`ruby`,Guardfile:`ruby`,Capfile:`ruby`,Berksfile:`ruby`,Brewfile:`ruby`,Vagrantfile:`ruby`,Thorfile:`ruby`,Appraisals:`ruby`,Dangerfile:`ruby`,sas:`sas`,sass:`sass`,scala:`scala`,sc:`scala`,scm:`scheme`,ss:`scheme`,sld:`scheme`,scss:`scss`,sdbl:`sdbl`,shadergraph:`shader`,st:`smalltalk`,sol:`solidity`,sparql:`sparql`,rq:`sparql`,spl:`splunk`,config:`ssh-config`,do:`stata`,ado:`stata`,dta:`stata`,styl:`stylus`,stylus:`stylus`,svelte:`svelte`,swift:`swift`,sv:`system-verilog`,svh:`system-verilog`,service:`systemd`,socket:`systemd`,device:`systemd`,timer:`systemd`,talon:`talonscript`,tasl:`tasl`,tcl:`tcl`,templ:`templ`,tf:`tf`,tfvars:`tfvars`,toml:`toml`,ts:`typescript`,tsp:`typespec`,tsv:`tsv`,tsx:`tsx`,ttl:`turtle`,twig:`twig`,typ:`typst`,vv:`v`,vala:`vala`,vapi:`vala`,vb:`vb`,vbs:`vb`,bas:`vb`,vh:`verilog`,vhd:`vhdl`,vhdl:`vhdl`,vim:`vimscript`,vue:`vue`,"vine.ts":`vue-vine`,vy:`vyper`,wasm:`wasm`,wat:`wasm`,wy:`文言`,wgsl:`wgsl`,wit:`wit`,wl:`wolfram`,nb:`wolfram`,xml:`xml`,xsl:`xsl`,xslt:`xsl`,yaml:`yaml`,yml:`yml`,zs:`zenscript`,zig:`zig`,zsh:`zsh`,sty:`tex`};function B(e){if(z.has(e))return z.get(e)??`text`;if(bt[e]!=null)return bt[e];let t=e.match(/\.([^/\\]+\.[^/\\]+)$/);if(t!=null){if(z.has(t[1]))return z.get(t[1])??`text`;if(bt[t[1]]!=null)return bt[t[1]]??`text`}let n=e.match(/\.([^.]+)$/)?.[1]??``;return z.has(n)?z.get(n)??`text`:bt[n]??`text`}function xt(e,t){let n=z.get(e);return n===t?!1:(n!=null&&console.warn(`setCustomExtension: overriding custom mapping for "${e}" from "${n}" to "${t}"`),z.set(e,t),yt++,!0)}function St(e,{theme:t,preferredHighlighter:n=`shiki-js`}){return{langs:[e??`text`],themes:ct(t),preferredHighlighter:n}}function V(e){return`annotation-${`side`in e?`${e.side}-`:``}${e.lineNumber}`}function H(e){return e.replace(/\n$|\r\n$/,``)}function Ct(e,t,n){let r=typeof n.lineInfo==`function`?n.lineInfo(t):n.lineInfo[t-1];if(r==null){let r=`processLine: line ${t}, contains no state.lineInfo`;throw console.error(r,{node:e,line:t,state:n}),Error(r)}return e.tagName=`div`,e.properties[`data-line`]=r.lineNumber,e.properties[`data-alt-line`]=r.altLineNumber,e.properties[`data-line-type`]=r.type,e.properties[`data-line-index`]=r.lineIndex,e.children.length===0&&e.children.push(M(`
3
+ `)),e}var wt=Symbol(`no-token`),Tt=Symbol(`multiple-tokens`);function Et(e){let t=Dt(e);if(t!=null)return t;let n=wt,r=[],i=[],a,o=()=>{if(i.length===0||a==null){i=[],a=void 0;return}if(i.length===1){let e=i[0];if(e?.type===`element`){kt(e,a);for(let t of e.children)Ot(t)}else Ot(e);r.push(e),i=[],a=void 0;return}for(let e of i)Ot(e);r.push(N({tagName:`span`,properties:{"data-char":a},children:i})),i=[],a=void 0},s=e=>{if(e!==wt){if(e===Tt){n=Tt;return}if(n===wt){n=e;return}n!==e&&(n=Tt)}};for(let t of e.children){let e=t.type===`element`?Et(t):wt;if(s(e),typeof e!=`number`){o(),r.push(t);continue}a!=null&&a!==e&&o(),a??=e,i.push(t)}return o(),e.children=r,n}function Dt(e){let t=e.properties[`data-char`];if(typeof t==`number`)return t}function Ot(e){if(e.type===`element`){e.properties[`data-char`]=void 0;for(let t of e.children)Ot(t)}}function kt(e,t){e.properties[`data-char`]=t}function At(e={}){let{classPrefix:t=`__shiki_`,classSuffix:n=``,classReplacer:r=e=>e}=e,i=new Map;function a(e){return Object.entries(e).map(([e,t])=>`${e}:${t}`).join(`;`)}function o(e){let o=t+jt(typeof e==`string`?e:a(e))+n;return o=r(o),i.has(o)||i.set(o,typeof e==`string`?e:{...e}),o}return{name:`@shikijs/transformers:style-to-class`,pre(e){if(!e.properties.style)return;let t=o(e.properties.style);delete e.properties.style,this.addClassToHast(e,t)},tokens(e){for(let t of e)for(let e of t){if(!e.htmlStyle)continue;let t=o(e.htmlStyle);e.htmlStyle={},e.htmlAttrs||={},e.htmlAttrs.class?e.htmlAttrs.class+=` ${t}`:e.htmlAttrs.class=t}},getClassRegistry(){return i},getCSS(){let e=``;for(let[t,n]of i.entries())e+=`.${t}{${typeof n==`string`?n:a(n)}}`;return e},clearRegistry(){i.clear()}}}function jt(e,t=0){let n=3735928559^t,r=1103547991^t;for(let t=0,i;t<e.length;t++)i=e.charCodeAt(t),n=Math.imul(n^i,2654435761),r=Math.imul(r^i,1597334677);return n=Math.imul(n^n>>>16,2246822507),n^=Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>13,3266489909),(4294967296*(2097151&r)+(n>>>0)).toString(36).slice(0,6)}function Mt(e=!1,t=!1){let n={lineInfo:[]},r=[{line(e){return delete e.properties.class,e},pre(t){let r=oe(t),i=[];if(r!=null){let t=1;for(let a of r.children)a.type===`element`&&(e&&Et(a),i.push(Ct(a,t,n)),t++);r.children=i}return t},...e?{tokens(e){for(let t of e){let e=0;for(let n of t){let t=n;t.__lineChar??=e,e+=n.content.length}}},preprocess(e,t){t.mergeWhitespaces=`never`},span(e,t,n,r,i){if(i?.offset!=null&&i.content!=null){let t=i.__lineChar;return t!=null&&(e.properties[`data-char`]=t),e}return e}}:null}];return t&&r.push(Pt,Nt),{state:n,transformers:r,toClass:Nt}}var Nt=At({classPrefix:`hl-`}),Pt={name:`token-style-normalizer`,tokens(e){for(let t of e)for(let e of t){if(e.htmlStyle!=null)continue;let t={};e.color!=null&&(t.color=e.color),e.bgColor!=null&&(t[`background-color`]=e.bgColor),e.fontStyle!=null&&e.fontStyle!==0&&(e.fontStyle&1&&(t[`font-style`]=`italic`),e.fontStyle&2&&(t[`font-weight`]=`bold`),e.fontStyle&4&&(t[`text-decoration`]=`underline`)),Object.keys(t).length>0&&(e.htmlStyle=t)}}};function U(e){return`--${e===`token`?`diffs-token`:`diffs`}-`}var Ft=/^#(?:[0-9a-f]{3}0|[0-9a-f]{6}00)$/i,It=/^0(?:\.0+)?%?$/;function Lt(e){let t=e.indexOf(`(`);if(t<=0||!e.endsWith(`)`))return;let n=e.slice(0,t).trim();if(!/^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)$/i.test(n))return;let r=e.slice(t+1,-1).trim();if(r.length===0)return;let i=r.lastIndexOf(`/`);if(i!==-1)return r.slice(i+1).trim();if(/^(?:rgba|hsla)$/i.test(n)){let e=r.split(`,`);if(e.length===4)return e[3]?.trim()}}function Rt(e){let t=/^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})\b/i.exec(e.trim());if(t==null)return null;let n=t[1],r,i=1;return n.length===3?r=n.split(``).map(e=>e+e).join(``):n.length===6?r=n:(r=n.slice(0,6),i=parseInt(n.slice(6,8),16)/255),[parseInt(r.slice(0,2),16),parseInt(r.slice(2,4),16),parseInt(r.slice(4,6),16),i]}function zt(e){if(e==null)return null;let t=Rt(e);if(t==null)return null;let n=t[0]/255,r=t[1]/255,i=t[2]/255,a=e=>e<=.03928?e/12.92:((e+.055)/1.055)**2.4;return .2126*a(n)+.7152*a(r)+.0722*a(i)}function Bt(e){if(e==null)return!1;let t=e.trim().toLowerCase();if(t===`transparent`||Ft.test(t))return!0;let n=Lt(t);return n!=null&&It.test(n)}function Vt(e,t,n){if(t==null||n==null)return!1;let r=zt(e),i=zt(t),a=zt(n);return r==null||i==null||a==null?!1:Math.abs(r-a)<Math.abs(r-i)}var Ht=new WeakMap;function Ut(e){let t=Ht.get(e);if(t!=null)return t;let n=e.colors??{},r={...n},i=n[`editor.background`]??e.bg,a=n[`editor.foreground`]??e.fg,o=n[`sideBar.background`]??i,s=n[`sideBar.foreground`]??a;W(r,`editor.background`,i),W(r,`editor.foreground`,a),W(r,`sideBar.background`,o),W(r,`sideBar.foreground`,s),W(r,`input.background`,n[`input.background`]??o),W(r,`sideBarSectionHeader.foreground`,n[`sideBarSectionHeader.foreground`]??s),W(r,`list.activeSelectionForeground`,n[`list.activeSelectionForeground`]??s),W(r,`gitDecoration.addedResourceForeground`,Wt(n[`gitDecoration.addedResourceForeground`],n[`terminal.ansiGreen`],n[`editorGutter.addedBackground`])),W(r,`gitDecoration.modifiedResourceForeground`,Wt(n[`gitDecoration.modifiedResourceForeground`],n[`terminal.ansiBlue`],n[`editorGutter.modifiedBackground`])),W(r,`gitDecoration.deletedResourceForeground`,Wt(n[`gitDecoration.deletedResourceForeground`],n[`terminal.ansiRed`],n[`editorGutter.deletedBackground`]));let c=(Bt(n[`list.focusOutline`])?void 0:n[`list.focusOutline`])??(Bt(n.focusBorder)?void 0:n.focusBorder);c==null?delete r[`list.focusOutline`]:r[`list.focusOutline`]=c;let l=n[`list.hoverBackground`];l!=null&&(Gt(l,o)||Vt(l,o,s))&&delete r[`list.hoverBackground`];let u=Object.freeze({...e,colors:Object.freeze(r)});return Ht.set(e,u),u}function W(e,t,n){n!=null&&n!==``&&(e[t]=n)}function Wt(...e){for(let t of e)if(t!=null&&t!==``)return t}function Gt(e,t){return t!=null&&e.toLowerCase()===t.toLowerCase()}function Kt({theme:e=C,highlighter:t,prefix:n}){let r=``;if(typeof e==`string`){let i=t.getTheme(e),a=Ut(i);r+=`color:${a.fg};`,r+=`background-color:${a.bg};`,r+=`${U(`global`)}fg:${a.fg};`,r+=`${U(`global`)}bg:${a.bg};`,r+=qt(i,n)}else{let n=t.getTheme(e.dark),i=Ut(n);r+=`${U(`global`)}dark:${i.fg};`,r+=`${U(`global`)}dark-bg:${i.bg};`,r+=qt(n,`dark`),n=t.getTheme(e.light),i=Ut(n),r+=`${U(`global`)}light:${i.fg};`,r+=`${U(`global`)}light-bg:${i.bg};`,r+=qt(n,`light`)}return r}function qt(e,t){t=t==null?``:`${t}-`;let n=``,r=e.colors?.[`gitDecoration.addedResourceForeground`]??e.colors?.[`terminal.ansiGreen`];r!=null&&(n+=`${U(`global`)}${t}addition-color:${r};`);let i=e.colors?.[`gitDecoration.deletedResourceForeground`]??e.colors?.[`terminal.ansiRed`];i!=null&&(n+=`${U(`global`)}${t}deletion-color:${i};`);let a=e.colors?.[`gitDecoration.modifiedResourceForeground`]??e.colors?.[`terminal.ansiBlue`];return a!=null&&(n+=`${U(`global`)}${t}modified-color:${a};`),n}function Jt(e){let t=e.children[0];for(;t!=null;){if(t.type===`element`&&t.tagName===`code`)return t.children;t=`children`in t?t.children[0]:null}throw console.error(e),Error(`getLineNodes: Unable to find children`)}var Yt=`-1,-1`;function Xt(e){return e?.some(e=>e.lineNumber===0)??!1}function Zt(e){let t=e[0];return t!=null&&t.length>0?t:void 0}function Qt(e){return e.startingLine===0&&e.totalLines>0}function $t(e,t){return N({tagName:`div`,children:e,properties:{"data-content":``,style:`grid-row: span ${t}`}})}function en(e){return e.useTokenTransformer===!0||e.onTokenClick!=null||e.onTokenEnter!=null||e.onTokenLeave!=null}var tn=`<svg data-icon-sprite aria-hidden="true" width="0" height="0">
4
+ <symbol id="diffs-icon-arrow-right-short" viewBox="0 0 16 16">
5
+ <path d="M8.47 4.22a.75.75 0 0 0 0 1.06l1.97 1.97H3.75a.75.75 0 0 0 0 1.5h6.69l-1.97 1.97a.75.75 0 1 0 1.06 1.06l3.25-3.25a.75.75 0 0 0 0-1.06L9.53 4.22a.75.75 0 0 0-1.06 0"/>
6
+ </symbol>
7
+ <symbol id="diffs-icon-brand-github" viewBox="0 0 16 16">
8
+ <path d="M8 0c4.42 0 8 3.58 8 8a8.01 8.01 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27s-1.36.09-2 .27c-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8"/>
9
+ </symbol>
10
+ <symbol id="diffs-icon-chevron" viewBox="0 0 16 16">
11
+ <path d="M1.47 4.47a.75.75 0 0 1 1.06 0L8 9.94l5.47-5.47a.75.75 0 1 1 1.06 1.06l-6 6a.75.75 0 0 1-1.06 0l-6-6a.75.75 0 0 1 0-1.06"/>
12
+ </symbol>
13
+ <symbol id="diffs-icon-chevrons-narrow" viewBox="0 0 10 16">
14
+ <path d="M4.47 2.22a.75.75 0 0 1 1.06 0l3.25 3.25a.75.75 0 0 1-1.06 1.06L5 3.81 2.28 6.53a.75.75 0 0 1-1.06-1.06zM1.22 9.47a.75.75 0 0 1 1.06 0L5 12.19l2.72-2.72a.75.75 0 0 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0l-3.25-3.25a.75.75 0 0 1 0-1.06"/>
15
+ </symbol>
16
+ <symbol id="diffs-icon-diff-split" viewBox="0 0 16 16">
17
+ <path d="M14 0H8.5v16H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2m-1.5 6.5v1h1a.5.5 0 0 1 0 1h-1v1a.5.5 0 0 1-1 0v-1h-1a.5.5 0 0 1 0-1h1v-1a.5.5 0 0 1 1 0"/><path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h5.5V0zm.5 7.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1" opacity=".3"/>
18
+ </symbol>
19
+ <symbol id="diffs-icon-diff-unified" viewBox="0 0 16 16">
20
+ <path fill-rule="evenodd" d="M16 14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8.5h16zm-8-4a.5.5 0 0 0-.5.5v1h-1a.5.5 0 0 0 0 1h1v1a.5.5 0 0 0 1 0v-1h1a.5.5 0 0 0 0-1h-1v-1A.5.5 0 0 0 8 10" clip-rule="evenodd"/><path fill-rule="evenodd" d="M14 0a2 2 0 0 1 2 2v5.5H0V2a2 2 0 0 1 2-2zM6.5 3.5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1z" clip-rule="evenodd" opacity=".4"/>
21
+ </symbol>
22
+ <symbol id="diffs-icon-expand" viewBox="0 0 16 16">
23
+ <path d="M3.47 5.47a.75.75 0 0 1 1.06 0L8 8.94l3.47-3.47a.75.75 0 1 1 1.06 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 0-1.06"/>
24
+ </symbol>
25
+ <symbol id="diffs-icon-expand-all" viewBox="0 0 16 16">
26
+ <path d="M11.47 9.47a.75.75 0 1 1 1.06 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 1 1 1.06-1.06L8 12.94zM7.526 1.418a.75.75 0 0 1 1.004.052l4 4a.75.75 0 1 1-1.06 1.06L8 3.06 4.53 6.53a.75.75 0 1 1-1.06-1.06l4-4z"/>
27
+ </symbol>
28
+ <symbol id="diffs-icon-file-code" viewBox="0 0 16 16">
29
+ <path d="M10.75 0c.199 0 .39.08.53.22l3.5 3.5c.14.14.22.331.22.53v9A2.75 2.75 0 0 1 12.25 16h-8.5A2.75 2.75 0 0 1 1 13.25V2.75A2.75 2.75 0 0 1 3.75 0zm-7 1.5c-.69 0-1.25.56-1.25 1.25v10.5c0 .69.56 1.25 1.25 1.25h8.5c.69 0 1.25-.56 1.25-1.25V5h-1.25A2.25 2.25 0 0 1 10 2.75V1.5z"/><path d="M7.248 6.19a.75.75 0 0 1 .063 1.058L5.753 9l1.558 1.752a.75.75 0 0 1-1.122.996l-2-2.25a.75.75 0 0 1 0-.996l2-2.25a.75.75 0 0 1 1.06-.063M8.69 7.248a.75.75 0 1 1 1.12-.996l2 2.25a.75.75 0 0 1 0 .996l-2 2.25a.75.75 0 1 1-1.12-.996L10.245 9z"/>
30
+ </symbol>
31
+ <symbol id="diffs-icon-plus" viewBox="0 0 16 16">
32
+ <path d="M8 3a.75.75 0 0 1 .75.75v3.5h3.5a.75.75 0 0 1 0 1.5h-3.5v3.5a.75.75 0 0 1-1.5 0v-3.5h-3.5a.75.75 0 0 1 0-1.5h3.5v-3.5A.75.75 0 0 1 8 3"/>
33
+ </symbol>
34
+ <symbol id="diffs-icon-symbol-added" viewBox="0 0 16 16">
35
+ <path d="M8 4a.75.75 0 0 1 .75.75v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5A.75.75 0 0 1 8 4"/><path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/>
36
+ </symbol>
37
+ <symbol id="diffs-icon-symbol-deleted" viewBox="0 0 16 16">
38
+ <path d="M4 8a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5A.75.75 0 0 1 4 8"/><path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/>
39
+ </symbol>
40
+ <symbol id="diffs-icon-symbol-diffstat" viewBox="0 0 16 16">
41
+ <path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/><path d="M8.75 4.296a.75.75 0 0 0-1.5 0V6.25h-2a.75.75 0 0 0 0 1.5h2v1.5h1.5v-1.5h2a.75.75 0 0 0 0-1.5h-2zM5.25 10a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5z"/>
42
+ </symbol>
43
+ <symbol id="diffs-icon-symbol-ignored" viewBox="0 0 16 16">
44
+ <path d="M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706s.826.607 1.706.802c.898.2 2.091.288 3.704.288s2.806-.088 3.704-.288c.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5s-2.806.088-3.704.288c-.88.196-1.381.478-1.706.802s-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8M0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m11.53-2.47a.75.75 0 0 0-1.06-1.06l-6 6a.75.75 0 1 0 1.06 1.06z"/>
45
+ </symbol>
46
+ <symbol id="diffs-icon-symbol-modified" viewBox="0 0 16 16">
47
+ <path d="M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706s.826.607 1.706.802c.898.2 2.091.288 3.704.288s2.806-.088 3.704-.288c.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5s-2.806.088-3.704.288c-.88.196-1.381.478-1.706.802s-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8M0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m8 3a3 3 0 1 0 0-6 3 3 0 0 0 0 6"/>
48
+ </symbol>
49
+ <symbol id="diffs-icon-symbol-moved" viewBox="0 0 16 16">
50
+ <path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/><path d="M8.495 4.695a.75.75 0 0 0-.05 1.06L10.486 8l-2.041 2.246a.75.75 0 0 0 1.11 1.008l2.5-2.75a.75.75 0 0 0 0-1.008l-2.5-2.75a.75.75 0 0 0-1.06-.051m-4 0a.75.75 0 0 0-.05 1.06l2.044 2.248-1.796 1.995a.75.75 0 0 0 1.114 1.004l2.25-2.5a.75.75 0 0 0-.002-1.007l-2.5-2.75a.75.75 0 0 0-1.06-.05"/>
51
+ </symbol>
52
+ <symbol id="diffs-icon-symbol-ref" viewBox="0 0 16 16">
53
+ <path d="M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706.286.286.71.54 1.41.73V1.86c-.7.19-1.124.444-1.41.73-.324.325-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8m4 6.397c.697.07 1.522.103 2.5.103 1.613 0 2.806-.088 3.704-.288.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5c-.978 0-1.803.033-2.5.103zM0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m7-2a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z"/>
54
+ </symbol>
55
+ </svg>`;function nn(e,t){return e==null||t==null?e===t:an(e.customProperties,t.customProperties)&&e.type===t.type&&e.diffIndicators===t.diffIndicators&&e.disableBackground===t.disableBackground&&e.disableLineNumbers===t.disableLineNumbers&&e.overflow===t.overflow&&e.split===t.split&&e.totalLines===t.totalLines}var rn={};function an(e=rn,t=rn){if(e===t)return!0;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(e[r]!==t[r])return!1;return!0}function on(e){let t=document.createElement(`div`);return t.dataset.annotationSlot=``,t.slot=e,t.style.whiteSpace=`normal`,t}function sn(){let e=document.createElement(`div`);return e.slot=`gutter-utility-slot`,e.style.position=`absolute`,e.style.top=`0`,e.style.bottom=`0`,e.style.textAlign=`center`,e.style.whiteSpace=`normal`,e.style.touchAction=`none`,e}function cn(){let e=document.createElement(`style`);return e.setAttribute(T,``),e}var ln=`@layer base {
56
+ :host {
57
+ --diffs-font-fallback: "SF Mono", Monaco, Consolas, "Ubuntu Mono", "Liberation Mono",
58
+ "Courier New", monospace;
59
+ --diffs-header-font-fallback: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue",
60
+ "Noto Sans", "Liberation Sans", Arial, sans-serif;
61
+ --diffs-mixer: light-dark(#000, #fff);
62
+ --diffs-gap-fallback: 8px;
63
+ --diffs-scrollbar-gutter-fallback: 6px;
64
+ --diffs-scrollbar-gutter: var(--diffs-scrollbar-gutter-override, var(--diffs-scrollbar-gutter-measured, var(--diffs-scrollbar-gutter-fallback)));
65
+ --diffs-added-light: #0dbe4e;
66
+ --diffs-added-dark: #5ecc71;
67
+ --diffs-modified-light: #009fff;
68
+ --diffs-modified-dark: #69b1ff;
69
+ --diffs-deleted-light: #ff2e3f;
70
+ --diffs-deleted-dark: #ff6762;
71
+ color-scheme: light dark;
72
+ font-family: var(--diffs-header-font-family, var(--diffs-header-font-fallback));
73
+ font-size: var(--diffs-font-size, 13px);
74
+ line-height: var(--diffs-line-height, 20px);
75
+ font-feature-settings: var(--diffs-font-features);
76
+ --diffs-bg: light-dark(var(--diffs-light-bg, #fff), var(--diffs-dark-bg, #000));
77
+ --diffs-bg-buffer: var(--diffs-bg-buffer-override, light-dark(color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer)), color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer))));
78
+ --diffs-bg-context: var(--diffs-bg-context-override, light-dark(color-mix(in lab, var(--diffs-bg) 98.5%, var(--diffs-mixer)), color-mix(in lab, var(--diffs-bg) 92.5%, var(--diffs-mixer))));
79
+ --diffs-bg-context-gutter: var(--diffs-bg-context-gutter-override, light-dark(color-mix(in lab, var(--diffs-bg-context) 90%, var(--diffs-bg)), color-mix(in lab, var(--diffs-bg-context) 45%, var(--diffs-bg))));
80
+ --diffs-bg-separator: var(--diffs-bg-separator-override, light-dark(color-mix(in lab, var(--diffs-bg) 96%, var(--diffs-mixer)), color-mix(in lab, var(--diffs-bg) 85%, var(--diffs-mixer))));
81
+ --diffs-fg: light-dark(var(--diffs-light, #000), var(--diffs-dark, #fff));
82
+ --diffs-fg-number: var(--diffs-fg-number-override, light-dark(color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg)), color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg))));
83
+ --diffs-fg-conflict-marker: var(--diffs-fg-conflict-marker-override, var(--diffs-fg-number));
84
+ --diffs-deletion-base: var(--diffs-deletion-color-override, light-dark(var(--diffs-light-deletion-color, var(--diffs-deletion-color, var(--diffs-deleted-light))), var(--diffs-dark-deletion-color, var(--diffs-deletion-color, var(--diffs-deleted-dark)))));
85
+ --diffs-addition-base: var(--diffs-addition-color-override, light-dark(var(--diffs-light-addition-color, var(--diffs-addition-color, var(--diffs-added-light))), var(--diffs-dark-addition-color, var(--diffs-addition-color, var(--diffs-added-dark)))));
86
+ --diffs-modified-base: var(--diffs-modified-color-override, light-dark(var(--diffs-light-modified-color, var(--diffs-modified-color, var(--diffs-modified-light))), var(--diffs-dark-modified-color, var(--diffs-modified-color, var(--diffs-modified-dark)))));
87
+ --diffs-bg-deletion: var(--diffs-bg-deletion-override, light-dark(color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-deletion-base)), color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-deletion-base))));
88
+ --diffs-bg-deletion-emphasis: var(--diffs-bg-deletion-emphasis-override, light-dark(rgb(from var(--diffs-deletion-base) r g b / .15), rgb(from var(--diffs-deletion-base) r g b / .2)));
89
+ --diffs-bg-addition: var(--diffs-bg-addition-override, light-dark(color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-addition-base)), color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-addition-base))));
90
+ --diffs-bg-addition-emphasis: var(--diffs-bg-addition-emphasis-override, light-dark(rgb(from var(--diffs-addition-base) r g b / .15), rgb(from var(--diffs-addition-base) r g b / .2)));
91
+ --diffs-selection-base: var(--diffs-modified-base);
92
+ --diffs-selection-number-fg: light-dark(color-mix(in lab, var(--diffs-selection-base) 65%, var(--diffs-mixer)), color-mix(in lab, var(--diffs-selection-base) 75%, var(--diffs-mixer)));
93
+ background-color: var(--diffs-bg);
94
+ color: var(--diffs-fg);
95
+ display: block;
96
+ }
97
+
98
+ pre, code, [data-error-wrapper] {
99
+ isolation: isolate;
100
+ font-family: var(--diffs-font-family, var(--diffs-font-fallback));
101
+ outline: none;
102
+ margin: 0;
103
+ padding: 0;
104
+ display: block;
105
+ }
106
+
107
+ pre, code {
108
+ background-color: var(--diffs-bg);
109
+ }
110
+
111
+ code {
112
+ contain: content;
113
+ }
114
+
115
+ *, :before, :after {
116
+ box-sizing: border-box;
117
+ }
118
+
119
+ [data-icon-sprite] {
120
+ display: none;
121
+ }
122
+
123
+ [data-diffs-header], [data-separator] {
124
+ font-family: var(--diffs-header-font-family, var(--diffs-header-font-fallback));
125
+ }
126
+
127
+ [data-diffs-header][data-sticky] {
128
+ z-index: 1;
129
+ background-color: var(--diffs-bg);
130
+ position: sticky;
131
+ top: 0;
132
+ }
133
+
134
+ [data-file-info] {
135
+ color: var(--fg);
136
+ background-color: color-mix(in lab, var(--bg) 98%, var(--fg));
137
+ border-block: 1px solid color-mix(in lab, var(--bg) 95%, var(--fg));
138
+ padding: 10px;
139
+ font-weight: 700;
140
+ }
141
+
142
+ [data-diff], [data-file] {
143
+ --diffs-grid-number-column-width: minmax(min-content, max-content);
144
+ --diffs-code-grid: var(--diffs-grid-number-column-width) 1fr;
145
+
146
+ &[data-dehydrated] {
147
+ --diffs-code-grid: var(--diffs-grid-number-column-width) minmax(0, 1fr);
148
+ }
149
+
150
+ &:hover [data-code]::-webkit-scrollbar-thumb {
151
+ background-color: var(--diffs-bg-context);
152
+ }
153
+ }
154
+
155
+ @supports (-webkit-touch-callout: none) {
156
+ :host {
157
+ --diffs-scrollbar-gutter-fallback: 0px;
158
+ }
159
+ }
160
+
161
+ [data-line] span {
162
+ color: light-dark(var(--diffs-token-light, var(--diffs-light)), var(--diffs-token-dark, var(--diffs-dark)));
163
+ background-color: light-dark(var(--diffs-token-light-bg, inherit), var(--diffs-token-dark-bg, inherit));
164
+ font-weight: light-dark(var(--diffs-token-light-font-weight, inherit), var(--diffs-token-dark-font-weight, inherit));
165
+ font-style: light-dark(var(--diffs-token-light-font-style, inherit), var(--diffs-token-dark-font-style, inherit));
166
+ text-decoration: light-dark(var(--diffs-token-light-text-decoration, inherit), var(--diffs-token-dark-text-decoration, inherit));
167
+ }
168
+
169
+ [data-line], [data-gutter-buffer], [data-column-number], [data-line-annotation], [data-no-newline], [data-merge-conflict], [data-merge-conflict-actions] {
170
+ --diffs-computed-decoration-bg: var(--diffs-bg);
171
+ --diffs-computed-diff-line-bg: var(--diffs-bg);
172
+ --diffs-computed-selected-line-bg: var(--diffs-bg);
173
+ color: var(--diffs-fg);
174
+ background-color: var(--diffs-line-bg, var(--diffs-bg));
175
+
176
+ @media (pointer: fine) {
177
+ &:where([data-hovered]) {
178
+ --diffs-computed-hovered-line-bg: light-dark(color-mix(in lab,
179
+ var(--diffs-computed-selected-line-bg) 97%,
180
+ var(--diffs-bg-hover-override, var(--diffs-mixer))), color-mix(in lab,
181
+ var(--diffs-computed-selected-line-bg) 91%,
182
+ var(--diffs-bg-hover-override, var(--diffs-mixer))));
183
+ --diffs-line-bg: var(--diffs-computed-hovered-line-bg, inherit);
184
+ }
185
+ }
186
+ }
187
+
188
+ [data-line], [data-no-newline] {
189
+ &[data-decoration-bg] {
190
+ --mix-deco-light: 92%;
191
+ --mix-deco-dark: 85%;
192
+
193
+ &[data-decoration-bg-depth="2"] {
194
+ --mix-deco-light: 88%;
195
+ --mix-deco-dark: 80%;
196
+ }
197
+
198
+ &[data-decoration-bg-depth="3"] {
199
+ --mix-deco-light: 85%;
200
+ --mix-deco-dark: 78%;
201
+ }
202
+
203
+ @media (pointer: fine) {
204
+ &[data-hovered]:not([data-selected-line]) {
205
+ --mix-deco-light: 85%;
206
+ --mix-deco-dark: 85%;
207
+ }
208
+
209
+ &[data-hovered]:not([data-selected-line])[data-decoration-bg-depth="2"] {
210
+ --mix-deco-light: 83%;
211
+ --mix-deco-dark: 83%;
212
+ }
213
+
214
+ &[data-hovered]:not([data-selected-line])[data-decoration-bg-depth="3"] {
215
+ --mix-deco-light: 81%;
216
+ --mix-deco-dark: 81%;
217
+ }
218
+ }
219
+
220
+ --diffs-computed-decoration-bg: light-dark(color-mix(in lab,
221
+ var(--diffs-bg) var(--mix-deco-light),
222
+ var(--diffs-decoration-bg)), color-mix(in lab,
223
+ var(--diffs-bg) var(--mix-deco-dark),
224
+ var(--diffs-decoration-bg)));
225
+ --diffs-computed-diff-line-bg: var(--diffs-computed-decoration-bg);
226
+ --diffs-computed-selected-line-bg: var(--diffs-computed-decoration-bg);
227
+ --diffs-line-bg: var(--diffs-computed-decoration-bg);
228
+ }
229
+ }
230
+
231
+ [data-line-annotation], [data-gutter-buffer="annotation"] {
232
+ --diffs-annotation-bg: var(--diffs-bg-context);
233
+ --diffs-computed-decoration-bg: var(--diffs-annotation-bg);
234
+ --diffs-computed-diff-line-bg: var(--diffs-annotation-bg);
235
+ --diffs-computed-selected-line-bg: var(--diffs-annotation-bg);
236
+ --diffs-line-bg: var(--diffs-annotation-bg);
237
+ }
238
+
239
+ [data-merge-conflict-actions], [data-gutter-buffer="merge-conflict-action"], [data-gutter-buffer="merge-conflict-marker-base"], [data-gutter-buffer="merge-conflict-marker-separator"], [data-merge-conflict="marker-base"], [data-merge-conflict="marker-separator"] {
240
+ --diffs-computed-decoration-bg: var(--diffs-bg-context);
241
+ --diffs-computed-diff-line-bg: var(--diffs-bg-context);
242
+ --diffs-computed-selected-line-bg: var(--diffs-bg-context);
243
+ --diffs-line-bg: var(--diffs-bg-context);
244
+ }
245
+
246
+ [data-gutter-buffer="merge-conflict-marker-start"], [data-merge-conflict="marker-start"] {
247
+ --diffs-computed-decoration-bg: light-dark(color-mix(in lab,
248
+ var(--diffs-bg) 78%,
249
+ var(--conflict-bg-current-header-override, var(--diffs-addition-base))), color-mix(in lab,
250
+ var(--diffs-bg) 68%,
251
+ var(--conflict-bg-current-header-override, var(--diffs-addition-base))));
252
+ --diffs-computed-diff-line-bg: var(--diffs-computed-decoration-bg);
253
+ --diffs-computed-selected-line-bg: var(--diffs-computed-decoration-bg);
254
+ --diffs-line-bg: var(--diffs-computed-decoration-bg);
255
+ }
256
+
257
+ [data-gutter-buffer="merge-conflict-marker-end"], [data-merge-conflict="marker-end"] {
258
+ --diffs-computed-decoration-bg: light-dark(color-mix(in lab,
259
+ var(--diffs-bg) 78%,
260
+ var(--conflict-bg-incoming-header-override, var(--diffs-modified-base))), color-mix(in lab,
261
+ var(--diffs-bg) 68%,
262
+ var(--conflict-bg-incoming-header-override, var(--diffs-modified-base))));
263
+ --diffs-computed-diff-line-bg: var(--diffs-computed-decoration-bg);
264
+ --diffs-computed-selected-line-bg: var(--diffs-computed-decoration-bg);
265
+ --diffs-line-bg: var(--diffs-computed-decoration-bg);
266
+ }
267
+
268
+ [data-has-merge-conflict] [data-line-annotation], [data-has-merge-conflict] [data-gutter-buffer="annotation"] {
269
+ --diffs-computed-decoration-bg: var(--diffs-bg);
270
+ --diffs-computed-diff-line-bg: var(--diffs-bg);
271
+ --diffs-computed-selected-line-bg: var(--diffs-bg);
272
+ --diffs-line-bg: var(--diffs-bg);
273
+ }
274
+
275
+ :where([data-background]) {
276
+ & [data-gutter-buffer], & [data-column-number] {
277
+ --mix-light: 91%;
278
+ --mix-dark: 85%;
279
+ }
280
+
281
+ & [data-line], & [data-no-newline] {
282
+ --mix-light: 88%;
283
+ --mix-dark: 80%;
284
+ }
285
+
286
+ & [data-gutter-buffer], & [data-column-number], & [data-line], & [data-no-newline] {
287
+ --diffs-diff-line-mix-target: var(--diffs-bg);
288
+
289
+ &[data-line-type="change-deletion"] {
290
+ --diffs-diff-line-mix-target: var(--diffs-bg-deletion-override, var(--diffs-deletion-base));
291
+
292
+ @media (pointer: fine) {
293
+ &[data-hovered] {
294
+ --mix-light: 80%;
295
+ --mix-dark: 75%;
296
+ }
297
+ }
298
+
299
+ &:where([data-gutter-buffer], [data-column-number]) {
300
+ color: var(--diffs-fg-number-deletion-override, var(--diffs-deletion-base));
301
+ --diffs-diff-line-mix-target: var(--diffs-bg-deletion-number-override, var(--diffs-deletion-base));
302
+ }
303
+
304
+ --diffs-computed-diff-line-bg: light-dark(color-mix(in lab,
305
+ var(--diffs-computed-decoration-bg) var(--mix-light),
306
+ var(--diffs-diff-line-mix-target)), color-mix(in lab,
307
+ var(--diffs-computed-decoration-bg) var(--mix-dark),
308
+ var(--diffs-diff-line-mix-target)));
309
+ --diffs-computed-selected-line-bg: var(--diffs-computed-diff-line-bg);
310
+ --diffs-line-bg: var(--diffs-computed-diff-line-bg, inherit);
311
+ }
312
+
313
+ &[data-line-type="change-addition"] {
314
+ --diffs-diff-line-mix-target: var(--diffs-bg-addition-override, var(--diffs-addition-base));
315
+
316
+ @media (pointer: fine) {
317
+ &[data-hovered] {
318
+ --mix-light: 80%;
319
+ --mix-dark: 70%;
320
+ }
321
+ }
322
+
323
+ &:where([data-gutter-buffer], [data-column-number]) {
324
+ color: var(--diffs-fg-number-addition-override, var(--diffs-addition-base));
325
+ --diffs-diff-line-mix-target: var(--diffs-bg-addition-number-override, var(--diffs-addition-base));
326
+ }
327
+
328
+ --diffs-computed-diff-line-bg: light-dark(color-mix(in lab,
329
+ var(--diffs-computed-decoration-bg) var(--mix-light),
330
+ var(--diffs-diff-line-mix-target)), color-mix(in lab,
331
+ var(--diffs-computed-decoration-bg) var(--mix-dark),
332
+ var(--diffs-diff-line-mix-target)));
333
+ --diffs-computed-selected-line-bg: var(--diffs-computed-diff-line-bg);
334
+ --diffs-line-bg: var(--diffs-computed-diff-line-bg, inherit);
335
+ }
336
+
337
+ &[data-merge-conflict="current"] {
338
+ --diffs-diff-line-mix-target: var(--conflict-bg-current-override, var(--diffs-addition-base));
339
+
340
+ &:where([data-gutter-buffer], [data-column-number]) {
341
+ color: var(--diffs-fg-number-addition-override, var(--diffs-addition-base));
342
+ --diffs-diff-line-mix-target: var(--conflict-bg-current-number-override, var(--diffs-addition-base));
343
+ }
344
+
345
+ @media (pointer: fine) {
346
+ &[data-hovered] {
347
+ --mix-light: 80%;
348
+ --mix-dark: 70%;
349
+ }
350
+ }
351
+
352
+ --diffs-computed-diff-line-bg: light-dark(color-mix(in lab,
353
+ var(--diffs-computed-decoration-bg) var(--mix-light),
354
+ var(--diffs-diff-line-mix-target)), color-mix(in lab,
355
+ var(--diffs-computed-decoration-bg) var(--mix-dark),
356
+ var(--diffs-diff-line-mix-target)));
357
+ --diffs-computed-selected-line-bg: var(--diffs-computed-diff-line-bg);
358
+ --diffs-line-bg: var(--diffs-computed-diff-line-bg, inherit);
359
+ }
360
+
361
+ &[data-merge-conflict="incoming"] {
362
+ --diffs-diff-line-mix-target: var(--conflict-bg-incoming-override, var(--diffs-modified-base));
363
+
364
+ &:where([data-gutter-buffer], [data-column-number]) {
365
+ color: var(--diffs-modified-base);
366
+ --diffs-diff-line-mix-target: var(--conflict-bg-incoming-number-override, var(--diffs-modified-base));
367
+ }
368
+
369
+ @media (pointer: fine) {
370
+ &[data-hovered] {
371
+ --mix-light: 80%;
372
+ --mix-dark: 70%;
373
+ }
374
+ }
375
+
376
+ --diffs-computed-diff-line-bg: light-dark(color-mix(in lab,
377
+ var(--diffs-computed-decoration-bg) var(--mix-light),
378
+ var(--diffs-diff-line-mix-target)), color-mix(in lab,
379
+ var(--diffs-computed-decoration-bg) var(--mix-dark),
380
+ var(--diffs-diff-line-mix-target)));
381
+ --diffs-computed-selected-line-bg: var(--diffs-computed-diff-line-bg);
382
+ --diffs-line-bg: var(--diffs-computed-diff-line-bg, inherit);
383
+ }
384
+ }
385
+ }
386
+
387
+ [data-gutter-buffer], [data-column-number], [data-line], [data-line-annotation], [data-merge-conflict], [data-merge-conflict-actions], [data-no-newline] {
388
+ --diffs-selection-mix-target: var(--diffs-bg-selection-override, var(--diffs-selection-base));
389
+
390
+ &:where([data-line], [data-line-annotation], [data-merge-conflict], [data-merge-conflict-actions], [data-no-newline])[data-selected-line] {
391
+ --mix-selection-light: 82%;
392
+ --mix-selection-dark: 75%;
393
+
394
+ @media (pointer: fine) {
395
+ &[data-hovered]:not([data-merge-conflict], [data-line-type="change-addition"], [data-line-type="change-deletion"]) {
396
+ --mix-selection-light: 75%;
397
+ --mix-selection-dark: 70%;
398
+ }
399
+ }
400
+ }
401
+
402
+ &:where([data-gutter-buffer], [data-column-number])[data-selected-line] {
403
+ --mix-selection-light: 75%;
404
+ --mix-selection-dark: 60%;
405
+ --diffs-selection-mix-target: var(--diffs-bg-selection-number-override, var(--diffs-selection-base));
406
+
407
+ @media (pointer: fine) {
408
+ &[data-hovered]:not([data-merge-conflict], [data-line-type="change-addition"], [data-line-type="change-deletion"]) {
409
+ --mix-selection-light: 70%;
410
+ --mix-selection-dark: 55%;
411
+ }
412
+ }
413
+ }
414
+
415
+ &[data-selected-line] {
416
+ --diffs-computed-selected-line-bg: light-dark(color-mix(in lab,
417
+ var(--diffs-computed-diff-line-bg) var(--mix-selection-light),
418
+ var(--diffs-selection-mix-target)), color-mix(in lab,
419
+ var(--diffs-computed-diff-line-bg) var(--mix-selection-dark),
420
+ var(--diffs-selection-mix-target)));
421
+ --diffs-line-bg: var(--diffs-computed-selected-line-bg, inherit);
422
+ }
423
+ }
424
+
425
+ [data-gutter-buffer], [data-column-number] {
426
+ &[data-selected-line] {
427
+ color: var(--diffs-selection-number-fg);
428
+ }
429
+ }
430
+
431
+ [data-no-newline] {
432
+ user-select: none;
433
+
434
+ & span {
435
+ opacity: .6;
436
+ }
437
+ }
438
+
439
+ [data-diff-type="split"][data-overflow="scroll"] {
440
+ grid-template-columns: 1fr 1fr;
441
+ display: grid;
442
+
443
+ & [data-additions] {
444
+ border-left: 1px solid var(--diffs-bg);
445
+ }
446
+
447
+ & [data-deletions] {
448
+ border-right: 1px solid var(--diffs-bg);
449
+ }
450
+ }
451
+
452
+ [data-code] {
453
+ grid-auto-flow: dense;
454
+ grid-template-columns: var(--diffs-code-grid);
455
+ overflow: var(--diffs-overflow-override, scroll) clip;
456
+ overscroll-behavior-x: none;
457
+ tab-size: var(--diffs-tab-size, 2);
458
+ padding-top: var(--diffs-gap-block, var(--diffs-gap-fallback));
459
+ padding-bottom: max(0px,
460
+ calc(var(--diffs-gap-block, var(--diffs-gap-fallback)) -
461
+ var(--diffs-scrollbar-gutter)));
462
+ scrollbar-gutter: stable;
463
+ align-self: flex-start;
464
+ display: grid;
465
+ }
466
+
467
+ [data-diffs-scrollbar-measure] {
468
+ opacity: 0;
469
+ pointer-events: none;
470
+ scrollbar-gutter: auto;
471
+ grid-template-columns: none;
472
+ width: 100px;
473
+ height: 100px;
474
+ padding: 0;
475
+ position: absolute;
476
+ top: -200px;
477
+ left: -200px;
478
+ }
479
+
480
+ [data-container-size] {
481
+ container-type: inline-size;
482
+ }
483
+
484
+ [data-code]::-webkit-scrollbar {
485
+ width: 0;
486
+ height: var(--diffs-scrollbar-gutter);
487
+ }
488
+
489
+ [data-code]::-webkit-scrollbar-track {
490
+ background: none;
491
+ }
492
+
493
+ [data-code]::-webkit-scrollbar-thumb {
494
+ background-color: #0000;
495
+ background-clip: content-box;
496
+ border: 1px solid #0000;
497
+ border-radius: 3px;
498
+ }
499
+
500
+ [data-code]::-webkit-scrollbar-corner {
501
+ background-color: #0000;
502
+ }
503
+
504
+ @supports ((-moz-appearance: none)) {
505
+ [data-code] {
506
+ scrollbar-width: thin;
507
+ scrollbar-color: var(--diffs-bg-context) transparent;
508
+ padding-bottom: var(--diffs-gap-block, var(--diffs-gap-fallback));
509
+ }
510
+ }
511
+
512
+ [data-diffs-header] ~ [data-diff], [data-diffs-header] ~ [data-file] {
513
+ & [data-code], &[data-overflow="wrap"] {
514
+ padding-top: 0;
515
+ }
516
+ }
517
+
518
+ [data-gutter] {
519
+ grid-template-rows: subgrid;
520
+ grid-template-columns: subgrid;
521
+ z-index: 3;
522
+ background-color: var(--diffs-bg);
523
+ grid-column: 1;
524
+ display: grid;
525
+ position: relative;
526
+
527
+ & [data-gutter-buffer], & [data-column-number] {
528
+ border-right: var(--diffs-gap-style, 2px solid var(--diffs-bg));
529
+ }
530
+ }
531
+
532
+ [data-content] {
533
+ grid-template-rows: subgrid;
534
+ grid-template-columns: subgrid;
535
+ background-color: var(--diffs-bg);
536
+ grid-column: 2;
537
+ min-width: 0;
538
+ display: grid;
539
+ }
540
+
541
+ [data-diff-type="split"][data-overflow="wrap"] {
542
+ grid-auto-flow: dense;
543
+ grid-template-columns: repeat(2, var(--diffs-code-grid));
544
+ padding-block: var(--diffs-gap-block, var(--diffs-gap-fallback));
545
+ display: grid;
546
+
547
+ & [data-deletions] {
548
+ display: contents;
549
+
550
+ & [data-gutter] {
551
+ grid-column: 1;
552
+ }
553
+
554
+ & [data-content] {
555
+ border-right: 1px solid var(--diffs-bg);
556
+ grid-column: 2;
557
+ }
558
+ }
559
+
560
+ & [data-additions] {
561
+ display: contents;
562
+
563
+ & [data-gutter] {
564
+ border-left: 1px solid var(--diffs-bg);
565
+ grid-column: 3;
566
+ }
567
+
568
+ & [data-content] {
569
+ grid-column: 4;
570
+ }
571
+ }
572
+ }
573
+
574
+ [data-overflow="scroll"] [data-gutter] {
575
+ position: sticky;
576
+ left: 0;
577
+ }
578
+
579
+ [data-interactive-lines] [data-line] {
580
+ cursor: pointer;
581
+ }
582
+
583
+ [data-interactive-line-numbers] [data-column-number] {
584
+ cursor: pointer;
585
+ touch-action: none;
586
+ }
587
+
588
+ [data-content-buffer], [data-gutter-buffer] {
589
+ user-select: none;
590
+ min-height: 1lh;
591
+ position: relative;
592
+ }
593
+
594
+ [data-gutter-buffer] {
595
+ padding-left: 2ch;
596
+ padding-right: 1ch;
597
+
598
+ &:before {
599
+ content: "";
600
+ min-width: var(--diffs-min-number-column-width, var(--diffs-min-number-column-width-default, 3ch));
601
+ display: block;
602
+ }
603
+ }
604
+
605
+ [data-gutter-buffer="annotation"] {
606
+ --diffs-annotation-bg: var(--diffs-bg-context-gutter);
607
+ min-height: 0;
608
+ }
609
+
610
+ [data-gutter-buffer="buffer"] {
611
+ --diffs-line-bg: var(--diffs-bg-context-gutter);
612
+ }
613
+
614
+ [data-content-buffer] {
615
+ background-position: 5px 0;
616
+ background-size: 8px 8px;
617
+ background-origin: border-box;
618
+ background-image: repeating-linear-gradient(-45deg,
619
+ transparent,
620
+ transparent calc(3px * 1.414),
621
+ var(--diffs-bg-buffer) calc(3px * 1.414),
622
+ var(--diffs-bg-buffer) calc(4px * 1.414));
623
+ grid-column: 1;
624
+ }
625
+
626
+ [data-separator] {
627
+ box-sizing: content-box;
628
+ background-color: var(--diffs-bg);
629
+ }
630
+
631
+ [data-separator="simple"] {
632
+ min-height: 4px;
633
+ }
634
+
635
+ [data-separator="line-info"], [data-separator="line-info-basic"], [data-separator="metadata"], [data-separator="simple"] {
636
+ background-color: var(--diffs-bg-separator);
637
+ }
638
+
639
+ [data-separator="line-info"], [data-separator="line-info-basic"], [data-separator="metadata"] {
640
+ height: 32px;
641
+ position: relative;
642
+ }
643
+
644
+ [data-separator-wrapper] {
645
+ user-select: none;
646
+ fill: currentColor;
647
+ background-color: var(--diffs-bg);
648
+ align-items: center;
649
+ height: 100%;
650
+ display: flex;
651
+ position: absolute;
652
+ inset-inline: 0;
653
+ }
654
+
655
+ [data-content] [data-separator-wrapper] {
656
+ display: none;
657
+ }
658
+
659
+ [data-separator="metadata"] [data-separator-wrapper] {
660
+ background-color: var(--diffs-bg-separator);
661
+ height: 100%;
662
+ color: var(--diffs-fg-number);
663
+ white-space: nowrap;
664
+ text-overflow: ellipsis;
665
+ min-width: min-content;
666
+ padding-inline: 1ch;
667
+ inset-inline: 100% auto;
668
+ overflow: hidden;
669
+ }
670
+
671
+ [data-separator="line-info"] {
672
+ margin-block: var(--diffs-gap-block, var(--diffs-gap-fallback));
673
+
674
+ & [data-separator-wrapper] {
675
+ min-width: 16px;
676
+ }
677
+ }
678
+
679
+ [data-separator="line-info-basic"], [data-separator="metadata"] {
680
+ margin-block: 0;
681
+ }
682
+
683
+ [data-separator="line-info"][data-separator-first] {
684
+ margin-top: 0;
685
+ }
686
+
687
+ [data-separator="line-info"][data-separator-last] {
688
+ margin-bottom: 0;
689
+ }
690
+
691
+ [data-expand-index] [data-separator-wrapper] {
692
+ grid-template-columns: 32px auto;
693
+ display: grid;
694
+ }
695
+
696
+ [data-expand-index] [data-separator-wrapper][data-separator-multi-button] {
697
+ grid-template-columns: 32px 32px auto;
698
+ }
699
+
700
+ [data-expand-button], [data-separator-content] {
701
+ background-color: var(--diffs-bg-separator);
702
+ flex: none;
703
+ align-items: center;
704
+ display: flex;
705
+ }
706
+
707
+ [data-expand-index] [data-separator-content]:hover {
708
+ cursor: pointer;
709
+ text-decoration: underline;
710
+ }
711
+
712
+ [data-expand-button] {
713
+ cursor: pointer;
714
+ min-width: 32px;
715
+ color: var(--diffs-fg-number);
716
+ border-right: 2px solid var(--diffs-bg);
717
+ flex-shrink: 0;
718
+ justify-content: center;
719
+ align-self: stretch;
720
+
721
+ &:hover {
722
+ color: var(--diffs-fg);
723
+ }
724
+
725
+ &[data-expand-all-button] {
726
+ display: none;
727
+ }
728
+ }
729
+
730
+ [data-expand-down] [data-icon] {
731
+ transform: scaleY(-1);
732
+ }
733
+
734
+ [data-separator-content] {
735
+ height: 100%;
736
+ color: var(--diffs-fg-number);
737
+ flex: auto;
738
+ justify-content: flex-start;
739
+ padding: 0 1ch;
740
+ overflow: hidden;
741
+ }
742
+
743
+ [data-separator="line-info"], [data-separator="line-info-basic"] {
744
+ & [data-separator-content] {
745
+ user-select: none;
746
+ height: 100%;
747
+ overflow: clip;
748
+ }
749
+ }
750
+
751
+ [data-unmodified-lines] {
752
+ text-overflow: ellipsis;
753
+ white-space: nowrap;
754
+ flex: 0 auto;
755
+ min-width: 0;
756
+ display: block;
757
+ overflow: hidden;
758
+ }
759
+
760
+ @supports (width: 1cqi) {
761
+ [data-unified] {
762
+ & [data-separator="line-info"] [data-separator-wrapper] {
763
+ padding-inline: var(--diffs-gap-inline, var(--diffs-gap-fallback));
764
+ width: 100cqi;
765
+
766
+ & [data-separator-content] {
767
+ border-radius: 6px;
768
+ }
769
+ }
770
+
771
+ & [data-separator="line-info"][data-expand-index] [data-separator-wrapper] [data-separator-content] {
772
+ border-top-left-radius: unset;
773
+ border-bottom-left-radius: unset;
774
+ }
775
+ }
776
+
777
+ [data-gutter] {
778
+ & [data-separator="line-info"] [data-separator-wrapper] {
779
+ padding-left: var(--diffs-gap-inline, var(--diffs-gap-fallback));
780
+ }
781
+
782
+ & [data-separator="line-info"] [data-separator-content] {
783
+ border-top-left-radius: 6px;
784
+ border-bottom-left-radius: 6px;
785
+ }
786
+
787
+ & [data-separator="line-info"][data-expand-index] [data-separator-content] {
788
+ border-top-left-radius: unset;
789
+ border-bottom-left-radius: unset;
790
+ }
791
+ }
792
+
793
+ [data-additions] {
794
+ & [data-content] [data-separator="line-info"] {
795
+ background-color: var(--diffs-bg);
796
+
797
+ & [data-separator-wrapper] {
798
+ display: none;
799
+ }
800
+ }
801
+
802
+ & [data-gutter] [data-separator="line-info"] [data-separator-wrapper] {
803
+ background-color: var(--diffs-bg-separator);
804
+ border-top-right-radius: 6px;
805
+ border-bottom-right-radius: 6px;
806
+ height: 100%;
807
+ display: block;
808
+
809
+ & [data-separator-content], & [data-expand-button] {
810
+ display: none;
811
+ }
812
+ }
813
+ }
814
+
815
+ [data-overflow="scroll"] [data-additions] [data-gutter] [data-separator="line-info"] [data-separator-wrapper] {
816
+ width: calc(100cqi - var(--diffs-gap-inline, var(--diffs-gap-fallback)));
817
+ }
818
+
819
+ [data-overflow="wrap"] [data-additions] [data-content] [data-separator="line-info"] [data-separator-wrapper] {
820
+ background-color: var(--diffs-bg-separator);
821
+ height: 100%;
822
+ margin-right: var(--diffs-gap-inline, var(--diffs-gap-fallback));
823
+ border-top-right-radius: 6px;
824
+ border-bottom-right-radius: 6px;
825
+ display: block;
826
+
827
+ & [data-separator-content], & [data-expand-button] {
828
+ display: none;
829
+ }
830
+ }
831
+
832
+ [data-separator="line-info"] [data-separator-wrapper] {
833
+ & [data-expand-both], & [data-expand-down], & [data-expand-up] {
834
+ border-top-left-radius: 6px;
835
+ border-bottom-left-radius: 6px;
836
+ }
837
+ }
838
+
839
+ @media (pointer: fine) {
840
+ [data-separator="line-info"] [data-separator-wrapper] {
841
+ &[data-separator-multi-button] {
842
+ & [data-expand-up] {
843
+ border-top-left-radius: 6px;
844
+ border-bottom-left-radius: unset;
845
+ }
846
+
847
+ & [data-expand-down] {
848
+ border-bottom-left-radius: 6px;
849
+ border-top-left-radius: unset;
850
+ }
851
+ }
852
+ }
853
+ }
854
+ }
855
+
856
+ @media (pointer: coarse) {
857
+ [data-separator="line-info-basic"] [data-separator-wrapper][data-separator-multi-button] {
858
+ grid-template-columns: 34px 34px auto;
859
+
860
+ & [data-separator-content] {
861
+ grid-column: unset;
862
+ grid-row: unset;
863
+ }
864
+ }
865
+
866
+ @supports (width: 1cqi) {
867
+ [data-separator="line-info"] [data-separator-wrapper] {
868
+ & [data-expand-both], & [data-expand-down], & [data-expand-up] {
869
+ border-top-left-radius: 6px;
870
+ border-bottom-left-radius: 6px;
871
+ }
872
+
873
+ &[data-separator-multi-button] {
874
+ & [data-expand-up] {
875
+ border-top-left-radius: 6px;
876
+ border-bottom-left-radius: 6px;
877
+ }
878
+
879
+ & [data-expand-down] {
880
+ border-bottom-left-radius: unset;
881
+ border-top-left-radius: unset;
882
+ }
883
+ }
884
+ }
885
+ }
886
+ }
887
+
888
+ @media (pointer: fine) {
889
+ [data-separator-wrapper][data-separator-multi-button] {
890
+ grid-template-rows: 50% 50%;
891
+ display: grid;
892
+
893
+ & [data-separator-content] {
894
+ grid-area: 1 / 2 / -1;
895
+ min-width: min-content;
896
+ }
897
+
898
+ & [data-expand-button] {
899
+ grid-column: 1;
900
+ }
901
+ }
902
+
903
+ [data-separator="line-info"] [data-separator-wrapper], [data-separator="line-info"] [data-separator-wrapper][data-separator-multi-button] {
904
+ grid-template-columns: 34px auto;
905
+ }
906
+
907
+ [data-separator="line-info-basic"][data-expand-index] [data-separator-wrapper] {
908
+ grid-template-columns: 100% auto;
909
+ }
910
+
911
+ [data-separator="line-info"], [data-separator="line-info-basic"] {
912
+ & [data-separator-multi-button] {
913
+ & [data-expand-up] {
914
+ border-bottom: 1px solid var(--diffs-bg);
915
+ border-right: 2px solid var(--diffs-bg);
916
+ }
917
+
918
+ & [data-expand-down] {
919
+ border-top: 1px solid var(--diffs-bg);
920
+ border-right: 2px solid var(--diffs-bg);
921
+ }
922
+ }
923
+ }
924
+ }
925
+
926
+ [data-additions] [data-gutter] [data-separator-wrapper], [data-additions] [data-separator="line-info-basic"] [data-separator-wrapper], [data-content] [data-separator-wrapper] {
927
+ display: none;
928
+ }
929
+
930
+ [data-line-annotation] {
931
+ min-height: var(--diffs-annotation-min-height, 0);
932
+ z-index: 2;
933
+ }
934
+
935
+ [data-merge-conflict-actions] {
936
+ z-index: 2;
937
+ }
938
+
939
+ [data-separator="custom"] {
940
+ grid-template-columns: subgrid;
941
+ display: grid;
942
+ }
943
+
944
+ [data-line], [data-column-number], [data-no-newline] {
945
+ padding-inline: 1ch;
946
+ position: relative;
947
+ }
948
+
949
+ [data-indicators="classic"] [data-line] {
950
+ padding-inline-start: 2ch;
951
+ }
952
+
953
+ [data-indicators="classic"] {
954
+ & [data-line-type="change-addition"], & [data-line-type="change-deletion"] {
955
+ &[data-no-newline], &[data-line] {
956
+ &:before {
957
+ user-select: none;
958
+ width: 1ch;
959
+ height: 1lh;
960
+ display: inline-block;
961
+ position: absolute;
962
+ top: 0;
963
+ left: 0;
964
+ }
965
+ }
966
+ }
967
+
968
+ & [data-line-type="change-addition"] {
969
+ &[data-line], &[data-no-newline] {
970
+ &:before {
971
+ content: "+";
972
+ color: var(--diffs-addition-base);
973
+ }
974
+ }
975
+ }
976
+
977
+ & [data-line-type="change-deletion"] {
978
+ &[data-line], &[data-no-newline] {
979
+ &:before {
980
+ content: "-";
981
+ color: var(--diffs-deletion-base);
982
+ }
983
+ }
984
+ }
985
+ }
986
+
987
+ [data-indicators="bars"] {
988
+ & [data-line-type="change-deletion"], & [data-line-type="change-addition"] {
989
+ &[data-column-number] {
990
+ &:before {
991
+ content: "";
992
+ user-select: none;
993
+ contain: strict;
994
+ width: 4px;
995
+ height: 100%;
996
+ display: block;
997
+ position: absolute;
998
+ top: 0;
999
+ left: 0;
1000
+ }
1001
+ }
1002
+ }
1003
+
1004
+ & [data-line-type="change-deletion"] {
1005
+ &[data-column-number] {
1006
+ &:before {
1007
+ background-image: linear-gradient(0deg,
1008
+ var(--diffs-bg-deletion) 50%,
1009
+ var(--diffs-deletion-base) 50%);
1010
+ background-repeat: repeat;
1011
+ background-size: 2px 2px;
1012
+ background-size: calc(1lh / round(1lh / 2px))
1013
+ calc(1lh / round(1lh / 2px));
1014
+ }
1015
+ }
1016
+ }
1017
+
1018
+ & [data-line-type="change-addition"] {
1019
+ &[data-column-number] {
1020
+ &:before {
1021
+ background-color: var(--diffs-addition-base);
1022
+ }
1023
+ }
1024
+ }
1025
+ }
1026
+
1027
+ [data-overflow="wrap"] {
1028
+ & [data-line], & [data-annotation-content] {
1029
+ white-space: pre-wrap;
1030
+ word-break: break-word;
1031
+ }
1032
+ }
1033
+
1034
+ [data-overflow="scroll"] [data-line] {
1035
+ white-space: pre;
1036
+ min-height: 1lh;
1037
+ }
1038
+
1039
+ [data-column-number] {
1040
+ box-sizing: content-box;
1041
+ text-align: right;
1042
+ user-select: none;
1043
+ color: var(--diffs-fg-number);
1044
+ padding-left: 2ch;
1045
+ }
1046
+
1047
+ [data-line-number-content] {
1048
+ min-width: var(--diffs-min-number-column-width, var(--diffs-min-number-column-width-default, 3ch));
1049
+ z-index: 1;
1050
+ display: inline-block;
1051
+ position: relative;
1052
+ }
1053
+
1054
+ [data-disable-line-numbers] {
1055
+ & [data-gutter-buffer], & [data-column-number] {
1056
+ min-width: 4px;
1057
+ padding: 0;
1058
+
1059
+ &:before {
1060
+ min-width: 0;
1061
+ }
1062
+ }
1063
+
1064
+ & [data-line-number-content] {
1065
+ display: none;
1066
+ }
1067
+
1068
+ & [data-gutter-utility-slot] {
1069
+ right: unset;
1070
+ justify-content: flex-start;
1071
+ left: 0;
1072
+ }
1073
+
1074
+ &[data-indicators="bars"] [data-gutter-utility-slot] {
1075
+ left: 6px;
1076
+ }
1077
+ }
1078
+
1079
+ [data-file][data-disable-line-numbers] {
1080
+ & [data-gutter-buffer], & [data-column-number] {
1081
+ border-right: 0;
1082
+ min-width: 0;
1083
+ }
1084
+ }
1085
+
1086
+ [data-diff-span] {
1087
+ box-decoration-break: clone;
1088
+ border-radius: 3px;
1089
+ }
1090
+
1091
+ [data-line-type="change-addition"] [data-diff-span] {
1092
+ background-color: var(--diffs-bg-addition-emphasis);
1093
+ }
1094
+
1095
+ [data-line-type="change-deletion"] [data-diff-span] {
1096
+ background-color: var(--diffs-bg-deletion-emphasis);
1097
+ }
1098
+
1099
+ [data-merge-conflict="marker-start"], [data-merge-conflict="marker-base"], [data-merge-conflict="marker-separator"], [data-merge-conflict="marker-end"] {
1100
+ color: var(--diffs-fg);
1101
+ padding-left: 1ch;
1102
+ }
1103
+
1104
+ [data-merge-conflict="marker-start"], [data-merge-conflict="marker-end"] {
1105
+ align-items: center;
1106
+ display: flex;
1107
+
1108
+ &:after {
1109
+ color: var(--diffs-fg-conflict-marker);
1110
+ font-size: .75rem;
1111
+ font-style: normal;
1112
+ line-height: 1.25rem;
1113
+ font-family: var(--diffs-header-font-family, var(--diffs-header-font-fallback));
1114
+ padding-left: 1ch;
1115
+ }
1116
+ }
1117
+
1118
+ [data-merge-conflict="marker-start"]:after {
1119
+ content: "(Current Change)";
1120
+ }
1121
+
1122
+ [data-merge-conflict="marker-end"]:after {
1123
+ content: "(Incoming Change)";
1124
+ }
1125
+
1126
+ [data-merge-conflict-actions-content] {
1127
+ min-height: 1.75rem;
1128
+ font-family: var(--diffs-header-font-family, var(--diffs-header-font-fallback));
1129
+ color: var(--diffs-fg);
1130
+ align-items: center;
1131
+ gap: .25rem;
1132
+ padding-inline: .5rem;
1133
+ font-size: .75rem;
1134
+ line-height: 1.2;
1135
+ display: flex;
1136
+ }
1137
+
1138
+ [data-merge-conflict-action] {
1139
+ appearance: none;
1140
+ color: var(--diffs-fg-number);
1141
+ font: inherit;
1142
+ cursor: pointer;
1143
+ background: none;
1144
+ border: 0;
1145
+ padding: 0;
1146
+ font-style: normal;
1147
+ }
1148
+
1149
+ [data-merge-conflict-action]:hover {
1150
+ color: var(--diffs-fg);
1151
+ }
1152
+
1153
+ [data-merge-conflict-action="current"]:hover {
1154
+ color: var(--diffs-addition-base);
1155
+ }
1156
+
1157
+ [data-merge-conflict-action="incoming"]:hover {
1158
+ color: var(--diffs-modified-base);
1159
+ }
1160
+
1161
+ [data-merge-conflict-action-separator] {
1162
+ color: var(--diffs-fg-number);
1163
+ opacity: .6;
1164
+ user-select: none;
1165
+ }
1166
+
1167
+ [data-diffs-header="default"] {
1168
+ background-color: var(--diffs-bg);
1169
+ justify-content: space-between;
1170
+ align-items: center;
1171
+ gap: var(--diffs-gap-inline, var(--diffs-gap-fallback));
1172
+ min-height: calc(1lh + (var(--diffs-gap-block, var(--diffs-gap-fallback)) * 3));
1173
+ z-index: 2;
1174
+ flex-direction: row;
1175
+ padding-inline: 16px;
1176
+ display: flex;
1177
+ position: relative;
1178
+ top: 0;
1179
+ }
1180
+
1181
+ [data-header-content] {
1182
+ align-items: center;
1183
+ gap: var(--diffs-gap-inline, var(--diffs-gap-fallback));
1184
+ white-space: nowrap;
1185
+ flex-direction: row;
1186
+ min-width: 0;
1187
+ display: flex;
1188
+ }
1189
+
1190
+ [data-header-content] [data-prev-name], [data-header-content] [data-title] {
1191
+ text-overflow: ellipsis;
1192
+ white-space: nowrap;
1193
+ direction: rtl;
1194
+ min-width: 0;
1195
+ overflow: hidden;
1196
+ }
1197
+
1198
+ [data-prev-name] {
1199
+ opacity: .7;
1200
+ }
1201
+
1202
+ [data-rename-icon] {
1203
+ fill: currentColor;
1204
+ flex-grow: 0;
1205
+ flex-shrink: 0;
1206
+ }
1207
+
1208
+ [data-diffs-header="default"] [data-metadata] {
1209
+ white-space: nowrap;
1210
+ align-items: center;
1211
+ gap: 1ch;
1212
+ display: flex;
1213
+ }
1214
+
1215
+ [data-diffs-header="default"] [data-additions-count] {
1216
+ font-family: var(--diffs-font-family, var(--diffs-font-fallback));
1217
+ color: var(--diffs-addition-base);
1218
+ }
1219
+
1220
+ [data-diffs-header="default"] [data-deletions-count] {
1221
+ font-family: var(--diffs-font-family, var(--diffs-font-fallback));
1222
+ color: var(--diffs-deletion-base);
1223
+ }
1224
+
1225
+ [data-change-icon] {
1226
+ fill: currentColor;
1227
+ flex-shrink: 0;
1228
+ }
1229
+
1230
+ [data-change-icon="change"], [data-change-icon="rename-pure"], [data-change-icon="rename-changed"] {
1231
+ color: var(--diffs-modified-base);
1232
+ }
1233
+
1234
+ [data-change-icon="new"] {
1235
+ color: var(--diffs-addition-base);
1236
+ }
1237
+
1238
+ [data-change-icon="deleted"] {
1239
+ color: var(--diffs-deletion-base);
1240
+ }
1241
+
1242
+ [data-change-icon="file"] {
1243
+ opacity: .6;
1244
+ }
1245
+
1246
+ [data-annotation-content] {
1247
+ z-index: 2;
1248
+ isolation: isolate;
1249
+ align-self: flex-start;
1250
+ min-width: 0;
1251
+ display: flow-root;
1252
+ position: relative;
1253
+ }
1254
+
1255
+ [data-overflow="scroll"] [data-annotation-content], [data-overflow="scroll"] [data-merge-conflict-actions-content] {
1256
+ width: var(--diffs-column-content-width, auto);
1257
+ left: var(--diffs-column-number-width, 0);
1258
+ position: sticky;
1259
+ }
1260
+
1261
+ [data-annotation-slot] {
1262
+ text-wrap-mode: wrap;
1263
+ word-break: normal;
1264
+ white-space-collapse: collapse;
1265
+ }
1266
+
1267
+ [data-gutter-utility-slot] {
1268
+ touch-action: none;
1269
+ justify-content: flex-end;
1270
+ display: flex;
1271
+ position: absolute;
1272
+ top: 0;
1273
+ bottom: 0;
1274
+ right: 0;
1275
+ }
1276
+
1277
+ [data-utility-button] {
1278
+ appearance: none;
1279
+ cursor: pointer;
1280
+ width: 1lh;
1281
+ height: 1lh;
1282
+ font-size: var(--diffs-font-size, 13px);
1283
+ line-height: var(--diffs-line-height, 20px);
1284
+ background-color: var(--diffs-modified-base);
1285
+ color: var(--diffs-bg);
1286
+ fill: currentColor;
1287
+ z-index: 4;
1288
+ touch-action: none;
1289
+ border: none;
1290
+ border-radius: 4px;
1291
+ justify-content: center;
1292
+ align-items: center;
1293
+ margin-right: calc(-1lh + 1ch);
1294
+ padding: 0;
1295
+ display: flex;
1296
+ position: relative;
1297
+
1298
+ &:before {
1299
+ content: "";
1300
+ display: block;
1301
+ position: absolute;
1302
+ inset: 0 0 0 -4px;
1303
+ }
1304
+ }
1305
+
1306
+ [data-decoration-bar-stack] {
1307
+ pointer-events: none;
1308
+ isolation: isolate;
1309
+ z-index: 1;
1310
+ background-color: var(--diffs-decoration-bar-color, transparent);
1311
+ box-sizing: content-box;
1312
+ border-left: 2px solid var(--diffs-bg);
1313
+ border-right: 2px solid var(--diffs-bg);
1314
+ width: 6px;
1315
+ position: absolute;
1316
+ top: 0;
1317
+ bottom: 0;
1318
+ right: -2px;
1319
+
1320
+ [data-decoration-bar-depth="1"] & {
1321
+ background-color: color-mix(in lab,
1322
+ var(--diffs-bg) 20%,
1323
+ var(--diffs-decoration-bar-color, transparent));
1324
+ }
1325
+
1326
+ [data-decoration-bar-depth="2"] & {
1327
+ background-color: color-mix(in lab,
1328
+ var(--diffs-bg) 45%,
1329
+ var(--diffs-decoration-bar-color, transparent));
1330
+ }
1331
+
1332
+ [data-decoration-bar-depth="3"] & {
1333
+ background-color: color-mix(in lab,
1334
+ var(--diffs-bg) 65%,
1335
+ var(--diffs-decoration-bar-color, transparent));
1336
+ }
1337
+
1338
+ [data-decoration-bar-start] & {
1339
+ border-top-left-radius: 5px;
1340
+ border-top-right-radius: 5px;
1341
+ }
1342
+
1343
+ [data-decoration-bar-end] & {
1344
+ z-index: 3;
1345
+ border-bottom-right-radius: 5px;
1346
+ border-bottom-left-radius: 5px;
1347
+ }
1348
+ }
1349
+
1350
+ [data-placeholder] {
1351
+ contain: strict;
1352
+ }
1353
+
1354
+ [data-error-wrapper] {
1355
+ padding: var(--diffs-gap-block, var(--diffs-gap-fallback))
1356
+ var(--diffs-gap-inline, var(--diffs-gap-fallback));
1357
+ scrollbar-width: none;
1358
+ max-height: 400px;
1359
+ overflow: auto;
1360
+
1361
+ & [data-error-message] {
1362
+ color: var(--diffs-deletion-base);
1363
+ font-size: 18px;
1364
+ font-weight: bold;
1365
+ }
1366
+
1367
+ & [data-error-stack] {
1368
+ color: var(--diffs-fg-number);
1369
+ }
1370
+ }
1371
+ }
1372
+
1373
+ @layer theme, rendered, unsafe;
1374
+ `,un;function dn(e){if(un!=null)return un;let t=e.host;if(typeof HTMLElement<`u`&&t instanceof HTMLElement&&!t.isConnected)return;let n=document.createElement(`div`);n.setAttribute(`data-code`,``),n.setAttribute(E,`true`);let r=document.createElement(`div`);return r.style.position=`relative`,r.style.width=`200%`,r.style.height=`200%`,n.appendChild(r),e.appendChild(n),un=Math.max(n.offsetHeight-n.clientHeight,0),n.remove(),un}function fn(e){return`${D}: ${e==null?`var(--diffs-scrollbar-gutter-fallback)`:`${e}px`};`}var pn=`@layer base, theme, rendered, unsafe;`,mn=RegExp(`${vn(D)}\\s*:\\s*[^;]+;`);function hn(e){return`${pn}
1375
+ @layer unsafe {
1376
+ ${e}
1377
+ }`}function gn(e,t=`system`,n){return`${pn}
1378
+ @layer rendered {
1379
+ :host {${t===`system`?``:`
1380
+ color-scheme: ${t};`}
1381
+ ${fn(n)}
1382
+ ${e}
1383
+ }
1384
+ }`}function _n(e,t){let n=fn(t);return e.replace(mn,n)}function vn(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function yn({code:e,pre:t,columnType:n,rowSpan:r,containerSize:i=!1}={}){return e??(e=document.createElement(`code`),e.setAttribute(`data-code`,``),n!=null&&e.setAttribute(`data-${n}`,``),t?.appendChild(e)),r==null?e.style.removeProperty(`grid-row`):e.style.setProperty(`grid-row`,`span ${r}`),i?e.setAttribute(`data-container-size`,``):e.removeAttribute(`data-container-size`),e}function bn(e,t){if(t==null)return;let n=e.shadowRoot??e.attachShadow({mode:`open`});n.innerHTML===``&&(n.innerHTML=t)}function xn(e,{type:t,diffIndicators:n,disableBackground:r,disableLineNumbers:i,overflow:a,split:o,totalLines:s,customProperties:c}){if(c!=null)for(let t in c){let n=c[t];n!=null&&e.setAttribute(t,`${n}`)}switch(t===`diff`?(e.setAttribute(`data-diff`,``),e.removeAttribute(`data-file`)):(e.setAttribute(`data-file`,``),e.removeAttribute(`data-diff`)),n){case`bars`:case`classic`:e.setAttribute(`data-indicators`,n);break;case`none`:e.removeAttribute(`data-indicators`);break}return i?e.setAttribute(`data-disable-line-numbers`,``):e.removeAttribute(`data-disable-line-numbers`),r?e.removeAttribute(`data-background`):e.setAttribute(`data-background`,``),t===`diff`?e.setAttribute(`data-diff-type`,o?`split`:`single`):e.removeAttribute(`data-diff-type`),e.setAttribute(`data-overflow`,a),e.style.setProperty(`--diffs-min-number-column-width-default`,`${`${s}`.length}ch`),e}function Sn(e){if(typeof HTMLStyleElement<`u`&&e instanceof HTMLStyleElement)return!0;let t=e.tagName??e.nodeName;return typeof t==`string`&&t.toLowerCase()===`style`}function Cn({shadowRoot:e,currentNode:t,themeCSS:n}){if(n.trim()===``){t?.remove();return}return t??=wn(),t.textContent=n,t.parentNode!==e&&e.appendChild(t),t}function wn(){let e=document.createElement(`style`);return e.setAttribute(w,``),e}if(typeof HTMLElement<`u`&&customElements.get(`diffs-container`)==null){let e;class t extends HTMLElement{constructor(){if(super(),this.shadowRoot!=null)return;let t=this.attachShadow({mode:`open`});e??(e=new CSSStyleSheet,e.replaceSync(ln)),t.adoptedStyleSheets=[e]}connectedCallback(){dn(this.shadowRoot??this.attachShadow({mode:`open`}))}}customElements.define(p,t)}function Tn(e){return{...ee,...e}}function G(e,t){let n=En(e,t);return t?n:e.diffHeaderHeight+n}function En(e,t){return e.paddingTop??(t?e.spacing:0)}function Dn(e){return e.paddingBottom??e.spacing}function On(e){switch(e){case`simple`:return 4;case`metadata`:case`line-info`:case`line-info-basic`:case`custom`:return 32}}function kn(e,t){return e===t||e?.cacheKey!=null&&e.cacheKey===t?.cacheKey}var An=new TextEncoder,jn=new TextDecoder(`utf-8`,{ignoreBOM:!0}),Mn=/[\uD800-\uDFFF]/,Nn=1024,K=new Uint8Array(Nn);function Pn(){K.length!==Nn&&(K=new Uint8Array(Nn))}function q(e){if(e.length===0)return e;if(Mn.test(e))return JSON.parse(JSON.stringify(e));let t=e.length*3;K.length<t&&(K=new Uint8Array(t));let{written:n}=An.encodeInto(e,K);return jn.decode(K.subarray(0,n))}function Fn(e,t,n){try{return In(e,t,n)}finally{Pn()}}function In(e,t,n=!1){let r=er(e),i=r?Un(e):Wn(e),a,o=[];for(let e of i){if(r&&!h.test(e)){if(a==null)a=q(e);else if(n)throw Error(`parsePatchContent: unknown file blob`);else console.error(`parsePatchContent: unknown file blob:`,e);continue}else if(!r&&!Gn(e)){if(a==null)a=q(e);else if(n)throw Error(`parsePatchContent: unknown file blob`);else console.error(`parsePatchContent: unknown file blob:`,e);continue}let i=Rn(e,{cacheKey:t==null?void 0:`${t}-${o.length}`,isGitDiff:r,throwOnError:n});i!=null&&o.push(i)}return{patchMetadata:a,files:o}}function Ln(e,t){try{return Rn(e,t)}finally{Pn()}}function Rn(e,{cacheKey:t,isGitDiff:n=h.test(e),oldFile:r,newFile:i,throwOnError:a=!1}={}){let o=0,s=tr(e,`@@ `),c,l=r==null||i==null,u=0,d=0;for(let e of s){let s=Hn(e),f=s[0];if(f==null){if(a)throw Error(`parsePatchContent: invalid hunk`);console.error(`parsePatchContent: invalid hunk`,e);continue}let p=Zn(f),m=0,h=0;if(p==null||c==null){if(c!=null){if(a)throw Error(`parsePatchContent: Invalid hunk`);console.error(`parsePatchContent: Invalid hunk`,e);continue}c={name:``,type:`change`,hunks:[],splitLineCount:0,unifiedLineCount:0,isPartial:l,additionLines:!l&&r!=null&&i!=null?Vn(i.contents):[],deletionLines:!l&&r!=null&&i!=null?Vn(r.contents):[],cacheKey:rr(t)},c.additionLines.length===1&&i?.contents===``&&(c.additionLines.length=0),c.deletionLines.length===1&&r?.contents===``&&(c.deletionLines.length=0);for(let e of s){if(e.startsWith(`diff --git`)){let t=e.trim().match(v),n=t?.[1]??t?.[2],r=t?.[3]??t?.[4];if(n==null||r==null){if(a)throw Error(`parsePatchContent: invalid git diff header`);console.error(`parsePatchContent: invalid git diff header`,e);continue}c.name=q(r.trim()),n!==r&&(c.prevName=q(n.trim()));continue}let t=e.startsWith(`---`)||e.startsWith(`+++`)?e.match(n?_:g):null;if(t!=null){let[,e,n]=t;if(e===`---`&&n!==`/dev/null`){let e=q(n.trim());c.prevName=e,c.name=e}else e===`+++`&&n!==`/dev/null`&&(c.name=q(n.trim()))}else if(n){if(e.startsWith(`new mode `)&&(c.mode=q(e.slice(8).trim())),e.startsWith(`old mode `)&&(c.prevMode=q(e.slice(8).trim())),e.startsWith(`new file mode`)&&(c.type=`new`,c.mode=q(e.slice(13).trim())),e.startsWith(`deleted file mode`)&&(c.type=`deleted`,c.mode=q(e.slice(17).trim())),e.startsWith(`similarity index`)&&(e.startsWith(`similarity index 100%`)?c.type=`rename-pure`:c.type=`rename-changed`),e.startsWith(`index `)){let[,t,n,r]=e.trim().match(y)??[];t!=null&&(c.prevObjectId=q(t)),n!=null&&(c.newObjectId=q(n)),r!=null&&(c.mode=q(r))}e.startsWith(`rename from `)&&(c.prevName=q(e.slice(12).trim())),e.startsWith(`rename to `)&&(c.name=q(e.slice(10).trim()))}}continue}let b,x;for(;s.length>0&&(s[s.length-1]===`
1385
+ `||s[s.length-1]===`\r`||s[s.length-1]===`\r
1386
+ `||s[s.length-1]===``);)s.pop();let{additionStart:S,deletionStart:C}=p;u=l?u:C-1,d=l?d:S-1;let w={collapsedBefore:0,splitLineCount:0,splitLineStart:0,unifiedLineCount:0,unifiedLineStart:0,additionCount:p.additionCount,additionStart:S,additionLines:m,deletionCount:p.deletionCount,deletionStart:C,deletionLines:h,deletionLineIndex:u,additionLineIndex:d,hunkContent:[],hunkContext:rr(p.hunkContext),hunkSpecs:q(f),noEOFCRAdditions:!1,noEOFCRDeletions:!1},T=0,E=0;for(let e=1;e<s.length;e++){let t=s[e];if(T>=w.additionCount&&E>=w.deletionCount&&!t.startsWith(`\\`)){if(a&&Yn(t)&&!Xn(t))throw Error(`parsePatchContent: hunk has more lines than expected`);break}let n=t[0];if(n!==`+`&&n!==`-`&&n!==` `&&n!==`\\`){if(a)throw Error(`parsePatchContent: invalid hunk line`);console.error(`parseLineType: Invalid firstChar: "${n}", full line: "${t}"`),console.error(`processFile: invalid rawLine:`,t);continue}let r=ir(n);if(r===`addition`){if(a&&T>=w.additionCount)throw Error(`parsePatchContent: hunk has too many addition lines`);let e=ar(t);(b==null||b.type!==`change`)&&(b=or(`change`,u,d),w.hunkContent.push(b)),d++,T++,l&&c.additionLines.push(e),b.additions++,m++,x=`addition`}else if(r===`deletion`){if(a&&E>=w.deletionCount)throw Error(`parsePatchContent: hunk has too many deletion lines`);let e=ar(t);(b==null||b.type!==`change`)&&(b=or(`change`,u,d),w.hunkContent.push(b)),u++,E++,l&&c.deletionLines.push(e),b.deletions++,h++,x=`deletion`}else if(r===`context`){if(a&&(E>=w.deletionCount||T>=w.additionCount))throw Error(`parsePatchContent: hunk has too many context lines`);let e=ar(t);(b==null||b.type!==`context`)&&(b=or(`context`,u,d),w.hunkContent.push(b)),d++,u++,T++,E++,l&&(c.deletionLines.push(e),c.additionLines.push(e)),b.lines++,x=`context`}else if(r===`metadata`&&b!=null){if(b.type===`context`?(w.noEOFCRAdditions=!0,w.noEOFCRDeletions=!0):x===`deletion`?w.noEOFCRDeletions=!0:x===`addition`&&(w.noEOFCRAdditions=!0),l&&(x===`addition`||x===`context`)){let e=c.additionLines.length-1;e>=0&&(c.additionLines[e]=H(c.additionLines[e]))}if(l&&(x===`deletion`||x===`context`)){let e=c.deletionLines.length-1;e>=0&&(c.deletionLines[e]=H(c.deletionLines[e]))}}}if(a&&(T!==w.additionCount||E!==w.deletionCount))throw Error(`parsePatchContent: hunk line count mismatch`);w.additionLines=m,w.deletionLines=h,w.collapsedBefore=Math.max(w.additionStart-1-o,0),c.hunks.push(w),o=w.additionStart+w.additionCount-1;for(let e of w.hunkContent)e.type===`context`?(w.splitLineCount+=e.lines,w.unifiedLineCount+=e.lines):(w.splitLineCount+=Math.max(e.additions,e.deletions),w.unifiedLineCount+=e.deletions+e.additions);w.splitLineStart=c.splitLineCount+w.collapsedBefore,w.unifiedLineStart=c.unifiedLineCount+w.collapsedBefore,c.splitLineCount+=w.collapsedBefore+w.splitLineCount,c.unifiedLineCount+=w.collapsedBefore+w.unifiedLineCount}if(c!=null){if(a&&l&&!n&&c.hunks.length===0)throw Error(`parsePatchContent: unified file has no hunks`);if(c.hunks.length>0&&!l&&c.additionLines.length>0&&c.deletionLines.length>0){let e=c.hunks[c.hunks.length-1],t=e.additionStart+e.additionCount-1,n=c.additionLines.length,r=Math.max(n-t,0);c.splitLineCount+=r,c.unifiedLineCount+=r}return n||(c.prevName!=null&&c.name!==c.prevName?c.hunks.length>0?c.type=`rename-changed`:c.type=`rename-pure`:(r==null||r.contents===``)&&i!=null&&i.contents!==``?c.type=`new`:r!=null&&r.contents!==``&&(i==null||i.contents===``)&&(c.type=`deleted`)),c.type!==`rename-pure`&&c.type!==`rename-changed`&&(c.prevName=void 0),c}}function zn(e,t,n=!1){let r=[],i=Bn(e)?e.split(m):[e];for(let e of i)try{r.push(Fn(e,t==null?void 0:`${t}-${r.length}`,n))}catch(e){if(n)throw e;console.error(e)}return r}function Bn(e){return e.startsWith(`From `)||e.includes(`
1387
+ From `)}function Vn(e){let t=Hn(e);for(let e=0;e<t.length;e++)t[e]=q(t[e]);return t}function Hn(e){if(e.length===0)return[``];let t=[],n=0;for(;;){let r=e.indexOf(`
1388
+ `,n);if(r===-1)break;t.push(e.slice(n,r+1)),n=r+1}return n<e.length&&t.push(e.slice(n)),t}function Un(e){return tr(e,`diff --git`)}function Wn(e){if(e.length===0)return[``];let t=[],n=0,r=0,i=0,a=0,o=!1;for(;r<e.length;){let s=Jn(e,r);if(i<=0&&a<=0){if(Kn(e,r)){r>n&&t.push(e.slice(n,r)),n=r,o=!0,r=Jn(e,s);continue}if(o&&e.startsWith(`@@ -`,r)){let t=Zn(e.slice(r,s));t!=null&&(i=t.deletionCount,a=t.additionCount)}r=s;continue}let c=e[r];if(c===`\\`){r=s;continue}c===` `?(i=Math.max(i-1,0),a=Math.max(a-1,0)):c===`-`?i=Math.max(i-1,0):c===`+`&&(a=Math.max(a-1,0)),r=s}return t.push(e.slice(n)),t}function Gn(e){return Kn(e,0)}function Kn(e,t){let n=Jn(e,t);return qn(e,t,`---`)&&qn(e,n,`+++`)}function qn(e,t,n){if(!e.startsWith(n,t))return!1;let r=e[t+n.length];if(r!==` `&&r!==` `)return!1;for(let r=t+n.length+1;r<e.length;r++){let t=e[r];if(t===`
1389
+ `||t===`\r`)break;if(t!==` `&&t!==` `)return!0}return!1}function Jn(e,t){let n=e.indexOf(`
1390
+ `,t);return n===-1?e.length:n+1}function Yn(e){let t=e[0];return t===`+`||t===`-`||t===` `}function Xn(e){if(!e.startsWith(`--`))return!1;for(let t=2;t<e.length;t++){let n=e[t];if(n!==` `&&n!==` `&&n!==`
1391
+ `&&n!==`\r`)return!1}return!0}function Zn(e){if(!e.startsWith(`@@ -`))return;let t=4,n=Qn(e,t);if(n==null)return;let r=n.value;t=n.endIndex;let i=1;if(e[t]===`,`){let n=Qn(e,t+1);if(n==null)return;i=n.value,t=n.endIndex}if(e[t]!==` `||e[t+1]!==`+`)return;t+=2;let a=Qn(e,t);if(a==null)return;let o=a.value;t=a.endIndex;let s=1;if(e[t]===`,`){let n=Qn(e,t+1);if(n==null)return;s=n.value,t=n.endIndex}if(e[t]!==` `||e[t+1]!==`@`||e[t+2]!==`@`)return;let c,l=t+3;return e[l]===` `&&(c=$n(e.slice(l+1))),{additionCount:s,additionStart:o,deletionCount:i,deletionStart:r,hunkContext:c}}function Qn(e,t){let n=t,r=0;for(;n<e.length;n++){let t=e.charCodeAt(n)-48;if(t<0||t>9)break;r=r*10+t}if(n!==t)return{value:r,endIndex:n}}function $n(e){return e.endsWith(`\r
1392
+ `)?e.slice(0,-2):e.endsWith(`
1393
+ `)?e.slice(0,-1):e}function er(e){return e.startsWith(`diff --git`)||e.includes(`
1394
+ diff --git`)}function tr(e,t){if(e.length===0)return[``];let n=`\n${t}`,r=e.startsWith(t)?0:nr(e,n,0);if(r===-1)return[e];let i=[];r>0&&i.push(e.slice(0,r));let a=r;for(;;){let t=nr(e,n,a+1);if(t===-1)break;i.push(e.slice(a,t)),a=t}return i.push(e.slice(a)),i}function nr(e,t,n){let r=e.indexOf(t,n);return r===-1?-1:r+1}function rr(e){return e==null?e:q(e)}function ir(e){return e===` `?`context`:e===`\\`?`metadata`:e===`+`?`addition`:`deletion`}function ar(e){let t=e.slice(1);return q(t===``?`
1395
+ `:t)}function or(e,t,n){return e===`change`?{type:`change`,additions:0,deletions:0,additionLineIndex:n,deletionLineIndex:t}:{type:`context`,lines:0,additionLineIndex:n,deletionLineIndex:t}}var J=class{diff(e,t,n={}){let r;typeof n==`function`?(r=n,n={}):`callback`in n&&(r=n.callback);let i=this.castInput(e,n),a=this.castInput(t,n),o=this.removeEmpty(this.tokenize(i,n)),s=this.removeEmpty(this.tokenize(a,n));return this.diffWithOptionsObj(o,s,n,r)}diffWithOptionsObj(e,t,n,r){let i=e=>{if(e=this.postProcess(e,n),r){setTimeout(function(){r(e)},0);return}else return e},a=t.length,o=e.length,s=1,c=a+o;n.maxEditLength!=null&&(c=Math.min(c,n.maxEditLength));let l=n.timeout??1/0,u=Date.now()+l,d=[{oldPos:-1,lastComponent:void 0}],f=this.extractCommon(d[0],t,e,0,n);if(d[0].oldPos+1>=o&&f+1>=a)return i(this.buildValues(d[0].lastComponent,t,e));let p=-1/0,m=1/0,h=()=>{for(let r=Math.max(p,-s);r<=Math.min(m,s);r+=2){let s,c=d[r-1],l=d[r+1];c&&(d[r-1]=void 0);let u=!1;if(l){let e=l.oldPos-r;u=l&&0<=e&&e<a}let h=c&&c.oldPos+1<o;if(!u&&!h){d[r]=void 0;continue}if(s=!h||u&&c.oldPos<l.oldPos?this.addToPath(l,!0,!1,0,n):this.addToPath(c,!1,!0,1,n),f=this.extractCommon(s,t,e,r,n),s.oldPos+1>=o&&f+1>=a)return i(this.buildValues(s.lastComponent,t,e))||!0;d[r]=s,s.oldPos+1>=o&&(m=Math.min(m,r-1)),f+1>=a&&(p=Math.max(p,r+1))}s++};if(r)(function e(){setTimeout(function(){if(s>c||Date.now()>u)return r(void 0);h()||e()},0)})();else for(;s<=c&&Date.now()<=u;){let e=h();if(e)return e}}addToPath(e,t,n,r,i){let a=e.lastComponent;return a&&!i.oneChangePerToken&&a.added===t&&a.removed===n?{oldPos:e.oldPos+r,lastComponent:{count:a.count+1,added:t,removed:n,previousComponent:a.previousComponent}}:{oldPos:e.oldPos+r,lastComponent:{count:1,added:t,removed:n,previousComponent:a}}}extractCommon(e,t,n,r,i){let a=t.length,o=n.length,s=e.oldPos,c=s-r,l=0;for(;c+1<a&&s+1<o&&this.equals(n[s+1],t[c+1],i);)c++,s++,l++,i.oneChangePerToken&&(e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1});return l&&!i.oneChangePerToken&&(e.lastComponent={count:l,previousComponent:e.lastComponent,added:!1,removed:!1}),e.oldPos=s,c}equals(e,t,n){return n.comparator?n.comparator(e,t):e===t||!!n.ignoreCase&&e.toLowerCase()===t.toLowerCase()}removeEmpty(e){let t=[];for(let n=0;n<e.length;n++)e[n]&&t.push(e[n]);return t}castInput(e,t){return e}tokenize(e,t){return Array.from(e)}join(e){return e.join(``)}postProcess(e,t){return e}get useLongestToken(){return!1}buildValues(e,t,n){let r=[],i;for(;e;)r.push(e),i=e.previousComponent,delete e.previousComponent,e=i;r.reverse();let a=r.length,o=0,s=0,c=0;for(;o<a;o++){let e=r[o];if(e.removed)e.value=this.join(n.slice(c,c+e.count)),c+=e.count;else{if(!e.added&&this.useLongestToken){let r=t.slice(s,s+e.count);r=r.map(function(e,t){let r=n[c+t];return r.length>e.length?r:e}),e.value=this.join(r)}else e.value=this.join(t.slice(s,s+e.count));s+=e.count,e.added||(c+=e.count)}}return r}},sr=new class extends J{};function cr(e,t,n){return sr.diff(e,t,n)}function lr(e,t){let n;for(n=0;n<e.length&&n<t.length;n++)if(e[n]!=t[n])return e.slice(0,n);return e.slice(0,n)}function ur(e,t){let n;if(!e||!t||e[e.length-1]!=t[t.length-1])return``;for(n=0;n<e.length&&n<t.length;n++)if(e[e.length-(n+1)]!=t[t.length-(n+1)])return e.slice(-n);return e.slice(-n)}function dr(e,t,n){if(e.slice(0,t.length)!=t)throw Error(`string ${JSON.stringify(e)} doesn't start with prefix ${JSON.stringify(t)}; this is a bug`);return n+e.slice(t.length)}function fr(e,t,n){if(!t)return e+n;if(e.slice(-t.length)!=t)throw Error(`string ${JSON.stringify(e)} doesn't end with suffix ${JSON.stringify(t)}; this is a bug`);return e.slice(0,-t.length)+n}function pr(e,t){return dr(e,t,``)}function mr(e,t){return fr(e,t,``)}function hr(e,t){return t.slice(0,gr(e,t))}function gr(e,t){let n=0;e.length>t.length&&(n=e.length-t.length);let r=t.length;e.length<t.length&&(r=e.length);let i=Array(r),a=0;i[0]=0;for(let e=1;e<r;e++){for(t[e]==t[a]?i[e]=i[a]:i[e]=a;a>0&&t[e]!=t[a];)a=i[a];t[e]==t[a]&&a++}a=0;for(let r=n;r<e.length;r++){for(;a>0&&e[r]!=t[a];)a=i[a];e[r]==t[a]&&a++}return a}function _r(e,t){let n=[];for(let r of Array.from(t.segment(e))){let e=r.segment;n.length&&/\s/.test(n[n.length-1])&&/\s/.test(e)?n[n.length-1]+=e:n.push(e)}return n}function vr(e,t){if(t)return yr(e,t)[1];let n;for(n=e.length-1;n>=0&&e[n].match(/\s/);n--);return e.substring(n+1)}function Y(e,t){if(t)return yr(e,t)[0];let n=e.match(/^\s*/);return n?n[0]:``}function yr(e,t){if(!t)return[Y(e),vr(e)];if(t.resolvedOptions().granularity!=`word`)throw Error(`The segmenter passed must have a granularity of "word"`);let n=_r(e,t),r=n[0],i=n[n.length-1];return[/\s/.test(r)?r:``,/\s/.test(i)?i:``]}var br=`a-zA-Z0-9_\\u{AD}\\u{C0}-\\u{D6}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}`,xr=RegExp(`[${br}]+|\\s+|[^${br}]`,`ug`);new class extends J{equals(e,t,n){return n.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e.trim()===t.trim()}tokenize(e,t={}){let n;if(t.intlSegmenter){let r=t.intlSegmenter;if(r.resolvedOptions().granularity!=`word`)throw Error(`The segmenter passed must have a granularity of "word"`);n=_r(e,r)}else n=e.match(xr)||[];let r=[],i=null;return n.forEach(e=>{/\s/.test(e)?i==null?r.push(e):r.push(r.pop()+e):i!=null&&/\s/.test(i)?r[r.length-1]==i?r.push(r.pop()+e):r.push(i+e):r.push(e),i=e}),r}join(e){return e.map((e,t)=>t==0?e:e.replace(/^\s+/,``)).join(``)}postProcess(e,t){if(!e||t.oneChangePerToken)return e;let n=null,r=null,i=null;return e.forEach(e=>{e.added?r=e:e.removed?i=e:((r||i)&&Sr(n,i,r,e,t.intlSegmenter),n=e,r=null,i=null)}),(r||i)&&Sr(n,i,r,null,t.intlSegmenter),e}};function Sr(e,t,n,r,i){if(t&&n){let[a,o]=yr(t.value,i),[s,c]=yr(n.value,i);if(e){let r=lr(a,s);e.value=fr(e.value,s,r),t.value=pr(t.value,r),n.value=pr(n.value,r)}if(r){let e=ur(o,c);r.value=dr(r.value,c,e),t.value=mr(t.value,e),n.value=mr(n.value,e)}}else if(n){if(e){let e=Y(n.value,i);n.value=n.value.substring(e.length)}if(r){let e=Y(r.value,i);r.value=r.value.substring(e.length)}}else if(e&&r){let n=Y(r.value,i),[a,o]=yr(t.value,i),s=lr(n,a);t.value=pr(t.value,s);let c=ur(pr(n,s),o);t.value=mr(t.value,c),r.value=dr(r.value,n,c),e.value=fr(e.value,n,n.slice(0,n.length-c.length))}else if(r){let e=Y(r.value,i),n=hr(vr(t.value,i),e);t.value=mr(t.value,n)}else if(e){let n=hr(vr(e.value,i),Y(t.value,i));t.value=pr(t.value,n)}}var Cr=new class extends J{tokenize(e){let t=RegExp(`(\\r?\\n)|[${br}]+|[^\\S\\n\\r]+|[^${br}]`,`ug`);return e.match(t)||[]}};function wr(e,t,n){return Cr.diff(e,t,n)}var Tr=new class extends J{constructor(){super(...arguments),this.tokenize=Dr}equals(e,t,n){return n.ignoreWhitespace?((!n.newlineIsToken||!e.includes(`
1396
+ `))&&(e=e.trim()),(!n.newlineIsToken||!t.includes(`
1397
+ `))&&(t=t.trim())):n.ignoreNewlineAtEof&&!n.newlineIsToken&&(e.endsWith(`
1398
+ `)&&(e=e.slice(0,-1)),t.endsWith(`
1399
+ `)&&(t=t.slice(0,-1))),super.equals(e,t,n)}};function Er(e,t,n){return Tr.diff(e,t,n)}function Dr(e,t){t.stripTrailingCr&&(e=e.replace(/\r\n/g,`
1400
+ `));let n=[],r=e.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(let e=0;e<r.length;e++){let i=r[e];e%2&&!t.newlineIsToken?n[n.length-1]+=i:n.push(i)}return n}function Or(e){return e==`.`||e==`!`||e==`?`}new class extends J{tokenize(e){let t=[],n=0;for(let r=0;r<e.length;r++){if(r==e.length-1){t.push(e.slice(n));break}if(Or(e[r])&&e[r+1].match(/\s/)){for(t.push(e.slice(n,r+1)),r=n=r+1;e[r+1]?.match(/\s/);)r++;t.push(e.slice(n,r+1)),n=r+1}}return t}},new class extends J{tokenize(e){return e.split(/([{}:;,]|\s+)/)}},new class extends J{constructor(){super(...arguments),this.tokenize=Dr}get useLongestToken(){return!0}castInput(e,t){let{undefinedReplacement:n,stringifyReplacer:r=(e,t)=>t===void 0?n:t}=t;return typeof e==`string`?e:JSON.stringify(kr(e,null,null,r),null,` `)}equals(e,t,n){return super.equals(e.replace(/,([\r\n])/g,`$1`),t.replace(/,([\r\n])/g,`$1`),n)}};function kr(e,t,n,r,i){t||=[],n||=[],r&&(e=r(i===void 0?``:i,e));let a;for(a=0;a<t.length;a+=1)if(t[a]===e)return n[a];let o;if(Object.prototype.toString.call(e)===`[object Array]`){for(t.push(e),o=Array(e.length),n.push(o),a=0;a<e.length;a+=1)o[a]=kr(e[a],t,n,r,String(a));return t.pop(),n.pop(),o}if(e&&e.toJSON&&(e=e.toJSON()),typeof e==`object`&&e){t.push(e),o={},n.push(o);let i=[],s;for(s in e)Object.prototype.hasOwnProperty.call(e,s)&&i.push(s);for(i.sort(),a=0;a<i.length;a+=1)s=i[a],o[s]=kr(e[s],t,n,r,s);t.pop(),n.pop()}else o=e;return o}new class extends J{tokenize(e){return e.slice()}join(e){return e}removeEmpty(e){return e}};function Ar(e){for(let t=0;t<e.length;t++)if(e[t]<` `||e[t]>`~`||e[t]===`"`||e[t]===`\\`)return!0;return!1}function X(e){if(!Ar(e))return e;let t=`"`,n=new TextEncoder().encode(e),r=0;for(;r<n.length;){let e=n[r];e===7?t+=`\\a`:e===8?t+=`\\b`:e===9?t+=`\\t`:e===10?t+=`\\n`:e===11?t+=`\\v`:e===12?t+=`\\f`:e===13?t+=`\\r`:e===34?t+=`\\"`:e===92?t+=`\\\\`:e>=32&&e<=126?t+=String.fromCharCode(e):t+=`\\`+e.toString(8).padStart(3,`0`),r++}return t+=`"`,t}var jr={includeIndex:!0,includeUnderline:!0,includeFileHeaders:!0};function Mr(e,t,n,r,i,a,o){let s;s=o?typeof o==`function`?{callback:o}:o:{},s.context===void 0&&(s.context=4);let c=s.context;if(s.newlineIsToken)throw Error(`newlineIsToken may not be used with patch-generation functions, only with diffing functions`);if(s.callback){let{callback:e}=s;Er(n,r,Object.assign(Object.assign({},s),{callback:t=>{let n=l(t);e(n)}}))}else return l(Er(n,r,s));function l(n){if(!n)return;n.push({value:``,lines:[]});function r(e){return e.map(function(e){return` `+e})}let o=[],s=0,l=0,u=[],d=1,f=1;for(let e=0;e<n.length;e++){let t=n[e],i=t.lines||Fr(t.value);if(t.lines=i,t.added||t.removed){if(!s){let t=n[e-1];s=d,l=f,t&&(u=c>0?r(t.lines.slice(-c)):[],s-=u.length,l-=u.length)}for(let e of i)u.push((t.added?`+`:`-`)+e);t.added?f+=i.length:d+=i.length}else{if(s)if(i.length<=c*2&&e<n.length-2)for(let e of r(i))u.push(e);else{let e=Math.min(i.length,c);for(let t of r(i.slice(0,e)))u.push(t);let t={oldStart:s,oldLines:d-s+e,newStart:l,newLines:f-l+e,lines:u};o.push(t),s=0,l=0,u=[]}d+=i.length,f+=i.length}}for(let e of o)for(let t=0;t<e.lines.length;t++)e.lines[t].endsWith(`
1401
+ `)?e.lines[t]=e.lines[t].slice(0,-1):(e.lines.splice(t+1,0,`\`),t++);return{oldFileName:e,newFileName:t,oldHeader:i,newHeader:a,hunks:o}}}function Nr(e,t){if(t||=jr,Array.isArray(e)){if(e.length>1&&!t.includeFileHeaders&&!e.every(e=>e.isGit))throw Error(`Cannot omit file headers on a multi-file patch. (The result would be unparseable; how would a tool trying to apply the patch know which changes are to which file?)`);return e.map(e=>Nr(e,t)).join(`
1402
+ `)}let n=[];if(e.isGit){if(t=jr,!e.oldFileName)throw Error(`oldFileName must be specified for Git patches`);if(!e.newFileName)throw Error(`newFileName must be specified for Git patches`);let r=e.oldFileName,i=e.newFileName;e.isCreate&&r===`/dev/null`?r=i.replace(/^b\//,`a/`):e.isDelete&&i===`/dev/null`&&(i=r.replace(/^a\//,`b/`)),n.push(`diff --git `+X(r)+` `+X(i)),e.isDelete&&n.push(`deleted file mode `+(e.oldMode??`100644`)),e.isCreate&&n.push(`new file mode `+(e.newMode??`100644`)),e.oldMode&&e.newMode&&!e.isDelete&&!e.isCreate&&(n.push(`old mode `+e.oldMode),n.push(`new mode `+e.newMode)),e.isRename&&(n.push(`rename from `+X((e.oldFileName??``).replace(/^a\//,``))),n.push(`rename to `+X((e.newFileName??``).replace(/^b\//,``)))),e.isCopy&&(n.push(`copy from `+X((e.oldFileName??``).replace(/^a\//,``))),n.push(`copy to `+X((e.newFileName??``).replace(/^b\//,``))))}else t.includeIndex&&e.oldFileName==e.newFileName&&e.oldFileName!==void 0&&n.push(`Index: `+e.oldFileName),t.includeUnderline&&n.push(`===================================================================`);let r=e.hunks.length>0;t.includeFileHeaders&&e.oldFileName!==void 0&&e.newFileName!==void 0&&(!e.isGit||r)&&(n.push(`--- `+X(e.oldFileName)+(e.oldHeader?` `+e.oldHeader:``)),n.push(`+++ `+X(e.newFileName)+(e.newHeader?` `+e.newHeader:``)));for(let t=0;t<e.hunks.length;t++){let r=e.hunks[t],i=r.oldLines===0?r.oldStart-1:r.oldStart,a=r.newLines===0?r.newStart-1:r.newStart;n.push(`@@ -`+i+`,`+r.oldLines+` +`+a+`,`+r.newLines+` @@`);for(let e of r.lines)n.push(e)}return n.join(`
1403
+ `)+`
1404
+ `}function Pr(e,t,n,r,i,a,o){if(typeof o==`function`&&(o={callback:o}),o?.callback){let{callback:s}=o;Mr(e,t,n,r,i,a,Object.assign(Object.assign({},o),{callback:e=>{s(e?Nr(e,o.headerOptions):void 0)}}))}else{let s=Mr(e,t,n,r,i,a,o);return s?Nr(s,o?.headerOptions):void 0}}function Fr(e){let t=e.endsWith(`
1405
+ `),n=e.split(`
1406
+ `).map(e=>e+`
1407
+ `);return t?n.pop():n.push(n.pop().slice(0,-1)),n}function Ir(e,t,n,r=!1){let i=Ln(Pr(e.name,t.name,e.contents,t.contents,e.header,t.header,n),{cacheKey:(()=>{if(e.cacheKey!=null&&t.cacheKey!=null)return`${e.cacheKey}:${t.cacheKey}`})(),oldFile:e,newFile:t,throwOnError:r});if(i==null)throw Error(`parseDiffFrom: FileInvalid diff -- probably need to fix something -- if the files are the same maybe?`);return t.lang!=null&&(i.lang=t.lang),i}var Lr=class{isDeletionsScrolling=!1;isAdditionsScrolling=!1;timeoutId=-1;codeDeletions;codeAdditions;enabled=!1;cleanUp(){this.enabled&&=(this.codeDeletions?.removeEventListener(`scroll`,this.handleDeletionsScroll),this.codeAdditions?.removeEventListener(`scroll`,this.handleAdditionsScroll),clearTimeout(this.timeoutId),this.codeDeletions=void 0,this.codeAdditions=void 0,!1)}setup(e,t,n){if(t==null||n==null)for(let r of e.children??[])r instanceof HTMLElement&&(`deletions`in r.dataset?t=r:`additions`in r.dataset&&(n=r));if(n==null||t==null){this.cleanUp();return}this.codeDeletions!==t&&(this.codeDeletions?.removeEventListener(`scroll`,this.handleDeletionsScroll),this.codeDeletions=t,t.addEventListener(`scroll`,this.handleDeletionsScroll,{passive:!0})),this.codeAdditions!==n&&(this.codeAdditions?.removeEventListener(`scroll`,this.handleAdditionsScroll),this.codeAdditions=n,n.addEventListener(`scroll`,this.handleAdditionsScroll,{passive:!0})),this.enabled=!0}handleDeletionsScroll=()=>{this.isAdditionsScrolling||(this.isDeletionsScrolling=!0,clearTimeout(this.timeoutId),this.timeoutId=setTimeout(()=>{this.isDeletionsScrolling=!1},300),this.codeAdditions?.scrollTo({left:this.codeDeletions?.scrollLeft}))};handleAdditionsScroll=()=>{this.isDeletionsScrolling||(this.isAdditionsScrolling=!0,clearTimeout(this.timeoutId),this.timeoutId=setTimeout(()=>{this.isAdditionsScrolling=!1},300),this.codeDeletions?.scrollTo({left:this.codeAdditions?.scrollLeft}))}};function Rr(e,t){return ne(e.theme,t.theme)&&e.useTokenTransformer===t.useTokenTransformer&&e.tokenizeMaxLineLength===t.tokenizeMaxLineLength&&e.lineDiffType===t.lineDiffType&&e.maxLineDiffLength===t.maxLineDiffLength}function zr(e){return N({tagName:`div`,properties:{"data-content-buffer":``,"data-buffer-size":e,style:`grid-row: span ${e};min-height:calc(${e} * 1lh)`}})}function Br(e){return N({tagName:`div`,children:[N({tagName:`span`,children:[M(`No newline at end of file`)]})],properties:{"data-no-newline":``,"data-line-type":e,"data-column-content":``}})}function Vr(e){return N({tagName:`div`,children:[P({name:e===`both`?`diffs-icon-expand-all`:`diffs-icon-expand`,properties:{"data-icon":``}})],properties:{role:`button`,"data-expand-button":``,"data-expand-both":e===`both`?``:void 0,"data-expand-up":e===`up`?``:void 0,"data-expand-down":e===`down`?``:void 0}})}function Z({type:e,content:t,expandIndex:n,chunked:r=!1,slotName:i,isFirstHunk:a,isLastHunk:o}){let s=0,c=[];if(e===`metadata`&&t!=null&&c.push(N({tagName:`div`,children:[M(t)],properties:{"data-separator-wrapper":``}})),(e===`line-info`||e===`line-info-basic`)&&t!=null){let e=[];n!=null&&(r?(a||(e.push(Vr(`up`)),s++),o||(e.push(Vr(`down`)),s++)):(e.push(Vr(!a&&!o?`both`:a?`down`:`up`)),s++)),e.push(N({tagName:`div`,children:[N({tagName:`span`,children:[M(t)],properties:{"data-unmodified-lines":``}})],properties:{"data-separator-content":``}})),r&&n!=null&&e.push(N({tagName:`div`,children:[M(`Expand all`)],properties:{role:`button`,"data-expand-button":``,"data-expand-all-button":``}})),c.push(N({tagName:`div`,children:e,properties:{"data-separator-wrapper":``,"data-separator-multi-button":s>1?``:void 0}}))}return e===`custom`&&i!=null&&c.push(N({tagName:`slot`,properties:{name:i}})),N({tagName:`div`,children:c,properties:{"data-separator":c.length===0?`simple`:e,"data-expand-index":n,"data-separator-first":a?``:void 0,"data-separator-last":o?``:void 0}})}function Hr(e,t){return`hunk-separator-${e}-${t}`}function Ur(e){let t=e.at(-1);return t==null?0:Math.max(t.additionStart+t.additionCount,t.deletionStart+t.deletionCount)}function Wr(e){return e.startingLine===0&&e.totalLines===1/0&&e.bufferBefore===0&&e.bufferAfter===0}function Gr({line:e,spanStart:t,spanLength:n}){return{start:{line:e,character:t},end:{line:e,character:t+n},properties:{"data-diff-span":``},alwaysWrap:!0}}function Kr({item:e,arr:t,enableJoin:n,isNeutral:r=!1,isLastItem:i=!1}){let a=t[t.length-1];if(a==null||i||!n){t.push([+!r,e.value]);return}let o=a[0]===0;if(r===o||r&&e.value.length===1&&!o){a[1]+=e.value;return}t.push([+!r,e.value])}function qr({isPartial:e,rangeSize:t,expandedHunks:n,hunkIndex:r,collapsedContextThreshold:i}){let a=Math.max(t,0);if(a===0||e)return{fromStart:0,fromEnd:0,rangeSize:a,collapsedLines:a,renderAll:!1};if(n===!0||a<=i)return{fromStart:a,fromEnd:0,rangeSize:a,collapsedLines:0,renderAll:!0};let o=n?.get(r),s=Math.min(Math.max(o?.fromStart??0,0),a),c=Math.min(Math.max(o?.fromEnd??0,0),a),l=s+c,u=l>=a;return{fromStart:u?a:s,fromEnd:u?0:c,rangeSize:a,collapsedLines:Math.max(a-l,0),renderAll:u}}function Jr({fileDiff:e,errorPrefix:t}){let n=e.hunks[e.hunks.length-1];if(n==null||e.isPartial||e.additionLines.length===0||e.deletionLines.length===0)return 0;let r=e.additionLines.length-(n.additionLineIndex+n.additionCount),i=e.deletionLines.length-(n.deletionLineIndex+n.deletionCount);if(r<=0&&i<=0)return 0;if(r!==i)throw Error(`${t}: trailing context mismatch (additions=${r}, deletions=${i}) for ${e.name}`);return Math.min(r,i)}function Yr({fileDiff:e,hunkIndex:t,expandedHunks:n,collapsedContextThreshold:r,errorPrefix:i}){if(t!==e.hunks.length-1)return;let a=Jr({fileDiff:e,errorPrefix:i});if(a<=0)return;if(n===!0||a<=r)return{fromStart:a,fromEnd:0,rangeSize:a,collapsedLines:0,renderAll:!0};let o=n?.get(e.hunks.length),s=Math.min(Math.max(o?.fromStart??0,0),a);return{fromStart:s,fromEnd:0,rangeSize:a,collapsedLines:a-s,renderAll:s>=a}}function Xr({type:e,metrics:t}){return t.hunkSeparatorHeight??On(e)}function Zr({type:e,metrics:t}){return e===`simple`||e===`metadata`||e===`line-info-basic`?0:t.spacing}function Qr({type:e,hunkIndex:t,hunkSpecs:n}){switch(e){case`simple`:return t>0;case`metadata`:return n!=null;case`line-info`:case`line-info-basic`:case`custom`:return!0}}function $r(e){return e!==`simple`&&e!==`metadata`}function ei({type:e,metrics:t,hunkIndex:n,hunkSpecs:r}){if(!Qr({type:e,hunkIndex:n,hunkSpecs:r}))return;let i=Xr({type:e,metrics:t}),a=Zr({type:e,metrics:t}),o=n>0?a:0,s=a;return{height:i,gapBefore:o,gapAfter:s,totalHeight:o+i+s}}function ti({type:e,metrics:t}){if(!$r(e))return;let n=Xr({type:e,metrics:t}),r=Zr({type:e,metrics:t});return{height:n,gapBefore:r,gapAfter:0,totalHeight:r+n}}function ni({diff:e,diffStyle:t,startingLine:n=0,totalLines:r=1/0,expandedHunks:i,collapsedContextThreshold:a=1,callback:o}){let s=ri({diff:e,diffStyle:t,startingLine:n,expandedHunks:i,collapsedContextThreshold:a}),c={viewportStart:n,viewportEnd:n+r,isWindowedHighlight:n>0||r<1/0,splitCount:s.splitCount,unifiedCount:s.unifiedCount,finalHunkIndex:e.hunks.length-1,shouldBreak(){if(!c.isWindowedHighlight)return!1;let e=c.unifiedCount>=n+r,i=c.splitCount>=n+r;return t===`unified`?e:(t===`split`||e)&&i},shouldSkip(e,r){if(!c.isWindowedHighlight)return!1;let i=c.unifiedCount+e<n,a=c.splitCount+r<n;return t===`unified`?i:(t===`split`||i)&&a},incrementCounts(e,n){(t===`unified`||t===`both`)&&(c.unifiedCount+=e),(t===`split`||t===`both`)&&(c.splitCount+=n)},isInWindow(e,n){if(!c.isWindowedHighlight)return!0;let r=c.isInUnifiedWindow(e),i=c.isInSplitWindow(n);return t===`unified`?r:t===`split`?i:r||i},isInUnifiedWindow(e){return!c.isWindowedHighlight||c.unifiedCount>=n-e&&c.unifiedCount<n+r},isInSplitWindow(e){return!c.isWindowedHighlight||c.splitCount>=n-e&&c.splitCount<n+r},emit(e,n=!1){return n||(t===`unified`?c.incrementCounts(1,0):t===`split`?c.incrementCounts(0,1):c.incrementCounts(1,1)),o(e)??!1}};hunkIterator:for(let n=s.hunkIndex;n<e.hunks.length;n++){let r=e.hunks[n];if(r==null)throw Error(`iterateOverDiff: invalid hunk index`);if(c.shouldBreak())break;let o=qr({isPartial:e.isPartial,rangeSize:r.collapsedBefore,expandedHunks:i,hunkIndex:n,collapsedContextThreshold:a}),s=n===c.finalHunkIndex?Yr({fileDiff:e,hunkIndex:n,expandedHunks:i,collapsedContextThreshold:a,errorPrefix:`iterateOverDiff`}):void 0,l=o.fromStart+o.fromEnd;function u(e,n){return s==null||s.collapsedLines<=0||s.fromStart+s.fromEnd>0?0:t===`unified`?e===r.unifiedLineStart+r.unifiedLineCount-1?s.collapsedLines:0:n===r.splitLineStart+r.splitLineCount-1?s.collapsedLines:0}let d=o.collapsedLines===0;function f(){return d?0:(d=!0,o.collapsedLines)}if(c.shouldSkip(l,l))c.incrementCounts(l,l),f();else{let e=r.unifiedLineStart-o.rangeSize,i=r.splitLineStart-o.rangeSize,a=r.deletionLineIndex-o.rangeSize,s=r.additionLineIndex-o.rangeSize,l=r.deletionStart-o.rangeSize,u=r.additionStart-o.rangeSize;if(oi(c,o.fromStart,t,t=>c.emit({hunkIndex:n,hunk:r,collapsedBefore:0,collapsedAfter:0,type:`context-expanded`,deletionLine:{lineNumber:l+t,lineIndex:a+t,noEOFCR:!1,unifiedLineIndex:e+t,splitLineIndex:i+t},additionLine:{unifiedLineIndex:e+t,splitLineIndex:i+t,lineIndex:s+t,lineNumber:u+t,noEOFCR:!1}}))||(e=r.unifiedLineStart-o.fromEnd,i=r.splitLineStart-o.fromEnd,a=r.deletionLineIndex-o.fromEnd,s=r.additionLineIndex-o.fromEnd,l=r.deletionStart-o.fromEnd,u=r.additionStart-o.fromEnd,oi(c,o.fromEnd,t,t=>c.emit({hunkIndex:n,hunk:r,collapsedBefore:f(),collapsedAfter:0,type:`context-expanded`,deletionLine:{lineNumber:l+t,lineIndex:a+t,noEOFCR:!1,unifiedLineIndex:e+t,splitLineIndex:i+t},additionLine:{unifiedLineIndex:e+t,splitLineIndex:i+t,lineIndex:s+t,lineNumber:u+t,noEOFCR:!1}}),()=>{f()})))break hunkIterator}let p=r.unifiedLineStart,m=r.splitLineStart,h=r.deletionLineIndex,g=r.additionLineIndex,_=r.deletionStart,v=r.additionStart,y=r.hunkContent.at(-1);for(let e of r.hunkContent){if(c.shouldBreak())break hunkIterator;let i=e===y;if(e.type===`context`){if(c.shouldSkip(e.lines,e.lines))c.incrementCounts(e.lines,e.lines),f();else if(oi(c,e.lines,t,t=>{let a=i&&t===e.lines-1,o=p+t,s=m+t;return c.emit({hunkIndex:n,hunk:r,collapsedBefore:f(),collapsedAfter:u(o,s),type:`context`,deletionLine:{lineNumber:_+t,lineIndex:h+t,noEOFCR:a&&r.noEOFCRDeletions,unifiedLineIndex:o,splitLineIndex:s},additionLine:{unifiedLineIndex:o,splitLineIndex:s,lineIndex:g+t,lineNumber:v+t,noEOFCR:a&&r.noEOFCRAdditions}})},()=>{f()}))break hunkIterator;p+=e.lines,m+=e.lines,h+=e.lines,g+=e.lines,_+=e.lines,v+=e.lines}else{let a=Math.max(e.deletions,e.additions),o=e.deletions+e.additions;if(!c.shouldSkip(o,a)){let s=si(c,e,t);(s[0]?.[0]??0)>0&&f();for(let[l,d]of s)for(let s=l;s<d;s++){let l=u(p+s,t===`unified`?m+(s<e.deletions?s:s-e.deletions):m+s);if(c.emit(ci({hunkIndex:n,hunk:r,collapsedBefore:f(),collapsedAfter:l,diffStyle:t,index:s,unifiedLineIndex:p,splitLineIndex:m,additionLineIndex:g,deletionLineIndex:h,additionLineNumber:v,deletionLineNumber:_,content:e,isLastContent:i,unifiedCount:o,splitCount:a}),!0))break hunkIterator}}f(),c.incrementCounts(o,a),p+=o,m+=a,h+=e.deletions,g+=e.additions,_+=e.deletions,v+=e.additions}}if(s!=null){let{collapsedLines:n,fromStart:r,fromEnd:i}=s,a=r+i;if(oi(c,a,t,t=>{let r=t===a-1;return c.emit({hunkIndex:e.hunks.length,hunk:void 0,collapsedBefore:0,collapsedAfter:r?n:0,type:`context-expanded`,deletionLine:{lineNumber:_+t,lineIndex:h+t,noEOFCR:!1,unifiedLineIndex:p+t,splitLineIndex:m+t},additionLine:{unifiedLineIndex:p+t,splitLineIndex:m+t,lineIndex:g+t,lineNumber:v+t,noEOFCR:!1}})},void 0,()=>c.shouldBreak()))break hunkIterator}}}function ri({diff:e,diffStyle:t,startingLine:n,expandedHunks:r,collapsedContextThreshold:i}){if(n<=0||t===`both`)return{hunkIndex:0,splitCount:0,unifiedCount:0};let a=ii({diff:e,expandedHunks:r,collapsedContextThreshold:i}),o=0,s=e.hunks.length-1,c=e.hunks.length;for(;o<=s;){let e=o+s>>1,r=a[e+1];if(r==null)throw Error(`iterateOverDiff: invalid hunk prefix index`);(t===`unified`?r.unifiedCount:r.splitCount)>n?(c=e,s=e-1):o=e+1}if(c>=e.hunks.length){let t=a[e.hunks.length];if(t==null)throw Error(`iterateOverDiff: invalid terminal hunk prefix index`);return{hunkIndex:e.hunks.length,splitCount:t.splitCount,unifiedCount:t.unifiedCount}}let l=a[c];if(l==null)throw Error(`iterateOverDiff: invalid selected hunk prefix index`);return{hunkIndex:c,splitCount:l.splitCount,unifiedCount:l.unifiedCount}}function ii({diff:e,expandedHunks:t,collapsedContextThreshold:n}){let r=0,i=0,a=e.hunks.length-1,o=[{splitCount:0,unifiedCount:0}];for(let s=0;s<e.hunks.length;s++){let c=e.hunks[s];if(c==null)throw Error(`iterateOverDiff: invalid hunk summary index`);let l=qr({isPartial:e.isPartial,rangeSize:c.collapsedBefore,expandedHunks:t,hunkIndex:s,collapsedContextThreshold:n}),u=l.fromStart+l.fromEnd;r+=u+c.splitLineCount,i+=u+c.unifiedLineCount;let d=s===a?Yr({fileDiff:e,hunkIndex:s,expandedHunks:t,collapsedContextThreshold:n,errorPrefix:`iterateOverDiff`}):void 0;if(d!=null){let e=d.fromStart+d.fromEnd;r+=e,i+=e}o.push({splitCount:r,unifiedCount:i})}return o}function ai(e,t,n){if(!e.isWindowedHighlight||t<=0)return[0,t];let r=[];function i(n){let i=Math.max(0,e.viewportStart-n),a=Math.min(t,e.viewportEnd-n);a>i&&r.push([i,a])}if(n!==`split`&&i(e.unifiedCount),n!==`unified`&&i(e.splitCount),r.length===0)return[0,0];let a=r[0][0],o=r[0][1];for(let e=1;e<r.length;e++){let t=r[e];a=Math.min(a,t[0]),o=Math.max(o,t[1])}return[a,o]}function oi(e,t,n,r,i,a){let[o,s]=ai(e,t,n);o>0&&(e.incrementCounts(o,o),i?.());let c=o;for(;c<t;){if(a?.()===!0)return!0;if(c>=s){e.incrementCounts(t-c,t-c);break}if(e.isInWindow(0,0)){if(r(c)===!0)return!0}else e.incrementCounts(1,1);c++}return!1}function si(e,t,n){if(!e.isWindowedHighlight)return[[0,n===`unified`?t.deletions+t.additions:Math.max(t.deletions,t.additions)]];let r=n!==`split`,i=n!==`unified`,a=n===`unified`?`unified`:`split`,o=[];function s(t,n){if(t+n<=e.viewportStart||t>=e.viewportEnd)return;let r=Math.max(0,e.viewportStart-t),i=Math.min(n,e.viewportEnd-t);return i>r?[r,i]:void 0}function c(e,n){return a===`split`?e:n===`additions`?[e[0]+t.deletions,e[1]+t.deletions]:e}function l(e,t){if(e==null)return;let[n,r]=c(e,t);r>n&&o.push([n,r])}if(r&&(l(s(e.unifiedCount,t.deletions),`deletions`),l(s(e.unifiedCount+t.deletions,t.additions),`additions`)),i&&(l(s(e.splitCount,t.deletions),`deletions`),l(s(e.splitCount,t.additions),`additions`)),o.length===0)return o;o.sort((e,t)=>e[0]-t[0]);let u=[o[0]];for(let[e,t]of o.slice(1)){let n=u[u.length-1];e<=n[1]?n[1]=Math.max(n[1],t):u.push([e,t])}return u}function ci({hunkIndex:e,hunk:t,collapsedAfter:n,collapsedBefore:r,diffStyle:i,index:a,unifiedLineIndex:o,splitLineIndex:s,additionLineIndex:c,deletionLineIndex:l,additionLineNumber:u,deletionLineNumber:d,content:f,isLastContent:p,unifiedCount:m,splitCount:h}){let g=a<f.deletions?o+a:void 0,_=i===`unified`?a>=f.deletions?o+a:void 0:a<f.additions?o+f.deletions+a:void 0,v=i===`unified`?s+(a<f.deletions?a:a-f.deletions):s+a,y=a<f.deletions?l+a:void 0,b=a<f.deletions?d+a:void 0,x=i===`unified`?a>=f.deletions?c+(a-f.deletions):void 0:a<f.additions?c+a:void 0,S=i===`unified`?a>=f.deletions?u+(a-f.deletions):void 0:a<f.additions?u+a:void 0,C=i===`unified`?p&&a===f.deletions-1&&t.noEOFCRDeletions:p&&a===h-1&&t.noEOFCRDeletions,w=i===`unified`?p&&a===m-1&&t.noEOFCRAdditions:p&&a===h-1&&t.noEOFCRAdditions,T=y!=null&&b!=null&&g!=null?{lineNumber:b,lineIndex:y,noEOFCR:C,unifiedLineIndex:g,splitLineIndex:v}:void 0,E=x!=null&&S!=null&&_!=null?{unifiedLineIndex:_,splitLineIndex:v,lineIndex:x,lineNumber:S,noEOFCR:w}:void 0;if(T==null&&E!=null)return{type:`change`,hunkIndex:e,hunk:t,collapsedAfter:n,collapsedBefore:r,deletionLine:void 0,additionLine:E};if(T!=null&&E==null)return{type:`change`,hunkIndex:e,hunk:t,collapsedAfter:n,collapsedBefore:r,deletionLine:T,additionLine:void 0};if(T==null||E==null)throw Error(`iterateOverDiff: missing change line data`);return{type:`change`,hunkIndex:e,hunk:t,collapsedAfter:n,collapsedBefore:r,deletionLine:T,additionLine:E}}var li={forcePlainText:!1};function ui(e,t,n,{forcePlainText:r,startingLine:i,totalLines:a,expandedHunks:o,collapsedContextThreshold:s=1}=li){r?(i??=0,a??=1/0):(i=0,a=1/0);let c=i>0||a<1/0,l=typeof n.theme==`string`?t.getTheme(n.theme).type:void 0,u=Kt({theme:n.theme,highlighter:t}),d=r&&!c&&(e.unifiedLineCount>1e3||e.splitLineCount>1e3)?`none`:n.lineDiffType,f={deletionLines:[],additionLines:[]},{maxLineDiffLength:p}=n,m=!r&&!e.isPartial,h=r?o:void 0,g=new Map;function _(e){let t=m?0:e,n=g.get(t)??fi();return g.set(t,n),n}function v(e,t,n,r){if(c){let e=n.at(-1);(e==null||e.targetIndex+e.count!==t)&&(e={targetIndex:t,originalOffset:r.length,count:0},n.push(e)),e.count++}r.push(e)}ni({diff:e,diffStyle:`both`,startingLine:i,totalLines:a,expandedHunks:!c||h,collapsedContextThreshold:s,callback:({hunkIndex:t,additionLine:n,deletionLine:r,type:i})=>{let a=_(t),o=n==null?r.splitLineIndex:n.splitLineIndex;i===`change`&&n!=null&&r!=null&&di({additionLine:e.additionLines[n.lineIndex],deletionLine:e.deletionLines[r.lineIndex],deletionLineIndex:a.deletionContent.length,additionLineIndex:a.additionContent.length,deletionDecorations:a.deletionDecorations,additionDecorations:a.additionDecorations,lineDiffType:d,maxLineDiffLength:p}),r!=null&&(v(e.deletionLines[r.lineIndex],r.lineIndex,a.deletionSegments,a.deletionContent),a.deletionInfo.push({type:i===`change`?`change-deletion`:i,lineNumber:r.lineNumber,altLineNumber:i===`change`?void 0:n.lineNumber??void 0,lineIndex:`${r.unifiedLineIndex},${o}`})),n!=null&&(v(e.additionLines[n.lineIndex],n.lineIndex,a.additionSegments,a.additionContent),a.additionInfo.push({type:i===`change`?`change-addition`:i,lineNumber:n.lineNumber,altLineNumber:i===`change`?void 0:r.lineNumber??void 0,lineIndex:`${n.unifiedLineIndex},${o}`}))}});for(let i of g.values()){if(i.deletionContent.length===0&&i.additionContent.length===0)continue;let a={name:e.prevName??e.name,contents:i.deletionContent.value},o={name:e.name,contents:i.additionContent.value},{deletionLines:s,additionLines:c}=pi({deletionFile:a,deletionInfo:i.deletionInfo,deletionDecorations:i.deletionDecorations,additionFile:o,additionInfo:i.additionInfo,additionDecorations:i.additionDecorations,highlighter:t,options:n,languageOverride:r?`text`:e.lang});if(m){f.deletionLines=s,f.additionLines=c;continue}if(i.deletionSegments.length>0)for(let e of i.deletionSegments)for(let t=0;t<e.count;t++)f.deletionLines[e.targetIndex+t]=s[e.originalOffset+t];else f.deletionLines.push(...s);if(i.additionSegments.length>0)for(let e of i.additionSegments)for(let t=0;t<e.count;t++)f.additionLines[e.targetIndex+t]=c[e.originalOffset+t];else f.additionLines.push(...c)}return{code:f,themeStyles:u,baseThemeType:l}}function di({deletionLine:e,additionLine:t,deletionLineIndex:n,additionLineIndex:r,deletionDecorations:i,additionDecorations:a,lineDiffType:o,maxLineDiffLength:s}){if(e==null||t==null||o===`none`||(e=H(e),t=H(t),e.length>s||t.length>s))return;let c=o===`char`?cr(e,t):wr(e,t),l=[],u=[],d=o===`word-alt`,f=c.at(-1);for(let e of c){let t=e===f;!e.added&&!e.removed?(Kr({item:e,arr:l,enableJoin:d,isNeutral:!0,isLastItem:t}),Kr({item:e,arr:u,enableJoin:d,isNeutral:!0,isLastItem:t})):e.removed?Kr({item:e,arr:l,enableJoin:d,isLastItem:t}):Kr({item:e,arr:u,enableJoin:d,isLastItem:t})}let p=0;for(let e of l)e[0]===1&&i.push(Gr({line:n,spanStart:p,spanLength:e[1].length})),p+=e[1].length;p=0;for(let e of u)e[0]===1&&a.push(Gr({line:r,spanStart:p,spanLength:e[1].length})),p+=e[1].length}function fi(){return{deletionContent:{push(e){this.value+=e,this.length++},value:``,length:0},additionContent:{push(e){this.value+=e,this.length++},value:``,length:0},deletionInfo:[],additionInfo:[],deletionDecorations:[],additionDecorations:[],deletionSegments:[],additionSegments:[]}}function pi({deletionFile:e,additionFile:t,deletionInfo:n,additionInfo:r,highlighter:i,deletionDecorations:a,additionDecorations:o,languageOverride:s,options:{theme:c=C,...l}}){let u=s??B(e.name),d=s??B(t.name),{state:f,transformers:p}=Mt(l.useTokenTransformer),m=typeof c==`string`?{...l,lang:`text`,theme:c,transformers:p,decorations:void 0,defaultColor:!1,cssVariablePrefix:U(`token`),tokenizeTimeLimit:0}:{...l,lang:`text`,themes:c,transformers:p,decorations:void 0,defaultColor:!1,cssVariablePrefix:U(`token`),tokenizeTimeLimit:0};return{deletionLines:e.contents===``?[]:(m.lang=u,f.lineInfo=n,m.decorations=a,Jt(i.codeToHast(H(e.contents),m))),additionLines:t.contents===``?[]:(m.lang=d,m.decorations=o,f.lineInfo=r,Jt(i.codeToHast(H(t.contents),m)))}}function mi(e){let t=e.lang??B(e.name),n=e.lang??(e.prevName==null?`text`:B(e.prevName));return t===`text`&&n===`text`}var hi=-1,gi=class{options;onRenderUpdate;workerManager;__id=`diff-hunks-renderer:${++hi}`;highlighter;diff;expandedHunks=new Map;deletionAnnotations={};additionAnnotations={};computedLang=`text`;renderCache;constructor(e={theme:C},t,n){this.options=e,this.onRenderUpdate=t,this.workerManager=n,n?.isWorkingPool()!==!0&&(this.highlighter=lt(e.theme??C)?ot():void 0)}cleanUp(){this.recycle(),this.expandedHunks.clear(),this.workerManager=void 0,this.onRenderUpdate=void 0}recycle(){this.highlighter=void 0,this.diff=void 0,this.clearRenderCache(),this.additionAnnotations={},this.deletionAnnotations={},this.workerManager?.cleanUpTasks(this)}clearRenderCache(){this.renderCache=void 0}setOptions(e){this.options=e}mergeOptions(e){this.options={...this.options,...e}}expandHunk(e,t,n=this.getOptionsWithDefaults().expansionLineCount){let r={...this.expandedHunks.get(e)??{fromStart:0,fromEnd:0}};(t===`up`||t===`both`)&&(r.fromStart+=n),(t===`down`||t===`both`)&&(r.fromEnd+=n),this.renderCache?.highlighted!==!0&&this.clearRenderCache(),this.expandedHunks.set(e,r)}getExpandedHunk(e){return this.expandedHunks.get(e)??te}getExpandedHunksMap(){return this.expandedHunks}setLineAnnotations(e){this.additionAnnotations={},this.deletionAnnotations={};for(let t of e){let e=(()=>{switch(t.side){case`deletions`:return this.deletionAnnotations;case`additions`:return this.additionAnnotations}})(),n=e[t.lineNumber]??[];e[t.lineNumber]=n,n.push(t)}}getUnifiedLineDecoration({lineType:e}){return{gutterLineType:e}}getSplitLineDecoration({side:e,type:t}){return t===`change`?{gutterLineType:e===`deletions`?`change-deletion`:`change-addition`}:{gutterLineType:t}}createAnnotationElement=e=>ft(e);getOptionsWithDefaults(){let{diffIndicators:e=`bars`,diffStyle:t=`split`,disableBackground:n=!1,disableFileHeader:r=!1,disableLineNumbers:i=!1,disableVirtualizationBuffers:a=!1,collapsed:o=!1,expandUnchanged:s=!1,collapsedContextThreshold:c=1,expansionLineCount:l=100,hunkSeparators:u=`line-info`,lineDiffType:d=`word-alt`,maxLineDiffLength:f=1e3,overflow:p=`scroll`,stickyHeader:m=!1,theme:h=C,headerRenderMode:g=`default`,tokenizeMaxLineLength:_=1e3,tokenizeMaxLength:v=O,useTokenTransformer:y=!1,useCSSClasses:b=!1}=this.options;return{diffIndicators:e,diffStyle:t,disableBackground:n,disableFileHeader:r,disableLineNumbers:i,disableVirtualizationBuffers:a,collapsed:o,expandUnchanged:s,collapsedContextThreshold:c,expansionLineCount:l,hunkSeparators:u,lineDiffType:d,maxLineDiffLength:f,overflow:p,stickyHeader:m,theme:this.workerManager?.getDiffRenderOptions().theme??h,headerRenderMode:g,tokenizeMaxLineLength:_,tokenizeMaxLength:v,useTokenTransformer:y,useCSSClasses:b}}async initializeHighlighter(){return this.highlighter=await at(St(this.computedLang,this.options)),this.highlighter}hydrate(e){if(e==null)return;this.diff=e;let{options:t}=this.getRenderOptions(e),n=Ti(e,this.getTokenizeMaxLength()),r=this.workerManager?.getDiffResultCache(e);r!=null&&!Rr(t,r.options)&&(r=void 0),this.renderCache??={diff:e,highlighted:!n&&!mi(e),options:t,result:n?void 0:r?.result,renderRange:void 0},this.workerManager?.isWorkingPool()===!0?this.renderCache.result==null&&!n&&this.workerManager.highlightDiffAST(this,this.diff):this.highlighter??(this.computedLang=e.lang??B(e.name),this.initializeHighlighter())}getRenderOptions(e){let t=(()=>{if(this.workerManager?.isWorkingPool()===!0)return this.workerManager.getDiffRenderOptions();let{theme:e,tokenizeMaxLineLength:t,lineDiffType:n,maxLineDiffLength:r}=this.getOptionsWithDefaults();return{theme:e,useTokenTransformer:en(this.options),tokenizeMaxLineLength:t,lineDiffType:n,maxLineDiffLength:r}})();this.getOptionsWithDefaults();let{renderCache:n}=this;return n?.result==null||!kn(e,n.diff)||!Rr(t,n.options)?{options:t,forceHighlight:!0}:{options:t,forceHighlight:!1}}renderDiff(e=this.renderCache?.diff,t=k){if(e==null)return;let{expandUnchanged:n=!1,collapsedContextThreshold:r}=this.getOptionsWithDefaults(),{options:i,forceHighlight:a}=this.getRenderOptions(e),o=this.getMatchingWorkerResultCache(e,i);o!=null&&!this.hasHighlightedRenderCache(e,i)&&(this.renderCache={diff:e,highlighted:!0,renderRange:void 0,...o},a=!1),this.renderCache??={diff:e,highlighted:!1,options:i,result:void 0,renderRange:void 0};let s=e.additionLines.length>0||e.deletionLines.length>0,c=!s||mi(e)||Ti(e,this.getTokenizeMaxLength()),l=!kn(e,this.renderCache.diff),u=!dt(this.renderCache.renderRange,t);if(this.workerManager?.isWorkingPool()===!0)(c||this.renderCache.result==null||!this.renderCache.highlighted&&(l||u))&&(this.renderCache.diff=e,this.renderCache.options=i,this.renderCache.highlighted=!1,(this.renderCache.result==null||l||u||a)&&(this.renderCache.result=this.workerManager.getPlainDiffAST(e,t.startingLine,t.totalLines,Wr(t)||n?!0:this.expandedHunks,r)),this.renderCache.renderRange=t),!c&&s&&(!this.renderCache.highlighted||a)&&this.workerManager.highlightDiffAST(this,e);else{this.computedLang=e.lang??B(e.name);let t=this.highlighter!=null&&lt(i.theme),n=this.highlighter!=null&&Re(this.computedLang),r=!c&&n;if(this.highlighter!=null&&t&&(a||c||!this.renderCache.highlighted&&r||this.renderCache.result==null)){let{result:t,options:i}=this.renderDiffWithHighlighter(e,this.highlighter,c||!n);this.renderCache={diff:e,options:i,highlighted:r,result:t,renderRange:void 0}}(!t||!c&&!n)&&this.asyncHighlight(e).then(({result:t,options:n})=>{this.renderCache!=null&&(this.renderCache.highlighted=!1),this.onHighlightSuccess(e,t,n,!c)})}return this.renderCache.result==null?void 0:this.processDiffResult(this.renderCache.diff,t,this.renderCache.result)}async asyncRender(e,t=k){let{result:n}=await this.asyncHighlight(e);return this.processDiffResult(e,t,n)}createPreElement(e,t,n){let{diffIndicators:r,disableBackground:i,disableLineNumbers:a,overflow:o}=this.getOptionsWithDefaults();return _t({type:`diff`,diffIndicators:r,disableBackground:i,disableLineNumbers:a,overflow:o,split:e,totalLines:t,customProperties:n})}async asyncHighlight(e){let t=Ti(e,this.getTokenizeMaxLength());this.computedLang=t?`text`:e.lang??B(e.name);let n=this.highlighter!=null&&lt(this.options.theme??C),r=t||this.highlighter!=null&&Re(this.computedLang);return(this.highlighter==null||!n||!r)&&(this.highlighter=await this.initializeHighlighter()),this.renderDiffWithHighlighter(e,this.highlighter,t)}renderDiffWithHighlighter(e,t,n=!1){let{options:r}=this.getRenderOptions(e),{collapsedContextThreshold:i}=this.getOptionsWithDefaults();return{result:ui(e,t,r,{forcePlainText:n,expandedHunks:n?!0:void 0,collapsedContextThreshold:i}),options:r}}onHighlightSuccess(e,t,n,r=!0){if(this.renderCache==null)return;let i=!this.renderCache.highlighted||!Rr(this.renderCache.options,n)||!kn(this.renderCache.diff,e);this.renderCache={diff:e,options:n,highlighted:r,result:t,renderRange:void 0},i&&this.onRenderUpdate?.()}getMatchingWorkerResultCache(e,t){let n=this.workerManager?.getDiffResultCache(e);if(!(n==null||!Rr(t,n.options)))return n}hasHighlightedRenderCache(e,t){let{renderCache:n}=this;return n?.result!=null&&n.highlighted&&kn(e,n.diff)&&Rr(t,n.options)}onHighlightError(e){console.error(e)}getTokenizeMaxLength(){return this.options.tokenizeMaxLength??1e5}processDiffResult(e,t,{code:n,themeStyles:r,baseThemeType:i}){let{diffStyle:a,disableFileHeader:o,expandUnchanged:s,expansionLineCount:c,collapsedContextThreshold:l,hunkSeparators:u}=this.getOptionsWithDefaults();this.diff=e;let d=a===`unified`,f=[],p=[],m=[],h=[],{additionLines:g,deletionLines:_}=n,v={rowCount:0,hunkSeparators:u,additionsContentAST:f,deletionsContentAST:p,unifiedContentAST:m,unifiedGutterAST:se(),deletionsGutterAST:se(),additionsGutterAST:se(),expansionLineCount:c,hunkData:h,incrementRowCount(e=1){v.rowCount+=e},pushToGutter(e,t){switch(e){case`unified`:v.unifiedGutterAST.children.push(t);break;case`deletions`:v.deletionsGutterAST.children.push(t);break;case`additions`:v.additionsGutterAST.children.push(t);break}}},y=Jr({fileDiff:e,errorPrefix:`DiffHunksRenderer.processDiffResult`}),b={size:0,side:void 0,increment(){this.size+=1},flush(){if(a!==`unified`){if(this.size<=0||this.side==null){this.side=void 0,this.size=0;return}this.side===`additions`?(v.pushToGutter(`additions`,F(void 0,`buffer`,this.size)),f?.push(zr(this.size))):(v.pushToGutter(`deletions`,F(void 0,`buffer`,this.size)),p?.push(zr(this.size))),this.size=0,this.side=void 0}}},x=(e,t,n,r,i)=>{v.pushToGutter(e,ce(t,n,r,i))};function S(e){b.flush(),a===`unified`?Ci(`unified`,e,v):(Ci(`deletions`,e,v),Ci(`additions`,e,v))}this.pushFileLevelAnnotations(e,a,t,v),ni({diff:e,diffStyle:a,startingLine:t.startingLine,totalLines:t.totalLines,expandedHunks:s?!0:this.expandedHunks,collapsedContextThreshold:l,callback:({hunkIndex:t,hunk:n,collapsedBefore:r,collapsedAfter:i,additionLine:o,deletionLine:s,type:c})=>{let l=s==null?o.splitLineIndex:s.splitLineIndex,d=o==null?s.unifiedLineIndex:o.unifiedLineIndex;a===`split`&&c!==`change`&&b.flush(),r>0&&S({hunkIndex:t,collapsedLines:r,rangeSize:Math.max(n?.collapsedBefore??0,0),hunkSpecs:n?.hunkSpecs,isFirstHunk:t===0,isLastHunk:!1,isExpandable:!e.isPartial});let f=a===`unified`?d:l,p={type:c,hunkIndex:t,lineIndex:f,unifiedLineIndex:d,splitLineIndex:l,deletionLine:s,additionLine:o};if(a===`unified`){let n=this.getUnifiedInjectedRowsForLine?.(p);n?.before!=null&&bi(n.before,v);let r=s==null?void 0:_[s.lineIndex],i=o==null?void 0:g[o.lineIndex];if(r==null&&i==null){let t=`DiffHunksRenderer.processDiffResult: deletionLine and additionLine are null, something is wrong`;throw console.error(t,{file:e.name}),Error(t)}let a=c===`change`?o==null?`change-deletion`:`change-addition`:c,u=this.getUnifiedLineDecoration({type:c,lineType:a,additionLineIndex:o?.lineIndex,deletionLineIndex:s?.lineIndex});x(`unified`,u.gutterLineType,o==null?s.lineNumber:o.lineNumber,`${d},${l}`,u.gutterProperties),i==null?r!=null&&(r=wi(r,u.contentProperties)):i=wi(i,u.contentProperties),Si({diffStyle:`unified`,type:c,deletionLine:r,additionLine:i,unifiedSpan:this.getAnnotations(`unified`,s?.lineNumber,o?.lineNumber,t,f),createAnnotationElement:e=>this.createAnnotationElement(e),context:v}),n?.after!=null&&bi(n.after,v)}else{let n=this.getSplitInjectedRowsForLine?.(p);n?.before!=null&&xi(n.before,v,b);let r=s==null?void 0:_[s.lineIndex],i=o==null?void 0:g[o.lineIndex],a=this.getSplitLineDecoration({side:`deletions`,type:c,lineIndex:s?.lineIndex}),u=this.getSplitLineDecoration({side:`additions`,type:c,lineIndex:o?.lineIndex});if(r==null&&i==null){let t=`DiffHunksRenderer.processDiffResult: deletionLine and additionLine are null, something is wrong`;throw console.error(t,{file:e.name}),Error(t)}let d=(()=>{if(c===`change`){if(i==null)return`additions`;if(r==null)return`deletions`}})();if(d!=null){if(b.side!=null&&b.side!==d)throw Error(`DiffHunksRenderer.processDiffResult: iterateOverDiff, invalid pending splits`);b.side=d,b.increment()}let m=this.getAnnotations(`split`,s?.lineNumber,o?.lineNumber,t,f);if(m!=null&&b.size>0&&b.flush(),s!=null){let e=wi(r,a.contentProperties);x(`deletions`,a.gutterLineType,s.lineNumber,`${s.unifiedLineIndex},${l}`,a.gutterProperties),e!=null&&(r=e)}if(o!=null){let e=wi(i,u.contentProperties);x(`additions`,u.gutterLineType,o.lineNumber,`${o.unifiedLineIndex},${l}`,u.gutterProperties),e!=null&&(i=e)}Si({diffStyle:`split`,type:c,additionLine:i,deletionLine:r,...m,createAnnotationElement:e=>this.createAnnotationElement(e),context:v}),n?.after!=null&&xi(n.after,v,b)}let m=a===`split`&&n!=null&&l===n.splitLineStart+n.splitLineCount-1,h=m?n.noEOFCRDeletions:!1,C=m?n.noEOFCRAdditions:!1,w=(s?.noEOFCR??!1)||h,T=(o?.noEOFCR??!1)||C;if(T||w){if(a===`split`&&b.flush(),w){let e=c===`context`||c===`context-expanded`?c:`change-deletion`;a===`unified`?(v.unifiedContentAST.push(Br(e)),v.pushToGutter(`unified`,F(e,`metadata`,1))):(v.deletionsContentAST.push(Br(e)),v.pushToGutter(`deletions`,F(e,`metadata`,1)),T||(v.pushToGutter(`additions`,F(void 0,`buffer`,1)),v.additionsContentAST.push(zr(1))))}if(T){let e=c===`context`||c===`context-expanded`?c:`change-addition`;a===`unified`?(v.unifiedContentAST.push(Br(e)),v.pushToGutter(`unified`,F(e,`metadata`,1))):(v.additionsContentAST.push(Br(e)),v.pushToGutter(`additions`,F(e,`metadata`,1)),w||(v.pushToGutter(`deletions`,F(void 0,`buffer`,1)),v.deletionsContentAST.push(zr(1))))}v.incrementRowCount(1)}i>0&&u!==`simple`&&S({hunkIndex:c===`context-expanded`?t:t+1,collapsedLines:i,rangeSize:y,hunkSpecs:void 0,isFirstHunk:!1,isLastHunk:!0,isExpandable:!e.isPartial}),v.incrementRowCount(1)}}),a===`split`&&b.flush();let C=Math.max(Ur(e.hunks),e.additionLines.length??0,e.deletionLines.length??0),w=t.bufferBefore>0||t.bufferAfter>0,T=!d&&e.type!==`deleted`,E=!d&&e.type!==`new`,D=v.rowCount>0||w;f=T&&D?f:void 0,p=E&&D?p:void 0,m=d&&D?m:void 0;let O=this.createPreElement(p!=null&&f!=null,C);return{unifiedGutterAST:d&&D?v.unifiedGutterAST.children:void 0,unifiedContentAST:m,deletionsGutterAST:E&&D?v.deletionsGutterAST.children:void 0,deletionsContentAST:p,additionsGutterAST:T&&D?v.additionsGutterAST.children:void 0,additionsContentAST:f,hunkData:h,preNode:O,themeStyles:r,baseThemeType:i,headerElement:o?void 0:this.renderHeader(this.diff),totalLines:C,rowCount:v.rowCount,bufferBefore:t.bufferBefore,bufferAfter:t.bufferAfter,css:``}}renderCodeAST(e,t){let n=e===`unified`?t.unifiedGutterAST:e===`deletions`?t.deletionsGutterAST:t.additionsGutterAST,r=e===`unified`?t.unifiedContentAST:e===`deletions`?t.deletionsContentAST:t.additionsContentAST;if(n==null||r==null)return;let i=se(n);return i.properties.style=`grid-row: span ${t.rowCount}`,[i,$t(r,t.rowCount)]}renderFullAST(e,t=[]){let n=this.getOptionsWithDefaults().hunkSeparators===`line-info`,r=this.renderCodeAST(`unified`,e);if(r!=null)return t.push(N({tagName:`code`,children:r,properties:{"data-code":``,"data-container-size":n?``:void 0,"data-unified":``}})),{...e.preNode,children:t};let i=this.renderCodeAST(`deletions`,e);i!=null&&t.push(N({tagName:`code`,children:i,properties:{"data-code":``,"data-container-size":n?``:void 0,"data-deletions":``}}));let a=this.renderCodeAST(`additions`,e);return a!=null&&t.push(N({tagName:`code`,children:a,properties:{"data-code":``,"data-container-size":n?``:void 0,"data-additions":``}})),{...e.preNode,children:t}}renderFullHTML(e,t=[]){return i(this.renderFullAST(e,t))}renderPartialHTML(e,t){return i(t==null?e:N({tagName:`code`,children:e,properties:{"data-code":``,"data-container-size":this.getOptionsWithDefaults().hunkSeparators===`line-info`?``:void 0,[`data-${t}`]:``}}))}pushFileLevelAnnotations(e,t,n,r){if(!Qt(n))return;let i=e.type===`new`?[]:_i(Zt(this.deletionAnnotations)),a=e.type===`deleted`?[]:_i(Zt(this.additionAnnotations));if(i.length===0&&a.length===0)return;let{createAnnotationElement:o}=this;if(t===`unified`){Si({diffStyle:t,type:`context`,unifiedSpan:{type:`annotation`,hunkIndex:-1,lineIndex:-1,annotations:i.concat(a)},createAnnotationElement:o,context:r});return}Si({diffStyle:t,type:`context`,deletionSpan:{type:`annotation`,hunkIndex:-1,lineIndex:-1,annotations:i},additionSpan:{type:`annotation`,hunkIndex:-1,lineIndex:-1,annotations:a},createAnnotationElement:o,context:r})}getAnnotations(e,t,n,r,i){let a={type:`annotation`,hunkIndex:r,lineIndex:i,annotations:[]};if(t!=null)for(let e of this.deletionAnnotations[t]??[])a.annotations.push(V(e));let o={type:`annotation`,hunkIndex:r,lineIndex:i,annotations:[]};if(n!=null)for(let t of this.additionAnnotations[n]??[])(e===`unified`?a:o).annotations.push(V(t));if(e===`unified`)return a.annotations.length>0?a:void 0;if(!(o.annotations.length===0&&a.annotations.length===0))return{deletionSpan:a,additionSpan:o}}renderHeader(e){let{headerRenderMode:t,stickyHeader:n}=this.getOptionsWithDefaults();return mt({fileOrDiff:e,mode:t,stickyHeader:n})}};function _i(e){return e?.map(e=>V(e))??[]}var vi=new Intl.PluralRules(`en-US`);function yi(e){return`${e} unmodified line${vi.select(e)===`one`?``:`s`}`}function bi(e,t){for(let n of e)t.unifiedContentAST.push(n.content),t.pushToGutter(`unified`,n.gutter),t.incrementRowCount(1)}function xi(e,t,n){for(let{deletion:r,addition:i}of e){if(r==null&&i==null)continue;let e=r!=null&&i!=null?void 0:r==null?`deletions`:`additions`;(e==null||n.side!==e)&&n.flush(),r!=null&&(t.deletionsContentAST.push(r.content),t.pushToGutter(`deletions`,r.gutter)),i!=null&&(t.additionsContentAST.push(i.content),t.pushToGutter(`additions`,i.gutter)),e!=null&&(n.side=e,n.increment()),t.incrementRowCount(1)}}function Si({diffStyle:e,type:t,deletionLine:n,additionLine:r,unifiedSpan:i,deletionSpan:a,additionSpan:o,createAnnotationElement:s,context:c}){let l=!1;if(e===`unified`){if(r==null?n!=null&&c.unifiedContentAST.push(n):c.unifiedContentAST.push(r),i!=null){let e=t===`change`?n==null?`change-addition`:`change-deletion`:t;c.unifiedContentAST.push(s(i)),c.pushToGutter(`unified`,F(e,`annotation`,1)),l=!0}}else if(e===`split`){if(n!=null&&c.deletionsContentAST.push(n),r!=null&&c.additionsContentAST.push(r),a!=null){let e=t===`change`?n==null?`context`:`change-deletion`:t;c.deletionsContentAST.push(s(a)),c.pushToGutter(`deletions`,F(e,`annotation`,1)),l=!0}if(o!=null){let e=t===`change`?r==null?`context`:`change-addition`:t;c.additionsContentAST.push(s(o)),c.pushToGutter(`additions`,F(e,`annotation`,1)),l=!0}}l&&c.incrementRowCount(1)}function Ci(e,{hunkIndex:t,collapsedLines:n,rangeSize:r,hunkSpecs:i,isFirstHunk:a,isLastHunk:o,isExpandable:s},c){if(n<=0)return;let l=e===`unified`?c.unifiedContentAST:e===`deletions`?c.deletionsContentAST:c.additionsContentAST;if(c.hunkSeparators===`metadata`){i!=null&&(c.pushToGutter(e,Z({type:`metadata`,content:i,isFirstHunk:a,isLastHunk:o})),l.push(Z({type:`metadata`,content:i,isFirstHunk:a,isLastHunk:o})),e!==`additions`&&c.incrementRowCount(1));return}if(c.hunkSeparators===`simple`){t>0&&(c.pushToGutter(e,Z({type:`simple`,isFirstHunk:a,isLastHunk:!1})),l.push(Z({type:`simple`,isFirstHunk:a,isLastHunk:!1})),e!==`additions`&&c.incrementRowCount(1));return}let u=Hr(e,t),d=r>c.expansionLineCount,f=s?t:void 0;c.pushToGutter(e,Z({type:c.hunkSeparators,content:yi(n),expandIndex:f,chunked:d,slotName:u,isFirstHunk:a,isLastHunk:o})),l.push(Z({type:c.hunkSeparators,content:yi(n),expandIndex:f,chunked:d,slotName:u,isFirstHunk:a,isLastHunk:o})),e!==`additions`&&c.incrementRowCount(1),c.hunkData.push({slotName:u,hunkIndex:t,lines:n,type:e,expandable:s?{up:!a,down:!o,chunked:d}:void 0})}function wi(e,t){return e==null||e.type!==`element`||t==null?e:{...e,properties:{...e.properties,...t}}}function Ti(e,t){return Math.max(e.additionLines.length,e.deletionLines.length)>t}function Ei(e,t){return e.lineNumber===t.lineNumber&&e.side===t.side&&e.metadata===t.metadata}function Di(e,t){return e.slotName===t.slotName&&e.hunkIndex===t.hunkIndex&&e.lines===t.lines&&e.type===t.type&&e.expandable?.chunked===t.expandable?.chunked&&e.expandable?.up===t.expandable?.up&&e.expandable?.down===t.expandable?.down}function Oi(e){return{theme:e?.theme,disableLineNumbers:e?.disableLineNumbers,overflow:e?.overflow,collapsed:e?.collapsed,disableFileHeader:e?.disableFileHeader,disableVirtualizationBuffers:e?.disableVirtualizationBuffers,stickyHeader:e?.stickyHeader,preferredHighlighter:e?.preferredHighlighter,useCSSClasses:e?.useCSSClasses,useTokenTransformer:e?.useTokenTransformer,tokenizeMaxLineLength:e?.tokenizeMaxLineLength,tokenizeMaxLength:e?.tokenizeMaxLength,diffStyle:e?.diffStyle,diffIndicators:e?.diffIndicators,disableBackground:e?.disableBackground,hunkSeparators:typeof e?.hunkSeparators==`function`?`custom`:e?.hunkSeparators,expandUnchanged:e?.expandUnchanged,collapsedContextThreshold:e?.collapsedContextThreshold,lineDiffType:e?.lineDiffType,maxLineDiffLength:e?.maxLineDiffLength,expansionLineCount:e?.expansionLineCount,headerRenderMode:e?.renderCustomHeader==null?`default`:`custom`}}var ki=-1,Ai=class{options;workerManager;isContainerManaged;static LoadedCustomComponent=!0;__id=`file-diff:${++ki}`;type=`file-diff`;fileContainer;spriteSVG;pre;codeUnified;codeDeletions;codeAdditions;bufferBefore;bufferAfter;themeCSSStyle;appliedThemeCSS;hasAdoptedThemeCSS=!1;unsafeCSSStyle;appliedUnsafeCSS;gutterUtilityContent;headerElement;headerPrefix;headerMetadata;headerCustom;separatorCache=new Map;errorWrapper;placeHolder;hunksRenderer;resizeManager;scrollSyncManager;interactionManager;annotationCache=new Map;lineAnnotations=[];managersDirty=!1;deletionFile;additionFile;fileDiff;renderRange;appliedPreAttributes;lastRenderedHeaderHTML;cachedHeaderHTML;lastRowCount;mounted=!1;enabled=!0;constructor(e={theme:C},t,n=!1){this.options=e,this.workerManager=t,this.isContainerManaged=n,this.hunksRenderer=this.createHunksRenderer(e),this.resizeManager=new ke,this.scrollSyncManager=new Lr,this.interactionManager=new de(`diff`,fe(e,typeof e.hunkSeparators==`function`||(e.hunkSeparators??`line-info`)===`line-info`||e.hunkSeparators===`line-info-basic`?this.handleExpandHunk:void 0,this.getLineIndex)),this.workerManager?.subscribeToThemeChanges(this),this.enabled=!0}handleHighlightRender=()=>{this.rerender()};getHunksRendererOptions(e){return Oi(e)}createHunksRenderer(e){return new gi(this.getHunksRendererOptions(e),this.handleHighlightRender,this.workerManager)}getLineIndex=(e,t=`additions`)=>{if(this.fileDiff==null)return;let n=this.fileDiff.hunks.at(-1),r,i;hunkIterator:for(let a of this.fileDiff.hunks){let o=t===`deletions`?a.deletionStart:a.additionStart,s=t===`deletions`?a.deletionCount:a.additionCount,c=a.splitLineStart,l=a.unifiedLineStart;if(e<o){let t=o-e;r=Math.max(l-t,0),i=Math.max(c-t,0);break hunkIterator}if(e>=o+s){if(a===n){let t=e-(o+s);r=l+a.unifiedLineCount+t,i=c+a.splitLineCount+t;break hunkIterator}continue}for(let n of a.hunkContent)if(n.type===`context`)if(e<o+n.lines){let t=e-o;i=c+t,r=l+t;break hunkIterator}else o+=n.lines,c+=n.lines,l+=n.lines;else{let a=t===`deletions`?n.deletions:n.additions;if(e<o+a){let a=e-o;r=l+(t===`additions`?n.deletions:0)+a,i=c+a;break hunkIterator}else o+=a,c+=Math.max(n.deletions,n.additions),l+=n.deletions+n.additions}break hunkIterator}if(!(r==null||i==null))return[r,i]};setOptions(e){e!=null&&(this.options=e,this.cachedHeaderHTML=void 0,this.hunksRenderer.setOptions(this.getHunksRendererOptions(e)),this.syncInteractionOptions())}syncInteractionOptions(){this.interactionManager.setOptions(fe(this.options,typeof this.options.hunkSeparators==`function`||(this.options.hunkSeparators??`line-info`)===`line-info`||this.options.hunkSeparators===`line-info-basic`?this.handleExpandHunk:void 0,this.getLineIndex))}mergeOptions(e){this.options={...this.options,...e}}setThemeType(e){(this.options.themeType??`system`)!==e&&(this.mergeOptions({themeType:e}),this.applyCachedThemeState(e))}applyCachedThemeState(e){if(typeof this.options.theme==`string`||this.fileContainer==null||this.appliedThemeCSS==null)return!1;let t=this.appliedThemeCSS.baseThemeType??e;return this.appliedThemeCSS.themeType===t?!1:(this.applyThemeState(this.fileContainer,this.appliedThemeCSS.themeStyles,e,this.appliedThemeCSS.baseThemeType),!0)}hasThemeChanged(){return this.appliedThemeCSS!=null&&!ne(this.appliedThemeCSS.theme,this.options.theme??C)}getHoveredLine=()=>this.interactionManager.getHoveredLine();setLineAnnotations(e){this.lineAnnotations=e}canPartiallyRender(e,t,n){return!(e||t||n||typeof this.options.hunkSeparators==`function`)}setSelectedLines(e,t){this.interactionManager.setSelection(e,t)}flushManagers(){if(!this.managersDirty||this.pre==null){this.managersDirty=!1;return}let{diffStyle:e=`split`,overflow:t=`scroll`}=this.options;this.interactionManager.setup(this.pre),this.resizeManager.setup(this.pre,t===`wrap`),t===`scroll`&&e===`split`?this.scrollSyncManager.setup(this.pre,this.codeDeletions,this.codeAdditions):this.scrollSyncManager.cleanUp(),this.managersDirty=!1}cleanUp(e=!1){this.emitPostRender(!0),this.resizeManager.cleanUp(),this.interactionManager.cleanUp(),this.scrollSyncManager.cleanUp(),this.managersDirty=!1,this.workerManager?.unsubscribeToThemeChanges(this),this.renderRange=void 0,this.isContainerManaged||this.fileContainer?.remove(),this.fileContainer=void 0,this.mounted=!1,e||(this.lineAnnotations=[]),this.clearAuxiliaryNodes(),this.annotationCache.clear(),this.pre=void 0,this.codeUnified=void 0,this.codeDeletions=void 0,this.codeAdditions=void 0,this.bufferBefore=void 0,this.bufferAfter=void 0,this.appliedPreAttributes=void 0,this.headerElement=void 0,this.headerPrefix=void 0,this.headerMetadata=void 0,this.headerCustom=void 0,this.placeHolder=void 0,this.lastRenderedHeaderHTML=void 0,e||(this.cachedHeaderHTML=void 0),this.errorWrapper=void 0,this.spriteSVG=void 0,this.lastRowCount=void 0,this.themeCSSStyle=void 0,this.appliedThemeCSS=void 0,this.hasAdoptedThemeCSS=!1,this.unsafeCSSStyle=void 0,this.appliedUnsafeCSS=void 0,e?this.hunksRenderer.recycle():(this.hunksRenderer.cleanUp(),this.workerManager=void 0,this.fileDiff=void 0,this.deletionFile=void 0,this.additionFile=void 0),this.enabled=!1}virtualizedSetup(){this.enabled=!0,this.workerManager?.subscribeToThemeChanges(this)}hydrate(e){let{fileContainer:t,prerenderedHTML:n,preventEmit:r=!1,lineAnnotations:i,oldFile:a,newFile:o,fileDiff:s}=e;this.hydrateElements(t,n),Ni(this.pre,ji({fileDiff:s,oldFile:a,newFile:o}),this.options.collapsed)||Pi(this.headerElement,Mi({fileDiff:s,oldFile:a,newFile:o}),this.options.disableFileHeader)?this.render({...e,preventEmit:!0}):this.hydrationSetup({fileDiff:s,oldFile:a,newFile:o,lineAnnotations:i}),r||this.emitPostRender()}hydrateElements(e,t){this.fileContainer!==e&&this.emitPostRender(!0),bn(e,t);for(let t of e.shadowRoot?.children??[]){if(t instanceof SVGElement){this.spriteSVG=t;continue}if(t instanceof HTMLElement){if(t instanceof HTMLPreElement){this.pre=t;for(let e of t.children)!(e instanceof HTMLElement)||e.tagName.toLowerCase()!==`code`||(`deletions`in e.dataset&&(this.codeDeletions=e),`additions`in e.dataset&&(this.codeAdditions=e),`unified`in e.dataset&&(this.codeUnified=e));continue}if(`diffsHeader`in t.dataset){this.headerElement=t;continue}if(t instanceof HTMLStyleElement&&t.hasAttribute(`data-theme-css`)){this.themeCSSStyle=t;continue}if(t instanceof HTMLStyleElement&&t.hasAttribute(`data-unsafe-css`)){this.unsafeCSSStyle=t,this.appliedUnsafeCSS=t.textContent;continue}}}this.pre!=null&&(this.syncCodeNodesFromPre(this.pre),this.pre.removeAttribute(`data-dehydrated`)),this.fileContainer=e,this.hydrateMeasuredScrollbar()}hydrationSetup({fileDiff:e,oldFile:t,newFile:n,lineAnnotations:r}){this.lineAnnotations=r??this.lineAnnotations,this.additionFile=n,this.deletionFile=t,this.fileDiff=e??(t!=null&&n!=null?Ir(t,n,this.options.parseDiffOptions):void 0),this.pre!=null&&(this.syncInteractionOptions(),this.hunksRenderer.hydrate(this.fileDiff),this.renderAnnotations(),this.renderGutterUtility(),this.injectUnsafeCSS(),this.managersDirty=!0,this.flushManagers())}rerender(){!this.enabled||this.fileDiff==null&&this.additionFile==null&&this.deletionFile==null||this.render({forceRender:!0,renderRange:this.renderRange})}onThemeChange(){this.hunksRenderer.clearRenderCache(),this.rerender()}handleExpandHunk=(e,t,n)=>{this.expandHunk(e,t,n)};expandHunk=(e,t,n)=>{this.hunksRenderer.expandHunk(e,t,n),this.rerender()};render({oldFile:e,newFile:t,fileDiff:n,deferManagers:r=!1,forceRender:i=!1,preventEmit:a=!1,lineAnnotations:o,fileContainer:s,containerWrapper:c,renderRange:l}){if(!this.enabled)throw Error(`FileDiff.render: attempting to call render after cleaned up`);let{collapsed:u=!1,themeType:d=`system`}=this.options,f=u?void 0:l,p=this.hasThemeChanged(),m=e!=null&&t!=null&&(!ut(e,this.deletionFile)||!ut(t,this.additionFile)),h=n!=null&&n!==this.fileDiff,g=o!=null&&(o.length>0||this.lineAnnotations.length>0)&&o!==this.lineAnnotations;if(!u&&dt(f,this.renderRange)&&!i&&!g&&!p&&(n!=null&&n===this.fileDiff||n==null&&!m))return this.applyCachedThemeState(d);let{renderRange:_}=this;if(this.renderRange=f,this.deletionFile=e,this.additionFile=t,n==null?e!=null&&t!=null&&m&&(h=!0,this.fileDiff=Ir(e,t,this.options.parseDiffOptions)):this.fileDiff=n,h&&(this.cachedHeaderHTML=void 0),o!=null&&this.setLineAnnotations(o),this.fileDiff==null)return!1;this.hunksRenderer.setOptions(this.getHunksRendererOptions(this.options)),this.syncInteractionOptions(),this.hunksRenderer.setLineAnnotations(this.lineAnnotations);let{disableErrorHandling:v=!1,disableFileHeader:y=!1}=this.options;if(y&&(this.headerElement!=null&&(this.headerElement.remove(),this.headerElement=void 0,this.lastRenderedHeaderHTML=void 0),this.clearHeaderSlots()),s=this.getOrCreateFileContainer(s,c),this.applyCachedThemeState(d),u){this.removeRenderedCode(),this.clearAuxiliaryNodes();try{let e=this.hunksRenderer.renderDiff(this.fileDiff,A);e!=null&&this.applyThemeState(s,e.themeStyles,d,e.baseThemeType),e?.headerElement!=null&&this.applyHeaderToDOM(e.headerElement,s),this.renderSeparators([]),this.injectUnsafeCSS()}catch(e){if(v)throw e;console.error(e),e instanceof Error&&this.applyErrorToDOM(e,s)}return a||this.emitPostRender(),!0}try{let e=this.getOrCreatePreNode(s);if(!(this.canPartiallyRender(i,g,m||h||p)&&this.applyPartialRender({previousRenderRange:_,renderRange:f}))){let t=this.hunksRenderer.renderDiff(this.fileDiff,f);if(t==null)return this.workerManager?.isInitialized()===!1&&this.workerManager.initialize().then(()=>this.rerender()),!1;this.applyThemeState(s,t.themeStyles,d,t.baseThemeType),t.headerElement!=null&&this.applyHeaderToDOM(t.headerElement,s),t.additionsContentAST!=null||t.deletionsContentAST!=null||t.unifiedContentAST!=null?this.applyHunksToDOM(e,t):this.pre!=null&&(this.pre.remove(),this.pre=void 0),this.renderSeparators(t.hunkData)}this.applyBuffers(e,f),this.injectUnsafeCSS(),this.renderAnnotations(),this.renderGutterUtility(),this.managersDirty=!0,r||this.flushManagers()}catch(e){if(v)throw e;console.error(e),e instanceof Error&&this.applyErrorToDOM(e,s)}return a||this.emitPostRender(),!0}emitPostRender(e=!1){let{fileContainer:t,options:{onPostRender:n}}=this;if(e){if(!this.mounted||(this.mounted=!1,t==null))return;this.options.onPostRender?.(t,this,`unmount`);return}if(t==null)return;let r=this.mounted?`update`:`mount`;this.mounted=!0,n?.(t,this,r)}removeRenderedCode(){this.resizeManager.cleanUp(),this.scrollSyncManager.cleanUp(),this.interactionManager.cleanUp(),this.bufferBefore?.remove(),this.bufferBefore=void 0,this.bufferAfter?.remove(),this.bufferAfter=void 0,this.codeUnified?.remove(),this.codeUnified=void 0,this.codeDeletions?.remove(),this.codeDeletions=void 0,this.codeAdditions?.remove(),this.codeAdditions=void 0,this.pre?.remove(),this.pre=void 0,this.appliedPreAttributes=void 0,this.lastRowCount=void 0}clearAuxiliaryNodes(){for(let{element:e}of this.separatorCache.values())e.remove();this.separatorCache.clear();for(let{element:e}of this.annotationCache.values())e.remove();this.annotationCache.clear(),this.gutterUtilityContent?.remove(),this.gutterUtilityContent=void 0}renderPlaceholder(e){if(this.fileContainer==null)return!1;if(this.emitPostRender(!0),this.cleanChildNodes(),this.placeHolder==null){let e=this.fileContainer.shadowRoot??this.fileContainer.attachShadow({mode:`open`});this.placeHolder=document.createElement(`div`),this.placeHolder.dataset.placeholder=``,e.appendChild(this.placeHolder)}return this.placeHolder.style.setProperty(`height`,`${e}px`),!0}primeHighlightCache(){let{fileDiff:e,workerManager:t}=this;if(e==null||t==null||mi(e))return;let n=this.options.tokenizeMaxLength??1e5;Math.max(e.additionLines.length,e.deletionLines.length)>n||t.primeDiffHighlightCache(e)}cleanChildNodes(){this.resizeManager.cleanUp(),this.scrollSyncManager.cleanUp(),this.interactionManager.cleanUp(),this.clearAuxiliaryNodes(),this.bufferAfter?.remove(),this.bufferBefore?.remove(),this.codeAdditions?.remove(),this.codeDeletions?.remove(),this.codeUnified?.remove(),this.errorWrapper?.remove(),this.headerElement?.remove(),this.headerPrefix?.remove(),this.headerMetadata?.remove(),this.headerCustom?.remove(),this.pre?.remove(),this.spriteSVG?.remove(),this.themeCSSStyle?.remove(),this.unsafeCSSStyle?.remove(),this.bufferAfter=void 0,this.bufferBefore=void 0,this.codeAdditions=void 0,this.codeDeletions=void 0,this.codeUnified=void 0,this.errorWrapper=void 0,this.headerElement=void 0,this.headerPrefix=void 0,this.headerMetadata=void 0,this.headerCustom=void 0,this.pre=void 0,this.spriteSVG=void 0,this.themeCSSStyle=void 0,this.appliedThemeCSS=void 0,this.hasAdoptedThemeCSS=!1,this.unsafeCSSStyle=void 0,this.appliedUnsafeCSS=void 0,this.lastRenderedHeaderHTML=void 0,this.lastRowCount=void 0,this.mounted=!1}renderSeparators(e){let{hunkSeparators:t}=this.options;if(this.isContainerManaged||this.fileContainer==null||typeof t!=`function`){for(let{element:e}of this.separatorCache.values())e.remove();this.separatorCache.clear();return}let n=new Map(this.separatorCache);for(let r of e){let e=r.slotName,i=this.separatorCache.get(e);if(i==null||!Di(r,i.hunkData)){i?.element.remove();let n=document.createElement(`div`);n.style.display=`contents`,n.slot=r.slotName;let a=t(r,this);a!=null&&n.appendChild(a),this.fileContainer.appendChild(n),i={element:n,hunkData:r},this.separatorCache.set(e,i)}n.delete(e)}for(let[e,{element:t}]of n.entries())this.separatorCache.delete(e),t.remove()}renderAnnotations(){if(this.isContainerManaged||this.fileContainer==null){for(let{element:e}of this.annotationCache.values())e.remove();this.annotationCache.clear();return}let e=new Map(this.annotationCache),{renderAnnotation:t}=this.options;if(t!=null&&this.lineAnnotations.length>0)for(let[n,r]of this.lineAnnotations.entries()){let i=`${n}-${V(r)}`,a=this.annotationCache.get(i);if(a==null||!Ei(r,a.annotation)){a?.element.remove();let e=t(r);if(e==null)continue;a={element:on(V(r)),annotation:r},a.element.appendChild(e),this.fileContainer.appendChild(a.element),this.annotationCache.set(i,a)}e.delete(i)}for(let[t,{element:n}]of e.entries())this.annotationCache.delete(t),n.remove()}renderGutterUtility(){let{renderGutterUtility:e}=this.options;if(this.fileContainer==null||e==null){this.gutterUtilityContent?.remove(),this.gutterUtilityContent=void 0;return}let t=e(this.interactionManager.getHoveredLine);if(t!=null&&this.gutterUtilityContent!=null)return;if(t==null){this.gutterUtilityContent?.remove(),this.gutterUtilityContent=void 0;return}let n=sn();n.appendChild(t),this.fileContainer.appendChild(n),this.gutterUtilityContent=n}getOrCreateFileContainer(e,t){let{fileContainer:n}=this,r=e??n??document.createElement(`diffs-container`),i=n!==r;return i&&this.emitPostRender(!0),this.fileContainer=r,n!=null&&i&&(this.lastRenderedHeaderHTML=void 0,this.headerElement=void 0),t!=null&&this.fileContainer.parentNode!==t&&t.appendChild(this.fileContainer),i&&this.adoptReusableShellElements(this.fileContainer),this.ensureSpriteSVG(this.fileContainer),this.fileContainer}adoptReusableShellElements(e){let{shadowRoot:t}=e;if(t!=null)for(let e of t.children)e instanceof SVGElement?this.spriteSVG??=e:Sn(e)&&e.hasAttribute(`data-theme-css`)?(this.themeCSSStyle??=e,this.hasAdoptedThemeCSS=!0):Sn(e)&&e.hasAttribute(`data-unsafe-css`)&&(this.unsafeCSSStyle??=e,this.appliedUnsafeCSS??=this.options.unsafeCSS??void 0)}ensureSpriteSVG(e){let t=e.shadowRoot??e.attachShadow({mode:`open`});if(this.spriteSVG==null){let e=document.createElement(`div`);e.innerHTML=tn;let t=e.firstChild;t instanceof SVGElement&&(this.spriteSVG=t)}this.spriteSVG!=null&&this.spriteSVG.parentNode!==t&&t.appendChild(this.spriteSVG)}getOrCreatePreNode(e){let t=e.shadowRoot??e.attachShadow({mode:`open`});return this.pre==null?(this.pre=document.createElement(`pre`),this.appliedPreAttributes=void 0,this.codeUnified=void 0,this.codeDeletions=void 0,this.codeAdditions=void 0,t.appendChild(this.pre)):this.pre.parentNode!==t&&(t.appendChild(this.pre),this.appliedPreAttributes=void 0),this.placeHolder?.remove(),this.placeHolder=void 0,this.pre}syncCodeNodesFromPre(e){this.codeUnified=void 0,this.codeDeletions=void 0,this.codeAdditions=void 0;for(let t of Array.from(e.children))t instanceof HTMLElement&&(t.hasAttribute(`data-unified`)?this.codeUnified=t:t.hasAttribute(`data-deletions`)?this.codeDeletions=t:t.hasAttribute(`data-additions`)&&(this.codeAdditions=t))}applyHeaderToDOM(e,t){this.cleanupErrorWrapper(),this.placeHolder?.remove(),this.placeHolder=void 0;let{fileDiff:n}=this,r=this.cachedHeaderHTML??i(e);if(this.cachedHeaderHTML=r,r!==this.lastRenderedHeaderHTML){let e=document.createElement(`div`);e.innerHTML=r;let n=e.firstElementChild;if(!(n instanceof HTMLElement))return;this.headerElement==null?t.shadowRoot?.prepend(n):t.shadowRoot?.replaceChild(n,this.headerElement),this.headerElement=n,this.lastRenderedHeaderHTML=r}if(this.isContainerManaged||n==null)return;let{renderCustomHeader:a,renderHeaderPrefix:o,renderHeaderMetadata:s}=this.options;if(a!=null){let e=a(n)??void 0;this.headerCustom=this.upsertHeaderSlotElement(t,this.headerCustom,S,e),this.headerPrefix?.remove(),this.headerMetadata?.remove(),this.headerPrefix=void 0,this.headerMetadata=void 0;return}let c=o?.(n)??void 0,l=s?.(n)??void 0;this.headerPrefix=this.upsertHeaderSlotElement(t,this.headerPrefix,b,c),this.headerMetadata=this.upsertHeaderSlotElement(t,this.headerMetadata,x,l),this.headerCustom?.remove(),this.headerCustom=void 0}clearHeaderSlots(){this.headerPrefix?.remove(),this.headerMetadata?.remove(),this.headerCustom?.remove(),this.headerPrefix=void 0,this.headerMetadata=void 0,this.headerCustom=void 0}upsertHeaderSlotElement(e,t,n,r){if(r==null){t?.remove();return}let i=t??this.createHeaderSlotElement(n);return t??e.appendChild(i),this.replaceHeaderSlotContent(i,r),i}replaceHeaderSlotContent(e,t){e.replaceChildren(),t instanceof Element?e.appendChild(t):e.innerText=`${t}`}createHeaderSlotElement(e){let t=document.createElement(`div`);return t.slot=e,t}injectUnsafeCSS(){let{unsafeCSS:e}=this.options,t=this.fileContainer?.shadowRoot;if(t!=null){if(e==null||e===``){this.unsafeCSSStyle!=null&&(this.unsafeCSSStyle.remove(),this.unsafeCSSStyle=void 0),this.appliedUnsafeCSS=void 0;return}this.unsafeCSSStyle?.parentNode===t&&this.appliedUnsafeCSS===e||(this.unsafeCSSStyle??=cn(),this.unsafeCSSStyle.parentNode!==t&&t.appendChild(this.unsafeCSSStyle),this.unsafeCSSStyle.textContent=hn(e),this.appliedUnsafeCSS=e)}}applyThemeState(e,t,n,r){let i=e.shadowRoot??e.attachShadow({mode:`open`}),a=r??n,o=this.options.theme??C,s=typeof o==`string`?o:{...o},c=dn(i);if(this.themeCSSStyle?.parentNode===i&&this.appliedThemeCSS?.themeStyles===t&&this.appliedThemeCSS.themeType===a&&this.appliedThemeCSS.scrollbarGutter===c){this.appliedThemeCSS.theme=s;return}if(this.hasAdoptedThemeCSS&&this.themeCSSStyle?.parentNode===i){this.hasAdoptedThemeCSS=!1,this.appliedThemeCSS={theme:s,themeStyles:t,themeType:a,baseThemeType:r,scrollbarGutter:c};return}this.themeCSSStyle=Cn({shadowRoot:i,currentNode:this.themeCSSStyle,themeCSS:gn(t,a,c)}),this.appliedThemeCSS=this.themeCSSStyle==null?void 0:{theme:s,themeStyles:t,themeType:a,baseThemeType:r,scrollbarGutter:c}}hydrateMeasuredScrollbar(){let e=this.fileContainer?.shadowRoot;e==null||this.themeCSSStyle==null||(this.themeCSSStyle.textContent=_n(this.themeCSSStyle.textContent??``,dn(e)))}applyHunksToDOM(e,t){let{overflow:n=`scroll`}=this.options,r=(this.options.hunkSeparators??`line-info`)===`line-info`,i=n===`wrap`?t.rowCount:void 0;this.cleanupErrorWrapper(),this.applyPreNodeAttributes(e,t);let a=!1,o=[],s=this.hunksRenderer.renderCodeAST(`unified`,t),c=this.hunksRenderer.renderCodeAST(`deletions`,t),l=this.hunksRenderer.renderCodeAST(`additions`,t);s==null?c!=null||l!=null?(c==null?(this.codeDeletions?.remove(),this.codeDeletions=void 0):(a=this.codeDeletions==null||this.codeUnified!=null,this.codeUnified?.remove(),this.codeUnified=void 0,this.codeDeletions=yn({code:this.codeDeletions,columnType:`deletions`,rowSpan:i,containerSize:r}),this.codeDeletions.innerHTML=this.hunksRenderer.renderPartialHTML(c),o.push(this.codeDeletions)),l==null?(this.codeAdditions?.remove(),this.codeAdditions=void 0):(a=a||this.codeAdditions==null||this.codeUnified!=null,this.codeUnified?.remove(),this.codeUnified=void 0,this.codeAdditions=yn({code:this.codeAdditions,columnType:`additions`,rowSpan:i,containerSize:r}),this.codeAdditions.innerHTML=this.hunksRenderer.renderPartialHTML(l),o.push(this.codeAdditions))):(this.codeUnified?.remove(),this.codeUnified=void 0,this.codeDeletions?.remove(),this.codeDeletions=void 0,this.codeAdditions?.remove(),this.codeAdditions=void 0):(a=this.codeUnified==null||this.codeAdditions!=null||this.codeDeletions!=null,this.codeDeletions?.remove(),this.codeDeletions=void 0,this.codeAdditions?.remove(),this.codeAdditions=void 0,this.codeUnified=yn({code:this.codeUnified,columnType:`unified`,rowSpan:i,containerSize:r}),this.codeUnified.innerHTML=this.hunksRenderer.renderPartialHTML(s),o.push(this.codeUnified)),o.length===0?e.textContent=``:a&&e.replaceChildren(...o),this.lastRowCount=t.rowCount}applyPartialRender({previousRenderRange:e,renderRange:t}){let{pre:n,codeUnified:r,codeAdditions:i,codeDeletions:a,options:{diffStyle:o=`split`}}=this;if(n==null||e==null||t==null||!Number.isFinite(e.totalLines)||!Number.isFinite(t.totalLines)||this.lastRowCount==null)return!1;let s=this.getCodeColumns(o,r,a,i);if(s==null)return!1;let c=e.startingLine,l=t.startingLine,u=c+e.totalLines,d=l+t.totalLines,f=Math.max(c,l),p=Math.min(u,d);if(p<=f)return!1;let m=Math.max(0,f-c),h=Math.max(0,u-p),g=this.trimColumns({columns:s,trimStart:m,trimEnd:h,previousStart:c,overlapStart:f,overlapEnd:p,diffStyle:o});if(g<0)throw Error(`applyPartialRender: failed to trim to overlap`);if(this.lastRowCount<g)throw Error(`applyPartialRender: trimmed beyond DOM row count`);let _=this.lastRowCount-g,v=(e,t)=>{if(!(t<=0||this.fileDiff==null))return this.hunksRenderer.renderDiff(this.fileDiff,{startingLine:e,totalLines:t,bufferBefore:0,bufferAfter:0})},y=v(l,Math.max(f-l,0));if(y==null&&l<f)return!1;let b=v(p,Math.max(d-p,0));if(b==null&&d>p)return!1;let x=(e,t)=>{if(e!=null){if(o===`unified`&&!Array.isArray(s))this.insertPartialHTML(o,s,e,t);else if(o===`split`&&Array.isArray(s))this.insertPartialHTML(o,s,e,t);else throw Error(`FileDiff.applyPartialRender.applyChunk: invalid chunk application`);_+=e.rowCount}};return this.cleanupErrorWrapper(),x(y,`afterbegin`),x(b,`beforeend`),this.lastRowCount!==_&&(this.applyRowSpan(o,s,_),this.lastRowCount=_),!0}insertPartialHTML(e,t,n,r){if(e===`unified`&&!Array.isArray(t)){let e=this.hunksRenderer.renderCodeAST(`unified`,n);this.renderPartialColumn(t,e,r)}else if(e===`split`&&Array.isArray(t)){let e=this.hunksRenderer.renderCodeAST(`deletions`,n),i=this.hunksRenderer.renderCodeAST(`additions`,n);this.renderPartialColumn(t[0],e,r),this.renderPartialColumn(t[1],i,r)}else throw Error(`FileDiff.insertPartialHTML: Invalid argument composition`)}renderPartialColumn(e,t,n){if(e==null||t==null)return;let r=Fi(t[0]),i=Fi(t[1]);if(r==null||i==null)throw Error(`FileDiff.insertPartialHTML: Unexpected AST structure`);let a=i.at(0);n===`beforeend`&&a?.type===`element`&&typeof a.properties[`data-buffer-size`]==`number`&&this.mergeBuffersIfNecessary(a.properties[`data-buffer-size`],e.content.children[e.content.children.length-1],e.gutter.children[e.gutter.children.length-1],r,i,!0);let o=i.at(-1);n===`afterbegin`&&o?.type===`element`&&typeof o.properties[`data-buffer-size`]==`number`&&this.mergeBuffersIfNecessary(o.properties[`data-buffer-size`],e.content.children[0],e.gutter.children[0],r,i,!1),e.gutter.insertAdjacentHTML(n,this.hunksRenderer.renderPartialHTML(r)),e.content.insertAdjacentHTML(n,this.hunksRenderer.renderPartialHTML(i))}mergeBuffersIfNecessary(e,t,n,r,i,a){if(!(t instanceof HTMLElement)||!(n instanceof HTMLElement))return;let o=this.getBufferSize(t.dataset);o!=null&&(a?(r.shift(),i.shift()):(r.pop(),i.pop()),this.updateBufferSize(t,o+e),this.updateBufferSize(n,o+e))}applyRowSpan(e,t,n){let r=e=>{e!=null&&(e.gutter.style.setProperty(`grid-row`,`span ${n}`),e.content.style.setProperty(`grid-row`,`span ${n}`))};if(e===`unified`&&!Array.isArray(t))r(t);else if(e===`split`&&Array.isArray(t))r(t[0]),r(t[1]);else throw Error(`dun fuuuuked up`)}trimColumnRows(e,t,n){let r=0,i=0,a=0,o=!1,s=n>=0;if(e==null)return 0;let c=Array.from(e.content.children),l=Array.from(e.gutter.children);if(c.length!==l.length)throw Error(`FileDiff.trimColumnRows: columns do not match`);for(;a<c.length&&!(t<=0&&!s&&!o);){let e=l[a],u=c[a];if(a++,!(e instanceof HTMLElement)||!(u instanceof HTMLElement))throw console.error({gutterElement:e,contentElement:u}),Error(`FileDiff.trimColumnRows: invalid row elements`);if(o&&(o=!1,e.dataset.gutterBuffer===`annotation`&&`lineAnnotation`in u.dataset||e.dataset.gutterBuffer===`metadata`&&`noNewline`in u.dataset)){e.remove(),u.remove(),i++;continue}if(`lineIndex`in e.dataset&&`lineIndex`in u.dataset){(t>0||s&&r>=n)&&(e.remove(),u.remove(),t>0&&(t--,t===0&&(o=!0)),i++),r++;continue}if(`separator`in e.dataset&&`separator`in u.dataset){(t>0||s&&r>=n)&&(e.remove(),u.remove(),i++);continue}if(e.dataset.gutterBuffer===`annotation`&&`lineAnnotation`in u.dataset){(t>0||s&&r>=n)&&(e.remove(),u.remove(),i++);continue}if(e.dataset.gutterBuffer===`metadata`&&`noNewline`in u.dataset){(t>0||s&&r>=n)&&(e.remove(),u.remove(),i++);continue}if(e.dataset.gutterBuffer===`buffer`&&`contentBuffer`in u.dataset){let a=this.getBufferSize(u.dataset);if(a==null)throw Error(`FileDiff.trimColumnRows: invalid element`);if(t>0){let n=Math.min(t,a),r=a-n;r>0?(this.updateBufferSize(e,r),this.updateBufferSize(u,r),i+=n):(e.remove(),u.remove(),i+=a),t-=n,t===0&&r===0&&(o=!0)}else if(s){let t=r,o=r+a-1;if(n<=t)e.remove(),u.remove(),i+=a;else if(n<=o){let t=o-n+1,r=a-t;this.updateBufferSize(e,r),this.updateBufferSize(u,r),i+=t}}r+=a;continue}throw console.error({gutterElement:e,contentElement:u}),Error(`FileDiff.trimColumnRows: unknown row elements`)}return i}trimColumns({columns:e,diffStyle:t,overlapEnd:n,overlapStart:r,previousStart:i,trimEnd:a,trimStart:o}){let s=Math.max(0,r-i),c=n-i;if(c<0)throw Error(`FileDiff.trimColumns: overlap ends before previous`);let l=o>0,u=a>0;if(!l&&!u)return 0;let d=l?s:0,f=u?c:-1;if(t===`unified`&&!Array.isArray(e))return this.trimColumnRows(e,d,f);if(t===`split`&&Array.isArray(e)){let t=this.trimColumnRows(e[0],d,f),n=this.trimColumnRows(e[1],d,f);if(e[0]!=null&&e[1]!=null&&t!==n)throw Error(`FileDiff.trimColumns: split columns out of sync`);return e[0]==null?n:t}else throw console.error({diffStyle:t,columns:e}),Error(`FileDiff.trimColumns: Invalid columns for diffType`)}getBufferSize(e){let t=Number.parseInt(e?.bufferSize??``,10);return Number.isNaN(t)?void 0:t}updateBufferSize(e,t){e.dataset.bufferSize=`${t}`,e.style.setProperty(`grid-row`,`span ${t}`),e.style.setProperty(`min-height`,`calc(${t} * 1lh)`)}getCodeColumns(e,t,n,r){function i(e){if(e==null)return;let t=e.children[0],n=e.children[1];if(!(!(t instanceof HTMLElement)||!(n instanceof HTMLElement)||t.dataset.gutter==null||n.dataset.content==null))return{gutter:t,content:n}}if(e===`unified`)return i(t);{let e=i(n),t=i(r);return e!=null||t!=null?[e,t]:void 0}}applyBuffers(e,t){if(t==null||this.shouldDisableVirtualizationBuffers()){this.bufferBefore!=null&&(this.bufferBefore.remove(),this.bufferBefore=void 0),this.bufferAfter!=null&&(this.bufferAfter.remove(),this.bufferAfter=void 0);return}t.bufferBefore>0?(this.bufferBefore??(this.bufferBefore=document.createElement(`div`),this.bufferBefore.dataset.virtualizerBuffer=`before`,e.before(this.bufferBefore)),this.bufferBefore.style.setProperty(`height`,`${t.bufferBefore}px`),this.bufferBefore.style.setProperty(`contain`,`strict`)):this.bufferBefore!=null&&(this.bufferBefore.remove(),this.bufferBefore=void 0),t.bufferAfter>0?(this.bufferAfter??(this.bufferAfter=document.createElement(`div`),this.bufferAfter.dataset.virtualizerBuffer=`after`,e.after(this.bufferAfter)),this.bufferAfter.style.setProperty(`height`,`${t.bufferAfter}px`),this.bufferAfter.style.setProperty(`contain`,`strict`)):this.bufferAfter!=null&&(this.bufferAfter.remove(),this.bufferAfter=void 0)}shouldDisableVirtualizationBuffers(){return this.options.disableVirtualizationBuffers??!1}applyPreNodeAttributes(e,{additionsContentAST:t,deletionsContentAST:n,totalLines:r},i){let{diffIndicators:a=`bars`,disableBackground:o=!1,disableLineNumbers:s=!1,overflow:c=`scroll`,diffStyle:l=`split`}=this.options,u={type:`diff`,diffIndicators:a,disableBackground:o,disableLineNumbers:s,overflow:c,split:l!==`unified`&&t!=null&&n!=null,totalLines:r,customProperties:i};nn(u,this.appliedPreAttributes)||(xn(e,u),this.appliedPreAttributes=u)}applyErrorToDOM(e,t){this.cleanupErrorWrapper(),this.pre?.remove(),this.pre=void 0,this.appliedPreAttributes=void 0;let n=t.shadowRoot??t.attachShadow({mode:`open`});this.errorWrapper??=document.createElement(`div`),this.errorWrapper.dataset.errorWrapper=``,this.errorWrapper.textContent=``,n.appendChild(this.errorWrapper);let r=document.createElement(`div`);r.dataset.errorMessage=``,r.innerText=e.message,this.errorWrapper.appendChild(r);let i=document.createElement(`pre`);i.dataset.errorStack=``,i.innerText=e.stack??`No Error Stack`,this.errorWrapper.appendChild(i)}cleanupErrorWrapper(){this.errorWrapper?.remove(),this.errorWrapper=void 0}};function ji({fileDiff:e,oldFile:t,newFile:n}){return e!=null&&e.hunks.length>0||t!=null||n!=null}function Mi({fileDiff:e,oldFile:t,newFile:n}){return e!=null||t!=null||n!=null}function Ni(e,t,n=!1){return!n&&e==null&&t}function Pi(e,t,n=!1){return e==null&&t&&!n}function Fi(e){if(!(e==null||e.type!==`element`))return e.children??[]}function Ii({fileDiff:e,metrics:t,disableFileHeader:n,hunkSeparators:r,expandUnchanged:i,expandedHunks:a,collapsedContextThreshold:o}){let s=G(t,n),c=s,l=i?!0:a,u=e.hunks.length-1;for(let n=0;n<e.hunks.length;n++){let i=e.hunks[n];if(i==null)throw Error(`computeEstimatedDiffHeights: invalid hunk index`);let a=qr({isPartial:e.isPartial,rangeSize:i.collapsedBefore,expandedHunks:l,hunkIndex:n,collapsedContextThreshold:o}),d=(a.fromStart+a.fromEnd)*t.lineHeight;if(s+=d,c+=d,a.collapsedLines>0){let e=ei({type:r,metrics:t,hunkIndex:n,hunkSpecs:i.hunkSpecs})?.totalHeight??0;s+=e,c+=e}s+=i.splitLineCount*t.lineHeight,c+=i.unifiedLineCount*t.lineHeight;let f=Li(i);s+=f.split*t.lineHeight,c+=f.unified*t.lineHeight;let p=n===u?Yr({fileDiff:e,hunkIndex:n,expandedHunks:l,collapsedContextThreshold:o,errorPrefix:`computeEstimatedDiffHeights`}):void 0;if(p!=null){let e=(p.fromStart+p.fromEnd)*t.lineHeight;if(s+=e,c+=e,p.collapsedLines>0){let e=ti({type:r,metrics:t})?.totalHeight??0;s+=e,c+=e}}}if(e.hunks.length>0){let e=Dn(t);s+=e,c+=e}return{splitHeight:s,unifiedHeight:c}}function Li(e){if(!e.noEOFCRAdditions&&!e.noEOFCRDeletions)return{split:0,unified:0};let t=e.hunkContent.at(-1);if(t==null)return{split:0,unified:0};if(t.type===`context`){let e=+(t.lines>0);return{split:e,unified:e}}return Ri(e,t)}function Ri(e,t){let n=(t.deletions>0&&e.noEOFCRDeletions?1:0)+(t.additions>0&&e.noEOFCRAdditions?1:0),r=t.deletions>0&&e.noEOFCRDeletions,i=t.additions>0&&e.noEOFCRAdditions;return{split:r||i?1:0,unified:n}}var zi=5e3,Bi=-1,Vi=class extends Ai{__id=`little-virtualized-file-diff:${++Bi}`;top;height=0;metrics;cache={heightDeltas:new Map,measuredHeightDeltaTotal:0,estimatedSplitHeight:void 0,estimatedUnifiedHeight:void 0,checkpoints:[],totalLines:0,fileAnnotationHeight:0};isVisible=!1;isSetup=!1;virtualizer;layoutDirty=!0;forceRenderOverride;currentCollapsed;constructor(e,t,n,r,i=!1){super(e,r,i),this.virtualizer=t,this.metrics=Tn(n)}setMetrics(e,t=!1){let n=Tn(e);!t&&j(this.metrics,n)||(this.metrics=n,this.resetLayoutCache({includeEstimatedHeights:!0}))}setLineAnnotations(e){this.syncLineAnnotations(e)&&this.resetLayoutCache({includeEstimatedHeights:!1})}syncLineAnnotations(e){return e==null||e===this.lineAnnotations||e.length===0&&this.lineAnnotations.length===0?!1:(super.setLineAnnotations(e),!0)}setFileAnnotationHeight(e){let t=this.cache.fileAnnotationHeight;return e===t?!1:(this.cache.fileAnnotationHeight=e,this.cache.measuredHeightDeltaTotal+=e-t,!0)}hasFileAnnotations(e=this.fileDiff){return e==null||!Xt(this.lineAnnotations)?!1:this.lineAnnotations.some(t=>t.lineNumber===0?e.type===`new`?t.side===`additions`:e.type!==`deleted`||t.side===`deletions`:!1)}getLineHeight(e,t=!1){return this.getEstimatedLineHeight(t)+(this.cache.heightDeltas.get(e)??0)}getEstimatedLineHeight(e=!1){let t=e?2:1;return this.metrics.lineHeight*t}setOptions(e){if(this.isAdvancedMode())throw Error(`VirtualizedFileDiff.setOptions cannot be used inside CodeView. Update CodeView options instead.`);if(e==null)return;let{options:t}=this,n=!re(t,e),r=n&&Yi(t,e);super.setOptions(e),r&&this.resetLayoutCache({forceSimpleRecompute:!0,includeEstimatedHeights:Xi(t,e)}),n&&(this.forceRenderOverride=!0),n&&this.isSimpleMode()&&this.virtualizer.instanceChanged(this,r)}setThemeType(e){if(this.isAdvancedMode())throw Error(`VirtualizedFileDiff.setThemeType cannot be used inside CodeView. Update CodeView options instead.`);super.setThemeType(e)}resetLayoutCache({forceSimpleRecompute:e=!1,includeEstimatedHeights:t=!1}={}){this.layoutDirty=!0,this.cache.fileAnnotationHeight=0,this.cache.heightDeltas.size>0&&this.cache.heightDeltas.clear(),this.cache.measuredHeightDeltaTotal!==0&&(this.cache.measuredHeightDeltaTotal=0),this.cache.checkpoints.length>0&&(this.cache.checkpoints.length=0),this.cache.totalLines!==0&&(this.cache.totalLines=0),t&&(this.cache.estimatedSplitHeight=void 0,this.cache.estimatedUnifiedHeight=void 0),this.renderRange!=null&&(this.renderRange=void 0),e&&this.isSimpleMode()&&this.computeApproximateSize()}reconcileHeights(){let e=!1,{overflow:t=`scroll`}=this.options;if(this.fileContainer==null||this.fileDiff==null)return this.height!==0&&(e=!0),this.height=0,e;if(this.top=this.getVirtualizedTop(),t===`scroll`&&this.lineAnnotations.length===0&&!this.isResizeDebuggingEnabled())return e;let n=this.getDiffStyle(),r=n===`split`?[this.codeDeletions,this.codeAdditions]:[this.codeUnified],i=this.hasFileAnnotations(this.fileDiff);if(this.renderRange!=null&&i&&Qt(this.renderRange)){let t=Hi(r)??0;this.setFileAnnotationHeight(t)&&(e=!0)}else!i&&this.setFileAnnotationHeight(0)&&(e=!0);for(let t of r){if(t==null)continue;let r=t.children[1];if(r instanceof HTMLElement)for(let t of r.children){if(!(t instanceof HTMLElement))continue;let r=t.dataset.lineIndex;if(r==null)continue;let i=Qi(r,n),a=t.getBoundingClientRect().height,o=!1;t.nextElementSibling instanceof HTMLElement&&(`lineAnnotation`in t.nextElementSibling.dataset||`noNewline`in t.nextElementSibling.dataset)&&(`noNewline`in t.nextElementSibling.dataset&&(o=!0),a+=t.nextElementSibling.getBoundingClientRect().height);let s=this.getEstimatedLineHeight(o),c=this.cache.heightDeltas.get(i)??0,l=a-s;l!==c&&(e=!0,this.cache.measuredHeightDeltaTotal+=l-c,l===0?this.cache.heightDeltas.delete(i):this.cache.heightDeltas.set(i,l))}}return(e||this.isResizeDebuggingEnabled())&&this.computeApproximateSize(!0),e}onRender=e=>this.fileContainer==null?!1:(e&&(this.top=this.getVirtualizedTop()),this.render());prepareCodeViewItem(e,t,n,r){let i=!kn(this.fileDiff,e),a=this.syncLineAnnotations(r),o=n?.resetDiffLayoutCache===!0||i||a,s=i||n?.resetDiffLayoutCache===!0&&n.includeEstimatedDiffHeights;n?.metrics!=null&&(this.metrics=Tn(n.metrics),o=!0,s=!0);let{collapsed:c=!1}=this.options;return this.currentCollapsed!==c&&(this.currentCollapsed=c,o=!0),o&&this.resetLayoutCache({includeEstimatedHeights:s}),this.fileDiff=e,this.top=t,this.computeApproximateSize(),this.height}getLinePosition(e,t=`additions`){if(this.fileDiff==null||e<1)return;let n=this.getLineIndex(e,t);if(n==null)return;let{disableFileHeader:r=!1,expandUnchanged:i=!1,collapsed:a=!1,collapsedContextThreshold:o=1}=this.options,s=this.getDiffStyle(),c=this.getHunkSeparatorType(),l=s===`split`?n[1]:n[0];this.approximateLayoutCheckpoints();let u=G(this.metrics,r),d=this.getLayoutCheckpointBeforeLineIndex(l),f=d?.top??u+this.cache.fileAnnotationHeight;if(a)return{top:u,height:0};let p;return ni({diff:this.fileDiff,diffStyle:s,startingLine:d?.renderedLineIndex??0,expandedHunks:i?!0:this.hunksRenderer.getExpandedHunksMap(),collapsedContextThreshold:o,callback:({hunkIndex:e,hunk:t,collapsedBefore:n,collapsedAfter:r,deletionLine:i,additionLine:a})=>{let o=s===`split`?a?.splitLineIndex??i?.splitLineIndex:a?.unifiedLineIndex??i?.unifiedLineIndex;if(o==null)throw Error(`VirtualizedFileDiff.getLinePosition: missing line index data`);if(n>0){let r=ei({type:c,metrics:this.metrics,hunkIndex:e,hunkSpecs:t?.hunkSpecs});if(r!=null){if(f+=r.gapBefore,l>=o-n&&l<o)return p={top:f,height:r.height},!0;f+=r.height+r.gapAfter}}let u=this.getLineHeight(o,(a?.noEOFCR??!1)||(i?.noEOFCR??!1));if(o===l)return p={top:f,height:u},!0;if(f+=u,r>0){let e=ti({type:c,metrics:this.metrics});if(e!=null){if(l>o&&l<=o+r)return p={top:f+e.gapBefore,height:e.height},!0;f+=e.totalHeight}}return!1}}),p}getNumericScrollAnchor(e){if(this.fileDiff==null)return;let{disableFileHeader:t=!1,expandUnchanged:n=!1,collapsed:r=!1,collapsedContextThreshold:i=1}=this.options;if(r)return;let a=this.getDiffStyle(),o=this.getHunkSeparatorType();this.approximateLayoutCheckpoints();let s=this.getLayoutCheckpointBeforeTop(e),c=s?.top??G(this.metrics,t)+this.cache.fileAnnotationHeight,l;return ni({diff:this.fileDiff,diffStyle:a,startingLine:s?.renderedLineIndex??0,expandedHunks:n?!0:this.hunksRenderer.getExpandedHunksMap(),collapsedContextThreshold:i,callback:({hunkIndex:t,hunk:n,collapsedBefore:r,collapsedAfter:i,deletionLine:s,additionLine:u})=>{let d=a===`split`?u?.splitLineIndex??s?.splitLineIndex:u?.unifiedLineIndex??s?.unifiedLineIndex;if(d==null)throw Error(`VirtualizedFileDiff.getNumericScrollAnchor: missing line index data`);if(r>0){let e=ei({type:o,metrics:this.metrics,hunkIndex:t,hunkSpecs:n?.hunkSpecs});e!=null&&(c+=e.totalHeight)}if(c>=e&&(s==null?u!=null&&(l={lineNumber:u.lineNumber,side:`additions`,top:c}):l={lineNumber:s.lineNumber,side:`deletions`,top:c},l!=null))return!0;let f=this.getLineHeight(d,(u?.noEOFCR??!1)||(s?.noEOFCR??!1));if(c+=f,i>0){let e=ti({type:o,metrics:this.metrics});e!=null&&(c+=e.totalHeight)}return!1}}),l}getVirtualizedHeight(){return this.height}getAdvancedStickySpecs(e){if(this.top==null||this.fileDiff==null)return;if(this.options.collapsed===!0)return{topOffset:this.top,height:this.height};let t=e==null?this.renderRange:this.computeRenderRangeFromWindow(this.fileDiff,this.top,e);if(t==null)return;let{bufferBefore:n,bufferAfter:r,totalLines:i}=t,a=0;if(i===0){let t=e??this.virtualizer.getWindowSpecs();this.top<t.top&&(a=r)}return{topOffset:this.top+n+a,height:this.height-(n+r)}}cleanUp(e=!1){this.fileContainer!=null&&this.isSimpleMode()&&this.getSimpleVirtualizer()?.disconnect(this.fileContainer),e||this.resetLayoutCache({includeEstimatedHeights:!0}),this.isSetup=!1,super.cleanUp(e)}expandHunk=(e,t,n)=>{this.hunksRenderer.expandHunk(e,t,n),this.forceRenderOverride=!0,this.resetLayoutCache({includeEstimatedHeights:!0}),this.isSimpleMode()&&this.computeApproximateSize(),this.virtualizer.instanceChanged(this,!0)};setVisibility(e){this.isAdvancedMode()||this.fileContainer==null||(this.renderRange=void 0,e&&!this.isVisible?(this.top=this.getVirtualizedTop(),this.isVisible=!0):!e&&this.isVisible&&(this.isVisible=!1,this.rerender()))}rerender(){!this.enabled||this.fileDiff==null&&this.additionFile==null&&this.deletionFile==null||(this.forceRenderOverride=!0,this.virtualizer.instanceChanged(this,!1))}computeApproximateSize(e=!1){let t=this.isResizeDebuggingEnabled();if(!e&&!this.layoutDirty&&!t)return;let n=this.height===0;if(this.height=0,this.cache.checkpoints=[],this.cache.totalLines=0,this.fileDiff==null){this.layoutDirty=!1;return}let{disableFileHeader:r=!1,collapsed:i=!1}=this.options,a=G(this.metrics,r);if(this.height+=a,i){this.layoutDirty=!1;return}this.height=this.getActiveEstimatedHeight()+this.cache.measuredHeightDeltaTotal,t&&!n&&this.validateComputedHeight(),this.layoutDirty=!1}getActiveEstimatedHeight(){this.ensureEstimatedDiffHeights();let e=this.getDiffStyle()===`split`?this.cache.estimatedSplitHeight:this.cache.estimatedUnifiedHeight;if(e==null)throw Error(`VirtualizedFileDiff.getActiveEstimatedHeight: missing estimated height`);return e}ensureEstimatedDiffHeights(){if(this.fileDiff==null){this.cache.estimatedSplitHeight=void 0,this.cache.estimatedUnifiedHeight=void 0;return}if(this.cache.estimatedSplitHeight!=null&&this.cache.estimatedUnifiedHeight!=null)return;let{disableFileHeader:e=!1,expandUnchanged:t=!1,collapsedContextThreshold:n=1}=this.options,{splitHeight:r,unifiedHeight:i}=Ii({fileDiff:this.fileDiff,metrics:this.metrics,disableFileHeader:e,hunkSeparators:this.getHunkSeparatorType(),expandUnchanged:t,expandedHunks:this.hunksRenderer.getExpandedHunksMap(),collapsedContextThreshold:n});this.cache.estimatedSplitHeight=r,this.cache.estimatedUnifiedHeight=i}validateComputedHeight(){if(this.fileContainer==null||this.fileDiff==null)return;let e=this.fileContainer.getBoundingClientRect();e.height===this.height?console.log(`VirtualizedFileDiff.computeApproximateSize: computed height IS CORRECT`):console.log(`VirtualizedFileDiff.computeApproximateSize: computed height doesnt match`,{name:this.fileDiff.name,elementHeight:e.height,computedHeight:this.height})}render({fileContainer:e,oldFile:t,newFile:n,fileDiff:r,forceRender:i=!1,lineAnnotations:a,...o}={}){let{forceRenderOverride:s,isSetup:c}=this;this.forceRenderOverride=void 0;let l=this.syncLineAnnotations(a);if(l&&this.resetLayoutCache({includeEstimatedHeights:!1}),this.fileDiff??=r??(t!=null&&n!=null?Ir(t,n,this.options.parseDiffOptions):void 0),e=this.getOrCreateFileContainer(e),this.fileDiff==null)return console.error(`VirtualizedFileDiff.render: attempting to virtually render when we dont have the correct data`),!1;if(c)this.top??=this.getVirtualizedTop();else{this.computeApproximateSize();let t=this.getSimpleVirtualizer();if(this.top??=this.getVirtualizedTop(),this.isAdvancedMode())this.isVisible=!0;else{if(t==null)throw Error(`VirtualizedFileDiff.render: simple virtualizer is not available`);t.connect(e,this),this.isVisible=t.isInstanceVisible(this.top??0,this.height)}this.isSetup=!0}if(!this.isVisible&&this.isSimpleMode())return this.renderPlaceholder(this.height);let u=this.virtualizer.getWindowSpecs(),d=this.top??0,f=this.computeRenderRangeFromWindow(this.fileDiff,d,u);return super.render({fileDiff:this.fileDiff,fileContainer:e,renderRange:f,oldFile:t,newFile:n,lineAnnotations:a,forceRender:(s??i)||l,...o})}syncVirtualizedTop(){this.top=this.getVirtualizedTop()}shouldDisableVirtualizationBuffers(){return this.isAdvancedMode()||super.shouldDisableVirtualizationBuffers()}isSimpleMode(){return this.virtualizer.type===`simple`}isAdvancedMode(){return this.virtualizer.type===`advanced`}getVirtualizedTop(){return this.virtualizer.type===`advanced`?this.virtualizer.getLocalTopForInstance(this):this.fileContainer==null?0:this.virtualizer.getOffsetInScrollContainer(this.fileContainer)}getSimpleVirtualizer(){return this.virtualizer.type===`simple`?this.virtualizer:void 0}isResizeDebuggingEnabled(){return this.getSimpleVirtualizer()?.config.resizeDebugging??!1}getDiffStyle(){return this.options.diffStyle??`split`}getHunkSeparatorType(){return Zi(this.options.hunkSeparators)}approximateLayoutCheckpoints(){if(this.cache.checkpoints.length>0||this.fileDiff==null||this.fileDiff.hunks.length===0||this.options.collapsed===!0)return;let{disableFileHeader:e=!1,expandUnchanged:t=!1,collapsedContextThreshold:n=1}=this.options,r=this.fileDiff.hunks.length-1,i=this.getDiffStyle(),a=this.getHunkSeparatorType(),o=t?!0:this.hunksRenderer.getExpandedHunksMap(),s=Ui(this.cache.heightDeltas),c=G(this.metrics,e)+this.cache.fileAnnotationHeight,l=0,u=({rowCount:e,startLineIndex:t,preSeparatorHeight:n=0,postSeparatorHeight:r=0,metadataOffsets:i=[]})=>{if(e<=0)return;let a=l,o=l+e,u=Ki(a);for(;u<o;){let e=u-a,r=c+(e>0?n:0)+e*this.metrics.lineHeight+qi(i,e)*this.metrics.lineHeight+Wi(s,t,t+e);this.cache.checkpoints.push({renderedLineIndex:u,lineIndex:t+e,top:r}),u+=zi}c+=n+e*this.metrics.lineHeight+i.length*this.metrics.lineHeight+Wi(s,t,t+e)+r,l=o};for(let e=0;e<this.fileDiff.hunks.length;e++){let t=this.fileDiff.hunks[e];if(t==null)throw Error(`VirtualizedFileDiff.approximateLayoutCheckpoints: invalid hunk index`);let s=qr({isPartial:this.fileDiff.isPartial,rangeSize:t.collapsedBefore,expandedHunks:o,hunkIndex:e,collapsedContextThreshold:n}),c=s.collapsedLines>0?ei({type:a,metrics:this.metrics,hunkIndex:e,hunkSpecs:t.hunkSpecs})?.totalHeight??0:0;u({rowCount:s.fromStart,startLineIndex:(i===`split`?t.splitLineStart:t.unifiedLineStart)-s.rangeSize});let l=c;u({rowCount:s.fromEnd,startLineIndex:(i===`split`?t.splitLineStart:t.unifiedLineStart)-s.fromEnd,preSeparatorHeight:l}),s.fromEnd>0&&(l=0);let d=e===r?Yr({fileDiff:this.fileDiff,hunkIndex:e,expandedHunks:o,collapsedContextThreshold:n,errorPrefix:`VirtualizedFileDiff`}):void 0,f=d!=null&&d.collapsedLines>0?ti({type:a,metrics:this.metrics})?.totalHeight??0:0,p=d==null?0:d.fromStart+d.fromEnd,m=i===`split`?t.splitLineCount:t.unifiedLineCount,h=i===`split`?t.splitLineStart:t.unifiedLineStart;u({rowCount:m,startLineIndex:h,preSeparatorHeight:l,postSeparatorHeight:p===0?f:0,metadataOffsets:Ji({diffStyle:i,hunk:t,rowCount:m})}),d!=null&&p>0&&u({rowCount:p,startLineIndex:h+m,postSeparatorHeight:f})}this.cache.totalLines=l}getLayoutCheckpointBeforeLineIndex(e){if(e<=0||this.cache.checkpoints.length===0)return;let t=0,n=this.cache.checkpoints.length-1,r;for(;t<=n;){let i=t+n>>1,a=this.cache.checkpoints[i];if(a==null)throw Error(`VirtualizedFileDiff: invalid checkpoint index`);a.lineIndex<=e?(r=a,t=i+1):n=i-1}return r}getLayoutCheckpointBeforeTop(e,t){let n=0,r=this.cache.checkpoints.length-1,i=-1;for(;n<=r;){let t=n+r>>1,a=this.cache.checkpoints[t];if(a==null)throw Error(`VirtualizedFileDiff: invalid checkpoint index`);a.top<=e?(i=t,n=t+1):r=t-1}if(t==null)return i>=0?this.cache.checkpoints[i]:void 0;for(let e=i;e>=0;e--){let n=this.cache.checkpoints[e];if(n==null)throw Error(`VirtualizedFileDiff: invalid checkpoint index`);if(n.renderedLineIndex%t===0)return n}}getExpandedLineCount(e,t){let n=0;if(e.isPartial){for(let r of e.hunks)n+=t===`split`?r.splitLineCount:r.unifiedLineCount;return n}let{expandUnchanged:r=!1,collapsedContextThreshold:i=1}=this.options,a=r?!0:this.hunksRenderer.getExpandedHunksMap();for(let[r,o]of e.hunks.entries()){let s=t===`split`?o.splitLineCount:o.unifiedLineCount;n+=s;let c=Math.max(o.collapsedBefore,0),{fromStart:l,fromEnd:u,renderAll:d}=qr({isPartial:e.isPartial,rangeSize:c,expandedHunks:a,hunkIndex:r,collapsedContextThreshold:i});c>0&&(n+=d?c:l+u)}let o=Yr({fileDiff:e,hunkIndex:e.hunks.length-1,expandedHunks:a,collapsedContextThreshold:i,errorPrefix:`VirtualizedFileDiff`});return o!=null&&(n+=o.fromStart+o.fromEnd),n}computeRenderRangeFromWindow(e,t,{top:n,bottom:r}){let{disableFileHeader:i=!1,expandUnchanged:a=!1,collapsedContextThreshold:o=1}=this.options,{hunkLineCount:s,lineHeight:c}=this.metrics,l=this.getDiffStyle(),u=this.getHunkSeparatorType(),d=this.height,f=this.cache.totalLines>0?this.cache.totalLines:this.getExpandedLineCount(e,l),p=G(this.metrics,i),m=e.hunks.length>0?Dn(this.metrics):0,{fileAnnotationHeight:h}=this.cache,g=p+h,_=Math.max(0,d-p-h-m),v=this.hasFileAnnotations(e),y=t+p,b=h>0&&v&&y<r&&y+h>n;if(t<n-d||t>r)return{startingLine:0,totalLines:0,bufferBefore:0,bufferAfter:d-p-m};if(f<=s||e.hunks.length===0)return{startingLine:0,totalLines:s,bufferBefore:0,bufferAfter:0};this.approximateLayoutCheckpoints(),f=this.cache.totalLines>0?this.cache.totalLines:f;let x=Math.ceil(Math.max(r-n,0)/c),S=Math.ceil(x/s)*s+s,C=S/s,w=C,T=[],E=(n+r)/2,D=this.getLayoutCheckpointBeforeTop(Math.max(0,n-t-S*c*2),s),O=t+(D?.top??g),ee=D?.renderedLineIndex??0,te,k,A;if(ni({diff:e,diffStyle:l,startingLine:D?.renderedLineIndex??0,expandedHunks:a?!0:this.hunksRenderer.getExpandedHunksMap(),collapsedContextThreshold:o,callback:({hunkIndex:e,hunk:i,collapsedBefore:a,collapsedAfter:o,deletionLine:c,additionLine:d})=>{let f=d==null?c.splitLineIndex:d.splitLineIndex,p=d==null?c.unifiedLineIndex:d.unifiedLineIndex,m=(d?.noEOFCR??!1)||(c?.noEOFCR??!1),h=(a>0?ei({type:u,metrics:this.metrics,hunkIndex:e,hunkSpecs:i?.hunkSpecs}):void 0)?.totalHeight??0;O+=h;let _=ee%s===0,v=Math.floor(ee/s);if(_&&(T[v]=O-(t+g+h),A!=null)){if(A<=0)return!0;A--}let y=this.getLineHeight(l===`split`?f:p,m);return O>n-y&&O<r&&(te??=v),k==null&&O+y>E&&(k=v),A==null&&O>=r&&_&&(A=w),ee++,O+=y,o>0&&(O+=ti({type:u,metrics:this.metrics})?.totalHeight??0),!1}}),te==null)if(b)te=0,k=0;else return{startingLine:0,totalLines:0,bufferBefore:0,bufferAfter:d-p-m};k??=te;let j=Math.round(k-C/2),ne=Math.max(0,Math.ceil(f/s)-C),re=Math.max(0,Math.min(j,ne)),ie=re*s,ae=j<0?S+j*s:S,M=T[re]??0,N=ie===0?0:h+M,P=re+ae/s,oe=P<T.length?_-T[P]:_-(O-t-g);return{startingLine:ie,totalLines:ae,bufferBefore:N,bufferAfter:Math.max(0,oe)}}};function Hi(e){let t;for(let n of e){if(n==null)continue;let e=n.children[1];if(e instanceof HTMLElement)for(let n of e.children)n instanceof HTMLElement&&n.dataset.lineAnnotation===Yt&&(t=Math.max(t??0,n.getBoundingClientRect().height))}return t}function Ui(e){let t=Array.from(e).sort((e,t)=>e[0]-t[0]),n=[],r=[0],i=0;for(let[e,a]of t)n.push(e),i+=a,r.push(i);return{lineIndexes:n,prefixTotals:r}}function Wi({lineIndexes:e,prefixTotals:t},n,r){if(n>=r||e.length===0)return 0;let i=Gi(e,n);return(t[Gi(e,r)]??0)-(t[i]??0)}function Gi(e,t){let n=0,r=e.length;for(;n<r;){let i=n+r>>1,a=e[i];if(a==null)throw Error(`VirtualizedFileDiff: invalid prefix index`);a<t?n=i+1:r=i}return n}function Ki(e){return Math.ceil(e/zi)*zi}function qi(e,t){let n=0;for(let r of e)r<t&&n++;return n}function Ji({diffStyle:e,hunk:t,rowCount:n}){if(n<=0||!t.noEOFCRAdditions&&!t.noEOFCRDeletions)return[];let r=t.hunkContent.at(-1);if(r==null)return[];if(r.type===`context`)return[n-1];let i=Math.max(r.deletions,r.additions),a=r.deletions+r.additions;if(e===`split`)return i>0&&(t.noEOFCRAdditions||t.noEOFCRDeletions)?[n-1]:[];let o=[],s=n-a;return r.deletions>0&&t.noEOFCRDeletions&&o.push(s+r.deletions-1),r.additions>0&&t.noEOFCRAdditions&&o.push(n-1),o}function Yi(e,t){return(e.diffStyle??`split`)!==(t.diffStyle??`split`)||(e.overflow??`scroll`)!==(t.overflow??`scroll`)||(e.collapsed??!1)!==(t.collapsed??!1)||(e.disableLineNumbers??!1)!==(t.disableLineNumbers??!1)||(e.disableFileHeader??!1)!==(t.disableFileHeader??!1)||(e.diffIndicators??`bars`)!==(t.diffIndicators??`bars`)||(e.hunkSeparators??`line-info`)!==(t.hunkSeparators??`line-info`)||(e.expandUnchanged??!1)!==(t.expandUnchanged??!1)||(e.collapsedContextThreshold??1)!==(t.collapsedContextThreshold??1)||e.unsafeCSS!==t.unsafeCSS}function Xi(e,t){return(e.disableFileHeader??!1)!==(t.disableFileHeader??!1)||(e.hunkSeparators??`line-info`)!==(t.hunkSeparators??`line-info`)||(e.expandUnchanged??!1)!==(t.expandUnchanged??!1)||(e.collapsedContextThreshold??1)!==(t.collapsedContextThreshold??1)}function Zi(e){return typeof e==`function`?`custom`:e??`line-info`}function Qi(e,t){let[n,r]=e.split(`,`).map(Number);return t===`split`?r:n}function $i({hunkIndex:e,lineIndex:t,conflictIndex:n}){return`merge-conflict-action-${e}-${t}-${n}`}function ea(e,t){let n=t.hunks[e.hunkIndex];if(n!=null)return{hunkIndex:e.hunkIndex,lineIndex:ta(n,e.startContentIndex)}}function ta(e,t){let n=e.unifiedLineStart;for(let r=0;r<t;r++){let t=e.hunkContent[r];n+=t.type===`context`?t.lines:t.deletions+t.additions}return n}function na(e){let t=zn(e);if(t.length!==1)throw console.error(t),Error(`PatchDiff: Provided patch must include only 1 patch, with 1 diff`);let{files:n}=t[0];if(n.length!==1)throw console.error(n),Error(`FileDiff: Provided patch must contain exactly 1 file diff`);return n[0]}var ra={position:`absolute`,top:0,bottom:0,textAlign:`center`,whiteSpace:`normal`,touchAction:`none`},ia={display:`contents`};function aa(){return null}var Q=n();function oa({fileDiff:e,actions:t,renderCustomHeader:n,renderHeaderPrefix:r,renderHeaderMetadata:i,renderAnnotation:a,renderGutterUtility:o,renderMergeConflictUtility:s,lineAnnotations:c,getHoveredLine:l,getInstance:u}){let d=n?.(e),f=r?.(e),p=i?.(e);return(0,Q.jsxs)(Q.Fragment,{children:[d==null?(0,Q.jsxs)(Q.Fragment,{children:[f!=null&&(0,Q.jsx)(`div`,{slot:`header-prefix`,children:f}),p!=null&&(0,Q.jsx)(`div`,{slot:`header-metadata`,children:p})]}):(0,Q.jsx)(`div`,{slot:S,children:d}),a!=null&&c?.map((e,t)=>(0,Q.jsx)(`div`,{slot:V(e),children:a(e)},t)),t!=null&&s!=null&&u!=null&&t.map(t=>{if(t==null)return;let n=sa(t,e);return(0,Q.jsx)(`div`,{slot:n,style:ia,children:s(t,u)},n)}),o!=null&&(0,Q.jsx)(`div`,{slot:`gutter-utility-slot`,style:ra,children:o(l)})]})}function sa(e,t){let n=ea(e,t);return n==null?void 0:$i({hunkIndex:n.hunkIndex,lineIndex:n.lineIndex,conflictIndex:e.conflictIndex})}var $=e(t(),1);function ca(e){let t=(0,$.useRef)(e);return(0,$.useInsertionEffect)(()=>void(t.current=e)),(0,$.useCallback)((...e)=>t.current(...e),[])}var la=(0,$.createContext)(void 0);function ua(e,t){return typeof window>`u`&&t!=null?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`template`,{shadowrootmode:`open`,dangerouslySetInnerHTML:{__html:t}}),e]}):(0,Q.jsx)(Q.Fragment,{children:e})}var da=(0,$.createContext)(void 0);function fa(){return(0,$.useContext)(da)}var pa=typeof window>`u`?$.useEffect:$.useLayoutEffect;function ma({fileDiff:e,options:t,lineAnnotations:n,selectedLines:r,prerenderedHTML:i,metrics:a,hasGutterRenderUtility:o,hasCustomHeader:s,disableWorkerPool:c}){let l=fa(),u=r!==void 0,d=(0,$.useContext)(la),f=(0,$.useRef)(null),p=ca(r=>{if(r!=null){if(f.current!=null)throw Error(`useFileDiffInstance: An instance should not already exist when a node is created`);l==null?f.current=new Ai(ha({controlledSelection:u,hasCustomHeader:s,hasGutterRenderUtility:o,options:t}),c?void 0:d,!0):f.current=new Vi(ha({controlledSelection:u,hasCustomHeader:s,hasGutterRenderUtility:o,options:t}),l,a,c?void 0:d,!0),f.current.hydrate({fileDiff:e,fileContainer:r,lineAnnotations:n,prerenderedHTML:i})}else{if(f.current==null)throw Error(`useFileDiffInstance: A FileDiff instance should exist when unmounting`);f.current.cleanUp(),f.current=null}});return pa(()=>{let{current:i}=f;if(i==null)return;let a=ha({controlledSelection:u,hasCustomHeader:s,hasGutterRenderUtility:o,options:t}),c=!re(i.options,a);i.setOptions(a),i.render({forceRender:c,fileDiff:e,lineAnnotations:n}),r!==void 0&&i.setSelectedLines(r)}),{ref:p,getHoveredLine:(0,$.useCallback)(()=>f.current?.getHoveredLine(),[])}}function ha({options:e,controlledSelection:t,hasCustomHeader:n,hasGutterRenderUtility:r}){return!t&&!r&&!n?e:{...e,controlledSelection:t,renderCustomHeader:n?aa:e?.renderCustomHeader,renderGutterUtility:r?aa:e?.renderGutterUtility}}function ga({patch:e,options:t,metrics:n,lineAnnotations:r,selectedLines:i,className:a,style:o,prerenderedHTML:s,renderAnnotation:c,renderCustomHeader:l,renderHeaderPrefix:u,renderHeaderMetadata:d,renderGutterUtility:f,disableWorkerPool:m=!1}){let h=_a(e),{ref:g,getHoveredLine:_}=ma({fileDiff:h,options:t,metrics:n,lineAnnotations:r,selectedLines:i,prerenderedHTML:s,hasGutterRenderUtility:f!=null,hasCustomHeader:l!=null,disableWorkerPool:m});return(0,Q.jsx)(p,{ref:g,className:a,style:o,children:ua(oa({fileDiff:h,renderCustomHeader:l,renderHeaderPrefix:u,renderHeaderMetadata:d,renderAnnotation:c,lineAnnotations:r,renderGutterUtility:f,getHoveredLine:_}),s)})}function _a(e){return(0,$.useMemo)(()=>na(e),[e])}var va={diffIndicators:`bars`,diffStyle:`unified`,disableFileHeader:!0,hunkSeparators:`line-info-basic`,lineDiffType:`word-alt`,overflow:`scroll`,theme:{dark:`github-dark`,light:`github-light`},themeType:`system`,unsafeCSS:`
1408
+ pre { font-family: var(--ui-font-family-mono); font-size: var(--ui-font-size-body-small); }
1409
+ `};for(let[e,t]of Object.entries(s))xt(e,t);for(let[e,t]of Object.entries(c))xt(e,t);xt(`Dockerfile`,`dockerfile`),xt(`Makefile`,`makefile`);function ya(e){let t=e.nativeEvent.composedPath().find(e=>e instanceof HTMLElement&&e.hasAttribute(`data-code`));return t===void 0?e.currentTarget.querySelector(`.file-diff-renderer`)?.shadowRoot?.querySelector(`[data-code]`)??null:t}function ba(e){let t=e.deltaX===0?e.shiftKey?e.deltaY:0:e.deltaX;if(t===0)return;let n=ya(e);n!==null&&(n.scrollLeft+=t)}function xa({change:e}){return(0,Q.jsx)(`div`,{className:`min-w-0`,onWheel:ba,children:(0,Q.jsx)(ga,{className:`file-diff-renderer`,disableWorkerPool:!0,options:va,patch:f(e)})})}export{xa as default};